You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::ElasticLoadBalancingV2::Types::CreateRuleInput

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

Overview

Note:

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

{
  listener_arn: "ListenerArn", # required
  conditions: [ # required
    {
      field: "ConditionFieldName",
      values: ["StringValue"],
    },
  ],
  priority: 1, # required
  actions: [ # required
    {
      type: "forward", # required, accepts forward, authenticate-oidc, authenticate-cognito
      target_group_arn: "TargetGroupArn",
      authenticate_oidc_config: {
        issuer: "AuthenticateOidcActionIssuer", # required
        authorization_endpoint: "AuthenticateOidcActionAuthorizationEndpoint", # required
        token_endpoint: "AuthenticateOidcActionTokenEndpoint", # required
        user_info_endpoint: "AuthenticateOidcActionUserInfoEndpoint", # required
        client_id: "AuthenticateOidcActionClientId", # required
        client_secret: "AuthenticateOidcActionClientSecret", # required
        session_cookie_name: "AuthenticateOidcActionSessionCookieName",
        scope: "AuthenticateOidcActionScope",
        session_timeout: 1,
        authentication_request_extra_params: {
          "AuthenticateOidcActionAuthenticationRequestParamName" => "AuthenticateOidcActionAuthenticationRequestParamValue",
        },
        on_unauthenticated_request: "deny", # accepts deny, allow, authenticate
      },
      authenticate_cognito_config: {
        user_pool_arn: "AuthenticateCognitoActionUserPoolArn", # required
        user_pool_client_id: "AuthenticateCognitoActionUserPoolClientId", # required
        user_pool_domain: "AuthenticateCognitoActionUserPoolDomain", # required
        session_cookie_name: "AuthenticateCognitoActionSessionCookieName",
        scope: "AuthenticateCognitoActionScope",
        session_timeout: 1,
        authentication_request_extra_params: {
          "AuthenticateCognitoActionAuthenticationRequestParamName" => "AuthenticateCognitoActionAuthenticationRequestParamValue",
        },
        on_unauthenticated_request: "deny", # accepts deny, allow, authenticate
      },
      order: 1,
    },
  ],
}

Instance Attribute Summary collapse

Instance Attribute Details

#actionsArray<Types::Action>

The actions. Each rule must include one forward action.

If the action type is forward, you can specify a single target group.

If the action type is authenticate-oidc, you can use an identity provider that is OpenID Connect (OIDC) compliant to authenticate users as they access your application.

If the action type is authenticate-cognito, you can use Amazon Cognito to authenticate users as they access your application.

Returns:



757
758
759
760
761
762
763
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 757

class CreateRuleInput < Struct.new(
  :listener_arn,
  :conditions,
  :priority,
  :actions)
  include Aws::Structure
end

#conditionsArray<Types::RuleCondition>

The conditions. Each condition specifies a field name and a single value.

If the field name is host-header, you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

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

  • - .

    • (matches 0 or more characters)
  • ? (matches exactly 1 character)

If the field name is path-pattern, you can specify a single path pattern. A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

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

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

  • & (using &amp;)

    • (matches 0 or more characters)
  • ? (matches exactly 1 character)

Returns:



757
758
759
760
761
762
763
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 757

class CreateRuleInput < Struct.new(
  :listener_arn,
  :conditions,
  :priority,
  :actions)
  include Aws::Structure
end

#listener_arnString

The Amazon Resource Name (ARN) of the listener.

Returns:

  • (String)


757
758
759
760
761
762
763
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 757

class CreateRuleInput < Struct.new(
  :listener_arn,
  :conditions,
  :priority,
  :actions)
  include Aws::Structure
end

#priorityInteger

The rule priority. A listener can't have multiple rules with the same priority.

Returns:

  • (Integer)


757
758
759
760
761
762
763
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 757

class CreateRuleInput < Struct.new(
  :listener_arn,
  :conditions,
  :priority,
  :actions)
  include Aws::Structure
end