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.



889
890
891
# File 'lib/google/apis/networkservices_v1/classes.rb', line 889

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



873
874
875
# File 'lib/google/apis/networkservices_v1/classes.rb', line 873

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



878
879
880
# File 'lib/google/apis/networkservices_v1/classes.rb', line 878

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)


887
888
889
# File 'lib/google/apis/networkservices_v1/classes.rb', line 887

def name
  @name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



894
895
896
897
898
# File 'lib/google/apis/networkservices_v1/classes.rb', line 894

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