Class: Google::Apis::NetworkservicesV1::ExtensionChain

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

Overview

A single extension chain wrapper that contains the match conditions and extensions to execute.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ExtensionChain

Returns a new instance of ExtensionChain.



489
490
491
# File 'lib/google/apis/networkservices_v1/classes.rb', line 489

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

Instance Attribute Details

#extensionsArray<Google::Apis::NetworkservicesV1::ExtensionChainExtension>

Required. A set of extensions to execute for the matching request. At least one extension is required. Up to 3 extensions can be defined for each extension chain for LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain. Corresponds to the JSON property extensions



473
474
475
# File 'lib/google/apis/networkservices_v1/classes.rb', line 473

def extensions
  @extensions
end

#match_conditionGoogle::Apis::NetworkservicesV1::ExtensionChainMatchCondition

Conditions under which this chain is invoked for a request. Corresponds to the JSON property matchCondition



478
479
480
# File 'lib/google/apis/networkservices_v1/classes.rb', line 478

def match_condition
  @match_condition
end

#nameString

Required. The name for this extension chain. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower- cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number. Corresponds to the JSON property name

Returns:

  • (String)


487
488
489
# File 'lib/google/apis/networkservices_v1/classes.rb', line 487

def name
  @name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



494
495
496
497
498
# File 'lib/google/apis/networkservices_v1/classes.rb', line 494

def update!(**args)
  @extensions = args[:extensions] if args.key?(:extensions)
  @match_condition = args[:match_condition] if args.key?(:match_condition)
  @name = args[:name] if args.key?(:name)
end