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.



1113
1114
1115
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1113

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 and LbEdgeExtension chains are limited to 1 extension per extension chain. Corresponds to the JSON property extensions



1097
1098
1099
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1097

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



1102
1103
1104
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1102

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)


1111
1112
1113
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1111

def name
  @name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1118
1119
1120
1121
1122
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1118

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