Class: Google::Apis::NetworkservicesV1beta1::ExtensionChain

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

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.



424
425
426
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 424

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

Instance Attribute Details

#extensionsArray<Google::Apis::NetworkservicesV1beta1::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



408
409
410
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 408

def extensions
  @extensions
end

#match_conditionGoogle::Apis::NetworkservicesV1beta1::ExtensionChainMatchCondition

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



413
414
415
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 413

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)


422
423
424
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 422

def name
  @name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



429
430
431
432
433
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 429

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