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 InstanceGroupManagerUpdatePolicy extends \Google\Model
21{
22  /**
23   * @var string
24   */
25  public $instanceRedistributionType;
26  protected $maxSurgeType = FixedOrPercent::class;
27  protected $maxSurgeDataType = '';
28  protected $maxUnavailableType = FixedOrPercent::class;
29  protected $maxUnavailableDataType = '';
30  /**
31   * @var string
32   */
33  public $minimalAction;
34  /**
35   * @var string
36   */
37  public $mostDisruptiveAllowedAction;
38  /**
39   * @var string
40   */
41  public $replacementMethod;
42  /**
43   * @var string
44   */
45  public $type;
46
47  /**
48   * @param string
49   */
50  public function setInstanceRedistributionType($instanceRedistributionType)
51  {
52    $this->instanceRedistributionType = $instanceRedistributionType;
53  }
54  /**
55   * @return string
56   */
57  public function getInstanceRedistributionType()
58  {
59    return $this->instanceRedistributionType;
60  }
61  /**
62   * @param FixedOrPercent
63   */
64  public function setMaxSurge(FixedOrPercent $maxSurge)
65  {
66    $this->maxSurge = $maxSurge;
67  }
68  /**
69   * @return FixedOrPercent
70   */
71  public function getMaxSurge()
72  {
73    return $this->maxSurge;
74  }
75  /**
76   * @param FixedOrPercent
77   */
78  public function setMaxUnavailable(FixedOrPercent $maxUnavailable)
79  {
80    $this->maxUnavailable = $maxUnavailable;
81  }
82  /**
83   * @return FixedOrPercent
84   */
85  public function getMaxUnavailable()
86  {
87    return $this->maxUnavailable;
88  }
89  /**
90   * @param string
91   */
92  public function setMinimalAction($minimalAction)
93  {
94    $this->minimalAction = $minimalAction;
95  }
96  /**
97   * @return string
98   */
99  public function getMinimalAction()
100  {
101    return $this->minimalAction;
102  }
103  /**
104   * @param string
105   */
106  public function setMostDisruptiveAllowedAction($mostDisruptiveAllowedAction)
107  {
108    $this->mostDisruptiveAllowedAction = $mostDisruptiveAllowedAction;
109  }
110  /**
111   * @return string
112   */
113  public function getMostDisruptiveAllowedAction()
114  {
115    return $this->mostDisruptiveAllowedAction;
116  }
117  /**
118   * @param string
119   */
120  public function setReplacementMethod($replacementMethod)
121  {
122    $this->replacementMethod = $replacementMethod;
123  }
124  /**
125   * @return string
126   */
127  public function getReplacementMethod()
128  {
129    return $this->replacementMethod;
130  }
131  /**
132   * @param string
133   */
134  public function setType($type)
135  {
136    $this->type = $type;
137  }
138  /**
139   * @return string
140   */
141  public function getType()
142  {
143    return $this->type;
144  }
145}
146
147// Adding a class alias for backwards compatibility with the previous class name.
148class_alias(InstanceGroupManagerUpdatePolicy::class, 'Google_Service_Compute_InstanceGroupManagerUpdatePolicy');
149