aws-cdk-lib 2.198.0__py3-none-any.whl → 2.200.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 (55) hide show
  1. aws_cdk/__init__.py +22 -24
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.198.0.jsii.tgz → aws-cdk-lib@2.200.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +1 -1
  5. aws_cdk/aws_apigateway/__init__.py +1 -1
  6. aws_cdk/aws_appconfig/__init__.py +296 -48
  7. aws_cdk/aws_applicationautoscaling/__init__.py +4 -4
  8. aws_cdk/aws_aps/__init__.py +365 -14
  9. aws_cdk/aws_autoscaling/__init__.py +4 -4
  10. aws_cdk/aws_bedrock/__init__.py +436 -28
  11. aws_cdk/aws_cloudformation/__init__.py +17 -23
  12. aws_cdk/aws_cloudfront_origins/__init__.py +1 -1
  13. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  14. aws_cdk/aws_cloudwatch/__init__.py +50 -1
  15. aws_cdk/aws_codebuild/__init__.py +116 -0
  16. aws_cdk/aws_datazone/__init__.py +699 -9
  17. aws_cdk/aws_deadline/__init__.py +38 -10
  18. aws_cdk/aws_ec2/__init__.py +97 -28
  19. aws_cdk/aws_ecs_patterns/__init__.py +49 -3
  20. aws_cdk/aws_eks/__init__.py +40 -9
  21. aws_cdk/aws_elasticloadbalancingv2/__init__.py +7 -7
  22. aws_cdk/aws_emr/__init__.py +36 -2
  23. aws_cdk/aws_events_targets/__init__.py +78 -1
  24. aws_cdk/aws_fsx/__init__.py +122 -0
  25. aws_cdk/aws_glue/__init__.py +55 -26
  26. aws_cdk/aws_iam/__init__.py +376 -2
  27. aws_cdk/aws_iot/__init__.py +57 -5
  28. aws_cdk/aws_kinesisfirehose/__init__.py +5 -1
  29. aws_cdk/aws_lambda/__init__.py +65 -45
  30. aws_cdk/aws_lex/__init__.py +27 -13
  31. aws_cdk/aws_lightsail/__init__.py +452 -0
  32. aws_cdk/aws_medialive/__init__.py +699 -497
  33. aws_cdk/aws_msk/__init__.py +4 -4
  34. aws_cdk/aws_networkfirewall/__init__.py +9 -5
  35. aws_cdk/aws_nimblestudio/__init__.py +208 -400
  36. aws_cdk/aws_panorama/__init__.py +30 -3
  37. aws_cdk/aws_pcs/__init__.py +12 -5
  38. aws_cdk/aws_rds/__init__.py +28 -16
  39. aws_cdk/aws_s3/__init__.py +367 -6
  40. aws_cdk/aws_s3express/__init__.py +789 -0
  41. aws_cdk/aws_ses/__init__.py +549 -32
  42. aws_cdk/aws_sns_subscriptions/__init__.py +256 -1
  43. aws_cdk/aws_stepfunctions/__init__.py +55 -17
  44. aws_cdk/aws_stepfunctions_tasks/__init__.py +1502 -2
  45. aws_cdk/aws_synthetics/__init__.py +26 -16
  46. aws_cdk/aws_voiceid/__init__.py +13 -3
  47. aws_cdk/aws_vpclattice/__init__.py +219 -209
  48. aws_cdk/cloud_assembly_schema/__init__.py +137 -42
  49. aws_cdk/cx_api/__init__.py +7 -7
  50. {aws_cdk_lib-2.198.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/METADATA +2 -2
  51. {aws_cdk_lib-2.198.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/RECORD +55 -55
  52. {aws_cdk_lib-2.198.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/LICENSE +0 -0
  53. {aws_cdk_lib-2.198.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/NOTICE +0 -0
  54. {aws_cdk_lib-2.198.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/WHEEL +0 -0
  55. {aws_cdk_lib-2.198.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/top_level.txt +0 -0
@@ -553,7 +553,7 @@ class CfnFleet(
553
553
  :param max_worker_count: The maximum number of workers specified in the fleet.
554
554
  :param role_arn: The IAM role that workers in the fleet use when processing jobs.
555
555
  :param description: A description that helps identify what the fleet is used for. .. epigraph:: This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. Default: - ""
556
- :param host_configuration:
556
+ :param host_configuration: Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet. To remove a script from a fleet, use the `UpdateFleet <https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_UpdateFleet.html>`_ operation with the ``hostConfiguration`` ``scriptBody`` parameter set to an empty string ("").
557
557
  :param min_worker_count: The minimum number of workers in the fleet. Default: - 0
558
558
  :param tags: The tags to add to your fleet. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.
559
559
  '''
@@ -748,6 +748,7 @@ class CfnFleet(
748
748
  def host_configuration(
749
749
  self,
750
750
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.HostConfigurationProperty"]]:
751
+ '''Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.'''
751
752
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.HostConfigurationProperty"]], jsii.get(self, "hostConfiguration"))
752
753
 
753
754
  @host_configuration.setter
@@ -1135,7 +1136,7 @@ class CfnFleet(
1135
1136
  :param mode: The AWS Auto Scaling mode for the customer managed fleet configuration.
1136
1137
  :param worker_capabilities: The worker capabilities for a customer managed fleet configuration.
1137
1138
  :param storage_profile_id: The storage profile ID.
1138
- :param tag_propagation_mode:
1139
+ :param tag_propagation_mode: Specifies whether tags associated with a fleet are attached to workers when the worker is launched. When the ``tagPropagationMode`` is set to ``PROPAGATE_TAGS_TO_WORKERS_AT_LAUNCH`` any tag associated with a fleet is attached to workers when they launch. If the tags for a fleet change, the tags associated with running workers *do not* change. If you don't specify ``tagPropagationMode`` , the default is ``NO_PROPAGATION`` .
1139
1140
 
1140
1141
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedfleetconfiguration.html
1141
1142
  :exampleMetadata: fixture=_generated
@@ -1244,7 +1245,12 @@ class CfnFleet(
1244
1245
 
1245
1246
  @builtins.property
1246
1247
  def tag_propagation_mode(self) -> typing.Optional[builtins.str]:
1247
- '''
1248
+ '''Specifies whether tags associated with a fleet are attached to workers when the worker is launched.
1249
+
1250
+ When the ``tagPropagationMode`` is set to ``PROPAGATE_TAGS_TO_WORKERS_AT_LAUNCH`` any tag associated with a fleet is attached to workers when they launch. If the tags for a fleet change, the tags associated with running workers *do not* change.
1251
+
1252
+ If you don't specify ``tagPropagationMode`` , the default is ``NO_PROPAGATION`` .
1253
+
1248
1254
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedfleetconfiguration.html#cfn-deadline-fleet-customermanagedfleetconfiguration-tagpropagationmode
1249
1255
  '''
1250
1256
  result = self._values.get("tag_propagation_mode")
@@ -2023,9 +2029,12 @@ class CfnFleet(
2023
2029
  script_body: builtins.str,
2024
2030
  script_timeout_seconds: typing.Optional[jsii.Number] = None,
2025
2031
  ) -> None:
2026
- '''
2027
- :param script_body:
2028
- :param script_timeout_seconds: Default: - 300
2032
+ '''Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.
2033
+
2034
+ To remove a script from a fleet, use the `UpdateFleet <https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_UpdateFleet.html>`_ operation with the ``hostConfiguration`` ``scriptBody`` parameter set to an empty string ("").
2035
+
2036
+ :param script_body: The text of the script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet. The script runs after a worker enters the ``STARTING`` state and before the worker processes tasks. For more information about using the script, see `Run scripts as an administrator to configure workers <https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/smf-admin.html>`_ in the *Deadline Cloud Developer Guide* . .. epigraph:: The script runs as an administrative user ( ``sudo root`` on Linux, as an Administrator on Windows).
2037
+ :param script_timeout_seconds: The maximum time that the host configuration can run. If the timeout expires, the worker enters the ``NOT RESPONDING`` state and shuts down. You are charged for the time that the worker is running the host configuration script. .. epigraph:: You should configure your fleet for a maximum of one worker while testing your host configuration script to avoid starting additional workers. The default is 300 seconds (5 minutes). Default: - 300
2029
2038
 
2030
2039
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-hostconfiguration.html
2031
2040
  :exampleMetadata: fixture=_generated
@@ -2055,7 +2064,15 @@ class CfnFleet(
2055
2064
 
2056
2065
  @builtins.property
2057
2066
  def script_body(self) -> builtins.str:
2058
- '''
2067
+ '''The text of the script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.
2068
+
2069
+ The script runs after a worker enters the ``STARTING`` state and before the worker processes tasks.
2070
+
2071
+ For more information about using the script, see `Run scripts as an administrator to configure workers <https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/smf-admin.html>`_ in the *Deadline Cloud Developer Guide* .
2072
+ .. epigraph::
2073
+
2074
+ The script runs as an administrative user ( ``sudo root`` on Linux, as an Administrator on Windows).
2075
+
2059
2076
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-hostconfiguration.html#cfn-deadline-fleet-hostconfiguration-scriptbody
2060
2077
  '''
2061
2078
  result = self._values.get("script_body")
@@ -2064,7 +2081,15 @@ class CfnFleet(
2064
2081
 
2065
2082
  @builtins.property
2066
2083
  def script_timeout_seconds(self) -> typing.Optional[jsii.Number]:
2067
- '''
2084
+ '''The maximum time that the host configuration can run.
2085
+
2086
+ If the timeout expires, the worker enters the ``NOT RESPONDING`` state and shuts down. You are charged for the time that the worker is running the host configuration script.
2087
+ .. epigraph::
2088
+
2089
+ You should configure your fleet for a maximum of one worker while testing your host configuration script to avoid starting additional workers.
2090
+
2091
+ The default is 300 seconds (5 minutes).
2092
+
2068
2093
  :default: - 300
2069
2094
 
2070
2095
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-hostconfiguration.html#cfn-deadline-fleet-hostconfiguration-scripttimeoutseconds
@@ -2704,7 +2729,7 @@ class CfnFleetProps:
2704
2729
  :param max_worker_count: The maximum number of workers specified in the fleet.
2705
2730
  :param role_arn: The IAM role that workers in the fleet use when processing jobs.
2706
2731
  :param description: A description that helps identify what the fleet is used for. .. epigraph:: This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. Default: - ""
2707
- :param host_configuration:
2732
+ :param host_configuration: Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet. To remove a script from a fleet, use the `UpdateFleet <https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_UpdateFleet.html>`_ operation with the ``hostConfiguration`` ``scriptBody`` parameter set to an empty string ("").
2708
2733
  :param min_worker_count: The minimum number of workers in the fleet. Default: - 0
2709
2734
  :param tags: The tags to add to your fleet. Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.
2710
2735
 
@@ -2948,7 +2973,10 @@ class CfnFleetProps:
2948
2973
  def host_configuration(
2949
2974
  self,
2950
2975
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFleet.HostConfigurationProperty]]:
2951
- '''
2976
+ '''Provides a script that runs as a worker is starting up that you can use to provide additional configuration for workers in your fleet.
2977
+
2978
+ To remove a script from a fleet, use the `UpdateFleet <https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_UpdateFleet.html>`_ operation with the ``hostConfiguration`` ``scriptBody`` parameter set to an empty string ("").
2979
+
2952
2980
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-hostconfiguration
2953
2981
  '''
2954
2982
  result = self._values.get("host_configuration")
@@ -644,6 +644,14 @@ stack2 = Stack2(app, "Stack2",
644
644
  )
645
645
  ```
646
646
 
647
+ > Note: If you encounter an error like "Delete canceled. Cannot delete export ..."
648
+ > when using a cross-stack reference to a VPC, it's likely due to CloudFormation
649
+ > export/import constraints. In such cases, it's safer to use Vpc.fromLookup()
650
+ > in the consuming stack instead of directly referencing the VPC object, more details
651
+ > is provided in [Importing an existing VPC](#importing-an-existing-vpc). This
652
+ > avoids creating CloudFormation exports and gives more flexibility, especially
653
+ > when stacks need to be deleted or updated independently.
654
+
647
655
  ### Importing an existing VPC
648
656
 
649
657
  If your VPC is created outside your CDK app, you can use `Vpc.fromLookup()`.
@@ -807,7 +815,6 @@ peer = ec2.Peer.ipv4("10.0.0.0/16")
807
815
  peer = ec2.Peer.any_ipv4()
808
816
  peer = ec2.Peer.ipv6("::0/0")
809
817
  peer = ec2.Peer.any_ipv6()
810
- peer = ec2.Peer.prefix_list("pl-12345")
811
818
  app_fleet.connections.allow_to(peer, ec2.Port.HTTPS, "Allow outbound HTTPS")
812
819
  ```
813
820
 
@@ -825,6 +832,16 @@ fleet1.connections.allow_to(fleet2, ec2.Port.HTTP, "Allow between fleets")
825
832
  app_fleet.connections.allow_from_any_ipv4(ec2.Port.HTTP, "Allow from load balancer")
826
833
  ```
827
834
 
835
+ A managed prefix list is also a connection peer:
836
+
837
+ ```python
838
+ # app_fleet: autoscaling.AutoScalingGroup
839
+
840
+
841
+ prefix_list = ec2.PrefixList(self, "PrefixList", max_entries=10)
842
+ app_fleet.connections.allow_from(prefix_list, ec2.Port.HTTPS)
843
+ ```
844
+
828
845
  ### Port Ranges
829
846
 
830
847
  The connections that are allowed are specified by port ranges. A number of classes provide
@@ -20812,7 +20829,7 @@ class CfnInstance(
20812
20829
  :param key_name: The name of the key pair. You can create a key pair using `CreateKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html>`_ or `ImportKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html>`_ . .. epigraph:: If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.
20813
20830
  :param launch_template: The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.
20814
20831
  :param license_specifications: The license configurations.
20815
- :param metadata_options:
20832
+ :param metadata_options: The metadata options for the instance.
20816
20833
  :param monitoring: Specifies whether detailed monitoring is enabled for the instance. Specify ``true`` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see `Enable or turn off detailed monitoring for your instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html>`_ in the *Amazon EC2 User Guide* .
20817
20834
  :param network_interfaces: The network interfaces to associate with the instance. .. epigraph:: If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed. If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ to declare a dependency on the VPC-gateway attachment.
20818
20835
  :param placement_group_name: The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).
@@ -21386,6 +21403,7 @@ class CfnInstance(
21386
21403
  def metadata_options(
21387
21404
  self,
21388
21405
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.MetadataOptionsProperty"]]:
21406
+ '''The metadata options for the instance.'''
21389
21407
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.MetadataOptionsProperty"]], jsii.get(self, "metadataOptions"))
21390
21408
 
21391
21409
  @metadata_options.setter
@@ -22879,12 +22897,13 @@ class CfnInstance(
22879
22897
  http_tokens: typing.Optional[builtins.str] = None,
22880
22898
  instance_metadata_tags: typing.Optional[builtins.str] = None,
22881
22899
  ) -> None:
22882
- '''
22883
- :param http_endpoint: Enables or disables the HTTP metadata endpoint on your instances. If you specify a value of disabled, you cannot access your instance metadata.
22884
- :param http_protocol_ipv6: Enables or disables the IPv6 endpoint for the instance metadata service. To use this option, the instance must be a Nitro-based instance launched in a subnet that supports IPv6.
22885
- :param http_put_response_hop_limit: The number of network hops that the metadata token can travel. Maximum is 64. Default: - 1
22886
- :param http_tokens: Indicates whether IMDSv2 is required.
22887
- :param instance_metadata_tags: Indicates whether tags from the instance are propagated to the EBS volumes.
22900
+ '''Specifies the metadata options for the instance.
22901
+
22902
+ :param http_endpoint: Enables or disables the HTTP metadata endpoint on your instances. If you specify a value of ``disabled`` , you cannot access your instance metadata. Default: ``enabled``
22903
+ :param http_protocol_ipv6: Enables or disables the IPv6 endpoint for the instance metadata service. Default: ``disabled``
22904
+ :param http_put_response_hop_limit: The maximum number of hops that the metadata token can travel. Possible values: Integers from 1 to 64 Default: - 1
22905
+ :param http_tokens: Indicates whether IMDSv2 is required. - ``optional`` - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1. - ``required`` - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2. Default: - If the value of ``ImdsSupport`` for the Amazon Machine Image (AMI) for your instance is ``v2.0`` and the account level default is set to ``no-preference`` , the default is ``required`` . - If the value of ``ImdsSupport`` for the Amazon Machine Image (AMI) for your instance is ``v2.0`` , but the account level default is set to ``V1 or V2`` , the default is ``optional`` . The default value can also be affected by other combinations of parameters. For more information, see `Order of precedence for instance metadata options <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#instance-metadata-options-order-of-precedence>`_ in the *Amazon EC2 User Guide* .
22906
+ :param instance_metadata_tags: Set to ``enabled`` to allow access to instance tags from the instance metadata. Set to ``disabled`` to turn off access to instance tags from the instance metadata. For more information, see `Work with instance tags using the instance metadata <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS>`_ . Default: ``disabled``
22888
22907
 
22889
22908
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html
22890
22909
  :exampleMetadata: fixture=_generated
@@ -22926,7 +22945,9 @@ class CfnInstance(
22926
22945
  def http_endpoint(self) -> typing.Optional[builtins.str]:
22927
22946
  '''Enables or disables the HTTP metadata endpoint on your instances.
22928
22947
 
22929
- If you specify a value of disabled, you cannot access your instance metadata.
22948
+ If you specify a value of ``disabled`` , you cannot access your instance metadata.
22949
+
22950
+ Default: ``enabled``
22930
22951
 
22931
22952
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httpendpoint
22932
22953
  '''
@@ -22937,7 +22958,7 @@ class CfnInstance(
22937
22958
  def http_protocol_ipv6(self) -> typing.Optional[builtins.str]:
22938
22959
  '''Enables or disables the IPv6 endpoint for the instance metadata service.
22939
22960
 
22940
- To use this option, the instance must be a Nitro-based instance launched in a subnet that supports IPv6.
22961
+ Default: ``disabled``
22941
22962
 
22942
22963
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httpprotocolipv6
22943
22964
  '''
@@ -22946,9 +22967,9 @@ class CfnInstance(
22946
22967
 
22947
22968
  @builtins.property
22948
22969
  def http_put_response_hop_limit(self) -> typing.Optional[jsii.Number]:
22949
- '''The number of network hops that the metadata token can travel.
22970
+ '''The maximum number of hops that the metadata token can travel.
22950
22971
 
22951
- Maximum is 64.
22972
+ Possible values: Integers from 1 to 64
22952
22973
 
22953
22974
  :default: - 1
22954
22975
 
@@ -22961,6 +22982,16 @@ class CfnInstance(
22961
22982
  def http_tokens(self) -> typing.Optional[builtins.str]:
22962
22983
  '''Indicates whether IMDSv2 is required.
22963
22984
 
22985
+ - ``optional`` - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.
22986
+ - ``required`` - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.
22987
+
22988
+ Default:
22989
+
22990
+ - If the value of ``ImdsSupport`` for the Amazon Machine Image (AMI) for your instance is ``v2.0`` and the account level default is set to ``no-preference`` , the default is ``required`` .
22991
+ - If the value of ``ImdsSupport`` for the Amazon Machine Image (AMI) for your instance is ``v2.0`` , but the account level default is set to ``V1 or V2`` , the default is ``optional`` .
22992
+
22993
+ The default value can also be affected by other combinations of parameters. For more information, see `Order of precedence for instance metadata options <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#instance-metadata-options-order-of-precedence>`_ in the *Amazon EC2 User Guide* .
22994
+
22964
22995
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httptokens
22965
22996
  '''
22966
22997
  result = self._values.get("http_tokens")
@@ -22968,7 +22999,11 @@ class CfnInstance(
22968
22999
 
22969
23000
  @builtins.property
22970
23001
  def instance_metadata_tags(self) -> typing.Optional[builtins.str]:
22971
- '''Indicates whether tags from the instance are propagated to the EBS volumes.
23002
+ '''Set to ``enabled`` to allow access to instance tags from the instance metadata.
23003
+
23004
+ Set to ``disabled`` to turn off access to instance tags from the instance metadata. For more information, see `Work with instance tags using the instance metadata <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS>`_ .
23005
+
23006
+ Default: ``disabled``
22972
23007
 
22973
23008
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-instancemetadatatags
22974
23009
  '''
@@ -24204,7 +24239,7 @@ class CfnInstanceProps:
24204
24239
  :param key_name: The name of the key pair. You can create a key pair using `CreateKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html>`_ or `ImportKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html>`_ . .. epigraph:: If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.
24205
24240
  :param launch_template: The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.
24206
24241
  :param license_specifications: The license configurations.
24207
- :param metadata_options:
24242
+ :param metadata_options: The metadata options for the instance.
24208
24243
  :param monitoring: Specifies whether detailed monitoring is enabled for the instance. Specify ``true`` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see `Enable or turn off detailed monitoring for your instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html>`_ in the *Amazon EC2 User Guide* .
24209
24244
  :param network_interfaces: The network interfaces to associate with the instance. .. epigraph:: If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed. If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ to declare a dependency on the VPC-gateway attachment.
24210
24245
  :param placement_group_name: The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).
@@ -24807,7 +24842,8 @@ class CfnInstanceProps:
24807
24842
  def metadata_options(
24808
24843
  self,
24809
24844
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnInstance.MetadataOptionsProperty]]:
24810
- '''
24845
+ '''The metadata options for the instance.
24846
+
24811
24847
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-metadataoptions
24812
24848
  '''
24813
24849
  result = self._values.get("metadata_options")
@@ -53684,7 +53720,8 @@ class CfnTrafficMirrorFilter(
53684
53720
  @builtins.property
53685
53721
  @jsii.member(jsii_name="attrId")
53686
53722
  def attr_id(self) -> builtins.str:
53687
- '''
53723
+ '''The ID of a traffic mirror filter.
53724
+
53688
53725
  :cloudformationAttribute: Id
53689
53726
  '''
53690
53727
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -75760,7 +75797,7 @@ typing.cast(typing.Any, IPlacementGroup).__jsii_proxy_class__ = lambda : _IPlace
75760
75797
 
75761
75798
 
75762
75799
  @jsii.interface(jsii_type="aws-cdk-lib.aws_ec2.IPrefixList")
75763
- class IPrefixList(_IResource_c80c4260, typing_extensions.Protocol):
75800
+ class IPrefixList(_IResource_c80c4260, IPeer, typing_extensions.Protocol):
75764
75801
  '''A prefix list.'''
75765
75802
 
75766
75803
  @builtins.property
@@ -75775,6 +75812,7 @@ class IPrefixList(_IResource_c80c4260, typing_extensions.Protocol):
75775
75812
 
75776
75813
  class _IPrefixListProxy(
75777
75814
  jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
75815
+ jsii.proxy_for(IPeer), # type: ignore[misc]
75778
75816
  ):
75779
75817
  '''A prefix list.'''
75780
75818
 
@@ -88667,7 +88705,7 @@ class Peer(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_ec2.Peer"):
88667
88705
 
88668
88706
  cluster = msk.Cluster(self, "Cluster",
88669
88707
  cluster_name="myCluster",
88670
- kafka_version=msk.KafkaVersion.V3_9_X,
88708
+ kafka_version=msk.KafkaVersion.V4_0_X_KRAFT,
88671
88709
  vpc=vpc
88672
88710
  )
88673
88711
 
@@ -89073,7 +89111,7 @@ class Port(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_ec2.Port"):
89073
89111
 
89074
89112
  cluster = msk.Cluster(self, "Cluster",
89075
89113
  cluster_name="myCluster",
89076
- kafka_version=msk.KafkaVersion.V3_9_X,
89114
+ kafka_version=msk.KafkaVersion.V4_0_X_KRAFT,
89077
89115
  vpc=vpc
89078
89116
  )
89079
89117
 
@@ -89557,6 +89595,16 @@ class PrefixList(
89557
89595
  check_type(argname="argument prefix_list_id", value=prefix_list_id, expected_type=type_hints["prefix_list_id"])
89558
89596
  return typing.cast(IPrefixList, jsii.sinvoke(cls, "fromPrefixListId", [scope, id, prefix_list_id]))
89559
89597
 
89598
+ @jsii.member(jsii_name="toEgressRuleConfig")
89599
+ def to_egress_rule_config(self) -> typing.Any:
89600
+ '''Produce the egress rule JSON for the given connection.'''
89601
+ return typing.cast(typing.Any, jsii.invoke(self, "toEgressRuleConfig", []))
89602
+
89603
+ @jsii.member(jsii_name="toIngressRuleConfig")
89604
+ def to_ingress_rule_config(self) -> typing.Any:
89605
+ '''Produce the ingress rule JSON for the given connection.'''
89606
+ return typing.cast(typing.Any, jsii.invoke(self, "toIngressRuleConfig", []))
89607
+
89560
89608
  @jsii.python.classproperty
89561
89609
  @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
89562
89610
  def PROPERTY_INJECTION_ID(cls) -> builtins.str:
@@ -89569,6 +89617,18 @@ class PrefixList(
89569
89617
  '''The address family of the prefix list.'''
89570
89618
  return typing.cast(builtins.str, jsii.get(self, "addressFamily"))
89571
89619
 
89620
+ @builtins.property
89621
+ @jsii.member(jsii_name="canInlineRule")
89622
+ def can_inline_rule(self) -> builtins.bool:
89623
+ '''Whether the rule can be inlined into a SecurityGroup or not.'''
89624
+ return typing.cast(builtins.bool, jsii.get(self, "canInlineRule"))
89625
+
89626
+ @builtins.property
89627
+ @jsii.member(jsii_name="connections")
89628
+ def connections(self) -> "Connections":
89629
+ '''The network connections associated with this resource.'''
89630
+ return typing.cast("Connections", jsii.get(self, "connections"))
89631
+
89572
89632
  @builtins.property
89573
89633
  @jsii.member(jsii_name="ownerId")
89574
89634
  def owner_id(self) -> builtins.str:
@@ -89602,6 +89662,12 @@ class PrefixList(
89602
89662
  '''
89603
89663
  return typing.cast(builtins.str, jsii.get(self, "prefixListName"))
89604
89664
 
89665
+ @builtins.property
89666
+ @jsii.member(jsii_name="uniqueId")
89667
+ def unique_id(self) -> builtins.str:
89668
+ '''A unique identifier for this connection peer.'''
89669
+ return typing.cast(builtins.str, jsii.get(self, "uniqueId"))
89670
+
89605
89671
  @builtins.property
89606
89672
  @jsii.member(jsii_name="version")
89607
89673
  def version(self) -> jsii.Number:
@@ -89642,7 +89708,7 @@ class PrefixListLookupOptions:
89642
89708
  cf_origin_facing = ec2.PrefixList.from_lookup(self, "CloudFrontOriginFacing",
89643
89709
  prefix_list_name="com.amazonaws.global.cloudfront.origin-facing"
89644
89710
  )
89645
- alb.connections.allow_from(ec2.Peer.prefix_list(cf_origin_facing.prefix_list_id), ec2.Port.HTTP)
89711
+ alb.connections.allow_from(cf_origin_facing, ec2.Port.HTTP)
89646
89712
  '''
89647
89713
  if __debug__:
89648
89714
  type_hints = typing.get_type_hints(_typecheckingstub__4353f67b97f73eaeb1fbd94df299a14d0727dbc31a3319f8619e9b6d60f5c1bb)
@@ -90525,15 +90591,18 @@ class SecurityGroup(
90525
90591
 
90526
90592
  Example::
90527
90593
 
90528
- # vpc: ec2.Vpc
90529
-
90594
+ vpc = ec2.Vpc(self, "Vpc", max_azs=1)
90595
+ cluster = ecs.Cluster(self, "EcsCluster", vpc=vpc)
90596
+ security_group = ec2.SecurityGroup(self, "SG", vpc=vpc)
90530
90597
 
90531
- my_security_group = ec2.SecurityGroup(self, "SecurityGroup", vpc=vpc)
90532
- autoscaling.AutoScalingGroup(self, "ASG",
90533
- vpc=vpc,
90534
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.MICRO),
90535
- machine_image=ec2.MachineImage.latest_amazon_linux2(),
90536
- security_group=my_security_group
90598
+ scheduled_fargate_task = ecs_patterns.ScheduledFargateTask(self, "ScheduledFargateTask",
90599
+ cluster=cluster,
90600
+ scheduled_fargate_task_image_options=ecsPatterns.ScheduledFargateTaskImageOptions(
90601
+ image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
90602
+ memory_limit_mi_b=512
90603
+ ),
90604
+ schedule=appscaling.Schedule.expression("rate(1 minute)"),
90605
+ security_groups=[security_group]
90537
90606
  )
90538
90607
  '''
90539
90608
 
@@ -249,7 +249,9 @@ load_balanced_fargate_service = ecs_patterns.NetworkMultipleTargetGroupsFargateS
249
249
  container_port=90,
250
250
  listener="listener2"
251
251
  )
252
- ]
252
+ ],
253
+ min_healthy_percent=100,
254
+ max_healthy_percent=200
253
255
  )
254
256
  ```
255
257
 
@@ -12688,7 +12690,9 @@ class NetworkMultipleTargetGroupsFargateService(
12688
12690
  container_port=90,
12689
12691
  listener="listener2"
12690
12692
  )
12691
- ]
12693
+ ],
12694
+ min_healthy_percent=100,
12695
+ max_healthy_percent=200
12692
12696
  )
12693
12697
  '''
12694
12698
 
@@ -12698,6 +12702,8 @@ class NetworkMultipleTargetGroupsFargateService(
12698
12702
  id: builtins.str,
12699
12703
  *,
12700
12704
  assign_public_ip: typing.Optional[builtins.bool] = None,
12705
+ max_healthy_percent: typing.Optional[jsii.Number] = None,
12706
+ min_healthy_percent: typing.Optional[jsii.Number] = None,
12701
12707
  cloud_map_options: typing.Optional[typing.Union[_CloudMapOptions_444ee9f2, typing.Dict[builtins.str, typing.Any]]] = None,
12702
12708
  cluster: typing.Optional[_ICluster_16cddd09] = None,
12703
12709
  desired_count: typing.Optional[jsii.Number] = None,
@@ -12722,6 +12728,8 @@ class NetworkMultipleTargetGroupsFargateService(
12722
12728
  :param scope: -
12723
12729
  :param id: -
12724
12730
  :param assign_public_ip: Determines whether the service will be assigned a public IP address. Default: false
12731
+ :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 200%
12732
+ :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 50%
12725
12733
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
12726
12734
  :param cluster: The name of the cluster that hosts the service. If a cluster is specified, the vpc construct should be omitted. Alternatively, you can omit both cluster and vpc. Default: - create a new cluster; if both cluster and vpc are omitted, a new VPC will be created for you.
12727
12735
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. The minimum value is 1 Default: - The default is 1 for all new services and uses the existing service's desired count when updating an existing service.
@@ -12747,6 +12755,8 @@ class NetworkMultipleTargetGroupsFargateService(
12747
12755
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
12748
12756
  props = NetworkMultipleTargetGroupsFargateServiceProps(
12749
12757
  assign_public_ip=assign_public_ip,
12758
+ max_healthy_percent=max_healthy_percent,
12759
+ min_healthy_percent=min_healthy_percent,
12750
12760
  cloud_map_options=cloud_map_options,
12751
12761
  cluster=cluster,
12752
12762
  desired_count=desired_count,
@@ -12830,6 +12840,8 @@ class NetworkMultipleTargetGroupsFargateService(
12830
12840
  "runtime_platform": "runtimePlatform",
12831
12841
  "task_definition": "taskDefinition",
12832
12842
  "assign_public_ip": "assignPublicIp",
12843
+ "max_healthy_percent": "maxHealthyPercent",
12844
+ "min_healthy_percent": "minHealthyPercent",
12833
12845
  },
12834
12846
  )
12835
12847
  class NetworkMultipleTargetGroupsFargateServiceProps(
@@ -12858,6 +12870,8 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12858
12870
  runtime_platform: typing.Optional[typing.Union[_RuntimePlatform_5ed98a9c, typing.Dict[builtins.str, typing.Any]]] = None,
12859
12871
  task_definition: typing.Optional[_FargateTaskDefinition_83754b60] = None,
12860
12872
  assign_public_ip: typing.Optional[builtins.bool] = None,
12873
+ max_healthy_percent: typing.Optional[jsii.Number] = None,
12874
+ min_healthy_percent: typing.Optional[jsii.Number] = None,
12861
12875
  ) -> None:
12862
12876
  '''The properties for the NetworkMultipleTargetGroupsFargateService service.
12863
12877
 
@@ -12880,6 +12894,8 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12880
12894
  :param runtime_platform: The runtime platform of the task definition. Default: - If the property is undefined, ``operatingSystemFamily`` is LINUX and ``cpuArchitecture`` is X86_64
12881
12895
  :param task_definition: The task definition to use for tasks in the service. TaskDefinition or TaskImageOptions must be specified, but not both. [disable-awslint:ref-via-interface] Default: - none
12882
12896
  :param assign_public_ip: Determines whether the service will be assigned a public IP address. Default: false
12897
+ :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 200%
12898
+ :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 50%
12883
12899
 
12884
12900
  :exampleMetadata: infused
12885
12901
 
@@ -12915,7 +12931,9 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12915
12931
  container_port=90,
12916
12932
  listener="listener2"
12917
12933
  )
12918
- ]
12934
+ ],
12935
+ min_healthy_percent=100,
12936
+ max_healthy_percent=200
12919
12937
  )
12920
12938
  '''
12921
12939
  if isinstance(cloud_map_options, dict):
@@ -12945,6 +12963,8 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12945
12963
  check_type(argname="argument runtime_platform", value=runtime_platform, expected_type=type_hints["runtime_platform"])
12946
12964
  check_type(argname="argument task_definition", value=task_definition, expected_type=type_hints["task_definition"])
12947
12965
  check_type(argname="argument assign_public_ip", value=assign_public_ip, expected_type=type_hints["assign_public_ip"])
12966
+ check_type(argname="argument max_healthy_percent", value=max_healthy_percent, expected_type=type_hints["max_healthy_percent"])
12967
+ check_type(argname="argument min_healthy_percent", value=min_healthy_percent, expected_type=type_hints["min_healthy_percent"])
12948
12968
  self._values: typing.Dict[builtins.str, typing.Any] = {}
12949
12969
  if cloud_map_options is not None:
12950
12970
  self._values["cloud_map_options"] = cloud_map_options
@@ -12984,6 +13004,10 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
12984
13004
  self._values["task_definition"] = task_definition
12985
13005
  if assign_public_ip is not None:
12986
13006
  self._values["assign_public_ip"] = assign_public_ip
13007
+ if max_healthy_percent is not None:
13008
+ self._values["max_healthy_percent"] = max_healthy_percent
13009
+ if min_healthy_percent is not None:
13010
+ self._values["min_healthy_percent"] = min_healthy_percent
12987
13011
 
12988
13012
  @builtins.property
12989
13013
  def cloud_map_options(self) -> typing.Optional[_CloudMapOptions_444ee9f2]:
@@ -13219,6 +13243,24 @@ class NetworkMultipleTargetGroupsFargateServiceProps(
13219
13243
  result = self._values.get("assign_public_ip")
13220
13244
  return typing.cast(typing.Optional[builtins.bool], result)
13221
13245
 
13246
+ @builtins.property
13247
+ def max_healthy_percent(self) -> typing.Optional[jsii.Number]:
13248
+ '''The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.
13249
+
13250
+ :default: - 200%
13251
+ '''
13252
+ result = self._values.get("max_healthy_percent")
13253
+ return typing.cast(typing.Optional[jsii.Number], result)
13254
+
13255
+ @builtins.property
13256
+ def min_healthy_percent(self) -> typing.Optional[jsii.Number]:
13257
+ '''The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment.
13258
+
13259
+ :default: - 50%
13260
+ '''
13261
+ result = self._values.get("min_healthy_percent")
13262
+ return typing.cast(typing.Optional[jsii.Number], result)
13263
+
13222
13264
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
13223
13265
  return isinstance(rhs, self.__class__) and rhs._values == self._values
13224
13266
 
@@ -17595,6 +17637,8 @@ def _typecheckingstub__d0896ef010a141982cad4e6363ddf5474e1d63a5c38dc712f84a1d13e
17595
17637
  id: builtins.str,
17596
17638
  *,
17597
17639
  assign_public_ip: typing.Optional[builtins.bool] = None,
17640
+ max_healthy_percent: typing.Optional[jsii.Number] = None,
17641
+ min_healthy_percent: typing.Optional[jsii.Number] = None,
17598
17642
  cloud_map_options: typing.Optional[typing.Union[_CloudMapOptions_444ee9f2, typing.Dict[builtins.str, typing.Any]]] = None,
17599
17643
  cluster: typing.Optional[_ICluster_16cddd09] = None,
17600
17644
  desired_count: typing.Optional[jsii.Number] = None,
@@ -17638,6 +17682,8 @@ def _typecheckingstub__052b2be34bb887cde358099c21efe7f3e968827a5a4e4c975e35f96da
17638
17682
  runtime_platform: typing.Optional[typing.Union[_RuntimePlatform_5ed98a9c, typing.Dict[builtins.str, typing.Any]]] = None,
17639
17683
  task_definition: typing.Optional[_FargateTaskDefinition_83754b60] = None,
17640
17684
  assign_public_ip: typing.Optional[builtins.bool] = None,
17685
+ max_healthy_percent: typing.Optional[jsii.Number] = None,
17686
+ min_healthy_percent: typing.Optional[jsii.Number] = None,
17641
17687
  ) -> None:
17642
17688
  """Type checking stubs"""
17643
17689
  pass