class Aws::ElasticLoadBalancingV2::Types::ModifyListenerInput

@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"],
    }

@!attribute [rw] listener_arn

The Amazon Resource Name (ARN) of the listener.
@return [String]

@!attribute [rw] port

The port for connections from clients to the load balancer. You
cannot specify a port for a Gateway Load Balancer.
@return [Integer]

@!attribute [rw] protocol

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.
@return [String]

@!attribute [rw] ssl_policy

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

For more information, see [Security policies][1] in the *Application
Load Balancers Guide* or [Security policies][2] in the *Network Load
Balancers Guide*.

[1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies
[2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies
@return [String]

@!attribute [rw] certificates

\[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`.
@return [Array<Types::Certificate>]

@!attribute [rw] default_actions

The actions for the default rule.
@return [Array<Types::Action>]

@!attribute [rw] alpn_policy

\[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][1] in the *Network Load
Balancers Guide*.

[1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
@return [Array<String>]

@see docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListenerInput AWS API Documentation

Constants

SENSITIVE