aws-cdk-lib 2.117.0__py3-none-any.whl → 2.119.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 (57) hide show
  1. aws_cdk/__init__.py +138 -25
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.117.0.jsii.tgz → aws-cdk-lib@2.119.0.jsii.tgz} +0 -0
  4. aws_cdk/amzn_sdc/__init__.py +496 -0
  5. aws_cdk/aws_appsync/__init__.py +94 -22
  6. aws_cdk/aws_autoscaling/__init__.py +139 -74
  7. aws_cdk/aws_certificatemanager/__init__.py +164 -3
  8. aws_cdk/aws_cloud9/__init__.py +3 -3
  9. aws_cdk/aws_cloudfront/__init__.py +853 -38
  10. aws_cdk/aws_cloudtrail/__init__.py +54 -34
  11. aws_cdk/aws_cloudwatch_actions/__init__.py +105 -0
  12. aws_cdk/aws_codebuild/__init__.py +46 -5
  13. aws_cdk/aws_codecommit/__init__.py +9 -3
  14. aws_cdk/aws_codepipeline_actions/__init__.py +54 -0
  15. aws_cdk/aws_codetest/__init__.py +788 -0
  16. aws_cdk/aws_cognito/__init__.py +104 -0
  17. aws_cdk/aws_connect/__init__.py +626 -78
  18. aws_cdk/aws_docdb/__init__.py +442 -0
  19. aws_cdk/aws_dynamodb/__init__.py +14 -0
  20. aws_cdk/aws_ec2/__init__.py +372 -44
  21. aws_cdk/aws_ecs/__init__.py +192 -35
  22. aws_cdk/aws_emrserverless/__init__.py +20 -13
  23. aws_cdk/aws_events/__init__.py +90 -1
  24. aws_cdk/aws_fis/__init__.py +12 -32
  25. aws_cdk/aws_globalaccelerator/__init__.py +19 -0
  26. aws_cdk/aws_glue/__init__.py +329 -0
  27. aws_cdk/aws_iam/__init__.py +50 -24
  28. aws_cdk/aws_iot/__init__.py +112 -0
  29. aws_cdk/aws_iotsitewise/__init__.py +4 -4
  30. aws_cdk/aws_kendra/__init__.py +10 -5
  31. aws_cdk/aws_kinesisfirehose/__init__.py +111 -0
  32. aws_cdk/aws_lambda/__init__.py +180 -407
  33. aws_cdk/aws_location/__init__.py +1132 -17
  34. aws_cdk/aws_mediatailor/__init__.py +120 -17
  35. aws_cdk/aws_networkfirewall/__init__.py +2 -2
  36. aws_cdk/aws_networkmanager/__init__.py +1 -1
  37. aws_cdk/aws_omics/__init__.py +4 -4
  38. aws_cdk/aws_opensearchservice/__init__.py +58 -0
  39. aws_cdk/aws_pinpoint/__init__.py +14 -6
  40. aws_cdk/aws_pipes/__init__.py +7 -2
  41. aws_cdk/aws_rds/__init__.py +247 -16
  42. aws_cdk/aws_redshift/__init__.py +103 -0
  43. aws_cdk/aws_route53/__init__.py +68 -20
  44. aws_cdk/aws_s3/__init__.py +2 -4
  45. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  46. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -3
  47. aws_cdk/aws_signer/__init__.py +27 -4
  48. aws_cdk/aws_ssm/__init__.py +76 -13
  49. aws_cdk/aws_stepfunctions/__init__.py +110 -5
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +84 -29
  51. aws_cdk/pipelines/__init__.py +136 -37
  52. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/LICENSE +1 -1
  53. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/METADATA +98 -12
  54. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/NOTICE +1 -1
  55. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/RECORD +57 -55
  56. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/WHEEL +0 -0
  57. {aws_cdk_lib-2.117.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/top_level.txt +0 -0
@@ -5110,6 +5110,7 @@ class CfnPatchBaseline(
5110
5110
  approved_patches=["approvedPatches"],
5111
5111
  approved_patches_compliance_level="approvedPatchesComplianceLevel",
5112
5112
  approved_patches_enable_non_security=False,
5113
+ default_baseline=False,
5113
5114
  description="description",
5114
5115
  global_filters=ssm.CfnPatchBaseline.PatchFilterGroupProperty(
5115
5116
  patch_filters=[ssm.CfnPatchBaseline.PatchFilterProperty(
@@ -5143,6 +5144,7 @@ class CfnPatchBaseline(
5143
5144
  approved_patches: typing.Optional[typing.Sequence[builtins.str]] = None,
5144
5145
  approved_patches_compliance_level: typing.Optional[builtins.str] = None,
5145
5146
  approved_patches_enable_non_security: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5147
+ default_baseline: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5146
5148
  description: typing.Optional[builtins.str] = None,
5147
5149
  global_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPatchBaseline.PatchFilterGroupProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5148
5150
  operating_system: typing.Optional[builtins.str] = None,
@@ -5158,14 +5160,15 @@ class CfnPatchBaseline(
5158
5160
  :param name: The name of the patch baseline.
5159
5161
  :param approval_rules: A set of rules used to include patches in the baseline.
5160
5162
  :param approved_patches: A list of explicitly approved patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see `About package name formats for approved and rejected patch lists <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html>`_ in the *AWS Systems Manager User Guide* .
5161
- :param approved_patches_compliance_level: Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is ``UNSPECIFIED`` .
5162
- :param approved_patches_enable_non_security: Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is ``false`` . Applies to Linux managed nodes only.
5163
+ :param approved_patches_compliance_level: Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is ``UNSPECIFIED`` . Default: - "UNSPECIFIED"
5164
+ :param approved_patches_enable_non_security: Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is ``false`` . Applies to Linux managed nodes only. Default: - false
5165
+ :param default_baseline: Set the baseline as default baseline. Only registering to default patch baseline is allowed. Default: - false
5163
5166
  :param description: A description of the patch baseline.
5164
5167
  :param global_filters: A set of global filters used to include patches in the baseline.
5165
- :param operating_system: Defines the operating system the patch baseline applies to. The default value is ``WINDOWS`` .
5168
+ :param operating_system: Defines the operating system the patch baseline applies to. The default value is ``WINDOWS`` . Default: - "WINDOWS"
5166
5169
  :param patch_groups: The name of the patch group to be registered with the patch baseline.
5167
5170
  :param rejected_patches: A list of explicitly rejected patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see `About package name formats for approved and rejected patch lists <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html>`_ in the *AWS Systems Manager User Guide* .
5168
- :param rejected_patches_action: The action for Patch Manager to take on patches included in the ``RejectedPackages`` list. - *``ALLOW_AS_DEPENDENCY``* : A package in the ``Rejected`` patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as ``InstalledOther`` . This is the default action if no option is specified. - *``BLOCK``* : Packages in the ``RejectedPatches`` list, and packages that include them as dependencies, aren't installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as ``InstalledRejected`` .
5171
+ :param rejected_patches_action: The action for Patch Manager to take on patches included in the ``RejectedPackages`` list. - *``ALLOW_AS_DEPENDENCY``* : A package in the ``Rejected`` patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as ``InstalledOther`` . This is the default action if no option is specified. - *``BLOCK``* : Packages in the ``RejectedPatches`` list, and packages that include them as dependencies, aren't installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as ``InstalledRejected`` . Default: - "ALLOW_AS_DEPENDENCY"
5169
5172
  :param sources: Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.
5170
5173
  :param tags: Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to.
5171
5174
  '''
@@ -5179,6 +5182,7 @@ class CfnPatchBaseline(
5179
5182
  approved_patches=approved_patches,
5180
5183
  approved_patches_compliance_level=approved_patches_compliance_level,
5181
5184
  approved_patches_enable_non_security=approved_patches_enable_non_security,
5185
+ default_baseline=default_baseline,
5182
5186
  description=description,
5183
5187
  global_filters=global_filters,
5184
5188
  operating_system=operating_system,
@@ -5224,7 +5228,8 @@ class CfnPatchBaseline(
5224
5228
  @builtins.property
5225
5229
  @jsii.member(jsii_name="attrId")
5226
5230
  def attr_id(self) -> builtins.str:
5227
- '''
5231
+ '''The ID of the patch baseline.
5232
+
5228
5233
  :cloudformationAttribute: Id
5229
5234
  '''
5230
5235
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -5321,6 +5326,24 @@ class CfnPatchBaseline(
5321
5326
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5322
5327
  jsii.set(self, "approvedPatchesEnableNonSecurity", value)
5323
5328
 
5329
+ @builtins.property
5330
+ @jsii.member(jsii_name="defaultBaseline")
5331
+ def default_baseline(
5332
+ self,
5333
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
5334
+ '''Set the baseline as default baseline.'''
5335
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "defaultBaseline"))
5336
+
5337
+ @default_baseline.setter
5338
+ def default_baseline(
5339
+ self,
5340
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
5341
+ ) -> None:
5342
+ if __debug__:
5343
+ type_hints = typing.get_type_hints(_typecheckingstub__a82f38addd776fccd7d2225bc356d9a6e4dc42b938cbf56c083c34cd4994c239)
5344
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5345
+ jsii.set(self, "defaultBaseline", value)
5346
+
5324
5347
  @builtins.property
5325
5348
  @jsii.member(jsii_name="description")
5326
5349
  def description(self) -> typing.Optional[builtins.str]:
@@ -5597,11 +5620,11 @@ class CfnPatchBaseline(
5597
5620
  ) -> None:
5598
5621
  '''``PatchSource`` is the property type for the ``Sources`` resource of the `AWS::SSM::PatchBaseline <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html>`_ resource.
5599
5622
 
5600
- The AWS CloudFormation ``AWS::SSM::PatchSource`` resource is used to provide information about the patches to use to update target instances, including target operating systems and source repository. Applies to Linux instances only.
5623
+ The AWS CloudFormation ``AWS::SSM::PatchSource`` resource is used to provide information about the patches to use to update target instances, including target operating systems and source repository. Applies to Linux managed nodes only.
5601
5624
 
5602
5625
  :param configuration: The value of the yum repo configuration. For example:. ``[main]`` ``name=MyCustomRepository`` ``baseurl=https://my-custom-repository`` ``enabled=1`` .. epigraph:: For information about other options available for your yum repository configuration, see `dnf.conf(5) <https://docs.aws.amazon.com/https://man7.org/linux/man-pages/man5/dnf.conf.5.html>`_ .
5603
5626
  :param name: The name specified to identify the patch source.
5604
- :param products: The specific operating system versions a patch repository applies to, such as "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product values, see `PatchFilter <https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html>`_ in the *AWS Systems Manager API Reference* .
5627
+ :param products: The specific operating system versions a patch repository applies to, such as "Ubuntu16.04", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product values, see `PatchFilter <https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html>`_ in the *AWS Systems Manager API Reference* .
5605
5628
 
5606
5629
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html
5607
5630
  :exampleMetadata: fixture=_generated
@@ -5662,7 +5685,7 @@ class CfnPatchBaseline(
5662
5685
 
5663
5686
  @builtins.property
5664
5687
  def products(self) -> typing.Optional[typing.List[builtins.str]]:
5665
- '''The specific operating system versions a patch repository applies to, such as "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product values, see `PatchFilter <https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html>`_ in the *AWS Systems Manager API Reference* .
5688
+ '''The specific operating system versions a patch repository applies to, such as "Ubuntu16.04", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product values, see `PatchFilter <https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html>`_ in the *AWS Systems Manager API Reference* .
5666
5689
 
5667
5690
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-products
5668
5691
  '''
@@ -5778,7 +5801,7 @@ class CfnPatchBaseline(
5778
5801
  :param approve_after_days: The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. For example, a value of ``7`` means that patches are approved seven days after they are released. You must specify a value for ``ApproveAfterDays`` . Exception: Not supported on Debian Server or Ubuntu Server.
5779
5802
  :param approve_until_date: The cutoff date for auto approval of released patches. Any patches released on or before this date are installed automatically. Not supported on Debian Server or Ubuntu Server. Enter dates in the format ``YYYY-MM-DD`` . For example, ``2021-12-31`` .
5780
5803
  :param compliance_level: A compliance severity level for all approved patches in a patch baseline. Valid compliance severity levels include the following: ``UNSPECIFIED`` , ``CRITICAL`` , ``HIGH`` , ``MEDIUM`` , ``LOW`` , and ``INFORMATIONAL`` .
5781
- :param enable_non_security: For managed nodes identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is ``false`` . Applies to Linux managed nodes only.
5804
+ :param enable_non_security: For managed nodes identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is ``false`` . Applies to Linux managed nodes only. Default: - false
5782
5805
  :param patch_filter_group: The patch filter group that defines the criteria for the rule.
5783
5806
 
5784
5807
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html
@@ -5869,6 +5892,8 @@ class CfnPatchBaseline(
5869
5892
 
5870
5893
  The default value is ``false`` . Applies to Linux managed nodes only.
5871
5894
 
5895
+ :default: - false
5896
+
5872
5897
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-enablenonsecurity
5873
5898
  '''
5874
5899
  result = self._values.get("enable_non_security")
@@ -5906,6 +5931,7 @@ class CfnPatchBaseline(
5906
5931
  "approved_patches": "approvedPatches",
5907
5932
  "approved_patches_compliance_level": "approvedPatchesComplianceLevel",
5908
5933
  "approved_patches_enable_non_security": "approvedPatchesEnableNonSecurity",
5934
+ "default_baseline": "defaultBaseline",
5909
5935
  "description": "description",
5910
5936
  "global_filters": "globalFilters",
5911
5937
  "operating_system": "operatingSystem",
@@ -5925,6 +5951,7 @@ class CfnPatchBaselineProps:
5925
5951
  approved_patches: typing.Optional[typing.Sequence[builtins.str]] = None,
5926
5952
  approved_patches_compliance_level: typing.Optional[builtins.str] = None,
5927
5953
  approved_patches_enable_non_security: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5954
+ default_baseline: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5928
5955
  description: typing.Optional[builtins.str] = None,
5929
5956
  global_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPatchBaseline.PatchFilterGroupProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5930
5957
  operating_system: typing.Optional[builtins.str] = None,
@@ -5939,14 +5966,15 @@ class CfnPatchBaselineProps:
5939
5966
  :param name: The name of the patch baseline.
5940
5967
  :param approval_rules: A set of rules used to include patches in the baseline.
5941
5968
  :param approved_patches: A list of explicitly approved patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see `About package name formats for approved and rejected patch lists <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html>`_ in the *AWS Systems Manager User Guide* .
5942
- :param approved_patches_compliance_level: Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is ``UNSPECIFIED`` .
5943
- :param approved_patches_enable_non_security: Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is ``false`` . Applies to Linux managed nodes only.
5969
+ :param approved_patches_compliance_level: Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is ``UNSPECIFIED`` . Default: - "UNSPECIFIED"
5970
+ :param approved_patches_enable_non_security: Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is ``false`` . Applies to Linux managed nodes only. Default: - false
5971
+ :param default_baseline: Set the baseline as default baseline. Only registering to default patch baseline is allowed. Default: - false
5944
5972
  :param description: A description of the patch baseline.
5945
5973
  :param global_filters: A set of global filters used to include patches in the baseline.
5946
- :param operating_system: Defines the operating system the patch baseline applies to. The default value is ``WINDOWS`` .
5974
+ :param operating_system: Defines the operating system the patch baseline applies to. The default value is ``WINDOWS`` . Default: - "WINDOWS"
5947
5975
  :param patch_groups: The name of the patch group to be registered with the patch baseline.
5948
5976
  :param rejected_patches: A list of explicitly rejected patches for the baseline. For information about accepted formats for lists of approved patches and rejected patches, see `About package name formats for approved and rejected patch lists <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html>`_ in the *AWS Systems Manager User Guide* .
5949
- :param rejected_patches_action: The action for Patch Manager to take on patches included in the ``RejectedPackages`` list. - *``ALLOW_AS_DEPENDENCY``* : A package in the ``Rejected`` patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as ``InstalledOther`` . This is the default action if no option is specified. - *``BLOCK``* : Packages in the ``RejectedPatches`` list, and packages that include them as dependencies, aren't installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as ``InstalledRejected`` .
5977
+ :param rejected_patches_action: The action for Patch Manager to take on patches included in the ``RejectedPackages`` list. - *``ALLOW_AS_DEPENDENCY``* : A package in the ``Rejected`` patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as ``InstalledOther`` . This is the default action if no option is specified. - *``BLOCK``* : Packages in the ``RejectedPatches`` list, and packages that include them as dependencies, aren't installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as ``InstalledRejected`` . Default: - "ALLOW_AS_DEPENDENCY"
5950
5978
  :param sources: Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.
5951
5979
  :param tags: Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to.
5952
5980
 
@@ -5980,6 +6008,7 @@ class CfnPatchBaselineProps:
5980
6008
  approved_patches=["approvedPatches"],
5981
6009
  approved_patches_compliance_level="approvedPatchesComplianceLevel",
5982
6010
  approved_patches_enable_non_security=False,
6011
+ default_baseline=False,
5983
6012
  description="description",
5984
6013
  global_filters=ssm.CfnPatchBaseline.PatchFilterGroupProperty(
5985
6014
  patch_filters=[ssm.CfnPatchBaseline.PatchFilterProperty(
@@ -6009,6 +6038,7 @@ class CfnPatchBaselineProps:
6009
6038
  check_type(argname="argument approved_patches", value=approved_patches, expected_type=type_hints["approved_patches"])
6010
6039
  check_type(argname="argument approved_patches_compliance_level", value=approved_patches_compliance_level, expected_type=type_hints["approved_patches_compliance_level"])
6011
6040
  check_type(argname="argument approved_patches_enable_non_security", value=approved_patches_enable_non_security, expected_type=type_hints["approved_patches_enable_non_security"])
6041
+ check_type(argname="argument default_baseline", value=default_baseline, expected_type=type_hints["default_baseline"])
6012
6042
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
6013
6043
  check_type(argname="argument global_filters", value=global_filters, expected_type=type_hints["global_filters"])
6014
6044
  check_type(argname="argument operating_system", value=operating_system, expected_type=type_hints["operating_system"])
@@ -6028,6 +6058,8 @@ class CfnPatchBaselineProps:
6028
6058
  self._values["approved_patches_compliance_level"] = approved_patches_compliance_level
6029
6059
  if approved_patches_enable_non_security is not None:
6030
6060
  self._values["approved_patches_enable_non_security"] = approved_patches_enable_non_security
6061
+ if default_baseline is not None:
6062
+ self._values["default_baseline"] = default_baseline
6031
6063
  if description is not None:
6032
6064
  self._values["description"] = description
6033
6065
  if global_filters is not None:
@@ -6083,6 +6115,8 @@ class CfnPatchBaselineProps:
6083
6115
 
6084
6116
  When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is ``UNSPECIFIED`` .
6085
6117
 
6118
+ :default: - "UNSPECIFIED"
6119
+
6086
6120
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatchescompliancelevel
6087
6121
  '''
6088
6122
  result = self._values.get("approved_patches_compliance_level")
@@ -6096,11 +6130,28 @@ class CfnPatchBaselineProps:
6096
6130
 
6097
6131
  The default value is ``false`` . Applies to Linux managed nodes only.
6098
6132
 
6133
+ :default: - false
6134
+
6099
6135
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatchesenablenonsecurity
6100
6136
  '''
6101
6137
  result = self._values.get("approved_patches_enable_non_security")
6102
6138
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6103
6139
 
6140
+ @builtins.property
6141
+ def default_baseline(
6142
+ self,
6143
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6144
+ '''Set the baseline as default baseline.
6145
+
6146
+ Only registering to default patch baseline is allowed.
6147
+
6148
+ :default: - false
6149
+
6150
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-defaultbaseline
6151
+ '''
6152
+ result = self._values.get("default_baseline")
6153
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6154
+
6104
6155
  @builtins.property
6105
6156
  def description(self) -> typing.Optional[builtins.str]:
6106
6157
  '''A description of the patch baseline.
@@ -6127,6 +6178,8 @@ class CfnPatchBaselineProps:
6127
6178
 
6128
6179
  The default value is ``WINDOWS`` .
6129
6180
 
6181
+ :default: - "WINDOWS"
6182
+
6130
6183
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-operatingsystem
6131
6184
  '''
6132
6185
  result = self._values.get("operating_system")
@@ -6159,6 +6212,8 @@ class CfnPatchBaselineProps:
6159
6212
  - *``ALLOW_AS_DEPENDENCY``* : A package in the ``Rejected`` patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as ``InstalledOther`` . This is the default action if no option is specified.
6160
6213
  - *``BLOCK``* : Packages in the ``RejectedPatches`` list, and packages that include them as dependencies, aren't installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as ``InstalledRejected`` .
6161
6214
 
6215
+ :default: - "ALLOW_AS_DEPENDENCY"
6216
+
6162
6217
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-rejectedpatchesaction
6163
6218
  '''
6164
6219
  result = self._values.get("rejected_patches_action")
@@ -9915,6 +9970,7 @@ def _typecheckingstub__5b87565e6649bbe5a503013adf6ae874b3dc918c05cd6b120b99a77e8
9915
9970
  approved_patches: typing.Optional[typing.Sequence[builtins.str]] = None,
9916
9971
  approved_patches_compliance_level: typing.Optional[builtins.str] = None,
9917
9972
  approved_patches_enable_non_security: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9973
+ default_baseline: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
9918
9974
  description: typing.Optional[builtins.str] = None,
9919
9975
  global_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPatchBaseline.PatchFilterGroupProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9920
9976
  operating_system: typing.Optional[builtins.str] = None,
@@ -9969,6 +10025,12 @@ def _typecheckingstub__596ca4adbe9b66ae96ac84884c609e25720aab40b7f9d665e6ea16808
9969
10025
  """Type checking stubs"""
9970
10026
  pass
9971
10027
 
10028
+ def _typecheckingstub__a82f38addd776fccd7d2225bc356d9a6e4dc42b938cbf56c083c34cd4994c239(
10029
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
10030
+ ) -> None:
10031
+ """Type checking stubs"""
10032
+ pass
10033
+
9972
10034
  def _typecheckingstub__4e0764881f21962614874d74c4570aaad8c8757ec8f88735329f4ff151db61a0(
9973
10035
  value: typing.Optional[builtins.str],
9974
10036
  ) -> None:
@@ -10066,6 +10128,7 @@ def _typecheckingstub__ff6666a30d275f2a85d64de631c940fb83198b8b5a376b87a3a684f4a
10066
10128
  approved_patches: typing.Optional[typing.Sequence[builtins.str]] = None,
10067
10129
  approved_patches_compliance_level: typing.Optional[builtins.str] = None,
10068
10130
  approved_patches_enable_non_security: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10131
+ default_baseline: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10069
10132
  description: typing.Optional[builtins.str] = None,
10070
10133
  global_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPatchBaseline.PatchFilterGroupProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10071
10134
  operating_system: typing.Optional[builtins.str] = None,
@@ -589,6 +589,13 @@ custom = sfn.CustomState(self, "my custom task",
589
589
  error_handler = sfn.Pass(self, "handle failure")
590
590
  custom.add_catch(error_handler)
591
591
 
592
+ # retry the task if something goes wrong
593
+ custom.add_retry(
594
+ errors=[sfn.Errors.ALL],
595
+ interval=Duration.seconds(10),
596
+ max_attempts=5
597
+ )
598
+
592
599
  chain = sfn.Chain.start(custom).next(final_status)
593
600
 
594
601
  sm = sfn.StateMachine(self, "StateMachine",
@@ -4477,6 +4484,13 @@ class CustomStateProps:
4477
4484
  error_handler = sfn.Pass(self, "handle failure")
4478
4485
  custom.add_catch(error_handler)
4479
4486
 
4487
+ # retry the task if something goes wrong
4488
+ custom.add_retry(
4489
+ errors=[sfn.Errors.ALL],
4490
+ interval=Duration.seconds(10),
4491
+ max_attempts=5
4492
+ )
4493
+
4480
4494
  chain = sfn.Chain.start(custom).next(final_status)
4481
4495
 
4482
4496
  sm = sfn.StateMachine(self, "StateMachine",
@@ -4792,15 +4806,65 @@ class DefinitionConfig:
4792
4806
  class Errors(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_stepfunctions.Errors"):
4793
4807
  '''Predefined error strings Error names in Amazon States Language - https://states-language.net/spec.html#appendix-a Error handling in Step Functions - https://docs.aws.amazon.com/step-functions/latest/dg/concepts-error-handling.html.
4794
4808
 
4795
- :exampleMetadata: fixture=_generated
4809
+ :exampleMetadata: infused
4796
4810
 
4797
4811
  Example::
4798
4812
 
4799
- # The code below shows an example of how to instantiate this type.
4800
- # The values are placeholders you should change.
4801
- from aws_cdk import aws_stepfunctions as stepfunctions
4813
+ import aws_cdk.aws_dynamodb as dynamodb
4814
+
4815
+
4816
+ # create a table
4817
+ table = dynamodb.Table(self, "montable",
4818
+ partition_key=dynamodb.Attribute(
4819
+ name="id",
4820
+ type=dynamodb.AttributeType.STRING
4821
+ )
4822
+ )
4823
+
4824
+ final_status = sfn.Pass(self, "final step")
4802
4825
 
4803
- errors = stepfunctions.Errors()
4826
+ # States language JSON to put an item into DynamoDB
4827
+ # snippet generated from https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-code-snippet.html#tutorial-code-snippet-1
4828
+ state_json = {
4829
+ "Type": "Task",
4830
+ "Resource": "arn:aws:states:::dynamodb:putItem",
4831
+ "Parameters": {
4832
+ "TableName": table.table_name,
4833
+ "Item": {
4834
+ "id": {
4835
+ "S": "MyEntry"
4836
+ }
4837
+ }
4838
+ },
4839
+ "ResultPath": null
4840
+ }
4841
+
4842
+ # custom state which represents a task to insert data into DynamoDB
4843
+ custom = sfn.CustomState(self, "my custom task",
4844
+ state_json=state_json
4845
+ )
4846
+
4847
+ # catch errors with addCatch
4848
+ error_handler = sfn.Pass(self, "handle failure")
4849
+ custom.add_catch(error_handler)
4850
+
4851
+ # retry the task if something goes wrong
4852
+ custom.add_retry(
4853
+ errors=[sfn.Errors.ALL],
4854
+ interval=Duration.seconds(10),
4855
+ max_attempts=5
4856
+ )
4857
+
4858
+ chain = sfn.Chain.start(custom).next(final_status)
4859
+
4860
+ sm = sfn.StateMachine(self, "StateMachine",
4861
+ definition_body=sfn.DefinitionBody.from_chainable(chain),
4862
+ timeout=Duration.seconds(30),
4863
+ comment="a super cool state machine"
4864
+ )
4865
+
4866
+ # don't forget permissions. You need to assign them
4867
+ table.grant_write_data(sm)
4804
4868
  '''
4805
4869
 
4806
4870
  def __init__(self) -> None:
@@ -12641,6 +12705,13 @@ class CustomState(
12641
12705
  error_handler = sfn.Pass(self, "handle failure")
12642
12706
  custom.add_catch(error_handler)
12643
12707
 
12708
+ # retry the task if something goes wrong
12709
+ custom.add_retry(
12710
+ errors=[sfn.Errors.ALL],
12711
+ interval=Duration.seconds(10),
12712
+ max_attempts=5
12713
+ )
12714
+
12644
12715
  chain = sfn.Chain.start(custom).next(final_status)
12645
12716
 
12646
12717
  sm = sfn.StateMachine(self, "StateMachine",
@@ -12697,6 +12768,40 @@ class CustomState(
12697
12768
 
12698
12769
  return typing.cast("CustomState", jsii.invoke(self, "addCatch", [handler, props]))
12699
12770
 
12771
+ @jsii.member(jsii_name="addRetry")
12772
+ def add_retry(
12773
+ self,
12774
+ *,
12775
+ backoff_rate: typing.Optional[jsii.Number] = None,
12776
+ errors: typing.Optional[typing.Sequence[builtins.str]] = None,
12777
+ interval: typing.Optional[_Duration_4839e8c3] = None,
12778
+ jitter_strategy: typing.Optional[JitterType] = None,
12779
+ max_attempts: typing.Optional[jsii.Number] = None,
12780
+ max_delay: typing.Optional[_Duration_4839e8c3] = None,
12781
+ ) -> "CustomState":
12782
+ '''Add retry configuration for this state.
12783
+
12784
+ This controls if and how the execution will be retried if a particular
12785
+ error occurs.
12786
+
12787
+ :param backoff_rate: Multiplication for how much longer the wait interval gets on every retry. Default: 2
12788
+ :param errors: Errors to retry. A list of error strings to retry, which can be either predefined errors (for example Errors.NoChoiceMatched) or a self-defined error. Default: All errors
12789
+ :param interval: How many seconds to wait initially before retrying. Default: Duration.seconds(1)
12790
+ :param jitter_strategy: Introduces a randomization over the retry interval. Default: - No jitter strategy
12791
+ :param max_attempts: How many times to retry this particular error. May be 0 to disable retry for specific errors (in case you have a catch-all retry policy). Default: 3
12792
+ :param max_delay: Maximum limit on retry interval growth during exponential backoff. Default: - No max delay
12793
+ '''
12794
+ props = RetryProps(
12795
+ backoff_rate=backoff_rate,
12796
+ errors=errors,
12797
+ interval=interval,
12798
+ jitter_strategy=jitter_strategy,
12799
+ max_attempts=max_attempts,
12800
+ max_delay=max_delay,
12801
+ )
12802
+
12803
+ return typing.cast("CustomState", jsii.invoke(self, "addRetry", [props]))
12804
+
12700
12805
  @jsii.member(jsii_name="next")
12701
12806
  def next(self, next: IChainable) -> Chain:
12702
12807
  '''Continue normal execution with the given state.