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
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
Namekey is specified in the map, the AWS Console maps the value to theName Tagcolumn value inside theListener Rulestable within a specific load balancer listener page. Otherwise, the value resolves toDefault.
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.