Class: Google::Apis::NetworkservicesV1beta1::HttpRouteHeaderMatch

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

Specifies how to select a route rule based on HTTP request headers.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ HttpRouteHeaderMatch

Returns a new instance of HttpRouteHeaderMatch.



1220
1221
1222
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1220

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

Instance Attribute Details

#exact_matchString

The value of the header should match exactly the content of exact_match. Corresponds to the JSON property exactMatch

Returns:

  • (String)


1177
1178
1179
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1177

def exact_match
  @exact_match
end

#headerString

The name of the HTTP header to match against. Corresponds to the JSON property header

Returns:

  • (String)


1182
1183
1184
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1182

def header
  @header
end

#invert_matchBoolean Also known as: invert_match?

If specified, the match result will be inverted before checking. Default value is set to false. Corresponds to the JSON property invertMatch

Returns:

  • (Boolean)


1188
1189
1190
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1188

def invert_match
  @invert_match
end

#prefix_matchString

The value of the header must start with the contents of prefix_match. Corresponds to the JSON property prefixMatch

Returns:

  • (String)


1194
1195
1196
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1194

def prefix_match
  @prefix_match
end

#present_matchBoolean Also known as: present_match?

A header with header_name must exist. The match takes place whether or not the header has a value. Corresponds to the JSON property presentMatch

Returns:

  • (Boolean)


1200
1201
1202
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1200

def present_match
  @present_match
end

#range_matchGoogle::Apis::NetworkservicesV1beta1::HttpRouteHeaderMatchIntegerRange

Represents an integer value range. Corresponds to the JSON property rangeMatch



1206
1207
1208
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1206

def range_match
  @range_match
end

#regex_matchString

The value of the header must match the regular expression specified in regex_match. For regular expression grammar, please see: https://github.com/ google/re2/wiki/Syntax Corresponds to the JSON property regexMatch

Returns:

  • (String)


1213
1214
1215
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1213

def regex_match
  @regex_match
end

#suffix_matchString

The value of the header must end with the contents of suffix_match. Corresponds to the JSON property suffixMatch

Returns:

  • (String)


1218
1219
1220
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1218

def suffix_match
  @suffix_match
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
# File 'lib/google/apis/networkservices_v1beta1/classes.rb', line 1225

def update!(**args)
  @exact_match = args[:exact_match] if args.key?(:exact_match)
  @header = args[:header] if args.key?(:header)
  @invert_match = args[:invert_match] if args.key?(:invert_match)
  @prefix_match = args[:prefix_match] if args.key?(:prefix_match)
  @present_match = args[:present_match] if args.key?(:present_match)
  @range_match = args[:range_match] if args.key?(:range_match)
  @regex_match = args[:regex_match] if args.key?(:regex_match)
  @suffix_match = args[:suffix_match] if args.key?(:suffix_match)
end