1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\Compute;
19
20class Scheduling extends \Google\Collection
21{
22  protected $collection_key = 'nodeAffinities';
23  /**
24   * @var bool
25   */
26  public $automaticRestart;
27  /**
28   * @var string
29   */
30  public $instanceTerminationAction;
31  /**
32   * @var string
33   */
34  public $locationHint;
35  /**
36   * @var int
37   */
38  public $minNodeCpus;
39  protected $nodeAffinitiesType = SchedulingNodeAffinity::class;
40  protected $nodeAffinitiesDataType = 'array';
41  /**
42   * @var string
43   */
44  public $onHostMaintenance;
45  /**
46   * @var bool
47   */
48  public $preemptible;
49  /**
50   * @var string
51   */
52  public $provisioningModel;
53
54  /**
55   * @param bool
56   */
57  public function setAutomaticRestart($automaticRestart)
58  {
59    $this->automaticRestart = $automaticRestart;
60  }
61  /**
62   * @return bool
63   */
64  public function getAutomaticRestart()
65  {
66    return $this->automaticRestart;
67  }
68  /**
69   * @param string
70   */
71  public function setInstanceTerminationAction($instanceTerminationAction)
72  {
73    $this->instanceTerminationAction = $instanceTerminationAction;
74  }
75  /**
76   * @return string
77   */
78  public function getInstanceTerminationAction()
79  {
80    return $this->instanceTerminationAction;
81  }
82  /**
83   * @param string
84   */
85  public function setLocationHint($locationHint)
86  {
87    $this->locationHint = $locationHint;
88  }
89  /**
90   * @return string
91   */
92  public function getLocationHint()
93  {
94    return $this->locationHint;
95  }
96  /**
97   * @param int
98   */
99  public function setMinNodeCpus($minNodeCpus)
100  {
101    $this->minNodeCpus = $minNodeCpus;
102  }
103  /**
104   * @return int
105   */
106  public function getMinNodeCpus()
107  {
108    return $this->minNodeCpus;
109  }
110  /**
111   * @param SchedulingNodeAffinity[]
112   */
113  public function setNodeAffinities($nodeAffinities)
114  {
115    $this->nodeAffinities = $nodeAffinities;
116  }
117  /**
118   * @return SchedulingNodeAffinity[]
119   */
120  public function getNodeAffinities()
121  {
122    return $this->nodeAffinities;
123  }
124  /**
125   * @param string
126   */
127  public function setOnHostMaintenance($onHostMaintenance)
128  {
129    $this->onHostMaintenance = $onHostMaintenance;
130  }
131  /**
132   * @return string
133   */
134  public function getOnHostMaintenance()
135  {
136    return $this->onHostMaintenance;
137  }
138  /**
139   * @param bool
140   */
141  public function setPreemptible($preemptible)
142  {
143    $this->preemptible = $preemptible;
144  }
145  /**
146   * @return bool
147   */
148  public function getPreemptible()
149  {
150    return $this->preemptible;
151  }
152  /**
153   * @param string
154   */
155  public function setProvisioningModel($provisioningModel)
156  {
157    $this->provisioningModel = $provisioningModel;
158  }
159  /**
160   * @return string
161   */
162  public function getProvisioningModel()
163  {
164    return $this->provisioningModel;
165  }
166}
167
168// Adding a class alias for backwards compatibility with the previous class name.
169class_alias(Scheduling::class, 'Google_Service_Compute_Scheduling');
170