aws-cdk-lib 2.200.2__py3-none-any.whl → 2.202.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 (62) hide show
  1. aws_cdk/__init__.py +129 -37
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.202.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -3
  5. aws_cdk/aws_amplify/__init__.py +3 -3
  6. aws_cdk/aws_apigateway/__init__.py +21 -17
  7. aws_cdk/aws_apigatewayv2/__init__.py +87 -45
  8. aws_cdk/aws_appconfig/__init__.py +38 -1
  9. aws_cdk/aws_appsync/__init__.py +10 -10
  10. aws_cdk/aws_athena/__init__.py +227 -0
  11. aws_cdk/aws_autoscaling/__init__.py +38 -37
  12. aws_cdk/aws_bedrock/__init__.py +5108 -1571
  13. aws_cdk/aws_cloudfront/__init__.py +38 -38
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudtrail/__init__.py +178 -0
  16. aws_cdk/aws_cloudwatch/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +746 -0
  18. aws_cdk/aws_connect/__init__.py +5 -5
  19. aws_cdk/aws_customerprofiles/__init__.py +377 -8
  20. aws_cdk/aws_datasync/__init__.py +189 -160
  21. aws_cdk/aws_datazone/__init__.py +512 -170
  22. aws_cdk/aws_deadline/__init__.py +32 -4
  23. aws_cdk/aws_dsql/__init__.py +150 -10
  24. aws_cdk/aws_ec2/__init__.py +1191 -304
  25. aws_cdk/aws_ecs/__init__.py +94 -11
  26. aws_cdk/aws_efs/__init__.py +103 -12
  27. aws_cdk/aws_eks/__init__.py +337 -168
  28. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  29. aws_cdk/aws_emr/__init__.py +10 -4
  30. aws_cdk/aws_entityresolution/__init__.py +25 -10
  31. aws_cdk/aws_evs/__init__.py +2204 -0
  32. aws_cdk/aws_fsx/__init__.py +7 -7
  33. aws_cdk/aws_glue/__init__.py +58 -24
  34. aws_cdk/aws_iam/__init__.py +3 -3
  35. aws_cdk/aws_kms/__init__.py +10 -4
  36. aws_cdk/aws_lambda/__init__.py +1167 -55
  37. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  38. aws_cdk/aws_lightsail/__init__.py +17 -13
  39. aws_cdk/aws_logs/__init__.py +1 -0
  40. aws_cdk/aws_msk/__init__.py +21 -2
  41. aws_cdk/aws_mwaa/__init__.py +45 -2
  42. aws_cdk/aws_networkfirewall/__init__.py +562 -0
  43. aws_cdk/aws_opensearchservice/__init__.py +3 -3
  44. aws_cdk/aws_opsworkscm/__init__.py +9 -43
  45. aws_cdk/aws_rds/__init__.py +287 -87
  46. aws_cdk/aws_s3/__init__.py +39 -15
  47. aws_cdk/aws_sagemaker/__init__.py +223 -3
  48. aws_cdk/aws_securityhub/__init__.py +18 -34
  49. aws_cdk/aws_ssm/__init__.py +83 -1
  50. aws_cdk/aws_stepfunctions/__init__.py +235 -45
  51. aws_cdk/aws_synthetics/__init__.py +74 -0
  52. aws_cdk/aws_transfer/__init__.py +3 -3
  53. aws_cdk/aws_verifiedpermissions/__init__.py +17 -6
  54. aws_cdk/aws_wafv2/__init__.py +770 -7
  55. aws_cdk/cx_api/__init__.py +14 -0
  56. aws_cdk/pipelines/__init__.py +147 -38
  57. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/RECORD +62 -61
  59. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/top_level.txt +0 -0
@@ -7580,7 +7580,7 @@ class CfnInstanceSnapshot(
7580
7580
  metaclass=jsii.JSIIMeta,
7581
7581
  jsii_type="aws-cdk-lib.aws_lightsail.CfnInstanceSnapshot",
7582
7582
  ):
7583
- '''Resource Type definition for AWS::Lightsail::InstanceSnapshot.
7583
+ '''Describes an instance snapshot.
7584
7584
 
7585
7585
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instancesnapshot.html
7586
7586
  :cloudformationResource: AWS::Lightsail::InstanceSnapshot
@@ -7616,9 +7616,9 @@ class CfnInstanceSnapshot(
7616
7616
  '''
7617
7617
  :param scope: Scope in which this resource is defined.
7618
7618
  :param id: Construct identifier for this resource (unique in its scope).
7619
- :param instance_name: The instance from which the snapshot was created.
7619
+ :param instance_name: The name the user gave the instance ( ``Amazon_Linux_2023-1`` ).
7620
7620
  :param instance_snapshot_name: The name of the snapshot.
7621
- :param tags: An array of key-value pairs to apply to this resource.
7621
+ :param tags: The tag keys and optional values for the resource. For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
7622
7622
  '''
7623
7623
  if __debug__:
7624
7624
  type_hints = typing.get_type_hints(_typecheckingstub__b541a8ae34465f7b9196a2ba229a1f5fd9a1a2d84c59e0a52b4bb8767067a951)
@@ -7665,7 +7665,7 @@ class CfnInstanceSnapshot(
7665
7665
  @builtins.property
7666
7666
  @jsii.member(jsii_name="attrArn")
7667
7667
  def attr_arn(self) -> builtins.str:
7668
- '''The Amazon Resource Name (ARN) of the snapshot.
7668
+ '''The Amazon Resource Name (ARN) of the snapshot ( ``arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE`` ).
7669
7669
 
7670
7670
  :cloudformationAttribute: Arn
7671
7671
  '''
@@ -7674,7 +7674,7 @@ class CfnInstanceSnapshot(
7674
7674
  @builtins.property
7675
7675
  @jsii.member(jsii_name="attrFromInstanceArn")
7676
7676
  def attr_from_instance_arn(self) -> builtins.str:
7677
- '''The Amazon Resource Name (ARN) of the instance from which the snapshot was created.
7677
+ '''The Amazon Resource Name (ARN) of the instance from which the snapshot was created ( ``arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE`` ).
7678
7678
 
7679
7679
  :cloudformationAttribute: FromInstanceArn
7680
7680
  '''
@@ -7710,7 +7710,7 @@ class CfnInstanceSnapshot(
7710
7710
  @builtins.property
7711
7711
  @jsii.member(jsii_name="attrResourceType")
7712
7712
  def attr_resource_type(self) -> builtins.str:
7713
- '''The type of resource (usually InstanceSnapshot).
7713
+ '''The type of resource (usually ``InstanceSnapshot`` ).
7714
7714
 
7715
7715
  :cloudformationAttribute: ResourceType
7716
7716
  '''
@@ -7737,7 +7737,9 @@ class CfnInstanceSnapshot(
7737
7737
  @builtins.property
7738
7738
  @jsii.member(jsii_name="attrSupportCode")
7739
7739
  def attr_support_code(self) -> builtins.str:
7740
- '''Support code to help identify any issues.
7740
+ '''The support code.
7741
+
7742
+ Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.
7741
7743
 
7742
7744
  :cloudformationAttribute: SupportCode
7743
7745
  '''
@@ -7757,7 +7759,7 @@ class CfnInstanceSnapshot(
7757
7759
  @builtins.property
7758
7760
  @jsii.member(jsii_name="instanceName")
7759
7761
  def instance_name(self) -> builtins.str:
7760
- '''The instance from which the snapshot was created.'''
7762
+ '''The name the user gave the instance ( ``Amazon_Linux_2023-1`` ).'''
7761
7763
  return typing.cast(builtins.str, jsii.get(self, "instanceName"))
7762
7764
 
7763
7765
  @instance_name.setter
@@ -7783,7 +7785,7 @@ class CfnInstanceSnapshot(
7783
7785
  @builtins.property
7784
7786
  @jsii.member(jsii_name="tags")
7785
7787
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
7786
- '''An array of key-value pairs to apply to this resource.'''
7788
+ '''The tag keys and optional values for the resource.'''
7787
7789
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
7788
7790
 
7789
7791
  @tags.setter
@@ -7888,9 +7890,9 @@ class CfnInstanceSnapshotProps:
7888
7890
  ) -> None:
7889
7891
  '''Properties for defining a ``CfnInstanceSnapshot``.
7890
7892
 
7891
- :param instance_name: The instance from which the snapshot was created.
7893
+ :param instance_name: The name the user gave the instance ( ``Amazon_Linux_2023-1`` ).
7892
7894
  :param instance_snapshot_name: The name of the snapshot.
7893
- :param tags: An array of key-value pairs to apply to this resource.
7895
+ :param tags: The tag keys and optional values for the resource. For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
7894
7896
 
7895
7897
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instancesnapshot.html
7896
7898
  :exampleMetadata: fixture=_generated
@@ -7926,7 +7928,7 @@ class CfnInstanceSnapshotProps:
7926
7928
 
7927
7929
  @builtins.property
7928
7930
  def instance_name(self) -> builtins.str:
7929
- '''The instance from which the snapshot was created.
7931
+ '''The name the user gave the instance ( ``Amazon_Linux_2023-1`` ).
7930
7932
 
7931
7933
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instancesnapshot.html#cfn-lightsail-instancesnapshot-instancename
7932
7934
  '''
@@ -7946,7 +7948,9 @@ class CfnInstanceSnapshotProps:
7946
7948
 
7947
7949
  @builtins.property
7948
7950
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
7949
- '''An array of key-value pairs to apply to this resource.
7951
+ '''The tag keys and optional values for the resource.
7952
+
7953
+ For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
7950
7954
 
7951
7955
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instancesnapshot.html#cfn-lightsail-instancesnapshot-tags
7952
7956
  '''
@@ -221,6 +221,7 @@ the name `Namespace/MetricName`.
221
221
 
222
222
  You can expose a metric on a metric filter by calling the `MetricFilter.metric()` API.
223
223
  This has a default of `statistic = 'avg'` if the statistic is not set in the `props`.
224
+ Additionally, if the metric filter was created with a dimension map, those dimensions will be included in the metric.
224
225
 
225
226
  ```python
226
227
  # log_group: logs.LogGroup
@@ -843,7 +843,7 @@ class CfnCluster(
843
843
  '''Describes the setup to be used for the broker nodes in the cluster.
844
844
 
845
845
  :param client_subnets: The list of subnets to connect to in the client virtual private cloud (VPC). Amazon creates elastic network interfaces (ENIs) inside these subnets. Client applications use ENIs to produce and consume data. If you use the US West (N. California) Region, specify exactly two subnets. For other Regions where Amazon MSK is available, you can specify either two or three subnets. The subnets that you specify must be in distinct Availability Zones. When you create a cluster, Amazon MSK distributes the broker nodes evenly across the subnets that you specify. Client subnets can't occupy the Availability Zone with ID ``use1-az3`` .
846
- :param instance_type: The type of Amazon EC2 instances to use for brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, kafka.m5.24xlarge, and kafka.t3.small.
846
+ :param instance_type: The type of Amazon EC2 instances to use for brokers. Depending on the `broker type <https://docs.aws.amazon.com/msk/latest/developerguide/broker-instance-types.html>`_ , Amazon MSK supports the following broker sizes: *Standard broker sizes* - kafka.t3.small .. epigraph:: You can't select the kafka.t3.small instance type when the metadata mode is KRaft. - kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, kafka.m5.24xlarge - kafka.m7g.large, kafka.m7g.xlarge, kafka.m7g.2xlarge, kafka.m7g.4xlarge, kafka.m7g.8xlarge, kafka.m7g.12xlarge, kafka.m7g.16xlarge *Express broker sizes* - express.m7g.large, express.m7g.xlarge, express.m7g.2xlarge, express.m7g.4xlarge, express.m7g.8xlarge, express.m7g.12xlarge, express.m7g.16xlarge .. epigraph:: Some broker sizes might not be available in certian AWS Regions. See the updated `Pricing tools <https://docs.aws.amazon.com/msk/pricing/>`_ section on the Amazon MSK pricing page for the latest list of available instances by Region.
847
847
  :param broker_az_distribution: This parameter is currently not in use.
848
848
  :param connectivity_info: Information about the cluster's connectivity setting.
849
849
  :param security_groups: The security groups to associate with the ENIs in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC. If you specify security groups that were shared with you, you must ensure that you have permissions to them. Specifically, you need the ``ec2:DescribeSecurityGroups`` permission.
@@ -937,7 +937,26 @@ class CfnCluster(
937
937
  def instance_type(self) -> builtins.str:
938
938
  '''The type of Amazon EC2 instances to use for brokers.
939
939
 
940
- The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, kafka.m5.24xlarge, and kafka.t3.small.
940
+ Depending on the `broker type <https://docs.aws.amazon.com/msk/latest/developerguide/broker-instance-types.html>`_ , Amazon MSK supports the following broker sizes:
941
+
942
+ *Standard broker sizes*
943
+
944
+ - kafka.t3.small
945
+
946
+ .. epigraph::
947
+
948
+ You can't select the kafka.t3.small instance type when the metadata mode is KRaft.
949
+
950
+ - kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, kafka.m5.24xlarge
951
+ - kafka.m7g.large, kafka.m7g.xlarge, kafka.m7g.2xlarge, kafka.m7g.4xlarge, kafka.m7g.8xlarge, kafka.m7g.12xlarge, kafka.m7g.16xlarge
952
+
953
+ *Express broker sizes*
954
+
955
+ - express.m7g.large, express.m7g.xlarge, express.m7g.2xlarge, express.m7g.4xlarge, express.m7g.8xlarge, express.m7g.12xlarge, express.m7g.16xlarge
956
+
957
+ .. epigraph::
958
+
959
+ Some broker sizes might not be available in certian AWS Regions. See the updated `Pricing tools <https://docs.aws.amazon.com/msk/pricing/>`_ section on the Amazon MSK pricing page for the latest list of available instances by Region.
941
960
 
942
961
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-instancetype
943
962
  '''
@@ -145,7 +145,8 @@ class CfnEnvironment(
145
145
  startup_script_s3_path="startupScriptS3Path",
146
146
  tags=tags,
147
147
  webserver_access_mode="webserverAccessMode",
148
- weekly_maintenance_window_start="weeklyMaintenanceWindowStart"
148
+ weekly_maintenance_window_start="weeklyMaintenanceWindowStart",
149
+ worker_replacement_strategy="workerReplacementStrategy"
149
150
  )
150
151
  '''
151
152
 
@@ -179,6 +180,7 @@ class CfnEnvironment(
179
180
  tags: typing.Any = None,
180
181
  webserver_access_mode: typing.Optional[builtins.str] = None,
181
182
  weekly_maintenance_window_start: typing.Optional[builtins.str] = None,
183
+ worker_replacement_strategy: typing.Optional[builtins.str] = None,
182
184
  ) -> None:
183
185
  '''
184
186
  :param scope: Scope in which this resource is defined.
@@ -208,6 +210,7 @@ class CfnEnvironment(
208
210
  :param tags: The key-value tag pairs associated to your environment. For example, ``"Environment": "Staging"`` . To learn more, see `Tagging <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ . If you specify new tags for an existing environment, the update requires service interruption before taking effect.
209
211
  :param webserver_access_mode: The Apache Airflow *Web server* access mode. To learn more, see `Apache Airflow access modes <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html>`_ . Valid values: ``PRIVATE_ONLY`` or ``PUBLIC_ONLY`` .
210
212
  :param weekly_maintenance_window_start: The day and time of the week to start weekly maintenance updates of your environment in the following format: ``DAY:HH:MM`` . For example: ``TUE:03:30`` . You can specify a start time in 30 minute increments only. Supported input includes the following: - MON|TUE|WED|THU|FRI|SAT|SUN:([01]\\d|2[0-3]):(00|30)
213
+ :param worker_replacement_strategy: The worker replacement strategy to use when updating the environment. Valid values: ``FORCED``, ``GRACEFUL``. FORCED means Apache Airflow workers will be stopped and replaced without waiting for tasks to complete before an update. GRACEFUL means Apache Airflow workers will be able to complete running tasks for up to 12 hours during an update before being stopped and replaced.
211
214
  '''
212
215
  if __debug__:
213
216
  type_hints = typing.get_type_hints(_typecheckingstub__558d6a60af086ab1a40ad8057fcb128456129bbbd328752ab90d8a6d573efb1c)
@@ -239,6 +242,7 @@ class CfnEnvironment(
239
242
  tags=tags,
240
243
  webserver_access_mode=webserver_access_mode,
241
244
  weekly_maintenance_window_start=weekly_maintenance_window_start,
245
+ worker_replacement_strategy=worker_replacement_strategy,
242
246
  )
243
247
 
244
248
  jsii.create(self.__class__, self, [scope, id, props])
@@ -737,6 +741,19 @@ class CfnEnvironment(
737
741
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
738
742
  jsii.set(self, "weeklyMaintenanceWindowStart", value) # pyright: ignore[reportArgumentType]
739
743
 
744
+ @builtins.property
745
+ @jsii.member(jsii_name="workerReplacementStrategy")
746
+ def worker_replacement_strategy(self) -> typing.Optional[builtins.str]:
747
+ '''The worker replacement strategy to use when updating the environment.'''
748
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "workerReplacementStrategy"))
749
+
750
+ @worker_replacement_strategy.setter
751
+ def worker_replacement_strategy(self, value: typing.Optional[builtins.str]) -> None:
752
+ if __debug__:
753
+ type_hints = typing.get_type_hints(_typecheckingstub__6a69a886eac1c8570e29fe73891b3d0a6bf8bc1d04ac36bc656c130c6498adef)
754
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
755
+ jsii.set(self, "workerReplacementStrategy", value) # pyright: ignore[reportArgumentType]
756
+
740
757
  @jsii.data_type(
741
758
  jsii_type="aws-cdk-lib.aws_mwaa.CfnEnvironment.LoggingConfigurationProperty",
742
759
  jsii_struct_bases=[],
@@ -1092,6 +1109,7 @@ class CfnEnvironment(
1092
1109
  "tags": "tags",
1093
1110
  "webserver_access_mode": "webserverAccessMode",
1094
1111
  "weekly_maintenance_window_start": "weeklyMaintenanceWindowStart",
1112
+ "worker_replacement_strategy": "workerReplacementStrategy",
1095
1113
  },
1096
1114
  )
1097
1115
  class CfnEnvironmentProps:
@@ -1123,6 +1141,7 @@ class CfnEnvironmentProps:
1123
1141
  tags: typing.Any = None,
1124
1142
  webserver_access_mode: typing.Optional[builtins.str] = None,
1125
1143
  weekly_maintenance_window_start: typing.Optional[builtins.str] = None,
1144
+ worker_replacement_strategy: typing.Optional[builtins.str] = None,
1126
1145
  ) -> None:
1127
1146
  '''Properties for defining a ``CfnEnvironment``.
1128
1147
 
@@ -1151,6 +1170,7 @@ class CfnEnvironmentProps:
1151
1170
  :param tags: The key-value tag pairs associated to your environment. For example, ``"Environment": "Staging"`` . To learn more, see `Tagging <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html>`_ . If you specify new tags for an existing environment, the update requires service interruption before taking effect.
1152
1171
  :param webserver_access_mode: The Apache Airflow *Web server* access mode. To learn more, see `Apache Airflow access modes <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html>`_ . Valid values: ``PRIVATE_ONLY`` or ``PUBLIC_ONLY`` .
1153
1172
  :param weekly_maintenance_window_start: The day and time of the week to start weekly maintenance updates of your environment in the following format: ``DAY:HH:MM`` . For example: ``TUE:03:30`` . You can specify a start time in 30 minute increments only. Supported input includes the following: - MON|TUE|WED|THU|FRI|SAT|SUN:([01]\\d|2[0-3]):(00|30)
1173
+ :param worker_replacement_strategy: The worker replacement strategy to use when updating the environment. Valid values: ``FORCED``, ``GRACEFUL``. FORCED means Apache Airflow workers will be stopped and replaced without waiting for tasks to complete before an update. GRACEFUL means Apache Airflow workers will be able to complete running tasks for up to 12 hours during an update before being stopped and replaced.
1154
1174
 
1155
1175
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html
1156
1176
  :exampleMetadata: fixture=_generated
@@ -1220,7 +1240,8 @@ class CfnEnvironmentProps:
1220
1240
  startup_script_s3_path="startupScriptS3Path",
1221
1241
  tags=tags,
1222
1242
  webserver_access_mode="webserverAccessMode",
1223
- weekly_maintenance_window_start="weeklyMaintenanceWindowStart"
1243
+ weekly_maintenance_window_start="weeklyMaintenanceWindowStart",
1244
+ worker_replacement_strategy="workerReplacementStrategy"
1224
1245
  )
1225
1246
  '''
1226
1247
  if __debug__:
@@ -1250,6 +1271,7 @@ class CfnEnvironmentProps:
1250
1271
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1251
1272
  check_type(argname="argument webserver_access_mode", value=webserver_access_mode, expected_type=type_hints["webserver_access_mode"])
1252
1273
  check_type(argname="argument weekly_maintenance_window_start", value=weekly_maintenance_window_start, expected_type=type_hints["weekly_maintenance_window_start"])
1274
+ check_type(argname="argument worker_replacement_strategy", value=worker_replacement_strategy, expected_type=type_hints["worker_replacement_strategy"])
1253
1275
  self._values: typing.Dict[builtins.str, typing.Any] = {
1254
1276
  "name": name,
1255
1277
  }
@@ -1301,6 +1323,8 @@ class CfnEnvironmentProps:
1301
1323
  self._values["webserver_access_mode"] = webserver_access_mode
1302
1324
  if weekly_maintenance_window_start is not None:
1303
1325
  self._values["weekly_maintenance_window_start"] = weekly_maintenance_window_start
1326
+ if worker_replacement_strategy is not None:
1327
+ self._values["worker_replacement_strategy"] = worker_replacement_strategy
1304
1328
 
1305
1329
  @builtins.property
1306
1330
  def name(self) -> builtins.str:
@@ -1587,6 +1611,17 @@ class CfnEnvironmentProps:
1587
1611
  result = self._values.get("weekly_maintenance_window_start")
1588
1612
  return typing.cast(typing.Optional[builtins.str], result)
1589
1613
 
1614
+ @builtins.property
1615
+ def worker_replacement_strategy(self) -> typing.Optional[builtins.str]:
1616
+ '''The worker replacement strategy to use when updating the environment.
1617
+
1618
+ Valid values: ``FORCED``, ``GRACEFUL``. FORCED means Apache Airflow workers will be stopped and replaced without waiting for tasks to complete before an update. GRACEFUL means Apache Airflow workers will be able to complete running tasks for up to 12 hours during an update before being stopped and replaced.
1619
+
1620
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html#cfn-mwaa-environment-workerreplacementstrategy
1621
+ '''
1622
+ result = self._values.get("worker_replacement_strategy")
1623
+ return typing.cast(typing.Optional[builtins.str], result)
1624
+
1590
1625
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1591
1626
  return isinstance(rhs, self.__class__) and rhs._values == self._values
1592
1627
 
@@ -1635,6 +1670,7 @@ def _typecheckingstub__558d6a60af086ab1a40ad8057fcb128456129bbbd328752ab90d8a6d5
1635
1670
  tags: typing.Any = None,
1636
1671
  webserver_access_mode: typing.Optional[builtins.str] = None,
1637
1672
  weekly_maintenance_window_start: typing.Optional[builtins.str] = None,
1673
+ worker_replacement_strategy: typing.Optional[builtins.str] = None,
1638
1674
  ) -> None:
1639
1675
  """Type checking stubs"""
1640
1676
  pass
@@ -1801,6 +1837,12 @@ def _typecheckingstub__c4b7b1ca9a0752d370dddfd37838d62fc0fdbdce81d79923961a78bfa
1801
1837
  """Type checking stubs"""
1802
1838
  pass
1803
1839
 
1840
+ def _typecheckingstub__6a69a886eac1c8570e29fe73891b3d0a6bf8bc1d04ac36bc656c130c6498adef(
1841
+ value: typing.Optional[builtins.str],
1842
+ ) -> None:
1843
+ """Type checking stubs"""
1844
+ pass
1845
+
1804
1846
  def _typecheckingstub__d823c014bd64bec48bc3afd2f5085d92c0e9f9e6f7641f491eeb3020665639f5(
1805
1847
  *,
1806
1848
  dag_processing_logs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.ModuleLoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -1856,6 +1898,7 @@ def _typecheckingstub__9d7baed808ece1f6aca4fce5dbeac04c731d688aec6f3395e1f0892ea
1856
1898
  tags: typing.Any = None,
1857
1899
  webserver_access_mode: typing.Optional[builtins.str] = None,
1858
1900
  weekly_maintenance_window_start: typing.Optional[builtins.str] = None,
1901
+ worker_replacement_strategy: typing.Optional[builtins.str] = None,
1859
1902
  ) -> None:
1860
1903
  """Type checking stubs"""
1861
1904
  pass