aws-cdk-lib 2.177.0__py3-none-any.whl → 2.178.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.
Files changed (111) hide show
  1. aws_cdk/__init__.py +95 -61
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.177.0.jsii.tgz → aws-cdk-lib@2.178.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplifyuibuilder/__init__.py +8 -8
  5. aws_cdk/aws_apigateway/__init__.py +97 -97
  6. aws_cdk/aws_apigatewayv2/__init__.py +35 -10
  7. aws_cdk/aws_appconfig/__init__.py +10 -10
  8. aws_cdk/aws_appflow/__init__.py +20 -20
  9. aws_cdk/aws_applicationsignals/__init__.py +8 -8
  10. aws_cdk/aws_appmesh/__init__.py +8 -8
  11. aws_cdk/aws_appsync/__init__.py +10383 -7035
  12. aws_cdk/aws_apptest/__init__.py +4 -4
  13. aws_cdk/aws_aps/__init__.py +135 -0
  14. aws_cdk/aws_athena/__init__.py +10 -10
  15. aws_cdk/aws_backup/__init__.py +14 -14
  16. aws_cdk/aws_batch/__init__.py +185 -22
  17. aws_cdk/aws_bcmdataexports/__init__.py +4 -4
  18. aws_cdk/aws_bedrock/__init__.py +266 -177
  19. aws_cdk/aws_certificatemanager/__init__.py +15 -14
  20. aws_cdk/aws_chatbot/__init__.py +4 -4
  21. aws_cdk/aws_cloudformation/__init__.py +22 -18
  22. aws_cdk/aws_cloudfront/__init__.py +674 -7
  23. aws_cdk/aws_cloudfront_origins/__init__.py +40 -0
  24. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  25. aws_cdk/aws_cloudwatch/__init__.py +53 -53
  26. aws_cdk/aws_codedeploy/__init__.py +2 -2
  27. aws_cdk/aws_codepipeline/__init__.py +24 -6
  28. aws_cdk/aws_codepipeline_actions/__init__.py +2 -2
  29. aws_cdk/aws_cognito/__init__.py +42 -20
  30. aws_cdk/aws_connect/__init__.py +4 -4
  31. aws_cdk/aws_customerprofiles/__init__.py +3 -1
  32. aws_cdk/aws_databrew/__init__.py +16 -16
  33. aws_cdk/aws_datasync/__init__.py +14 -11
  34. aws_cdk/aws_datazone/__init__.py +5 -5
  35. aws_cdk/aws_dms/__init__.py +4 -4
  36. aws_cdk/aws_dynamodb/__init__.py +267 -25
  37. aws_cdk/aws_ec2/__init__.py +1137 -181
  38. aws_cdk/aws_ecs/__init__.py +740 -116
  39. aws_cdk/aws_ecs_patterns/__init__.py +49 -0
  40. aws_cdk/aws_efs/__init__.py +3 -3
  41. aws_cdk/aws_eks/__init__.py +31 -32
  42. aws_cdk/aws_elasticache/__init__.py +10 -10
  43. aws_cdk/aws_elasticloadbalancingv2/__init__.py +47 -18
  44. aws_cdk/aws_elasticsearch/__init__.py +10 -10
  45. aws_cdk/aws_emr/__init__.py +16 -16
  46. aws_cdk/aws_emrserverless/__init__.py +12 -9
  47. aws_cdk/aws_entityresolution/__init__.py +31 -17
  48. aws_cdk/aws_events/__init__.py +12 -12
  49. aws_cdk/aws_fis/__init__.py +16 -16
  50. aws_cdk/aws_fms/__init__.py +7 -3
  51. aws_cdk/aws_glue/__init__.py +1326 -7
  52. aws_cdk/aws_greengrassv2/__init__.py +8 -8
  53. aws_cdk/aws_guardduty/__init__.py +521 -0
  54. aws_cdk/aws_healthlake/__init__.py +10 -2
  55. aws_cdk/aws_imagebuilder/__init__.py +26 -26
  56. aws_cdk/aws_iot/__init__.py +40 -40
  57. aws_cdk/aws_iotanalytics/__init__.py +4 -4
  58. aws_cdk/aws_iotfleetwise/__init__.py +424 -10
  59. aws_cdk/aws_iotsitewise/__init__.py +84 -13
  60. aws_cdk/aws_iottwinmaker/__init__.py +18 -18
  61. aws_cdk/aws_iotwireless/__init__.py +4 -4
  62. aws_cdk/aws_kafkaconnect/__init__.py +10 -10
  63. aws_cdk/aws_kendra/__init__.py +0 -10
  64. aws_cdk/aws_kinesisanalytics/__init__.py +4 -4
  65. aws_cdk/aws_kinesisanalyticsv2/__init__.py +4 -4
  66. aws_cdk/aws_kinesisfirehose/__init__.py +4544 -183
  67. aws_cdk/aws_kms/__init__.py +11 -10
  68. aws_cdk/aws_lambda/__init__.py +34 -4
  69. aws_cdk/aws_lambda_nodejs/__init__.py +24 -5
  70. aws_cdk/aws_launchwizard/__init__.py +10 -10
  71. aws_cdk/aws_logs/__init__.py +19 -15
  72. aws_cdk/aws_mediaconnect/__init__.py +509 -12
  73. aws_cdk/aws_medialive/__init__.py +16 -16
  74. aws_cdk/aws_mediatailor/__init__.py +10 -10
  75. aws_cdk/aws_networkfirewall/__init__.py +12 -12
  76. aws_cdk/aws_notifications/__init__.py +602 -65
  77. aws_cdk/aws_omics/__init__.py +4 -4
  78. aws_cdk/aws_opensearchservice/__init__.py +10 -10
  79. aws_cdk/aws_opsworks/__init__.py +58 -58
  80. aws_cdk/aws_personalize/__init__.py +8 -8
  81. aws_cdk/aws_pipes/__init__.py +20 -20
  82. aws_cdk/aws_qbusiness/__init__.py +119 -0
  83. aws_cdk/aws_quicksight/__init__.py +247 -92
  84. aws_cdk/aws_rds/__init__.py +21 -15
  85. aws_cdk/aws_redshift/__init__.py +10 -10
  86. aws_cdk/aws_resiliencehub/__init__.py +0 -41
  87. aws_cdk/aws_route53/__init__.py +6 -0
  88. aws_cdk/aws_rum/__init__.py +4 -4
  89. aws_cdk/aws_s3/__init__.py +12 -2
  90. aws_cdk/aws_sagemaker/__init__.py +84 -60
  91. aws_cdk/aws_sam/__init__.py +48 -48
  92. aws_cdk/aws_secretsmanager/__init__.py +30 -14
  93. aws_cdk/aws_securityhub/__init__.py +12 -12
  94. aws_cdk/aws_sns/__init__.py +101 -15
  95. aws_cdk/aws_ssmquicksetup/__init__.py +10 -10
  96. aws_cdk/aws_stepfunctions/__init__.py +13207 -4740
  97. aws_cdk/aws_stepfunctions_tasks/__init__.py +77615 -22817
  98. aws_cdk/aws_synthetics/__init__.py +4 -4
  99. aws_cdk/aws_timestream/__init__.py +41 -0
  100. aws_cdk/aws_transfer/__init__.py +9 -10
  101. aws_cdk/aws_wafv2/__init__.py +24 -22
  102. aws_cdk/aws_wisdom/__init__.py +8 -8
  103. aws_cdk/aws_workspacesweb/__init__.py +60 -60
  104. aws_cdk/aws_xray/__init__.py +8 -8
  105. aws_cdk/cx_api/__init__.py +18 -0
  106. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/METADATA +1 -1
  107. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/RECORD +111 -111
  108. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/LICENSE +0 -0
  109. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/NOTICE +0 -0
  110. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/WHEEL +0 -0
  111. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/top_level.txt +0 -0
@@ -188,7 +188,7 @@ class CfnApi(
188
188
  open_api_version: typing.Optional[builtins.str] = None,
189
189
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
190
190
  tracing_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
191
- variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
191
+ variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
192
192
  ) -> None:
193
193
  '''
194
194
  :param scope: Scope in which this resource is defined.
@@ -644,13 +644,13 @@ class CfnApi(
644
644
  @jsii.member(jsii_name="variables")
645
645
  def variables(
646
646
  self,
647
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
648
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "variables"))
647
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
648
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], jsii.get(self, "variables"))
649
649
 
650
650
  @variables.setter
651
651
  def variables(
652
652
  self,
653
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
653
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
654
654
  ) -> None:
655
655
  if __debug__:
656
656
  type_hints = typing.get_type_hints(_typecheckingstub__e18d5b2f60202118ae9b46b2c208eab95ae644832c6148e75937bc7ad0ae9622)
@@ -829,7 +829,7 @@ class CfnApi(
829
829
  *,
830
830
  deployment_id: typing.Optional[builtins.str] = None,
831
831
  percent_traffic: typing.Optional[jsii.Number] = None,
832
- stage_variable_overrides: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
832
+ stage_variable_overrides: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
833
833
  use_stage_cache: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
834
834
  ) -> None:
835
835
  '''
@@ -891,12 +891,12 @@ class CfnApi(
891
891
  @builtins.property
892
892
  def stage_variable_overrides(
893
893
  self,
894
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
894
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
895
895
  '''
896
896
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-serverless-api-canarysetting.html#cfn-serverless-api-canarysetting-stagevariableoverrides
897
897
  '''
898
898
  result = self._values.get("stage_variable_overrides")
899
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
899
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
900
900
 
901
901
  @builtins.property
902
902
  def use_stage_cache(
@@ -1613,7 +1613,7 @@ class CfnApiProps:
1613
1613
  open_api_version: typing.Optional[builtins.str] = None,
1614
1614
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1615
1615
  tracing_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1616
- variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
1616
+ variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
1617
1617
  ) -> None:
1618
1618
  '''Properties for defining a ``CfnApi``.
1619
1619
 
@@ -2012,12 +2012,12 @@ class CfnApiProps:
2012
2012
  @builtins.property
2013
2013
  def variables(
2014
2014
  self,
2015
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
2015
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
2016
2016
  '''
2017
2017
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-serverless-api.html#cfn-serverless-api-variables
2018
2018
  '''
2019
2019
  result = self._values.get("variables")
2020
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
2020
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
2021
2021
 
2022
2022
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2023
2023
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -2071,7 +2071,7 @@ class CfnApplication(
2071
2071
  *,
2072
2072
  location: typing.Union[builtins.str, _IResolvable_da3f097b, typing.Union["CfnApplication.ApplicationLocationProperty", typing.Dict[builtins.str, typing.Any]]],
2073
2073
  notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
2074
- parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
2074
+ parameters: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
2075
2075
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2076
2076
  timeout_in_minutes: typing.Optional[jsii.Number] = None,
2077
2077
  ) -> None:
@@ -2181,13 +2181,13 @@ class CfnApplication(
2181
2181
  @jsii.member(jsii_name="parameters")
2182
2182
  def parameters(
2183
2183
  self,
2184
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
2185
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "parameters"))
2184
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
2185
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], jsii.get(self, "parameters"))
2186
2186
 
2187
2187
  @parameters.setter
2188
2188
  def parameters(
2189
2189
  self,
2190
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
2190
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
2191
2191
  ) -> None:
2192
2192
  if __debug__:
2193
2193
  type_hints = typing.get_type_hints(_typecheckingstub__05c9df790cddd4512e3cf1277ea55b48b4d5ddfef54d5b82a13d917e4712e8d8)
@@ -2310,7 +2310,7 @@ class CfnApplicationProps:
2310
2310
  *,
2311
2311
  location: typing.Union[builtins.str, _IResolvable_da3f097b, typing.Union[CfnApplication.ApplicationLocationProperty, typing.Dict[builtins.str, typing.Any]]],
2312
2312
  notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
2313
- parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
2313
+ parameters: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
2314
2314
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2315
2315
  timeout_in_minutes: typing.Optional[jsii.Number] = None,
2316
2316
  ) -> None:
@@ -2386,12 +2386,12 @@ class CfnApplicationProps:
2386
2386
  @builtins.property
2387
2387
  def parameters(
2388
2388
  self,
2389
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
2389
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
2390
2390
  '''
2391
2391
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-serverless-application.html#cfn-serverless-application-parameters
2392
2392
  '''
2393
2393
  result = self._values.get("parameters")
2394
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
2394
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
2395
2395
 
2396
2396
  @builtins.property
2397
2397
  def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
@@ -5283,7 +5283,7 @@ class CfnFunction(
5283
5283
  def __init__(
5284
5284
  self,
5285
5285
  *,
5286
- variables: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]],
5286
+ variables: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
5287
5287
  ) -> None:
5288
5288
  '''
5289
5289
  :param variables:
@@ -5313,13 +5313,13 @@ class CfnFunction(
5313
5313
  @builtins.property
5314
5314
  def variables(
5315
5315
  self,
5316
- ) -> typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]:
5316
+ ) -> typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]:
5317
5317
  '''
5318
5318
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-serverless-function-functionenvironment.html#cfn-serverless-function-functionenvironment-variables
5319
5319
  '''
5320
5320
  result = self._values.get("variables")
5321
5321
  assert result is not None, "Required property 'variables' is missing"
5322
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]], result)
5322
+ return typing.cast(typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b], result)
5323
5323
 
5324
5324
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
5325
5325
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -9150,7 +9150,7 @@ class CfnHttpApi(
9150
9150
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9151
9151
  route_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnHttpApi.RouteSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
9152
9152
  stage_name: typing.Optional[builtins.str] = None,
9153
- stage_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
9153
+ stage_variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
9154
9154
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
9155
9155
  ) -> None:
9156
9156
  '''
@@ -9434,13 +9434,13 @@ class CfnHttpApi(
9434
9434
  @jsii.member(jsii_name="stageVariables")
9435
9435
  def stage_variables(
9436
9436
  self,
9437
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
9438
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "stageVariables"))
9437
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
9438
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], jsii.get(self, "stageVariables"))
9439
9439
 
9440
9440
  @stage_variables.setter
9441
9441
  def stage_variables(
9442
9442
  self,
9443
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
9443
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
9444
9444
  ) -> None:
9445
9445
  if __debug__:
9446
9446
  type_hints = typing.get_type_hints(_typecheckingstub__449af0a02d8005f7a293a627e1cb45ddbc2347c0cd6d00355c6149e405bd71de)
@@ -10323,7 +10323,7 @@ class CfnHttpApiProps:
10323
10323
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10324
10324
  route_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnHttpApi.RouteSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10325
10325
  stage_name: typing.Optional[builtins.str] = None,
10326
- stage_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
10326
+ stage_variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
10327
10327
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
10328
10328
  ) -> None:
10329
10329
  '''Properties for defining a ``CfnHttpApi``.
@@ -10576,12 +10576,12 @@ class CfnHttpApiProps:
10576
10576
  @builtins.property
10577
10577
  def stage_variables(
10578
10578
  self,
10579
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
10579
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
10580
10580
  '''
10581
10581
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-serverless-httpapi.html#cfn-serverless-httpapi-stagevariables
10582
10582
  '''
10583
10583
  result = self._values.get("stage_variables")
10584
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
10584
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
10585
10585
 
10586
10586
  @builtins.property
10587
10587
  def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
@@ -11611,7 +11611,7 @@ class CfnStateMachine(
11611
11611
  id: builtins.str,
11612
11612
  *,
11613
11613
  definition: typing.Any = None,
11614
- definition_substitutions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
11614
+ definition_substitutions: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
11615
11615
  definition_uri: typing.Optional[typing.Union[builtins.str, _IResolvable_da3f097b, typing.Union["CfnStateMachine.S3LocationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
11616
11616
  events: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union["CfnStateMachine.EventSourceProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
11617
11617
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnStateMachine.LoggingConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -11723,13 +11723,13 @@ class CfnStateMachine(
11723
11723
  @jsii.member(jsii_name="definitionSubstitutions")
11724
11724
  def definition_substitutions(
11725
11725
  self,
11726
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
11727
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "definitionSubstitutions"))
11726
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
11727
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], jsii.get(self, "definitionSubstitutions"))
11728
11728
 
11729
11729
  @definition_substitutions.setter
11730
11730
  def definition_substitutions(
11731
11731
  self,
11732
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
11732
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
11733
11733
  ) -> None:
11734
11734
  if __debug__:
11735
11735
  type_hints = typing.get_type_hints(_typecheckingstub__5775a6876026b1a8c899a35d8111a4a33d5e70eba087059cf927fee69bfcad24)
@@ -12932,7 +12932,7 @@ class CfnStateMachineProps:
12932
12932
  self,
12933
12933
  *,
12934
12934
  definition: typing.Any = None,
12935
- definition_substitutions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
12935
+ definition_substitutions: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
12936
12936
  definition_uri: typing.Optional[typing.Union[builtins.str, _IResolvable_da3f097b, typing.Union[CfnStateMachine.S3LocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12937
12937
  events: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnStateMachine.EventSourceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
12938
12938
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnStateMachine.LoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -13061,12 +13061,12 @@ class CfnStateMachineProps:
13061
13061
  @builtins.property
13062
13062
  def definition_substitutions(
13063
13063
  self,
13064
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
13064
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
13065
13065
  '''
13066
13066
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-serverless-statemachine.html#cfn-serverless-statemachine-definitionsubstitutions
13067
13067
  '''
13068
13068
  result = self._values.get("definition_substitutions")
13069
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
13069
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
13070
13070
 
13071
13071
  @builtins.property
13072
13072
  def definition_uri(
@@ -13216,7 +13216,7 @@ def _typecheckingstub__3135996bb5e2b67d63a2144c699a4377166e2b1ebabc180e4c43b45b5
13216
13216
  open_api_version: typing.Optional[builtins.str] = None,
13217
13217
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13218
13218
  tracing_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
13219
- variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
13219
+ variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
13220
13220
  ) -> None:
13221
13221
  """Type checking stubs"""
13222
13222
  pass
@@ -13372,7 +13372,7 @@ def _typecheckingstub__381be80448e4bb2d0dfa01f12de99215cac54995a787d289c523b6d8b
13372
13372
  pass
13373
13373
 
13374
13374
  def _typecheckingstub__e18d5b2f60202118ae9b46b2c208eab95ae644832c6148e75937bc7ad0ae9622(
13375
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
13375
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
13376
13376
  ) -> None:
13377
13377
  """Type checking stubs"""
13378
13378
  pass
@@ -13398,7 +13398,7 @@ def _typecheckingstub__a04c0e58764c2325f15e42a28ebefd2c7e52c177703a95e3b0742576c
13398
13398
  *,
13399
13399
  deployment_id: typing.Optional[builtins.str] = None,
13400
13400
  percent_traffic: typing.Optional[jsii.Number] = None,
13401
- stage_variable_overrides: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
13401
+ stage_variable_overrides: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
13402
13402
  use_stage_cache: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
13403
13403
  ) -> None:
13404
13404
  """Type checking stubs"""
@@ -13490,7 +13490,7 @@ def _typecheckingstub__0c3541ced1e3b9f417bf5019481767d1f0ed3628dc1464b54b8ea1849
13490
13490
  open_api_version: typing.Optional[builtins.str] = None,
13491
13491
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13492
13492
  tracing_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
13493
- variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
13493
+ variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
13494
13494
  ) -> None:
13495
13495
  """Type checking stubs"""
13496
13496
  pass
@@ -13501,7 +13501,7 @@ def _typecheckingstub__64c7803062c8244dab10c00b85c3ab7470f7dfeddb1993dc048523593
13501
13501
  *,
13502
13502
  location: typing.Union[builtins.str, _IResolvable_da3f097b, typing.Union[CfnApplication.ApplicationLocationProperty, typing.Dict[builtins.str, typing.Any]]],
13503
13503
  notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
13504
- parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
13504
+ parameters: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
13505
13505
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13506
13506
  timeout_in_minutes: typing.Optional[jsii.Number] = None,
13507
13507
  ) -> None:
@@ -13533,7 +13533,7 @@ def _typecheckingstub__fdba732f0fdb414d7b870bb171355caae720f58a2e5c1495b6c5a846d
13533
13533
  pass
13534
13534
 
13535
13535
  def _typecheckingstub__05c9df790cddd4512e3cf1277ea55b48b4d5ddfef54d5b82a13d917e4712e8d8(
13536
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
13536
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
13537
13537
  ) -> None:
13538
13538
  """Type checking stubs"""
13539
13539
  pass
@@ -13562,7 +13562,7 @@ def _typecheckingstub__5cdd3da86c77e72e8f53daca88bd679d2d41f1881eeba6c4c20c6c5e7
13562
13562
  *,
13563
13563
  location: typing.Union[builtins.str, _IResolvable_da3f097b, typing.Union[CfnApplication.ApplicationLocationProperty, typing.Dict[builtins.str, typing.Any]]],
13564
13564
  notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
13565
- parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
13565
+ parameters: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
13566
13566
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13567
13567
  timeout_in_minutes: typing.Optional[jsii.Number] = None,
13568
13568
  ) -> None:
@@ -14039,7 +14039,7 @@ def _typecheckingstub__042927e3bdc41bb37d7a425bbdfe932f3c1c939361ff5d3c2e6aecdc7
14039
14039
 
14040
14040
  def _typecheckingstub__cede0a875bba921466167c6599c161022b6030dbd7aafacc22aff1e6368d599c(
14041
14041
  *,
14042
- variables: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]],
14042
+ variables: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
14043
14043
  ) -> None:
14044
14044
  """Type checking stubs"""
14045
14045
  pass
@@ -14411,7 +14411,7 @@ def _typecheckingstub__2810a638ba3e7320fe893fabc5f6e87ff6c30d560aa983c6a0d6c0f8b
14411
14411
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
14412
14412
  route_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnHttpApi.RouteSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14413
14413
  stage_name: typing.Optional[builtins.str] = None,
14414
- stage_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
14414
+ stage_variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
14415
14415
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
14416
14416
  ) -> None:
14417
14417
  """Type checking stubs"""
@@ -14502,7 +14502,7 @@ def _typecheckingstub__690006efe3a8bbd86d333485a6f43ce5a5088b2ade6688f66fa4ed3f2
14502
14502
  pass
14503
14503
 
14504
14504
  def _typecheckingstub__449af0a02d8005f7a293a627e1cb45ddbc2347c0cd6d00355c6149e405bd71de(
14505
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
14505
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
14506
14506
  ) -> None:
14507
14507
  """Type checking stubs"""
14508
14508
  pass
@@ -14607,7 +14607,7 @@ def _typecheckingstub__8fee3d57c5905e9ae9b8f419c1e059cc2543719f1378802233950cf6f
14607
14607
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
14608
14608
  route_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnHttpApi.RouteSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14609
14609
  stage_name: typing.Optional[builtins.str] = None,
14610
- stage_variables: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
14610
+ stage_variables: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
14611
14611
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
14612
14612
  ) -> None:
14613
14613
  """Type checking stubs"""
@@ -14790,7 +14790,7 @@ def _typecheckingstub__aa34f84b79e27e3369f06403c6b18551d70f35e4a3b615bb7cd7c7098
14790
14790
  id: builtins.str,
14791
14791
  *,
14792
14792
  definition: typing.Any = None,
14793
- definition_substitutions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
14793
+ definition_substitutions: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
14794
14794
  definition_uri: typing.Optional[typing.Union[builtins.str, _IResolvable_da3f097b, typing.Union[CfnStateMachine.S3LocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14795
14795
  events: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnStateMachine.EventSourceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
14796
14796
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnStateMachine.LoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -14824,7 +14824,7 @@ def _typecheckingstub__2d3d4f6819243ae5cfa1d9d6defa295a3b23790f17ebd02c4d51d355d
14824
14824
  pass
14825
14825
 
14826
14826
  def _typecheckingstub__5775a6876026b1a8c899a35d8111a4a33d5e70eba087059cf927fee69bfcad24(
14827
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]],
14827
+ value: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]],
14828
14828
  ) -> None:
14829
14829
  """Type checking stubs"""
14830
14830
  pass
@@ -15006,7 +15006,7 @@ def _typecheckingstub__8568d1e5362e81260a69221e107002da0809dc2714f5960aaa894d488
15006
15006
  def _typecheckingstub__505a369e8f3bf625077dedf7f13099c6e0c8e2c05182396505111670528d74d7(
15007
15007
  *,
15008
15008
  definition: typing.Any = None,
15009
- definition_substitutions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
15009
+ definition_substitutions: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
15010
15010
  definition_uri: typing.Optional[typing.Union[builtins.str, _IResolvable_da3f097b, typing.Union[CfnStateMachine.S3LocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
15011
15011
  events: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnStateMachine.EventSourceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
15012
15012
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnStateMachine.LoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -700,20 +700,24 @@ class CfnRotationSchedule(
700
700
  metaclass=jsii.JSIIMeta,
701
701
  jsii_type="aws-cdk-lib.aws_secretsmanager.CfnRotationSchedule",
702
702
  ):
703
- '''Sets the rotation schedule and Lambda rotation function for a secret. For more information, see `How rotation works <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ .
703
+ '''Configure the rotation schedule and Lambda rotation function for a secret. For more information, see `How rotation works <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ .
704
704
 
705
- For Amazon RDS master user credentials, see `AWS::RDS::DBCluster MasterUserSecret <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html>`_ .
705
+ For database credentials, refer to the following resources:
706
706
 
707
- For Amazon Redshift admin user credentials, see `AWS::Redshift::Cluster <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html>`_ .
707
+ - Amazon RDS master user credentials: `AWS::RDS::DBCluster MasterUserSecret <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html>`_
708
+ - Amazon Redshift admin user credentials: `AWS::Redshift::Cluster <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html>`_
709
+
710
+ Choose one of the following options for the rotation function:
708
711
 
709
- For the rotation function, you have two options:
712
+ - Create a new rotation function using ``HostedRotationLambda`` based on a `Secrets Manager rotation function template <https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html>`_ .
713
+ - Use an existing rotation function by specifying its ARN with ``RotationLambdaARN`` .
710
714
 
711
- - You can create a new rotation function based on one of the `Secrets Manager rotation function templates <https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html>`_ by using ``HostedRotationLambda`` .
712
- - You can choose an existing rotation function by using ``RotationLambdaARN`` .
715
+ .. epigraph::
713
716
 
714
- For database secrets, if you define both the secret and the database or service in the AWS CloudFormation template, then you need to define the `AWS::SecretsManager::SecretTargetAttachment <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html>`_ resource to populate the secret with the connection details of the database or service before you attempt to configure rotation.
717
+ For database secrets defined in the same AWS CloudFormation template as the database or service:
715
718
 
716
- For a single secret, you can only define one rotation schedule with it.
719
+ - Use the `AWS::SecretsManager::SecretTargetAttachment <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html>`_ resource to populate the secret with connection details.
720
+ - Add a ``DependsOn`` attribute to the ``RotationSchedule`` resource that uses a ``SecretTargetAttachment`` . This ensures the rotation is configured after the secret is populated with connection details. > You can define only one rotation schedule per secret.
717
721
 
718
722
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html
719
723
  :cloudformationResource: AWS::SecretsManager::RotationSchedule
@@ -770,7 +774,7 @@ class CfnRotationSchedule(
770
774
  :param id: Construct identifier for this resource (unique in its scope).
771
775
  :param secret_id: The ARN or name of the secret to rotate. This is unique for each rotation schedule definition. To reference a secret also created in this template, use the `Ref <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html>`_ function with the secret's logical ID.
772
776
  :param hosted_rotation_lambda: Creates a new Lambda rotation function based on one of the `Secrets Manager rotation function templates <https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html>`_ . To use a rotation function that already exists, specify ``RotationLambdaARN`` instead. You must specify ``Transform: AWS::SecretsManager-2024-09-16`` at the beginning of the CloudFormation template. Transforms are macros hosted by AWS CloudFormation that help you create and manage complex infrastructure. The ``Transform: AWS::SecretsManager-2024-09-16`` transform automatically extends the CloudFormation stack to include a nested stack (of type ``AWS::CloudFormation::Stack`` ), which then creates and updates on your behalf during subsequent stack operations, the appropriate rotation Lambda function for your database or service. For general information on transforms, see the `AWS CloudFormation documentation. <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-reference.html>`_ For Amazon RDS master user credentials, see `AWS::RDS::DBCluster MasterUserSecret <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html>`_ . For Amazon Redshift admin user credentials, see `AWS::Redshift::Cluster <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html>`_ .
773
- :param rotate_immediately_on_update: Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in ``RotationRules`` . If you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the ```testSecret`` step <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ of the Lambda rotation function. The test creates an ``AWSPENDING`` version of the secret and then removes it. If you don't specify this value, then by default, Secrets Manager rotates the secret immediately. Rotation is an asynchronous process. For more information, see `How rotation works <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ .
777
+ :param rotate_immediately_on_update: Determines whether to rotate the secret immediately or wait until the next scheduled rotation window when the rotation schedule is updated. The rotation schedule is defined in ``RotationRules`` . The default for ``RotateImmediatelyOnUpdate`` is ``true`` . If you don't specify this value, Secrets Manager rotates the secret immediately. If you set ``RotateImmediatelyOnUpdate`` to ``false`` , Secrets Manager tests the rotation configuration by running the ```testSecret`` step <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ of the Lambda rotation function. This test creates an ``AWSPENDING`` version of the secret and then removes it. .. epigraph:: When changing an existing rotation schedule and setting ``RotateImmediatelyOnUpdate`` to ``false`` : - If using ``AutomaticallyAfterDays`` or a ``ScheduleExpression`` with ``rate()`` , the previously scheduled rotation might still occur. - To prevent unintended rotations, use a ``ScheduleExpression`` with ``cron()`` for granular control over rotation windows. Rotation is an asynchronous process. For more information, see `How rotation works <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ .
774
778
  :param rotation_lambda_arn: The ARN of an existing Lambda rotation function. To specify a rotation function that is also defined in this template, use the `Ref <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html>`_ function. For Amazon RDS master user credentials, see `AWS::RDS::DBCluster MasterUserSecret <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html>`_ . For Amazon Redshift admin user credentials, see `AWS::Redshift::Cluster <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html>`_ . To create a new rotation function based on one of the `Secrets Manager rotation function templates <https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html>`_ , specify ``HostedRotationLambda`` instead.
775
779
  :param rotation_rules: A structure that defines the rotation configuration for this secret.
776
780
  '''
@@ -871,7 +875,7 @@ class CfnRotationSchedule(
871
875
  def rotate_immediately_on_update(
872
876
  self,
873
877
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
874
- '''Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.'''
878
+ '''Determines whether to rotate the secret immediately or wait until the next scheduled rotation window when the rotation schedule is updated.'''
875
879
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "rotateImmediatelyOnUpdate"))
876
880
 
877
881
  @rotate_immediately_on_update.setter
@@ -1217,6 +1221,12 @@ class CfnRotationSchedule(
1217
1221
  '''The rotation schedule and window.
1218
1222
 
1219
1223
  We recommend you use ``ScheduleExpression`` to set a cron or rate expression for the schedule and ``Duration`` to set the length of the rotation window.
1224
+ .. epigraph::
1225
+
1226
+ When changing an existing rotation schedule and setting ``RotateImmediatelyOnUpdate`` to ``false`` :
1227
+
1228
+ - If using ``AutomaticallyAfterDays`` or a ``ScheduleExpression`` with ``rate()`` , the previously scheduled rotation might still occur.
1229
+ - To prevent unintended rotations, use a ``ScheduleExpression`` with ``cron()`` for granular control over rotation windows.
1220
1230
 
1221
1231
  :param automatically_after_days: The number of days between automatic scheduled rotations of the secret. You can use this value to check that your secret meets your compliance guidelines for how often secrets must be rotated. In ``DescribeSecret`` and ``ListSecrets`` , this value is calculated from the rotation schedule after every successful rotation. In ``RotateSecret`` , you can set the rotation schedule in ``RotationRules`` with ``AutomaticallyAfterDays`` or ``ScheduleExpression`` , but not both.
1222
1232
  :param duration: The length of the rotation window in hours, for example ``3h`` for a three hour window. Secrets Manager rotates your secret at any time during this window. The window must not extend into the next rotation window or the next UTC day. The window starts according to the ``ScheduleExpression`` . If you don't specify a ``Duration`` , for a ``ScheduleExpression`` in hours, the window automatically closes after one hour. For a ``ScheduleExpression`` in days, the window automatically closes at the end of the UTC day. For more information, including examples, see `Schedule expressions in Secrets Manager rotation <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_schedule.html>`_ in the *Secrets Manager Users Guide* .
@@ -1326,7 +1336,7 @@ class CfnRotationScheduleProps:
1326
1336
 
1327
1337
  :param secret_id: The ARN or name of the secret to rotate. This is unique for each rotation schedule definition. To reference a secret also created in this template, use the `Ref <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html>`_ function with the secret's logical ID.
1328
1338
  :param hosted_rotation_lambda: Creates a new Lambda rotation function based on one of the `Secrets Manager rotation function templates <https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html>`_ . To use a rotation function that already exists, specify ``RotationLambdaARN`` instead. You must specify ``Transform: AWS::SecretsManager-2024-09-16`` at the beginning of the CloudFormation template. Transforms are macros hosted by AWS CloudFormation that help you create and manage complex infrastructure. The ``Transform: AWS::SecretsManager-2024-09-16`` transform automatically extends the CloudFormation stack to include a nested stack (of type ``AWS::CloudFormation::Stack`` ), which then creates and updates on your behalf during subsequent stack operations, the appropriate rotation Lambda function for your database or service. For general information on transforms, see the `AWS CloudFormation documentation. <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-reference.html>`_ For Amazon RDS master user credentials, see `AWS::RDS::DBCluster MasterUserSecret <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html>`_ . For Amazon Redshift admin user credentials, see `AWS::Redshift::Cluster <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html>`_ .
1329
- :param rotate_immediately_on_update: Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in ``RotationRules`` . If you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the ```testSecret`` step <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ of the Lambda rotation function. The test creates an ``AWSPENDING`` version of the secret and then removes it. If you don't specify this value, then by default, Secrets Manager rotates the secret immediately. Rotation is an asynchronous process. For more information, see `How rotation works <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ .
1339
+ :param rotate_immediately_on_update: Determines whether to rotate the secret immediately or wait until the next scheduled rotation window when the rotation schedule is updated. The rotation schedule is defined in ``RotationRules`` . The default for ``RotateImmediatelyOnUpdate`` is ``true`` . If you don't specify this value, Secrets Manager rotates the secret immediately. If you set ``RotateImmediatelyOnUpdate`` to ``false`` , Secrets Manager tests the rotation configuration by running the ```testSecret`` step <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ of the Lambda rotation function. This test creates an ``AWSPENDING`` version of the secret and then removes it. .. epigraph:: When changing an existing rotation schedule and setting ``RotateImmediatelyOnUpdate`` to ``false`` : - If using ``AutomaticallyAfterDays`` or a ``ScheduleExpression`` with ``rate()`` , the previously scheduled rotation might still occur. - To prevent unintended rotations, use a ``ScheduleExpression`` with ``cron()`` for granular control over rotation windows. Rotation is an asynchronous process. For more information, see `How rotation works <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ .
1330
1340
  :param rotation_lambda_arn: The ARN of an existing Lambda rotation function. To specify a rotation function that is also defined in this template, use the `Ref <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html>`_ function. For Amazon RDS master user credentials, see `AWS::RDS::DBCluster MasterUserSecret <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html>`_ . For Amazon Redshift admin user credentials, see `AWS::Redshift::Cluster <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html>`_ . To create a new rotation function based on one of the `Secrets Manager rotation function templates <https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html>`_ , specify ``HostedRotationLambda`` instead.
1331
1341
  :param rotation_rules: A structure that defines the rotation configuration for this secret.
1332
1342
 
@@ -1419,13 +1429,19 @@ class CfnRotationScheduleProps:
1419
1429
  def rotate_immediately_on_update(
1420
1430
  self,
1421
1431
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1422
- '''Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.
1432
+ '''Determines whether to rotate the secret immediately or wait until the next scheduled rotation window when the rotation schedule is updated.
1423
1433
 
1424
1434
  The rotation schedule is defined in ``RotationRules`` .
1425
1435
 
1426
- If you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the ```testSecret`` step <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ of the Lambda rotation function. The test creates an ``AWSPENDING`` version of the secret and then removes it.
1436
+ The default for ``RotateImmediatelyOnUpdate`` is ``true`` . If you don't specify this value, Secrets Manager rotates the secret immediately.
1437
+
1438
+ If you set ``RotateImmediatelyOnUpdate`` to ``false`` , Secrets Manager tests the rotation configuration by running the ```testSecret`` step <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ of the Lambda rotation function. This test creates an ``AWSPENDING`` version of the secret and then removes it.
1439
+ .. epigraph::
1440
+
1441
+ When changing an existing rotation schedule and setting ``RotateImmediatelyOnUpdate`` to ``false`` :
1427
1442
 
1428
- If you don't specify this value, then by default, Secrets Manager rotates the secret immediately.
1443
+ - If using ``AutomaticallyAfterDays`` or a ``ScheduleExpression`` with ``rate()`` , the previously scheduled rotation might still occur.
1444
+ - To prevent unintended rotations, use a ``ScheduleExpression`` with ``cron()`` for granular control over rotation windows.
1429
1445
 
1430
1446
  Rotation is an asynchronous process. For more information, see `How rotation works <https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html>`_ .
1431
1447
 
@@ -676,7 +676,7 @@ class CfnAutomationRule(
676
676
  related_findings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRule.RelatedFindingProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
677
677
  severity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRule.SeverityUpdateProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
678
678
  types: typing.Optional[typing.Sequence[builtins.str]] = None,
679
- user_defined_fields: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
679
+ user_defined_fields: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
680
680
  verification_state: typing.Optional[builtins.str] = None,
681
681
  workflow: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRule.WorkflowUpdateProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
682
682
  ) -> None:
@@ -824,13 +824,13 @@ class CfnAutomationRule(
824
824
  @builtins.property
825
825
  def user_defined_fields(
826
826
  self,
827
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
827
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
828
828
  '''The rule action updates the ``UserDefinedFields`` field of a finding.
829
829
 
830
830
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-automationrulesfindingfieldsupdate.html#cfn-securityhub-automationrule-automationrulesfindingfieldsupdate-userdefinedfields
831
831
  '''
832
832
  result = self._values.get("user_defined_fields")
833
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
833
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
834
834
 
835
835
  @builtins.property
836
836
  def verification_state(self) -> typing.Optional[builtins.str]:
@@ -3254,7 +3254,7 @@ class CfnConfigurationPolicy(
3254
3254
  enum: typing.Optional[builtins.str] = None,
3255
3255
  enum_list: typing.Optional[typing.Sequence[builtins.str]] = None,
3256
3256
  integer: typing.Optional[jsii.Number] = None,
3257
- integer_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]]] = None,
3257
+ integer_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
3258
3258
  string: typing.Optional[builtins.str] = None,
3259
3259
  string_list: typing.Optional[typing.Sequence[builtins.str]] = None,
3260
3260
  ) -> None:
@@ -3367,13 +3367,13 @@ class CfnConfigurationPolicy(
3367
3367
  @builtins.property
3368
3368
  def integer_list(
3369
3369
  self,
3370
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]]]:
3370
+ ) -> typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]]:
3371
3371
  '''A control parameter that is a list of integers.
3372
3372
 
3373
3373
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html#cfn-securityhub-configurationpolicy-parametervalue-integerlist
3374
3374
  '''
3375
3375
  result = self._values.get("integer_list")
3376
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]]], result)
3376
+ return typing.cast(typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]], result)
3377
3377
 
3378
3378
  @builtins.property
3379
3379
  def string(self) -> typing.Optional[builtins.str]:
@@ -9849,7 +9849,7 @@ class CfnSecurityControl(
9849
9849
  enum: typing.Optional[builtins.str] = None,
9850
9850
  enum_list: typing.Optional[typing.Sequence[builtins.str]] = None,
9851
9851
  integer: typing.Optional[jsii.Number] = None,
9852
- integer_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]]] = None,
9852
+ integer_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
9853
9853
  string: typing.Optional[builtins.str] = None,
9854
9854
  string_list: typing.Optional[typing.Sequence[builtins.str]] = None,
9855
9855
  ) -> None:
@@ -9962,13 +9962,13 @@ class CfnSecurityControl(
9962
9962
  @builtins.property
9963
9963
  def integer_list(
9964
9964
  self,
9965
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]]]:
9965
+ ) -> typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]]:
9966
9966
  '''A control parameter that is a list of integers.
9967
9967
 
9968
9968
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-securitycontrol-parametervalue.html#cfn-securityhub-securitycontrol-parametervalue-integerlist
9969
9969
  '''
9970
9970
  result = self._values.get("integer_list")
9971
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]]], result)
9971
+ return typing.cast(typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]], result)
9972
9972
 
9973
9973
  @builtins.property
9974
9974
  def string(self) -> typing.Optional[builtins.str]:
@@ -10556,7 +10556,7 @@ def _typecheckingstub__46649258d4db7d36012fa064d0d3a3c3e3937ea1364fbd532ef0e84d4
10556
10556
  related_findings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRule.RelatedFindingProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
10557
10557
  severity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRule.SeverityUpdateProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10558
10558
  types: typing.Optional[typing.Sequence[builtins.str]] = None,
10559
- user_defined_fields: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
10559
+ user_defined_fields: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
10560
10560
  verification_state: typing.Optional[builtins.str] = None,
10561
10561
  workflow: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRule.WorkflowUpdateProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10562
10562
  ) -> None:
@@ -10756,7 +10756,7 @@ def _typecheckingstub__969ca8061fcd5bd0e97fbdd1aa2f0797cdbe22b447375480430ca26de
10756
10756
  enum: typing.Optional[builtins.str] = None,
10757
10757
  enum_list: typing.Optional[typing.Sequence[builtins.str]] = None,
10758
10758
  integer: typing.Optional[jsii.Number] = None,
10759
- integer_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]]] = None,
10759
+ integer_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
10760
10760
  string: typing.Optional[builtins.str] = None,
10761
10761
  string_list: typing.Optional[typing.Sequence[builtins.str]] = None,
10762
10762
  ) -> None:
@@ -11361,7 +11361,7 @@ def _typecheckingstub__0cc6352822613fffa320be35bf75f34228be34d529ce2169c19a447dc
11361
11361
  enum: typing.Optional[builtins.str] = None,
11362
11362
  enum_list: typing.Optional[typing.Sequence[builtins.str]] = None,
11363
11363
  integer: typing.Optional[jsii.Number] = None,
11364
- integer_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]]] = None,
11364
+ integer_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
11365
11365
  string: typing.Optional[builtins.str] = None,
11366
11366
  string_list: typing.Optional[typing.Sequence[builtins.str]] = None,
11367
11367
  ) -> None: