Class: Google::Apis::ComputeV1::HttpHeaderMatch

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

Overview

matchRule criteria for request header matches.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ HttpHeaderMatch

Returns a new instance of HttpHeaderMatch.



20186
20187
20188
# File 'lib/google/apis/compute_v1/classes.rb', line 20186

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

Instance Attribute Details

#exact_matchString

The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or rangeMatch must be set. Corresponds to the JSON property exactMatch

Returns:

  • (String)


20112
20113
20114
# File 'lib/google/apis/compute_v1/classes.rb', line 20112

def exact_match
  @exact_match
end

#header_nameString

The name of the HTTP header to match. For matching against the HTTP request's authority, use a headerMatch with the header name ":authority". For matching a request's method, use the headerName ":method". When the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true, only non-binary user-specified custom metadata and the content-type header are supported. The following transport-level headers cannot be used in header matching rules: :authority, :method, :path, :scheme, user-agent, accept-encoding, content-encoding, grpc-accept-encoding, grpc-encoding, grpc-previous-rpc-attempts, grpc-tags-bin, grpc-timeout and grpc-trace-bin. Corresponds to the JSON property headerName

Returns:

  • (String)


20130
20131
20132
# File 'lib/google/apis/compute_v1/classes.rb', line 20130

def header_name
  @header_name
end

#invert_matchBoolean Also known as: invert_match?

If set to false, the headerMatch is considered a match if the preceding match criteria are met. If set to true, the headerMatch is considered a match if the preceding match criteria are NOT met. The default setting is false. Corresponds to the JSON property invertMatch

Returns:

  • (Boolean)


20139
20140
20141
# File 'lib/google/apis/compute_v1/classes.rb', line 20139

def invert_match
  @invert_match
end

#prefix_matchString

The value of the header must start with the contents ofprefixMatch. Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or rangeMatch must be set. Corresponds to the JSON property prefixMatch

Returns:

  • (String)


20147
20148
20149
# File 'lib/google/apis/compute_v1/classes.rb', line 20147

def prefix_match
  @prefix_match
end

#present_matchBoolean Also known as: present_match?

A header with the contents of headerName must exist. The match takes place whether or not the request's header has a value. Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or rangeMatch must be set. Corresponds to the JSON property presentMatch

Returns:

  • (Boolean)


20155
20156
20157
# File 'lib/google/apis/compute_v1/classes.rb', line 20155

def present_match
  @present_match
end

#range_matchGoogle::Apis::ComputeV1::Int64RangeMatch

HttpRouteRuleMatch criteria for field values that must stay within the specified integer range. Corresponds to the JSON property rangeMatch



20162
20163
20164
# File 'lib/google/apis/compute_v1/classes.rb', line 20162

def range_match
  @range_match
end

#regex_matchString

The value of the header must match the regular expression specified inregexMatch. For more information about regular expression syntax, see Syntax. For matching against a port specified in the HTTP request, use a headerMatch with headerName set to PORT and a regular expression that satisfies the RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or rangeMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED (regional scope) or INTERNAL_MANAGED. Corresponds to the JSON property regexMatch

Returns:

  • (String)


20177
20178
20179
# File 'lib/google/apis/compute_v1/classes.rb', line 20177

def regex_match
  @regex_match
end

#suffix_matchString

The value of the header must end with the contents ofsuffixMatch. Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or rangeMatch must be set. Corresponds to the JSON property suffixMatch

Returns:

  • (String)


20184
20185
20186
# File 'lib/google/apis/compute_v1/classes.rb', line 20184

def suffix_match
  @suffix_match
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
# File 'lib/google/apis/compute_v1/classes.rb', line 20191

def update!(**args)
  @exact_match = args[:exact_match] if args.key?(:exact_match)
  @header_name = args[:header_name] if args.key?(:header_name)
  @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