Class: Aws::ElasticLoadBalancingV2::Types::ModifyListenerInput

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

{
  listener_arn: "ListenerArn", # required
  port: 1,
  protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
  ssl_policy: "SslPolicyName",
  certificates: [
    {
      certificate_arn: "CertificateArn",
      is_default: false,
    },
  ],
  default_actions: [
    {
      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"],
}

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>)


2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2676

class ModifyListenerInput < Struct.new(
  :listener_arn,
  :port,
  :protocol,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy)
  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:



2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2676

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

#default_actionsArray<Types::Action>

The actions for the default rule.

Returns:



2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2676

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

#listener_arnString

The Amazon Resource Name (ARN) of the listener.

Returns:

  • (String)


2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2676

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

#portInteger

The port for connections from clients to the load balancer. You cannot specify a port for a Gateway Load Balancer.

Returns:

  • (Integer)


2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2676

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

#protocolString

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

Returns:

  • (String)


2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2676

class ModifyListenerInput < Struct.new(
  :listener_arn,
  :port,
  :protocol,
  :ssl_policy,
  :certificates,
  :default_actions,
  :alpn_policy)
  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 or Security policies in the Network Load Balancers Guide.

Returns:

  • (String)


2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2676

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