aws-cdk-lib 2.154.1__py3-none-any.whl → 2.156.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/__init__.py +2 -2
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.154.1.jsii.tgz → aws-cdk-lib@2.156.0.jsii.tgz} +0 -0
- aws_cdk/assertions/__init__.py +17 -17
- aws_cdk/aws_bedrock/__init__.py +22 -4
- aws_cdk/aws_cloudfront/__init__.py +654 -59
- aws_cdk/aws_cloudfront_origins/__init__.py +2034 -91
- aws_cdk/aws_codebuild/__init__.py +349 -8
- aws_cdk/aws_docdb/__init__.py +78 -6
- aws_cdk/aws_ec2/__init__.py +250 -61
- aws_cdk/aws_ecs/__init__.py +18 -14
- aws_cdk/aws_ecs_patterns/__init__.py +129 -11
- aws_cdk/aws_eks/__init__.py +74 -8
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +22 -46
- aws_cdk/aws_events/__init__.py +40 -14
- aws_cdk/aws_events_targets/__init__.py +357 -0
- aws_cdk/aws_iam/__init__.py +7 -8
- aws_cdk/aws_ivs/__init__.py +10 -8
- aws_cdk/aws_kms/__init__.py +89 -10
- aws_cdk/aws_lambda/__init__.py +38 -23
- aws_cdk/aws_lambda_event_sources/__init__.py +27 -0
- aws_cdk/aws_rds/__init__.py +12 -0
- aws_cdk/aws_s3/__init__.py +13 -14
- 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 +178 -41
- aws_cdk/aws_synthetics/__init__.py +26 -0
- aws_cdk/custom_resources/__init__.py +106 -1
- aws_cdk/cx_api/__init__.py +16 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/RECORD +37 -37
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/top_level.txt +0 -0
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,
|
|
@@ -700,10 +708,49 @@ class CfnKey(
|
|
|
700
708
|
|
|
701
709
|
Example::
|
|
702
710
|
|
|
703
|
-
|
|
711
|
+
import aws_cdk.aws_kms as kms
|
|
704
712
|
|
|
705
|
-
|
|
706
|
-
|
|
713
|
+
|
|
714
|
+
kms_key = kms.Key(self, "myKMSKey")
|
|
715
|
+
my_bucket = s3.Bucket(self, "mySSEKMSEncryptedBucket",
|
|
716
|
+
encryption=s3.BucketEncryption.KMS,
|
|
717
|
+
encryption_key=kms_key,
|
|
718
|
+
object_ownership=s3.ObjectOwnership.BUCKET_OWNER_ENFORCED
|
|
719
|
+
)
|
|
720
|
+
cloudfront.Distribution(self, "myDist",
|
|
721
|
+
default_behavior=cloudfront.BehaviorOptions(
|
|
722
|
+
origin=origins.S3BucketOrigin.with_origin_access_control(my_bucket)
|
|
723
|
+
)
|
|
724
|
+
)
|
|
725
|
+
|
|
726
|
+
# Add the following to scope down the key policy
|
|
727
|
+
scoped_down_key_policy = {
|
|
728
|
+
"Version": "2012-10-17",
|
|
729
|
+
"Statement": [{
|
|
730
|
+
"Effect": "Allow",
|
|
731
|
+
"Principal": {
|
|
732
|
+
"AWS": "arn:aws:iam::111122223333:root"
|
|
733
|
+
},
|
|
734
|
+
"Action": "kms:*",
|
|
735
|
+
"Resource": "*"
|
|
736
|
+
}, {
|
|
737
|
+
"Effect": "Allow",
|
|
738
|
+
"Principal": {
|
|
739
|
+
"Service": "cloudfront.amazonaws.com"
|
|
740
|
+
},
|
|
741
|
+
"Action": ["kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*"
|
|
742
|
+
],
|
|
743
|
+
"Resource": "*",
|
|
744
|
+
"Condition": {
|
|
745
|
+
"StringEquals": {
|
|
746
|
+
"AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/<CloudFront distribution ID>"
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
]
|
|
751
|
+
}
|
|
752
|
+
cfn_key = (kms_key.node.default_child)
|
|
753
|
+
cfn_key.key_policy = scoped_down_key_policy
|
|
707
754
|
'''
|
|
708
755
|
|
|
709
756
|
def __init__(
|
|
@@ -2078,15 +2125,19 @@ class Key(
|
|
|
2078
2125
|
|
|
2079
2126
|
Example::
|
|
2080
2127
|
|
|
2081
|
-
|
|
2128
|
+
import aws_cdk.aws_kms as kms
|
|
2082
2129
|
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2130
|
+
|
|
2131
|
+
my_kms_key = kms.Key(self, "myKMSKey")
|
|
2132
|
+
my_bucket = s3.Bucket(self, "mySSEKMSEncryptedBucket",
|
|
2133
|
+
encryption=s3.BucketEncryption.KMS,
|
|
2134
|
+
encryption_key=my_kms_key,
|
|
2135
|
+
object_ownership=s3.ObjectOwnership.BUCKET_OWNER_ENFORCED
|
|
2086
2136
|
)
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2137
|
+
cloudfront.Distribution(self, "myDist",
|
|
2138
|
+
default_behavior=cloudfront.BehaviorOptions(
|
|
2139
|
+
origin=origins.S3BucketOrigin.with_origin_access_control(my_bucket)
|
|
2140
|
+
)
|
|
2090
2141
|
)
|
|
2091
2142
|
'''
|
|
2092
2143
|
|
|
@@ -2102,6 +2153,7 @@ class Key(
|
|
|
2102
2153
|
enable_key_rotation: typing.Optional[builtins.bool] = None,
|
|
2103
2154
|
key_spec: typing.Optional["KeySpec"] = None,
|
|
2104
2155
|
key_usage: typing.Optional["KeyUsage"] = None,
|
|
2156
|
+
multi_region: typing.Optional[builtins.bool] = None,
|
|
2105
2157
|
pending_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
2106
2158
|
policy: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
2107
2159
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
@@ -2117,6 +2169,7 @@ class Key(
|
|
|
2117
2169
|
:param enable_key_rotation: Indicates whether AWS KMS rotates the key. Default: false
|
|
2118
2170
|
: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
2171
|
: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
|
|
2172
|
+
: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
2173
|
: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
2174
|
: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
2175
|
: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 +2187,7 @@ class Key(
|
|
|
2134
2187
|
enable_key_rotation=enable_key_rotation,
|
|
2135
2188
|
key_spec=key_spec,
|
|
2136
2189
|
key_usage=key_usage,
|
|
2190
|
+
multi_region=multi_region,
|
|
2137
2191
|
pending_window=pending_window,
|
|
2138
2192
|
policy=policy,
|
|
2139
2193
|
removal_policy=removal_policy,
|
|
@@ -2439,6 +2493,7 @@ class KeyLookupOptions:
|
|
|
2439
2493
|
"enable_key_rotation": "enableKeyRotation",
|
|
2440
2494
|
"key_spec": "keySpec",
|
|
2441
2495
|
"key_usage": "keyUsage",
|
|
2496
|
+
"multi_region": "multiRegion",
|
|
2442
2497
|
"pending_window": "pendingWindow",
|
|
2443
2498
|
"policy": "policy",
|
|
2444
2499
|
"removal_policy": "removalPolicy",
|
|
@@ -2456,6 +2511,7 @@ class KeyProps:
|
|
|
2456
2511
|
enable_key_rotation: typing.Optional[builtins.bool] = None,
|
|
2457
2512
|
key_spec: typing.Optional["KeySpec"] = None,
|
|
2458
2513
|
key_usage: typing.Optional["KeyUsage"] = None,
|
|
2514
|
+
multi_region: typing.Optional[builtins.bool] = None,
|
|
2459
2515
|
pending_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
2460
2516
|
policy: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
2461
2517
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
@@ -2470,6 +2526,7 @@ class KeyProps:
|
|
|
2470
2526
|
:param enable_key_rotation: Indicates whether AWS KMS rotates the key. Default: false
|
|
2471
2527
|
: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
2528
|
: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
|
|
2529
|
+
: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
2530
|
: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
2531
|
: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
2532
|
: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 +2566,7 @@ class KeyProps:
|
|
|
2509
2566
|
check_type(argname="argument enable_key_rotation", value=enable_key_rotation, expected_type=type_hints["enable_key_rotation"])
|
|
2510
2567
|
check_type(argname="argument key_spec", value=key_spec, expected_type=type_hints["key_spec"])
|
|
2511
2568
|
check_type(argname="argument key_usage", value=key_usage, expected_type=type_hints["key_usage"])
|
|
2569
|
+
check_type(argname="argument multi_region", value=multi_region, expected_type=type_hints["multi_region"])
|
|
2512
2570
|
check_type(argname="argument pending_window", value=pending_window, expected_type=type_hints["pending_window"])
|
|
2513
2571
|
check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
|
|
2514
2572
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
@@ -2528,6 +2586,8 @@ class KeyProps:
|
|
|
2528
2586
|
self._values["key_spec"] = key_spec
|
|
2529
2587
|
if key_usage is not None:
|
|
2530
2588
|
self._values["key_usage"] = key_usage
|
|
2589
|
+
if multi_region is not None:
|
|
2590
|
+
self._values["multi_region"] = multi_region
|
|
2531
2591
|
if pending_window is not None:
|
|
2532
2592
|
self._values["pending_window"] = pending_window
|
|
2533
2593
|
if policy is not None:
|
|
@@ -2616,6 +2676,23 @@ class KeyProps:
|
|
|
2616
2676
|
result = self._values.get("key_usage")
|
|
2617
2677
|
return typing.cast(typing.Optional["KeyUsage"], result)
|
|
2618
2678
|
|
|
2679
|
+
@builtins.property
|
|
2680
|
+
def multi_region(self) -> typing.Optional[builtins.bool]:
|
|
2681
|
+
'''Creates a multi-Region primary key that you can replicate in other AWS Regions.
|
|
2682
|
+
|
|
2683
|
+
You can't change the ``multiRegion`` value after the KMS key is created.
|
|
2684
|
+
|
|
2685
|
+
IMPORTANT: If you change the value of the ``multiRegion`` property on an existing KMS key, the update request fails,
|
|
2686
|
+
regardless of the value of the UpdateReplacePolicy attribute.
|
|
2687
|
+
This prevents you from accidentally deleting a KMS key by changing an immutable property value.
|
|
2688
|
+
|
|
2689
|
+
:default: false
|
|
2690
|
+
|
|
2691
|
+
:see: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
|
2692
|
+
'''
|
|
2693
|
+
result = self._values.get("multi_region")
|
|
2694
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2695
|
+
|
|
2619
2696
|
@builtins.property
|
|
2620
2697
|
def pending_window(self) -> typing.Optional[_Duration_4839e8c3]:
|
|
2621
2698
|
'''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 +3568,7 @@ def _typecheckingstub__2cde9534bdfe7c19d6e24354f8a0de8ca349632d3f565addcaed7e86a
|
|
|
3491
3568
|
enable_key_rotation: typing.Optional[builtins.bool] = None,
|
|
3492
3569
|
key_spec: typing.Optional[KeySpec] = None,
|
|
3493
3570
|
key_usage: typing.Optional[KeyUsage] = None,
|
|
3571
|
+
multi_region: typing.Optional[builtins.bool] = None,
|
|
3494
3572
|
pending_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
3495
3573
|
policy: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
3496
3574
|
removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
|
|
@@ -3594,6 +3672,7 @@ def _typecheckingstub__b3cbd21baa1113e5b2864ce6b440a0d87704642442943c3a554ab23ae
|
|
|
3594
3672
|
enable_key_rotation: typing.Optional[builtins.bool] = None,
|
|
3595
3673
|
key_spec: typing.Optional[KeySpec] = None,
|
|
3596
3674
|
key_usage: typing.Optional[KeyUsage] = None,
|
|
3675
|
+
multi_region: typing.Optional[builtins.bool] = None,
|
|
3597
3676
|
pending_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
3598
3677
|
policy: typing.Optional[_PolicyDocument_3ac34393] = None,
|
|
3599
3678
|
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
|
@@ -30343,6 +30343,12 @@ class MysqlEngineVersion(
|
|
|
30343
30343
|
'''Version "5.7.44-rds.20240529".'''
|
|
30344
30344
|
return typing.cast("MysqlEngineVersion", jsii.sget(cls, "VER_5_7_44_RDS_20240529"))
|
|
30345
30345
|
|
|
30346
|
+
@jsii.python.classproperty
|
|
30347
|
+
@jsii.member(jsii_name="VER_5_7_44_RDS_20240808")
|
|
30348
|
+
def VER_5_7_44_RDS_20240808(cls) -> "MysqlEngineVersion":
|
|
30349
|
+
'''Version "5.7.44-rds.20240808".'''
|
|
30350
|
+
return typing.cast("MysqlEngineVersion", jsii.sget(cls, "VER_5_7_44_RDS_20240808"))
|
|
30351
|
+
|
|
30346
30352
|
@jsii.python.classproperty
|
|
30347
30353
|
@jsii.member(jsii_name="VER_8_0")
|
|
30348
30354
|
def VER_8_0(cls) -> "MysqlEngineVersion":
|
|
@@ -33229,6 +33235,12 @@ class PostgresEngineVersion(
|
|
|
33229
33235
|
'''Version "11.22-rds.20240509".'''
|
|
33230
33236
|
return typing.cast("PostgresEngineVersion", jsii.sget(cls, "VER_11_22_RDS_20240509"))
|
|
33231
33237
|
|
|
33238
|
+
@jsii.python.classproperty
|
|
33239
|
+
@jsii.member(jsii_name="VER_11_22_RDS_20240808")
|
|
33240
|
+
def VER_11_22_RDS_20240808(cls) -> "PostgresEngineVersion":
|
|
33241
|
+
'''Version "11.22-rds.20240808".'''
|
|
33242
|
+
return typing.cast("PostgresEngineVersion", jsii.sget(cls, "VER_11_22_RDS_20240808"))
|
|
33243
|
+
|
|
33232
33244
|
@jsii.python.classproperty
|
|
33233
33245
|
@jsii.member(jsii_name="VER_11_4")
|
|
33234
33246
|
def VER_11_4(cls) -> "PostgresEngineVersion":
|
aws_cdk/aws_s3/__init__.py
CHANGED
|
@@ -1328,7 +1328,8 @@ class BucketEncryption(enum.Enum):
|
|
|
1328
1328
|
default_stack_synthesizer=AppStagingSynthesizer.default_resources(
|
|
1329
1329
|
app_id="my-app-id",
|
|
1330
1330
|
staging_bucket_encryption=BucketEncryption.S3_MANAGED,
|
|
1331
|
-
|
|
1331
|
+
file_asset_publishing_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/S3Access"),
|
|
1332
|
+
image_asset_publishing_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/ECRAccess")
|
|
1332
1333
|
)
|
|
1333
1334
|
)
|
|
1334
1335
|
'''
|
|
@@ -1827,21 +1828,19 @@ class BucketProps:
|
|
|
1827
1828
|
|
|
1828
1829
|
Example::
|
|
1829
1830
|
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
)
|
|
1831
|
+
import aws_cdk.aws_kms as kms
|
|
1832
|
+
|
|
1833
1833
|
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
bucket_key="path/to/file.zip",
|
|
1840
|
-
output=source_output
|
|
1834
|
+
my_kms_key = kms.Key(self, "myKMSKey")
|
|
1835
|
+
my_bucket = s3.Bucket(self, "mySSEKMSEncryptedBucket",
|
|
1836
|
+
encryption=s3.BucketEncryption.KMS,
|
|
1837
|
+
encryption_key=my_kms_key,
|
|
1838
|
+
object_ownership=s3.ObjectOwnership.BUCKET_OWNER_ENFORCED
|
|
1841
1839
|
)
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1840
|
+
cloudfront.Distribution(self, "myDist",
|
|
1841
|
+
default_behavior=cloudfront.BehaviorOptions(
|
|
1842
|
+
origin=origins.S3BucketOrigin.with_origin_access_control(my_bucket)
|
|
1843
|
+
)
|
|
1845
1844
|
)
|
|
1846
1845
|
'''
|
|
1847
1846
|
if isinstance(website_redirect, dict):
|
|
@@ -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
|