aws-cdk-lib 2.173.4__py3-none-any.whl → 2.174.1__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.

Files changed (91) hide show
  1. aws_cdk/__init__.py +210 -181
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.173.4.jsii.tgz → aws-cdk-lib@2.174.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +18 -0
  5. aws_cdk/aws_apigateway/__init__.py +127 -168
  6. aws_cdk/aws_appconfig/__init__.py +498 -1
  7. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  8. aws_cdk/aws_appsync/__init__.py +4 -0
  9. aws_cdk/aws_autoscaling/__init__.py +96 -0
  10. aws_cdk/aws_batch/__init__.py +662 -237
  11. aws_cdk/aws_bedrock/__init__.py +2122 -181
  12. aws_cdk/aws_cassandra/__init__.py +476 -4
  13. aws_cdk/aws_cleanrooms/__init__.py +1227 -20
  14. aws_cdk/aws_cloudformation/__init__.py +172 -169
  15. aws_cdk/aws_cloudfront/__init__.py +773 -26
  16. aws_cdk/aws_cloudtrail/__init__.py +8 -2
  17. aws_cdk/aws_codebuild/__init__.py +83 -0
  18. aws_cdk/aws_codepipeline/__init__.py +2 -1
  19. aws_cdk/aws_cognito/__init__.py +232 -200
  20. aws_cdk/aws_connect/__init__.py +187 -36
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +106 -12
  22. aws_cdk/aws_databrew/__init__.py +69 -1
  23. aws_cdk/aws_datasync/__init__.py +33 -28
  24. aws_cdk/aws_datazone/__init__.py +141 -41
  25. aws_cdk/aws_dlm/__init__.py +20 -10
  26. aws_cdk/aws_dms/__init__.py +736 -22
  27. aws_cdk/aws_docdb/__init__.py +134 -0
  28. aws_cdk/aws_dynamodb/__init__.py +76 -4
  29. aws_cdk/aws_ec2/__init__.py +1233 -65
  30. aws_cdk/aws_ecr/__init__.py +31 -0
  31. aws_cdk/aws_ecr_assets/__init__.py +5 -0
  32. aws_cdk/aws_ecs/__init__.py +88 -11
  33. aws_cdk/aws_efs/__init__.py +15 -8
  34. aws_cdk/aws_eks/__init__.py +114 -45
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  36. aws_cdk/aws_emrserverless/__init__.py +143 -0
  37. aws_cdk/aws_events/__init__.py +50 -30
  38. aws_cdk/aws_fis/__init__.py +33 -33
  39. aws_cdk/aws_fsx/__init__.py +20 -10
  40. aws_cdk/aws_glue/__init__.py +34 -11
  41. aws_cdk/aws_greengrass/__init__.py +8 -8
  42. aws_cdk/aws_guardduty/__init__.py +1 -1
  43. aws_cdk/aws_imagebuilder/__init__.py +45 -47
  44. aws_cdk/aws_internetmonitor/__init__.py +3 -3
  45. aws_cdk/aws_invoicing/__init__.py +55 -30
  46. aws_cdk/aws_iot/__init__.py +1117 -4
  47. aws_cdk/aws_iot1click/__init__.py +17 -7
  48. aws_cdk/aws_kendra/__init__.py +4 -6
  49. aws_cdk/aws_lambda/__init__.py +15 -1
  50. aws_cdk/aws_logs/__init__.py +4011 -86
  51. aws_cdk/aws_m2/__init__.py +41 -0
  52. aws_cdk/aws_mediaconnect/__init__.py +202 -7
  53. aws_cdk/aws_mediaconvert/__init__.py +39 -0
  54. aws_cdk/aws_memorydb/__init__.py +22 -22
  55. aws_cdk/aws_networkmanager/__init__.py +758 -0
  56. aws_cdk/aws_opensearchservice/__init__.py +222 -0
  57. aws_cdk/aws_organizations/__init__.py +5 -3
  58. aws_cdk/aws_pcs/__init__.py +3038 -0
  59. aws_cdk/aws_pipes/__init__.py +10 -10
  60. aws_cdk/aws_qbusiness/__init__.py +415 -140
  61. aws_cdk/aws_quicksight/__init__.py +59795 -49748
  62. aws_cdk/aws_ram/__init__.py +5 -11
  63. aws_cdk/aws_rbin/__init__.py +28 -16
  64. aws_cdk/aws_rds/__init__.py +186 -31
  65. aws_cdk/aws_redshiftserverless/__init__.py +156 -0
  66. aws_cdk/aws_resiliencehub/__init__.py +2 -1
  67. aws_cdk/aws_route53_targets/__init__.py +5 -5
  68. aws_cdk/aws_s3/__init__.py +25 -15
  69. aws_cdk/aws_s3express/__init__.py +7 -7
  70. aws_cdk/aws_s3tables/__init__.py +683 -0
  71. aws_cdk/aws_sagemaker/__init__.py +580 -195
  72. aws_cdk/aws_secretsmanager/__init__.py +2 -0
  73. aws_cdk/aws_securityhub/__init__.py +41 -165
  74. aws_cdk/aws_servicediscovery/__init__.py +10 -3
  75. aws_cdk/aws_ses/__init__.py +190 -5
  76. aws_cdk/aws_sns/__init__.py +7 -3
  77. aws_cdk/aws_synthetics/__init__.py +29 -4
  78. aws_cdk/aws_transfer/__init__.py +8 -0
  79. aws_cdk/aws_vpclattice/__init__.py +147 -77
  80. aws_cdk/aws_wafv2/__init__.py +20 -8
  81. aws_cdk/aws_wisdom/__init__.py +162 -111
  82. aws_cdk/aws_workspaces/__init__.py +10 -4
  83. aws_cdk/cloud_assembly_schema/__init__.py +22 -0
  84. aws_cdk/custom_resources/__init__.py +31 -0
  85. aws_cdk/cx_api/__init__.py +19 -0
  86. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/LICENSE +1 -1
  87. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/METADATA +2 -2
  88. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/NOTICE +1 -1
  89. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/RECORD +91 -89
  90. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/WHEEL +0 -0
  91. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/top_level.txt +0 -0
@@ -2912,7 +2912,8 @@ class CfnScalingPolicy(
2912
2912
  *,
2913
2913
  metric_data_queries: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScalingPolicy.PredictiveScalingMetricDataQueryProperty", typing.Dict[builtins.str, typing.Any]]]]],
2914
2914
  ) -> None:
2915
- '''
2915
+ '''One or more metric data queries to provide data points for a metric specification.
2916
+
2916
2917
  :param metric_data_queries: One or more metric data queries to provide data points for a metric specification.
2917
2918
 
2918
2919
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingcustomizedscalingmetric.html
@@ -3658,6 +3659,8 @@ class CfnScalingPolicy(
3658
3659
  ) -> None:
3659
3660
  '''Represents a predictive scaling policy configuration.
3660
3661
 
3662
+ Predictive scaling is supported on Amazon ECS services.
3663
+
3661
3664
  :param metric_specifications: This structure includes the metrics and target utilization to use for predictive scaling. This is an array, but we currently only support a single metric specification. That is, you can specify a target value and a single metric pair, or a target value and one scaling metric and one load metric.
3662
3665
  :param max_capacity_breach_behavior: Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity. Defaults to ``HonorMaxCapacity`` if not specified.
3663
3666
  :param max_capacity_buffer: The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. The value is specified as a percentage relative to the forecast capacity. For example, if the buffer is 10, this means a 10 percent buffer, such that if the forecast capacity is 50, and the maximum capacity is 40, then the effective maximum capacity is 55. Required if the ``MaxCapacityBreachBehavior`` property is set to ``IncreaseMaxCapacity`` , and cannot be used otherwise.
@@ -238,6 +238,10 @@ input DemoInput {
238
238
  type Mutation {
239
239
  callStepFunction(input: DemoInput!): job
240
240
  }
241
+
242
+ type Query {
243
+ _placeholder: String
244
+ }
241
245
  ```
242
246
 
243
247
  GraphQL request mapping template `request.vtl`:
@@ -779,6 +779,30 @@ autoscaling.AutoScalingGroup(self, "ASG",
779
779
  )
780
780
  ```
781
781
 
782
+ ## Capacity Distribution Strategy
783
+
784
+ If launches fail in an Availability Zone, the following strategies are available.
785
+
786
+ * `BALANCED_BEST_EFFORT` (default) - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.
787
+ * `BALANCED_ONLY` - If launches fail in an Availability Zone, Auto Scaling will continue to attempt to launch in the unhealthy zone to preserve a balanced distribution.
788
+
789
+ ```python
790
+ # vpc: ec2.Vpc
791
+ # instance_type: ec2.InstanceType
792
+ # machine_image: ec2.IMachineImage
793
+
794
+
795
+ autoscaling.AutoScalingGroup(self, "ASG",
796
+ vpc=vpc,
797
+ instance_type=instance_type,
798
+ machine_image=machine_image,
799
+
800
+ # ...
801
+
802
+ az_capacity_distribution_strategy=autoscaling.CapacityDistributionStrategy.BALANCED_ONLY
803
+ )
804
+ ```
805
+
782
806
  ## Future work
783
807
 
784
808
  * [ ] CloudWatch Events (impossible to add currently as the AutoScalingGroup ARN is
@@ -2341,6 +2365,36 @@ class BlockDeviceVolume(
2341
2365
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "virtualName"))
2342
2366
 
2343
2367
 
2368
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_autoscaling.CapacityDistributionStrategy")
2369
+ class CapacityDistributionStrategy(enum.Enum):
2370
+ '''The strategies for when launches fail in an Availability Zone.
2371
+
2372
+ :exampleMetadata: infused
2373
+
2374
+ Example::
2375
+
2376
+ # vpc: ec2.Vpc
2377
+ # instance_type: ec2.InstanceType
2378
+ # machine_image: ec2.IMachineImage
2379
+
2380
+
2381
+ autoscaling.AutoScalingGroup(self, "ASG",
2382
+ vpc=vpc,
2383
+ instance_type=instance_type,
2384
+ machine_image=machine_image,
2385
+
2386
+ # ...
2387
+
2388
+ az_capacity_distribution_strategy=autoscaling.CapacityDistributionStrategy.BALANCED_ONLY
2389
+ )
2390
+ '''
2391
+
2392
+ BALANCED_ONLY = "BALANCED_ONLY"
2393
+ '''If launches fail in an Availability Zone, Auto Scaling will continue to attempt to launch in the unhealthy zone to preserve a balanced distribution.'''
2394
+ BALANCED_BEST_EFFORT = "BALANCED_BEST_EFFORT"
2395
+ '''If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.'''
2396
+
2397
+
2344
2398
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2345
2399
  class CfnAutoScalingGroup(
2346
2400
  _CfnResource_9df397a6,
@@ -13247,6 +13301,7 @@ class CfnWarmPoolProps:
13247
13301
  "allow_all_outbound": "allowAllOutbound",
13248
13302
  "associate_public_ip_address": "associatePublicIpAddress",
13249
13303
  "auto_scaling_group_name": "autoScalingGroupName",
13304
+ "az_capacity_distribution_strategy": "azCapacityDistributionStrategy",
13250
13305
  "block_devices": "blockDevices",
13251
13306
  "capacity_rebalance": "capacityRebalance",
13252
13307
  "cooldown": "cooldown",
@@ -13279,6 +13334,7 @@ class CommonAutoScalingGroupProps:
13279
13334
  allow_all_outbound: typing.Optional[builtins.bool] = None,
13280
13335
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
13281
13336
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
13337
+ az_capacity_distribution_strategy: typing.Optional[CapacityDistributionStrategy] = None,
13282
13338
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
13283
13339
  capacity_rebalance: typing.Optional[builtins.bool] = None,
13284
13340
  cooldown: typing.Optional[_Duration_4839e8c3] = None,
@@ -13311,6 +13367,7 @@ class CommonAutoScalingGroupProps:
13311
13367
  :param allow_all_outbound: Whether the instances can initiate connections to anywhere by default. Default: true
13312
13368
  :param associate_public_ip_address: Whether instances in the Auto Scaling Group should have public IP addresses associated with them. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified Default: - Use subnet setting.
13313
13369
  :param auto_scaling_group_name: The name of the Auto Scaling group. This name must be unique per Region per account. Default: - Auto generated by CloudFormation
13370
+ :param az_capacity_distribution_strategy: The strategy for distributing instances across Availability Zones. Default: None
13314
13371
  :param block_devices: Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. Each instance that is launched has an associated root device volume, either an Amazon EBS volume or an instance store volume. You can use block device mappings to specify additional EBS volumes or instance store volumes to attach to an instance when it is launched. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified Default: - Uses the block device mapping of the AMI
13315
13372
  :param capacity_rebalance: Indicates whether Capacity Rebalancing is enabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates an old instance. Default: false
13316
13373
  :param cooldown: Default scaling cooldown for this AutoScalingGroup. Default: Duration.minutes(5)
@@ -13361,6 +13418,7 @@ class CommonAutoScalingGroupProps:
13361
13418
  allow_all_outbound=False,
13362
13419
  associate_public_ip_address=False,
13363
13420
  auto_scaling_group_name="autoScalingGroupName",
13421
+ az_capacity_distribution_strategy=autoscaling.CapacityDistributionStrategy.BALANCED_ONLY,
13364
13422
  block_devices=[autoscaling.BlockDevice(
13365
13423
  device_name="deviceName",
13366
13424
  volume=block_device_volume
@@ -13408,6 +13466,7 @@ class CommonAutoScalingGroupProps:
13408
13466
  check_type(argname="argument allow_all_outbound", value=allow_all_outbound, expected_type=type_hints["allow_all_outbound"])
13409
13467
  check_type(argname="argument associate_public_ip_address", value=associate_public_ip_address, expected_type=type_hints["associate_public_ip_address"])
13410
13468
  check_type(argname="argument auto_scaling_group_name", value=auto_scaling_group_name, expected_type=type_hints["auto_scaling_group_name"])
13469
+ check_type(argname="argument az_capacity_distribution_strategy", value=az_capacity_distribution_strategy, expected_type=type_hints["az_capacity_distribution_strategy"])
13411
13470
  check_type(argname="argument block_devices", value=block_devices, expected_type=type_hints["block_devices"])
13412
13471
  check_type(argname="argument capacity_rebalance", value=capacity_rebalance, expected_type=type_hints["capacity_rebalance"])
13413
13472
  check_type(argname="argument cooldown", value=cooldown, expected_type=type_hints["cooldown"])
@@ -13438,6 +13497,8 @@ class CommonAutoScalingGroupProps:
13438
13497
  self._values["associate_public_ip_address"] = associate_public_ip_address
13439
13498
  if auto_scaling_group_name is not None:
13440
13499
  self._values["auto_scaling_group_name"] = auto_scaling_group_name
13500
+ if az_capacity_distribution_strategy is not None:
13501
+ self._values["az_capacity_distribution_strategy"] = az_capacity_distribution_strategy
13441
13502
  if block_devices is not None:
13442
13503
  self._values["block_devices"] = block_devices
13443
13504
  if capacity_rebalance is not None:
@@ -13516,6 +13577,17 @@ class CommonAutoScalingGroupProps:
13516
13577
  result = self._values.get("auto_scaling_group_name")
13517
13578
  return typing.cast(typing.Optional[builtins.str], result)
13518
13579
 
13580
+ @builtins.property
13581
+ def az_capacity_distribution_strategy(
13582
+ self,
13583
+ ) -> typing.Optional[CapacityDistributionStrategy]:
13584
+ '''The strategy for distributing instances across Availability Zones.
13585
+
13586
+ :default: None
13587
+ '''
13588
+ result = self._values.get("az_capacity_distribution_strategy")
13589
+ return typing.cast(typing.Optional[CapacityDistributionStrategy], result)
13590
+
13519
13591
  @builtins.property
13520
13592
  def block_devices(self) -> typing.Optional[typing.List[BlockDevice]]:
13521
13593
  '''Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
@@ -19072,6 +19144,7 @@ class AutoScalingGroup(
19072
19144
  allow_all_outbound: typing.Optional[builtins.bool] = None,
19073
19145
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
19074
19146
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
19147
+ az_capacity_distribution_strategy: typing.Optional[CapacityDistributionStrategy] = None,
19075
19148
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
19076
19149
  capacity_rebalance: typing.Optional[builtins.bool] = None,
19077
19150
  cooldown: typing.Optional[_Duration_4839e8c3] = None,
@@ -19115,6 +19188,7 @@ class AutoScalingGroup(
19115
19188
  :param allow_all_outbound: Whether the instances can initiate connections to anywhere by default. Default: true
19116
19189
  :param associate_public_ip_address: Whether instances in the Auto Scaling Group should have public IP addresses associated with them. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified Default: - Use subnet setting.
19117
19190
  :param auto_scaling_group_name: The name of the Auto Scaling group. This name must be unique per Region per account. Default: - Auto generated by CloudFormation
19191
+ :param az_capacity_distribution_strategy: The strategy for distributing instances across Availability Zones. Default: None
19118
19192
  :param block_devices: Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. Each instance that is launched has an associated root device volume, either an Amazon EBS volume or an instance store volume. You can use block device mappings to specify additional EBS volumes or instance store volumes to attach to an instance when it is launched. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified Default: - Uses the block device mapping of the AMI
19119
19193
  :param capacity_rebalance: Indicates whether Capacity Rebalancing is enabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates an old instance. Default: false
19120
19194
  :param cooldown: Default scaling cooldown for this AutoScalingGroup. Default: Duration.minutes(5)
@@ -19160,6 +19234,7 @@ class AutoScalingGroup(
19160
19234
  allow_all_outbound=allow_all_outbound,
19161
19235
  associate_public_ip_address=associate_public_ip_address,
19162
19236
  auto_scaling_group_name=auto_scaling_group_name,
19237
+ az_capacity_distribution_strategy=az_capacity_distribution_strategy,
19163
19238
  block_devices=block_devices,
19164
19239
  capacity_rebalance=capacity_rebalance,
19165
19240
  cooldown=cooldown,
@@ -19753,6 +19828,7 @@ class AutoScalingGroup(
19753
19828
  "allow_all_outbound": "allowAllOutbound",
19754
19829
  "associate_public_ip_address": "associatePublicIpAddress",
19755
19830
  "auto_scaling_group_name": "autoScalingGroupName",
19831
+ "az_capacity_distribution_strategy": "azCapacityDistributionStrategy",
19756
19832
  "block_devices": "blockDevices",
19757
19833
  "capacity_rebalance": "capacityRebalance",
19758
19834
  "cooldown": "cooldown",
@@ -19798,6 +19874,7 @@ class AutoScalingGroupProps(CommonAutoScalingGroupProps):
19798
19874
  allow_all_outbound: typing.Optional[builtins.bool] = None,
19799
19875
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
19800
19876
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
19877
+ az_capacity_distribution_strategy: typing.Optional[CapacityDistributionStrategy] = None,
19801
19878
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
19802
19879
  capacity_rebalance: typing.Optional[builtins.bool] = None,
19803
19880
  cooldown: typing.Optional[_Duration_4839e8c3] = None,
@@ -19840,6 +19917,7 @@ class AutoScalingGroupProps(CommonAutoScalingGroupProps):
19840
19917
  :param allow_all_outbound: Whether the instances can initiate connections to anywhere by default. Default: true
19841
19918
  :param associate_public_ip_address: Whether instances in the Auto Scaling Group should have public IP addresses associated with them. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified Default: - Use subnet setting.
19842
19919
  :param auto_scaling_group_name: The name of the Auto Scaling group. This name must be unique per Region per account. Default: - Auto generated by CloudFormation
19920
+ :param az_capacity_distribution_strategy: The strategy for distributing instances across Availability Zones. Default: None
19843
19921
  :param block_devices: Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. Each instance that is launched has an associated root device volume, either an Amazon EBS volume or an instance store volume. You can use block device mappings to specify additional EBS volumes or instance store volumes to attach to an instance when it is launched. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified Default: - Uses the block device mapping of the AMI
19844
19922
  :param capacity_rebalance: Indicates whether Capacity Rebalancing is enabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates an old instance. Default: false
19845
19923
  :param cooldown: Default scaling cooldown for this AutoScalingGroup. Default: Duration.minutes(5)
@@ -19911,6 +19989,7 @@ class AutoScalingGroupProps(CommonAutoScalingGroupProps):
19911
19989
  check_type(argname="argument allow_all_outbound", value=allow_all_outbound, expected_type=type_hints["allow_all_outbound"])
19912
19990
  check_type(argname="argument associate_public_ip_address", value=associate_public_ip_address, expected_type=type_hints["associate_public_ip_address"])
19913
19991
  check_type(argname="argument auto_scaling_group_name", value=auto_scaling_group_name, expected_type=type_hints["auto_scaling_group_name"])
19992
+ check_type(argname="argument az_capacity_distribution_strategy", value=az_capacity_distribution_strategy, expected_type=type_hints["az_capacity_distribution_strategy"])
19914
19993
  check_type(argname="argument block_devices", value=block_devices, expected_type=type_hints["block_devices"])
19915
19994
  check_type(argname="argument capacity_rebalance", value=capacity_rebalance, expected_type=type_hints["capacity_rebalance"])
19916
19995
  check_type(argname="argument cooldown", value=cooldown, expected_type=type_hints["cooldown"])
@@ -19956,6 +20035,8 @@ class AutoScalingGroupProps(CommonAutoScalingGroupProps):
19956
20035
  self._values["associate_public_ip_address"] = associate_public_ip_address
19957
20036
  if auto_scaling_group_name is not None:
19958
20037
  self._values["auto_scaling_group_name"] = auto_scaling_group_name
20038
+ if az_capacity_distribution_strategy is not None:
20039
+ self._values["az_capacity_distribution_strategy"] = az_capacity_distribution_strategy
19959
20040
  if block_devices is not None:
19960
20041
  self._values["block_devices"] = block_devices
19961
20042
  if capacity_rebalance is not None:
@@ -20058,6 +20139,17 @@ class AutoScalingGroupProps(CommonAutoScalingGroupProps):
20058
20139
  result = self._values.get("auto_scaling_group_name")
20059
20140
  return typing.cast(typing.Optional[builtins.str], result)
20060
20141
 
20142
+ @builtins.property
20143
+ def az_capacity_distribution_strategy(
20144
+ self,
20145
+ ) -> typing.Optional[CapacityDistributionStrategy]:
20146
+ '''The strategy for distributing instances across Availability Zones.
20147
+
20148
+ :default: None
20149
+ '''
20150
+ result = self._values.get("az_capacity_distribution_strategy")
20151
+ return typing.cast(typing.Optional[CapacityDistributionStrategy], result)
20152
+
20061
20153
  @builtins.property
20062
20154
  def block_devices(self) -> typing.Optional[typing.List[BlockDevice]]:
20063
20155
  '''Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
@@ -20888,6 +20980,7 @@ __all__ = [
20888
20980
  "BindHookTargetOptions",
20889
20981
  "BlockDevice",
20890
20982
  "BlockDeviceVolume",
20983
+ "CapacityDistributionStrategy",
20891
20984
  "CfnAutoScalingGroup",
20892
20985
  "CfnAutoScalingGroupProps",
20893
20986
  "CfnLaunchConfiguration",
@@ -22422,6 +22515,7 @@ def _typecheckingstub__e7df3cbef8de53a463241b6e60846fac6e519118c7118785f8f4efb6d
22422
22515
  allow_all_outbound: typing.Optional[builtins.bool] = None,
22423
22516
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
22424
22517
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
22518
+ az_capacity_distribution_strategy: typing.Optional[CapacityDistributionStrategy] = None,
22425
22519
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
22426
22520
  capacity_rebalance: typing.Optional[builtins.bool] = None,
22427
22521
  cooldown: typing.Optional[_Duration_4839e8c3] = None,
@@ -22968,6 +23062,7 @@ def _typecheckingstub__82981fc74407321badee3133fda3bd0a016f4ab7634f761219c1c808c
22968
23062
  allow_all_outbound: typing.Optional[builtins.bool] = None,
22969
23063
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
22970
23064
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
23065
+ az_capacity_distribution_strategy: typing.Optional[CapacityDistributionStrategy] = None,
22971
23066
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
22972
23067
  capacity_rebalance: typing.Optional[builtins.bool] = None,
22973
23068
  cooldown: typing.Optional[_Duration_4839e8c3] = None,
@@ -23175,6 +23270,7 @@ def _typecheckingstub__186ff14d58334848486a7ecd802c6b72a1b76f272f25349712b95361e
23175
23270
  allow_all_outbound: typing.Optional[builtins.bool] = None,
23176
23271
  associate_public_ip_address: typing.Optional[builtins.bool] = None,
23177
23272
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
23273
+ az_capacity_distribution_strategy: typing.Optional[CapacityDistributionStrategy] = None,
23178
23274
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
23179
23275
  capacity_rebalance: typing.Optional[builtins.bool] = None,
23180
23276
  cooldown: typing.Optional[_Duration_4839e8c3] = None,