AwsElasticloadbalancingListenerArgs

interface AwsElasticloadbalancingListenerArgs extends Omit<aws.lb.ListenerArgs, 'defaultActions' | 'loadBalancerArn' | 'certificateArn' | 'sslPolicy'> { additionalCertificates?: Record<string, AwsElasticloadbalancingExistingCertificateArgs>; alpnPolicy?: Input<string | undefined>; certificate?: AwsElasticloadbalancingExistingCertificateArgs; defaultActions: AwsElasticloadbalancingActionArgs[]; mutualAuthentication?: Input<ListenerMutualAuthentication | undefined>; port?: Input<number | undefined>; protocol: 'HTTP' | 'HTTPS'; region?: Input<string | undefined>; routingHttpRequestXAmznMtlsClientcertHeaderName?: Input<string | undefined>; routingHttpRequestXAmznMtlsClientcertIssuerHeaderName?: Input<string | undefined>; routingHttpRequestXAmznMtlsClientcertLeafHeaderName?: Input<string | undefined>; routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName?: Input<string | undefined>; routingHttpRequestXAmznMtlsClientcertSubjectHeaderName?: Input<string | undefined>; routingHttpRequestXAmznMtlsClientcertValidityHeaderName?: Input<string | undefined>; routingHttpRequestXAmznTlsCipherSuiteHeaderName?: Input<string | undefined>; routingHttpRequestXAmznTlsVersionHeaderName?: Input<string | undefined>; routingHttpResponseAccessControlAllowCredentialsHeaderValue?: Input<string | undefined>; routingHttpResponseAccessControlAllowHeadersHeaderValue?: Input<string | undefined>; routingHttpResponseAccessControlAllowMethodsHeaderValue?: Input<string | undefined>; routingHttpResponseAccessControlAllowOriginHeaderValue?: Input<string | undefined>; routingHttpResponseAccessControlExposeHeadersHeaderValue?: Input<string | undefined>; routingHttpResponseAccessControlMaxAgeHeaderValue?: Input<string | undefined>; routingHttpResponseContentSecurityPolicyHeaderValue?: Input<string | undefined>; routingHttpResponseServerEnabled?: Input<boolean | undefined>; routingHttpResponseStrictTransportSecurityHeaderValue?: Input<string | undefined>; routingHttpResponseXContentTypeOptionsHeaderValue?: Input<string | undefined>; routingHttpResponseXFrameOptionsHeaderValue?: Input<string | undefined>; rules?: Record<string, AwsElasticloadbalancingListenerRuleArgs>; sslPolicy?: AllowedTlsPolicy; tags?: Input<{ [key: string]: Input<string> } | undefined>; tcpIdleTimeoutSeconds?: Input<number | undefined>; }

Listener input for ALB capability orchestration.

Example

CODE
const listener = {
  port: 443,
  protocol: 'HTTPS',
  certificate: {
    type: 'existing',
    arn: 'arn:aws:acm:eu-west-1:000000000000:certificate/abc123',
  },
  defaultActions: [{ type: 'forward', targetGroup }],
};

Hierarchy

  • ListenerArgs, "defaultActions" | "loadBalancerArn" | "certificateArn" | "sslPolicy">
  • AwsElasticloadbalancingListenerArgs

Properties

additionalCertificates: Record<string, AwsElasticloadbalancingExistingCertificateArgs>

Additional certificates attached to the listener.

alpnPolicy: Input<string | undefined>

Inherited from alpnPolicy

Name of the Application-Layer Protocol Negotiation (ALPN) policy. Can be set if protocol is TLS. Valid values are HTTP1Only, HTTP2Only, HTTP2Optional, HTTP2Preferred, and None.

certificate: AwsElasticloadbalancingExistingCertificateArgs

Default HTTPS certificate. Required for HTTPS listeners.

defaultActions: AwsElasticloadbalancingActionArgs[]

Default listener actions.

mutualAuthentication: Input<ListenerMutualAuthentication | undefined>

Inherited from mutualAuthentication

The mutual authentication configuration information. See below.

port: Input<number | undefined>

Inherited from port

Port on which the load balancer is listening. Not valid for Gateway Load Balancers.

protocol: 'HTTP' | 'HTTPS'

Overrides protocol

Listener protocol.

region: Input<string | undefined>

Inherited from region

Region where this resource will be managed. Defaults to the Region set in the provider configuration.

routingHttpRequestXAmznMtlsClientcertHeaderName: Input<string | undefined>

Inherited from routingHttpRequestXAmznMtlsClientcertHeaderName

Enables you to modify the header name of the X-Amzn-Mtls-Clientcert HTTP request header. Can only be set if protocol is HTTPS for Application Load Balancers.

routingHttpRequestXAmznMtlsClientcertIssuerHeaderName: Input<string | undefined>

Inherited from routingHttpRequestXAmznMtlsClientcertIssuerHeaderName

Enables you to modify the header name of the X-Amzn-Mtls-Clientcert-Issuer HTTP request header. Can only be set if protocol is HTTPS for Application Load Balancers.

routingHttpRequestXAmznMtlsClientcertLeafHeaderName: Input<string | undefined>

Inherited from routingHttpRequestXAmznMtlsClientcertLeafHeaderName

Enables you to modify the header name of the X-Amzn-Mtls-Clientcert-Leaf HTTP request header. Can only be set if protocol is HTTPS for Application Load Balancers.

routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName: Input<string | undefined>

Inherited from routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName

Enables you to modify the header name of the X-Amzn-Mtls-Clientcert-Serial-Number HTTP request header. Can only be set if protocol is HTTPS for Application Load Balancers.

routingHttpRequestXAmznMtlsClientcertSubjectHeaderName: Input<string | undefined>

Inherited from routingHttpRequestXAmznMtlsClientcertSubjectHeaderName

Enables you to modify the header name of the X-Amzn-Mtls-Clientcert-Subject HTTP request header. Can only be set if protocol is HTTPS for Application Load Balancers.

routingHttpRequestXAmznMtlsClientcertValidityHeaderName: Input<string | undefined>

Inherited from routingHttpRequestXAmznMtlsClientcertValidityHeaderName

Enables you to modify the header name of the X-Amzn-Mtls-Clientcert-Validity HTTP request header. Can only be set if protocol is HTTPS for Application Load Balancers.

routingHttpRequestXAmznTlsCipherSuiteHeaderName: Input<string | undefined>

Inherited from routingHttpRequestXAmznTlsCipherSuiteHeaderName

Enables you to modify the header name of the X-Amzn-Tls-Cipher-Suite HTTP request header. Can only be set if protocol is HTTPS for Application Load Balancers.

routingHttpRequestXAmznTlsVersionHeaderName: Input<string | undefined>

Inherited from routingHttpRequestXAmznTlsVersionHeaderName

Enables you to modify the header name of the X-Amzn-Tls-Version HTTP request header. Can only be set if protocol is HTTPS for Application Load Balancers.

routingHttpResponseAccessControlAllowCredentialsHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseAccessControlAllowCredentialsHeaderValue

Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is true.

routingHttpResponseAccessControlAllowHeadersHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseAccessControlAllowHeadersHeaderValue

Specifies which headers can be used during the request. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are *, Accept, Accept-Language, Cache-Control, Content-Language, Content-Length, Content-Type, Expires, Last-Modified, Pragma. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation.

routingHttpResponseAccessControlAllowMethodsHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseAccessControlAllowMethodsHeaderValue

Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are GET, HEAD, POST, DELETE, CONNECT, OPTIONS, TRACE or PATCH.

routingHttpResponseAccessControlAllowOriginHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseAccessControlAllowOriginHeaderValue

Specifies which origins are allowed to access the server. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: https://example.com.

routingHttpResponseAccessControlExposeHeadersHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseAccessControlExposeHeadersHeaderValue

Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are *, Cache-Control, Content-Language, Content-Length, Content-Type, Expires, Last-Modified, or Pragma. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation.

routingHttpResponseAccessControlMaxAgeHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseAccessControlMaxAgeHeaderValue

Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between 0 and 86400. This value is browser specific, consult the Access-Control-Max-Age documentation.

routingHttpResponseContentSecurityPolicyHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseContentSecurityPolicyHeaderValue

Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation.

routingHttpResponseServerEnabled: Input<boolean | undefined>

Inherited from routingHttpResponseServerEnabled

Enables you to allow or remove the HTTP response server header. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are true or false.

routingHttpResponseStrictTransportSecurityHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseStrictTransportSecurityHeaderValue

Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are max-age=31536000; includeSubDomains; preload consult the Strict-Transport-Security documentation for further details.

routingHttpResponseXContentTypeOptionsHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseXContentTypeOptionsHeaderValue

Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is nosniff.

routingHttpResponseXFrameOptionsHeaderValue: Input<string | undefined>

Inherited from routingHttpResponseXFrameOptionsHeaderValue

Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is HTTP or HTTPS for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are DENY, SAMEORIGIN, or ALLOW-FROM https://example.com.

rules: Record<string, AwsElasticloadbalancingListenerRuleArgs>

Optional listener-rule map keyed by deterministic identity strings.

sslPolicy: AllowedTlsPolicy

Secure SSL policy for HTTPS listeners. Defaults to ELBSecurityPolicy-TLS13-1-2-2021-06.

tags: Input<{ [key: string]: Input<string> } | undefined>

Inherited from tags

A map of tags to assign to the resource. .If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Note:: When a Name key is specified in the map, the AWS Console maps the value to the Name Tag column value inside the Listener Rules table within a specific load balancer listener page. Otherwise, the value resolves to Default.

tcpIdleTimeoutSeconds: Input<number | undefined>

Inherited from tcpIdleTimeoutSeconds

TCP idle timeout value in seconds. Can only be set if protocol is TCP on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between 60 and 6000 inclusive. Default: 350.