611 lines
18 KiB
PHP
611 lines
18 KiB
PHP
|
|
<?php
|
||
|
|
/*
|
||
|
|
* Copyright 2014 Google Inc.
|
||
|
|
*
|
||
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||
|
|
* use this file except in compliance with the License. You may obtain a copy of
|
||
|
|
* the License at
|
||
|
|
*
|
||
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
*
|
||
|
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||
|
|
* License for the specific language governing permissions and limitations under
|
||
|
|
* the License.
|
||
|
|
*/
|
||
|
|
|
||
|
|
namespace Google\Service\Compute;
|
||
|
|
|
||
|
|
class Backend extends \Google\Collection
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Balance based on the number of simultaneous connections.
|
||
|
|
*/
|
||
|
|
public const BALANCING_MODE_CONNECTION = 'CONNECTION';
|
||
|
|
/**
|
||
|
|
* Based on custom defined and reported metrics.
|
||
|
|
*/
|
||
|
|
public const BALANCING_MODE_CUSTOM_METRICS = 'CUSTOM_METRICS';
|
||
|
|
/**
|
||
|
|
* Balance based on the number of in-flight requests.
|
||
|
|
*/
|
||
|
|
public const BALANCING_MODE_IN_FLIGHT = 'IN_FLIGHT';
|
||
|
|
/**
|
||
|
|
* Balance based on requests per second (RPS).
|
||
|
|
*/
|
||
|
|
public const BALANCING_MODE_RATE = 'RATE';
|
||
|
|
/**
|
||
|
|
* Balance based on the backend utilization.
|
||
|
|
*/
|
||
|
|
public const BALANCING_MODE_UTILIZATION = 'UTILIZATION';
|
||
|
|
/**
|
||
|
|
* No preference.
|
||
|
|
*/
|
||
|
|
public const PREFERENCE_DEFAULT = 'DEFAULT';
|
||
|
|
/**
|
||
|
|
* If preference is unspecified, we set it to the DEFAULT value
|
||
|
|
*/
|
||
|
|
public const PREFERENCE_PREFERENCE_UNSPECIFIED = 'PREFERENCE_UNSPECIFIED';
|
||
|
|
/**
|
||
|
|
* Traffic will be sent to this backend first.
|
||
|
|
*/
|
||
|
|
public const PREFERENCE_PREFERRED = 'PREFERRED';
|
||
|
|
/**
|
||
|
|
* Most of the requests are expected to take more than multiple seconds to
|
||
|
|
* finish.
|
||
|
|
*/
|
||
|
|
public const TRAFFIC_DURATION_LONG = 'LONG';
|
||
|
|
/**
|
||
|
|
* Most requests are expected to finish with a sub-second latency.
|
||
|
|
*/
|
||
|
|
public const TRAFFIC_DURATION_SHORT = 'SHORT';
|
||
|
|
/**
|
||
|
|
* Traffic duration is unspecified.
|
||
|
|
*/
|
||
|
|
public const TRAFFIC_DURATION_TRAFFIC_DURATION_UNSPECIFIED = 'TRAFFIC_DURATION_UNSPECIFIED';
|
||
|
|
protected $collection_key = 'customMetrics';
|
||
|
|
/**
|
||
|
|
* Specifies how to determine whether the backend of a load balancer can
|
||
|
|
* handle additional traffic or is fully loaded. For usage guidelines, see
|
||
|
|
* Connection balancing mode.
|
||
|
|
*
|
||
|
|
* Backends must use compatible balancing modes. For more information, see
|
||
|
|
* Supported balancing modes and target capacity settings and Restrictions and
|
||
|
|
* guidance for instance groups.
|
||
|
|
*
|
||
|
|
* Note: Currently, if you use the API to configure incompatible balancing
|
||
|
|
* modes, the configuration might be accepted even though it has no impact and
|
||
|
|
* is ignored. Specifically, Backend.maxUtilization is ignored when
|
||
|
|
* Backend.balancingMode is RATE. In the future, this incompatible combination
|
||
|
|
* will be rejected.
|
||
|
|
*
|
||
|
|
* @var string
|
||
|
|
*/
|
||
|
|
public $balancingMode;
|
||
|
|
/**
|
||
|
|
* A multiplier applied to the backend's target capacity of its balancing
|
||
|
|
* mode. The default value is 1, which means the group serves up to 100% of
|
||
|
|
* its configured capacity (depending onbalancingMode). A setting of 0 means
|
||
|
|
* the group is completely drained, offering 0% of its available capacity. The
|
||
|
|
* valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger
|
||
|
|
* than 0 and smaller than0.1. You cannot configure a setting of 0 when there
|
||
|
|
* is only one backend attached to the backend service.
|
||
|
|
*
|
||
|
|
* Not available with backends that don't support using abalancingMode. This
|
||
|
|
* includes backends such as global internet NEGs, regional serverless NEGs,
|
||
|
|
* and PSC NEGs.
|
||
|
|
*
|
||
|
|
* @var float
|
||
|
|
*/
|
||
|
|
public $capacityScaler;
|
||
|
|
protected $customMetricsType = BackendCustomMetric::class;
|
||
|
|
protected $customMetricsDataType = 'array';
|
||
|
|
/**
|
||
|
|
* An optional description of this resource. Provide this property when you
|
||
|
|
* create the resource.
|
||
|
|
*
|
||
|
|
* @var string
|
||
|
|
*/
|
||
|
|
public $description;
|
||
|
|
/**
|
||
|
|
* This field designates whether this is a failover backend. More than one
|
||
|
|
* failover backend can be configured for a given BackendService.
|
||
|
|
*
|
||
|
|
* @var bool
|
||
|
|
*/
|
||
|
|
public $failover;
|
||
|
|
/**
|
||
|
|
* The fully-qualified URL of aninstance group or network endpoint group (NEG)
|
||
|
|
* resource. To determine what types of backends a load balancer supports, see
|
||
|
|
* the [Backend services overview](https://cloud.google.com/load-
|
||
|
|
* balancing/docs/backend-service#backends).
|
||
|
|
*
|
||
|
|
* You must use the *fully-qualified* URL (starting
|
||
|
|
* withhttps://www.googleapis.com/) to specify the instance group or NEG.
|
||
|
|
* Partial URLs are not supported.
|
||
|
|
*
|
||
|
|
* If haPolicy is specified, backends must refer to NEG resources of type
|
||
|
|
* GCE_VM_IP.
|
||
|
|
*
|
||
|
|
* @var string
|
||
|
|
*/
|
||
|
|
public $group;
|
||
|
|
/**
|
||
|
|
* Defines a target maximum number of simultaneous connections. For usage
|
||
|
|
* guidelines, seeConnection balancing mode and Utilization balancing mode.
|
||
|
|
* Not available if the backend'sbalancingMode is RATE.
|
||
|
|
*
|
||
|
|
* @var int
|
||
|
|
*/
|
||
|
|
public $maxConnections;
|
||
|
|
/**
|
||
|
|
* Defines a target maximum number of simultaneous connections. For usage
|
||
|
|
* guidelines, seeConnection balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isRATE.
|
||
|
|
*
|
||
|
|
* @var int
|
||
|
|
*/
|
||
|
|
public $maxConnectionsPerEndpoint;
|
||
|
|
/**
|
||
|
|
* Defines a target maximum number of simultaneous connections. For usage
|
||
|
|
* guidelines, seeConnection balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isRATE.
|
||
|
|
*
|
||
|
|
* @var int
|
||
|
|
*/
|
||
|
|
public $maxConnectionsPerInstance;
|
||
|
|
/**
|
||
|
|
* Defines a maximum number of in-flight requests for the whole NEG or
|
||
|
|
* instance group. Not available if backend's balancingMode isRATE or
|
||
|
|
* CONNECTION.
|
||
|
|
*
|
||
|
|
* @var int
|
||
|
|
*/
|
||
|
|
public $maxInFlightRequests;
|
||
|
|
/**
|
||
|
|
* Defines a maximum number of in-flight requests for a single endpoint. Not
|
||
|
|
* available if backend's balancingMode is RATE or CONNECTION.
|
||
|
|
*
|
||
|
|
* @var int
|
||
|
|
*/
|
||
|
|
public $maxInFlightRequestsPerEndpoint;
|
||
|
|
/**
|
||
|
|
* Defines a maximum number of in-flight requests for a single VM. Not
|
||
|
|
* available if backend's balancingMode is RATE or CONNECTION.
|
||
|
|
*
|
||
|
|
* @var int
|
||
|
|
*/
|
||
|
|
public $maxInFlightRequestsPerInstance;
|
||
|
|
/**
|
||
|
|
* Defines a maximum number of HTTP requests per second (RPS). For usage
|
||
|
|
* guidelines, seeRate balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isCONNECTION.
|
||
|
|
*
|
||
|
|
* @var int
|
||
|
|
*/
|
||
|
|
public $maxRate;
|
||
|
|
/**
|
||
|
|
* Defines a maximum target for requests per second (RPS). For usage
|
||
|
|
* guidelines, seeRate balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isCONNECTION.
|
||
|
|
*
|
||
|
|
* @var float
|
||
|
|
*/
|
||
|
|
public $maxRatePerEndpoint;
|
||
|
|
/**
|
||
|
|
* Defines a maximum target for requests per second (RPS). For usage
|
||
|
|
* guidelines, seeRate balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isCONNECTION.
|
||
|
|
*
|
||
|
|
* @var float
|
||
|
|
*/
|
||
|
|
public $maxRatePerInstance;
|
||
|
|
/**
|
||
|
|
* Optional parameter to define a target capacity for theUTILIZATION balancing
|
||
|
|
* mode. The valid range is[0.0, 1.0].
|
||
|
|
*
|
||
|
|
* For usage guidelines, seeUtilization balancing mode.
|
||
|
|
*
|
||
|
|
* @var float
|
||
|
|
*/
|
||
|
|
public $maxUtilization;
|
||
|
|
protected $orchestrationInfoType = BackendBackendOrchestrationInfo::class;
|
||
|
|
protected $orchestrationInfoDataType = '';
|
||
|
|
/**
|
||
|
|
* This field indicates whether this backend should be fully utilized before
|
||
|
|
* sending traffic to backends with default preference. The possible values
|
||
|
|
* are: - PREFERRED: Backends with this preference level will be
|
||
|
|
* filled up to their capacity limits first, based on RTT. - DEFAULT: If
|
||
|
|
* preferred backends don't have enough capacity, backends in this layer
|
||
|
|
* would be used and traffic would be assigned based on the load balancing
|
||
|
|
* algorithm you use. This is the default
|
||
|
|
*
|
||
|
|
* @var string
|
||
|
|
*/
|
||
|
|
public $preference;
|
||
|
|
/**
|
||
|
|
* @var string
|
||
|
|
*/
|
||
|
|
public $trafficDuration;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Specifies how to determine whether the backend of a load balancer can
|
||
|
|
* handle additional traffic or is fully loaded. For usage guidelines, see
|
||
|
|
* Connection balancing mode.
|
||
|
|
*
|
||
|
|
* Backends must use compatible balancing modes. For more information, see
|
||
|
|
* Supported balancing modes and target capacity settings and Restrictions and
|
||
|
|
* guidance for instance groups.
|
||
|
|
*
|
||
|
|
* Note: Currently, if you use the API to configure incompatible balancing
|
||
|
|
* modes, the configuration might be accepted even though it has no impact and
|
||
|
|
* is ignored. Specifically, Backend.maxUtilization is ignored when
|
||
|
|
* Backend.balancingMode is RATE. In the future, this incompatible combination
|
||
|
|
* will be rejected.
|
||
|
|
*
|
||
|
|
* Accepted values: CONNECTION, CUSTOM_METRICS, IN_FLIGHT, RATE, UTILIZATION
|
||
|
|
*
|
||
|
|
* @param self::BALANCING_MODE_* $balancingMode
|
||
|
|
*/
|
||
|
|
public function setBalancingMode($balancingMode)
|
||
|
|
{
|
||
|
|
$this->balancingMode = $balancingMode;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return self::BALANCING_MODE_*
|
||
|
|
*/
|
||
|
|
public function getBalancingMode()
|
||
|
|
{
|
||
|
|
return $this->balancingMode;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* A multiplier applied to the backend's target capacity of its balancing
|
||
|
|
* mode. The default value is 1, which means the group serves up to 100% of
|
||
|
|
* its configured capacity (depending onbalancingMode). A setting of 0 means
|
||
|
|
* the group is completely drained, offering 0% of its available capacity. The
|
||
|
|
* valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger
|
||
|
|
* than 0 and smaller than0.1. You cannot configure a setting of 0 when there
|
||
|
|
* is only one backend attached to the backend service.
|
||
|
|
*
|
||
|
|
* Not available with backends that don't support using abalancingMode. This
|
||
|
|
* includes backends such as global internet NEGs, regional serverless NEGs,
|
||
|
|
* and PSC NEGs.
|
||
|
|
*
|
||
|
|
* @param float $capacityScaler
|
||
|
|
*/
|
||
|
|
public function setCapacityScaler($capacityScaler)
|
||
|
|
{
|
||
|
|
$this->capacityScaler = $capacityScaler;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return float
|
||
|
|
*/
|
||
|
|
public function getCapacityScaler()
|
||
|
|
{
|
||
|
|
return $this->capacityScaler;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
|
||
|
|
*
|
||
|
|
* @param BackendCustomMetric[] $customMetrics
|
||
|
|
*/
|
||
|
|
public function setCustomMetrics($customMetrics)
|
||
|
|
{
|
||
|
|
$this->customMetrics = $customMetrics;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return BackendCustomMetric[]
|
||
|
|
*/
|
||
|
|
public function getCustomMetrics()
|
||
|
|
{
|
||
|
|
return $this->customMetrics;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* An optional description of this resource. Provide this property when you
|
||
|
|
* create the resource.
|
||
|
|
*
|
||
|
|
* @param string $description
|
||
|
|
*/
|
||
|
|
public function setDescription($description)
|
||
|
|
{
|
||
|
|
$this->description = $description;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return string
|
||
|
|
*/
|
||
|
|
public function getDescription()
|
||
|
|
{
|
||
|
|
return $this->description;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* This field designates whether this is a failover backend. More than one
|
||
|
|
* failover backend can be configured for a given BackendService.
|
||
|
|
*
|
||
|
|
* @param bool $failover
|
||
|
|
*/
|
||
|
|
public function setFailover($failover)
|
||
|
|
{
|
||
|
|
$this->failover = $failover;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return bool
|
||
|
|
*/
|
||
|
|
public function getFailover()
|
||
|
|
{
|
||
|
|
return $this->failover;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* The fully-qualified URL of aninstance group or network endpoint group (NEG)
|
||
|
|
* resource. To determine what types of backends a load balancer supports, see
|
||
|
|
* the [Backend services overview](https://cloud.google.com/load-
|
||
|
|
* balancing/docs/backend-service#backends).
|
||
|
|
*
|
||
|
|
* You must use the *fully-qualified* URL (starting
|
||
|
|
* withhttps://www.googleapis.com/) to specify the instance group or NEG.
|
||
|
|
* Partial URLs are not supported.
|
||
|
|
*
|
||
|
|
* If haPolicy is specified, backends must refer to NEG resources of type
|
||
|
|
* GCE_VM_IP.
|
||
|
|
*
|
||
|
|
* @param string $group
|
||
|
|
*/
|
||
|
|
public function setGroup($group)
|
||
|
|
{
|
||
|
|
$this->group = $group;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return string
|
||
|
|
*/
|
||
|
|
public function getGroup()
|
||
|
|
{
|
||
|
|
return $this->group;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Defines a target maximum number of simultaneous connections. For usage
|
||
|
|
* guidelines, seeConnection balancing mode and Utilization balancing mode.
|
||
|
|
* Not available if the backend'sbalancingMode is RATE.
|
||
|
|
*
|
||
|
|
* @param int $maxConnections
|
||
|
|
*/
|
||
|
|
public function setMaxConnections($maxConnections)
|
||
|
|
{
|
||
|
|
$this->maxConnections = $maxConnections;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
public function getMaxConnections()
|
||
|
|
{
|
||
|
|
return $this->maxConnections;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Defines a target maximum number of simultaneous connections. For usage
|
||
|
|
* guidelines, seeConnection balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isRATE.
|
||
|
|
*
|
||
|
|
* @param int $maxConnectionsPerEndpoint
|
||
|
|
*/
|
||
|
|
public function setMaxConnectionsPerEndpoint($maxConnectionsPerEndpoint)
|
||
|
|
{
|
||
|
|
$this->maxConnectionsPerEndpoint = $maxConnectionsPerEndpoint;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
public function getMaxConnectionsPerEndpoint()
|
||
|
|
{
|
||
|
|
return $this->maxConnectionsPerEndpoint;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Defines a target maximum number of simultaneous connections. For usage
|
||
|
|
* guidelines, seeConnection balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isRATE.
|
||
|
|
*
|
||
|
|
* @param int $maxConnectionsPerInstance
|
||
|
|
*/
|
||
|
|
public function setMaxConnectionsPerInstance($maxConnectionsPerInstance)
|
||
|
|
{
|
||
|
|
$this->maxConnectionsPerInstance = $maxConnectionsPerInstance;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
public function getMaxConnectionsPerInstance()
|
||
|
|
{
|
||
|
|
return $this->maxConnectionsPerInstance;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Defines a maximum number of in-flight requests for the whole NEG or
|
||
|
|
* instance group. Not available if backend's balancingMode isRATE or
|
||
|
|
* CONNECTION.
|
||
|
|
*
|
||
|
|
* @param int $maxInFlightRequests
|
||
|
|
*/
|
||
|
|
public function setMaxInFlightRequests($maxInFlightRequests)
|
||
|
|
{
|
||
|
|
$this->maxInFlightRequests = $maxInFlightRequests;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
public function getMaxInFlightRequests()
|
||
|
|
{
|
||
|
|
return $this->maxInFlightRequests;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Defines a maximum number of in-flight requests for a single endpoint. Not
|
||
|
|
* available if backend's balancingMode is RATE or CONNECTION.
|
||
|
|
*
|
||
|
|
* @param int $maxInFlightRequestsPerEndpoint
|
||
|
|
*/
|
||
|
|
public function setMaxInFlightRequestsPerEndpoint($maxInFlightRequestsPerEndpoint)
|
||
|
|
{
|
||
|
|
$this->maxInFlightRequestsPerEndpoint = $maxInFlightRequestsPerEndpoint;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
public function getMaxInFlightRequestsPerEndpoint()
|
||
|
|
{
|
||
|
|
return $this->maxInFlightRequestsPerEndpoint;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Defines a maximum number of in-flight requests for a single VM. Not
|
||
|
|
* available if backend's balancingMode is RATE or CONNECTION.
|
||
|
|
*
|
||
|
|
* @param int $maxInFlightRequestsPerInstance
|
||
|
|
*/
|
||
|
|
public function setMaxInFlightRequestsPerInstance($maxInFlightRequestsPerInstance)
|
||
|
|
{
|
||
|
|
$this->maxInFlightRequestsPerInstance = $maxInFlightRequestsPerInstance;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
public function getMaxInFlightRequestsPerInstance()
|
||
|
|
{
|
||
|
|
return $this->maxInFlightRequestsPerInstance;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Defines a maximum number of HTTP requests per second (RPS). For usage
|
||
|
|
* guidelines, seeRate balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isCONNECTION.
|
||
|
|
*
|
||
|
|
* @param int $maxRate
|
||
|
|
*/
|
||
|
|
public function setMaxRate($maxRate)
|
||
|
|
{
|
||
|
|
$this->maxRate = $maxRate;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return int
|
||
|
|
*/
|
||
|
|
public function getMaxRate()
|
||
|
|
{
|
||
|
|
return $this->maxRate;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Defines a maximum target for requests per second (RPS). For usage
|
||
|
|
* guidelines, seeRate balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isCONNECTION.
|
||
|
|
*
|
||
|
|
* @param float $maxRatePerEndpoint
|
||
|
|
*/
|
||
|
|
public function setMaxRatePerEndpoint($maxRatePerEndpoint)
|
||
|
|
{
|
||
|
|
$this->maxRatePerEndpoint = $maxRatePerEndpoint;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return float
|
||
|
|
*/
|
||
|
|
public function getMaxRatePerEndpoint()
|
||
|
|
{
|
||
|
|
return $this->maxRatePerEndpoint;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Defines a maximum target for requests per second (RPS). For usage
|
||
|
|
* guidelines, seeRate balancing mode and Utilization balancing mode.
|
||
|
|
*
|
||
|
|
* Not available if the backend's balancingMode isCONNECTION.
|
||
|
|
*
|
||
|
|
* @param float $maxRatePerInstance
|
||
|
|
*/
|
||
|
|
public function setMaxRatePerInstance($maxRatePerInstance)
|
||
|
|
{
|
||
|
|
$this->maxRatePerInstance = $maxRatePerInstance;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return float
|
||
|
|
*/
|
||
|
|
public function getMaxRatePerInstance()
|
||
|
|
{
|
||
|
|
return $this->maxRatePerInstance;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Optional parameter to define a target capacity for theUTILIZATION balancing
|
||
|
|
* mode. The valid range is[0.0, 1.0].
|
||
|
|
*
|
||
|
|
* For usage guidelines, seeUtilization balancing mode.
|
||
|
|
*
|
||
|
|
* @param float $maxUtilization
|
||
|
|
*/
|
||
|
|
public function setMaxUtilization($maxUtilization)
|
||
|
|
{
|
||
|
|
$this->maxUtilization = $maxUtilization;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return float
|
||
|
|
*/
|
||
|
|
public function getMaxUtilization()
|
||
|
|
{
|
||
|
|
return $this->maxUtilization;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Information about the resource or system that manages the backend.
|
||
|
|
*
|
||
|
|
* @param BackendBackendOrchestrationInfo $orchestrationInfo
|
||
|
|
*/
|
||
|
|
public function setOrchestrationInfo(BackendBackendOrchestrationInfo $orchestrationInfo)
|
||
|
|
{
|
||
|
|
$this->orchestrationInfo = $orchestrationInfo;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return BackendBackendOrchestrationInfo
|
||
|
|
*/
|
||
|
|
public function getOrchestrationInfo()
|
||
|
|
{
|
||
|
|
return $this->orchestrationInfo;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* This field indicates whether this backend should be fully utilized before
|
||
|
|
* sending traffic to backends with default preference. The possible values
|
||
|
|
* are: - PREFERRED: Backends with this preference level will be
|
||
|
|
* filled up to their capacity limits first, based on RTT. - DEFAULT: If
|
||
|
|
* preferred backends don't have enough capacity, backends in this layer
|
||
|
|
* would be used and traffic would be assigned based on the load balancing
|
||
|
|
* algorithm you use. This is the default
|
||
|
|
*
|
||
|
|
* Accepted values: DEFAULT, PREFERENCE_UNSPECIFIED, PREFERRED
|
||
|
|
*
|
||
|
|
* @param self::PREFERENCE_* $preference
|
||
|
|
*/
|
||
|
|
public function setPreference($preference)
|
||
|
|
{
|
||
|
|
$this->preference = $preference;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return self::PREFERENCE_*
|
||
|
|
*/
|
||
|
|
public function getPreference()
|
||
|
|
{
|
||
|
|
return $this->preference;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @param self::TRAFFIC_DURATION_* $trafficDuration
|
||
|
|
*/
|
||
|
|
public function setTrafficDuration($trafficDuration)
|
||
|
|
{
|
||
|
|
$this->trafficDuration = $trafficDuration;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* @return self::TRAFFIC_DURATION_*
|
||
|
|
*/
|
||
|
|
public function getTrafficDuration()
|
||
|
|
{
|
||
|
|
return $this->trafficDuration;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// Adding a class alias for backwards compatibility with the previous class name.
|
||
|
|
class_alias(Backend::class, 'Google_Service_Compute_Backend');
|