Class: Google::Apis::ComputeAlpha::HttpRouteAction

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ HttpRouteAction

Returns a new instance of HttpRouteAction.



25115
25116
25117
# File 'lib/google/apis/compute_alpha/classes.rb', line 25115

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

Instance Attribute Details

#cache_policyGoogle::Apis::ComputeAlpha::CachePolicy

Message containing CachePolicy configuration for URL Map's Route Action. Corresponds to the JSON property cachePolicy



25036
25037
25038
# File 'lib/google/apis/compute_alpha/classes.rb', line 25036

def cache_policy
  @cache_policy
end

#cors_policyGoogle::Apis::ComputeAlpha::CorsPolicy

The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Corresponds to the JSON property corsPolicy



25044
25045
25046
# File 'lib/google/apis/compute_alpha/classes.rb', line 25044

def cors_policy
  @cors_policy
end

#fault_injection_policyGoogle::Apis::ComputeAlpha::HttpFaultInjection

The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by the load balancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. Corresponds to the JSON property faultInjectionPolicy



25054
25055
25056
# File 'lib/google/apis/compute_alpha/classes.rb', line 25054

def fault_injection_policy
  @fault_injection_policy
end

#image_optimization_policyGoogle::Apis::ComputeAlpha::ImageOptimizationPolicy

The configuration for Cloud CDN's image optimization feature. This feature dynamically processes and delivers images from the network edge. Image Optimization is only available for Global External Application Load Balancers. Either Cloud CDN must be enabled on the backend service or backend bucket serving the route, or cache policy must be configured on the same route. Corresponds to the JSON property imageOptimizationPolicy



25064
25065
25066
# File 'lib/google/apis/compute_alpha/classes.rb', line 25064

def image_optimization_policy
  @image_optimization_policy
end

#max_stream_durationGoogle::Apis::ComputeAlpha::Duration

A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. Corresponds to the JSON property maxStreamDuration



25072
25073
25074
# File 'lib/google/apis/compute_alpha/classes.rb', line 25072

def max_stream_duration
  @max_stream_duration
end

#request_mirror_policyGoogle::Apis::ComputeAlpha::RequestMirrorPolicy

A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer doesn't wait for responses from the shadow service. Before sending traffic to the shadow service, the host or authority header is suffixed with-shadow. Corresponds to the JSON property requestMirrorPolicy



25080
25081
25082
# File 'lib/google/apis/compute_alpha/classes.rb', line 25080

def request_mirror_policy
  @request_mirror_policy
end

#retry_policyGoogle::Apis::ComputeAlpha::HttpRetryPolicy

The retry policy associates with HttpRouteRule Corresponds to the JSON property retryPolicy



25085
25086
25087
# File 'lib/google/apis/compute_alpha/classes.rb', line 25085

def retry_policy
  @retry_policy
end

#timeoutGoogle::Apis::ComputeAlpha::Duration

A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. Corresponds to the JSON property timeout



25093
25094
25095
# File 'lib/google/apis/compute_alpha/classes.rb', line 25093

def timeout
  @timeout
end

#url_rewriteGoogle::Apis::ComputeAlpha::UrlRewrite

The spec for modifying the path before sending the request to the matched backend service. Corresponds to the JSON property urlRewrite



25099
25100
25101
# File 'lib/google/apis/compute_alpha/classes.rb', line 25099

def url_rewrite
  @url_rewrite
end

#weighted_backend_servicesArray<Google::Apis::ComputeAlpha::WeightedBackendService>

A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be oneweightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction. Corresponds to the JSON property weightedBackendServices



25113
25114
25115
# File 'lib/google/apis/compute_alpha/classes.rb', line 25113

def weighted_backend_services
  @weighted_backend_services
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
# File 'lib/google/apis/compute_alpha/classes.rb', line 25120

def update!(**args)
  @cache_policy = args[:cache_policy] if args.key?(:cache_policy)
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
  @image_optimization_policy = args[:image_optimization_policy] if args.key?(:image_optimization_policy)
  @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
  @timeout = args[:timeout] if args.key?(:timeout)
  @url_rewrite = args[:url_rewrite] if args.key?(:url_rewrite)
  @weighted_backend_services = args[:weighted_backend_services] if args.key?(:weighted_backend_services)
end