Class: Aws::ElasticLoadBalancingV2::Types::CreateListenerInput

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 CreateListenerInput data as a hash:

{
  load_balancer_arn: "LoadBalancerArn", # required
  protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
  port: 1,
  ssl_policy: "SslPolicyName",
  certificates: [
    {
      certificate_arn: "CertificateArn",
      is_default: false,
    },
  ],
  default_actions: [ # required
    {
      type: "forward", # required, accepts forward, authenticate-oidc, authenticate-cognito, redirect, fixed-response
      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",
        session_cookie_name: "AuthenticateOidcActionSessionCookieName",
        scope: "AuthenticateOidcActionScope",
        session_timeout: 1,
        authentication_request_extra_params: {
          "AuthenticateOidcActionAuthenticationRequestParamName" => "AuthenticateOidcActionAuthenticationRequestParamValue",
        },
        on_unauthenticated_request: "deny", # accepts deny, allow, authenticate
        use_existing_client_secret: false,
      },
      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,
      redirect_config: {
        protocol: "RedirectActionProtocol",
        port: "RedirectActionPort",
        host: "RedirectActionHost",
        path: "RedirectActionPath",
        query: "RedirectActionQuery",
        status_code: "HTTP_301", # required, accepts HTTP_301, HTTP_302
      },
      fixed_response_config: {
        message_body: "FixedResponseActionMessage",
        status_code: "FixedResponseActionStatusCode", # required
        content_type: "FixedResponseActionContentType",
      },
      forward_config: {
        target_groups: [
          {
            target_group_arn: "TargetGroupArn",
            weight: 1,
          },
        ],
        target_group_stickiness_config: {
          enabled: false,
          duration_seconds: 1,
        },
      },
    },
  ],
  alpn_policy: ["AlpnPolicyValue"],
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue",
    },
  ],
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#alpn_policyArray<String>

[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You can specify one policy name. The following are the possible values:

  • HTTP1Only

  • HTTP2Only

  • HTTP2Optional

  • HTTP2Preferred

  • None

For more information, see ALPN policies in the Network Load Balancers Guide.

Returns:

  • (Array<String>)


679
680
681
682
683
684
685
686
687
688
689
690
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 679

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#certificatesArray<Types::Certificate>

[HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. Set CertificateArn to the certificate ARN but do not set IsDefault.

Returns:



679
680
681
682
683
684
685
686
687
688
689
690
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 679

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#default_actionsArray<Types::Action>

The actions for the default rule.

Returns:



679
680
681
682
683
684
685
686
687
688
689
690
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 679

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#load_balancer_arnString

The Amazon Resource Name (ARN) of the load balancer.

Returns:

  • (String)


679
680
681
682
683
684
685
686
687
688
689
690
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 679

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#portInteger

The port on which the load balancer is listening. You cannot specify a port for a Gateway Load Balancer.

Returns:

  • (Integer)


679
680
681
682
683
684
685
686
687
688
689
690
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 679

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#protocolString

The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You cannot specify a protocol for a Gateway Load Balancer.

Returns:

  • (String)


679
680
681
682
683
684
685
686
687
688
689
690
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 679

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#ssl_policyString

[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported.

For more information, see Security policies in the Application Load Balancers Guide and Security policies in the Network Load Balancers Guide.

Returns:

  • (String)


679
680
681
682
683
684
685
686
687
688
689
690
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 679

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#tagsArray<Types::Tag>

The tags to assign to the listener.

Returns:



679
680
681
682
683
684
685
686
687
688
689
690
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 679

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end