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 Autoscaler extends \Google\Collection
21{
22  protected $collection_key = 'statusDetails';
23  protected $autoscalingPolicyType = AutoscalingPolicy::class;
24  protected $autoscalingPolicyDataType = '';
25  /**
26   * @var string
27   */
28  public $creationTimestamp;
29  /**
30   * @var string
31   */
32  public $description;
33  /**
34   * @var string
35   */
36  public $id;
37  /**
38   * @var string
39   */
40  public $kind;
41  /**
42   * @var string
43   */
44  public $name;
45  /**
46   * @var int
47   */
48  public $recommendedSize;
49  /**
50   * @var string
51   */
52  public $region;
53  protected $scalingScheduleStatusType = ScalingScheduleStatus::class;
54  protected $scalingScheduleStatusDataType = 'map';
55  /**
56   * @var string
57   */
58  public $selfLink;
59  /**
60   * @var string
61   */
62  public $status;
63  protected $statusDetailsType = AutoscalerStatusDetails::class;
64  protected $statusDetailsDataType = 'array';
65  /**
66   * @var string
67   */
68  public $target;
69  /**
70   * @var string
71   */
72  public $zone;
73
74  /**
75   * @param AutoscalingPolicy
76   */
77  public function setAutoscalingPolicy(AutoscalingPolicy $autoscalingPolicy)
78  {
79    $this->autoscalingPolicy = $autoscalingPolicy;
80  }
81  /**
82   * @return AutoscalingPolicy
83   */
84  public function getAutoscalingPolicy()
85  {
86    return $this->autoscalingPolicy;
87  }
88  /**
89   * @param string
90   */
91  public function setCreationTimestamp($creationTimestamp)
92  {
93    $this->creationTimestamp = $creationTimestamp;
94  }
95  /**
96   * @return string
97   */
98  public function getCreationTimestamp()
99  {
100    return $this->creationTimestamp;
101  }
102  /**
103   * @param string
104   */
105  public function setDescription($description)
106  {
107    $this->description = $description;
108  }
109  /**
110   * @return string
111   */
112  public function getDescription()
113  {
114    return $this->description;
115  }
116  /**
117   * @param string
118   */
119  public function setId($id)
120  {
121    $this->id = $id;
122  }
123  /**
124   * @return string
125   */
126  public function getId()
127  {
128    return $this->id;
129  }
130  /**
131   * @param string
132   */
133  public function setKind($kind)
134  {
135    $this->kind = $kind;
136  }
137  /**
138   * @return string
139   */
140  public function getKind()
141  {
142    return $this->kind;
143  }
144  /**
145   * @param string
146   */
147  public function setName($name)
148  {
149    $this->name = $name;
150  }
151  /**
152   * @return string
153   */
154  public function getName()
155  {
156    return $this->name;
157  }
158  /**
159   * @param int
160   */
161  public function setRecommendedSize($recommendedSize)
162  {
163    $this->recommendedSize = $recommendedSize;
164  }
165  /**
166   * @return int
167   */
168  public function getRecommendedSize()
169  {
170    return $this->recommendedSize;
171  }
172  /**
173   * @param string
174   */
175  public function setRegion($region)
176  {
177    $this->region = $region;
178  }
179  /**
180   * @return string
181   */
182  public function getRegion()
183  {
184    return $this->region;
185  }
186  /**
187   * @param ScalingScheduleStatus[]
188   */
189  public function setScalingScheduleStatus($scalingScheduleStatus)
190  {
191    $this->scalingScheduleStatus = $scalingScheduleStatus;
192  }
193  /**
194   * @return ScalingScheduleStatus[]
195   */
196  public function getScalingScheduleStatus()
197  {
198    return $this->scalingScheduleStatus;
199  }
200  /**
201   * @param string
202   */
203  public function setSelfLink($selfLink)
204  {
205    $this->selfLink = $selfLink;
206  }
207  /**
208   * @return string
209   */
210  public function getSelfLink()
211  {
212    return $this->selfLink;
213  }
214  /**
215   * @param string
216   */
217  public function setStatus($status)
218  {
219    $this->status = $status;
220  }
221  /**
222   * @return string
223   */
224  public function getStatus()
225  {
226    return $this->status;
227  }
228  /**
229   * @param AutoscalerStatusDetails[]
230   */
231  public function setStatusDetails($statusDetails)
232  {
233    $this->statusDetails = $statusDetails;
234  }
235  /**
236   * @return AutoscalerStatusDetails[]
237   */
238  public function getStatusDetails()
239  {
240    return $this->statusDetails;
241  }
242  /**
243   * @param string
244   */
245  public function setTarget($target)
246  {
247    $this->target = $target;
248  }
249  /**
250   * @return string
251   */
252  public function getTarget()
253  {
254    return $this->target;
255  }
256  /**
257   * @param string
258   */
259  public function setZone($zone)
260  {
261    $this->zone = $zone;
262  }
263  /**
264   * @return string
265   */
266  public function getZone()
267  {
268    return $this->zone;
269  }
270}
271
272// Adding a class alias for backwards compatibility with the previous class name.
273class_alias(Autoscaler::class, 'Google_Service_Compute_Autoscaler');
274