Class: Google::Apis::NetworkservicesV1beta1::LbRouteExtension
- Inherits:
-
Object
- Object
- Google::Apis::NetworkservicesV1beta1::LbRouteExtension
- 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
LbRouteExtension is a resource that lets you control where traffic is routed
to for a given request.
Instance Attribute Summary collapse
-
#create_time ⇒ String
Output only.
-
#description ⇒ String
Optional.
-
#extension_chains ⇒ Array<Google::Apis::NetworkservicesV1beta1::ExtensionChain>
Required.
-
#forwarding_rules ⇒ Array<String>
Required.
-
#labels ⇒ Hash<String,String>
Optional.
-
#load_balancing_scheme ⇒ String
Required.
-
#metadata ⇒ Hash<String,Object>
Optional.
-
#name ⇒ String
Required.
-
#update_time ⇒ String
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ LbRouteExtension
constructor
A new instance of LbRouteExtension.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ LbRouteExtension
Returns a new instance of LbRouteExtension.
2576 2577 2578 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2576 def initialize(**args) update!(**args) end |
Instance Attribute Details
#create_time ⇒ String
Output only. The timestamp when the resource was created.
Corresponds to the JSON property createTime
2510 2511 2512 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2510 def create_time @create_time end |
#description ⇒ String
Optional. A human-readable description of the resource.
Corresponds to the JSON property description
2515 2516 2517 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2515 def description @description end |
#extension_chains ⇒ Array<Google::Apis::NetworkservicesV1beta1::ExtensionChain>
Required. A set of ordered extension chains that contain the match conditions
and extensions to execute. Match conditions for each extension chain are
evaluated in sequence for a given request. The first extension chain that has
a condition that matches the request is executed. Any subsequent extension
chains do not execute. Limited to 5 extension chains per resource.
Corresponds to the JSON property extensionChains
2524 2525 2526 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2524 def extension_chains @extension_chains end |
#forwarding_rules ⇒ Array<String>
Required. A list of references to the forwarding rules to which this service
extension is attached. At least one forwarding rule is required. Only one
LbRouteExtension resource can be associated with a forwarding rule.
Corresponds to the JSON property forwardingRules
2531 2532 2533 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2531 def forwarding_rules @forwarding_rules end |
#labels ⇒ Hash<String,String>
Optional. Set of labels associated with the LbRouteExtension resource. The
format must comply with the requirements for labels for Google Cloud resources.
Corresponds to the JSON property labels
2538 2539 2540 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2538 def labels @labels end |
#load_balancing_scheme ⇒ String
Required. All backend services and forwarding rules referenced by this
extension must share the same load balancing scheme. Supported values:
INTERNAL_MANAGED, EXTERNAL_MANAGED. For more information, refer to Backend
services overview.
Corresponds to the JSON property loadBalancingScheme
2547 2548 2549 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2547 def load_balancing_scheme @load_balancing_scheme end |
#metadata ⇒ Hash<String,Object>
Optional. The metadata provided here is included as part of the
metadata_context (of type google.protobuf.Struct) in the ProcessingRequest
message sent to the extension server. The metadata applies to all extensions
in all extensions chains in this resource. The metadata is available under the
key com.google.lb_route_extension.. The following variables are supported in
the metadata: forwarding_rule_id - substituted with the forwarding rule's
fully qualified resource name. This field must not be set if at least one of
the extension chains contains plugin extensions. Setting it results in a
validation error. You can set metadata at either the resource level or the
extension level. The extension level metadata is recommended because you can
pass a different set of metadata through each extension to the backend.
Corresponds to the JSON property metadata
2562 2563 2564 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2562 def @metadata end |
#name ⇒ String
Required. Identifier. Name of the LbRouteExtension resource in the following
format: projects/project/locations/location/lbRouteExtensions/
lb_route_extension`.
Corresponds to the JSON propertyname`
2569 2570 2571 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2569 def name @name end |
#update_time ⇒ String
Output only. The timestamp when the resource was updated.
Corresponds to the JSON property updateTime
2574 2575 2576 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2574 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 |
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 2581 def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @description = args[:description] if args.key?(:description) @extension_chains = args[:extension_chains] if args.key?(:extension_chains) @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules) @labels = args[:labels] if args.key?(:labels) @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme) @metadata = args[:metadata] if args.key?(:metadata) @name = args[:name] if args.key?(:name) @update_time = args[:update_time] if args.key?(:update_time) end |