UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

283 lines (282 loc) 7.85 kB
/** * What kind of addresses to allocate to the load balancer */ export declare enum IpAddressType { /** * Allocate IPv4 addresses */ IPV4 = "ipv4", /** * Allocate both IPv4 and IPv6 addresses */ DUAL_STACK = "dualstack", /** * IPv6 only public addresses, with private IPv4 and IPv6 addresses */ DUAL_STACK_WITHOUT_PUBLIC_IPV4 = "dualstack-without-public-ipv4" } /** * Backend protocol for network load balancers and health checks */ export declare enum Protocol { /** * HTTP (ALB health checks and NLB health checks) */ HTTP = "HTTP", /** * HTTPS (ALB health checks and NLB health checks) */ HTTPS = "HTTPS", /** * TCP (NLB, NLB health checks) */ TCP = "TCP", /** * TLS (NLB) */ TLS = "TLS", /** * UDP (NLB) */ UDP = "UDP", /** * Listen to both TCP and UDP on the same port (NLB) */ TCP_UDP = "TCP_UDP" } /** * Load balancing protocol for application load balancers */ export declare enum ApplicationProtocol { /** * HTTP */ HTTP = "HTTP", /** * HTTPS */ HTTPS = "HTTPS" } /** * Load balancing protocol version for application load balancers */ export declare enum ApplicationProtocolVersion { /** * GRPC */ GRPC = "GRPC", /** * HTTP1 */ HTTP1 = "HTTP1", /** * HTTP2 */ HTTP2 = "HTTP2" } /** * Elastic Load Balancing provides the following security policies for Application Load Balancers * * We recommend the Recommended policy for general use. You can * use the ForwardSecrecy policy if you require Forward Secrecy * (FS). * * You can use one of the TLS policies to meet compliance and security * standards that require disabling certain TLS protocol versions, or to * support legacy clients that require deprecated ciphers. * * @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html */ export declare enum SslPolicy { /** * The recommended security policy for TLS listeners. * This is the default policy for listeners created using the AWS Management Console * * This policy includes TLS 1.3, and is backwards compatible with TLS 1.2 */ RECOMMENDED_TLS = "ELBSecurityPolicy-TLS13-1-2-2021-06", /** * The recommended policy for http listeners. * This is the default security policy for listeners created using the AWS CLI */ RECOMMENDED = "ELBSecurityPolicy-2016-08", /** * TLS1.2 and 1.3 */ TLS13_RES = "ELBSecurityPolicy-TLS13-1-2-Res-2021-06", /** * TLS1.2 and 1.3 and no SHA ciphers */ TLS13_EXT1 = "ELBSecurityPolicy-TLS13-1-2-Ext1-2021-06", /** * TLS1.2 and 1.3 with all ciphers */ TLS13_EXT2 = "ELBSecurityPolicy-TLS13-1-2-Ext2-2021-06", /** * TLS1.0 through 1.3 with all ciphers */ TLS13_10 = "ELBSecurityPolicy-TLS13-1-0-2021-06", /** * TLS1.1 through 1.3 with all ciphers */ TLS13_11 = "ELBSecurityPolicy-TLS13-1-1-2021-06", /** * TLS1.3 only */ TLS13_13 = "ELBSecurityPolicy-TLS13-1-3-2021-06", /** * TLS 1.3 only with AES 128 and 256 GCM SHA ciphers */ FIPS_TLS13_13 = "ELBSecurityPolicy-TLS13-1-3-FIPS-2023-04", /** * TLS 1.2 and 1.3 with AES and ECDHE GCM/SHA ciphers */ FIPS_TLS13_12_RES = "ELBSecurityPolicy-TLS13-1-2-Res-FIPS-2023-04", /** * TLS 1.2 and 1.3 with ECDHE SHA/GCM ciphers, excluding SHA1 ciphers */ FIPS_TLS13_12 = "ELBSecurityPolicy-TLS13-1-2-FIPS-2023-04", /** * TLS 1.2 and 1.3 with all ECDHE ciphers */ FIPS_TLS13_12_EXT0 = "ELBSecurityPolicy-TLS13-1-2-Ext0-FIPS-2023-04", /** * TLS 1.2 and 1.3 with all AES and ECDHE ciphers excluding SHA1 ciphers */ FIPS_TLS13_12_EXT1 = "ELBSecurityPolicy-TLS13-1-2-Ext1-FIPS-2023-04", /** * TLS 1.2 and 1.3 with all ciphers */ FIPS_TLS13_12_EXT2 = "ELBSecurityPolicy-TLS13-1-2-Ext2-FIPS-2023-04", /** * TLS1.1 through 1.3 with all ciphers */ FIPS_TLS13_11 = "ELBSecurityPolicy-TLS13-1-1-FIPS-2023-04", /** * TLS1.0 through 1.3 with all ciphers */ FIPS_TLS13_10 = "ELBSecurityPolicy-TLS13-1-0-FIPS-2023-04", /** * Strong foward secrecy ciphers and TLV1.2 only (2020 edition). * Same as FORWARD_SECRECY_TLS12_RES, but only supports GCM versions of the TLS ciphers */ FORWARD_SECRECY_TLS12_RES_GCM = "ELBSecurityPolicy-FS-1-2-Res-2020-10", /** * Strong forward secrecy ciphers and TLS1.2 only */ FORWARD_SECRECY_TLS12_RES = "ELBSecurityPolicy-FS-1-2-Res-2019-08", /** * Forward secrecy ciphers and TLS1.2 only */ FORWARD_SECRECY_TLS12 = "ELBSecurityPolicy-FS-1-2-2019-08", /** * Forward secrecy ciphers only with TLS1.1 and 1.2 */ FORWARD_SECRECY_TLS11 = "ELBSecurityPolicy-FS-1-1-2019-08", /** * Forward secrecy ciphers only */ FORWARD_SECRECY = "ELBSecurityPolicy-FS-2018-06", /** * TLS1.2 only and no SHA ciphers */ TLS12 = "ELBSecurityPolicy-TLS-1-2-2017-01", /** * TLS1.2 only with all ciphers */ TLS12_EXT = "ELBSecurityPolicy-TLS-1-2-Ext-2018-06", /** * TLS1.1 and 1.2 with all ciphers */ TLS11 = "ELBSecurityPolicy-TLS-1-1-2017-01", /** * Support for DES-CBC3-SHA * * Do not use this security policy unless you must support a legacy client * that requires the DES-CBC3-SHA cipher, which is a weak cipher. */ LEGACY = "ELBSecurityPolicy-TLS-1-0-2015-04" } /** * How to interpret the load balancing target identifiers */ export declare enum TargetType { /** * Targets identified by instance ID */ INSTANCE = "instance", /** * Targets identified by IP address */ IP = "ip", /** * Target is a single Lambda Function */ LAMBDA = "lambda", /** * Target is a single Application Load Balancer */ ALB = "alb" } /** * Application-Layer Protocol Negotiation Policies for network load balancers. * Which protocols should be used over a secure connection. */ export declare enum AlpnPolicy { /** * Negotiate only HTTP/1.*. The ALPN preference list is http/1.1, http/1.0 */ HTTP1_ONLY = "HTTP1Only", /** * Negotiate only HTTP/2. The ALPN preference list is h2 */ HTTP2_ONLY = "HTTP2Only", /** * Prefer HTTP/1.* over HTTP/2 (which can be useful for HTTP/2 testing). The ALPN preference list is http/1.1, http/1.0, h2 */ HTTP2_OPTIONAL = "HTTP2Optional", /** * Prefer HTTP/2 over HTTP/1.*. The ALPN preference list is h2, http/1.1, http/1.0 */ HTTP2_PREFERRED = "HTTP2Preferred", /** * Do not negotiate ALPN */ NONE = "None" } /** * Load balancing algorithmm type for target groups */ export declare enum TargetGroupLoadBalancingAlgorithmType { /** * round_robin */ ROUND_ROBIN = "round_robin", /** * least_outstanding_requests */ LEAST_OUTSTANDING_REQUESTS = "least_outstanding_requests", /** * weighted_random */ WEIGHTED_RANDOM = "weighted_random" } /** * How the load balancer handles requests that might pose a security risk to your application * * @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#desync-mitigation-mode */ export declare enum DesyncMitigationMode { /** * Allows all traffic */ MONITOR = "monitor", /** * Provides durable mitigation against HTTP desync while maintaining the availability of your application */ DEFENSIVE = "defensive", /** * Receives only requests that comply with RFC 7230 */ STRICTEST = "strictest" }