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

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ HttpRouteAction

Returns a new instance of HttpRouteAction



9378
9379
9380
# File 'generated/google/apis/compute_alpha/classes.rb', line 9378

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

Instance Attribute Details

#cors_policyGoogle::Apis::ComputeAlpha::CorsPolicy

The specification for allowing client side cross-origin requests. Please see W3C Recommendation for Cross Origin Resource Sharing Corresponds to the JSON property corsPolicy



9326
9327
9328
# File 'generated/google/apis/compute_alpha/classes.rb', line 9326

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 Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. Corresponds to the JSON property faultInjectionPolicy



9336
9337
9338
# File 'generated/google/apis/compute_alpha/classes.rb', line 9336

def fault_injection_policy
  @fault_injection_policy
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. Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Corresponds to the JSON property requestMirrorPolicy



9344
9345
9346
# File 'generated/google/apis/compute_alpha/classes.rb', line 9344

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



9349
9350
9351
# File 'generated/google/apis/compute_alpha/classes.rb', line 9349

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



9357
9358
9359
# File 'generated/google/apis/compute_alpha/classes.rb', line 9357

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



9363
9364
9365
# File 'generated/google/apis/compute_alpha/classes.rb', line 9363

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 percentage of traffic that flows to their corresponding backend service. The weights must add up to 100. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to 100. Once a backendService is identified and before forwarding the request to the backend service, advanced routing actions like Url rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction. Corresponds to the JSON property weightedBackendServices



9376
9377
9378
# File 'generated/google/apis/compute_alpha/classes.rb', line 9376

def weighted_backend_services
  @weighted_backend_services
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



9383
9384
9385
9386
9387
9388
9389
9390
9391
# File 'generated/google/apis/compute_alpha/classes.rb', line 9383

def update!(**args)
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
  @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