coolDownPeriodSec = $coolDownPeriodSec; } /** * @return int */ public function getCoolDownPeriodSec() { return $this->coolDownPeriodSec; } /** * Defines the CPU utilization policy that allows the autoscaler to scale * based on the average CPU utilization of a managed instance group. * * @param AutoscalingPolicyCpuUtilization $cpuUtilization */ public function setCpuUtilization(AutoscalingPolicyCpuUtilization $cpuUtilization) { $this->cpuUtilization = $cpuUtilization; } /** * @return AutoscalingPolicyCpuUtilization */ public function getCpuUtilization() { return $this->cpuUtilization; } /** * Configuration parameters of autoscaling based on a custom metric. * * @param AutoscalingPolicyCustomMetricUtilization[] $customMetricUtilizations */ public function setCustomMetricUtilizations($customMetricUtilizations) { $this->customMetricUtilizations = $customMetricUtilizations; } /** * @return AutoscalingPolicyCustomMetricUtilization[] */ public function getCustomMetricUtilizations() { return $this->customMetricUtilizations; } /** * Configuration parameters of autoscaling based on load balancer. * * @param AutoscalingPolicyLoadBalancingUtilization $loadBalancingUtilization */ public function setLoadBalancingUtilization(AutoscalingPolicyLoadBalancingUtilization $loadBalancingUtilization) { $this->loadBalancingUtilization = $loadBalancingUtilization; } /** * @return AutoscalingPolicyLoadBalancingUtilization */ public function getLoadBalancingUtilization() { return $this->loadBalancingUtilization; } /** * The maximum number of instances that the autoscaler can scale out to. This * is required when creating or updating an autoscaler. The maximum number of * replicas must not be lower than minimal number of replicas. * * @param int $maxNumReplicas */ public function setMaxNumReplicas($maxNumReplicas) { $this->maxNumReplicas = $maxNumReplicas; } /** * @return int */ public function getMaxNumReplicas() { return $this->maxNumReplicas; } /** * The minimum number of replicas that the autoscaler can scale in to. This * cannot be less than 0. If not provided, autoscaler chooses a default value * depending on maximum number of instances allowed. * * @param int $minNumReplicas */ public function setMinNumReplicas($minNumReplicas) { $this->minNumReplicas = $minNumReplicas; } /** * @return int */ public function getMinNumReplicas() { return $this->minNumReplicas; } /** * Defines the operating mode for this policy. The following modes are * available: - OFF: Disables the autoscaler but maintains its * configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM * instances only. - ON: Enables all autoscaler activities according to its * policy. * * For more information, see "Turning off or restricting an autoscaler" * * Accepted values: OFF, ON, ONLY_SCALE_OUT, ONLY_UP * * @param self::MODE_* $mode */ public function setMode($mode) { $this->mode = $mode; } /** * @return self::MODE_* */ public function getMode() { return $this->mode; } /** * @param AutoscalingPolicyScaleInControl $scaleInControl */ public function setScaleInControl(AutoscalingPolicyScaleInControl $scaleInControl) { $this->scaleInControl = $scaleInControl; } /** * @return AutoscalingPolicyScaleInControl */ public function getScaleInControl() { return $this->scaleInControl; } /** * Scaling schedules defined for an autoscaler. Multiple schedules can be set * on an autoscaler, and they can overlap. During overlapping periods the * greatest min_required_replicas of all scaling schedules is applied. Up to * 128 scaling schedules are allowed. * * @param AutoscalingPolicyScalingSchedule[] $scalingSchedules */ public function setScalingSchedules($scalingSchedules) { $this->scalingSchedules = $scalingSchedules; } /** * @return AutoscalingPolicyScalingSchedule[] */ public function getScalingSchedules() { return $this->scalingSchedules; } /** * The number of seconds that autoscaler waits for load stabilization before * making scale-in decisions. This is referred to as the [stabilization * period](/compute/docs/autoscaler#stabilization_period). This might appear * as a delay in scaling in but it is an important mechanism for your * application to not have fluctuating size due to short term load * fluctuations. * * The default stabilization period is 600 seconds. * * @param int $stabilizationPeriodSec */ public function setStabilizationPeriodSec($stabilizationPeriodSec) { $this->stabilizationPeriodSec = $stabilizationPeriodSec; } /** * @return int */ public function getStabilizationPeriodSec() { return $this->stabilizationPeriodSec; } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(AutoscalingPolicy::class, 'Google_Service_Compute_AutoscalingPolicy');