aws-cdk-lib 2.167.2__py3-none-any.whl → 2.168.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 (44) hide show
  1. aws_cdk/__init__.py +2081 -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.168.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
  5. aws_cdk/aws_applicationinsights/__init__.py +41 -0
  6. aws_cdk/aws_applicationsignals/__init__.py +117 -0
  7. aws_cdk/aws_autoscaling/__init__.py +441 -6
  8. aws_cdk/aws_batch/__init__.py +202 -5
  9. aws_cdk/aws_bedrock/__init__.py +12 -12
  10. aws_cdk/aws_cleanrooms/__init__.py +17 -8
  11. aws_cdk/aws_cloudformation/__init__.py +2571 -492
  12. aws_cdk/aws_cloudfront/__init__.py +231 -0
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  14. aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
  15. aws_cdk/aws_cloudtrail/__init__.py +52 -14
  16. aws_cdk/aws_codebuild/__init__.py +668 -2
  17. aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
  18. aws_cdk/aws_dynamodb/__init__.py +332 -11
  19. aws_cdk/aws_ec2/__init__.py +13 -4
  20. aws_cdk/aws_ecs/__init__.py +213 -0
  21. aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
  22. aws_cdk/aws_fis/__init__.py +495 -0
  23. aws_cdk/aws_gamelift/__init__.py +3101 -1135
  24. aws_cdk/aws_kinesisfirehose/__init__.py +696 -5
  25. aws_cdk/aws_lambda/__init__.py +634 -259
  26. aws_cdk/aws_lambda_destinations/__init__.py +73 -0
  27. aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
  28. aws_cdk/aws_location/__init__.py +18 -18
  29. aws_cdk/aws_mediastore/__init__.py +22 -10
  30. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  31. aws_cdk/aws_quicksight/__init__.py +35 -19
  32. aws_cdk/aws_rds/__init__.py +51 -3
  33. aws_cdk/aws_securityhub/__init__.py +11 -14
  34. aws_cdk/aws_ses/__init__.py +58 -5
  35. aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
  36. aws_cdk/aws_transfer/__init__.py +0 -8
  37. aws_cdk/aws_vpclattice/__init__.py +39 -0
  38. aws_cdk/aws_wisdom/__init__.py +134 -85
  39. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/METADATA +1 -1
  40. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/RECORD +44 -43
  41. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/LICENSE +0 -0
  42. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/NOTICE +0 -0
  43. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/WHEEL +0 -0
  44. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.168.0.dist-info}/top_level.txt +0 -0
@@ -2375,6 +2375,10 @@ 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,
2380
2384
  context="context",
@@ -2456,6 +2460,13 @@ class CfnAutoScalingGroup(
2456
2460
  max=123,
2457
2461
  min=123
2458
2462
  ),
2463
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
2464
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
2465
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
2466
+ instance_family="instanceFamily"
2467
+ )]
2468
+ )
2469
+ ),
2459
2470
  burstable_performance="burstablePerformance",
2460
2471
  cpu_manufacturers=["cpuManufacturers"],
2461
2472
  excluded_instance_types=["excludedInstanceTypes"],
@@ -2520,6 +2531,7 @@ class CfnAutoScalingGroup(
2520
2531
  )],
2521
2532
  placement_group="placementGroup",
2522
2533
  service_linked_role_arn="serviceLinkedRoleArn",
2534
+ skip_zonal_shift_validation=False,
2523
2535
  tags=[autoscaling.CfnAutoScalingGroup.TagPropertyProperty(
2524
2536
  key="key",
2525
2537
  propagate_at_launch=False,
@@ -2544,6 +2556,7 @@ class CfnAutoScalingGroup(
2544
2556
  min_size: builtins.str,
2545
2557
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
2546
2558
  availability_zone_distribution: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.AvailabilityZoneDistributionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2559
+ availability_zone_impairment_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2547
2560
  availability_zones: typing.Optional[typing.Sequence[builtins.str]] = None,
2548
2561
  capacity_rebalance: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2549
2562
  context: typing.Optional[builtins.str] = None,
@@ -2567,6 +2580,7 @@ class CfnAutoScalingGroup(
2567
2580
  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
2581
  placement_group: typing.Optional[builtins.str] = None,
2569
2582
  service_linked_role_arn: typing.Optional[builtins.str] = None,
2583
+ skip_zonal_shift_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2570
2584
  tags: typing.Optional[typing.Sequence[typing.Union["CfnAutoScalingGroup.TagPropertyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2571
2585
  target_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
2572
2586
  termination_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2579,7 +2593,8 @@ class CfnAutoScalingGroup(
2579
2593
  :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
2594
  :param min_size: The minimum size of the group.
2581
2595
  :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:
2596
+ :param availability_zone_distribution: The instance capacity distribution across Availability Zones.
2597
+ :param availability_zone_impairment_policy:
2583
2598
  :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
2599
  :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* .
2585
2600
  :param context: Reserved.
@@ -2603,6 +2618,7 @@ class CfnAutoScalingGroup(
2603
2618
  :param notification_configurations: Configures an Auto Scaling group to send notifications when specified events take place.
2604
2619
  :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
2620
  :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* .
2621
+ :param skip_zonal_shift_validation:
2606
2622
  :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
2623
  :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
2624
  :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,6 +2634,7 @@ class CfnAutoScalingGroup(
2618
2634
  min_size=min_size,
2619
2635
  auto_scaling_group_name=auto_scaling_group_name,
2620
2636
  availability_zone_distribution=availability_zone_distribution,
2637
+ availability_zone_impairment_policy=availability_zone_impairment_policy,
2621
2638
  availability_zones=availability_zones,
2622
2639
  capacity_rebalance=capacity_rebalance,
2623
2640
  context=context,
@@ -2641,6 +2658,7 @@ class CfnAutoScalingGroup(
2641
2658
  notification_configurations=notification_configurations,
2642
2659
  placement_group=placement_group,
2643
2660
  service_linked_role_arn=service_linked_role_arn,
2661
+ skip_zonal_shift_validation=skip_zonal_shift_validation,
2644
2662
  tags=tags,
2645
2663
  target_group_arns=target_group_arns,
2646
2664
  termination_policies=termination_policies,
@@ -2738,6 +2756,7 @@ class CfnAutoScalingGroup(
2738
2756
  def availability_zone_distribution(
2739
2757
  self,
2740
2758
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneDistributionProperty"]]:
2759
+ '''The instance capacity distribution across Availability Zones.'''
2741
2760
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneDistributionProperty"]], jsii.get(self, "availabilityZoneDistribution"))
2742
2761
 
2743
2762
  @availability_zone_distribution.setter
@@ -2750,6 +2769,23 @@ class CfnAutoScalingGroup(
2750
2769
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2751
2770
  jsii.set(self, "availabilityZoneDistribution", value) # pyright: ignore[reportArgumentType]
2752
2771
 
2772
+ @builtins.property
2773
+ @jsii.member(jsii_name="availabilityZoneImpairmentPolicy")
2774
+ def availability_zone_impairment_policy(
2775
+ self,
2776
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty"]]:
2777
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty"]], jsii.get(self, "availabilityZoneImpairmentPolicy"))
2778
+
2779
+ @availability_zone_impairment_policy.setter
2780
+ def availability_zone_impairment_policy(
2781
+ self,
2782
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty"]],
2783
+ ) -> None:
2784
+ if __debug__:
2785
+ type_hints = typing.get_type_hints(_typecheckingstub__2a3fb95d9da967f9a1c48b970739b4471d5c5eee0beaf61d14960348810f297e)
2786
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2787
+ jsii.set(self, "availabilityZoneImpairmentPolicy", value) # pyright: ignore[reportArgumentType]
2788
+
2753
2789
  @builtins.property
2754
2790
  @jsii.member(jsii_name="availabilityZones")
2755
2791
  def availability_zones(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -3105,6 +3141,23 @@ class CfnAutoScalingGroup(
3105
3141
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3106
3142
  jsii.set(self, "serviceLinkedRoleArn", value) # pyright: ignore[reportArgumentType]
3107
3143
 
3144
+ @builtins.property
3145
+ @jsii.member(jsii_name="skipZonalShiftValidation")
3146
+ def skip_zonal_shift_validation(
3147
+ self,
3148
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3149
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "skipZonalShiftValidation"))
3150
+
3151
+ @skip_zonal_shift_validation.setter
3152
+ def skip_zonal_shift_validation(
3153
+ self,
3154
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
3155
+ ) -> None:
3156
+ if __debug__:
3157
+ type_hints = typing.get_type_hints(_typecheckingstub__1db1d7f33e11c93324444162bf80d7f4a9c258e18704f896714722a1d73e9792)
3158
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3159
+ jsii.set(self, "skipZonalShiftValidation", value) # pyright: ignore[reportArgumentType]
3160
+
3108
3161
  @builtins.property
3109
3162
  @jsii.member(jsii_name="tagsRaw")
3110
3163
  def tags_raw(
@@ -3342,8 +3395,9 @@ class CfnAutoScalingGroup(
3342
3395
  *,
3343
3396
  capacity_distribution_strategy: typing.Optional[builtins.str] = None,
3344
3397
  ) -> None:
3345
- '''
3346
- :param capacity_distribution_strategy:
3398
+ '''``AvailabilityZoneDistribution`` is a property of the `AWS::AutoScaling::AutoScalingGroup <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html>`_ resource.
3399
+
3400
+ :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
3401
 
3348
3402
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzonedistribution.html
3349
3403
  :exampleMetadata: fixture=_generated
@@ -3367,7 +3421,11 @@ class CfnAutoScalingGroup(
3367
3421
 
3368
3422
  @builtins.property
3369
3423
  def capacity_distribution_strategy(self) -> typing.Optional[builtins.str]:
3370
- '''
3424
+ '''If launches fail in an Availability Zone, the following strategies are available. The default is ``balanced-best-effort`` .
3425
+
3426
+ - ``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.
3427
+ - ``balanced-best-effort`` - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.
3428
+
3371
3429
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzonedistribution.html#cfn-autoscaling-autoscalinggroup-availabilityzonedistribution-capacitydistributionstrategy
3372
3430
  '''
3373
3431
  result = self._values.get("capacity_distribution_strategy")
@@ -3384,6 +3442,79 @@ class CfnAutoScalingGroup(
3384
3442
  k + "=" + repr(v) for k, v in self._values.items()
3385
3443
  )
3386
3444
 
3445
+ @jsii.data_type(
3446
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty",
3447
+ jsii_struct_bases=[],
3448
+ name_mapping={
3449
+ "impaired_zone_health_check_behavior": "impairedZoneHealthCheckBehavior",
3450
+ "zonal_shift_enabled": "zonalShiftEnabled",
3451
+ },
3452
+ )
3453
+ class AvailabilityZoneImpairmentPolicyProperty:
3454
+ def __init__(
3455
+ self,
3456
+ *,
3457
+ impaired_zone_health_check_behavior: builtins.str,
3458
+ zonal_shift_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
3459
+ ) -> None:
3460
+ '''
3461
+ :param impaired_zone_health_check_behavior:
3462
+ :param zonal_shift_enabled:
3463
+
3464
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy.html
3465
+ :exampleMetadata: fixture=_generated
3466
+
3467
+ Example::
3468
+
3469
+ # The code below shows an example of how to instantiate this type.
3470
+ # The values are placeholders you should change.
3471
+ from aws_cdk import aws_autoscaling as autoscaling
3472
+
3473
+ availability_zone_impairment_policy_property = autoscaling.CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty(
3474
+ impaired_zone_health_check_behavior="impairedZoneHealthCheckBehavior",
3475
+ zonal_shift_enabled=False
3476
+ )
3477
+ '''
3478
+ if __debug__:
3479
+ type_hints = typing.get_type_hints(_typecheckingstub__0c859c5dc62959b2f82b88ba908b264057d44a144ac184fa0a7793e433657185)
3480
+ check_type(argname="argument impaired_zone_health_check_behavior", value=impaired_zone_health_check_behavior, expected_type=type_hints["impaired_zone_health_check_behavior"])
3481
+ check_type(argname="argument zonal_shift_enabled", value=zonal_shift_enabled, expected_type=type_hints["zonal_shift_enabled"])
3482
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3483
+ "impaired_zone_health_check_behavior": impaired_zone_health_check_behavior,
3484
+ "zonal_shift_enabled": zonal_shift_enabled,
3485
+ }
3486
+
3487
+ @builtins.property
3488
+ def impaired_zone_health_check_behavior(self) -> builtins.str:
3489
+ '''
3490
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy.html#cfn-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy-impairedzonehealthcheckbehavior
3491
+ '''
3492
+ result = self._values.get("impaired_zone_health_check_behavior")
3493
+ assert result is not None, "Required property 'impaired_zone_health_check_behavior' is missing"
3494
+ return typing.cast(builtins.str, result)
3495
+
3496
+ @builtins.property
3497
+ def zonal_shift_enabled(
3498
+ self,
3499
+ ) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
3500
+ '''
3501
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy.html#cfn-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy-zonalshiftenabled
3502
+ '''
3503
+ result = self._values.get("zonal_shift_enabled")
3504
+ assert result is not None, "Required property 'zonal_shift_enabled' is missing"
3505
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
3506
+
3507
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3508
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3509
+
3510
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3511
+ return not (rhs == self)
3512
+
3513
+ def __repr__(self) -> str:
3514
+ return "AvailabilityZoneImpairmentPolicyProperty(%s)" % ", ".join(
3515
+ k + "=" + repr(v) for k, v in self._values.items()
3516
+ )
3517
+
3387
3518
  @jsii.data_type(
3388
3519
  jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty",
3389
3520
  jsii_struct_bases=[],
@@ -3454,6 +3585,122 @@ class CfnAutoScalingGroup(
3454
3585
  k + "=" + repr(v) for k, v in self._values.items()
3455
3586
  )
3456
3587
 
3588
+ @jsii.data_type(
3589
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty",
3590
+ jsii_struct_bases=[],
3591
+ name_mapping={"cpu": "cpu"},
3592
+ )
3593
+ class BaselinePerformanceFactorsRequestProperty:
3594
+ def __init__(
3595
+ self,
3596
+ *,
3597
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3598
+ ) -> None:
3599
+ '''
3600
+ :param cpu:
3601
+
3602
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineperformancefactorsrequest.html
3603
+ :exampleMetadata: fixture=_generated
3604
+
3605
+ Example::
3606
+
3607
+ # The code below shows an example of how to instantiate this type.
3608
+ # The values are placeholders you should change.
3609
+ from aws_cdk import aws_autoscaling as autoscaling
3610
+
3611
+ baseline_performance_factors_request_property = autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
3612
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
3613
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
3614
+ instance_family="instanceFamily"
3615
+ )]
3616
+ )
3617
+ )
3618
+ '''
3619
+ if __debug__:
3620
+ type_hints = typing.get_type_hints(_typecheckingstub__d201229bbf8df0493f8005eab4878dceaf3ea5d9ead6d07f5daa203e74d566d1)
3621
+ check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
3622
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3623
+ if cpu is not None:
3624
+ self._values["cpu"] = cpu
3625
+
3626
+ @builtins.property
3627
+ def cpu(
3628
+ self,
3629
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty"]]:
3630
+ '''
3631
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineperformancefactorsrequest.html#cfn-autoscaling-autoscalinggroup-baselineperformancefactorsrequest-cpu
3632
+ '''
3633
+ result = self._values.get("cpu")
3634
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty"]], result)
3635
+
3636
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3637
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3638
+
3639
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3640
+ return not (rhs == self)
3641
+
3642
+ def __repr__(self) -> str:
3643
+ return "BaselinePerformanceFactorsRequestProperty(%s)" % ", ".join(
3644
+ k + "=" + repr(v) for k, v in self._values.items()
3645
+ )
3646
+
3647
+ @jsii.data_type(
3648
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty",
3649
+ jsii_struct_bases=[],
3650
+ name_mapping={"references": "references"},
3651
+ )
3652
+ class CpuPerformanceFactorRequestProperty:
3653
+ def __init__(
3654
+ self,
3655
+ *,
3656
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3657
+ ) -> None:
3658
+ '''
3659
+ :param references:
3660
+
3661
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-cpuperformancefactorrequest.html
3662
+ :exampleMetadata: fixture=_generated
3663
+
3664
+ Example::
3665
+
3666
+ # The code below shows an example of how to instantiate this type.
3667
+ # The values are placeholders you should change.
3668
+ from aws_cdk import aws_autoscaling as autoscaling
3669
+
3670
+ cpu_performance_factor_request_property = autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
3671
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
3672
+ instance_family="instanceFamily"
3673
+ )]
3674
+ )
3675
+ '''
3676
+ if __debug__:
3677
+ type_hints = typing.get_type_hints(_typecheckingstub__b278b9a78a0f65790afbe45f65bd99528e1b9698a5e94af246191f9dfe4787e1)
3678
+ check_type(argname="argument references", value=references, expected_type=type_hints["references"])
3679
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3680
+ if references is not None:
3681
+ self._values["references"] = references
3682
+
3683
+ @builtins.property
3684
+ def references(
3685
+ self,
3686
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty"]]]]:
3687
+ '''
3688
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-cpuperformancefactorrequest.html#cfn-autoscaling-autoscalinggroup-cpuperformancefactorrequest-references
3689
+ '''
3690
+ result = self._values.get("references")
3691
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty"]]]], result)
3692
+
3693
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3694
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3695
+
3696
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3697
+ return not (rhs == self)
3698
+
3699
+ def __repr__(self) -> str:
3700
+ return "CpuPerformanceFactorRequestProperty(%s)" % ", ".join(
3701
+ k + "=" + repr(v) for k, v in self._values.items()
3702
+ )
3703
+
3457
3704
  @jsii.data_type(
3458
3705
  jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.InstanceMaintenancePolicyProperty",
3459
3706
  jsii_struct_bases=[],
@@ -3549,6 +3796,7 @@ class CfnAutoScalingGroup(
3549
3796
  "allowed_instance_types": "allowedInstanceTypes",
3550
3797
  "bare_metal": "bareMetal",
3551
3798
  "baseline_ebs_bandwidth_mbps": "baselineEbsBandwidthMbps",
3799
+ "baseline_performance_factors": "baselinePerformanceFactors",
3552
3800
  "burstable_performance": "burstablePerformance",
3553
3801
  "cpu_manufacturers": "cpuManufacturers",
3554
3802
  "excluded_instance_types": "excludedInstanceTypes",
@@ -3579,6 +3827,7 @@ class CfnAutoScalingGroup(
3579
3827
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
3580
3828
  bare_metal: typing.Optional[builtins.str] = None,
3581
3829
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3830
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3582
3831
  burstable_performance: typing.Optional[builtins.str] = None,
3583
3832
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
3584
3833
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -3625,6 +3874,7 @@ class CfnAutoScalingGroup(
3625
3874
  :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
3875
  :param bare_metal: Indicates whether bare metal instance types are included, excluded, or required. Default: ``excluded``
3627
3876
  :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
3877
+ :param baseline_performance_factors:
3628
3878
  :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
3879
  :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
3880
  :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 +3926,7 @@ class CfnAutoScalingGroup(
3676
3926
  check_type(argname="argument allowed_instance_types", value=allowed_instance_types, expected_type=type_hints["allowed_instance_types"])
3677
3927
  check_type(argname="argument bare_metal", value=bare_metal, expected_type=type_hints["bare_metal"])
3678
3928
  check_type(argname="argument baseline_ebs_bandwidth_mbps", value=baseline_ebs_bandwidth_mbps, expected_type=type_hints["baseline_ebs_bandwidth_mbps"])
3929
+ check_type(argname="argument baseline_performance_factors", value=baseline_performance_factors, expected_type=type_hints["baseline_performance_factors"])
3679
3930
  check_type(argname="argument burstable_performance", value=burstable_performance, expected_type=type_hints["burstable_performance"])
3680
3931
  check_type(argname="argument cpu_manufacturers", value=cpu_manufacturers, expected_type=type_hints["cpu_manufacturers"])
3681
3932
  check_type(argname="argument excluded_instance_types", value=excluded_instance_types, expected_type=type_hints["excluded_instance_types"])
@@ -3710,6 +3961,8 @@ class CfnAutoScalingGroup(
3710
3961
  self._values["bare_metal"] = bare_metal
3711
3962
  if baseline_ebs_bandwidth_mbps is not None:
3712
3963
  self._values["baseline_ebs_bandwidth_mbps"] = baseline_ebs_bandwidth_mbps
3964
+ if baseline_performance_factors is not None:
3965
+ self._values["baseline_performance_factors"] = baseline_performance_factors
3713
3966
  if burstable_performance is not None:
3714
3967
  self._values["burstable_performance"] = burstable_performance
3715
3968
  if cpu_manufacturers is not None:
@@ -3889,6 +4142,16 @@ class CfnAutoScalingGroup(
3889
4142
  result = self._values.get("baseline_ebs_bandwidth_mbps")
3890
4143
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty"]], result)
3891
4144
 
4145
+ @builtins.property
4146
+ def baseline_performance_factors(
4147
+ self,
4148
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty"]]:
4149
+ '''
4150
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-baselineperformancefactors
4151
+ '''
4152
+ result = self._values.get("baseline_performance_factors")
4153
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty"]], result)
4154
+
3892
4155
  @builtins.property
3893
4156
  def burstable_performance(self) -> typing.Optional[builtins.str]:
3894
4157
  '''Indicates whether burstable performance instance types are included, excluded, or required.
@@ -4375,6 +4638,13 @@ class CfnAutoScalingGroup(
4375
4638
  max=123,
4376
4639
  min=123
4377
4640
  ),
4641
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
4642
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
4643
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
4644
+ instance_family="instanceFamily"
4645
+ )]
4646
+ )
4647
+ ),
4378
4648
  burstable_performance="burstablePerformance",
4379
4649
  cpu_manufacturers=["cpuManufacturers"],
4380
4650
  excluded_instance_types=["excludedInstanceTypes"],
@@ -4570,6 +4840,13 @@ class CfnAutoScalingGroup(
4570
4840
  max=123,
4571
4841
  min=123
4572
4842
  ),
4843
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
4844
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
4845
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
4846
+ instance_family="instanceFamily"
4847
+ )]
4848
+ )
4849
+ ),
4573
4850
  burstable_performance="burstablePerformance",
4574
4851
  cpu_manufacturers=["cpuManufacturers"],
4575
4852
  excluded_instance_types=["excludedInstanceTypes"],
@@ -5264,6 +5541,13 @@ class CfnAutoScalingGroup(
5264
5541
  max=123,
5265
5542
  min=123
5266
5543
  ),
5544
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
5545
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
5546
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
5547
+ instance_family="instanceFamily"
5548
+ )]
5549
+ )
5550
+ ),
5267
5551
  burstable_performance="burstablePerformance",
5268
5552
  cpu_manufacturers=["cpuManufacturers"],
5269
5553
  excluded_instance_types=["excludedInstanceTypes"],
@@ -5590,6 +5874,59 @@ class CfnAutoScalingGroup(
5590
5874
  k + "=" + repr(v) for k, v in self._values.items()
5591
5875
  )
5592
5876
 
5877
+ @jsii.data_type(
5878
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty",
5879
+ jsii_struct_bases=[],
5880
+ name_mapping={"instance_family": "instanceFamily"},
5881
+ )
5882
+ class PerformanceFactorReferenceRequestProperty:
5883
+ def __init__(
5884
+ self,
5885
+ *,
5886
+ instance_family: typing.Optional[builtins.str] = None,
5887
+ ) -> None:
5888
+ '''
5889
+ :param instance_family:
5890
+
5891
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-performancefactorreferencerequest.html
5892
+ :exampleMetadata: fixture=_generated
5893
+
5894
+ Example::
5895
+
5896
+ # The code below shows an example of how to instantiate this type.
5897
+ # The values are placeholders you should change.
5898
+ from aws_cdk import aws_autoscaling as autoscaling
5899
+
5900
+ performance_factor_reference_request_property = autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
5901
+ instance_family="instanceFamily"
5902
+ )
5903
+ '''
5904
+ if __debug__:
5905
+ type_hints = typing.get_type_hints(_typecheckingstub__34033c4b330b3f6db6ef7c93869bb7441a8ed29a48b38d3d762cac8933249af9)
5906
+ check_type(argname="argument instance_family", value=instance_family, expected_type=type_hints["instance_family"])
5907
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5908
+ if instance_family is not None:
5909
+ self._values["instance_family"] = instance_family
5910
+
5911
+ @builtins.property
5912
+ def instance_family(self) -> typing.Optional[builtins.str]:
5913
+ '''
5914
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-performancefactorreferencerequest.html#cfn-autoscaling-autoscalinggroup-performancefactorreferencerequest-instancefamily
5915
+ '''
5916
+ result = self._values.get("instance_family")
5917
+ return typing.cast(typing.Optional[builtins.str], result)
5918
+
5919
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5920
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5921
+
5922
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5923
+ return not (rhs == self)
5924
+
5925
+ def __repr__(self) -> str:
5926
+ return "PerformanceFactorReferenceRequestProperty(%s)" % ", ".join(
5927
+ k + "=" + repr(v) for k, v in self._values.items()
5928
+ )
5929
+
5593
5930
  @jsii.data_type(
5594
5931
  jsii_type="aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup.TagPropertyProperty",
5595
5932
  jsii_struct_bases=[],
@@ -5927,6 +6264,7 @@ class CfnAutoScalingGroup(
5927
6264
  "min_size": "minSize",
5928
6265
  "auto_scaling_group_name": "autoScalingGroupName",
5929
6266
  "availability_zone_distribution": "availabilityZoneDistribution",
6267
+ "availability_zone_impairment_policy": "availabilityZoneImpairmentPolicy",
5930
6268
  "availability_zones": "availabilityZones",
5931
6269
  "capacity_rebalance": "capacityRebalance",
5932
6270
  "context": "context",
@@ -5950,6 +6288,7 @@ class CfnAutoScalingGroup(
5950
6288
  "notification_configurations": "notificationConfigurations",
5951
6289
  "placement_group": "placementGroup",
5952
6290
  "service_linked_role_arn": "serviceLinkedRoleArn",
6291
+ "skip_zonal_shift_validation": "skipZonalShiftValidation",
5953
6292
  "tags": "tags",
5954
6293
  "target_group_arns": "targetGroupArns",
5955
6294
  "termination_policies": "terminationPolicies",
@@ -5965,6 +6304,7 @@ class CfnAutoScalingGroupProps:
5965
6304
  min_size: builtins.str,
5966
6305
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
5967
6306
  availability_zone_distribution: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneDistributionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6307
+ availability_zone_impairment_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5968
6308
  availability_zones: typing.Optional[typing.Sequence[builtins.str]] = None,
5969
6309
  capacity_rebalance: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5970
6310
  context: typing.Optional[builtins.str] = None,
@@ -5988,6 +6328,7 @@ class CfnAutoScalingGroupProps:
5988
6328
  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
6329
  placement_group: typing.Optional[builtins.str] = None,
5990
6330
  service_linked_role_arn: typing.Optional[builtins.str] = None,
6331
+ skip_zonal_shift_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5991
6332
  tags: typing.Optional[typing.Sequence[typing.Union[CfnAutoScalingGroup.TagPropertyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5992
6333
  target_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
5993
6334
  termination_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -5999,7 +6340,8 @@ class CfnAutoScalingGroupProps:
5999
6340
  :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
6341
  :param min_size: The minimum size of the group.
6001
6342
  :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:
6343
+ :param availability_zone_distribution: The instance capacity distribution across Availability Zones.
6344
+ :param availability_zone_impairment_policy:
6003
6345
  :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
6346
  :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* .
6005
6347
  :param context: Reserved.
@@ -6023,6 +6365,7 @@ class CfnAutoScalingGroupProps:
6023
6365
  :param notification_configurations: Configures an Auto Scaling group to send notifications when specified events take place.
6024
6366
  :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
6367
  :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* .
6368
+ :param skip_zonal_shift_validation:
6026
6369
  :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
6370
  :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
6371
  :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,6 +6390,10 @@ class CfnAutoScalingGroupProps:
6047
6390
  availability_zone_distribution=autoscaling.CfnAutoScalingGroup.AvailabilityZoneDistributionProperty(
6048
6391
  capacity_distribution_strategy="capacityDistributionStrategy"
6049
6392
  ),
6393
+ availability_zone_impairment_policy=autoscaling.CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty(
6394
+ impaired_zone_health_check_behavior="impairedZoneHealthCheckBehavior",
6395
+ zonal_shift_enabled=False
6396
+ ),
6050
6397
  availability_zones=["availabilityZones"],
6051
6398
  capacity_rebalance=False,
6052
6399
  context="context",
@@ -6128,6 +6475,13 @@ class CfnAutoScalingGroupProps:
6128
6475
  max=123,
6129
6476
  min=123
6130
6477
  ),
6478
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
6479
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
6480
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
6481
+ instance_family="instanceFamily"
6482
+ )]
6483
+ )
6484
+ ),
6131
6485
  burstable_performance="burstablePerformance",
6132
6486
  cpu_manufacturers=["cpuManufacturers"],
6133
6487
  excluded_instance_types=["excludedInstanceTypes"],
@@ -6192,6 +6546,7 @@ class CfnAutoScalingGroupProps:
6192
6546
  )],
6193
6547
  placement_group="placementGroup",
6194
6548
  service_linked_role_arn="serviceLinkedRoleArn",
6549
+ skip_zonal_shift_validation=False,
6195
6550
  tags=[autoscaling.CfnAutoScalingGroup.TagPropertyProperty(
6196
6551
  key="key",
6197
6552
  propagate_at_launch=False,
@@ -6212,6 +6567,7 @@ class CfnAutoScalingGroupProps:
6212
6567
  check_type(argname="argument min_size", value=min_size, expected_type=type_hints["min_size"])
6213
6568
  check_type(argname="argument auto_scaling_group_name", value=auto_scaling_group_name, expected_type=type_hints["auto_scaling_group_name"])
6214
6569
  check_type(argname="argument availability_zone_distribution", value=availability_zone_distribution, expected_type=type_hints["availability_zone_distribution"])
6570
+ check_type(argname="argument availability_zone_impairment_policy", value=availability_zone_impairment_policy, expected_type=type_hints["availability_zone_impairment_policy"])
6215
6571
  check_type(argname="argument availability_zones", value=availability_zones, expected_type=type_hints["availability_zones"])
6216
6572
  check_type(argname="argument capacity_rebalance", value=capacity_rebalance, expected_type=type_hints["capacity_rebalance"])
6217
6573
  check_type(argname="argument context", value=context, expected_type=type_hints["context"])
@@ -6235,6 +6591,7 @@ class CfnAutoScalingGroupProps:
6235
6591
  check_type(argname="argument notification_configurations", value=notification_configurations, expected_type=type_hints["notification_configurations"])
6236
6592
  check_type(argname="argument placement_group", value=placement_group, expected_type=type_hints["placement_group"])
6237
6593
  check_type(argname="argument service_linked_role_arn", value=service_linked_role_arn, expected_type=type_hints["service_linked_role_arn"])
6594
+ check_type(argname="argument skip_zonal_shift_validation", value=skip_zonal_shift_validation, expected_type=type_hints["skip_zonal_shift_validation"])
6238
6595
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
6239
6596
  check_type(argname="argument target_group_arns", value=target_group_arns, expected_type=type_hints["target_group_arns"])
6240
6597
  check_type(argname="argument termination_policies", value=termination_policies, expected_type=type_hints["termination_policies"])
@@ -6248,6 +6605,8 @@ class CfnAutoScalingGroupProps:
6248
6605
  self._values["auto_scaling_group_name"] = auto_scaling_group_name
6249
6606
  if availability_zone_distribution is not None:
6250
6607
  self._values["availability_zone_distribution"] = availability_zone_distribution
6608
+ if availability_zone_impairment_policy is not None:
6609
+ self._values["availability_zone_impairment_policy"] = availability_zone_impairment_policy
6251
6610
  if availability_zones is not None:
6252
6611
  self._values["availability_zones"] = availability_zones
6253
6612
  if capacity_rebalance is not None:
@@ -6294,6 +6653,8 @@ class CfnAutoScalingGroupProps:
6294
6653
  self._values["placement_group"] = placement_group
6295
6654
  if service_linked_role_arn is not None:
6296
6655
  self._values["service_linked_role_arn"] = service_linked_role_arn
6656
+ if skip_zonal_shift_validation is not None:
6657
+ self._values["skip_zonal_shift_validation"] = skip_zonal_shift_validation
6297
6658
  if tags is not None:
6298
6659
  self._values["tags"] = tags
6299
6660
  if target_group_arns is not None:
@@ -6347,12 +6708,23 @@ class CfnAutoScalingGroupProps:
6347
6708
  def availability_zone_distribution(
6348
6709
  self,
6349
6710
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneDistributionProperty]]:
6350
- '''
6711
+ '''The instance capacity distribution across Availability Zones.
6712
+
6351
6713
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-availabilityzonedistribution
6352
6714
  '''
6353
6715
  result = self._values.get("availability_zone_distribution")
6354
6716
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneDistributionProperty]], result)
6355
6717
 
6718
+ @builtins.property
6719
+ def availability_zone_impairment_policy(
6720
+ self,
6721
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty]]:
6722
+ '''
6723
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy
6724
+ '''
6725
+ result = self._values.get("availability_zone_impairment_policy")
6726
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty]], result)
6727
+
6356
6728
  @builtins.property
6357
6729
  def availability_zones(self) -> typing.Optional[typing.List[builtins.str]]:
6358
6730
  '''A list of Availability Zones where instances in the Auto Scaling group can be created.
@@ -6647,6 +7019,16 @@ class CfnAutoScalingGroupProps:
6647
7019
  result = self._values.get("service_linked_role_arn")
6648
7020
  return typing.cast(typing.Optional[builtins.str], result)
6649
7021
 
7022
+ @builtins.property
7023
+ def skip_zonal_shift_validation(
7024
+ self,
7025
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7026
+ '''
7027
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-skipzonalshiftvalidation
7028
+ '''
7029
+ result = self._values.get("skip_zonal_shift_validation")
7030
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
7031
+
6650
7032
  @builtins.property
6651
7033
  def tags(
6652
7034
  self,
@@ -14878,6 +15260,13 @@ class LaunchTemplateOverrides:
14878
15260
  max=123,
14879
15261
  min=123
14880
15262
  ),
15263
+ baseline_performance_factors=autoscaling.CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty(
15264
+ cpu=autoscaling.CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty(
15265
+ references=[autoscaling.CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty(
15266
+ instance_family="instanceFamily"
15267
+ )]
15268
+ )
15269
+ ),
14881
15270
  burstable_performance="burstablePerformance",
14882
15271
  cpu_manufacturers=["cpuManufacturers"],
14883
15272
  excluded_instance_types=["excludedInstanceTypes"],
@@ -20389,6 +20778,7 @@ def _typecheckingstub__d8ba2cee6007161ce4ac8e6f271353563746b8194e9da3c4517351b35
20389
20778
  min_size: builtins.str,
20390
20779
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
20391
20780
  availability_zone_distribution: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneDistributionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20781
+ availability_zone_impairment_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20392
20782
  availability_zones: typing.Optional[typing.Sequence[builtins.str]] = None,
20393
20783
  capacity_rebalance: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
20394
20784
  context: typing.Optional[builtins.str] = None,
@@ -20412,6 +20802,7 @@ def _typecheckingstub__d8ba2cee6007161ce4ac8e6f271353563746b8194e9da3c4517351b35
20412
20802
  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
20803
  placement_group: typing.Optional[builtins.str] = None,
20414
20804
  service_linked_role_arn: typing.Optional[builtins.str] = None,
20805
+ skip_zonal_shift_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
20415
20806
  tags: typing.Optional[typing.Sequence[typing.Union[CfnAutoScalingGroup.TagPropertyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20416
20807
  target_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
20417
20808
  termination_policies: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -20457,6 +20848,12 @@ def _typecheckingstub__d5e9ae536cfa6650d411381d31454774f7e8c68d105e3c7f7476fcbdb
20457
20848
  """Type checking stubs"""
20458
20849
  pass
20459
20850
 
20851
+ def _typecheckingstub__2a3fb95d9da967f9a1c48b970739b4471d5c5eee0beaf61d14960348810f297e(
20852
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty]],
20853
+ ) -> None:
20854
+ """Type checking stubs"""
20855
+ pass
20856
+
20460
20857
  def _typecheckingstub__ba79ccc6a2a627119d2b42e5f2c3b0c8a81580a2589535c8255f0eb95acbdad6(
20461
20858
  value: typing.Optional[typing.List[builtins.str]],
20462
20859
  ) -> None:
@@ -20595,6 +20992,12 @@ def _typecheckingstub__ed363ed16309e150caf7f0bbc1a1a1fc2c8bd1ddf6ae299fa1540076f
20595
20992
  """Type checking stubs"""
20596
20993
  pass
20597
20994
 
20995
+ def _typecheckingstub__1db1d7f33e11c93324444162bf80d7f4a9c258e18704f896714722a1d73e9792(
20996
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
20997
+ ) -> None:
20998
+ """Type checking stubs"""
20999
+ pass
21000
+
20598
21001
  def _typecheckingstub__c0963720a20234c31372f7701ea4ea3dfe7c6e7ca637ddd0711a893c30acaa71(
20599
21002
  value: typing.Optional[typing.List[CfnAutoScalingGroup.TagPropertyProperty]],
20600
21003
  ) -> None:
@@ -20648,6 +21051,14 @@ def _typecheckingstub__d355d9c2c42bbc544e31b115eb7cc171b2e1dc63696c81872c62b9256
20648
21051
  """Type checking stubs"""
20649
21052
  pass
20650
21053
 
21054
+ def _typecheckingstub__0c859c5dc62959b2f82b88ba908b264057d44a144ac184fa0a7793e433657185(
21055
+ *,
21056
+ impaired_zone_health_check_behavior: builtins.str,
21057
+ zonal_shift_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
21058
+ ) -> None:
21059
+ """Type checking stubs"""
21060
+ pass
21061
+
20651
21062
  def _typecheckingstub__36b0ab4a571aa009a65070b38b6f4e5ef64fa1f94d861b2083c70c2cae437f53(
20652
21063
  *,
20653
21064
  max: typing.Optional[jsii.Number] = None,
@@ -20656,6 +21067,20 @@ def _typecheckingstub__36b0ab4a571aa009a65070b38b6f4e5ef64fa1f94d861b2083c70c2ca
20656
21067
  """Type checking stubs"""
20657
21068
  pass
20658
21069
 
21070
+ def _typecheckingstub__d201229bbf8df0493f8005eab4878dceaf3ea5d9ead6d07f5daa203e74d566d1(
21071
+ *,
21072
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.CpuPerformanceFactorRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21073
+ ) -> None:
21074
+ """Type checking stubs"""
21075
+ pass
21076
+
21077
+ def _typecheckingstub__b278b9a78a0f65790afbe45f65bd99528e1b9698a5e94af246191f9dfe4787e1(
21078
+ *,
21079
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.PerformanceFactorReferenceRequestProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
21080
+ ) -> None:
21081
+ """Type checking stubs"""
21082
+ pass
21083
+
20659
21084
  def _typecheckingstub__87d530b3532712626606d828a108a8ef6e07c752060995be5ad0caf95141d336(
20660
21085
  *,
20661
21086
  max_healthy_percentage: typing.Optional[jsii.Number] = None,
@@ -20676,6 +21101,7 @@ def _typecheckingstub__e22358c3d5577020d9106a247f13fb06a2cf3668a83ede597e2b41db7
20676
21101
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
20677
21102
  bare_metal: typing.Optional[builtins.str] = None,
20678
21103
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21104
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.BaselinePerformanceFactorsRequestProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20679
21105
  burstable_performance: typing.Optional[builtins.str] = None,
20680
21106
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
20681
21107
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -20802,6 +21228,13 @@ def _typecheckingstub__5d6e36a12e4115639643f5e3b4951b7f3b869c9a2cb0f8a0b3bd14224
20802
21228
  """Type checking stubs"""
20803
21229
  pass
20804
21230
 
21231
+ def _typecheckingstub__34033c4b330b3f6db6ef7c93869bb7441a8ed29a48b38d3d762cac8933249af9(
21232
+ *,
21233
+ instance_family: typing.Optional[builtins.str] = None,
21234
+ ) -> None:
21235
+ """Type checking stubs"""
21236
+ pass
21237
+
20805
21238
  def _typecheckingstub__fbe45b876c171c89a71ab1315093a8b32d7ef922f5c3986e220789bfa73f9633(
20806
21239
  *,
20807
21240
  key: builtins.str,
@@ -20841,6 +21274,7 @@ def _typecheckingstub__63de692030eb0bc729681a791501e2edd744cab3141e27cc9c9c8def2
20841
21274
  min_size: builtins.str,
20842
21275
  auto_scaling_group_name: typing.Optional[builtins.str] = None,
20843
21276
  availability_zone_distribution: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneDistributionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21277
+ availability_zone_impairment_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20844
21278
  availability_zones: typing.Optional[typing.Sequence[builtins.str]] = None,
20845
21279
  capacity_rebalance: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
20846
21280
  context: typing.Optional[builtins.str] = None,
@@ -20864,6 +21298,7 @@ def _typecheckingstub__63de692030eb0bc729681a791501e2edd744cab3141e27cc9c9c8def2
20864
21298
  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
21299
  placement_group: typing.Optional[builtins.str] = None,
20866
21300
  service_linked_role_arn: typing.Optional[builtins.str] = None,
21301
+ skip_zonal_shift_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
20867
21302
  tags: typing.Optional[typing.Sequence[typing.Union[CfnAutoScalingGroup.TagPropertyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20868
21303
  target_group_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
20869
21304
  termination_policies: typing.Optional[typing.Sequence[builtins.str]] = None,