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 InstanceGroupManager extends \Google\Collection
21{
22  protected $collection_key = 'versions';
23  protected $autoHealingPoliciesType = InstanceGroupManagerAutoHealingPolicy::class;
24  protected $autoHealingPoliciesDataType = 'array';
25  /**
26   * @var string
27   */
28  public $baseInstanceName;
29  /**
30   * @var string
31   */
32  public $creationTimestamp;
33  protected $currentActionsType = InstanceGroupManagerActionsSummary::class;
34  protected $currentActionsDataType = '';
35  /**
36   * @var string
37   */
38  public $description;
39  protected $distributionPolicyType = DistributionPolicy::class;
40  protected $distributionPolicyDataType = '';
41  /**
42   * @var string
43   */
44  public $fingerprint;
45  /**
46   * @var string
47   */
48  public $id;
49  /**
50   * @var string
51   */
52  public $instanceGroup;
53  /**
54   * @var string
55   */
56  public $instanceTemplate;
57  /**
58   * @var string
59   */
60  public $kind;
61  /**
62   * @var string
63   */
64  public $name;
65  protected $namedPortsType = NamedPort::class;
66  protected $namedPortsDataType = 'array';
67  /**
68   * @var string
69   */
70  public $region;
71  /**
72   * @var string
73   */
74  public $selfLink;
75  protected $statefulPolicyType = StatefulPolicy::class;
76  protected $statefulPolicyDataType = '';
77  protected $statusType = InstanceGroupManagerStatus::class;
78  protected $statusDataType = '';
79  /**
80   * @var string[]
81   */
82  public $targetPools;
83  /**
84   * @var int
85   */
86  public $targetSize;
87  protected $updatePolicyType = InstanceGroupManagerUpdatePolicy::class;
88  protected $updatePolicyDataType = '';
89  protected $versionsType = InstanceGroupManagerVersion::class;
90  protected $versionsDataType = 'array';
91  /**
92   * @var string
93   */
94  public $zone;
95
96  /**
97   * @param InstanceGroupManagerAutoHealingPolicy[]
98   */
99  public function setAutoHealingPolicies($autoHealingPolicies)
100  {
101    $this->autoHealingPolicies = $autoHealingPolicies;
102  }
103  /**
104   * @return InstanceGroupManagerAutoHealingPolicy[]
105   */
106  public function getAutoHealingPolicies()
107  {
108    return $this->autoHealingPolicies;
109  }
110  /**
111   * @param string
112   */
113  public function setBaseInstanceName($baseInstanceName)
114  {
115    $this->baseInstanceName = $baseInstanceName;
116  }
117  /**
118   * @return string
119   */
120  public function getBaseInstanceName()
121  {
122    return $this->baseInstanceName;
123  }
124  /**
125   * @param string
126   */
127  public function setCreationTimestamp($creationTimestamp)
128  {
129    $this->creationTimestamp = $creationTimestamp;
130  }
131  /**
132   * @return string
133   */
134  public function getCreationTimestamp()
135  {
136    return $this->creationTimestamp;
137  }
138  /**
139   * @param InstanceGroupManagerActionsSummary
140   */
141  public function setCurrentActions(InstanceGroupManagerActionsSummary $currentActions)
142  {
143    $this->currentActions = $currentActions;
144  }
145  /**
146   * @return InstanceGroupManagerActionsSummary
147   */
148  public function getCurrentActions()
149  {
150    return $this->currentActions;
151  }
152  /**
153   * @param string
154   */
155  public function setDescription($description)
156  {
157    $this->description = $description;
158  }
159  /**
160   * @return string
161   */
162  public function getDescription()
163  {
164    return $this->description;
165  }
166  /**
167   * @param DistributionPolicy
168   */
169  public function setDistributionPolicy(DistributionPolicy $distributionPolicy)
170  {
171    $this->distributionPolicy = $distributionPolicy;
172  }
173  /**
174   * @return DistributionPolicy
175   */
176  public function getDistributionPolicy()
177  {
178    return $this->distributionPolicy;
179  }
180  /**
181   * @param string
182   */
183  public function setFingerprint($fingerprint)
184  {
185    $this->fingerprint = $fingerprint;
186  }
187  /**
188   * @return string
189   */
190  public function getFingerprint()
191  {
192    return $this->fingerprint;
193  }
194  /**
195   * @param string
196   */
197  public function setId($id)
198  {
199    $this->id = $id;
200  }
201  /**
202   * @return string
203   */
204  public function getId()
205  {
206    return $this->id;
207  }
208  /**
209   * @param string
210   */
211  public function setInstanceGroup($instanceGroup)
212  {
213    $this->instanceGroup = $instanceGroup;
214  }
215  /**
216   * @return string
217   */
218  public function getInstanceGroup()
219  {
220    return $this->instanceGroup;
221  }
222  /**
223   * @param string
224   */
225  public function setInstanceTemplate($instanceTemplate)
226  {
227    $this->instanceTemplate = $instanceTemplate;
228  }
229  /**
230   * @return string
231   */
232  public function getInstanceTemplate()
233  {
234    return $this->instanceTemplate;
235  }
236  /**
237   * @param string
238   */
239  public function setKind($kind)
240  {
241    $this->kind = $kind;
242  }
243  /**
244   * @return string
245   */
246  public function getKind()
247  {
248    return $this->kind;
249  }
250  /**
251   * @param string
252   */
253  public function setName($name)
254  {
255    $this->name = $name;
256  }
257  /**
258   * @return string
259   */
260  public function getName()
261  {
262    return $this->name;
263  }
264  /**
265   * @param NamedPort[]
266   */
267  public function setNamedPorts($namedPorts)
268  {
269    $this->namedPorts = $namedPorts;
270  }
271  /**
272   * @return NamedPort[]
273   */
274  public function getNamedPorts()
275  {
276    return $this->namedPorts;
277  }
278  /**
279   * @param string
280   */
281  public function setRegion($region)
282  {
283    $this->region = $region;
284  }
285  /**
286   * @return string
287   */
288  public function getRegion()
289  {
290    return $this->region;
291  }
292  /**
293   * @param string
294   */
295  public function setSelfLink($selfLink)
296  {
297    $this->selfLink = $selfLink;
298  }
299  /**
300   * @return string
301   */
302  public function getSelfLink()
303  {
304    return $this->selfLink;
305  }
306  /**
307   * @param StatefulPolicy
308   */
309  public function setStatefulPolicy(StatefulPolicy $statefulPolicy)
310  {
311    $this->statefulPolicy = $statefulPolicy;
312  }
313  /**
314   * @return StatefulPolicy
315   */
316  public function getStatefulPolicy()
317  {
318    return $this->statefulPolicy;
319  }
320  /**
321   * @param InstanceGroupManagerStatus
322   */
323  public function setStatus(InstanceGroupManagerStatus $status)
324  {
325    $this->status = $status;
326  }
327  /**
328   * @return InstanceGroupManagerStatus
329   */
330  public function getStatus()
331  {
332    return $this->status;
333  }
334  /**
335   * @param string[]
336   */
337  public function setTargetPools($targetPools)
338  {
339    $this->targetPools = $targetPools;
340  }
341  /**
342   * @return string[]
343   */
344  public function getTargetPools()
345  {
346    return $this->targetPools;
347  }
348  /**
349   * @param int
350   */
351  public function setTargetSize($targetSize)
352  {
353    $this->targetSize = $targetSize;
354  }
355  /**
356   * @return int
357   */
358  public function getTargetSize()
359  {
360    return $this->targetSize;
361  }
362  /**
363   * @param InstanceGroupManagerUpdatePolicy
364   */
365  public function setUpdatePolicy(InstanceGroupManagerUpdatePolicy $updatePolicy)
366  {
367    $this->updatePolicy = $updatePolicy;
368  }
369  /**
370   * @return InstanceGroupManagerUpdatePolicy
371   */
372  public function getUpdatePolicy()
373  {
374    return $this->updatePolicy;
375  }
376  /**
377   * @param InstanceGroupManagerVersion[]
378   */
379  public function setVersions($versions)
380  {
381    $this->versions = $versions;
382  }
383  /**
384   * @return InstanceGroupManagerVersion[]
385   */
386  public function getVersions()
387  {
388    return $this->versions;
389  }
390  /**
391   * @param string
392   */
393  public function setZone($zone)
394  {
395    $this->zone = $zone;
396  }
397  /**
398   * @return string
399   */
400  public function getZone()
401  {
402    return $this->zone;
403  }
404}
405
406// Adding a class alias for backwards compatibility with the previous class name.
407class_alias(InstanceGroupManager::class, 'Google_Service_Compute_InstanceGroupManager');
408