129 lines
4.4 KiB
PHP
129 lines
4.4 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\NetworkServices;
|
|
|
|
class HttpRouteDestination extends \Google\Model
|
|
{
|
|
protected $requestHeaderModifierType = HttpRouteHeaderModifier::class;
|
|
protected $requestHeaderModifierDataType = '';
|
|
protected $responseHeaderModifierType = HttpRouteHeaderModifier::class;
|
|
protected $responseHeaderModifierDataType = '';
|
|
/**
|
|
* The URL of a BackendService to route traffic to.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $serviceName;
|
|
/**
|
|
* Specifies the proportion of requests forwarded to the backend referenced by
|
|
* the serviceName field. This is computed as: - weight/Sum(weights in this
|
|
* destination list). For non-zero values, there may be some epsilon from the
|
|
* exact proportion defined here depending on the precision an implementation
|
|
* supports. If only one serviceName is specified and it has a weight greater
|
|
* than 0, 100% of the traffic is forwarded to that backend. If weights are
|
|
* specified for any one service name, they need to be specified for all of
|
|
* them. If weights are unspecified for all services, then, traffic is
|
|
* distributed in equal proportions to all of them.
|
|
*
|
|
* @var int
|
|
*/
|
|
public $weight;
|
|
|
|
/**
|
|
* Optional. The specification for modifying the headers of a matching request
|
|
* prior to delivery of the request to the destination. If HeaderModifiers are
|
|
* set on both the Destination and the RouteAction, they will be merged.
|
|
* Conflicts between the two will not be resolved on the configuration.
|
|
*
|
|
* @param HttpRouteHeaderModifier $requestHeaderModifier
|
|
*/
|
|
public function setRequestHeaderModifier(HttpRouteHeaderModifier $requestHeaderModifier)
|
|
{
|
|
$this->requestHeaderModifier = $requestHeaderModifier;
|
|
}
|
|
/**
|
|
* @return HttpRouteHeaderModifier
|
|
*/
|
|
public function getRequestHeaderModifier()
|
|
{
|
|
return $this->requestHeaderModifier;
|
|
}
|
|
/**
|
|
* Optional. The specification for modifying the headers of a response prior
|
|
* to sending the response back to the client. If HeaderModifiers are set on
|
|
* both the Destination and the RouteAction, they will be merged. Conflicts
|
|
* between the two will not be resolved on the configuration.
|
|
*
|
|
* @param HttpRouteHeaderModifier $responseHeaderModifier
|
|
*/
|
|
public function setResponseHeaderModifier(HttpRouteHeaderModifier $responseHeaderModifier)
|
|
{
|
|
$this->responseHeaderModifier = $responseHeaderModifier;
|
|
}
|
|
/**
|
|
* @return HttpRouteHeaderModifier
|
|
*/
|
|
public function getResponseHeaderModifier()
|
|
{
|
|
return $this->responseHeaderModifier;
|
|
}
|
|
/**
|
|
* The URL of a BackendService to route traffic to.
|
|
*
|
|
* @param string $serviceName
|
|
*/
|
|
public function setServiceName($serviceName)
|
|
{
|
|
$this->serviceName = $serviceName;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getServiceName()
|
|
{
|
|
return $this->serviceName;
|
|
}
|
|
/**
|
|
* Specifies the proportion of requests forwarded to the backend referenced by
|
|
* the serviceName field. This is computed as: - weight/Sum(weights in this
|
|
* destination list). For non-zero values, there may be some epsilon from the
|
|
* exact proportion defined here depending on the precision an implementation
|
|
* supports. If only one serviceName is specified and it has a weight greater
|
|
* than 0, 100% of the traffic is forwarded to that backend. If weights are
|
|
* specified for any one service name, they need to be specified for all of
|
|
* them. If weights are unspecified for all services, then, traffic is
|
|
* distributed in equal proportions to all of them.
|
|
*
|
|
* @param int $weight
|
|
*/
|
|
public function setWeight($weight)
|
|
{
|
|
$this->weight = $weight;
|
|
}
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getWeight()
|
|
{
|
|
return $this->weight;
|
|
}
|
|
}
|
|
|
|
// Adding a class alias for backwards compatibility with the previous class name.
|
|
class_alias(HttpRouteDestination::class, 'Google_Service_NetworkServices_HttpRouteDestination');
|