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

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", # required, accepts HTTP, HTTPS, TCP
  port: 1, # required
  ssl_policy: "SslPolicyName",
  certificates: [
    {
      certificate_arn: "CertificateArn",
      is_default: false,
    },
  ],
  default_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

#certificatesArray<Types::Certificate>

[HTTPS listeners] The default SSL server certificate. You must provide exactly one certificate. To create a certificate list, use AddListenerCertificates.

Returns:



508
509
510
511
512
513
514
515
516
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 508

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions)
  include Aws::Structure
end

#default_actionsArray<Types::Action>

The actions for the default rule. The rule must include one forward action.

If the action type is forward, you can specify a single target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer or TCP for a Network Load Balancer.

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:



508
509
510
511
512
513
514
515
516
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 508

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions)
  include Aws::Structure
end

#load_balancer_arnString

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

Returns:

  • (String)


508
509
510
511
512
513
514
515
516
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 508

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions)
  include Aws::Structure
end

#portInteger

The port on which the load balancer is listening.

Returns:

  • (Integer)


508
509
510
511
512
513
514
515
516
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 508

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions)
  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 protocol is TCP.

Returns:

  • (String)


508
509
510
511
512
513
514
515
516
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 508

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions)
  include Aws::Structure
end

#ssl_policyString

[HTTPS listeners] The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

Returns:

  • (String)


508
509
510
511
512
513
514
515
516
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 508

class CreateListenerInput < Struct.new(
  :load_balancer_arn,
  :protocol,
  :port,
  :ssl_policy,
  :certificates,
  :default_actions)
  include Aws::Structure
end