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\Container;
19
20class NodeConfig extends \Google\Collection
21{
22  protected $collection_key = 'taints';
23  protected $acceleratorsType = AcceleratorConfig::class;
24  protected $acceleratorsDataType = 'array';
25  protected $advancedMachineFeaturesType = AdvancedMachineFeatures::class;
26  protected $advancedMachineFeaturesDataType = '';
27  /**
28   * @var string
29   */
30  public $bootDiskKmsKey;
31  /**
32   * @var int
33   */
34  public $diskSizeGb;
35  /**
36   * @var string
37   */
38  public $diskType;
39  protected $gcfsConfigType = GcfsConfig::class;
40  protected $gcfsConfigDataType = '';
41  protected $gvnicType = VirtualNIC::class;
42  protected $gvnicDataType = '';
43  /**
44   * @var string
45   */
46  public $imageType;
47  protected $kubeletConfigType = NodeKubeletConfig::class;
48  protected $kubeletConfigDataType = '';
49  /**
50   * @var string[]
51   */
52  public $labels;
53  protected $linuxNodeConfigType = LinuxNodeConfig::class;
54  protected $linuxNodeConfigDataType = '';
55  /**
56   * @var int
57   */
58  public $localSsdCount;
59  /**
60   * @var string
61   */
62  public $machineType;
63  /**
64   * @var string[]
65   */
66  public $metadata;
67  /**
68   * @var string
69   */
70  public $minCpuPlatform;
71  /**
72   * @var string
73   */
74  public $nodeGroup;
75  /**
76   * @var string[]
77   */
78  public $oauthScopes;
79  /**
80   * @var bool
81   */
82  public $preemptible;
83  protected $reservationAffinityType = ReservationAffinity::class;
84  protected $reservationAffinityDataType = '';
85  protected $sandboxConfigType = SandboxConfig::class;
86  protected $sandboxConfigDataType = '';
87  /**
88   * @var string
89   */
90  public $serviceAccount;
91  protected $shieldedInstanceConfigType = ShieldedInstanceConfig::class;
92  protected $shieldedInstanceConfigDataType = '';
93  /**
94   * @var bool
95   */
96  public $spot;
97  /**
98   * @var string[]
99   */
100  public $tags;
101  protected $taintsType = NodeTaint::class;
102  protected $taintsDataType = 'array';
103  protected $workloadMetadataConfigType = WorkloadMetadataConfig::class;
104  protected $workloadMetadataConfigDataType = '';
105
106  /**
107   * @param AcceleratorConfig[]
108   */
109  public function setAccelerators($accelerators)
110  {
111    $this->accelerators = $accelerators;
112  }
113  /**
114   * @return AcceleratorConfig[]
115   */
116  public function getAccelerators()
117  {
118    return $this->accelerators;
119  }
120  /**
121   * @param AdvancedMachineFeatures
122   */
123  public function setAdvancedMachineFeatures(AdvancedMachineFeatures $advancedMachineFeatures)
124  {
125    $this->advancedMachineFeatures = $advancedMachineFeatures;
126  }
127  /**
128   * @return AdvancedMachineFeatures
129   */
130  public function getAdvancedMachineFeatures()
131  {
132    return $this->advancedMachineFeatures;
133  }
134  /**
135   * @param string
136   */
137  public function setBootDiskKmsKey($bootDiskKmsKey)
138  {
139    $this->bootDiskKmsKey = $bootDiskKmsKey;
140  }
141  /**
142   * @return string
143   */
144  public function getBootDiskKmsKey()
145  {
146    return $this->bootDiskKmsKey;
147  }
148  /**
149   * @param int
150   */
151  public function setDiskSizeGb($diskSizeGb)
152  {
153    $this->diskSizeGb = $diskSizeGb;
154  }
155  /**
156   * @return int
157   */
158  public function getDiskSizeGb()
159  {
160    return $this->diskSizeGb;
161  }
162  /**
163   * @param string
164   */
165  public function setDiskType($diskType)
166  {
167    $this->diskType = $diskType;
168  }
169  /**
170   * @return string
171   */
172  public function getDiskType()
173  {
174    return $this->diskType;
175  }
176  /**
177   * @param GcfsConfig
178   */
179  public function setGcfsConfig(GcfsConfig $gcfsConfig)
180  {
181    $this->gcfsConfig = $gcfsConfig;
182  }
183  /**
184   * @return GcfsConfig
185   */
186  public function getGcfsConfig()
187  {
188    return $this->gcfsConfig;
189  }
190  /**
191   * @param VirtualNIC
192   */
193  public function setGvnic(VirtualNIC $gvnic)
194  {
195    $this->gvnic = $gvnic;
196  }
197  /**
198   * @return VirtualNIC
199   */
200  public function getGvnic()
201  {
202    return $this->gvnic;
203  }
204  /**
205   * @param string
206   */
207  public function setImageType($imageType)
208  {
209    $this->imageType = $imageType;
210  }
211  /**
212   * @return string
213   */
214  public function getImageType()
215  {
216    return $this->imageType;
217  }
218  /**
219   * @param NodeKubeletConfig
220   */
221  public function setKubeletConfig(NodeKubeletConfig $kubeletConfig)
222  {
223    $this->kubeletConfig = $kubeletConfig;
224  }
225  /**
226   * @return NodeKubeletConfig
227   */
228  public function getKubeletConfig()
229  {
230    return $this->kubeletConfig;
231  }
232  /**
233   * @param string[]
234   */
235  public function setLabels($labels)
236  {
237    $this->labels = $labels;
238  }
239  /**
240   * @return string[]
241   */
242  public function getLabels()
243  {
244    return $this->labels;
245  }
246  /**
247   * @param LinuxNodeConfig
248   */
249  public function setLinuxNodeConfig(LinuxNodeConfig $linuxNodeConfig)
250  {
251    $this->linuxNodeConfig = $linuxNodeConfig;
252  }
253  /**
254   * @return LinuxNodeConfig
255   */
256  public function getLinuxNodeConfig()
257  {
258    return $this->linuxNodeConfig;
259  }
260  /**
261   * @param int
262   */
263  public function setLocalSsdCount($localSsdCount)
264  {
265    $this->localSsdCount = $localSsdCount;
266  }
267  /**
268   * @return int
269   */
270  public function getLocalSsdCount()
271  {
272    return $this->localSsdCount;
273  }
274  /**
275   * @param string
276   */
277  public function setMachineType($machineType)
278  {
279    $this->machineType = $machineType;
280  }
281  /**
282   * @return string
283   */
284  public function getMachineType()
285  {
286    return $this->machineType;
287  }
288  /**
289   * @param string[]
290   */
291  public function setMetadata($metadata)
292  {
293    $this->metadata = $metadata;
294  }
295  /**
296   * @return string[]
297   */
298  public function getMetadata()
299  {
300    return $this->metadata;
301  }
302  /**
303   * @param string
304   */
305  public function setMinCpuPlatform($minCpuPlatform)
306  {
307    $this->minCpuPlatform = $minCpuPlatform;
308  }
309  /**
310   * @return string
311   */
312  public function getMinCpuPlatform()
313  {
314    return $this->minCpuPlatform;
315  }
316  /**
317   * @param string
318   */
319  public function setNodeGroup($nodeGroup)
320  {
321    $this->nodeGroup = $nodeGroup;
322  }
323  /**
324   * @return string
325   */
326  public function getNodeGroup()
327  {
328    return $this->nodeGroup;
329  }
330  /**
331   * @param string[]
332   */
333  public function setOauthScopes($oauthScopes)
334  {
335    $this->oauthScopes = $oauthScopes;
336  }
337  /**
338   * @return string[]
339   */
340  public function getOauthScopes()
341  {
342    return $this->oauthScopes;
343  }
344  /**
345   * @param bool
346   */
347  public function setPreemptible($preemptible)
348  {
349    $this->preemptible = $preemptible;
350  }
351  /**
352   * @return bool
353   */
354  public function getPreemptible()
355  {
356    return $this->preemptible;
357  }
358  /**
359   * @param ReservationAffinity
360   */
361  public function setReservationAffinity(ReservationAffinity $reservationAffinity)
362  {
363    $this->reservationAffinity = $reservationAffinity;
364  }
365  /**
366   * @return ReservationAffinity
367   */
368  public function getReservationAffinity()
369  {
370    return $this->reservationAffinity;
371  }
372  /**
373   * @param SandboxConfig
374   */
375  public function setSandboxConfig(SandboxConfig $sandboxConfig)
376  {
377    $this->sandboxConfig = $sandboxConfig;
378  }
379  /**
380   * @return SandboxConfig
381   */
382  public function getSandboxConfig()
383  {
384    return $this->sandboxConfig;
385  }
386  /**
387   * @param string
388   */
389  public function setServiceAccount($serviceAccount)
390  {
391    $this->serviceAccount = $serviceAccount;
392  }
393  /**
394   * @return string
395   */
396  public function getServiceAccount()
397  {
398    return $this->serviceAccount;
399  }
400  /**
401   * @param ShieldedInstanceConfig
402   */
403  public function setShieldedInstanceConfig(ShieldedInstanceConfig $shieldedInstanceConfig)
404  {
405    $this->shieldedInstanceConfig = $shieldedInstanceConfig;
406  }
407  /**
408   * @return ShieldedInstanceConfig
409   */
410  public function getShieldedInstanceConfig()
411  {
412    return $this->shieldedInstanceConfig;
413  }
414  /**
415   * @param bool
416   */
417  public function setSpot($spot)
418  {
419    $this->spot = $spot;
420  }
421  /**
422   * @return bool
423   */
424  public function getSpot()
425  {
426    return $this->spot;
427  }
428  /**
429   * @param string[]
430   */
431  public function setTags($tags)
432  {
433    $this->tags = $tags;
434  }
435  /**
436   * @return string[]
437   */
438  public function getTags()
439  {
440    return $this->tags;
441  }
442  /**
443   * @param NodeTaint[]
444   */
445  public function setTaints($taints)
446  {
447    $this->taints = $taints;
448  }
449  /**
450   * @return NodeTaint[]
451   */
452  public function getTaints()
453  {
454    return $this->taints;
455  }
456  /**
457   * @param WorkloadMetadataConfig
458   */
459  public function setWorkloadMetadataConfig(WorkloadMetadataConfig $workloadMetadataConfig)
460  {
461    $this->workloadMetadataConfig = $workloadMetadataConfig;
462  }
463  /**
464   * @return WorkloadMetadataConfig
465   */
466  public function getWorkloadMetadataConfig()
467  {
468    return $this->workloadMetadataConfig;
469  }
470}
471
472// Adding a class alias for backwards compatibility with the previous class name.
473class_alias(NodeConfig::class, 'Google_Service_Container_NodeConfig');
474