aws-cdk-lib 2.154.1__py3-none-any.whl → 2.155.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.
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.154.1.jsii.tgz → aws-cdk-lib@2.155.0.jsii.tgz} +0 -0
- aws_cdk/assertions/__init__.py +17 -17
- aws_cdk/aws_cloudfront/__init__.py +4 -2
- aws_cdk/aws_codebuild/__init__.py +348 -7
- aws_cdk/aws_ec2/__init__.py +226 -35
- aws_cdk/aws_eks/__init__.py +34 -4
- aws_cdk/aws_ivs/__init__.py +10 -8
- aws_cdk/aws_kms/__init__.py +36 -0
- aws_cdk/aws_lambda/__init__.py +38 -23
- aws_cdk/aws_lambda_event_sources/__init__.py +27 -0
- aws_cdk/aws_rds/__init__.py +6 -0
- aws_cdk/aws_secretsmanager/__init__.py +3 -2
- aws_cdk/aws_ses/__init__.py +7 -7
- aws_cdk/aws_ssmcontacts/__init__.py +12 -0
- aws_cdk/aws_stepfunctions/__init__.py +12 -14
- aws_cdk/aws_stepfunctions_tasks/__init__.py +76 -0
- aws_cdk/aws_synthetics/__init__.py +13 -0
- aws_cdk/custom_resources/__init__.py +106 -1
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.155.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.155.0.dist-info}/RECORD +25 -25
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.155.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.155.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.155.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.155.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_eks/__init__.py
CHANGED
|
@@ -1862,7 +1862,9 @@ load_balancer_address = cluster.get_service_load_balancer_address("my-service")
|
|
|
1862
1862
|
eks.Addon(self, "Addon",
|
|
1863
1863
|
cluster=cluster,
|
|
1864
1864
|
addon_name="aws-guardduty-agent",
|
|
1865
|
-
addon_version="v1.6.1"
|
|
1865
|
+
addon_version="v1.6.1",
|
|
1866
|
+
# whether to preserve the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
|
|
1867
|
+
preserve_on_delete=False
|
|
1866
1868
|
)
|
|
1867
1869
|
```
|
|
1868
1870
|
|
|
@@ -2656,6 +2658,7 @@ class AddonAttributes:
|
|
|
2656
2658
|
"addon_name": "addonName",
|
|
2657
2659
|
"cluster": "cluster",
|
|
2658
2660
|
"addon_version": "addonVersion",
|
|
2661
|
+
"preserve_on_delete": "preserveOnDelete",
|
|
2659
2662
|
},
|
|
2660
2663
|
)
|
|
2661
2664
|
class AddonProps:
|
|
@@ -2665,12 +2668,14 @@ class AddonProps:
|
|
|
2665
2668
|
addon_name: builtins.str,
|
|
2666
2669
|
cluster: "ICluster",
|
|
2667
2670
|
addon_version: typing.Optional[builtins.str] = None,
|
|
2671
|
+
preserve_on_delete: typing.Optional[builtins.bool] = None,
|
|
2668
2672
|
) -> None:
|
|
2669
2673
|
'''Properties for creating an Amazon EKS Add-On.
|
|
2670
2674
|
|
|
2671
2675
|
:param addon_name: Name of the Add-On.
|
|
2672
2676
|
:param cluster: The EKS cluster the Add-On is associated with.
|
|
2673
2677
|
:param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versons. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
|
|
2678
|
+
:param preserve_on_delete: Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed. Default: true
|
|
2674
2679
|
|
|
2675
2680
|
:exampleMetadata: infused
|
|
2676
2681
|
|
|
@@ -2682,7 +2687,9 @@ class AddonProps:
|
|
|
2682
2687
|
eks.Addon(self, "Addon",
|
|
2683
2688
|
cluster=cluster,
|
|
2684
2689
|
addon_name="aws-guardduty-agent",
|
|
2685
|
-
addon_version="v1.6.1"
|
|
2690
|
+
addon_version="v1.6.1",
|
|
2691
|
+
# whether to preserve the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
|
|
2692
|
+
preserve_on_delete=False
|
|
2686
2693
|
)
|
|
2687
2694
|
'''
|
|
2688
2695
|
if __debug__:
|
|
@@ -2690,12 +2697,15 @@ class AddonProps:
|
|
|
2690
2697
|
check_type(argname="argument addon_name", value=addon_name, expected_type=type_hints["addon_name"])
|
|
2691
2698
|
check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
|
|
2692
2699
|
check_type(argname="argument addon_version", value=addon_version, expected_type=type_hints["addon_version"])
|
|
2700
|
+
check_type(argname="argument preserve_on_delete", value=preserve_on_delete, expected_type=type_hints["preserve_on_delete"])
|
|
2693
2701
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2694
2702
|
"addon_name": addon_name,
|
|
2695
2703
|
"cluster": cluster,
|
|
2696
2704
|
}
|
|
2697
2705
|
if addon_version is not None:
|
|
2698
2706
|
self._values["addon_version"] = addon_version
|
|
2707
|
+
if preserve_on_delete is not None:
|
|
2708
|
+
self._values["preserve_on_delete"] = preserve_on_delete
|
|
2699
2709
|
|
|
2700
2710
|
@builtins.property
|
|
2701
2711
|
def addon_name(self) -> builtins.str:
|
|
@@ -2725,6 +2735,17 @@ class AddonProps:
|
|
|
2725
2735
|
result = self._values.get("addon_version")
|
|
2726
2736
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
2727
2737
|
|
|
2738
|
+
@builtins.property
|
|
2739
|
+
def preserve_on_delete(self) -> typing.Optional[builtins.bool]:
|
|
2740
|
+
'''Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
|
|
2741
|
+
|
|
2742
|
+
If an IAM account is associated with the add-on, it isn't removed.
|
|
2743
|
+
|
|
2744
|
+
:default: true
|
|
2745
|
+
'''
|
|
2746
|
+
result = self._values.get("preserve_on_delete")
|
|
2747
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2748
|
+
|
|
2728
2749
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2729
2750
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2730
2751
|
|
|
@@ -16806,7 +16827,9 @@ class Addon(
|
|
|
16806
16827
|
eks.Addon(self, "Addon",
|
|
16807
16828
|
cluster=cluster,
|
|
16808
16829
|
addon_name="aws-guardduty-agent",
|
|
16809
|
-
addon_version="v1.6.1"
|
|
16830
|
+
addon_version="v1.6.1",
|
|
16831
|
+
# whether to preserve the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
|
|
16832
|
+
preserve_on_delete=False
|
|
16810
16833
|
)
|
|
16811
16834
|
'''
|
|
16812
16835
|
|
|
@@ -16818,6 +16841,7 @@ class Addon(
|
|
|
16818
16841
|
addon_name: builtins.str,
|
|
16819
16842
|
cluster: ICluster,
|
|
16820
16843
|
addon_version: typing.Optional[builtins.str] = None,
|
|
16844
|
+
preserve_on_delete: typing.Optional[builtins.bool] = None,
|
|
16821
16845
|
) -> None:
|
|
16822
16846
|
'''Creates a new Amazon EKS Add-On.
|
|
16823
16847
|
|
|
@@ -16826,13 +16850,17 @@ class Addon(
|
|
|
16826
16850
|
:param addon_name: Name of the Add-On.
|
|
16827
16851
|
:param cluster: The EKS cluster the Add-On is associated with.
|
|
16828
16852
|
:param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versons. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
|
|
16853
|
+
:param preserve_on_delete: Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed. Default: true
|
|
16829
16854
|
'''
|
|
16830
16855
|
if __debug__:
|
|
16831
16856
|
type_hints = typing.get_type_hints(_typecheckingstub__a8342124e215d4789acf852df764143c4809251dbcaa86f6b4a11860e46f830d)
|
|
16832
16857
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
16833
16858
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
16834
16859
|
props = AddonProps(
|
|
16835
|
-
addon_name=addon_name,
|
|
16860
|
+
addon_name=addon_name,
|
|
16861
|
+
cluster=cluster,
|
|
16862
|
+
addon_version=addon_version,
|
|
16863
|
+
preserve_on_delete=preserve_on_delete,
|
|
16836
16864
|
)
|
|
16837
16865
|
|
|
16838
16866
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
@@ -20043,6 +20071,7 @@ def _typecheckingstub__febc9f6cb4243d885b1b1838be38d633e7c5fc6534eaaf731f00a2465
|
|
|
20043
20071
|
addon_name: builtins.str,
|
|
20044
20072
|
cluster: ICluster,
|
|
20045
20073
|
addon_version: typing.Optional[builtins.str] = None,
|
|
20074
|
+
preserve_on_delete: typing.Optional[builtins.bool] = None,
|
|
20046
20075
|
) -> None:
|
|
20047
20076
|
"""Type checking stubs"""
|
|
20048
20077
|
pass
|
|
@@ -21672,6 +21701,7 @@ def _typecheckingstub__a8342124e215d4789acf852df764143c4809251dbcaa86f6b4a11860e
|
|
|
21672
21701
|
addon_name: builtins.str,
|
|
21673
21702
|
cluster: ICluster,
|
|
21674
21703
|
addon_version: typing.Optional[builtins.str] = None,
|
|
21704
|
+
preserve_on_delete: typing.Optional[builtins.bool] = None,
|
|
21675
21705
|
) -> None:
|
|
21676
21706
|
"""Type checking stubs"""
|
|
21677
21707
|
pass
|
aws_cdk/aws_ivs/__init__.py
CHANGED
|
@@ -2558,7 +2558,7 @@ class CfnStage(
|
|
|
2558
2558
|
'''
|
|
2559
2559
|
:param scope: Scope in which this resource is defined.
|
|
2560
2560
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2561
|
-
:param auto_participant_recording_configuration:
|
|
2561
|
+
:param auto_participant_recording_configuration: Configuration object for individual participant recording, to attach to the new stage.
|
|
2562
2562
|
:param name: Stage name.
|
|
2563
2563
|
:param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-stage-tag.html>`_ .
|
|
2564
2564
|
'''
|
|
@@ -2642,7 +2642,7 @@ class CfnStage(
|
|
|
2642
2642
|
def auto_participant_recording_configuration(
|
|
2643
2643
|
self,
|
|
2644
2644
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnStage.AutoParticipantRecordingConfigurationProperty"]]:
|
|
2645
|
-
'''
|
|
2645
|
+
'''Configuration object for individual participant recording, to attach to the new stage.'''
|
|
2646
2646
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnStage.AutoParticipantRecordingConfigurationProperty"]], jsii.get(self, "autoParticipantRecordingConfiguration"))
|
|
2647
2647
|
|
|
2648
2648
|
@auto_participant_recording_configuration.setter
|
|
@@ -2696,10 +2696,10 @@ class CfnStage(
|
|
|
2696
2696
|
storage_configuration_arn: builtins.str,
|
|
2697
2697
|
media_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2698
2698
|
) -> None:
|
|
2699
|
-
'''
|
|
2699
|
+
'''The ``AWS::IVS::AutoParticipantRecordingConfiguration`` property type describes a configuration for individual participant recording.
|
|
2700
2700
|
|
|
2701
|
-
:param storage_configuration_arn: ARN of the StorageConfiguration resource to use for individual participant recording.
|
|
2702
|
-
:param media_types: Types of media to be recorded. Default: AUDIO_VIDEO.
|
|
2701
|
+
:param storage_configuration_arn: ARN of the StorageConfiguration resource to use for individual participant recording. Default: "" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated.
|
|
2702
|
+
:param media_types: Types of media to be recorded. Default: ``AUDIO_VIDEO`` .
|
|
2703
2703
|
|
|
2704
2704
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-stage-autoparticipantrecordingconfiguration.html
|
|
2705
2705
|
:exampleMetadata: fixture=_generated
|
|
@@ -2731,6 +2731,8 @@ class CfnStage(
|
|
|
2731
2731
|
def storage_configuration_arn(self) -> builtins.str:
|
|
2732
2732
|
'''ARN of the StorageConfiguration resource to use for individual participant recording.
|
|
2733
2733
|
|
|
2734
|
+
Default: "" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a Stage is created or updated.
|
|
2735
|
+
|
|
2734
2736
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-stage-autoparticipantrecordingconfiguration.html#cfn-ivs-stage-autoparticipantrecordingconfiguration-storageconfigurationarn
|
|
2735
2737
|
'''
|
|
2736
2738
|
result = self._values.get("storage_configuration_arn")
|
|
@@ -2741,7 +2743,7 @@ class CfnStage(
|
|
|
2741
2743
|
def media_types(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2742
2744
|
'''Types of media to be recorded.
|
|
2743
2745
|
|
|
2744
|
-
Default: AUDIO_VIDEO.
|
|
2746
|
+
Default: ``AUDIO_VIDEO`` .
|
|
2745
2747
|
|
|
2746
2748
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-stage-autoparticipantrecordingconfiguration.html#cfn-ivs-stage-autoparticipantrecordingconfiguration-mediatypes
|
|
2747
2749
|
'''
|
|
@@ -2779,7 +2781,7 @@ class CfnStageProps:
|
|
|
2779
2781
|
) -> None:
|
|
2780
2782
|
'''Properties for defining a ``CfnStage``.
|
|
2781
2783
|
|
|
2782
|
-
:param auto_participant_recording_configuration:
|
|
2784
|
+
:param auto_participant_recording_configuration: Configuration object for individual participant recording, to attach to the new stage.
|
|
2783
2785
|
:param name: Stage name.
|
|
2784
2786
|
:param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-stage-tag.html>`_ .
|
|
2785
2787
|
|
|
@@ -2823,7 +2825,7 @@ class CfnStageProps:
|
|
|
2823
2825
|
def auto_participant_recording_configuration(
|
|
2824
2826
|
self,
|
|
2825
2827
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnStage.AutoParticipantRecordingConfigurationProperty]]:
|
|
2826
|
-
'''
|
|
2828
|
+
'''Configuration object for individual participant recording, to attach to the new stage.
|
|
2827
2829
|
|
|
2828
2830
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html#cfn-ivs-stage-autoparticipantrecordingconfiguration
|
|
2829
2831
|
'''
|
aws_cdk/aws_kms/__init__.py
CHANGED
|
@@ -39,6 +39,14 @@ key = kms.Key(self, "MyKey",
|
|
|
39
39
|
)
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
+
Create a multi-Region primary key:
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
key = kms.Key(self, "MyKey",
|
|
46
|
+
multi_region=True
|
|
47
|
+
)
|
|
48
|
+
```
|
|
49
|
+
|
|
42
50
|
## Sharing keys between stacks
|
|
43
51
|
|
|
44
52
|
To use a KMS key in a different stack in the same CDK application,
|
|
@@ -2102,6 +2110,7 @@ class Key(
|
|
|
2102
2110
|
enable_key_rotation: typing.Optional[builtins.bool] = None,
|
|
2103
2111
|
key_spec: typing.Optional["KeySpec"] = None,
|
|
2104
2112
|
key_usage: typing.Optional["KeyUsage"] = None,
|
|
2113
|
+
multi_region: typing.Optional[builtins.bool] = None,
|
|
2105
2114
|
pending_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
2106
2115
|
policy: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
2107
2116
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
@@ -2117,6 +2126,7 @@ class Key(
|
|
|
2117
2126
|
:param enable_key_rotation: Indicates whether AWS KMS rotates the key. Default: false
|
|
2118
2127
|
:param key_spec: The cryptographic configuration of the key. The valid value depends on usage of the key. IMPORTANT: If you change this property of an existing key, the existing key is scheduled for deletion and a new key is created with the specified value. Default: KeySpec.SYMMETRIC_DEFAULT
|
|
2119
2128
|
:param key_usage: The cryptographic operations for which the key can be used. IMPORTANT: If you change this property of an existing key, the existing key is scheduled for deletion and a new key is created with the specified value. Default: KeyUsage.ENCRYPT_DECRYPT
|
|
2129
|
+
:param multi_region: Creates a multi-Region primary key that you can replicate in other AWS Regions. You can't change the ``multiRegion`` value after the KMS key is created. IMPORTANT: If you change the value of the ``multiRegion`` property on an existing KMS key, the update request fails, regardless of the value of the UpdateReplacePolicy attribute. This prevents you from accidentally deleting a KMS key by changing an immutable property value. Default: false
|
|
2120
2130
|
:param pending_window: Specifies the number of days in the waiting period before AWS KMS deletes a CMK that has been removed from a CloudFormation stack. When you remove a customer master key (CMK) from a CloudFormation stack, AWS KMS schedules the CMK for deletion and starts the mandatory waiting period. The PendingWindowInDays property determines the length of waiting period. During the waiting period, the key state of CMK is Pending Deletion, which prevents the CMK from being used in cryptographic operations. When the waiting period expires, AWS KMS permanently deletes the CMK. Enter a value between 7 and 30 days. Default: - 30 days
|
|
2121
2131
|
:param policy: Custom policy document to attach to the KMS key. NOTE - If the ``@aws-cdk/aws-kms:defaultKeyPolicies`` feature flag is set (the default for new projects), this policy will *override* the default key policy and become the only key policy for the key. If the feature flag is not set, this policy will be appended to the default key policy. Default: - A policy document with permissions for the account root to administer the key will be created.
|
|
2122
2132
|
:param removal_policy: Whether the encryption key should be retained when it is removed from the Stack. This is useful when one wants to retain access to data that was encrypted with a key that is being retired. Default: RemovalPolicy.Retain
|
|
@@ -2134,6 +2144,7 @@ class Key(
|
|
|
2134
2144
|
enable_key_rotation=enable_key_rotation,
|
|
2135
2145
|
key_spec=key_spec,
|
|
2136
2146
|
key_usage=key_usage,
|
|
2147
|
+
multi_region=multi_region,
|
|
2137
2148
|
pending_window=pending_window,
|
|
2138
2149
|
policy=policy,
|
|
2139
2150
|
removal_policy=removal_policy,
|
|
@@ -2439,6 +2450,7 @@ class KeyLookupOptions:
|
|
|
2439
2450
|
"enable_key_rotation": "enableKeyRotation",
|
|
2440
2451
|
"key_spec": "keySpec",
|
|
2441
2452
|
"key_usage": "keyUsage",
|
|
2453
|
+
"multi_region": "multiRegion",
|
|
2442
2454
|
"pending_window": "pendingWindow",
|
|
2443
2455
|
"policy": "policy",
|
|
2444
2456
|
"removal_policy": "removalPolicy",
|
|
@@ -2456,6 +2468,7 @@ class KeyProps:
|
|
|
2456
2468
|
enable_key_rotation: typing.Optional[builtins.bool] = None,
|
|
2457
2469
|
key_spec: typing.Optional["KeySpec"] = None,
|
|
2458
2470
|
key_usage: typing.Optional["KeyUsage"] = None,
|
|
2471
|
+
multi_region: typing.Optional[builtins.bool] = None,
|
|
2459
2472
|
pending_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
2460
2473
|
policy: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
2461
2474
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
@@ -2470,6 +2483,7 @@ class KeyProps:
|
|
|
2470
2483
|
:param enable_key_rotation: Indicates whether AWS KMS rotates the key. Default: false
|
|
2471
2484
|
:param key_spec: The cryptographic configuration of the key. The valid value depends on usage of the key. IMPORTANT: If you change this property of an existing key, the existing key is scheduled for deletion and a new key is created with the specified value. Default: KeySpec.SYMMETRIC_DEFAULT
|
|
2472
2485
|
:param key_usage: The cryptographic operations for which the key can be used. IMPORTANT: If you change this property of an existing key, the existing key is scheduled for deletion and a new key is created with the specified value. Default: KeyUsage.ENCRYPT_DECRYPT
|
|
2486
|
+
:param multi_region: Creates a multi-Region primary key that you can replicate in other AWS Regions. You can't change the ``multiRegion`` value after the KMS key is created. IMPORTANT: If you change the value of the ``multiRegion`` property on an existing KMS key, the update request fails, regardless of the value of the UpdateReplacePolicy attribute. This prevents you from accidentally deleting a KMS key by changing an immutable property value. Default: false
|
|
2473
2487
|
:param pending_window: Specifies the number of days in the waiting period before AWS KMS deletes a CMK that has been removed from a CloudFormation stack. When you remove a customer master key (CMK) from a CloudFormation stack, AWS KMS schedules the CMK for deletion and starts the mandatory waiting period. The PendingWindowInDays property determines the length of waiting period. During the waiting period, the key state of CMK is Pending Deletion, which prevents the CMK from being used in cryptographic operations. When the waiting period expires, AWS KMS permanently deletes the CMK. Enter a value between 7 and 30 days. Default: - 30 days
|
|
2474
2488
|
:param policy: Custom policy document to attach to the KMS key. NOTE - If the ``@aws-cdk/aws-kms:defaultKeyPolicies`` feature flag is set (the default for new projects), this policy will *override* the default key policy and become the only key policy for the key. If the feature flag is not set, this policy will be appended to the default key policy. Default: - A policy document with permissions for the account root to administer the key will be created.
|
|
2475
2489
|
:param removal_policy: Whether the encryption key should be retained when it is removed from the Stack. This is useful when one wants to retain access to data that was encrypted with a key that is being retired. Default: RemovalPolicy.Retain
|
|
@@ -2509,6 +2523,7 @@ class KeyProps:
|
|
|
2509
2523
|
check_type(argname="argument enable_key_rotation", value=enable_key_rotation, expected_type=type_hints["enable_key_rotation"])
|
|
2510
2524
|
check_type(argname="argument key_spec", value=key_spec, expected_type=type_hints["key_spec"])
|
|
2511
2525
|
check_type(argname="argument key_usage", value=key_usage, expected_type=type_hints["key_usage"])
|
|
2526
|
+
check_type(argname="argument multi_region", value=multi_region, expected_type=type_hints["multi_region"])
|
|
2512
2527
|
check_type(argname="argument pending_window", value=pending_window, expected_type=type_hints["pending_window"])
|
|
2513
2528
|
check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
|
|
2514
2529
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
@@ -2528,6 +2543,8 @@ class KeyProps:
|
|
|
2528
2543
|
self._values["key_spec"] = key_spec
|
|
2529
2544
|
if key_usage is not None:
|
|
2530
2545
|
self._values["key_usage"] = key_usage
|
|
2546
|
+
if multi_region is not None:
|
|
2547
|
+
self._values["multi_region"] = multi_region
|
|
2531
2548
|
if pending_window is not None:
|
|
2532
2549
|
self._values["pending_window"] = pending_window
|
|
2533
2550
|
if policy is not None:
|
|
@@ -2616,6 +2633,23 @@ class KeyProps:
|
|
|
2616
2633
|
result = self._values.get("key_usage")
|
|
2617
2634
|
return typing.cast(typing.Optional["KeyUsage"], result)
|
|
2618
2635
|
|
|
2636
|
+
@builtins.property
|
|
2637
|
+
def multi_region(self) -> typing.Optional[builtins.bool]:
|
|
2638
|
+
'''Creates a multi-Region primary key that you can replicate in other AWS Regions.
|
|
2639
|
+
|
|
2640
|
+
You can't change the ``multiRegion`` value after the KMS key is created.
|
|
2641
|
+
|
|
2642
|
+
IMPORTANT: If you change the value of the ``multiRegion`` property on an existing KMS key, the update request fails,
|
|
2643
|
+
regardless of the value of the UpdateReplacePolicy attribute.
|
|
2644
|
+
This prevents you from accidentally deleting a KMS key by changing an immutable property value.
|
|
2645
|
+
|
|
2646
|
+
:default: false
|
|
2647
|
+
|
|
2648
|
+
:see: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
2649
|
+
'''
|
|
2650
|
+
result = self._values.get("multi_region")
|
|
2651
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2652
|
+
|
|
2619
2653
|
@builtins.property
|
|
2620
2654
|
def pending_window(self) -> typing.Optional[_Duration_4839e8c3]:
|
|
2621
2655
|
'''Specifies the number of days in the waiting period before AWS KMS deletes a CMK that has been removed from a CloudFormation stack.
|
|
@@ -3491,6 +3525,7 @@ def _typecheckingstub__2cde9534bdfe7c19d6e24354f8a0de8ca349632d3f565addcaed7e86a
|
|
|
3491
3525
|
enable_key_rotation: typing.Optional[builtins.bool] = None,
|
|
3492
3526
|
key_spec: typing.Optional[KeySpec] = None,
|
|
3493
3527
|
key_usage: typing.Optional[KeyUsage] = None,
|
|
3528
|
+
multi_region: typing.Optional[builtins.bool] = None,
|
|
3494
3529
|
pending_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
3495
3530
|
policy: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
3496
3531
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
@@ -3594,6 +3629,7 @@ def _typecheckingstub__b3cbd21baa1113e5b2864ce6b440a0d87704642442943c3a554ab23ae
|
|
|
3594
3629
|
enable_key_rotation: typing.Optional[builtins.bool] = None,
|
|
3595
3630
|
key_spec: typing.Optional[KeySpec] = None,
|
|
3596
3631
|
key_usage: typing.Optional[KeyUsage] = None,
|
|
3632
|
+
multi_region: typing.Optional[builtins.bool] = None,
|
|
3597
3633
|
pending_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
3598
3634
|
policy: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
3599
3635
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
aws_cdk/aws_lambda/__init__.py
CHANGED
|
@@ -85,6 +85,10 @@ configurations as well as choosing a specific tag or digest. See their docs for
|
|
|
85
85
|
To deploy a `DockerImageFunction` on Lambda `arm64` architecture, specify `Architecture.ARM_64` in `architecture`.
|
|
86
86
|
This will bundle docker image assets for `arm64` architecture with `--platform linux/arm64` even if build within an `x86_64` host.
|
|
87
87
|
|
|
88
|
+
With that being said, if you are bundling `DockerImageFunction` for Lambda `amd64` architecture from a `arm64` machine like a Macbook with `arm64` CPU, you would
|
|
89
|
+
need to specify `architecture: lambda.Architecture.X86_64` as well. This ensures the `--platform` argument is passed to the image assets
|
|
90
|
+
bundling process so you can bundle up `X86_64` images from the `arm64` machine.
|
|
91
|
+
|
|
88
92
|
```python
|
|
89
93
|
lambda_.DockerImageFunction(self, "AssetFunction",
|
|
90
94
|
code=lambda_.DockerImageCode.from_image_asset(path.join(__dirname, "docker-arm64-handler")),
|
|
@@ -10120,7 +10124,7 @@ class CfnVersion(
|
|
|
10120
10124
|
@builtins.property
|
|
10121
10125
|
@jsii.member(jsii_name="attrFunctionArn")
|
|
10122
10126
|
def attr_function_arn(self) -> builtins.str:
|
|
10123
|
-
'''The ARN of the
|
|
10127
|
+
'''The ARN of the function.
|
|
10124
10128
|
|
|
10125
10129
|
:cloudformationAttribute: FunctionArn
|
|
10126
10130
|
'''
|
|
@@ -13774,21 +13778,25 @@ class FilterCriteria(
|
|
|
13774
13778
|
|
|
13775
13779
|
Example::
|
|
13776
13780
|
|
|
13777
|
-
import aws_cdk.aws_lambda_event_sources as eventsources
|
|
13778
13781
|
import aws_cdk.aws_dynamodb as dynamodb
|
|
13782
|
+
from aws_cdk.aws_lambda_event_sources import DynamoEventSource
|
|
13783
|
+
|
|
13784
|
+
# table: dynamodb.Table
|
|
13779
13785
|
|
|
13780
13786
|
# fn: lambda.Function
|
|
13781
13787
|
|
|
13782
|
-
|
|
13783
|
-
partition_key=dynamodb.Attribute(
|
|
13784
|
-
name="id",
|
|
13785
|
-
type=dynamodb.AttributeType.STRING
|
|
13786
|
-
),
|
|
13787
|
-
stream=dynamodb.StreamViewType.NEW_IMAGE
|
|
13788
|
-
)
|
|
13789
|
-
fn.add_event_source(eventsources.DynamoEventSource(table,
|
|
13788
|
+
fn.add_event_source(DynamoEventSource(table,
|
|
13790
13789
|
starting_position=lambda_.StartingPosition.LATEST,
|
|
13791
|
-
filters=[
|
|
13790
|
+
filters=[
|
|
13791
|
+
lambda_.FilterCriteria.filter({
|
|
13792
|
+
"event_name": lambda_.FilterRule.is_equal("INSERT"),
|
|
13793
|
+
"dynamodb": {
|
|
13794
|
+
"NewImage": {
|
|
13795
|
+
"id": {"BOOL": lambda_.FilterRule.is_equal(True)}
|
|
13796
|
+
}
|
|
13797
|
+
}
|
|
13798
|
+
})
|
|
13799
|
+
]
|
|
13792
13800
|
))
|
|
13793
13801
|
'''
|
|
13794
13802
|
|
|
@@ -13821,21 +13829,25 @@ class FilterRule(
|
|
|
13821
13829
|
|
|
13822
13830
|
Example::
|
|
13823
13831
|
|
|
13824
|
-
import aws_cdk.aws_lambda_event_sources as eventsources
|
|
13825
13832
|
import aws_cdk.aws_dynamodb as dynamodb
|
|
13833
|
+
from aws_cdk.aws_lambda_event_sources import DynamoEventSource
|
|
13834
|
+
|
|
13835
|
+
# table: dynamodb.Table
|
|
13826
13836
|
|
|
13827
13837
|
# fn: lambda.Function
|
|
13828
13838
|
|
|
13829
|
-
|
|
13830
|
-
partition_key=dynamodb.Attribute(
|
|
13831
|
-
name="id",
|
|
13832
|
-
type=dynamodb.AttributeType.STRING
|
|
13833
|
-
),
|
|
13834
|
-
stream=dynamodb.StreamViewType.NEW_IMAGE
|
|
13835
|
-
)
|
|
13836
|
-
fn.add_event_source(eventsources.DynamoEventSource(table,
|
|
13839
|
+
fn.add_event_source(DynamoEventSource(table,
|
|
13837
13840
|
starting_position=lambda_.StartingPosition.LATEST,
|
|
13838
|
-
filters=[
|
|
13841
|
+
filters=[
|
|
13842
|
+
lambda_.FilterCriteria.filter({
|
|
13843
|
+
"event_name": lambda_.FilterRule.is_equal("INSERT"),
|
|
13844
|
+
"dynamodb": {
|
|
13845
|
+
"NewImage": {
|
|
13846
|
+
"id": {"BOOL": lambda_.FilterRule.is_equal(True)}
|
|
13847
|
+
}
|
|
13848
|
+
}
|
|
13849
|
+
})
|
|
13850
|
+
]
|
|
13839
13851
|
))
|
|
13840
13852
|
'''
|
|
13841
13853
|
|
|
@@ -13889,7 +13901,10 @@ class FilterRule(
|
|
|
13889
13901
|
|
|
13890
13902
|
@jsii.member(jsii_name="isEqual")
|
|
13891
13903
|
@builtins.classmethod
|
|
13892
|
-
def is_equal(
|
|
13904
|
+
def is_equal(
|
|
13905
|
+
cls,
|
|
13906
|
+
item: typing.Union[builtins.str, jsii.Number, builtins.bool],
|
|
13907
|
+
) -> typing.Any:
|
|
13893
13908
|
'''Equals comparison operator.
|
|
13894
13909
|
|
|
13895
13910
|
:param item: -
|
|
@@ -29506,7 +29521,7 @@ def _typecheckingstub__e532ccec0d2d2a11fd00b0da70142d367dca7a52eb785533bf0fe354f
|
|
|
29506
29521
|
pass
|
|
29507
29522
|
|
|
29508
29523
|
def _typecheckingstub__6ffacf0ca301bfbc6a30c7fc32201cecba4e3530eb53e51d1b21c3349a4e5ba5(
|
|
29509
|
-
item: typing.Union[builtins.str, jsii.Number],
|
|
29524
|
+
item: typing.Union[builtins.str, jsii.Number, builtins.bool],
|
|
29510
29525
|
) -> None:
|
|
29511
29526
|
"""Type checking stubs"""
|
|
29512
29527
|
pass
|
|
@@ -175,6 +175,7 @@ and add it to your Lambda function. The following parameters will impact Amazon
|
|
|
175
175
|
* **startingPosition**: Will determine where to being consumption, either at the most recent ('LATEST') record or the oldest record ('TRIM_HORIZON'). 'TRIM_HORIZON' will ensure you process all available data, while 'LATEST' will ignore all records that arrived prior to attaching the event source.
|
|
176
176
|
* **tumblingWindow**: The duration in seconds of a processing window when using streams.
|
|
177
177
|
* **enabled**: If the DynamoDB Streams event source mapping should be enabled. The default is true.
|
|
178
|
+
* **filters**: Filters to apply before sending a change event from a DynamoDB table to a Lambda function. Events that are filtered out are not sent to the Lambda function.
|
|
178
179
|
|
|
179
180
|
```python
|
|
180
181
|
import aws_cdk.aws_dynamodb as dynamodb
|
|
@@ -195,6 +196,32 @@ fn.add_event_source(DynamoEventSource(table,
|
|
|
195
196
|
))
|
|
196
197
|
```
|
|
197
198
|
|
|
199
|
+
The following code sets up a Lambda function with a DynamoDB event source. A filter is applied to only send DynamoDB events to
|
|
200
|
+
the Lambda function when the `id` column is a boolean that equals `true`.
|
|
201
|
+
|
|
202
|
+
```python
|
|
203
|
+
import aws_cdk.aws_dynamodb as dynamodb
|
|
204
|
+
from aws_cdk.aws_lambda_event_sources import DynamoEventSource
|
|
205
|
+
|
|
206
|
+
# table: dynamodb.Table
|
|
207
|
+
|
|
208
|
+
# fn: lambda.Function
|
|
209
|
+
|
|
210
|
+
fn.add_event_source(DynamoEventSource(table,
|
|
211
|
+
starting_position=lambda_.StartingPosition.LATEST,
|
|
212
|
+
filters=[
|
|
213
|
+
lambda_.FilterCriteria.filter({
|
|
214
|
+
"event_name": lambda_.FilterRule.is_equal("INSERT"),
|
|
215
|
+
"dynamodb": {
|
|
216
|
+
"NewImage": {
|
|
217
|
+
"id": {"BOOL": lambda_.FilterRule.is_equal(True)}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
})
|
|
221
|
+
]
|
|
222
|
+
))
|
|
223
|
+
```
|
|
224
|
+
|
|
198
225
|
## Kinesis
|
|
199
226
|
|
|
200
227
|
You can write Lambda functions to process streaming data in Amazon Kinesis Streams. For more information about Amazon Kinesis, see [Amazon Kinesis
|
aws_cdk/aws_rds/__init__.py
CHANGED
|
@@ -33229,6 +33229,12 @@ class PostgresEngineVersion(
|
|
|
33229
33229
|
'''Version "11.22-rds.20240509".'''
|
|
33230
33230
|
return typing.cast("PostgresEngineVersion", jsii.sget(cls, "VER_11_22_RDS_20240509"))
|
|
33231
33231
|
|
|
33232
|
+
@jsii.python.classproperty
|
|
33233
|
+
@jsii.member(jsii_name="VER_11_22_RDS_20240808")
|
|
33234
|
+
def VER_11_22_RDS_20240808(cls) -> "PostgresEngineVersion":
|
|
33235
|
+
'''Version "11.22-rds.20240808".'''
|
|
33236
|
+
return typing.cast("PostgresEngineVersion", jsii.sget(cls, "VER_11_22_RDS_20240808"))
|
|
33237
|
+
|
|
33232
33238
|
@jsii.python.classproperty
|
|
33233
33239
|
@jsii.member(jsii_name="VER_11_4")
|
|
33234
33240
|
def VER_11_4(cls) -> "PostgresEngineVersion":
|
|
@@ -2251,7 +2251,7 @@ class CfnSecretTargetAttachment(
|
|
|
2251
2251
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2252
2252
|
:param secret_id: The ARN or name of the secret. To reference a secret also created in this template, use the see `Ref <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html>`_ function with the secret's logical ID.
|
|
2253
2253
|
:param target_id: The ID of the database or cluster.
|
|
2254
|
-
:param target_type: A string that defines the type of service or database associated with the secret. This value instructs Secrets Manager how to update the secret with the details of the service or database. This value must be one of the following: - AWS::RDS::DBInstance - AWS::RDS::DBCluster - AWS::Redshift::Cluster - AWS::DocDB::DBInstance - AWS::DocDB::DBCluster
|
|
2254
|
+
:param target_type: A string that defines the type of service or database associated with the secret. This value instructs Secrets Manager how to update the secret with the details of the service or database. This value must be one of the following: - AWS::RDS::DBInstance - AWS::RDS::DBCluster - AWS::Redshift::Cluster - AWS::DocDB::DBInstance - AWS::DocDB::DBCluster - AWS::DocDBElastic::Cluster
|
|
2255
2255
|
'''
|
|
2256
2256
|
if __debug__:
|
|
2257
2257
|
type_hints = typing.get_type_hints(_typecheckingstub__f27548ced74eb3d06a9cd3710e7d562d307b5a2c264476a3e685fcb94ccdee58)
|
|
@@ -2367,7 +2367,7 @@ class CfnSecretTargetAttachmentProps:
|
|
|
2367
2367
|
|
|
2368
2368
|
:param secret_id: The ARN or name of the secret. To reference a secret also created in this template, use the see `Ref <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html>`_ function with the secret's logical ID.
|
|
2369
2369
|
:param target_id: The ID of the database or cluster.
|
|
2370
|
-
:param target_type: A string that defines the type of service or database associated with the secret. This value instructs Secrets Manager how to update the secret with the details of the service or database. This value must be one of the following: - AWS::RDS::DBInstance - AWS::RDS::DBCluster - AWS::Redshift::Cluster - AWS::DocDB::DBInstance - AWS::DocDB::DBCluster
|
|
2370
|
+
:param target_type: A string that defines the type of service or database associated with the secret. This value instructs Secrets Manager how to update the secret with the details of the service or database. This value must be one of the following: - AWS::RDS::DBInstance - AWS::RDS::DBCluster - AWS::Redshift::Cluster - AWS::DocDB::DBInstance - AWS::DocDB::DBCluster - AWS::DocDBElastic::Cluster
|
|
2371
2371
|
|
|
2372
2372
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html
|
|
2373
2373
|
:exampleMetadata: fixture=_generated
|
|
@@ -2428,6 +2428,7 @@ class CfnSecretTargetAttachmentProps:
|
|
|
2428
2428
|
- AWS::Redshift::Cluster
|
|
2429
2429
|
- AWS::DocDB::DBInstance
|
|
2430
2430
|
- AWS::DocDB::DBCluster
|
|
2431
|
+
- AWS::DocDBElastic::Cluster
|
|
2431
2432
|
|
|
2432
2433
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html#cfn-secretsmanager-secrettargetattachment-targettype
|
|
2433
2434
|
'''
|
aws_cdk/aws_ses/__init__.py
CHANGED
|
@@ -10850,7 +10850,7 @@ class CfnReceiptRule(
|
|
|
10850
10850
|
For information about specifying Amazon S3 actions in receipt rules, see the `Amazon SES Developer Guide <https://docs.aws.amazon.com/ses/latest/dg/receiving-email-action-s3.html>`_ .
|
|
10851
10851
|
|
|
10852
10852
|
:param bucket_name: The name of the Amazon S3 bucket for incoming email.
|
|
10853
|
-
:param kms_key_arn: The customer
|
|
10853
|
+
:param kms_key_arn: The customer managed key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the AWS managed key or a customer managed key that you created in AWS KMS as follows: - To use the AWS managed key, provide an ARN in the form of ``arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses`` . For example, if your AWS account ID is 123456789012 and you want to use the AWS managed key in the US West (Oregon) Region, the ARN of the AWS managed key would be ``arn:aws:kms:us-west-2:123456789012:alias/aws/ses`` . If you use the AWS managed key, you don't need to perform any extra steps to give Amazon SES permission to use the key. - To use a customer managed key that you created in AWS KMS, provide the ARN of the customer managed key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the `Amazon SES Developer Guide <https://docs.aws.amazon.com/ses/latest/dg/receiving-email-permissions.html>`_ . For more information about key policies, see the `AWS KMS Developer Guide <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html>`_ . If you do not specify an AWS KMS key, Amazon SES does not encrypt your emails. .. epigraph:: Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the `AWS SDK for Java <https://docs.aws.amazon.com/sdk-for-java/>`_ and `AWS SDK for Ruby <https://docs.aws.amazon.com/sdk-for-ruby/>`_ only. For more information about client-side encryption using AWS KMS managed keys, see the `Amazon S3 Developer Guide <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html>`_ .
|
|
10854
10854
|
:param object_key_prefix: The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory name that enables you to store similar data under the same directory in a bucket.
|
|
10855
10855
|
:param topic_arn: The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. You can find the ARN of a topic by using the `ListTopics <https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html>`_ operation in Amazon SNS. For more information about Amazon SNS topics, see the `Amazon SNS Developer Guide <https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html>`_ .
|
|
10856
10856
|
|
|
@@ -10900,17 +10900,17 @@ class CfnReceiptRule(
|
|
|
10900
10900
|
|
|
10901
10901
|
@builtins.property
|
|
10902
10902
|
def kms_key_arn(self) -> typing.Optional[builtins.str]:
|
|
10903
|
-
'''The customer
|
|
10903
|
+
'''The customer managed key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket.
|
|
10904
10904
|
|
|
10905
|
-
You can use the
|
|
10905
|
+
You can use the AWS managed key or a customer managed key that you created in AWS KMS as follows:
|
|
10906
10906
|
|
|
10907
|
-
- To use the
|
|
10908
|
-
- To use a
|
|
10907
|
+
- To use the AWS managed key, provide an ARN in the form of ``arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses`` . For example, if your AWS account ID is 123456789012 and you want to use the AWS managed key in the US West (Oregon) Region, the ARN of the AWS managed key would be ``arn:aws:kms:us-west-2:123456789012:alias/aws/ses`` . If you use the AWS managed key, you don't need to perform any extra steps to give Amazon SES permission to use the key.
|
|
10908
|
+
- To use a customer managed key that you created in AWS KMS, provide the ARN of the customer managed key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the `Amazon SES Developer Guide <https://docs.aws.amazon.com/ses/latest/dg/receiving-email-permissions.html>`_ .
|
|
10909
10909
|
|
|
10910
|
-
For more information about key policies, see the `AWS KMS Developer Guide <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html>`_ . If you do not specify
|
|
10910
|
+
For more information about key policies, see the `AWS KMS Developer Guide <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html>`_ . If you do not specify an AWS KMS key, Amazon SES does not encrypt your emails.
|
|
10911
10911
|
.. epigraph::
|
|
10912
10912
|
|
|
10913
|
-
Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the `AWS SDK for Java <https://docs.aws.amazon.com/sdk-for-java/>`_ and `AWS SDK for Ruby <https://docs.aws.amazon.com/sdk-for-ruby/>`_ only. For more information about client-side encryption using AWS KMS
|
|
10913
|
+
Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the `AWS SDK for Java <https://docs.aws.amazon.com/sdk-for-java/>`_ and `AWS SDK for Ruby <https://docs.aws.amazon.com/sdk-for-ruby/>`_ only. For more information about client-side encryption using AWS KMS managed keys, see the `Amazon S3 Developer Guide <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html>`_ .
|
|
10914
10914
|
|
|
10915
10915
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html#cfn-ses-receiptrule-s3action-kmskeyarn
|
|
10916
10916
|
'''
|
|
@@ -565,6 +565,10 @@ class CfnContactChannel(
|
|
|
565
565
|
):
|
|
566
566
|
'''The ``AWS::SSMContacts::ContactChannel`` resource specifies a contact channel as the method that Incident Manager uses to engage your contact.
|
|
567
567
|
|
|
568
|
+
.. epigraph::
|
|
569
|
+
|
|
570
|
+
*Template example* : We recommend creating all Incident Manager ``Contacts`` resources using a single AWS CloudFormation template. For a demonstration, see the examples for `AWS::SSMContacts::Contacts <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html>`_ .
|
|
571
|
+
|
|
568
572
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.html
|
|
569
573
|
:cloudformationResource: AWS::SSMContacts::ContactChannel
|
|
570
574
|
:exampleMetadata: fixture=_generated
|
|
@@ -1009,6 +1013,10 @@ class CfnPlan(
|
|
|
1009
1013
|
):
|
|
1010
1014
|
'''Information about the stages and on-call rotation teams associated with an escalation plan or engagement plan.
|
|
1011
1015
|
|
|
1016
|
+
.. epigraph::
|
|
1017
|
+
|
|
1018
|
+
*Template example* : We recommend creating all Incident Manager ``Contacts`` resources using a single AWS CloudFormation template. For a demonstration, see the examples for `AWS::SSMContacts::Contacts <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html>`_ .
|
|
1019
|
+
|
|
1012
1020
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-plan.html
|
|
1013
1021
|
:cloudformationResource: AWS::SSMContacts::Plan
|
|
1014
1022
|
:exampleMetadata: fixture=_generated
|
|
@@ -1591,6 +1599,10 @@ class CfnRotation(
|
|
|
1591
1599
|
):
|
|
1592
1600
|
'''Specifies a rotation in an on-call schedule.
|
|
1593
1601
|
|
|
1602
|
+
.. epigraph::
|
|
1603
|
+
|
|
1604
|
+
*Template example* : We recommend creating all Incident Manager ``Contacts`` resources using a single AWS CloudFormation template. For a demonstration, see the examples for `AWS::SSMContacts::Contacts <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html>`_ .
|
|
1605
|
+
|
|
1594
1606
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html
|
|
1595
1607
|
:cloudformationResource: AWS::SSMContacts::Rotation
|
|
1596
1608
|
:exampleMetadata: fixture=_generated
|