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


2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2701

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:



2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2701

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:



2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2701

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)


2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2701

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)


2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2701

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)


2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2701

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)


2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
# File 'gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb', line 2701

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