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

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

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing ModifyListenerInput as input to an Aws::Client method, you can use a vanilla 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"],
}

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

    [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy.

#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:

  • (Array<Types::Certificate>)

    [HTTPS and TLS listeners] The default certificate for the listener.

#default_actionsArray<Types::Action>

The actions for the default rule.

Returns:

#listener_arnString

The Amazon Resource Name (ARN) of the listener.

Returns:

  • (String)

    The Amazon Resource Name (ARN) of the listener.

#portInteger

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

Returns:

  • (Integer)

    The port for connections from clients to the load balancer.

#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.

Possible values:

  • HTTP
  • HTTPS
  • TCP
  • TLS
  • UDP
  • TCP_UDP
  • GENEVE

Returns:

  • (String)

    The protocol for connections from clients to the load balancer.

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

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