aws-cdk-lib 2.142.1__py3-none-any.whl → 2.143.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (49) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.142.1.jsii.tgz → aws-cdk-lib@2.143.1.jsii.tgz} +0 -0
  3. aws_cdk/aws_amplify/__init__.py +12 -5
  4. aws_cdk/aws_backup/__init__.py +3 -3
  5. aws_cdk/aws_batch/__init__.py +237 -0
  6. aws_cdk/aws_bedrock/__init__.py +700 -16
  7. aws_cdk/aws_budgets/__init__.py +282 -3
  8. aws_cdk/aws_cloudtrail/__init__.py +12 -2
  9. aws_cdk/aws_codebuild/__init__.py +44 -0
  10. aws_cdk/aws_codepipeline/__init__.py +91 -4
  11. aws_cdk/aws_cognito/__init__.py +75 -0
  12. aws_cdk/aws_datazone/__init__.py +1743 -448
  13. aws_cdk/aws_dynamodb/__init__.py +60 -25
  14. aws_cdk/aws_ec2/__init__.py +112 -39
  15. aws_cdk/aws_ecs/__init__.py +3 -3
  16. aws_cdk/aws_ecs_patterns/__init__.py +106 -0
  17. aws_cdk/aws_eks/__init__.py +13 -10
  18. aws_cdk/aws_elasticache/__init__.py +9 -0
  19. aws_cdk/aws_events/__init__.py +219 -14
  20. aws_cdk/aws_events_targets/__init__.py +140 -3
  21. aws_cdk/aws_fms/__init__.py +42 -43
  22. aws_cdk/aws_fsx/__init__.py +3 -3
  23. aws_cdk/aws_identitystore/__init__.py +11 -11
  24. aws_cdk/aws_lambda/__init__.py +45 -0
  25. aws_cdk/aws_lambda_nodejs/__init__.py +16 -6
  26. aws_cdk/aws_lightsail/__init__.py +9 -0
  27. aws_cdk/aws_location/__init__.py +8 -4
  28. aws_cdk/aws_mediaconnect/__init__.py +1789 -39
  29. aws_cdk/aws_mediatailor/__init__.py +21 -1
  30. aws_cdk/aws_mwaa/__init__.py +82 -0
  31. aws_cdk/aws_neptune/__init__.py +374 -0
  32. aws_cdk/aws_personalize/__init__.py +9 -3
  33. aws_cdk/aws_pipes/__init__.py +7 -7
  34. aws_cdk/aws_quicksight/__init__.py +684 -156
  35. aws_cdk/aws_rds/__init__.py +88 -24
  36. aws_cdk/aws_redshift/__init__.py +0 -46
  37. aws_cdk/aws_route53resolver/__init__.py +23 -0
  38. aws_cdk/aws_s3/__init__.py +4 -4
  39. aws_cdk/aws_sagemaker/__init__.py +185 -4
  40. aws_cdk/aws_securityhub/__init__.py +387 -1
  41. aws_cdk/aws_ssm/__init__.py +14 -6
  42. aws_cdk/aws_sso/__init__.py +1243 -34
  43. aws_cdk/cx_api/__init__.py +16 -0
  44. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/METADATA +1 -1
  45. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/RECORD +49 -49
  46. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/LICENSE +0 -0
  47. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/NOTICE +0 -0
  48. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/WHEEL +0 -0
  49. {aws_cdk_lib-2.142.1.dist-info → aws_cdk_lib-2.143.1.dist-info}/top_level.txt +0 -0
@@ -1587,7 +1587,7 @@ class CfnGlobalTable(
1587
1587
  :param stream_specification: Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.
1588
1588
  :param table_name: A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see `Name type <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html>`_ . .. epigraph:: If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
1589
1589
  :param time_to_live_specification: Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.
1590
- :param write_on_demand_throughput_settings:
1590
+ :param write_on_demand_throughput_settings: Sets the write request settings for a global table or a global secondary index. You must specify this setting if you set the ``BillingMode`` to ``PAY_PER_REQUEST`` .
1591
1591
  :param write_provisioned_throughput_settings: Specifies an auto scaling policy for write capacity. This policy will be applied to all replicas. This setting must be specified if ``BillingMode`` is set to ``PROVISIONED`` .
1592
1592
  '''
1593
1593
  if __debug__:
@@ -1859,6 +1859,7 @@ class CfnGlobalTable(
1859
1859
  def write_on_demand_throughput_settings(
1860
1860
  self,
1861
1861
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.WriteOnDemandThroughputSettingsProperty"]]:
1862
+ '''Sets the write request settings for a global table or a global secondary index.'''
1862
1863
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.WriteOnDemandThroughputSettingsProperty"]], jsii.get(self, "writeOnDemandThroughputSettings"))
1863
1864
 
1864
1865
  @write_on_demand_throughput_settings.setter
@@ -2174,7 +2175,7 @@ class CfnGlobalTable(
2174
2175
  :param index_name: The name of the global secondary index. The name must be unique among all other indexes on this table.
2175
2176
  :param key_schema: The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - ``HASH`` - partition key - ``RANGE`` - sort key > The partition key of an item is also known as its *hash attribute* . The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. .. epigraph:: The sort key of an item is also known as its *range attribute* . The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.
2176
2177
  :param projection: Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
2177
- :param write_on_demand_throughput_settings:
2178
+ :param write_on_demand_throughput_settings: Sets the write request settings for a global table or a global secondary index. You must specify this setting if you set the ``BillingMode`` to ``PAY_PER_REQUEST`` .
2178
2179
  :param write_provisioned_throughput_settings: Defines write capacity settings for the global secondary index. You must specify a value for this property if the table's ``BillingMode`` is ``PROVISIONED`` . All replicas will have the same write capacity settings for this global secondary index.
2179
2180
 
2180
2181
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html
@@ -2284,7 +2285,10 @@ class CfnGlobalTable(
2284
2285
  def write_on_demand_throughput_settings(
2285
2286
  self,
2286
2287
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.WriteOnDemandThroughputSettingsProperty"]]:
2287
- '''
2288
+ '''Sets the write request settings for a global table or a global secondary index.
2289
+
2290
+ You must specify this setting if you set the ``BillingMode`` to ``PAY_PER_REQUEST`` .
2291
+
2288
2292
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globalsecondaryindex.html#cfn-dynamodb-globaltable-globalsecondaryindex-writeondemandthroughputsettings
2289
2293
  '''
2290
2294
  result = self._values.get("write_on_demand_throughput_settings")
@@ -2740,8 +2744,11 @@ class CfnGlobalTable(
2740
2744
  *,
2741
2745
  max_read_request_units: typing.Optional[jsii.Number] = None,
2742
2746
  ) -> None:
2743
- '''
2744
- :param max_read_request_units:
2747
+ '''Sets the read request settings for a replica table or a replica global secondary index.
2748
+
2749
+ You must specify this setting if you set the ``BillingMode`` to ``PAY_PER_REQUEST`` .
2750
+
2751
+ :param max_read_request_units: Maximum number of read request units for the specified replica of a global table.
2745
2752
 
2746
2753
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-readondemandthroughputsettings.html
2747
2754
  :exampleMetadata: fixture=_generated
@@ -2765,7 +2772,8 @@ class CfnGlobalTable(
2765
2772
 
2766
2773
  @builtins.property
2767
2774
  def max_read_request_units(self) -> typing.Optional[jsii.Number]:
2768
- '''
2775
+ '''Maximum number of read request units for the specified replica of a global table.
2776
+
2769
2777
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-readondemandthroughputsettings.html#cfn-dynamodb-globaltable-readondemandthroughputsettings-maxreadrequestunits
2770
2778
  '''
2771
2779
  result = self._values.get("max_read_request_units")
@@ -2896,7 +2904,7 @@ class CfnGlobalTable(
2896
2904
 
2897
2905
  :param index_name: The name of the global secondary index. The name must be unique among all other indexes on this table.
2898
2906
  :param contributor_insights_specification: Updates the status for contributor insights for a specific table or index. CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of AWS Key Management Service (KMS) to encrypt this table’s partition key and sort key data with an AWS managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.
2899
- :param read_on_demand_throughput_settings:
2907
+ :param read_on_demand_throughput_settings: Sets the read request settings for a replica global secondary index. You must specify this setting if you set the ``BillingMode`` to ``PAY_PER_REQUEST`` .
2900
2908
  :param read_provisioned_throughput_settings: Allows you to specify the read capacity settings for a replica global secondary index when the ``BillingMode`` is set to ``PROVISIONED`` .
2901
2909
 
2902
2910
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html
@@ -2983,7 +2991,10 @@ class CfnGlobalTable(
2983
2991
  def read_on_demand_throughput_settings(
2984
2992
  self,
2985
2993
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReadOnDemandThroughputSettingsProperty"]]:
2986
- '''
2994
+ '''Sets the read request settings for a replica global secondary index.
2995
+
2996
+ You must specify this setting if you set the ``BillingMode`` to ``PAY_PER_REQUEST`` .
2997
+
2987
2998
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaglobalsecondaryindexspecification.html#cfn-dynamodb-globaltable-replicaglobalsecondaryindexspecification-readondemandthroughputsettings
2988
2999
  '''
2989
3000
  result = self._values.get("read_on_demand_throughput_settings")
@@ -3112,7 +3123,7 @@ class CfnGlobalTable(
3112
3123
  :param global_secondary_indexes: Defines additional settings for the global secondary indexes of this replica.
3113
3124
  :param kinesis_stream_specification: Defines the Kinesis Data Streams configuration for the specified replica.
3114
3125
  :param point_in_time_recovery_specification: The settings used to enable point in time recovery. When not specified, defaults to point in time recovery disabled for the replica.
3115
- :param read_on_demand_throughput_settings:
3126
+ :param read_on_demand_throughput_settings: Sets read request settings for the replica table.
3116
3127
  :param read_provisioned_throughput_settings: Defines read capacity settings for the replica table.
3117
3128
  :param replica_stream_specification: Represents the DynamoDB Streams configuration for a global table replica.
3118
3129
  :param resource_policy: A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
@@ -3334,7 +3345,8 @@ class CfnGlobalTable(
3334
3345
  def read_on_demand_throughput_settings(
3335
3346
  self,
3336
3347
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReadOnDemandThroughputSettingsProperty"]]:
3337
- '''
3348
+ '''Sets read request settings for the replica table.
3349
+
3338
3350
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-readondemandthroughputsettings
3339
3351
  '''
3340
3352
  result = self._values.get("read_on_demand_throughput_settings")
@@ -3904,8 +3916,11 @@ class CfnGlobalTable(
3904
3916
  *,
3905
3917
  max_write_request_units: typing.Optional[jsii.Number] = None,
3906
3918
  ) -> None:
3907
- '''
3908
- :param max_write_request_units:
3919
+ '''Sets the write request settings for a global table or a global secondary index.
3920
+
3921
+ You must specify this setting if you set the ``BillingMode`` to ``PAY_PER_REQUEST`` .
3922
+
3923
+ :param max_write_request_units: Maximum number of write request settings for the specified replica of a global table.
3909
3924
 
3910
3925
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-writeondemandthroughputsettings.html
3911
3926
  :exampleMetadata: fixture=_generated
@@ -3929,7 +3944,8 @@ class CfnGlobalTable(
3929
3944
 
3930
3945
  @builtins.property
3931
3946
  def max_write_request_units(self) -> typing.Optional[jsii.Number]:
3932
- '''
3947
+ '''Maximum number of write request settings for the specified replica of a global table.
3948
+
3933
3949
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-writeondemandthroughputsettings.html#cfn-dynamodb-globaltable-writeondemandthroughputsettings-maxwriterequestunits
3934
3950
  '''
3935
3951
  result = self._values.get("max_write_request_units")
@@ -4069,7 +4085,7 @@ class CfnGlobalTableProps:
4069
4085
  :param stream_specification: Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.
4070
4086
  :param table_name: A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see `Name type <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html>`_ . .. epigraph:: If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
4071
4087
  :param time_to_live_specification: Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.
4072
- :param write_on_demand_throughput_settings:
4088
+ :param write_on_demand_throughput_settings: Sets the write request settings for a global table or a global secondary index. You must specify this setting if you set the ``BillingMode`` to ``PAY_PER_REQUEST`` .
4073
4089
  :param write_provisioned_throughput_settings: Specifies an auto scaling policy for write capacity. This policy will be applied to all replicas. This setting must be specified if ``BillingMode`` is set to ``PROVISIONED`` .
4074
4090
 
4075
4091
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html
@@ -4445,7 +4461,10 @@ class CfnGlobalTableProps:
4445
4461
  def write_on_demand_throughput_settings(
4446
4462
  self,
4447
4463
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.WriteOnDemandThroughputSettingsProperty]]:
4448
- '''
4464
+ '''Sets the write request settings for a global table or a global secondary index.
4465
+
4466
+ You must specify this setting if you set the ``BillingMode`` to ``PAY_PER_REQUEST`` .
4467
+
4449
4468
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-writeondemandthroughputsettings
4450
4469
  '''
4451
4470
  result = self._values.get("write_on_demand_throughput_settings")
@@ -4661,7 +4680,7 @@ class CfnTable(
4661
4680
  :param import_source_specification: Specifies the properties of data being imported from the S3 bucket source to the table. .. epigraph:: If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification`` , the ``TableClass`` property, or the ``DeletionProtectionEnabled`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission.
4662
4681
  :param kinesis_stream_specification: The Kinesis Data Streams configuration for the specified table.
4663
4682
  :param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
4664
- :param on_demand_throughput:
4683
+ :param on_demand_throughput: Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify ``MaxReadRequestUnits`` , ``MaxWriteRequestUnits`` , or both.
4665
4684
  :param point_in_time_recovery_specification: The settings used to enable point in time recovery.
4666
4685
  :param provisioned_throughput: Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits`` . For more information about the contents of a provisioned throughput structure, see `Amazon DynamoDB Table ProvisionedThroughput <https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html>`_ . If you set ``BillingMode`` as ``PROVISIONED`` , you must specify this property. If you set ``BillingMode`` as ``PAY_PER_REQUEST`` , you cannot specify this property.
4667
4686
  :param resource_policy: A resource-based policy document that contains permissions to add to the specified table. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ . When you attach a resource-based policy while creating a table, the policy creation is *strongly consistent* . For information about the considerations that you should keep in mind while attaching a resource-based policy, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
@@ -4928,6 +4947,7 @@ class CfnTable(
4928
4947
  def on_demand_throughput(
4929
4948
  self,
4930
4949
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.OnDemandThroughputProperty"]]:
4950
+ '''Sets the maximum number of read and write units for the specified on-demand table.'''
4931
4951
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.OnDemandThroughputProperty"]], jsii.get(self, "onDemandThroughput"))
4932
4952
 
4933
4953
  @on_demand_throughput.setter
@@ -5324,7 +5344,7 @@ class CfnTable(
5324
5344
  :param key_schema: The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - ``HASH`` - partition key - ``RANGE`` - sort key > The partition key of an item is also known as its *hash attribute* . The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. .. epigraph:: The sort key of an item is also known as its *range attribute* . The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.
5325
5345
  :param projection: Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
5326
5346
  :param contributor_insights_specification: The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
5327
- :param on_demand_throughput:
5347
+ :param on_demand_throughput: The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify ``MaxReadRequestUnits`` , ``MaxWriteRequestUnits`` , or both.
5328
5348
  :param provisioned_throughput: Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see `Service, Account, and Table Quotas <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html>`_ in the *Amazon DynamoDB Developer Guide* .
5329
5349
 
5330
5350
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html
@@ -5439,7 +5459,10 @@ class CfnTable(
5439
5459
  def on_demand_throughput(
5440
5460
  self,
5441
5461
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.OnDemandThroughputProperty"]]:
5442
- '''
5462
+ '''The maximum number of read and write units for the specified global secondary index.
5463
+
5464
+ If you use this parameter, you must specify ``MaxReadRequestUnits`` , ``MaxWriteRequestUnits`` , or both.
5465
+
5443
5466
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-ondemandthroughput
5444
5467
  '''
5445
5468
  result = self._values.get("on_demand_throughput")
@@ -5950,9 +5973,12 @@ class CfnTable(
5950
5973
  max_read_request_units: typing.Optional[jsii.Number] = None,
5951
5974
  max_write_request_units: typing.Optional[jsii.Number] = None,
5952
5975
  ) -> None:
5953
- '''
5954
- :param max_read_request_units:
5955
- :param max_write_request_units:
5976
+ '''Sets the maximum number of read and write units for the specified on-demand table.
5977
+
5978
+ If you use this property, you must specify ``MaxReadRequestUnits`` , ``MaxWriteRequestUnits`` , or both.
5979
+
5980
+ :param max_read_request_units: Maximum number of read request units for the specified table. To specify a maximum ``OnDemandThroughput`` on your table, set the value of ``MaxReadRequestUnits`` as greater than or equal to 1. To remove the maximum ``OnDemandThroughput`` that is currently set on your table, set the value of ``MaxReadRequestUnits`` to -1.
5981
+ :param max_write_request_units: Maximum number of write request units for the specified table. To specify a maximum ``OnDemandThroughput`` on your table, set the value of ``MaxWriteRequestUnits`` as greater than or equal to 1. To remove the maximum ``OnDemandThroughput`` that is currently set on your table, set the value of ``MaxWriteRequestUnits`` to -1.
5956
5982
 
5957
5983
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ondemandthroughput.html
5958
5984
  :exampleMetadata: fixture=_generated
@@ -5980,7 +6006,10 @@ class CfnTable(
5980
6006
 
5981
6007
  @builtins.property
5982
6008
  def max_read_request_units(self) -> typing.Optional[jsii.Number]:
5983
- '''
6009
+ '''Maximum number of read request units for the specified table.
6010
+
6011
+ To specify a maximum ``OnDemandThroughput`` on your table, set the value of ``MaxReadRequestUnits`` as greater than or equal to 1. To remove the maximum ``OnDemandThroughput`` that is currently set on your table, set the value of ``MaxReadRequestUnits`` to -1.
6012
+
5984
6013
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ondemandthroughput.html#cfn-dynamodb-table-ondemandthroughput-maxreadrequestunits
5985
6014
  '''
5986
6015
  result = self._values.get("max_read_request_units")
@@ -5988,7 +6017,10 @@ class CfnTable(
5988
6017
 
5989
6018
  @builtins.property
5990
6019
  def max_write_request_units(self) -> typing.Optional[jsii.Number]:
5991
- '''
6020
+ '''Maximum number of write request units for the specified table.
6021
+
6022
+ To specify a maximum ``OnDemandThroughput`` on your table, set the value of ``MaxWriteRequestUnits`` as greater than or equal to 1. To remove the maximum ``OnDemandThroughput`` that is currently set on your table, set the value of ``MaxWriteRequestUnits`` to -1.
6023
+
5992
6024
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ondemandthroughput.html#cfn-dynamodb-table-ondemandthroughput-maxwriterequestunits
5993
6025
  '''
5994
6026
  result = self._values.get("max_write_request_units")
@@ -6725,7 +6757,7 @@ class CfnTableProps:
6725
6757
  :param import_source_specification: Specifies the properties of data being imported from the S3 bucket source to the table. .. epigraph:: If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification`` , the ``TableClass`` property, or the ``DeletionProtectionEnabled`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission.
6726
6758
  :param kinesis_stream_specification: The Kinesis Data Streams configuration for the specified table.
6727
6759
  :param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
6728
- :param on_demand_throughput:
6760
+ :param on_demand_throughput: Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify ``MaxReadRequestUnits`` , ``MaxWriteRequestUnits`` , or both.
6729
6761
  :param point_in_time_recovery_specification: The settings used to enable point in time recovery.
6730
6762
  :param provisioned_throughput: Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits`` . For more information about the contents of a provisioned throughput structure, see `Amazon DynamoDB Table ProvisionedThroughput <https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html>`_ . If you set ``BillingMode`` as ``PROVISIONED`` , you must specify this property. If you set ``BillingMode`` as ``PAY_PER_REQUEST`` , you cannot specify this property.
6731
6763
  :param resource_policy: A resource-based policy document that contains permissions to add to the specified table. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ . When you attach a resource-based policy while creating a table, the policy creation is *strongly consistent* . For information about the considerations that you should keep in mind while attaching a resource-based policy, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
@@ -7061,7 +7093,10 @@ class CfnTableProps:
7061
7093
  def on_demand_throughput(
7062
7094
  self,
7063
7095
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.OnDemandThroughputProperty]]:
7064
- '''
7096
+ '''Sets the maximum number of read and write units for the specified on-demand table.
7097
+
7098
+ If you use this property, you must specify ``MaxReadRequestUnits`` , ``MaxWriteRequestUnits`` , or both.
7099
+
7065
7100
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-ondemandthroughput
7066
7101
  '''
7067
7102
  result = self._values.get("on_demand_throughput")
@@ -1641,6 +1641,26 @@ host = ec2.BastionHostLinux(self, "BastionHost",
1641
1641
  )
1642
1642
  ```
1643
1643
 
1644
+ ### Placement Group
1645
+
1646
+ Specify `placementGroup` to enable the placement group support:
1647
+
1648
+ ```python
1649
+ # instance_type: ec2.InstanceType
1650
+
1651
+
1652
+ pg = ec2.PlacementGroup(self, "test-pg",
1653
+ strategy=ec2.PlacementGroupStrategy.SPREAD
1654
+ )
1655
+
1656
+ ec2.Instance(self, "Instance",
1657
+ vpc=vpc,
1658
+ instance_type=instance_type,
1659
+ machine_image=ec2.MachineImage.latest_amazon_linux2023(),
1660
+ placement_group=pg
1661
+ )
1662
+ ```
1663
+
1644
1664
  ### Block Devices
1645
1665
 
1646
1666
  To add EBS block device mappings, specify the `blockDevices` property. The following example sets the EBS-backed
@@ -27066,7 +27086,7 @@ class CfnLaunchTemplate(
27066
27086
 
27067
27087
  ``LaunchTemplateTagSpecification`` is a property of `AWS::EC2::LaunchTemplate <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html>`_ .
27068
27088
 
27069
- :param resource_type: The type of resource. To tag the launch template, ``ResourceType`` must be ``launch-template`` .
27089
+ :param resource_type: The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template`` .
27070
27090
  :param tags: The tags for the resource.
27071
27091
 
27072
27092
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatetagspecification.html
@@ -27100,7 +27120,7 @@ class CfnLaunchTemplate(
27100
27120
  def resource_type(self) -> typing.Optional[builtins.str]:
27101
27121
  '''The type of resource.
27102
27122
 
27103
- To tag the launch template, ``ResourceType`` must be ``launch-template`` .
27123
+ To tag a launch template, ``ResourceType`` must be ``launch-template`` .
27104
27124
 
27105
27125
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatetagspecification.html#cfn-ec2-launchtemplate-launchtemplatetagspecification-resourcetype
27106
27126
  '''
@@ -28731,7 +28751,7 @@ class CfnLaunchTemplate(
28731
28751
 
28732
28752
  ``TagSpecification`` is a property type of ```TagSpecifications`` <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ . ```TagSpecifications`` <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ is a property of `AWS::EC2::LaunchTemplate LaunchTemplateData <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>`_ .
28733
28753
 
28734
- :param resource_type: The type of resource to tag. Valid Values lists all resource types for Amazon EC2 that can be tagged. When you create a launch template, you can specify tags for the following resource types only: ``instance`` | ``volume`` | ``network-interface`` | ``spot-instances-request`` . If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume. To tag a resource after it has been created, see `CreateTags <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html>`_ .
28754
+ :param resource_type: The type of resource to tag. You can specify tags for the following resource types only: ``instance`` | ``volume`` | ``network-interface`` | ``spot-instances-request`` . If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume. To tag a resource after it has been created, see `CreateTags <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html>`_ .
28735
28755
  :param tags: The tags to apply to the resource.
28736
28756
 
28737
28757
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html
@@ -28765,7 +28785,7 @@ class CfnLaunchTemplate(
28765
28785
  def resource_type(self) -> typing.Optional[builtins.str]:
28766
28786
  '''The type of resource to tag.
28767
28787
 
28768
- Valid Values lists all resource types for Amazon EC2 that can be tagged. When you create a launch template, you can specify tags for the following resource types only: ``instance`` | ``volume`` | ``network-interface`` | ``spot-instances-request`` . If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume.
28788
+ You can specify tags for the following resource types only: ``instance`` | ``volume`` | ``network-interface`` | ``spot-instances-request`` . If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume.
28769
28789
 
28770
28790
  To tag a resource after it has been created, see `CreateTags <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html>`_ .
28771
28791
 
@@ -46333,7 +46353,7 @@ class CfnSpotFleet(
46333
46353
 
46334
46354
  :param iam_fleet_role: The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see `Spot Fleet Prerequisites <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites>`_ in the *Amazon EC2 User Guide for Linux Instances* . Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request or when the Spot Fleet request expires, if you set ``TerminateInstancesWithExpiration`` .
46335
46355
  :param target_capacity: The number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is ``maintain`` , you can specify a target capacity of 0 and add capacity later.
46336
- :param allocation_strategy: The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see `Allocation strategies for Spot Instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html>`_ in the *Amazon EC2 User Guide* . - **priceCapacityOptimized (recommended)** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools. - **capacityOptimized** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use ``capacityOptimizedPrioritized`` . Set a priority for each instance type by using the ``Priority`` parameter for ``LaunchTemplateOverrides`` . You can assign the same priority to different ``LaunchTemplateOverrides`` . EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. ``capacityOptimizedPrioritized`` is supported only if your Spot Fleet uses a launch template. Note that if the ``OnDemandAllocationStrategy`` is set to ``prioritized`` , the same priority is applied when fulfilling On-Demand capacity. - **diversified** - Spot Fleet requests instances from all of the Spot Instance pools that you specify. - **lowestPrice** - Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates. Default: ``lowestPrice``
46356
+ :param allocation_strategy: The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see `Allocation strategies for Spot Instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html>`_ in the *Amazon EC2 User Guide* . - **priceCapacityOptimized (recommended)** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools. - **capacityOptimized** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use ``capacityOptimizedPrioritized`` . Set a priority for each instance type by using the ``Priority`` parameter for ``LaunchTemplateOverrides`` . You can assign the same priority to different ``LaunchTemplateOverrides`` . EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. ``capacityOptimizedPrioritized`` is supported only if your Spot Fleet uses a launch template. Note that if the ``OnDemandAllocationStrategy`` is set to ``prioritized`` , the same priority is applied when fulfilling On-Demand capacity. - **diversified** - Spot Fleet requests instances from all of the Spot Instance pools that you specify. - **lowestPrice (not recommended)** - > We don't recommend the ``lowestPrice`` allocation strategy because it has the highest risk of interruption for your Spot Instances. Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates. Default: ``lowestPrice``
46337
46357
  :param context: Reserved.
46338
46358
  :param excess_capacity_termination_policy: Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet. Supported only for fleets of type ``maintain`` .
46339
46359
  :param instance_interruption_behavior: The behavior when a Spot Instance is interrupted. The default is ``terminate`` .
@@ -46710,7 +46730,9 @@ class CfnSpotFleet(
46710
46730
  - **priceCapacityOptimized (recommended)** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.
46711
46731
  - **capacityOptimized** - Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use ``capacityOptimizedPrioritized`` . Set a priority for each instance type by using the ``Priority`` parameter for ``LaunchTemplateOverrides`` . You can assign the same priority to different ``LaunchTemplateOverrides`` . EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. ``capacityOptimizedPrioritized`` is supported only if your Spot Fleet uses a launch template. Note that if the ``OnDemandAllocationStrategy`` is set to ``prioritized`` , the same priority is applied when fulfilling On-Demand capacity.
46712
46732
  - **diversified** - Spot Fleet requests instances from all of the Spot Instance pools that you specify.
46713
- - **lowestPrice** - Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.
46733
+ - **lowestPrice (not recommended)** - > We don't recommend the ``lowestPrice`` allocation strategy because it has the highest risk of interruption for your Spot Instances.
46734
+
46735
+ Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.
46714
46736
 
46715
46737
  Default: ``lowestPrice``
46716
46738
 
@@ -72035,6 +72057,7 @@ class Instance(
72035
72057
  instance_name: typing.Optional[builtins.str] = None,
72036
72058
  key_name: typing.Optional[builtins.str] = None,
72037
72059
  key_pair: typing.Optional[IKeyPair] = None,
72060
+ placement_group: typing.Optional[IPlacementGroup] = None,
72038
72061
  private_ip_address: typing.Optional[builtins.str] = None,
72039
72062
  propagate_tags_to_volume_on_creation: typing.Optional[builtins.bool] = None,
72040
72063
  require_imdsv2: typing.Optional[builtins.bool] = None,
@@ -72066,6 +72089,7 @@ class Instance(
72066
72089
  :param instance_name: The name of the instance. Default: - CDK generated name
72067
72090
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
72068
72091
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
72092
+ :param placement_group: The placement group that you want to launch the instance into. Default: - no placement group will be used for this instance.
72069
72093
  :param private_ip_address: Defines a private IP address to associate with an instance. Private IP should be available within the VPC that the instance is build within. Default: - no association
72070
72094
  :param propagate_tags_to_volume_on_creation: Propagate the EC2 instance tags to the EBS volumes. Default: - false
72071
72095
  :param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
@@ -72099,6 +72123,7 @@ class Instance(
72099
72123
  instance_name=instance_name,
72100
72124
  key_name=key_name,
72101
72125
  key_pair=key_pair,
72126
+ placement_group=placement_group,
72102
72127
  private_ip_address=private_ip_address,
72103
72128
  propagate_tags_to_volume_on_creation=propagate_tags_to_volume_on_creation,
72104
72129
  require_imdsv2=require_imdsv2,
@@ -72831,6 +72856,7 @@ class InstanceInitiatedShutdownBehavior(enum.Enum):
72831
72856
  "instance_name": "instanceName",
72832
72857
  "key_name": "keyName",
72833
72858
  "key_pair": "keyPair",
72859
+ "placement_group": "placementGroup",
72834
72860
  "private_ip_address": "privateIpAddress",
72835
72861
  "propagate_tags_to_volume_on_creation": "propagateTagsToVolumeOnCreation",
72836
72862
  "require_imdsv2": "requireImdsv2",
@@ -72864,6 +72890,7 @@ class InstanceProps:
72864
72890
  instance_name: typing.Optional[builtins.str] = None,
72865
72891
  key_name: typing.Optional[builtins.str] = None,
72866
72892
  key_pair: typing.Optional[IKeyPair] = None,
72893
+ placement_group: typing.Optional[IPlacementGroup] = None,
72867
72894
  private_ip_address: typing.Optional[builtins.str] = None,
72868
72895
  propagate_tags_to_volume_on_creation: typing.Optional[builtins.bool] = None,
72869
72896
  require_imdsv2: typing.Optional[builtins.bool] = None,
@@ -72894,6 +72921,7 @@ class InstanceProps:
72894
72921
  :param instance_name: The name of the instance. Default: - CDK generated name
72895
72922
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
72896
72923
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
72924
+ :param placement_group: The placement group that you want to launch the instance into. Default: - no placement group will be used for this instance.
72897
72925
  :param private_ip_address: Defines a private IP address to associate with an instance. Private IP should be available within the VPC that the instance is build within. Default: - no association
72898
72926
  :param propagate_tags_to_volume_on_creation: Propagate the EC2 instance tags to the EBS volumes. Default: - false
72899
72927
  :param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
@@ -72947,6 +72975,7 @@ class InstanceProps:
72947
72975
  check_type(argname="argument instance_name", value=instance_name, expected_type=type_hints["instance_name"])
72948
72976
  check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
72949
72977
  check_type(argname="argument key_pair", value=key_pair, expected_type=type_hints["key_pair"])
72978
+ check_type(argname="argument placement_group", value=placement_group, expected_type=type_hints["placement_group"])
72950
72979
  check_type(argname="argument private_ip_address", value=private_ip_address, expected_type=type_hints["private_ip_address"])
72951
72980
  check_type(argname="argument propagate_tags_to_volume_on_creation", value=propagate_tags_to_volume_on_creation, expected_type=type_hints["propagate_tags_to_volume_on_creation"])
72952
72981
  check_type(argname="argument require_imdsv2", value=require_imdsv2, expected_type=type_hints["require_imdsv2"])
@@ -72989,6 +73018,8 @@ class InstanceProps:
72989
73018
  self._values["key_name"] = key_name
72990
73019
  if key_pair is not None:
72991
73020
  self._values["key_pair"] = key_pair
73021
+ if placement_group is not None:
73022
+ self._values["placement_group"] = placement_group
72992
73023
  if private_ip_address is not None:
72993
73024
  self._values["private_ip_address"] = private_ip_address
72994
73025
  if propagate_tags_to_volume_on_creation is not None:
@@ -73175,6 +73206,15 @@ class InstanceProps:
73175
73206
  result = self._values.get("key_pair")
73176
73207
  return typing.cast(typing.Optional[IKeyPair], result)
73177
73208
 
73209
+ @builtins.property
73210
+ def placement_group(self) -> typing.Optional[IPlacementGroup]:
73211
+ '''The placement group that you want to launch the instance into.
73212
+
73213
+ :default: - no placement group will be used for this instance.
73214
+ '''
73215
+ result = self._values.get("placement_group")
73216
+ return typing.cast(typing.Optional[IPlacementGroup], result)
73217
+
73178
73218
  @builtins.property
73179
73219
  def private_ip_address(self) -> typing.Optional[builtins.str]:
73180
73220
  '''Defines a private IP address to associate with an instance.
@@ -75753,23 +75793,29 @@ class IpProtocol(enum.Enum):
75753
75793
 
75754
75794
  Example::
75755
75795
 
75756
- vpc = ec2.Vpc(self, "TheVPC",
75757
- ip_protocol=ec2.IpProtocol.DUAL_STACK,
75796
+ import aws_cdk.aws_elasticloadbalancingv2 as elbv2
75758
75797
 
75759
- subnet_configuration=[ec2.SubnetConfiguration(
75760
- # general properties
75761
- name="Public",
75762
- subnet_type=ec2.SubnetType.PUBLIC,
75763
- reserved=False,
75764
75798
 
75765
- # IPv4 specific properties
75766
- map_public_ip_on_launch=True,
75767
- cidr_mask=24,
75799
+ # The VPC and subnet must have associated IPv6 CIDR blocks.
75800
+ vpc = ec2.Vpc(self, "Vpc",
75801
+ ip_protocol=ec2.IpProtocol.DUAL_STACK
75802
+ )
75803
+ cluster = ecs.Cluster(self, "EcsCluster", vpc=vpc)
75768
75804
 
75769
- # new IPv6 specific property
75770
- ipv6_assign_address_on_creation=True
75771
- )
75772
- ]
75805
+ network_loadbalanced_fargate_service = ecs_patterns.NetworkLoadBalancedFargateService(self, "NlbFargateService",
75806
+ cluster=cluster,
75807
+ task_image_options=ecsPatterns.NetworkLoadBalancedTaskImageOptions(
75808
+ image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
75809
+ ),
75810
+ ip_address_type=elbv2.IpAddressType.DUAL_STACK
75811
+ )
75812
+
75813
+ network_loadbalanced_ec2_service = ecs_patterns.NetworkLoadBalancedEc2Service(self, "NlbEc2Service",
75814
+ cluster=cluster,
75815
+ task_image_options=ecsPatterns.NetworkLoadBalancedTaskImageOptions(
75816
+ image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
75817
+ ),
75818
+ ip_address_type=elbv2.IpAddressType.DUAL_STACK
75773
75819
  )
75774
75820
  '''
75775
75821
 
@@ -80141,19 +80187,22 @@ class PlacementGroup(
80141
80187
  Placement groups give you fine-grained control over
80142
80188
  where your instances are provisioned.
80143
80189
 
80144
- :exampleMetadata: fixture=_generated
80190
+ :exampleMetadata: fixture=with-vpc infused
80145
80191
 
80146
80192
  Example::
80147
80193
 
80148
- # The code below shows an example of how to instantiate this type.
80149
- # The values are placeholders you should change.
80150
- from aws_cdk import aws_ec2 as ec2
80194
+ # instance_type: ec2.InstanceType
80151
80195
 
80152
- placement_group = ec2.PlacementGroup(self, "MyPlacementGroup",
80153
- partitions=123,
80154
- placement_group_name="placementGroupName",
80155
- spread_level=ec2.PlacementGroupSpreadLevel.HOST,
80156
- strategy=ec2.PlacementGroupStrategy.CLUSTER
80196
+
80197
+ pg = ec2.PlacementGroup(self, "test-pg",
80198
+ strategy=ec2.PlacementGroupStrategy.SPREAD
80199
+ )
80200
+
80201
+ ec2.Instance(self, "Instance",
80202
+ vpc=vpc,
80203
+ instance_type=instance_type,
80204
+ machine_image=ec2.MachineImage.latest_amazon_linux2023(),
80205
+ placement_group=pg
80157
80206
  )
80158
80207
  '''
80159
80208
 
@@ -80276,19 +80325,22 @@ class PlacementGroupProps:
80276
80325
  :param spread_level: Places instances on distinct hardware. Spread placement groups are recommended for applications that have a small number of critical instances that should be kept separate from each other. Launching instances in a spread level placement group reduces the risk of simultaneous failures that might occur when instances share the same equipment. Spread level placement groups provide access to distinct hardware, and are therefore suitable for mixing instance types or launching instances over time. If you start or launch an instance in a spread placement group and there is insufficient unique hardware to fulfill the request, the request fails. Amazon EC2 makes more distinct hardware available over time, so you can try your request again later. Placement groups can spread instances across racks or hosts. You can use host level spread placement groups only with AWS Outposts. Default: - no spread level
80277
80326
  :param strategy: Which strategy to use when launching instances. Default: - ``PlacementGroupStrategy.PARTITION`` if ``partitions`` is defined, ``CLUSTER`` otherwise
80278
80327
 
80279
- :exampleMetadata: fixture=_generated
80328
+ :exampleMetadata: fixture=with-vpc infused
80280
80329
 
80281
80330
  Example::
80282
80331
 
80283
- # The code below shows an example of how to instantiate this type.
80284
- # The values are placeholders you should change.
80285
- from aws_cdk import aws_ec2 as ec2
80332
+ # instance_type: ec2.InstanceType
80286
80333
 
80287
- placement_group_props = ec2.PlacementGroupProps(
80288
- partitions=123,
80289
- placement_group_name="placementGroupName",
80290
- spread_level=ec2.PlacementGroupSpreadLevel.HOST,
80291
- strategy=ec2.PlacementGroupStrategy.CLUSTER
80334
+
80335
+ pg = ec2.PlacementGroup(self, "test-pg",
80336
+ strategy=ec2.PlacementGroupStrategy.SPREAD
80337
+ )
80338
+
80339
+ ec2.Instance(self, "Instance",
80340
+ vpc=vpc,
80341
+ instance_type=instance_type,
80342
+ machine_image=ec2.MachineImage.latest_amazon_linux2023(),
80343
+ placement_group=pg
80292
80344
  )
80293
80345
  '''
80294
80346
  if __debug__:
@@ -80393,7 +80445,26 @@ class PlacementGroupSpreadLevel(enum.Enum):
80393
80445
 
80394
80446
  @jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.PlacementGroupStrategy")
80395
80447
  class PlacementGroupStrategy(enum.Enum):
80396
- '''Which strategy to use when launching instances.'''
80448
+ '''Which strategy to use when launching instances.
80449
+
80450
+ :exampleMetadata: fixture=with-vpc infused
80451
+
80452
+ Example::
80453
+
80454
+ # instance_type: ec2.InstanceType
80455
+
80456
+
80457
+ pg = ec2.PlacementGroup(self, "test-pg",
80458
+ strategy=ec2.PlacementGroupStrategy.SPREAD
80459
+ )
80460
+
80461
+ ec2.Instance(self, "Instance",
80462
+ vpc=vpc,
80463
+ instance_type=instance_type,
80464
+ machine_image=ec2.MachineImage.latest_amazon_linux2023(),
80465
+ placement_group=pg
80466
+ )
80467
+ '''
80397
80468
 
80398
80469
  CLUSTER = "CLUSTER"
80399
80470
  '''Packs instances close together inside an Availability Zone.
@@ -104006,6 +104077,7 @@ def _typecheckingstub__5fdf31f5ae2497c7efcb56df558011698f38dc19cff28ca7a78a08a6d
104006
104077
  instance_name: typing.Optional[builtins.str] = None,
104007
104078
  key_name: typing.Optional[builtins.str] = None,
104008
104079
  key_pair: typing.Optional[IKeyPair] = None,
104080
+ placement_group: typing.Optional[IPlacementGroup] = None,
104009
104081
  private_ip_address: typing.Optional[builtins.str] = None,
104010
104082
  propagate_tags_to_volume_on_creation: typing.Optional[builtins.bool] = None,
104011
104083
  require_imdsv2: typing.Optional[builtins.bool] = None,
@@ -104057,6 +104129,7 @@ def _typecheckingstub__2d4dc63c6e6ee3ddc68d5dd204d8ac5ef1f1dec37a7b84d636225df1c
104057
104129
  instance_name: typing.Optional[builtins.str] = None,
104058
104130
  key_name: typing.Optional[builtins.str] = None,
104059
104131
  key_pair: typing.Optional[IKeyPair] = None,
104132
+ placement_group: typing.Optional[IPlacementGroup] = None,
104060
104133
  private_ip_address: typing.Optional[builtins.str] = None,
104061
104134
  propagate_tags_to_volume_on_creation: typing.Optional[builtins.bool] = None,
104062
104135
  require_imdsv2: typing.Optional[builtins.bool] = None,
@@ -7982,7 +7982,7 @@ class CfnService(
7982
7982
 
7983
7983
  .. epigraph::
7984
7984
 
7985
- The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. > Starting April 15, 2023, AWS ; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS , or Amazon EC2 . However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
7985
+ The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. > Starting April 15, 2023, AWS ; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS , or Amazon EC2 . However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
7986
7986
 
7987
7987
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html
7988
7988
  :cloudformationResource: AWS::ECS::Service
@@ -10348,7 +10348,7 @@ class CfnService(
10348
10348
  *,
10349
10349
  aws_pca_authority_arn: typing.Optional[builtins.str] = None,
10350
10350
  ) -> None:
10351
- '''An object that represents the AWS Private Certificate Authority certificate.
10351
+ '''The certificate root authority that secures your service.
10352
10352
 
10353
10353
  :param aws_pca_authority_arn: The ARN of the AWS Private Certificate Authority certificate.
10354
10354
 
@@ -10409,7 +10409,7 @@ class CfnService(
10409
10409
  kms_key: typing.Optional[builtins.str] = None,
10410
10410
  role_arn: typing.Optional[builtins.str] = None,
10411
10411
  ) -> None:
10412
- '''An object that represents the configuration for Service Connect TLS.
10412
+ '''The key that encrypts and decrypts your resources for Service Connect TLS.
10413
10413
 
10414
10414
  :param issuer_certificate_authority: The signer certificate authority.
10415
10415
  :param kms_key: The AWS Key Management Service key.