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 InstanceProperties 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 $description;
35  protected $disksType = AttachedDisk::class;
36  protected $disksDataType = 'array';
37  protected $guestAcceleratorsType = AcceleratorConfig::class;
38  protected $guestAcceleratorsDataType = 'array';
39  /**
40   * @var string[]
41   */
42  public $labels;
43  /**
44   * @var string
45   */
46  public $machineType;
47  protected $metadataType = Metadata::class;
48  protected $metadataDataType = '';
49  /**
50   * @var string
51   */
52  public $minCpuPlatform;
53  protected $networkInterfacesType = NetworkInterface::class;
54  protected $networkInterfacesDataType = 'array';
55  protected $networkPerformanceConfigType = NetworkPerformanceConfig::class;
56  protected $networkPerformanceConfigDataType = '';
57  /**
58   * @var string
59   */
60  public $privateIpv6GoogleAccess;
61  protected $reservationAffinityType = ReservationAffinity::class;
62  protected $reservationAffinityDataType = '';
63  /**
64   * @var string[]
65   */
66  public $resourceManagerTags;
67  /**
68   * @var string[]
69   */
70  public $resourcePolicies;
71  protected $schedulingType = Scheduling::class;
72  protected $schedulingDataType = '';
73  protected $serviceAccountsType = ServiceAccount::class;
74  protected $serviceAccountsDataType = 'array';
75  protected $shieldedInstanceConfigType = ShieldedInstanceConfig::class;
76  protected $shieldedInstanceConfigDataType = '';
77  protected $tagsType = Tags::class;
78  protected $tagsDataType = '';
79
80  /**
81   * @param AdvancedMachineFeatures
82   */
83  public function setAdvancedMachineFeatures(AdvancedMachineFeatures $advancedMachineFeatures)
84  {
85    $this->advancedMachineFeatures = $advancedMachineFeatures;
86  }
87  /**
88   * @return AdvancedMachineFeatures
89   */
90  public function getAdvancedMachineFeatures()
91  {
92    return $this->advancedMachineFeatures;
93  }
94  /**
95   * @param bool
96   */
97  public function setCanIpForward($canIpForward)
98  {
99    $this->canIpForward = $canIpForward;
100  }
101  /**
102   * @return bool
103   */
104  public function getCanIpForward()
105  {
106    return $this->canIpForward;
107  }
108  /**
109   * @param ConfidentialInstanceConfig
110   */
111  public function setConfidentialInstanceConfig(ConfidentialInstanceConfig $confidentialInstanceConfig)
112  {
113    $this->confidentialInstanceConfig = $confidentialInstanceConfig;
114  }
115  /**
116   * @return ConfidentialInstanceConfig
117   */
118  public function getConfidentialInstanceConfig()
119  {
120    return $this->confidentialInstanceConfig;
121  }
122  /**
123   * @param string
124   */
125  public function setDescription($description)
126  {
127    $this->description = $description;
128  }
129  /**
130   * @return string
131   */
132  public function getDescription()
133  {
134    return $this->description;
135  }
136  /**
137   * @param AttachedDisk[]
138   */
139  public function setDisks($disks)
140  {
141    $this->disks = $disks;
142  }
143  /**
144   * @return AttachedDisk[]
145   */
146  public function getDisks()
147  {
148    return $this->disks;
149  }
150  /**
151   * @param AcceleratorConfig[]
152   */
153  public function setGuestAccelerators($guestAccelerators)
154  {
155    $this->guestAccelerators = $guestAccelerators;
156  }
157  /**
158   * @return AcceleratorConfig[]
159   */
160  public function getGuestAccelerators()
161  {
162    return $this->guestAccelerators;
163  }
164  /**
165   * @param string[]
166   */
167  public function setLabels($labels)
168  {
169    $this->labels = $labels;
170  }
171  /**
172   * @return string[]
173   */
174  public function getLabels()
175  {
176    return $this->labels;
177  }
178  /**
179   * @param string
180   */
181  public function setMachineType($machineType)
182  {
183    $this->machineType = $machineType;
184  }
185  /**
186   * @return string
187   */
188  public function getMachineType()
189  {
190    return $this->machineType;
191  }
192  /**
193   * @param Metadata
194   */
195  public function setMetadata(Metadata $metadata)
196  {
197    $this->metadata = $metadata;
198  }
199  /**
200   * @return Metadata
201   */
202  public function getMetadata()
203  {
204    return $this->metadata;
205  }
206  /**
207   * @param string
208   */
209  public function setMinCpuPlatform($minCpuPlatform)
210  {
211    $this->minCpuPlatform = $minCpuPlatform;
212  }
213  /**
214   * @return string
215   */
216  public function getMinCpuPlatform()
217  {
218    return $this->minCpuPlatform;
219  }
220  /**
221   * @param NetworkInterface[]
222   */
223  public function setNetworkInterfaces($networkInterfaces)
224  {
225    $this->networkInterfaces = $networkInterfaces;
226  }
227  /**
228   * @return NetworkInterface[]
229   */
230  public function getNetworkInterfaces()
231  {
232    return $this->networkInterfaces;
233  }
234  /**
235   * @param NetworkPerformanceConfig
236   */
237  public function setNetworkPerformanceConfig(NetworkPerformanceConfig $networkPerformanceConfig)
238  {
239    $this->networkPerformanceConfig = $networkPerformanceConfig;
240  }
241  /**
242   * @return NetworkPerformanceConfig
243   */
244  public function getNetworkPerformanceConfig()
245  {
246    return $this->networkPerformanceConfig;
247  }
248  /**
249   * @param string
250   */
251  public function setPrivateIpv6GoogleAccess($privateIpv6GoogleAccess)
252  {
253    $this->privateIpv6GoogleAccess = $privateIpv6GoogleAccess;
254  }
255  /**
256   * @return string
257   */
258  public function getPrivateIpv6GoogleAccess()
259  {
260    return $this->privateIpv6GoogleAccess;
261  }
262  /**
263   * @param ReservationAffinity
264   */
265  public function setReservationAffinity(ReservationAffinity $reservationAffinity)
266  {
267    $this->reservationAffinity = $reservationAffinity;
268  }
269  /**
270   * @return ReservationAffinity
271   */
272  public function getReservationAffinity()
273  {
274    return $this->reservationAffinity;
275  }
276  /**
277   * @param string[]
278   */
279  public function setResourceManagerTags($resourceManagerTags)
280  {
281    $this->resourceManagerTags = $resourceManagerTags;
282  }
283  /**
284   * @return string[]
285   */
286  public function getResourceManagerTags()
287  {
288    return $this->resourceManagerTags;
289  }
290  /**
291   * @param string[]
292   */
293  public function setResourcePolicies($resourcePolicies)
294  {
295    $this->resourcePolicies = $resourcePolicies;
296  }
297  /**
298   * @return string[]
299   */
300  public function getResourcePolicies()
301  {
302    return $this->resourcePolicies;
303  }
304  /**
305   * @param Scheduling
306   */
307  public function setScheduling(Scheduling $scheduling)
308  {
309    $this->scheduling = $scheduling;
310  }
311  /**
312   * @return Scheduling
313   */
314  public function getScheduling()
315  {
316    return $this->scheduling;
317  }
318  /**
319   * @param ServiceAccount[]
320   */
321  public function setServiceAccounts($serviceAccounts)
322  {
323    $this->serviceAccounts = $serviceAccounts;
324  }
325  /**
326   * @return ServiceAccount[]
327   */
328  public function getServiceAccounts()
329  {
330    return $this->serviceAccounts;
331  }
332  /**
333   * @param ShieldedInstanceConfig
334   */
335  public function setShieldedInstanceConfig(ShieldedInstanceConfig $shieldedInstanceConfig)
336  {
337    $this->shieldedInstanceConfig = $shieldedInstanceConfig;
338  }
339  /**
340   * @return ShieldedInstanceConfig
341   */
342  public function getShieldedInstanceConfig()
343  {
344    return $this->shieldedInstanceConfig;
345  }
346  /**
347   * @param Tags
348   */
349  public function setTags(Tags $tags)
350  {
351    $this->tags = $tags;
352  }
353  /**
354   * @return Tags
355   */
356  public function getTags()
357  {
358    return $this->tags;
359  }
360}
361
362// Adding a class alias for backwards compatibility with the previous class name.
363class_alias(InstanceProperties::class, 'Google_Service_Compute_InstanceProperties');
364