Class: Aws::ElasticLoadBalancingV2::Types::RuleCondition

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-elasticloadbalancingv2/types.rb

Overview

Note:

When making an API call, you may pass RuleCondition data as a hash:

{
  field: "ConditionFieldName",
  values: ["StringValue"],
  host_header_config: {
    values: ["StringValue"],
  },
  path_pattern_config: {
    values: ["StringValue"],
  },
  http_header_config: {
    http_header_name: "HttpHeaderConditionName",
    values: ["StringValue"],
  },
  query_string_config: {
    values: [
      {
        key: "StringValue",
        value: "StringValue",
      },
    ],
  },
  http_request_method_config: {
    values: ["StringValue"],
  },
  source_ip_config: {
    values: ["StringValue"],
  },
}

Information about a condition for a rule.

Each rule can optionally include up to one of each of the following conditions: `http-request-method`, `host-header`, `path-pattern`, and `source-ip`. Each rule can also optionally include one or more of each of the following conditions: `http-header` and `query-string`.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#fieldString

The field in the HTTP request. The following are the possible values:

  • `http-header`

  • `http-request-method`

  • `host-header`

  • `path-pattern`

  • `query-string`

  • `source-ip`

Returns:

  • (String)

3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
# File 'lib/aws-sdk-elasticloadbalancingv2/types.rb', line 3450

class RuleCondition < Struct.new(
  :field,
  :values,
  :host_header_config,
  :path_pattern_config,
  :http_header_config,
  :query_string_config,
  :http_request_method_config,
  :source_ip_config)
  SENSITIVE = []
  include Aws::Structure
end

#host_header_configTypes::HostHeaderConditionConfig

Information for a host header condition. Specify only when `Field` is `host-header`.


3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
# File 'lib/aws-sdk-elasticloadbalancingv2/types.rb', line 3450

class RuleCondition < Struct.new(
  :field,
  :values,
  :host_header_config,
  :path_pattern_config,
  :http_header_config,
  :query_string_config,
  :http_request_method_config,
  :source_ip_config)
  SENSITIVE = []
  include Aws::Structure
end

#http_header_configTypes::HttpHeaderConditionConfig

Information for an HTTP header condition. Specify only when `Field` is `http-header`.


3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
# File 'lib/aws-sdk-elasticloadbalancingv2/types.rb', line 3450

class RuleCondition < Struct.new(
  :field,
  :values,
  :host_header_config,
  :path_pattern_config,
  :http_header_config,
  :query_string_config,
  :http_request_method_config,
  :source_ip_config)
  SENSITIVE = []
  include Aws::Structure
end

#http_request_method_configTypes::HttpRequestMethodConditionConfig

Information for an HTTP method condition. Specify only when `Field` is `http-request-method`.


3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
# File 'lib/aws-sdk-elasticloadbalancingv2/types.rb', line 3450

class RuleCondition < Struct.new(
  :field,
  :values,
  :host_header_config,
  :path_pattern_config,
  :http_header_config,
  :query_string_config,
  :http_request_method_config,
  :source_ip_config)
  SENSITIVE = []
  include Aws::Structure
end

#path_pattern_configTypes::PathPatternConditionConfig

Information for a path pattern condition. Specify only when `Field` is `path-pattern`.


3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
# File 'lib/aws-sdk-elasticloadbalancingv2/types.rb', line 3450

class RuleCondition < Struct.new(
  :field,
  :values,
  :host_header_config,
  :path_pattern_config,
  :http_header_config,
  :query_string_config,
  :http_request_method_config,
  :source_ip_config)
  SENSITIVE = []
  include Aws::Structure
end

#query_string_configTypes::QueryStringConditionConfig

Information for a query string condition. Specify only when `Field` is `query-string`.


3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
# File 'lib/aws-sdk-elasticloadbalancingv2/types.rb', line 3450

class RuleCondition < Struct.new(
  :field,
  :values,
  :host_header_config,
  :path_pattern_config,
  :http_header_config,
  :query_string_config,
  :http_request_method_config,
  :source_ip_config)
  SENSITIVE = []
  include Aws::Structure
end

#source_ip_configTypes::SourceIpConditionConfig

Information for a source IP condition. Specify only when `Field` is `source-ip`.


3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
# File 'lib/aws-sdk-elasticloadbalancingv2/types.rb', line 3450

class RuleCondition < Struct.new(
  :field,
  :values,
  :host_header_config,
  :path_pattern_config,
  :http_header_config,
  :query_string_config,
  :http_request_method_config,
  :source_ip_config)
  SENSITIVE = []
  include Aws::Structure
end

#valuesArray<String>

The condition value. Specify only when `Field` is `host-header` or `path-pattern`. Alternatively, to specify multiple host names or multiple path patterns, use `HostHeaderConfig` or `PathPatternConfig`.

If `Field` is `host-header` and you are not using `HostHeaderConfig`, you can specify a single host name (for example, my.example.com) in `Values`. A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters.

  • A-Z, a-z, 0-9

  • - .

    • (matches 0 or more characters)

  • ? (matches exactly 1 character)

If `Field` is `path-pattern` and you are not using `PathPatternConfig`, you can specify a single path pattern (for example, /img/*) in `Values`. A path pattern is case-sensitive, can be up to 128 characters in length, and can contain any of the following characters.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ “ ' @ : +

  • &amp; (using &amp;amp;)

    • (matches 0 or more characters)

  • ? (matches exactly 1 character)

Returns:

  • (Array<String>)

3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
# File 'lib/aws-sdk-elasticloadbalancingv2/types.rb', line 3450

class RuleCondition < Struct.new(
  :field,
  :values,
  :host_header_config,
  :path_pattern_config,
  :http_header_config,
  :query_string_config,
  :http_request_method_config,
  :source_ip_config)
  SENSITIVE = []
  include Aws::Structure
end