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 Instance extends \Google\Collection
21{
22  protected $collection_key = 'serviceAccounts';
23  protected $advancedMachineFeaturesType = AdvancedMachineFeatures::class;
24  protected $advancedMachineFeaturesDataType = '';
25  /**
26   * @var bool
27   */
28  public $canIpForward;
29  protected $confidentialInstanceConfigType = ConfidentialInstanceConfig::class;
30  protected $confidentialInstanceConfigDataType = '';
31  /**
32   * @var string
33   */
34  public $cpuPlatform;
35  /**
36   * @var string
37   */
38  public $creationTimestamp;
39  /**
40   * @var bool
41   */
42  public $deletionProtection;
43  /**
44   * @var string
45   */
46  public $description;
47  protected $disksType = AttachedDisk::class;
48  protected $disksDataType = 'array';
49  protected $displayDeviceType = DisplayDevice::class;
50  protected $displayDeviceDataType = '';
51  /**
52   * @var string
53   */
54  public $fingerprint;
55  protected $guestAcceleratorsType = AcceleratorConfig::class;
56  protected $guestAcceleratorsDataType = 'array';
57  /**
58   * @var string
59   */
60  public $hostname;
61  /**
62   * @var string
63   */
64  public $id;
65  /**
66   * @var string
67   */
68  public $kind;
69  /**
70   * @var string
71   */
72  public $labelFingerprint;
73  /**
74   * @var string[]
75   */
76  public $labels;
77  /**
78   * @var string
79   */
80  public $lastStartTimestamp;
81  /**
82   * @var string
83   */
84  public $lastStopTimestamp;
85  /**
86   * @var string
87   */
88  public $lastSuspendedTimestamp;
89  /**
90   * @var string
91   */
92  public $machineType;
93  protected $metadataType = Metadata::class;
94  protected $metadataDataType = '';
95  /**
96   * @var string
97   */
98  public $minCpuPlatform;
99  /**
100   * @var string
101   */
102  public $name;
103  protected $networkInterfacesType = NetworkInterface::class;
104  protected $networkInterfacesDataType = 'array';
105  protected $networkPerformanceConfigType = NetworkPerformanceConfig::class;
106  protected $networkPerformanceConfigDataType = '';
107  protected $paramsType = InstanceParams::class;
108  protected $paramsDataType = '';
109  /**
110   * @var string
111   */
112  public $privateIpv6GoogleAccess;
113  protected $reservationAffinityType = ReservationAffinity::class;
114  protected $reservationAffinityDataType = '';
115  /**
116   * @var string[]
117   */
118  public $resourcePolicies;
119  /**
120   * @var bool
121   */
122  public $satisfiesPzs;
123  protected $schedulingType = Scheduling::class;
124  protected $schedulingDataType = '';
125  /**
126   * @var string
127   */
128  public $selfLink;
129  protected $serviceAccountsType = ServiceAccount::class;
130  protected $serviceAccountsDataType = 'array';
131  protected $shieldedInstanceConfigType = ShieldedInstanceConfig::class;
132  protected $shieldedInstanceConfigDataType = '';
133  protected $shieldedInstanceIntegrityPolicyType = ShieldedInstanceIntegrityPolicy::class;
134  protected $shieldedInstanceIntegrityPolicyDataType = '';
135  /**
136   * @var string
137   */
138  public $sourceMachineImage;
139  protected $sourceMachineImageEncryptionKeyType = CustomerEncryptionKey::class;
140  protected $sourceMachineImageEncryptionKeyDataType = '';
141  /**
142   * @var bool
143   */
144  public $startRestricted;
145  /**
146   * @var string
147   */
148  public $status;
149  /**
150   * @var string
151   */
152  public $statusMessage;
153  protected $tagsType = Tags::class;
154  protected $tagsDataType = '';
155  /**
156   * @var string
157   */
158  public $zone;
159
160  /**
161   * @param AdvancedMachineFeatures
162   */
163  public function setAdvancedMachineFeatures(AdvancedMachineFeatures $advancedMachineFeatures)
164  {
165    $this->advancedMachineFeatures = $advancedMachineFeatures;
166  }
167  /**
168   * @return AdvancedMachineFeatures
169   */
170  public function getAdvancedMachineFeatures()
171  {
172    return $this->advancedMachineFeatures;
173  }
174  /**
175   * @param bool
176   */
177  public function setCanIpForward($canIpForward)
178  {
179    $this->canIpForward = $canIpForward;
180  }
181  /**
182   * @return bool
183   */
184  public function getCanIpForward()
185  {
186    return $this->canIpForward;
187  }
188  /**
189   * @param ConfidentialInstanceConfig
190   */
191  public function setConfidentialInstanceConfig(ConfidentialInstanceConfig $confidentialInstanceConfig)
192  {
193    $this->confidentialInstanceConfig = $confidentialInstanceConfig;
194  }
195  /**
196   * @return ConfidentialInstanceConfig
197   */
198  public function getConfidentialInstanceConfig()
199  {
200    return $this->confidentialInstanceConfig;
201  }
202  /**
203   * @param string
204   */
205  public function setCpuPlatform($cpuPlatform)
206  {
207    $this->cpuPlatform = $cpuPlatform;
208  }
209  /**
210   * @return string
211   */
212  public function getCpuPlatform()
213  {
214    return $this->cpuPlatform;
215  }
216  /**
217   * @param string
218   */
219  public function setCreationTimestamp($creationTimestamp)
220  {
221    $this->creationTimestamp = $creationTimestamp;
222  }
223  /**
224   * @return string
225   */
226  public function getCreationTimestamp()
227  {
228    return $this->creationTimestamp;
229  }
230  /**
231   * @param bool
232   */
233  public function setDeletionProtection($deletionProtection)
234  {
235    $this->deletionProtection = $deletionProtection;
236  }
237  /**
238   * @return bool
239   */
240  public function getDeletionProtection()
241  {
242    return $this->deletionProtection;
243  }
244  /**
245   * @param string
246   */
247  public function setDescription($description)
248  {
249    $this->description = $description;
250  }
251  /**
252   * @return string
253   */
254  public function getDescription()
255  {
256    return $this->description;
257  }
258  /**
259   * @param AttachedDisk[]
260   */
261  public function setDisks($disks)
262  {
263    $this->disks = $disks;
264  }
265  /**
266   * @return AttachedDisk[]
267   */
268  public function getDisks()
269  {
270    return $this->disks;
271  }
272  /**
273   * @param DisplayDevice
274   */
275  public function setDisplayDevice(DisplayDevice $displayDevice)
276  {
277    $this->displayDevice = $displayDevice;
278  }
279  /**
280   * @return DisplayDevice
281   */
282  public function getDisplayDevice()
283  {
284    return $this->displayDevice;
285  }
286  /**
287   * @param string
288   */
289  public function setFingerprint($fingerprint)
290  {
291    $this->fingerprint = $fingerprint;
292  }
293  /**
294   * @return string
295   */
296  public function getFingerprint()
297  {
298    return $this->fingerprint;
299  }
300  /**
301   * @param AcceleratorConfig[]
302   */
303  public function setGuestAccelerators($guestAccelerators)
304  {
305    $this->guestAccelerators = $guestAccelerators;
306  }
307  /**
308   * @return AcceleratorConfig[]
309   */
310  public function getGuestAccelerators()
311  {
312    return $this->guestAccelerators;
313  }
314  /**
315   * @param string
316   */
317  public function setHostname($hostname)
318  {
319    $this->hostname = $hostname;
320  }
321  /**
322   * @return string
323   */
324  public function getHostname()
325  {
326    return $this->hostname;
327  }
328  /**
329   * @param string
330   */
331  public function setId($id)
332  {
333    $this->id = $id;
334  }
335  /**
336   * @return string
337   */
338  public function getId()
339  {
340    return $this->id;
341  }
342  /**
343   * @param string
344   */
345  public function setKind($kind)
346  {
347    $this->kind = $kind;
348  }
349  /**
350   * @return string
351   */
352  public function getKind()
353  {
354    return $this->kind;
355  }
356  /**
357   * @param string
358   */
359  public function setLabelFingerprint($labelFingerprint)
360  {
361    $this->labelFingerprint = $labelFingerprint;
362  }
363  /**
364   * @return string
365   */
366  public function getLabelFingerprint()
367  {
368    return $this->labelFingerprint;
369  }
370  /**
371   * @param string[]
372   */
373  public function setLabels($labels)
374  {
375    $this->labels = $labels;
376  }
377  /**
378   * @return string[]
379   */
380  public function getLabels()
381  {
382    return $this->labels;
383  }
384  /**
385   * @param string
386   */
387  public function setLastStartTimestamp($lastStartTimestamp)
388  {
389    $this->lastStartTimestamp = $lastStartTimestamp;
390  }
391  /**
392   * @return string
393   */
394  public function getLastStartTimestamp()
395  {
396    return $this->lastStartTimestamp;
397  }
398  /**
399   * @param string
400   */
401  public function setLastStopTimestamp($lastStopTimestamp)
402  {
403    $this->lastStopTimestamp = $lastStopTimestamp;
404  }
405  /**
406   * @return string
407   */
408  public function getLastStopTimestamp()
409  {
410    return $this->lastStopTimestamp;
411  }
412  /**
413   * @param string
414   */
415  public function setLastSuspendedTimestamp($lastSuspendedTimestamp)
416  {
417    $this->lastSuspendedTimestamp = $lastSuspendedTimestamp;
418  }
419  /**
420   * @return string
421   */
422  public function getLastSuspendedTimestamp()
423  {
424    return $this->lastSuspendedTimestamp;
425  }
426  /**
427   * @param string
428   */
429  public function setMachineType($machineType)
430  {
431    $this->machineType = $machineType;
432  }
433  /**
434   * @return string
435   */
436  public function getMachineType()
437  {
438    return $this->machineType;
439  }
440  /**
441   * @param Metadata
442   */
443  public function setMetadata(Metadata $metadata)
444  {
445    $this->metadata = $metadata;
446  }
447  /**
448   * @return Metadata
449   */
450  public function getMetadata()
451  {
452    return $this->metadata;
453  }
454  /**
455   * @param string
456   */
457  public function setMinCpuPlatform($minCpuPlatform)
458  {
459    $this->minCpuPlatform = $minCpuPlatform;
460  }
461  /**
462   * @return string
463   */
464  public function getMinCpuPlatform()
465  {
466    return $this->minCpuPlatform;
467  }
468  /**
469   * @param string
470   */
471  public function setName($name)
472  {
473    $this->name = $name;
474  }
475  /**
476   * @return string
477   */
478  public function getName()
479  {
480    return $this->name;
481  }
482  /**
483   * @param NetworkInterface[]
484   */
485  public function setNetworkInterfaces($networkInterfaces)
486  {
487    $this->networkInterfaces = $networkInterfaces;
488  }
489  /**
490   * @return NetworkInterface[]
491   */
492  public function getNetworkInterfaces()
493  {
494    return $this->networkInterfaces;
495  }
496  /**
497   * @param NetworkPerformanceConfig
498   */
499  public function setNetworkPerformanceConfig(NetworkPerformanceConfig $networkPerformanceConfig)
500  {
501    $this->networkPerformanceConfig = $networkPerformanceConfig;
502  }
503  /**
504   * @return NetworkPerformanceConfig
505   */
506  public function getNetworkPerformanceConfig()
507  {
508    return $this->networkPerformanceConfig;
509  }
510  /**
511   * @param InstanceParams
512   */
513  public function setParams(InstanceParams $params)
514  {
515    $this->params = $params;
516  }
517  /**
518   * @return InstanceParams
519   */
520  public function getParams()
521  {
522    return $this->params;
523  }
524  /**
525   * @param string
526   */
527  public function setPrivateIpv6GoogleAccess($privateIpv6GoogleAccess)
528  {
529    $this->privateIpv6GoogleAccess = $privateIpv6GoogleAccess;
530  }
531  /**
532   * @return string
533   */
534  public function getPrivateIpv6GoogleAccess()
535  {
536    return $this->privateIpv6GoogleAccess;
537  }
538  /**
539   * @param ReservationAffinity
540   */
541  public function setReservationAffinity(ReservationAffinity $reservationAffinity)
542  {
543    $this->reservationAffinity = $reservationAffinity;
544  }
545  /**
546   * @return ReservationAffinity
547   */
548  public function getReservationAffinity()
549  {
550    return $this->reservationAffinity;
551  }
552  /**
553   * @param string[]
554   */
555  public function setResourcePolicies($resourcePolicies)
556  {
557    $this->resourcePolicies = $resourcePolicies;
558  }
559  /**
560   * @return string[]
561   */
562  public function getResourcePolicies()
563  {
564    return $this->resourcePolicies;
565  }
566  /**
567   * @param bool
568   */
569  public function setSatisfiesPzs($satisfiesPzs)
570  {
571    $this->satisfiesPzs = $satisfiesPzs;
572  }
573  /**
574   * @return bool
575   */
576  public function getSatisfiesPzs()
577  {
578    return $this->satisfiesPzs;
579  }
580  /**
581   * @param Scheduling
582   */
583  public function setScheduling(Scheduling $scheduling)
584  {
585    $this->scheduling = $scheduling;
586  }
587  /**
588   * @return Scheduling
589   */
590  public function getScheduling()
591  {
592    return $this->scheduling;
593  }
594  /**
595   * @param string
596   */
597  public function setSelfLink($selfLink)
598  {
599    $this->selfLink = $selfLink;
600  }
601  /**
602   * @return string
603   */
604  public function getSelfLink()
605  {
606    return $this->selfLink;
607  }
608  /**
609   * @param ServiceAccount[]
610   */
611  public function setServiceAccounts($serviceAccounts)
612  {
613    $this->serviceAccounts = $serviceAccounts;
614  }
615  /**
616   * @return ServiceAccount[]
617   */
618  public function getServiceAccounts()
619  {
620    return $this->serviceAccounts;
621  }
622  /**
623   * @param ShieldedInstanceConfig
624   */
625  public function setShieldedInstanceConfig(ShieldedInstanceConfig $shieldedInstanceConfig)
626  {
627    $this->shieldedInstanceConfig = $shieldedInstanceConfig;
628  }
629  /**
630   * @return ShieldedInstanceConfig
631   */
632  public function getShieldedInstanceConfig()
633  {
634    return $this->shieldedInstanceConfig;
635  }
636  /**
637   * @param ShieldedInstanceIntegrityPolicy
638   */
639  public function setShieldedInstanceIntegrityPolicy(ShieldedInstanceIntegrityPolicy $shieldedInstanceIntegrityPolicy)
640  {
641    $this->shieldedInstanceIntegrityPolicy = $shieldedInstanceIntegrityPolicy;
642  }
643  /**
644   * @return ShieldedInstanceIntegrityPolicy
645   */
646  public function getShieldedInstanceIntegrityPolicy()
647  {
648    return $this->shieldedInstanceIntegrityPolicy;
649  }
650  /**
651   * @param string
652   */
653  public function setSourceMachineImage($sourceMachineImage)
654  {
655    $this->sourceMachineImage = $sourceMachineImage;
656  }
657  /**
658   * @return string
659   */
660  public function getSourceMachineImage()
661  {
662    return $this->sourceMachineImage;
663  }
664  /**
665   * @param CustomerEncryptionKey
666   */
667  public function setSourceMachineImageEncryptionKey(CustomerEncryptionKey $sourceMachineImageEncryptionKey)
668  {
669    $this->sourceMachineImageEncryptionKey = $sourceMachineImageEncryptionKey;
670  }
671  /**
672   * @return CustomerEncryptionKey
673   */
674  public function getSourceMachineImageEncryptionKey()
675  {
676    return $this->sourceMachineImageEncryptionKey;
677  }
678  /**
679   * @param bool
680   */
681  public function setStartRestricted($startRestricted)
682  {
683    $this->startRestricted = $startRestricted;
684  }
685  /**
686   * @return bool
687   */
688  public function getStartRestricted()
689  {
690    return $this->startRestricted;
691  }
692  /**
693   * @param string
694   */
695  public function setStatus($status)
696  {
697    $this->status = $status;
698  }
699  /**
700   * @return string
701   */
702  public function getStatus()
703  {
704    return $this->status;
705  }
706  /**
707   * @param string
708   */
709  public function setStatusMessage($statusMessage)
710  {
711    $this->statusMessage = $statusMessage;
712  }
713  /**
714   * @return string
715   */
716  public function getStatusMessage()
717  {
718    return $this->statusMessage;
719  }
720  /**
721   * @param Tags
722   */
723  public function setTags(Tags $tags)
724  {
725    $this->tags = $tags;
726  }
727  /**
728   * @return Tags
729   */
730  public function getTags()
731  {
732    return $this->tags;
733  }
734  /**
735   * @param string
736   */
737  public function setZone($zone)
738  {
739    $this->zone = $zone;
740  }
741  /**
742   * @return string
743   */
744  public function getZone()
745  {
746    return $this->zone;
747  }
748}
749
750// Adding a class alias for backwards compatibility with the previous class name.
751class_alias(Instance::class, 'Google_Service_Compute_Instance');
752