aws-cdk-lib 2.189.1__py3-none-any.whl → 2.190.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.189.1.jsii.tgz → aws-cdk-lib@2.190.0.jsii.tgz} +0 -0
- aws_cdk/aws_acmpca/__init__.py +6 -6
- aws_cdk/aws_apigatewayv2/__init__.py +374 -6
- aws_cdk/aws_applicationautoscaling/__init__.py +16 -10
- aws_cdk/aws_applicationsignals/__init__.py +204 -31
- aws_cdk/aws_backup/__init__.py +0 -41
- aws_cdk/aws_batch/__init__.py +215 -0
- aws_cdk/aws_bedrock/__init__.py +287 -0
- aws_cdk/aws_cleanrooms/__init__.py +1392 -78
- aws_cdk/aws_cloudfront/__init__.py +1 -0
- aws_cdk/aws_cloudtrail/__init__.py +24 -26
- aws_cdk/aws_codebuild/__init__.py +59 -7
- aws_cdk/aws_dms/__init__.py +43 -0
- aws_cdk/aws_ec2/__init__.py +364 -30
- aws_cdk/aws_ecs/__init__.py +36 -5
- aws_cdk/aws_eks/__init__.py +2 -100
- aws_cdk/aws_elasticache/__init__.py +6 -11
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +341 -0
- aws_cdk/aws_events/__init__.py +67 -13
- aws_cdk/aws_fsx/__init__.py +9 -21
- aws_cdk/aws_iam/__init__.py +1 -1
- aws_cdk/aws_iot/__init__.py +6 -6
- aws_cdk/aws_kafkaconnect/__init__.py +2 -2
- aws_cdk/aws_kinesis/__init__.py +44 -0
- aws_cdk/aws_lex/__init__.py +615 -39
- aws_cdk/aws_location/__init__.py +4 -4
- aws_cdk/aws_macie/__init__.py +14 -3
- aws_cdk/aws_memorydb/__init__.py +87 -0
- aws_cdk/aws_msk/__init__.py +226 -127
- aws_cdk/aws_neptune/__init__.py +0 -8
- aws_cdk/aws_opensearchservice/__init__.py +64 -56
- aws_cdk/aws_paymentcryptography/__init__.py +41 -0
- aws_cdk/aws_qbusiness/__init__.py +175 -3
- aws_cdk/aws_quicksight/__init__.py +393 -0
- aws_cdk/aws_rds/__init__.py +113 -120
- aws_cdk/aws_redshiftserverless/__init__.py +4 -14
- aws_cdk/aws_route53resolver/__init__.py +60 -9
- aws_cdk/aws_s3/__init__.py +34 -1
- aws_cdk/aws_s3_deployment/__init__.py +202 -5
- aws_cdk/aws_sagemaker/__init__.py +40 -40
- aws_cdk/aws_ssmquicksetup/__init__.py +3 -3
- aws_cdk/aws_stepfunctions/__init__.py +720 -45
- aws_cdk/aws_transfer/__init__.py +55 -2
- aws_cdk/pipelines/__init__.py +1 -2
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.190.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.190.0.dist-info}/RECORD +51 -51
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.190.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.190.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.190.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.190.0.dist-info}/top_level.txt +0 -0
|
@@ -433,6 +433,77 @@ listener = lb.add_listener("Listener",
|
|
|
433
433
|
)
|
|
434
434
|
```
|
|
435
435
|
|
|
436
|
+
### Configuring a subnet information for a Network Load Balancer
|
|
437
|
+
|
|
438
|
+
You can specify the subnets for a Network Load Balancer easily by setting the `vpcSubnets` property.
|
|
439
|
+
|
|
440
|
+
```python
|
|
441
|
+
# vpc: ec2.Vpc
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
445
|
+
vpc=vpc,
|
|
446
|
+
vpc_subnets=ec2.SubnetSelection(
|
|
447
|
+
subnet_type=ec2.SubnetType.PRIVATE
|
|
448
|
+
)
|
|
449
|
+
)
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
If you want to configure detailed information about the subnets, you can use the `subnetMappings` property as follows:
|
|
453
|
+
|
|
454
|
+
```python
|
|
455
|
+
# vpc: ec2.IVpc
|
|
456
|
+
# dualstack_vpc: ec2.IVpc
|
|
457
|
+
# subnet: ec2.ISubnet
|
|
458
|
+
# dualstack_subnet: ec2.ISubnet
|
|
459
|
+
# cfn_eip: ec2.CfnEIP
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
# Internet facing Network Load Balancer with an Elastic IPv4 address
|
|
463
|
+
elbv2.NetworkLoadBalancer(self, "InternetFacingLb",
|
|
464
|
+
vpc=vpc,
|
|
465
|
+
internet_facing=True,
|
|
466
|
+
subnet_mappings=[elbv2.SubnetMapping(
|
|
467
|
+
subnet=subnet,
|
|
468
|
+
# The allocation ID of the Elastic IP address
|
|
469
|
+
allocation_id=cfn_eip.attr_allocation_id
|
|
470
|
+
)
|
|
471
|
+
]
|
|
472
|
+
)
|
|
473
|
+
|
|
474
|
+
# Internal Network Load Balancer with a private IPv4 address
|
|
475
|
+
elbv2.NetworkLoadBalancer(self, "InternalLb",
|
|
476
|
+
vpc=vpc,
|
|
477
|
+
internet_facing=False,
|
|
478
|
+
subnet_mappings=[elbv2.SubnetMapping(
|
|
479
|
+
subnet=subnet,
|
|
480
|
+
# The private IPv4 address from the subnet
|
|
481
|
+
# The address must be in the subnet's CIDR range and
|
|
482
|
+
# can not be configured for a internet facing Network Load Balancer.
|
|
483
|
+
private_ipv4_address="10.0.12.29"
|
|
484
|
+
)
|
|
485
|
+
]
|
|
486
|
+
)
|
|
487
|
+
|
|
488
|
+
# Dualstack Network Load Balancer with an IPv6 address and prefix for source NAT
|
|
489
|
+
elbv2.NetworkLoadBalancer(self, "DualstackLb",
|
|
490
|
+
vpc=dualstack_vpc,
|
|
491
|
+
# Configure the dualstack Network Load Balancer
|
|
492
|
+
ip_address_type=elbv2.IpAddressType.DUAL_STACK,
|
|
493
|
+
enable_prefix_for_ipv6_source_nat=True,
|
|
494
|
+
subnet_mappings=[elbv2.SubnetMapping(
|
|
495
|
+
subnet=dualstack_subnet,
|
|
496
|
+
# The IPv6 address from the subnet
|
|
497
|
+
# `ipAddresstype` must be `DUAL_STACK` or `DUAL_STACK_WITHOUT_PUBLIC_IPV4` to set the IPv6 address.
|
|
498
|
+
ipv6_address="2001:db8:1234:1a00::10",
|
|
499
|
+
# The IPv6 prefix to use for source NAT
|
|
500
|
+
# `enablePrefixForIpv6SourceNat` must be `true` to set `sourceNatIpv6Prefix`.
|
|
501
|
+
source_nat_ipv6_prefix=elbv2.SourceNatIpv6Prefix.auto_assigned()
|
|
502
|
+
)
|
|
503
|
+
]
|
|
504
|
+
)
|
|
505
|
+
```
|
|
506
|
+
|
|
436
507
|
### Network Load Balancer attributes
|
|
437
508
|
|
|
438
509
|
You can modify attributes of Network Load Balancers:
|
|
@@ -1140,6 +1211,7 @@ from ..aws_ec2 import (
|
|
|
1140
1211
|
Connections as _Connections_0f31fce8,
|
|
1141
1212
|
IConnectable as _IConnectable_10015a05,
|
|
1142
1213
|
ISecurityGroup as _ISecurityGroup_acf8a799,
|
|
1214
|
+
ISubnet as _ISubnet_d57d1229,
|
|
1143
1215
|
IVpc as _IVpc_f30d5663,
|
|
1144
1216
|
IVpcEndpointServiceLoadBalancer as _IVpcEndpointServiceLoadBalancer_34cbc6e3,
|
|
1145
1217
|
Port as _Port_85922693,
|
|
@@ -17373,6 +17445,7 @@ class NetworkLoadBalancer(
|
|
|
17373
17445
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
17374
17446
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
17375
17447
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
17448
|
+
subnet_mappings: typing.Optional[typing.Sequence[typing.Union["SubnetMapping", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
17376
17449
|
zonal_shift: typing.Optional[builtins.bool] = None,
|
|
17377
17450
|
vpc: _IVpc_f30d5663,
|
|
17378
17451
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -17391,6 +17464,7 @@ class NetworkLoadBalancer(
|
|
|
17391
17464
|
:param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink. Default: true
|
|
17392
17465
|
:param ip_address_type: The type of IP addresses to use. If you want to add a UDP or TCP_UDP listener to the load balancer, you must choose IPv4. Default: IpAddressType.IPV4
|
|
17393
17466
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
17467
|
+
:param subnet_mappings: Subnet information for the load balancer. Default: undefined - The VPC default strategy for subnets is used
|
|
17394
17468
|
:param zonal_shift: Indicates whether zonal shift is enabled. Default: false
|
|
17395
17469
|
:param vpc: The VPC network to place the load balancer in.
|
|
17396
17470
|
:param cross_zone_enabled: Indicates whether cross-zone load balancing is enabled. Default: - false for Network Load Balancers and true for Application Load Balancers. This can not be ``false`` for Application Load Balancers.
|
|
@@ -17411,6 +17485,7 @@ class NetworkLoadBalancer(
|
|
|
17411
17485
|
enforce_security_group_inbound_rules_on_private_link_traffic=enforce_security_group_inbound_rules_on_private_link_traffic,
|
|
17412
17486
|
ip_address_type=ip_address_type,
|
|
17413
17487
|
security_groups=security_groups,
|
|
17488
|
+
subnet_mappings=subnet_mappings,
|
|
17414
17489
|
zonal_shift=zonal_shift,
|
|
17415
17490
|
vpc=vpc,
|
|
17416
17491
|
cross_zone_enabled=cross_zone_enabled,
|
|
@@ -18214,6 +18289,7 @@ class NetworkLoadBalancerLookupOptions(BaseLoadBalancerLookupOptions):
|
|
|
18214
18289
|
"enforce_security_group_inbound_rules_on_private_link_traffic": "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
|
|
18215
18290
|
"ip_address_type": "ipAddressType",
|
|
18216
18291
|
"security_groups": "securityGroups",
|
|
18292
|
+
"subnet_mappings": "subnetMappings",
|
|
18217
18293
|
"zonal_shift": "zonalShift",
|
|
18218
18294
|
},
|
|
18219
18295
|
)
|
|
@@ -18234,6 +18310,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18234
18310
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
18235
18311
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
18236
18312
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
18313
|
+
subnet_mappings: typing.Optional[typing.Sequence[typing.Union["SubnetMapping", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
18237
18314
|
zonal_shift: typing.Optional[builtins.bool] = None,
|
|
18238
18315
|
) -> None:
|
|
18239
18316
|
'''Properties for a network load balancer.
|
|
@@ -18251,6 +18328,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18251
18328
|
:param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink. Default: true
|
|
18252
18329
|
:param ip_address_type: The type of IP addresses to use. If you want to add a UDP or TCP_UDP listener to the load balancer, you must choose IPv4. Default: IpAddressType.IPV4
|
|
18253
18330
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
18331
|
+
:param subnet_mappings: Subnet information for the load balancer. Default: undefined - The VPC default strategy for subnets is used
|
|
18254
18332
|
:param zonal_shift: Indicates whether zonal shift is enabled. Default: false
|
|
18255
18333
|
|
|
18256
18334
|
:exampleMetadata: infused
|
|
@@ -18288,6 +18366,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18288
18366
|
check_type(argname="argument enforce_security_group_inbound_rules_on_private_link_traffic", value=enforce_security_group_inbound_rules_on_private_link_traffic, expected_type=type_hints["enforce_security_group_inbound_rules_on_private_link_traffic"])
|
|
18289
18367
|
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
18290
18368
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
18369
|
+
check_type(argname="argument subnet_mappings", value=subnet_mappings, expected_type=type_hints["subnet_mappings"])
|
|
18291
18370
|
check_type(argname="argument zonal_shift", value=zonal_shift, expected_type=type_hints["zonal_shift"])
|
|
18292
18371
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
18293
18372
|
"vpc": vpc,
|
|
@@ -18316,6 +18395,8 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18316
18395
|
self._values["ip_address_type"] = ip_address_type
|
|
18317
18396
|
if security_groups is not None:
|
|
18318
18397
|
self._values["security_groups"] = security_groups
|
|
18398
|
+
if subnet_mappings is not None:
|
|
18399
|
+
self._values["subnet_mappings"] = subnet_mappings
|
|
18319
18400
|
if zonal_shift is not None:
|
|
18320
18401
|
self._values["zonal_shift"] = zonal_shift
|
|
18321
18402
|
|
|
@@ -18450,6 +18531,15 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
18450
18531
|
result = self._values.get("security_groups")
|
|
18451
18532
|
return typing.cast(typing.Optional[typing.List[_ISecurityGroup_acf8a799]], result)
|
|
18452
18533
|
|
|
18534
|
+
@builtins.property
|
|
18535
|
+
def subnet_mappings(self) -> typing.Optional[typing.List["SubnetMapping"]]:
|
|
18536
|
+
'''Subnet information for the load balancer.
|
|
18537
|
+
|
|
18538
|
+
:default: undefined - The VPC default strategy for subnets is used
|
|
18539
|
+
'''
|
|
18540
|
+
result = self._values.get("subnet_mappings")
|
|
18541
|
+
return typing.cast(typing.Optional[typing.List["SubnetMapping"]], result)
|
|
18542
|
+
|
|
18453
18543
|
@builtins.property
|
|
18454
18544
|
def zonal_shift(self) -> typing.Optional[builtins.bool]:
|
|
18455
18545
|
'''Indicates whether zonal shift is enabled.
|
|
@@ -19234,6 +19324,102 @@ class RevocationType(enum.Enum):
|
|
|
19234
19324
|
'''A signed list of revoked certificates.'''
|
|
19235
19325
|
|
|
19236
19326
|
|
|
19327
|
+
class SourceNatIpv6Prefix(
|
|
19328
|
+
metaclass=jsii.JSIIMeta,
|
|
19329
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.SourceNatIpv6Prefix",
|
|
19330
|
+
):
|
|
19331
|
+
'''The prefix to use for source NAT for a dual-stack network load balancer with UDP listeners.
|
|
19332
|
+
|
|
19333
|
+
:exampleMetadata: infused
|
|
19334
|
+
|
|
19335
|
+
Example::
|
|
19336
|
+
|
|
19337
|
+
# vpc: ec2.IVpc
|
|
19338
|
+
# dualstack_vpc: ec2.IVpc
|
|
19339
|
+
# subnet: ec2.ISubnet
|
|
19340
|
+
# dualstack_subnet: ec2.ISubnet
|
|
19341
|
+
# cfn_eip: ec2.CfnEIP
|
|
19342
|
+
|
|
19343
|
+
|
|
19344
|
+
# Internet facing Network Load Balancer with an Elastic IPv4 address
|
|
19345
|
+
elbv2.NetworkLoadBalancer(self, "InternetFacingLb",
|
|
19346
|
+
vpc=vpc,
|
|
19347
|
+
internet_facing=True,
|
|
19348
|
+
subnet_mappings=[elbv2.SubnetMapping(
|
|
19349
|
+
subnet=subnet,
|
|
19350
|
+
# The allocation ID of the Elastic IP address
|
|
19351
|
+
allocation_id=cfn_eip.attr_allocation_id
|
|
19352
|
+
)
|
|
19353
|
+
]
|
|
19354
|
+
)
|
|
19355
|
+
|
|
19356
|
+
# Internal Network Load Balancer with a private IPv4 address
|
|
19357
|
+
elbv2.NetworkLoadBalancer(self, "InternalLb",
|
|
19358
|
+
vpc=vpc,
|
|
19359
|
+
internet_facing=False,
|
|
19360
|
+
subnet_mappings=[elbv2.SubnetMapping(
|
|
19361
|
+
subnet=subnet,
|
|
19362
|
+
# The private IPv4 address from the subnet
|
|
19363
|
+
# The address must be in the subnet's CIDR range and
|
|
19364
|
+
# can not be configured for a internet facing Network Load Balancer.
|
|
19365
|
+
private_ipv4_address="10.0.12.29"
|
|
19366
|
+
)
|
|
19367
|
+
]
|
|
19368
|
+
)
|
|
19369
|
+
|
|
19370
|
+
# Dualstack Network Load Balancer with an IPv6 address and prefix for source NAT
|
|
19371
|
+
elbv2.NetworkLoadBalancer(self, "DualstackLb",
|
|
19372
|
+
vpc=dualstack_vpc,
|
|
19373
|
+
# Configure the dualstack Network Load Balancer
|
|
19374
|
+
ip_address_type=elbv2.IpAddressType.DUAL_STACK,
|
|
19375
|
+
enable_prefix_for_ipv6_source_nat=True,
|
|
19376
|
+
subnet_mappings=[elbv2.SubnetMapping(
|
|
19377
|
+
subnet=dualstack_subnet,
|
|
19378
|
+
# The IPv6 address from the subnet
|
|
19379
|
+
# `ipAddresstype` must be `DUAL_STACK` or `DUAL_STACK_WITHOUT_PUBLIC_IPV4` to set the IPv6 address.
|
|
19380
|
+
ipv6_address="2001:db8:1234:1a00::10",
|
|
19381
|
+
# The IPv6 prefix to use for source NAT
|
|
19382
|
+
# `enablePrefixForIpv6SourceNat` must be `true` to set `sourceNatIpv6Prefix`.
|
|
19383
|
+
source_nat_ipv6_prefix=elbv2.SourceNatIpv6Prefix.auto_assigned()
|
|
19384
|
+
)
|
|
19385
|
+
]
|
|
19386
|
+
)
|
|
19387
|
+
'''
|
|
19388
|
+
|
|
19389
|
+
def __init__(self, prefix: builtins.str) -> None:
|
|
19390
|
+
'''
|
|
19391
|
+
:param prefix: The IPv6 prefix.
|
|
19392
|
+
'''
|
|
19393
|
+
if __debug__:
|
|
19394
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8d55714f5f91498510c90c4dda1351b8a7df895b813a9a7497de8b105f014317)
|
|
19395
|
+
check_type(argname="argument prefix", value=prefix, expected_type=type_hints["prefix"])
|
|
19396
|
+
jsii.create(self.__class__, self, [prefix])
|
|
19397
|
+
|
|
19398
|
+
@jsii.member(jsii_name="autoAssigned")
|
|
19399
|
+
@builtins.classmethod
|
|
19400
|
+
def auto_assigned(cls) -> "SourceNatIpv6Prefix":
|
|
19401
|
+
'''Use an automatically assigned IPv6 prefix.'''
|
|
19402
|
+
return typing.cast("SourceNatIpv6Prefix", jsii.sinvoke(cls, "autoAssigned", []))
|
|
19403
|
+
|
|
19404
|
+
@jsii.member(jsii_name="fromIpv6Prefix")
|
|
19405
|
+
@builtins.classmethod
|
|
19406
|
+
def from_ipv6_prefix(cls, prefix: builtins.str) -> "SourceNatIpv6Prefix":
|
|
19407
|
+
'''Use a custom IPv6 prefix with /80 netmask.
|
|
19408
|
+
|
|
19409
|
+
:param prefix: The IPv6 prefix.
|
|
19410
|
+
'''
|
|
19411
|
+
if __debug__:
|
|
19412
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7931008bfd4762535b77272b55f89bbaa4ed5fceb99b2c3a2e557b0f4bc30a4f)
|
|
19413
|
+
check_type(argname="argument prefix", value=prefix, expected_type=type_hints["prefix"])
|
|
19414
|
+
return typing.cast("SourceNatIpv6Prefix", jsii.sinvoke(cls, "fromIpv6Prefix", [prefix]))
|
|
19415
|
+
|
|
19416
|
+
@builtins.property
|
|
19417
|
+
@jsii.member(jsii_name="prefix")
|
|
19418
|
+
def prefix(self) -> builtins.str:
|
|
19419
|
+
'''The IPv6 prefix.'''
|
|
19420
|
+
return typing.cast(builtins.str, jsii.get(self, "prefix"))
|
|
19421
|
+
|
|
19422
|
+
|
|
19237
19423
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.SslPolicy")
|
|
19238
19424
|
class SslPolicy(enum.Enum):
|
|
19239
19425
|
'''Elastic Load Balancing provides the following security policies for Application Load Balancers.
|
|
@@ -19374,6 +19560,134 @@ class SslPolicy(enum.Enum):
|
|
|
19374
19560
|
'''
|
|
19375
19561
|
|
|
19376
19562
|
|
|
19563
|
+
@jsii.data_type(
|
|
19564
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.SubnetMapping",
|
|
19565
|
+
jsii_struct_bases=[],
|
|
19566
|
+
name_mapping={
|
|
19567
|
+
"subnet": "subnet",
|
|
19568
|
+
"allocation_id": "allocationId",
|
|
19569
|
+
"ipv6_address": "ipv6Address",
|
|
19570
|
+
"private_ipv4_address": "privateIpv4Address",
|
|
19571
|
+
"source_nat_ipv6_prefix": "sourceNatIpv6Prefix",
|
|
19572
|
+
},
|
|
19573
|
+
)
|
|
19574
|
+
class SubnetMapping:
|
|
19575
|
+
def __init__(
|
|
19576
|
+
self,
|
|
19577
|
+
*,
|
|
19578
|
+
subnet: _ISubnet_d57d1229,
|
|
19579
|
+
allocation_id: typing.Optional[builtins.str] = None,
|
|
19580
|
+
ipv6_address: typing.Optional[builtins.str] = None,
|
|
19581
|
+
private_ipv4_address: typing.Optional[builtins.str] = None,
|
|
19582
|
+
source_nat_ipv6_prefix: typing.Optional[SourceNatIpv6Prefix] = None,
|
|
19583
|
+
) -> None:
|
|
19584
|
+
'''Specifies a subnet for a load balancer.
|
|
19585
|
+
|
|
19586
|
+
:param subnet: The subnet.
|
|
19587
|
+
:param allocation_id: The allocation ID of the Elastic IP address for an internet-facing load balancer. Default: undefined - AWS default is to allocate a new IP address for internet-facing load balancers
|
|
19588
|
+
:param ipv6_address: The IPv6 address. Default: undefined - AWS default is to allocate an IPv6 address from the subnet's pool
|
|
19589
|
+
:param private_ipv4_address: The private IPv4 address for an internal load balancer. Default: undefined - AWS default is to allocate a private IPv4 address from the subnet's pool
|
|
19590
|
+
:param source_nat_ipv6_prefix: The IPv6 prefix to use for source NAT for a dual-stack network load balancer with UDP listeners. Specify an IPv6 prefix (/80 netmask) from the subnet CIDR block or ``SourceNatIpv6Prefix.autoAssigned()`` to use an IPv6 prefix selected at random from the subnet CIDR block. Default: undefined - AWS default is ``SourceNatIpv6Prefix.autoAssigned()`` for IPv6 load balancers
|
|
19591
|
+
|
|
19592
|
+
:exampleMetadata: fixture=_generated
|
|
19593
|
+
|
|
19594
|
+
Example::
|
|
19595
|
+
|
|
19596
|
+
# The code below shows an example of how to instantiate this type.
|
|
19597
|
+
# The values are placeholders you should change.
|
|
19598
|
+
from aws_cdk import aws_ec2 as ec2
|
|
19599
|
+
from aws_cdk import aws_elasticloadbalancingv2 as elbv2
|
|
19600
|
+
|
|
19601
|
+
# source_nat_ipv6_prefix: elbv2.SourceNatIpv6Prefix
|
|
19602
|
+
# subnet: ec2.Subnet
|
|
19603
|
+
|
|
19604
|
+
subnet_mapping = elbv2.SubnetMapping(
|
|
19605
|
+
subnet=subnet,
|
|
19606
|
+
|
|
19607
|
+
# the properties below are optional
|
|
19608
|
+
allocation_id="allocationId",
|
|
19609
|
+
ipv6_address="ipv6Address",
|
|
19610
|
+
private_ipv4_address="privateIpv4Address",
|
|
19611
|
+
source_nat_ipv6_prefix=source_nat_ipv6_prefix
|
|
19612
|
+
)
|
|
19613
|
+
'''
|
|
19614
|
+
if __debug__:
|
|
19615
|
+
type_hints = typing.get_type_hints(_typecheckingstub__54c4b71e184eedb0fbc0e4df901ecb043d8b11ba2ec0429907b6acd6ced55e82)
|
|
19616
|
+
check_type(argname="argument subnet", value=subnet, expected_type=type_hints["subnet"])
|
|
19617
|
+
check_type(argname="argument allocation_id", value=allocation_id, expected_type=type_hints["allocation_id"])
|
|
19618
|
+
check_type(argname="argument ipv6_address", value=ipv6_address, expected_type=type_hints["ipv6_address"])
|
|
19619
|
+
check_type(argname="argument private_ipv4_address", value=private_ipv4_address, expected_type=type_hints["private_ipv4_address"])
|
|
19620
|
+
check_type(argname="argument source_nat_ipv6_prefix", value=source_nat_ipv6_prefix, expected_type=type_hints["source_nat_ipv6_prefix"])
|
|
19621
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
19622
|
+
"subnet": subnet,
|
|
19623
|
+
}
|
|
19624
|
+
if allocation_id is not None:
|
|
19625
|
+
self._values["allocation_id"] = allocation_id
|
|
19626
|
+
if ipv6_address is not None:
|
|
19627
|
+
self._values["ipv6_address"] = ipv6_address
|
|
19628
|
+
if private_ipv4_address is not None:
|
|
19629
|
+
self._values["private_ipv4_address"] = private_ipv4_address
|
|
19630
|
+
if source_nat_ipv6_prefix is not None:
|
|
19631
|
+
self._values["source_nat_ipv6_prefix"] = source_nat_ipv6_prefix
|
|
19632
|
+
|
|
19633
|
+
@builtins.property
|
|
19634
|
+
def subnet(self) -> _ISubnet_d57d1229:
|
|
19635
|
+
'''The subnet.'''
|
|
19636
|
+
result = self._values.get("subnet")
|
|
19637
|
+
assert result is not None, "Required property 'subnet' is missing"
|
|
19638
|
+
return typing.cast(_ISubnet_d57d1229, result)
|
|
19639
|
+
|
|
19640
|
+
@builtins.property
|
|
19641
|
+
def allocation_id(self) -> typing.Optional[builtins.str]:
|
|
19642
|
+
'''The allocation ID of the Elastic IP address for an internet-facing load balancer.
|
|
19643
|
+
|
|
19644
|
+
:default: undefined - AWS default is to allocate a new IP address for internet-facing load balancers
|
|
19645
|
+
'''
|
|
19646
|
+
result = self._values.get("allocation_id")
|
|
19647
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
19648
|
+
|
|
19649
|
+
@builtins.property
|
|
19650
|
+
def ipv6_address(self) -> typing.Optional[builtins.str]:
|
|
19651
|
+
'''The IPv6 address.
|
|
19652
|
+
|
|
19653
|
+
:default: undefined - AWS default is to allocate an IPv6 address from the subnet's pool
|
|
19654
|
+
'''
|
|
19655
|
+
result = self._values.get("ipv6_address")
|
|
19656
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
19657
|
+
|
|
19658
|
+
@builtins.property
|
|
19659
|
+
def private_ipv4_address(self) -> typing.Optional[builtins.str]:
|
|
19660
|
+
'''The private IPv4 address for an internal load balancer.
|
|
19661
|
+
|
|
19662
|
+
:default: undefined - AWS default is to allocate a private IPv4 address from the subnet's pool
|
|
19663
|
+
'''
|
|
19664
|
+
result = self._values.get("private_ipv4_address")
|
|
19665
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
19666
|
+
|
|
19667
|
+
@builtins.property
|
|
19668
|
+
def source_nat_ipv6_prefix(self) -> typing.Optional[SourceNatIpv6Prefix]:
|
|
19669
|
+
'''The IPv6 prefix to use for source NAT for a dual-stack network load balancer with UDP listeners.
|
|
19670
|
+
|
|
19671
|
+
Specify an IPv6 prefix (/80 netmask) from the subnet CIDR block
|
|
19672
|
+
or ``SourceNatIpv6Prefix.autoAssigned()`` to use an IPv6 prefix selected at random from the subnet CIDR block.
|
|
19673
|
+
|
|
19674
|
+
:default: undefined - AWS default is ``SourceNatIpv6Prefix.autoAssigned()`` for IPv6 load balancers
|
|
19675
|
+
'''
|
|
19676
|
+
result = self._values.get("source_nat_ipv6_prefix")
|
|
19677
|
+
return typing.cast(typing.Optional[SourceNatIpv6Prefix], result)
|
|
19678
|
+
|
|
19679
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
19680
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
19681
|
+
|
|
19682
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
19683
|
+
return not (rhs == self)
|
|
19684
|
+
|
|
19685
|
+
def __repr__(self) -> str:
|
|
19686
|
+
return "SubnetMapping(%s)" % ", ".join(
|
|
19687
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
19688
|
+
)
|
|
19689
|
+
|
|
19690
|
+
|
|
19377
19691
|
@jsii.data_type(
|
|
19378
19692
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupAttributes",
|
|
19379
19693
|
jsii_struct_bases=[],
|
|
@@ -26051,7 +26365,9 @@ __all__ = [
|
|
|
26051
26365
|
"RedirectOptions",
|
|
26052
26366
|
"RevocationContent",
|
|
26053
26367
|
"RevocationType",
|
|
26368
|
+
"SourceNatIpv6Prefix",
|
|
26054
26369
|
"SslPolicy",
|
|
26370
|
+
"SubnetMapping",
|
|
26055
26371
|
"TargetGroupAttributes",
|
|
26056
26372
|
"TargetGroupBase",
|
|
26057
26373
|
"TargetGroupIpAddressType",
|
|
@@ -27639,6 +27955,7 @@ def _typecheckingstub__e1c7a4c1332bdc807d1e25aa5d69eea6e1f3bf6a88ddd30dac9a64c93
|
|
|
27639
27955
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
27640
27956
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
27641
27957
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
27958
|
+
subnet_mappings: typing.Optional[typing.Sequence[typing.Union[SubnetMapping, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
27642
27959
|
zonal_shift: typing.Optional[builtins.bool] = None,
|
|
27643
27960
|
vpc: _IVpc_f30d5663,
|
|
27644
27961
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
@@ -27747,6 +28064,7 @@ def _typecheckingstub__195ab659ca9cd1c401d6d2d1a1f5cb0aaf7dd80f06dbc724020ac0cc3
|
|
|
27747
28064
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
27748
28065
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
27749
28066
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
28067
|
+
subnet_mappings: typing.Optional[typing.Sequence[typing.Union[SubnetMapping, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
27750
28068
|
zonal_shift: typing.Optional[builtins.bool] = None,
|
|
27751
28069
|
) -> None:
|
|
27752
28070
|
"""Type checking stubs"""
|
|
@@ -27809,6 +28127,29 @@ def _typecheckingstub__a2d98c0c87c9335126a85af9c46b02ccfdb480d04d96fb422b8f62f17
|
|
|
27809
28127
|
"""Type checking stubs"""
|
|
27810
28128
|
pass
|
|
27811
28129
|
|
|
28130
|
+
def _typecheckingstub__8d55714f5f91498510c90c4dda1351b8a7df895b813a9a7497de8b105f014317(
|
|
28131
|
+
prefix: builtins.str,
|
|
28132
|
+
) -> None:
|
|
28133
|
+
"""Type checking stubs"""
|
|
28134
|
+
pass
|
|
28135
|
+
|
|
28136
|
+
def _typecheckingstub__7931008bfd4762535b77272b55f89bbaa4ed5fceb99b2c3a2e557b0f4bc30a4f(
|
|
28137
|
+
prefix: builtins.str,
|
|
28138
|
+
) -> None:
|
|
28139
|
+
"""Type checking stubs"""
|
|
28140
|
+
pass
|
|
28141
|
+
|
|
28142
|
+
def _typecheckingstub__54c4b71e184eedb0fbc0e4df901ecb043d8b11ba2ec0429907b6acd6ced55e82(
|
|
28143
|
+
*,
|
|
28144
|
+
subnet: _ISubnet_d57d1229,
|
|
28145
|
+
allocation_id: typing.Optional[builtins.str] = None,
|
|
28146
|
+
ipv6_address: typing.Optional[builtins.str] = None,
|
|
28147
|
+
private_ipv4_address: typing.Optional[builtins.str] = None,
|
|
28148
|
+
source_nat_ipv6_prefix: typing.Optional[SourceNatIpv6Prefix] = None,
|
|
28149
|
+
) -> None:
|
|
28150
|
+
"""Type checking stubs"""
|
|
28151
|
+
pass
|
|
28152
|
+
|
|
27812
28153
|
def _typecheckingstub__37df8dc72952ae228e1a00919ab4c7fcae58e15f47e4e6bc9c1dfdb923d23dcd(
|
|
27813
28154
|
*,
|
|
27814
28155
|
target_group_arn: builtins.str,
|