Class: Google::Apis::NetworkservicesV1beta1::HttpRouteDestination

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/networkservices_v1beta1/classes.rb,
lib/google/apis/networkservices_v1beta1/representations.rb,
lib/google/apis/networkservices_v1beta1/representations.rb

Overview

Specifications of a destination to which the request should be routed to.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ HttpRouteDestination

Returns a new instance of HttpRouteDestination.



1698
1699
1700
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1698

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#request_header_modifierGoogle::Apis::NetworkservicesV1beta1::HttpRouteHeaderModifier

The specification for modifying HTTP header in HTTP request and HTTP response. Corresponds to the JSON property requestHeaderModifier



1673
1674
1675
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1673

def request_header_modifier
  @request_header_modifier
end

#response_header_modifierGoogle::Apis::NetworkservicesV1beta1::HttpRouteHeaderModifier

The specification for modifying HTTP header in HTTP request and HTTP response. Corresponds to the JSON property responseHeaderModifier



1678
1679
1680
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1678

def response_header_modifier
  @response_header_modifier
end

#service_nameString

The URL of a BackendService to route traffic to. Corresponds to the JSON property serviceName

Returns:

  • (String)


1683
1684
1685
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1683

def service_name
  @service_name
end

#weightFixnum

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. Corresponds to the JSON property weight

Returns:

  • (Fixnum)


1696
1697
1698
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1696

def weight
  @weight
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1703
1704
1705
1706
1707
1708
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1703

def update!(**args)
  @request_header_modifier = args[:request_header_modifier] if args.key?(:request_header_modifier)
  @response_header_modifier = args[:response_header_modifier] if args.key?(:response_header_modifier)
  @service_name = args[:service_name] if args.key?(:service_name)
  @weight = args[:weight] if args.key?(:weight)
end