Class: Google::Apis::NetworkservicesV1beta1::HttpRouteRouteAction

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

The specifications for routing traffic and applying associated policies.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ HttpRouteRouteAction

Returns a new instance of HttpRouteRouteAction.



2239
2240
2241
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2239

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

Instance Attribute Details

#cors_policyGoogle::Apis::NetworkservicesV1beta1::HttpRouteCorsPolicy

The Specification for allowing client side cross-origin requests. Corresponds to the JSON property corsPolicy



2156
2157
2158
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2156

def cors_policy
  @cors_policy
end

#destinationsArray<Google::Apis::NetworkservicesV1beta1::HttpRouteDestination>

The destination to which traffic should be forwarded. Corresponds to the JSON property destinations



2161
2162
2163
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2161

def destinations
  @destinations
end

#direct_responseGoogle::Apis::NetworkservicesV1beta1::HttpRouteHttpDirectResponse

Static HTTP response object to be returned. Corresponds to the JSON property directResponse



2166
2167
2168
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2166

def direct_response
  @direct_response
end

#fault_injection_policyGoogle::Apis::NetworkservicesV1beta1::HttpRouteFaultInjectionPolicy

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



2176
2177
2178
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2176

def fault_injection_policy
  @fault_injection_policy
end

#idle_timeoutString

Optional. Specifies the idle timeout for the selected route. The idle timeout is defined as the period in which there are no bytes sent or received on either the upstream or downstream connection. If not set, the default idle timeout is 1 hour. If set to 0s, the timeout will be disabled. Corresponds to the JSON property idleTimeout

Returns:

  • (String)


2184
2185
2186
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2184

def idle_timeout
  @idle_timeout
end

#redirectGoogle::Apis::NetworkservicesV1beta1::HttpRouteRedirect

The specification for redirecting traffic. Corresponds to the JSON property redirect



2189
2190
2191
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2189

def redirect
  @redirect
end

#request_header_modifierGoogle::Apis::NetworkservicesV1beta1::HttpRouteHeaderModifier

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



2194
2195
2196
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2194

def request_header_modifier
  @request_header_modifier
end

#request_mirror_policyGoogle::Apis::NetworkservicesV1beta1::HttpRouteRequestMirrorPolicy

Specifies the policy on how requests are shadowed to a separate mirrored destination service. The proxy 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. Mirroring is currently not supported for Cloud Run destinations. Corresponds to the JSON property requestMirrorPolicy



2203
2204
2205
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2203

def request_mirror_policy
  @request_mirror_policy
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



2208
2209
2210
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2208

def response_header_modifier
  @response_header_modifier
end

#retry_policyGoogle::Apis::NetworkservicesV1beta1::HttpRouteRetryPolicy

The specifications for retries. Corresponds to the JSON property retryPolicy



2213
2214
2215
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2213

def retry_policy
  @retry_policy
end

#stateful_session_affinityGoogle::Apis::NetworkservicesV1beta1::HttpRouteStatefulSessionAffinityPolicy

The specification for cookie-based stateful session affinity where the date plane supplies a “session cookie” with the name "GSSA" which encodes a specific destination host and each request containing that cookie will be directed to that host as long as the destination host remains up and healthy. The gRPC proxyless mesh library or sidecar proxy will manage the session cookie but the client application code is responsible for copying the cookie from each RPC in the session to the next. Corresponds to the JSON property statefulSessionAffinity



2224
2225
2226
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2224

def stateful_session_affinity
  @stateful_session_affinity
end

#timeoutString

Specifies the timeout for selected route. Timeout is computed from the time the request has been fully processed (i.e. end of stream) up until the response has been completely processed. Timeout includes all retries. Corresponds to the JSON property timeout

Returns:

  • (String)


2231
2232
2233
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2231

def timeout
  @timeout
end

#url_rewriteGoogle::Apis::NetworkservicesV1beta1::HttpRouteUrlRewrite

The specification for modifying the URL of the request, prior to forwarding the request to the destination. Corresponds to the JSON property urlRewrite



2237
2238
2239
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2237

def url_rewrite
  @url_rewrite
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2244

def update!(**args)
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
  @destinations = args[:destinations] if args.key?(:destinations)
  @direct_response = args[:direct_response] if args.key?(:direct_response)
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
  @idle_timeout = args[:idle_timeout] if args.key?(:idle_timeout)
  @redirect = args[:redirect] if args.key?(:redirect)
  @request_header_modifier = args[:request_header_modifier] if args.key?(:request_header_modifier)
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
  @response_header_modifier = args[:response_header_modifier] if args.key?(:response_header_modifier)
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
  @stateful_session_affinity = args[:stateful_session_affinity] if args.key?(:stateful_session_affinity)
  @timeout = args[:timeout] if args.key?(:timeout)
  @url_rewrite = args[:url_rewrite] if args.key?(:url_rewrite)
end