aws-cdk-lib 2.167.2__py3-none-any.whl → 2.169.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.

Files changed (60) hide show
  1. aws_cdk/__init__.py +2083 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.167.2.jsii.tgz → aws-cdk-lib@2.169.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +244 -13
  5. aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
  6. aws_cdk/aws_applicationinsights/__init__.py +41 -0
  7. aws_cdk/aws_applicationsignals/__init__.py +124 -0
  8. aws_cdk/aws_autoscaling/__init__.py +743 -7
  9. aws_cdk/aws_batch/__init__.py +202 -5
  10. aws_cdk/aws_bedrock/__init__.py +12 -12
  11. aws_cdk/aws_cleanrooms/__init__.py +17 -8
  12. aws_cdk/aws_cloudformation/__init__.py +2571 -492
  13. aws_cdk/aws_cloudfront/__init__.py +281 -0
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
  16. aws_cdk/aws_cloudtrail/__init__.py +52 -14
  17. aws_cdk/aws_codebuild/__init__.py +670 -4
  18. aws_cdk/aws_connect/__init__.py +378 -0
  19. aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
  20. aws_cdk/aws_customerprofiles/__init__.py +44 -0
  21. aws_cdk/aws_deadline/__init__.py +299 -6
  22. aws_cdk/aws_dynamodb/__init__.py +359 -16
  23. aws_cdk/aws_ec2/__init__.py +19 -6
  24. aws_cdk/aws_ecs/__init__.py +231 -12
  25. aws_cdk/aws_efs/__init__.py +61 -4
  26. aws_cdk/aws_eks/__init__.py +116 -0
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
  28. aws_cdk/aws_fis/__init__.py +495 -0
  29. aws_cdk/aws_gamelift/__init__.py +3204 -1104
  30. aws_cdk/aws_iot/__init__.py +209 -0
  31. aws_cdk/aws_iotfleetwise/__init__.py +550 -0
  32. aws_cdk/aws_iotsitewise/__init__.py +6 -3
  33. aws_cdk/aws_ivs/__init__.py +458 -0
  34. aws_cdk/aws_kinesisfirehose/__init__.py +756 -8
  35. aws_cdk/aws_lambda/__init__.py +634 -259
  36. aws_cdk/aws_lambda_destinations/__init__.py +73 -0
  37. aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
  38. aws_cdk/aws_location/__init__.py +18 -18
  39. aws_cdk/aws_mediastore/__init__.py +22 -10
  40. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  41. aws_cdk/aws_quicksight/__init__.py +35 -19
  42. aws_cdk/aws_rbin/__init__.py +902 -0
  43. aws_cdk/aws_rds/__init__.py +166 -3
  44. aws_cdk/aws_route53resolver/__init__.py +76 -19
  45. aws_cdk/aws_sagemaker/__init__.py +32 -0
  46. aws_cdk/aws_securityhub/__init__.py +11 -14
  47. aws_cdk/aws_ses/__init__.py +58 -5
  48. aws_cdk/aws_sns/__init__.py +593 -8
  49. aws_cdk/aws_sns_subscriptions/__init__.py +68 -22
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
  51. aws_cdk/aws_synthetics/__init__.py +46 -0
  52. aws_cdk/aws_transfer/__init__.py +0 -8
  53. aws_cdk/aws_vpclattice/__init__.py +157 -2
  54. aws_cdk/aws_wisdom/__init__.py +113 -69
  55. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/METADATA +1 -1
  56. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/RECORD +60 -58
  57. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/LICENSE +0 -0
  58. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/NOTICE +0 -0
  59. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/WHEEL +0 -0
  60. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/top_level.txt +0 -0
@@ -2375,8 +2375,21 @@ class CfnAutoScalingGroup(
2375
2375
  availability_zone_distribution=autoscaling.CfnAutoScalingGroup.AvailabilityZoneDistributionProperty(
2376
2376
  capacity_distribution_strategy="capacityDistributionStrategy"
2377
2377
  ),
2378
+ availability_zone_impairment_policy=autoscaling.CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty(
2379
+ impaired_zone_health_check_behavior="impairedZoneHealthCheckBehavior",
2380
+ zonal_shift_enabled=False
2381
+ ),
2378
2382
  availability_zones=["availabilityZones"],
2379
2383
  capacity_rebalance=False,
2384
+ capacity_reservation_specification=autoscaling.CfnAutoScalingGroup.CapacityReservationSpecificationProperty(
2385
+ capacity_reservation_preference="capacityReservationPreference",
2386
+
2387
+ # the properties below are optional
2388
+ capacity_reservation_target=autoscaling.CfnAutoScalingGroup.CapacityReservationTargetProperty(
2389
+ capacity_reservation_ids=["capacityReservationIds"],
2390
+ capacity_reservation_resource_group_arns=["capacityReservationResourceGroupArns"]
2391
+ )
2392
+ ),
2380
2393
  context="context",
2381
2394
  cooldown="cooldown",
2382
2395
  default_instance_warmup=123,
@@ -2456,6 +2469,13 @@ class CfnAutoScalingGroup(
2456
2469
  max=123,
2457
2470
  min=123
2458
2471
  ),
2472
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
2473
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
2474
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
2475
+ instance_family="instanceFamily"
2476
+ )]
2477
+ )
2478
+ ),
2459
2479
  burstable_performance="burstablePerformance",
2460
2480
  cpu_manufacturers=["cpuManufacturers"],
2461
2481
  excluded_instance_types=["excludedInstanceTypes"],
@@ -2520,6 +2540,7 @@ class CfnAutoScalingGroup(
2520
2540
  )],
2521
2541
  placement_group="placementGroup",
2522
2542
  service_linked_role_arn="serviceLinkedRoleArn",
2543
+ skip_zonal_shift_validation=False,
2523
2544
  tags=[autoscaling.CfnAutoScalingGroup.TagPropertyProperty(
2524
2545
  key="key",
2525
2546
  propagate_at_launch=False,
@@ -2544,8 +2565,10 @@ class CfnAutoScalingGroup(
2544
2565
  min_size: builtins.str,
2545
2566
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
2546
2567
  availability_zone_distribution: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.AvailabilityZoneDistributionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2568
+ availability_zone_impairment_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2547
2569
  availability_zones: typing.Optional[typing.Sequence[builtins.str]] = None,
2548
2570
  capacity_rebalance: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2571
+ capacity_reservation_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.CapacityReservationSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2549
2572
  context: typing.Optional[builtins.str] = None,
2550
2573
  cooldown: typing.Optional[builtins.str] = None,
2551
2574
  default_instance_warmup: typing.Optional[jsii.Number] = None,
@@ -2567,6 +2590,7 @@ class CfnAutoScalingGroup(
2567
2590
  notification_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.NotificationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2568
2591
  placement_group: typing.Optional[builtins.str] = None,
2569
2592
  service_linked_role_arn: typing.Optional[builtins.str] = None,
2593
+ skip_zonal_shift_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2570
2594
  tags: typing.Optional[typing.Sequence[typing.Union["CfnAutoScalingGroup.TagPropertyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2571
2595
  target_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
2572
2596
  termination_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2579,9 +2603,11 @@ class CfnAutoScalingGroup(
2579
2603
  :param max_size: The maximum size of the group. .. epigraph:: With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above ``MaxSize`` to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go above ``MaxSize`` by more than your largest instance weight (weights that define how many units each instance contributes to the desired capacity of the group).
2580
2604
  :param min_size: The minimum size of the group.
2581
2605
  :param auto_scaling_group_name: The name of the Auto Scaling group. This name must be unique per Region per account. The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and lowercased letters. .. epigraph:: You cannot use a colon (:) in the name.
2582
- :param availability_zone_distribution:
2606
+ :param availability_zone_distribution: The instance capacity distribution across Availability Zones.
2607
+ :param availability_zone_impairment_policy: The Availability Zone impairment policy.
2583
2608
  :param availability_zones: A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the ``VPCZoneIdentifier`` property, or for attaching a network interface when an existing network interface ID is specified in a launch template.
2584
2609
  :param capacity_rebalance: Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. 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. For more information, see `Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html>`_ in the in the *Amazon EC2 Auto Scaling User Guide* .
2610
+ :param capacity_reservation_specification:
2585
2611
  :param context: Reserved.
2586
2612
  :param cooldown: *Only needed if you use simple scaling policies.*. The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see `Scaling cooldowns for Amazon EC2 Auto Scaling <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scaling-cooldowns.html>`_ in the *Amazon EC2 Auto Scaling User Guide* . Default: ``300`` seconds
2587
2613
  :param default_instance_warmup: The amount of time, in seconds, until a new instance is considered to have finished initializing and resource consumption to become stable after it enters the ``InService`` state. During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more information, see `Set the default instance warmup for an Auto Scaling group <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html>`_ in the *Amazon EC2 Auto Scaling User Guide* . .. epigraph:: To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, *even if it is set to 0 seconds* . To remove a value that you previously set, include the property but specify ``-1`` for the value. However, we strongly recommend keeping the default instance warmup enabled by specifying a value of ``0`` or other nominal value. Default: None
@@ -2603,6 +2629,7 @@ class CfnAutoScalingGroup(
2603
2629
  :param notification_configurations: Configures an Auto Scaling group to send notifications when specified events take place.
2604
2630
  :param placement_group: The name of the placement group into which to launch your instances. For more information, see `Placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html>`_ in the *Amazon EC2 User Guide for Linux Instances* . .. epigraph:: A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.
2605
2631
  :param service_linked_role_arn: The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named ``AWSServiceRoleForAutoScaling`` , which it creates if it does not exist. For more information, see `Service-linked roles <https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
2632
+ :param skip_zonal_shift_validation:
2606
2633
  :param tags: One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a launch template but use caution. If the launch template specifies an instance tag with a key that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the value specified by the Auto Scaling group. For more information, see `Tag Auto Scaling groups and instances <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
2607
2634
  :param target_group_arns: The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see `Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group <https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
2608
2635
  :param termination_policies: A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see `Configure termination policies for Amazon EC2 Auto Scaling <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html>`_ in the *Amazon EC2 Auto Scaling User Guide* . Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``
@@ -2618,8 +2645,10 @@ class CfnAutoScalingGroup(
2618
2645
  min_size=min_size,
2619
2646
  auto_scaling_group_name=auto_scaling_group_name,
2620
2647
  availability_zone_distribution=availability_zone_distribution,
2648
+ availability_zone_impairment_policy=availability_zone_impairment_policy,
2621
2649
  availability_zones=availability_zones,
2622
2650
  capacity_rebalance=capacity_rebalance,
2651
+ capacity_reservation_specification=capacity_reservation_specification,
2623
2652
  context=context,
2624
2653
  cooldown=cooldown,
2625
2654
  default_instance_warmup=default_instance_warmup,
@@ -2641,6 +2670,7 @@ class CfnAutoScalingGroup(
2641
2670
  notification_configurations=notification_configurations,
2642
2671
  placement_group=placement_group,
2643
2672
  service_linked_role_arn=service_linked_role_arn,
2673
+ skip_zonal_shift_validation=skip_zonal_shift_validation,
2644
2674
  tags=tags,
2645
2675
  target_group_arns=target_group_arns,
2646
2676
  termination_policies=termination_policies,
@@ -2738,6 +2768,7 @@ class CfnAutoScalingGroup(
2738
2768
  def availability_zone_distribution(
2739
2769
  self,
2740
2770
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneDistributionProperty"]]:
2771
+ '''The instance capacity distribution across Availability Zones.'''
2741
2772
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneDistributionProperty"]], jsii.get(self, "availabilityZoneDistribution"))
2742
2773
 
2743
2774
  @availability_zone_distribution.setter
@@ -2750,6 +2781,24 @@ class CfnAutoScalingGroup(
2750
2781
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2751
2782
  jsii.set(self, "availabilityZoneDistribution", value) # pyright: ignore[reportArgumentType]
2752
2783
 
2784
+ @builtins.property
2785
+ @jsii.member(jsii_name="availabilityZoneImpairmentPolicy")
2786
+ def availability_zone_impairment_policy(
2787
+ self,
2788
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty"]]:
2789
+ '''The Availability Zone impairment policy.'''
2790
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty"]], jsii.get(self, "availabilityZoneImpairmentPolicy"))
2791
+
2792
+ @availability_zone_impairment_policy.setter
2793
+ def availability_zone_impairment_policy(
2794
+ self,
2795
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty"]],
2796
+ ) -> None:
2797
+ if __debug__:
2798
+ type_hints = typing.get_type_hints(_typecheckingstub__2a3fb95d9da967f9a1c48b970739b4471d5c5eee0beaf61d14960348810f297e)
2799
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2800
+ jsii.set(self, "availabilityZoneImpairmentPolicy", value) # pyright: ignore[reportArgumentType]
2801
+
2753
2802
  @builtins.property
2754
2803
  @jsii.member(jsii_name="availabilityZones")
2755
2804
  def availability_zones(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -2784,6 +2833,23 @@ class CfnAutoScalingGroup(
2784
2833
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2785
2834
  jsii.set(self, "capacityRebalance", value) # pyright: ignore[reportArgumentType]
2786
2835
 
2836
+ @builtins.property
2837
+ @jsii.member(jsii_name="capacityReservationSpecification")
2838
+ def capacity_reservation_specification(
2839
+ self,
2840
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.CapacityReservationSpecificationProperty"]]:
2841
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.CapacityReservationSpecificationProperty"]], jsii.get(self, "capacityReservationSpecification"))
2842
+
2843
+ @capacity_reservation_specification.setter
2844
+ def capacity_reservation_specification(
2845
+ self,
2846
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.CapacityReservationSpecificationProperty"]],
2847
+ ) -> None:
2848
+ if __debug__:
2849
+ type_hints = typing.get_type_hints(_typecheckingstub__6a3669b72eed49c81bef887851936a8d3e62cc7ebbf7d0596c044449b0caa478)
2850
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2851
+ jsii.set(self, "capacityReservationSpecification", value) # pyright: ignore[reportArgumentType]
2852
+
2787
2853
  @builtins.property
2788
2854
  @jsii.member(jsii_name="context")
2789
2855
  def context(self) -> typing.Optional[builtins.str]:
@@ -3105,6 +3171,23 @@ class CfnAutoScalingGroup(
3105
3171
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3106
3172
  jsii.set(self, "serviceLinkedRoleArn", value) # pyright: ignore[reportArgumentType]
3107
3173
 
3174
+ @builtins.property
3175
+ @jsii.member(jsii_name="skipZonalShiftValidation")
3176
+ def skip_zonal_shift_validation(
3177
+ self,
3178
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3179
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "skipZonalShiftValidation"))
3180
+
3181
+ @skip_zonal_shift_validation.setter
3182
+ def skip_zonal_shift_validation(
3183
+ self,
3184
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
3185
+ ) -> None:
3186
+ if __debug__:
3187
+ type_hints = typing.get_type_hints(_typecheckingstub__1db1d7f33e11c93324444162bf80d7f4a9c258e18704f896714722a1d73e9792)
3188
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3189
+ jsii.set(self, "skipZonalShiftValidation", value) # pyright: ignore[reportArgumentType]
3190
+
3108
3191
  @builtins.property
3109
3192
  @jsii.member(jsii_name="tagsRaw")
3110
3193
  def tags_raw(
@@ -3342,8 +3425,9 @@ class CfnAutoScalingGroup(
3342
3425
  *,
3343
3426
  capacity_distribution_strategy: typing.Optional[builtins.str] = None,
3344
3427
  ) -> None:
3345
- '''
3346
- :param capacity_distribution_strategy:
3428
+ '''``AvailabilityZoneDistribution`` is a property of the `AWS::AutoScaling::AutoScalingGroup <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html>`_ resource.
3429
+
3430
+ :param capacity_distribution_strategy: If launches fail in an Availability Zone, the following strategies are available. The default is ``balanced-best-effort`` . - ``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. - ``balanced-best-effort`` - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.
3347
3431
 
3348
3432
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzonedistribution.html
3349
3433
  :exampleMetadata: fixture=_generated
@@ -3367,7 +3451,11 @@ class CfnAutoScalingGroup(
3367
3451
 
3368
3452
  @builtins.property
3369
3453
  def capacity_distribution_strategy(self) -> typing.Optional[builtins.str]:
3370
- '''
3454
+ '''If launches fail in an Availability Zone, the following strategies are available. The default is ``balanced-best-effort`` .
3455
+
3456
+ - ``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.
3457
+ - ``balanced-best-effort`` - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.
3458
+
3371
3459
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzonedistribution.html#cfn-autoscaling-autoscalinggroup-availabilityzonedistribution-capacitydistributionstrategy
3372
3460
  '''
3373
3461
  result = self._values.get("capacity_distribution_strategy")
@@ -3384,6 +3472,84 @@ class CfnAutoScalingGroup(
3384
3472
  k + "=" + repr(v) for k, v in self._values.items()
3385
3473
  )
3386
3474
 
3475
+ @jsii.data_type(
3476
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty",
3477
+ jsii_struct_bases=[],
3478
+ name_mapping={
3479
+ "impaired_zone_health_check_behavior": "impairedZoneHealthCheckBehavior",
3480
+ "zonal_shift_enabled": "zonalShiftEnabled",
3481
+ },
3482
+ )
3483
+ class AvailabilityZoneImpairmentPolicyProperty:
3484
+ def __init__(
3485
+ self,
3486
+ *,
3487
+ impaired_zone_health_check_behavior: builtins.str,
3488
+ zonal_shift_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
3489
+ ) -> None:
3490
+ '''Describes an Availability Zone impairment policy.
3491
+
3492
+ :param impaired_zone_health_check_behavior: Specifies the health check behavior for the impaired Availability Zone in an active zonal shift. If you select ``Replace unhealthy`` , instances that appear unhealthy will be replaced in all Availability Zones. If you select ``Ignore unhealthy`` , instances will not be replaced in the Availability Zone with the active zonal shift. For more information, see `Auto Scaling group zonal shift <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-zonal-shift.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
3493
+ :param zonal_shift_enabled: If ``true`` , enable zonal shift for your Auto Scaling group.
3494
+
3495
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy.html
3496
+ :exampleMetadata: fixture=_generated
3497
+
3498
+ Example::
3499
+
3500
+ # The code below shows an example of how to instantiate this type.
3501
+ # The values are placeholders you should change.
3502
+ from aws_cdk import aws_autoscaling as autoscaling
3503
+
3504
+ availability_zone_impairment_policy_property = autoscaling.CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty(
3505
+ impaired_zone_health_check_behavior="impairedZoneHealthCheckBehavior",
3506
+ zonal_shift_enabled=False
3507
+ )
3508
+ '''
3509
+ if __debug__:
3510
+ type_hints = typing.get_type_hints(_typecheckingstub__0c859c5dc62959b2f82b88ba908b264057d44a144ac184fa0a7793e433657185)
3511
+ check_type(argname="argument impaired_zone_health_check_behavior", value=impaired_zone_health_check_behavior, expected_type=type_hints["impaired_zone_health_check_behavior"])
3512
+ check_type(argname="argument zonal_shift_enabled", value=zonal_shift_enabled, expected_type=type_hints["zonal_shift_enabled"])
3513
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3514
+ "impaired_zone_health_check_behavior": impaired_zone_health_check_behavior,
3515
+ "zonal_shift_enabled": zonal_shift_enabled,
3516
+ }
3517
+
3518
+ @builtins.property
3519
+ def impaired_zone_health_check_behavior(self) -> builtins.str:
3520
+ '''Specifies the health check behavior for the impaired Availability Zone in an active zonal shift.
3521
+
3522
+ If you select ``Replace unhealthy`` , instances that appear unhealthy will be replaced in all Availability Zones. If you select ``Ignore unhealthy`` , instances will not be replaced in the Availability Zone with the active zonal shift. For more information, see `Auto Scaling group zonal shift <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-zonal-shift.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
3523
+
3524
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy.html#cfn-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy-impairedzonehealthcheckbehavior
3525
+ '''
3526
+ result = self._values.get("impaired_zone_health_check_behavior")
3527
+ assert result is not None, "Required property 'impaired_zone_health_check_behavior' is missing"
3528
+ return typing.cast(builtins.str, result)
3529
+
3530
+ @builtins.property
3531
+ def zonal_shift_enabled(
3532
+ self,
3533
+ ) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
3534
+ '''If ``true`` , enable zonal shift for your Auto Scaling group.
3535
+
3536
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy.html#cfn-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy-zonalshiftenabled
3537
+ '''
3538
+ result = self._values.get("zonal_shift_enabled")
3539
+ assert result is not None, "Required property 'zonal_shift_enabled' is missing"
3540
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
3541
+
3542
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3543
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3544
+
3545
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3546
+ return not (rhs == self)
3547
+
3548
+ def __repr__(self) -> str:
3549
+ return "AvailabilityZoneImpairmentPolicyProperty(%s)" % ", ".join(
3550
+ k + "=" + repr(v) for k, v in self._values.items()
3551
+ )
3552
+
3387
3553
  @jsii.data_type(
3388
3554
  jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty",
3389
3555
  jsii_struct_bases=[],
@@ -3454,6 +3620,274 @@ class CfnAutoScalingGroup(
3454
3620
  k + "=" + repr(v) for k, v in self._values.items()
3455
3621
  )
3456
3622
 
3623
+ @jsii.data_type(
3624
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty",
3625
+ jsii_struct_bases=[],
3626
+ name_mapping={"cpu": "cpu"},
3627
+ )
3628
+ class BaselinePerformanceFactorsRequestProperty:
3629
+ def __init__(
3630
+ self,
3631
+ *,
3632
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3633
+ ) -> None:
3634
+ '''
3635
+ :param cpu:
3636
+
3637
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineperformancefactorsrequest.html
3638
+ :exampleMetadata: fixture=_generated
3639
+
3640
+ Example::
3641
+
3642
+ # The code below shows an example of how to instantiate this type.
3643
+ # The values are placeholders you should change.
3644
+ from aws_cdk import aws_autoscaling as autoscaling
3645
+
3646
+ baseline_performance_factors_request_property = autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
3647
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
3648
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
3649
+ instance_family="instanceFamily"
3650
+ )]
3651
+ )
3652
+ )
3653
+ '''
3654
+ if __debug__:
3655
+ type_hints = typing.get_type_hints(_typecheckingstub__d201229bbf8df0493f8005eab4878dceaf3ea5d9ead6d07f5daa203e74d566d1)
3656
+ check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
3657
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3658
+ if cpu is not None:
3659
+ self._values["cpu"] = cpu
3660
+
3661
+ @builtins.property
3662
+ def cpu(
3663
+ self,
3664
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty"]]:
3665
+ '''
3666
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineperformancefactorsrequest.html#cfn-autoscaling-autoscalinggroup-baselineperformancefactorsrequest-cpu
3667
+ '''
3668
+ result = self._values.get("cpu")
3669
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty"]], result)
3670
+
3671
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3672
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3673
+
3674
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3675
+ return not (rhs == self)
3676
+
3677
+ def __repr__(self) -> str:
3678
+ return "BaselinePerformanceFactorsRequestProperty(%s)" % ", ".join(
3679
+ k + "=" + repr(v) for k, v in self._values.items()
3680
+ )
3681
+
3682
+ @jsii.data_type(
3683
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.CapacityReservationSpecificationProperty",
3684
+ jsii_struct_bases=[],
3685
+ name_mapping={
3686
+ "capacity_reservation_preference": "capacityReservationPreference",
3687
+ "capacity_reservation_target": "capacityReservationTarget",
3688
+ },
3689
+ )
3690
+ class CapacityReservationSpecificationProperty:
3691
+ def __init__(
3692
+ self,
3693
+ *,
3694
+ capacity_reservation_preference: builtins.str,
3695
+ capacity_reservation_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.CapacityReservationTargetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3696
+ ) -> None:
3697
+ '''
3698
+ :param capacity_reservation_preference:
3699
+ :param capacity_reservation_target:
3700
+
3701
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationspecification.html
3702
+ :exampleMetadata: fixture=_generated
3703
+
3704
+ Example::
3705
+
3706
+ # The code below shows an example of how to instantiate this type.
3707
+ # The values are placeholders you should change.
3708
+ from aws_cdk import aws_autoscaling as autoscaling
3709
+
3710
+ capacity_reservation_specification_property = autoscaling.CfnAutoScalingGroup.CapacityReservationSpecificationProperty(
3711
+ capacity_reservation_preference="capacityReservationPreference",
3712
+
3713
+ # the properties below are optional
3714
+ capacity_reservation_target=autoscaling.CfnAutoScalingGroup.CapacityReservationTargetProperty(
3715
+ capacity_reservation_ids=["capacityReservationIds"],
3716
+ capacity_reservation_resource_group_arns=["capacityReservationResourceGroupArns"]
3717
+ )
3718
+ )
3719
+ '''
3720
+ if __debug__:
3721
+ type_hints = typing.get_type_hints(_typecheckingstub__1bde97582584c247c2d01a5e0b6cd47064999134f62912522c05bd0ba4e73870)
3722
+ check_type(argname="argument capacity_reservation_preference", value=capacity_reservation_preference, expected_type=type_hints["capacity_reservation_preference"])
3723
+ check_type(argname="argument capacity_reservation_target", value=capacity_reservation_target, expected_type=type_hints["capacity_reservation_target"])
3724
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3725
+ "capacity_reservation_preference": capacity_reservation_preference,
3726
+ }
3727
+ if capacity_reservation_target is not None:
3728
+ self._values["capacity_reservation_target"] = capacity_reservation_target
3729
+
3730
+ @builtins.property
3731
+ def capacity_reservation_preference(self) -> builtins.str:
3732
+ '''
3733
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationspecification.html#cfn-autoscaling-autoscalinggroup-capacityreservationspecification-capacityreservationpreference
3734
+ '''
3735
+ result = self._values.get("capacity_reservation_preference")
3736
+ assert result is not None, "Required property 'capacity_reservation_preference' is missing"
3737
+ return typing.cast(builtins.str, result)
3738
+
3739
+ @builtins.property
3740
+ def capacity_reservation_target(
3741
+ self,
3742
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.CapacityReservationTargetProperty"]]:
3743
+ '''
3744
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationspecification.html#cfn-autoscaling-autoscalinggroup-capacityreservationspecification-capacityreservationtarget
3745
+ '''
3746
+ result = self._values.get("capacity_reservation_target")
3747
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.CapacityReservationTargetProperty"]], result)
3748
+
3749
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3750
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3751
+
3752
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3753
+ return not (rhs == self)
3754
+
3755
+ def __repr__(self) -> str:
3756
+ return "CapacityReservationSpecificationProperty(%s)" % ", ".join(
3757
+ k + "=" + repr(v) for k, v in self._values.items()
3758
+ )
3759
+
3760
+ @jsii.data_type(
3761
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.CapacityReservationTargetProperty",
3762
+ jsii_struct_bases=[],
3763
+ name_mapping={
3764
+ "capacity_reservation_ids": "capacityReservationIds",
3765
+ "capacity_reservation_resource_group_arns": "capacityReservationResourceGroupArns",
3766
+ },
3767
+ )
3768
+ class CapacityReservationTargetProperty:
3769
+ def __init__(
3770
+ self,
3771
+ *,
3772
+ capacity_reservation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
3773
+ capacity_reservation_resource_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
3774
+ ) -> None:
3775
+ '''
3776
+ :param capacity_reservation_ids:
3777
+ :param capacity_reservation_resource_group_arns:
3778
+
3779
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationtarget.html
3780
+ :exampleMetadata: fixture=_generated
3781
+
3782
+ Example::
3783
+
3784
+ # The code below shows an example of how to instantiate this type.
3785
+ # The values are placeholders you should change.
3786
+ from aws_cdk import aws_autoscaling as autoscaling
3787
+
3788
+ capacity_reservation_target_property = autoscaling.CfnAutoScalingGroup.CapacityReservationTargetProperty(
3789
+ capacity_reservation_ids=["capacityReservationIds"],
3790
+ capacity_reservation_resource_group_arns=["capacityReservationResourceGroupArns"]
3791
+ )
3792
+ '''
3793
+ if __debug__:
3794
+ type_hints = typing.get_type_hints(_typecheckingstub__008068c103b32f4f1d9358960d48d71e416dc2ffebeb79a29b94777a9ee6bb28)
3795
+ check_type(argname="argument capacity_reservation_ids", value=capacity_reservation_ids, expected_type=type_hints["capacity_reservation_ids"])
3796
+ check_type(argname="argument capacity_reservation_resource_group_arns", value=capacity_reservation_resource_group_arns, expected_type=type_hints["capacity_reservation_resource_group_arns"])
3797
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3798
+ if capacity_reservation_ids is not None:
3799
+ self._values["capacity_reservation_ids"] = capacity_reservation_ids
3800
+ if capacity_reservation_resource_group_arns is not None:
3801
+ self._values["capacity_reservation_resource_group_arns"] = capacity_reservation_resource_group_arns
3802
+
3803
+ @builtins.property
3804
+ def capacity_reservation_ids(
3805
+ self,
3806
+ ) -> typing.Optional[typing.List[builtins.str]]:
3807
+ '''
3808
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationtarget.html#cfn-autoscaling-autoscalinggroup-capacityreservationtarget-capacityreservationids
3809
+ '''
3810
+ result = self._values.get("capacity_reservation_ids")
3811
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3812
+
3813
+ @builtins.property
3814
+ def capacity_reservation_resource_group_arns(
3815
+ self,
3816
+ ) -> typing.Optional[typing.List[builtins.str]]:
3817
+ '''
3818
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationtarget.html#cfn-autoscaling-autoscalinggroup-capacityreservationtarget-capacityreservationresourcegrouparns
3819
+ '''
3820
+ result = self._values.get("capacity_reservation_resource_group_arns")
3821
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3822
+
3823
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3824
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3825
+
3826
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3827
+ return not (rhs == self)
3828
+
3829
+ def __repr__(self) -> str:
3830
+ return "CapacityReservationTargetProperty(%s)" % ", ".join(
3831
+ k + "=" + repr(v) for k, v in self._values.items()
3832
+ )
3833
+
3834
+ @jsii.data_type(
3835
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty",
3836
+ jsii_struct_bases=[],
3837
+ name_mapping={"references": "references"},
3838
+ )
3839
+ class CpuPerformanceFactorRequestProperty:
3840
+ def __init__(
3841
+ self,
3842
+ *,
3843
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3844
+ ) -> None:
3845
+ '''
3846
+ :param references:
3847
+
3848
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-cpuperformancefactorrequest.html
3849
+ :exampleMetadata: fixture=_generated
3850
+
3851
+ Example::
3852
+
3853
+ # The code below shows an example of how to instantiate this type.
3854
+ # The values are placeholders you should change.
3855
+ from aws_cdk import aws_autoscaling as autoscaling
3856
+
3857
+ cpu_performance_factor_request_property = autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
3858
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
3859
+ instance_family="instanceFamily"
3860
+ )]
3861
+ )
3862
+ '''
3863
+ if __debug__:
3864
+ type_hints = typing.get_type_hints(_typecheckingstub__b278b9a78a0f65790afbe45f65bd99528e1b9698a5e94af246191f9dfe4787e1)
3865
+ check_type(argname="argument references", value=references, expected_type=type_hints["references"])
3866
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3867
+ if references is not None:
3868
+ self._values["references"] = references
3869
+
3870
+ @builtins.property
3871
+ def references(
3872
+ self,
3873
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty"]]]]:
3874
+ '''
3875
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-cpuperformancefactorrequest.html#cfn-autoscaling-autoscalinggroup-cpuperformancefactorrequest-references
3876
+ '''
3877
+ result = self._values.get("references")
3878
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty"]]]], result)
3879
+
3880
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3881
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3882
+
3883
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3884
+ return not (rhs == self)
3885
+
3886
+ def __repr__(self) -> str:
3887
+ return "CpuPerformanceFactorRequestProperty(%s)" % ", ".join(
3888
+ k + "=" + repr(v) for k, v in self._values.items()
3889
+ )
3890
+
3457
3891
  @jsii.data_type(
3458
3892
  jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.InstanceMaintenancePolicyProperty",
3459
3893
  jsii_struct_bases=[],
@@ -3549,6 +3983,7 @@ class CfnAutoScalingGroup(
3549
3983
  "allowed_instance_types": "allowedInstanceTypes",
3550
3984
  "bare_metal": "bareMetal",
3551
3985
  "baseline_ebs_bandwidth_mbps": "baselineEbsBandwidthMbps",
3986
+ "baseline_performance_factors": "baselinePerformanceFactors",
3552
3987
  "burstable_performance": "burstablePerformance",
3553
3988
  "cpu_manufacturers": "cpuManufacturers",
3554
3989
  "excluded_instance_types": "excludedInstanceTypes",
@@ -3579,6 +4014,7 @@ class CfnAutoScalingGroup(
3579
4014
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
3580
4015
  bare_metal: typing.Optional[builtins.str] = None,
3581
4016
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4017
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3582
4018
  burstable_performance: typing.Optional[builtins.str] = None,
3583
4019
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
3584
4020
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -3625,6 +4061,7 @@ class CfnAutoScalingGroup(
3625
4061
  :param allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk ( ``*`` ), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge`` , ``c5*.*`` , ``m5a.*`` , ``r*`` , ``*3*`` . For example, if you specify ``c5*`` , Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``AllowedInstanceTypes`` , you can't specify ``ExcludedInstanceTypes`` . Default: All instance types
3626
4062
  :param bare_metal: Indicates whether bare metal instance types are included, excluded, or required. Default: ``excluded``
3627
4063
  :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth performance for an instance type, in Mbps. For more information, see `Amazon EBS–optimized instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html>`_ in the *Amazon EC2 User Guide for Linux Instances* . Default: No minimum or maximum limits
4064
+ :param baseline_performance_factors:
3628
4065
  :param burstable_performance: Indicates whether burstable performance instance types are included, excluded, or required. For more information, see `Burstable performance instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html>`_ in the *Amazon EC2 User Guide for Linux Instances* . Default: ``excluded``
3629
4066
  :param cpu_manufacturers: Lists which specific CPU manufacturers to include. - For instance types with Intel CPUs, specify ``intel`` . - For instance types with AMD CPUs, specify ``amd`` . - For instance types with AWS CPUs, specify ``amazon-web-services`` . .. epigraph:: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer
3630
4067
  :param excluded_instance_types: The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk ( ``*`` ), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge`` , ``c5*.*`` , ``m5a.*`` , ``r*`` , ``*3*`` . For example, if you specify ``c5*`` , you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``ExcludedInstanceTypes`` , you can't specify ``AllowedInstanceTypes`` . Default: No excluded instance types
@@ -3676,6 +4113,7 @@ class CfnAutoScalingGroup(
3676
4113
  check_type(argname="argument allowed_instance_types", value=allowed_instance_types, expected_type=type_hints["allowed_instance_types"])
3677
4114
  check_type(argname="argument bare_metal", value=bare_metal, expected_type=type_hints["bare_metal"])
3678
4115
  check_type(argname="argument baseline_ebs_bandwidth_mbps", value=baseline_ebs_bandwidth_mbps, expected_type=type_hints["baseline_ebs_bandwidth_mbps"])
4116
+ check_type(argname="argument baseline_performance_factors", value=baseline_performance_factors, expected_type=type_hints["baseline_performance_factors"])
3679
4117
  check_type(argname="argument burstable_performance", value=burstable_performance, expected_type=type_hints["burstable_performance"])
3680
4118
  check_type(argname="argument cpu_manufacturers", value=cpu_manufacturers, expected_type=type_hints["cpu_manufacturers"])
3681
4119
  check_type(argname="argument excluded_instance_types", value=excluded_instance_types, expected_type=type_hints["excluded_instance_types"])
@@ -3710,6 +4148,8 @@ class CfnAutoScalingGroup(
3710
4148
  self._values["bare_metal"] = bare_metal
3711
4149
  if baseline_ebs_bandwidth_mbps is not None:
3712
4150
  self._values["baseline_ebs_bandwidth_mbps"] = baseline_ebs_bandwidth_mbps
4151
+ if baseline_performance_factors is not None:
4152
+ self._values["baseline_performance_factors"] = baseline_performance_factors
3713
4153
  if burstable_performance is not None:
3714
4154
  self._values["burstable_performance"] = burstable_performance
3715
4155
  if cpu_manufacturers is not None:
@@ -3889,6 +4329,16 @@ class CfnAutoScalingGroup(
3889
4329
  result = self._values.get("baseline_ebs_bandwidth_mbps")
3890
4330
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty"]], result)
3891
4331
 
4332
+ @builtins.property
4333
+ def baseline_performance_factors(
4334
+ self,
4335
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty"]]:
4336
+ '''
4337
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-baselineperformancefactors
4338
+ '''
4339
+ result = self._values.get("baseline_performance_factors")
4340
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty"]], result)
4341
+
3892
4342
  @builtins.property
3893
4343
  def burstable_performance(self) -> typing.Optional[builtins.str]:
3894
4344
  '''Indicates whether burstable performance instance types are included, excluded, or required.
@@ -4375,6 +4825,13 @@ class CfnAutoScalingGroup(
4375
4825
  max=123,
4376
4826
  min=123
4377
4827
  ),
4828
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
4829
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
4830
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
4831
+ instance_family="instanceFamily"
4832
+ )]
4833
+ )
4834
+ ),
4378
4835
  burstable_performance="burstablePerformance",
4379
4836
  cpu_manufacturers=["cpuManufacturers"],
4380
4837
  excluded_instance_types=["excludedInstanceTypes"],
@@ -4570,6 +5027,13 @@ class CfnAutoScalingGroup(
4570
5027
  max=123,
4571
5028
  min=123
4572
5029
  ),
5030
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
5031
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
5032
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
5033
+ instance_family="instanceFamily"
5034
+ )]
5035
+ )
5036
+ ),
4573
5037
  burstable_performance="burstablePerformance",
4574
5038
  cpu_manufacturers=["cpuManufacturers"],
4575
5039
  excluded_instance_types=["excludedInstanceTypes"],
@@ -5264,6 +5728,13 @@ class CfnAutoScalingGroup(
5264
5728
  max=123,
5265
5729
  min=123
5266
5730
  ),
5731
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
5732
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
5733
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
5734
+ instance_family="instanceFamily"
5735
+ )]
5736
+ )
5737
+ ),
5267
5738
  burstable_performance="burstablePerformance",
5268
5739
  cpu_manufacturers=["cpuManufacturers"],
5269
5740
  excluded_instance_types=["excludedInstanceTypes"],
@@ -5590,6 +6061,59 @@ class CfnAutoScalingGroup(
5590
6061
  k + "=" + repr(v) for k, v in self._values.items()
5591
6062
  )
5592
6063
 
6064
+ @jsii.data_type(
6065
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty",
6066
+ jsii_struct_bases=[],
6067
+ name_mapping={"instance_family": "instanceFamily"},
6068
+ )
6069
+ class PerformanceFactorReferenceRequestProperty:
6070
+ def __init__(
6071
+ self,
6072
+ *,
6073
+ instance_family: typing.Optional[builtins.str] = None,
6074
+ ) -> None:
6075
+ '''
6076
+ :param instance_family:
6077
+
6078
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-performancefactorreferencerequest.html
6079
+ :exampleMetadata: fixture=_generated
6080
+
6081
+ Example::
6082
+
6083
+ # The code below shows an example of how to instantiate this type.
6084
+ # The values are placeholders you should change.
6085
+ from aws_cdk import aws_autoscaling as autoscaling
6086
+
6087
+ performance_factor_reference_request_property = autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
6088
+ instance_family="instanceFamily"
6089
+ )
6090
+ '''
6091
+ if __debug__:
6092
+ type_hints = typing.get_type_hints(_typecheckingstub__34033c4b330b3f6db6ef7c93869bb7441a8ed29a48b38d3d762cac8933249af9)
6093
+ check_type(argname="argument instance_family", value=instance_family, expected_type=type_hints["instance_family"])
6094
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6095
+ if instance_family is not None:
6096
+ self._values["instance_family"] = instance_family
6097
+
6098
+ @builtins.property
6099
+ def instance_family(self) -> typing.Optional[builtins.str]:
6100
+ '''
6101
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-performancefactorreferencerequest.html#cfn-autoscaling-autoscalinggroup-performancefactorreferencerequest-instancefamily
6102
+ '''
6103
+ result = self._values.get("instance_family")
6104
+ return typing.cast(typing.Optional[builtins.str], result)
6105
+
6106
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6107
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6108
+
6109
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6110
+ return not (rhs == self)
6111
+
6112
+ def __repr__(self) -> str:
6113
+ return "PerformanceFactorReferenceRequestProperty(%s)" % ", ".join(
6114
+ k + "=" + repr(v) for k, v in self._values.items()
6115
+ )
6116
+
5593
6117
  @jsii.data_type(
5594
6118
  jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.TagPropertyProperty",
5595
6119
  jsii_struct_bases=[],
@@ -5927,8 +6451,10 @@ class CfnAutoScalingGroup(
5927
6451
  "min_size": "minSize",
5928
6452
  "auto_scaling_group_name": "autoScalingGroupName",
5929
6453
  "availability_zone_distribution": "availabilityZoneDistribution",
6454
+ "availability_zone_impairment_policy": "availabilityZoneImpairmentPolicy",
5930
6455
  "availability_zones": "availabilityZones",
5931
6456
  "capacity_rebalance": "capacityRebalance",
6457
+ "capacity_reservation_specification": "capacityReservationSpecification",
5932
6458
  "context": "context",
5933
6459
  "cooldown": "cooldown",
5934
6460
  "default_instance_warmup": "defaultInstanceWarmup",
@@ -5950,6 +6476,7 @@ class CfnAutoScalingGroup(
5950
6476
  "notification_configurations": "notificationConfigurations",
5951
6477
  "placement_group": "placementGroup",
5952
6478
  "service_linked_role_arn": "serviceLinkedRoleArn",
6479
+ "skip_zonal_shift_validation": "skipZonalShiftValidation",
5953
6480
  "tags": "tags",
5954
6481
  "target_group_arns": "targetGroupArns",
5955
6482
  "termination_policies": "terminationPolicies",
@@ -5965,8 +6492,10 @@ class CfnAutoScalingGroupProps:
5965
6492
  min_size: builtins.str,
5966
6493
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
5967
6494
  availability_zone_distribution: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneDistributionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6495
+ availability_zone_impairment_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5968
6496
  availability_zones: typing.Optional[typing.Sequence[builtins.str]] = None,
5969
6497
  capacity_rebalance: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6498
+ capacity_reservation_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.CapacityReservationSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5970
6499
  context: typing.Optional[builtins.str] = None,
5971
6500
  cooldown: typing.Optional[builtins.str] = None,
5972
6501
  default_instance_warmup: typing.Optional[jsii.Number] = None,
@@ -5988,6 +6517,7 @@ class CfnAutoScalingGroupProps:
5988
6517
  notification_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.NotificationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5989
6518
  placement_group: typing.Optional[builtins.str] = None,
5990
6519
  service_linked_role_arn: typing.Optional[builtins.str] = None,
6520
+ skip_zonal_shift_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5991
6521
  tags: typing.Optional[typing.Sequence[typing.Union[CfnAutoScalingGroup.TagPropertyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5992
6522
  target_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
5993
6523
  termination_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -5999,9 +6529,11 @@ class CfnAutoScalingGroupProps:
5999
6529
  :param max_size: The maximum size of the group. .. epigraph:: With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above ``MaxSize`` to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go above ``MaxSize`` by more than your largest instance weight (weights that define how many units each instance contributes to the desired capacity of the group).
6000
6530
  :param min_size: The minimum size of the group.
6001
6531
  :param auto_scaling_group_name: The name of the Auto Scaling group. This name must be unique per Region per account. The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and lowercased letters. .. epigraph:: You cannot use a colon (:) in the name.
6002
- :param availability_zone_distribution:
6532
+ :param availability_zone_distribution: The instance capacity distribution across Availability Zones.
6533
+ :param availability_zone_impairment_policy: The Availability Zone impairment policy.
6003
6534
  :param availability_zones: A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the ``VPCZoneIdentifier`` property, or for attaching a network interface when an existing network interface ID is specified in a launch template.
6004
6535
  :param capacity_rebalance: Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. 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. For more information, see `Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html>`_ in the in the *Amazon EC2 Auto Scaling User Guide* .
6536
+ :param capacity_reservation_specification:
6005
6537
  :param context: Reserved.
6006
6538
  :param cooldown: *Only needed if you use simple scaling policies.*. The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see `Scaling cooldowns for Amazon EC2 Auto Scaling <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scaling-cooldowns.html>`_ in the *Amazon EC2 Auto Scaling User Guide* . Default: ``300`` seconds
6007
6539
  :param default_instance_warmup: The amount of time, in seconds, until a new instance is considered to have finished initializing and resource consumption to become stable after it enters the ``InService`` state. During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more information, see `Set the default instance warmup for an Auto Scaling group <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html>`_ in the *Amazon EC2 Auto Scaling User Guide* . .. epigraph:: To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, *even if it is set to 0 seconds* . To remove a value that you previously set, include the property but specify ``-1`` for the value. However, we strongly recommend keeping the default instance warmup enabled by specifying a value of ``0`` or other nominal value. Default: None
@@ -6023,6 +6555,7 @@ class CfnAutoScalingGroupProps:
6023
6555
  :param notification_configurations: Configures an Auto Scaling group to send notifications when specified events take place.
6024
6556
  :param placement_group: The name of the placement group into which to launch your instances. For more information, see `Placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html>`_ in the *Amazon EC2 User Guide for Linux Instances* . .. epigraph:: A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.
6025
6557
  :param service_linked_role_arn: The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named ``AWSServiceRoleForAutoScaling`` , which it creates if it does not exist. For more information, see `Service-linked roles <https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
6558
+ :param skip_zonal_shift_validation:
6026
6559
  :param tags: One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a launch template but use caution. If the launch template specifies an instance tag with a key that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the value specified by the Auto Scaling group. For more information, see `Tag Auto Scaling groups and instances <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
6027
6560
  :param target_group_arns: The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see `Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group <https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
6028
6561
  :param termination_policies: A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see `Configure termination policies for Amazon EC2 Auto Scaling <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html>`_ in the *Amazon EC2 Auto Scaling User Guide* . Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``
@@ -6047,8 +6580,21 @@ class CfnAutoScalingGroupProps:
6047
6580
  availability_zone_distribution=autoscaling.CfnAutoScalingGroup.AvailabilityZoneDistributionProperty(
6048
6581
  capacity_distribution_strategy="capacityDistributionStrategy"
6049
6582
  ),
6583
+ availability_zone_impairment_policy=autoscaling.CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty(
6584
+ impaired_zone_health_check_behavior="impairedZoneHealthCheckBehavior",
6585
+ zonal_shift_enabled=False
6586
+ ),
6050
6587
  availability_zones=["availabilityZones"],
6051
6588
  capacity_rebalance=False,
6589
+ capacity_reservation_specification=autoscaling.CfnAutoScalingGroup.CapacityReservationSpecificationProperty(
6590
+ capacity_reservation_preference="capacityReservationPreference",
6591
+
6592
+ # the properties below are optional
6593
+ capacity_reservation_target=autoscaling.CfnAutoScalingGroup.CapacityReservationTargetProperty(
6594
+ capacity_reservation_ids=["capacityReservationIds"],
6595
+ capacity_reservation_resource_group_arns=["capacityReservationResourceGroupArns"]
6596
+ )
6597
+ ),
6052
6598
  context="context",
6053
6599
  cooldown="cooldown",
6054
6600
  default_instance_warmup=123,
@@ -6128,6 +6674,13 @@ class CfnAutoScalingGroupProps:
6128
6674
  max=123,
6129
6675
  min=123
6130
6676
  ),
6677
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
6678
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
6679
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
6680
+ instance_family="instanceFamily"
6681
+ )]
6682
+ )
6683
+ ),
6131
6684
  burstable_performance="burstablePerformance",
6132
6685
  cpu_manufacturers=["cpuManufacturers"],
6133
6686
  excluded_instance_types=["excludedInstanceTypes"],
@@ -6192,6 +6745,7 @@ class CfnAutoScalingGroupProps:
6192
6745
  )],
6193
6746
  placement_group="placementGroup",
6194
6747
  service_linked_role_arn="serviceLinkedRoleArn",
6748
+ skip_zonal_shift_validation=False,
6195
6749
  tags=[autoscaling.CfnAutoScalingGroup.TagPropertyProperty(
6196
6750
  key="key",
6197
6751
  propagate_at_launch=False,
@@ -6212,8 +6766,10 @@ class CfnAutoScalingGroupProps:
6212
6766
  check_type(argname="argument min_size", value=min_size, expected_type=type_hints["min_size"])
6213
6767
  check_type(argname="argument auto_scaling_group_name", value=auto_scaling_group_name, expected_type=type_hints["auto_scaling_group_name"])
6214
6768
  check_type(argname="argument availability_zone_distribution", value=availability_zone_distribution, expected_type=type_hints["availability_zone_distribution"])
6769
+ check_type(argname="argument availability_zone_impairment_policy", value=availability_zone_impairment_policy, expected_type=type_hints["availability_zone_impairment_policy"])
6215
6770
  check_type(argname="argument availability_zones", value=availability_zones, expected_type=type_hints["availability_zones"])
6216
6771
  check_type(argname="argument capacity_rebalance", value=capacity_rebalance, expected_type=type_hints["capacity_rebalance"])
6772
+ check_type(argname="argument capacity_reservation_specification", value=capacity_reservation_specification, expected_type=type_hints["capacity_reservation_specification"])
6217
6773
  check_type(argname="argument context", value=context, expected_type=type_hints["context"])
6218
6774
  check_type(argname="argument cooldown", value=cooldown, expected_type=type_hints["cooldown"])
6219
6775
  check_type(argname="argument default_instance_warmup", value=default_instance_warmup, expected_type=type_hints["default_instance_warmup"])
@@ -6235,6 +6791,7 @@ class CfnAutoScalingGroupProps:
6235
6791
  check_type(argname="argument notification_configurations", value=notification_configurations, expected_type=type_hints["notification_configurations"])
6236
6792
  check_type(argname="argument placement_group", value=placement_group, expected_type=type_hints["placement_group"])
6237
6793
  check_type(argname="argument service_linked_role_arn", value=service_linked_role_arn, expected_type=type_hints["service_linked_role_arn"])
6794
+ check_type(argname="argument skip_zonal_shift_validation", value=skip_zonal_shift_validation, expected_type=type_hints["skip_zonal_shift_validation"])
6238
6795
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
6239
6796
  check_type(argname="argument target_group_arns", value=target_group_arns, expected_type=type_hints["target_group_arns"])
6240
6797
  check_type(argname="argument termination_policies", value=termination_policies, expected_type=type_hints["termination_policies"])
@@ -6248,10 +6805,14 @@ class CfnAutoScalingGroupProps:
6248
6805
  self._values["auto_scaling_group_name"] = auto_scaling_group_name
6249
6806
  if availability_zone_distribution is not None:
6250
6807
  self._values["availability_zone_distribution"] = availability_zone_distribution
6808
+ if availability_zone_impairment_policy is not None:
6809
+ self._values["availability_zone_impairment_policy"] = availability_zone_impairment_policy
6251
6810
  if availability_zones is not None:
6252
6811
  self._values["availability_zones"] = availability_zones
6253
6812
  if capacity_rebalance is not None:
6254
6813
  self._values["capacity_rebalance"] = capacity_rebalance
6814
+ if capacity_reservation_specification is not None:
6815
+ self._values["capacity_reservation_specification"] = capacity_reservation_specification
6255
6816
  if context is not None:
6256
6817
  self._values["context"] = context
6257
6818
  if cooldown is not None:
@@ -6294,6 +6855,8 @@ class CfnAutoScalingGroupProps:
6294
6855
  self._values["placement_group"] = placement_group
6295
6856
  if service_linked_role_arn is not None:
6296
6857
  self._values["service_linked_role_arn"] = service_linked_role_arn
6858
+ if skip_zonal_shift_validation is not None:
6859
+ self._values["skip_zonal_shift_validation"] = skip_zonal_shift_validation
6297
6860
  if tags is not None:
6298
6861
  self._values["tags"] = tags
6299
6862
  if target_group_arns is not None:
@@ -6347,12 +6910,24 @@ class CfnAutoScalingGroupProps:
6347
6910
  def availability_zone_distribution(
6348
6911
  self,
6349
6912
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneDistributionProperty]]:
6350
- '''
6913
+ '''The instance capacity distribution across Availability Zones.
6914
+
6351
6915
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-availabilityzonedistribution
6352
6916
  '''
6353
6917
  result = self._values.get("availability_zone_distribution")
6354
6918
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneDistributionProperty]], result)
6355
6919
 
6920
+ @builtins.property
6921
+ def availability_zone_impairment_policy(
6922
+ self,
6923
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty]]:
6924
+ '''The Availability Zone impairment policy.
6925
+
6926
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy
6927
+ '''
6928
+ result = self._values.get("availability_zone_impairment_policy")
6929
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty]], result)
6930
+
6356
6931
  @builtins.property
6357
6932
  def availability_zones(self) -> typing.Optional[typing.List[builtins.str]]:
6358
6933
  '''A list of Availability Zones where instances in the Auto Scaling group can be created.
@@ -6377,6 +6952,16 @@ class CfnAutoScalingGroupProps:
6377
6952
  result = self._values.get("capacity_rebalance")
6378
6953
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6379
6954
 
6955
+ @builtins.property
6956
+ def capacity_reservation_specification(
6957
+ self,
6958
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.CapacityReservationSpecificationProperty]]:
6959
+ '''
6960
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-capacityreservationspecification
6961
+ '''
6962
+ result = self._values.get("capacity_reservation_specification")
6963
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.CapacityReservationSpecificationProperty]], result)
6964
+
6380
6965
  @builtins.property
6381
6966
  def context(self) -> typing.Optional[builtins.str]:
6382
6967
  '''Reserved.
@@ -6647,6 +7232,16 @@ class CfnAutoScalingGroupProps:
6647
7232
  result = self._values.get("service_linked_role_arn")
6648
7233
  return typing.cast(typing.Optional[builtins.str], result)
6649
7234
 
7235
+ @builtins.property
7236
+ def skip_zonal_shift_validation(
7237
+ self,
7238
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7239
+ '''
7240
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-skipzonalshiftvalidation
7241
+ '''
7242
+ result = self._values.get("skip_zonal_shift_validation")
7243
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
7244
+
6650
7245
  @builtins.property
6651
7246
  def tags(
6652
7247
  self,
@@ -8644,11 +9239,14 @@ class CfnScalingPolicy(
8644
9239
  stat="stat",
8645
9240
 
8646
9241
  # the properties below are optional
9242
+ period=123,
8647
9243
  unit="unit"
8648
9244
  ),
9245
+ period=123,
8649
9246
  return_data=False
8650
9247
  )],
8651
9248
  namespace="namespace",
9249
+ period=123,
8652
9250
  statistic="statistic",
8653
9251
  unit="unit"
8654
9252
  ),
@@ -8940,6 +9538,7 @@ class CfnScalingPolicy(
8940
9538
  "metric_name": "metricName",
8941
9539
  "metrics": "metrics",
8942
9540
  "namespace": "namespace",
9541
+ "period": "period",
8943
9542
  "statistic": "statistic",
8944
9543
  "unit": "unit",
8945
9544
  },
@@ -8952,6 +9551,7 @@ class CfnScalingPolicy(
8952
9551
  metric_name: typing.Optional[builtins.str] = None,
8953
9552
  metrics: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScalingPolicy.TargetTrackingMetricDataQueryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8954
9553
  namespace: typing.Optional[builtins.str] = None,
9554
+ period: typing.Optional[jsii.Number] = None,
8955
9555
  statistic: typing.Optional[builtins.str] = None,
8956
9556
  unit: typing.Optional[builtins.str] = None,
8957
9557
  ) -> None:
@@ -8970,6 +9570,7 @@ class CfnScalingPolicy(
8970
9570
  :param metric_name: The name of the metric. To get the exact metric name, namespace, and dimensions, inspect the `Metric <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html>`_ object that is returned by a call to `ListMetrics <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html>`_ .
8971
9571
  :param metrics: The metrics to include in the target tracking scaling policy, as a metric data query. This can include both raw metric and metric math expressions.
8972
9572
  :param namespace: The namespace of the metric.
9573
+ :param period:
8973
9574
  :param statistic: The statistic of the metric.
8974
9575
  :param unit: The unit of the metric. For a complete list of the units that CloudWatch supports, see the `MetricDatum <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html>`_ data type in the *Amazon CloudWatch API Reference* .
8975
9576
 
@@ -9008,11 +9609,14 @@ class CfnScalingPolicy(
9008
9609
  stat="stat",
9009
9610
 
9010
9611
  # the properties below are optional
9612
+ period=123,
9011
9613
  unit="unit"
9012
9614
  ),
9615
+ period=123,
9013
9616
  return_data=False
9014
9617
  )],
9015
9618
  namespace="namespace",
9619
+ period=123,
9016
9620
  statistic="statistic",
9017
9621
  unit="unit"
9018
9622
  )
@@ -9023,6 +9627,7 @@ class CfnScalingPolicy(
9023
9627
  check_type(argname="argument metric_name", value=metric_name, expected_type=type_hints["metric_name"])
9024
9628
  check_type(argname="argument metrics", value=metrics, expected_type=type_hints["metrics"])
9025
9629
  check_type(argname="argument namespace", value=namespace, expected_type=type_hints["namespace"])
9630
+ check_type(argname="argument period", value=period, expected_type=type_hints["period"])
9026
9631
  check_type(argname="argument statistic", value=statistic, expected_type=type_hints["statistic"])
9027
9632
  check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
9028
9633
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -9034,6 +9639,8 @@ class CfnScalingPolicy(
9034
9639
  self._values["metrics"] = metrics
9035
9640
  if namespace is not None:
9036
9641
  self._values["namespace"] = namespace
9642
+ if period is not None:
9643
+ self._values["period"] = period
9037
9644
  if statistic is not None:
9038
9645
  self._values["statistic"] = statistic
9039
9646
  if unit is not None:
@@ -9085,6 +9692,14 @@ class CfnScalingPolicy(
9085
9692
  result = self._values.get("namespace")
9086
9693
  return typing.cast(typing.Optional[builtins.str], result)
9087
9694
 
9695
+ @builtins.property
9696
+ def period(self) -> typing.Optional[jsii.Number]:
9697
+ '''
9698
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-period
9699
+ '''
9700
+ result = self._values.get("period")
9701
+ return typing.cast(typing.Optional[jsii.Number], result)
9702
+
9088
9703
  @builtins.property
9089
9704
  def statistic(self) -> typing.Optional[builtins.str]:
9090
9705
  '''The statistic of the metric.
@@ -10903,11 +11518,14 @@ class CfnScalingPolicy(
10903
11518
  stat="stat",
10904
11519
 
10905
11520
  # the properties below are optional
11521
+ period=123,
10906
11522
  unit="unit"
10907
11523
  ),
11524
+ period=123,
10908
11525
  return_data=False
10909
11526
  )],
10910
11527
  namespace="namespace",
11528
+ period=123,
10911
11529
  statistic="statistic",
10912
11530
  unit="unit"
10913
11531
  ),
@@ -11008,6 +11626,7 @@ class CfnScalingPolicy(
11008
11626
  "expression": "expression",
11009
11627
  "label": "label",
11010
11628
  "metric_stat": "metricStat",
11629
+ "period": "period",
11011
11630
  "return_data": "returnData",
11012
11631
  },
11013
11632
  )
@@ -11019,6 +11638,7 @@ class CfnScalingPolicy(
11019
11638
  expression: typing.Optional[builtins.str] = None,
11020
11639
  label: typing.Optional[builtins.str] = None,
11021
11640
  metric_stat: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScalingPolicy.TargetTrackingMetricStatProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
11641
+ period: typing.Optional[jsii.Number] = None,
11022
11642
  return_data: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
11023
11643
  ) -> None:
11024
11644
  '''The metric data to return.
@@ -11035,6 +11655,7 @@ class CfnScalingPolicy(
11035
11655
  :param expression: The math expression to perform on the returned data, if this object is performing a math expression. This expression can use the ``Id`` of the other metrics to refer to those metrics, and can also use the ``Id`` of other expressions to use the result of those expressions. Conditional: Within each ``TargetTrackingMetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat`` , but not both.
11036
11656
  :param label: A human-readable label for this metric or expression. This is especially useful if this is a math expression, so that you know what the value represents.
11037
11657
  :param metric_stat: Information about the metric data to return. Conditional: Within each ``TargetTrackingMetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat`` , but not both.
11658
+ :param period:
11038
11659
  :param return_data: Indicates whether to return the timestamps and raw data values of this metric. If you use any math expressions, specify ``true`` for this value for only the final math expression that the metric specification is based on. You must specify ``false`` for ``ReturnData`` for all the other metrics and expressions used in the metric specification. If you are only retrieving metrics and not performing any math expressions, do not specify anything for ``ReturnData`` . This sets it to its default ( ``true`` ).
11039
11660
 
11040
11661
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html
@@ -11066,8 +11687,10 @@ class CfnScalingPolicy(
11066
11687
  stat="stat",
11067
11688
 
11068
11689
  # the properties below are optional
11690
+ period=123,
11069
11691
  unit="unit"
11070
11692
  ),
11693
+ period=123,
11071
11694
  return_data=False
11072
11695
  )
11073
11696
  '''
@@ -11077,6 +11700,7 @@ class CfnScalingPolicy(
11077
11700
  check_type(argname="argument expression", value=expression, expected_type=type_hints["expression"])
11078
11701
  check_type(argname="argument label", value=label, expected_type=type_hints["label"])
11079
11702
  check_type(argname="argument metric_stat", value=metric_stat, expected_type=type_hints["metric_stat"])
11703
+ check_type(argname="argument period", value=period, expected_type=type_hints["period"])
11080
11704
  check_type(argname="argument return_data", value=return_data, expected_type=type_hints["return_data"])
11081
11705
  self._values: typing.Dict[builtins.str, typing.Any] = {
11082
11706
  "id": id,
@@ -11087,6 +11711,8 @@ class CfnScalingPolicy(
11087
11711
  self._values["label"] = label
11088
11712
  if metric_stat is not None:
11089
11713
  self._values["metric_stat"] = metric_stat
11714
+ if period is not None:
11715
+ self._values["period"] = period
11090
11716
  if return_data is not None:
11091
11717
  self._values["return_data"] = return_data
11092
11718
 
@@ -11139,6 +11765,14 @@ class CfnScalingPolicy(
11139
11765
  result = self._values.get("metric_stat")
11140
11766
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.TargetTrackingMetricStatProperty"]], result)
11141
11767
 
11768
+ @builtins.property
11769
+ def period(self) -> typing.Optional[jsii.Number]:
11770
+ '''
11771
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-period
11772
+ '''
11773
+ result = self._values.get("period")
11774
+ return typing.cast(typing.Optional[jsii.Number], result)
11775
+
11142
11776
  @builtins.property
11143
11777
  def return_data(
11144
11778
  self,
@@ -11168,7 +11802,12 @@ class CfnScalingPolicy(
11168
11802
  @jsii.data_type(
11169
11803
  jsii_type="aws-cdk-lib.aws_autoscaling.CfnScalingPolicy.TargetTrackingMetricStatProperty",
11170
11804
  jsii_struct_bases=[],
11171
- name_mapping={"metric": "metric", "stat": "stat", "unit": "unit"},
11805
+ name_mapping={
11806
+ "metric": "metric",
11807
+ "stat": "stat",
11808
+ "period": "period",
11809
+ "unit": "unit",
11810
+ },
11172
11811
  )
11173
11812
  class TargetTrackingMetricStatProperty:
11174
11813
  def __init__(
@@ -11176,6 +11815,7 @@ class CfnScalingPolicy(
11176
11815
  *,
11177
11816
  metric: typing.Union[_IResolvable_da3f097b, typing.Union["CfnScalingPolicy.MetricProperty", typing.Dict[builtins.str, typing.Any]]],
11178
11817
  stat: builtins.str,
11818
+ period: typing.Optional[jsii.Number] = None,
11179
11819
  unit: typing.Optional[builtins.str] = None,
11180
11820
  ) -> None:
11181
11821
  '''This structure defines the CloudWatch metric to return, along with the statistic and unit.
@@ -11186,6 +11826,7 @@ class CfnScalingPolicy(
11186
11826
 
11187
11827
  :param metric: The metric to use.
11188
11828
  :param stat: The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in `Statistics <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic>`_ in the *Amazon CloudWatch User Guide* . The most commonly used metric for scaling is ``Average`` .
11829
+ :param period:
11189
11830
  :param unit: The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the `MetricDatum <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html>`_ data type in the *Amazon CloudWatch API Reference* .
11190
11831
 
11191
11832
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html
@@ -11211,6 +11852,7 @@ class CfnScalingPolicy(
11211
11852
  stat="stat",
11212
11853
 
11213
11854
  # the properties below are optional
11855
+ period=123,
11214
11856
  unit="unit"
11215
11857
  )
11216
11858
  '''
@@ -11218,11 +11860,14 @@ class CfnScalingPolicy(
11218
11860
  type_hints = typing.get_type_hints(_typecheckingstub__75bb120fe0d7723abf802e828deb5b42b75d441e35d1a2974ff03b0a094adfb2)
11219
11861
  check_type(argname="argument metric", value=metric, expected_type=type_hints["metric"])
11220
11862
  check_type(argname="argument stat", value=stat, expected_type=type_hints["stat"])
11863
+ check_type(argname="argument period", value=period, expected_type=type_hints["period"])
11221
11864
  check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
11222
11865
  self._values: typing.Dict[builtins.str, typing.Any] = {
11223
11866
  "metric": metric,
11224
11867
  "stat": stat,
11225
11868
  }
11869
+ if period is not None:
11870
+ self._values["period"] = period
11226
11871
  if unit is not None:
11227
11872
  self._values["unit"] = unit
11228
11873
 
@@ -11252,6 +11897,14 @@ class CfnScalingPolicy(
11252
11897
  assert result is not None, "Required property 'stat' is missing"
11253
11898
  return typing.cast(builtins.str, result)
11254
11899
 
11900
+ @builtins.property
11901
+ def period(self) -> typing.Optional[jsii.Number]:
11902
+ '''
11903
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-autoscaling-scalingpolicy-targettrackingmetricstat-period
11904
+ '''
11905
+ result = self._values.get("period")
11906
+ return typing.cast(typing.Optional[jsii.Number], result)
11907
+
11255
11908
  @builtins.property
11256
11909
  def unit(self) -> typing.Optional[builtins.str]:
11257
11910
  '''The unit to use for the returned data points.
@@ -11488,11 +12141,14 @@ class CfnScalingPolicyProps:
11488
12141
  stat="stat",
11489
12142
 
11490
12143
  # the properties below are optional
12144
+ period=123,
11491
12145
  unit="unit"
11492
12146
  ),
12147
+ period=123,
11493
12148
  return_data=False
11494
12149
  )],
11495
12150
  namespace="namespace",
12151
+ period=123,
11496
12152
  statistic="statistic",
11497
12153
  unit="unit"
11498
12154
  ),
@@ -14878,6 +15534,13 @@ class LaunchTemplateOverrides:
14878
15534
  max=123,
14879
15535
  min=123
14880
15536
  ),
15537
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
15538
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
15539
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
15540
+ instance_family="instanceFamily"
15541
+ )]
15542
+ )
15543
+ ),
14881
15544
  burstable_performance="burstablePerformance",
14882
15545
  cpu_manufacturers=["cpuManufacturers"],
14883
15546
  excluded_instance_types=["excludedInstanceTypes"],
@@ -20389,8 +21052,10 @@ def _typecheckingstub__d8ba2cee6007161ce4ac8e6f271353563746b8194e9da3c4517351b35
20389
21052
  min_size: builtins.str,
20390
21053
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
20391
21054
  availability_zone_distribution: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneDistributionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21055
+ availability_zone_impairment_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20392
21056
  availability_zones: typing.Optional[typing.Sequence[builtins.str]] = None,
20393
21057
  capacity_rebalance: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21058
+ capacity_reservation_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.CapacityReservationSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20394
21059
  context: typing.Optional[builtins.str] = None,
20395
21060
  cooldown: typing.Optional[builtins.str] = None,
20396
21061
  default_instance_warmup: typing.Optional[jsii.Number] = None,
@@ -20412,6 +21077,7 @@ def _typecheckingstub__d8ba2cee6007161ce4ac8e6f271353563746b8194e9da3c4517351b35
20412
21077
  notification_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.NotificationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
20413
21078
  placement_group: typing.Optional[builtins.str] = None,
20414
21079
  service_linked_role_arn: typing.Optional[builtins.str] = None,
21080
+ skip_zonal_shift_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
20415
21081
  tags: typing.Optional[typing.Sequence[typing.Union[CfnAutoScalingGroup.TagPropertyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20416
21082
  target_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
20417
21083
  termination_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -20457,6 +21123,12 @@ def _typecheckingstub__d5e9ae536cfa6650d411381d31454774f7e8c68d105e3c7f7476fcbdb
20457
21123
  """Type checking stubs"""
20458
21124
  pass
20459
21125
 
21126
+ def _typecheckingstub__2a3fb95d9da967f9a1c48b970739b4471d5c5eee0beaf61d14960348810f297e(
21127
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty]],
21128
+ ) -> None:
21129
+ """Type checking stubs"""
21130
+ pass
21131
+
20460
21132
  def _typecheckingstub__ba79ccc6a2a627119d2b42e5f2c3b0c8a81580a2589535c8255f0eb95acbdad6(
20461
21133
  value: typing.Optional[typing.List[builtins.str]],
20462
21134
  ) -> None:
@@ -20469,6 +21141,12 @@ def _typecheckingstub__fcd7ade02eab7516c3be5872ef46340937bca4fb38ec4eea0d8119ee5
20469
21141
  """Type checking stubs"""
20470
21142
  pass
20471
21143
 
21144
+ def _typecheckingstub__6a3669b72eed49c81bef887851936a8d3e62cc7ebbf7d0596c044449b0caa478(
21145
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.CapacityReservationSpecificationProperty]],
21146
+ ) -> None:
21147
+ """Type checking stubs"""
21148
+ pass
21149
+
20472
21150
  def _typecheckingstub__52553869bb2c8e9fe528514394f739bd1e81992c61e60f7aba37579b8e417255(
20473
21151
  value: typing.Optional[builtins.str],
20474
21152
  ) -> None:
@@ -20595,6 +21273,12 @@ def _typecheckingstub__ed363ed16309e150caf7f0bbc1a1a1fc2c8bd1ddf6ae299fa1540076f
20595
21273
  """Type checking stubs"""
20596
21274
  pass
20597
21275
 
21276
+ def _typecheckingstub__1db1d7f33e11c93324444162bf80d7f4a9c258e18704f896714722a1d73e9792(
21277
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
21278
+ ) -> None:
21279
+ """Type checking stubs"""
21280
+ pass
21281
+
20598
21282
  def _typecheckingstub__c0963720a20234c31372f7701ea4ea3dfe7c6e7ca637ddd0711a893c30acaa71(
20599
21283
  value: typing.Optional[typing.List[CfnAutoScalingGroup.TagPropertyProperty]],
20600
21284
  ) -> None:
@@ -20648,6 +21332,14 @@ def _typecheckingstub__d355d9c2c42bbc544e31b115eb7cc171b2e1dc63696c81872c62b9256
20648
21332
  """Type checking stubs"""
20649
21333
  pass
20650
21334
 
21335
+ def _typecheckingstub__0c859c5dc62959b2f82b88ba908b264057d44a144ac184fa0a7793e433657185(
21336
+ *,
21337
+ impaired_zone_health_check_behavior: builtins.str,
21338
+ zonal_shift_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
21339
+ ) -> None:
21340
+ """Type checking stubs"""
21341
+ pass
21342
+
20651
21343
  def _typecheckingstub__36b0ab4a571aa009a65070b38b6f4e5ef64fa1f94d861b2083c70c2cae437f53(
20652
21344
  *,
20653
21345
  max: typing.Optional[jsii.Number] = None,
@@ -20656,6 +21348,36 @@ def _typecheckingstub__36b0ab4a571aa009a65070b38b6f4e5ef64fa1f94d861b2083c70c2ca
20656
21348
  """Type checking stubs"""
20657
21349
  pass
20658
21350
 
21351
+ def _typecheckingstub__d201229bbf8df0493f8005eab4878dceaf3ea5d9ead6d07f5daa203e74d566d1(
21352
+ *,
21353
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21354
+ ) -> None:
21355
+ """Type checking stubs"""
21356
+ pass
21357
+
21358
+ def _typecheckingstub__1bde97582584c247c2d01a5e0b6cd47064999134f62912522c05bd0ba4e73870(
21359
+ *,
21360
+ capacity_reservation_preference: builtins.str,
21361
+ capacity_reservation_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.CapacityReservationTargetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21362
+ ) -> None:
21363
+ """Type checking stubs"""
21364
+ pass
21365
+
21366
+ def _typecheckingstub__008068c103b32f4f1d9358960d48d71e416dc2ffebeb79a29b94777a9ee6bb28(
21367
+ *,
21368
+ capacity_reservation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
21369
+ capacity_reservation_resource_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
21370
+ ) -> None:
21371
+ """Type checking stubs"""
21372
+ pass
21373
+
21374
+ def _typecheckingstub__b278b9a78a0f65790afbe45f65bd99528e1b9698a5e94af246191f9dfe4787e1(
21375
+ *,
21376
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
21377
+ ) -> None:
21378
+ """Type checking stubs"""
21379
+ pass
21380
+
20659
21381
  def _typecheckingstub__87d530b3532712626606d828a108a8ef6e07c752060995be5ad0caf95141d336(
20660
21382
  *,
20661
21383
  max_healthy_percentage: typing.Optional[jsii.Number] = None,
@@ -20676,6 +21398,7 @@ def _typecheckingstub__e22358c3d5577020d9106a247f13fb06a2cf3668a83ede597e2b41db7
20676
21398
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
20677
21399
  bare_metal: typing.Optional[builtins.str] = None,
20678
21400
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21401
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20679
21402
  burstable_performance: typing.Optional[builtins.str] = None,
20680
21403
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
20681
21404
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -20802,6 +21525,13 @@ def _typecheckingstub__5d6e36a12e4115639643f5e3b4951b7f3b869c9a2cb0f8a0b3bd14224
20802
21525
  """Type checking stubs"""
20803
21526
  pass
20804
21527
 
21528
+ def _typecheckingstub__34033c4b330b3f6db6ef7c93869bb7441a8ed29a48b38d3d762cac8933249af9(
21529
+ *,
21530
+ instance_family: typing.Optional[builtins.str] = None,
21531
+ ) -> None:
21532
+ """Type checking stubs"""
21533
+ pass
21534
+
20805
21535
  def _typecheckingstub__fbe45b876c171c89a71ab1315093a8b32d7ef922f5c3986e220789bfa73f9633(
20806
21536
  *,
20807
21537
  key: builtins.str,
@@ -20841,8 +21571,10 @@ def _typecheckingstub__63de692030eb0bc729681a791501e2edd744cab3141e27cc9c9c8def2
20841
21571
  min_size: builtins.str,
20842
21572
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
20843
21573
  availability_zone_distribution: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneDistributionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21574
+ availability_zone_impairment_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20844
21575
  availability_zones: typing.Optional[typing.Sequence[builtins.str]] = None,
20845
21576
  capacity_rebalance: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21577
+ capacity_reservation_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.CapacityReservationSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20846
21578
  context: typing.Optional[builtins.str] = None,
20847
21579
  cooldown: typing.Optional[builtins.str] = None,
20848
21580
  default_instance_warmup: typing.Optional[jsii.Number] = None,
@@ -20864,6 +21596,7 @@ def _typecheckingstub__63de692030eb0bc729681a791501e2edd744cab3141e27cc9c9c8def2
20864
21596
  notification_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.NotificationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
20865
21597
  placement_group: typing.Optional[builtins.str] = None,
20866
21598
  service_linked_role_arn: typing.Optional[builtins.str] = None,
21599
+ skip_zonal_shift_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
20867
21600
  tags: typing.Optional[typing.Sequence[typing.Union[CfnAutoScalingGroup.TagPropertyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20868
21601
  target_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
20869
21602
  termination_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -21276,6 +22009,7 @@ def _typecheckingstub__8e7031340719d237d3182678de0dc2931e386340d37c2dd60e36be75a
21276
22009
  metric_name: typing.Optional[builtins.str] = None,
21277
22010
  metrics: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScalingPolicy.TargetTrackingMetricDataQueryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
21278
22011
  namespace: typing.Optional[builtins.str] = None,
22012
+ period: typing.Optional[jsii.Number] = None,
21279
22013
  statistic: typing.Optional[builtins.str] = None,
21280
22014
  unit: typing.Optional[builtins.str] = None,
21281
22015
  ) -> None:
@@ -21421,6 +22155,7 @@ def _typecheckingstub__db2b2d9653863b1d1b8f67347857edde6d9dc3f6f755a593d8da143f9
21421
22155
  expression: typing.Optional[builtins.str] = None,
21422
22156
  label: typing.Optional[builtins.str] = None,
21423
22157
  metric_stat: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScalingPolicy.TargetTrackingMetricStatProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22158
+ period: typing.Optional[jsii.Number] = None,
21424
22159
  return_data: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21425
22160
  ) -> None:
21426
22161
  """Type checking stubs"""
@@ -21430,6 +22165,7 @@ def _typecheckingstub__75bb120fe0d7723abf802e828deb5b42b75d441e35d1a2974ff03b0a0
21430
22165
  *,
21431
22166
  metric: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScalingPolicy.MetricProperty, typing.Dict[builtins.str, typing.Any]]],
21432
22167
  stat: builtins.str,
22168
+ period: typing.Optional[jsii.Number] = None,
21433
22169
  unit: typing.Optional[builtins.str] = None,
21434
22170
  ) -> None:
21435
22171
  """Type checking stubs"""