aws-cdk-lib 2.133.0__py3-none-any.whl → 2.134.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 +9 -1
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.133.0.jsii.tgz → aws-cdk-lib@2.134.0.jsii.tgz} +0 -0
- aws_cdk/aws_apigatewayv2/__init__.py +105 -3
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +155 -3
- aws_cdk/aws_appconfig/__init__.py +186 -8
- aws_cdk/aws_appintegrations/__init__.py +551 -0
- aws_cdk/aws_appsync/__init__.py +71 -0
- aws_cdk/aws_autoscaling/__init__.py +6 -4
- aws_cdk/aws_backup/__init__.py +23 -12
- aws_cdk/aws_batch/__init__.py +423 -73
- aws_cdk/aws_bedrock/__init__.py +197 -2
- aws_cdk/aws_cloudformation/__init__.py +1 -1
- aws_cdk/aws_cloudfront/__init__.py +2 -2
- aws_cdk/aws_cloudtrail/__init__.py +44 -14
- aws_cdk/aws_cloudwatch/__init__.py +18 -0
- aws_cdk/aws_codeartifact/__init__.py +812 -2
- aws_cdk/aws_codebuild/__init__.py +21 -5
- aws_cdk/aws_codepipeline/__init__.py +24 -8
- aws_cdk/aws_cognito/__init__.py +41 -40
- aws_cdk/aws_connect/__init__.py +256 -0
- aws_cdk/aws_datasync/__init__.py +393 -13
- aws_cdk/aws_dlm/__init__.py +2 -2
- aws_cdk/aws_docdbelastic/__init__.py +117 -0
- aws_cdk/aws_dynamodb/__init__.py +416 -5
- aws_cdk/aws_ec2/__init__.py +493 -93
- aws_cdk/aws_ecs/__init__.py +6 -4
- aws_cdk/aws_eks/__init__.py +27 -25
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +359 -60
- aws_cdk/aws_entityresolution/__init__.py +91 -64
- aws_cdk/aws_glue/__init__.py +137 -3
- aws_cdk/aws_iam/__init__.py +9 -10
- aws_cdk/aws_internetmonitor/__init__.py +85 -0
- aws_cdk/aws_iotsitewise/__init__.py +110 -50
- aws_cdk/aws_kafkaconnect/__init__.py +1237 -162
- aws_cdk/aws_kendra/__init__.py +34 -24
- aws_cdk/aws_kinesisanalytics/__init__.py +37 -37
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +37 -37
- aws_cdk/aws_kinesisfirehose/__init__.py +6 -2
- aws_cdk/aws_msk/__init__.py +88 -0
- aws_cdk/aws_opensearchservice/__init__.py +19 -17
- aws_cdk/aws_pinpoint/__init__.py +42 -0
- aws_cdk/aws_rds/__init__.py +48 -14
- aws_cdk/aws_sagemaker/__init__.py +2 -2
- aws_cdk/aws_ssm/__init__.py +3 -3
- aws_cdk/aws_stepfunctions_tasks/__init__.py +23 -0
- aws_cdk/aws_synthetics/__init__.py +74 -14
- aws_cdk/aws_transfer/__init__.py +4 -3
- aws_cdk/aws_wafv2/__init__.py +96 -46
- aws_cdk/cx_api/__init__.py +17 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/RECORD +56 -56
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_dynamodb/__init__.py
CHANGED
|
@@ -1372,6 +1372,8 @@ class CfnGlobalTable(
|
|
|
1372
1372
|
# The values are placeholders you should change.
|
|
1373
1373
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
1374
1374
|
|
|
1375
|
+
# policy_document: Any
|
|
1376
|
+
|
|
1375
1377
|
cfn_global_table = dynamodb.CfnGlobalTable(self, "MyCfnGlobalTable",
|
|
1376
1378
|
attribute_definitions=[dynamodb.CfnGlobalTable.AttributeDefinitionProperty(
|
|
1377
1379
|
attribute_name="attributeName",
|
|
@@ -1442,6 +1444,14 @@ class CfnGlobalTable(
|
|
|
1442
1444
|
),
|
|
1443
1445
|
read_capacity_units=123
|
|
1444
1446
|
),
|
|
1447
|
+
replica_stream_specification=dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
|
|
1448
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
1449
|
+
policy_document=policy_document
|
|
1450
|
+
)
|
|
1451
|
+
),
|
|
1452
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
1453
|
+
policy_document=policy_document
|
|
1454
|
+
),
|
|
1445
1455
|
sse_specification=dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty(
|
|
1446
1456
|
kms_master_key_id="kmsMasterKeyId"
|
|
1447
1457
|
),
|
|
@@ -2942,6 +2952,8 @@ class CfnGlobalTable(
|
|
|
2942
2952
|
"kinesis_stream_specification": "kinesisStreamSpecification",
|
|
2943
2953
|
"point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
|
|
2944
2954
|
"read_provisioned_throughput_settings": "readProvisionedThroughputSettings",
|
|
2955
|
+
"replica_stream_specification": "replicaStreamSpecification",
|
|
2956
|
+
"resource_policy": "resourcePolicy",
|
|
2945
2957
|
"sse_specification": "sseSpecification",
|
|
2946
2958
|
"table_class": "tableClass",
|
|
2947
2959
|
"tags": "tags",
|
|
@@ -2958,6 +2970,8 @@ class CfnGlobalTable(
|
|
|
2958
2970
|
kinesis_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.KinesisStreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2959
2971
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.PointInTimeRecoverySpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2960
2972
|
read_provisioned_throughput_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReadProvisionedThroughputSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2973
|
+
replica_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReplicaStreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2974
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2961
2975
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReplicaSSESpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2962
2976
|
table_class: typing.Optional[builtins.str] = None,
|
|
2963
2977
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -2971,6 +2985,8 @@ class CfnGlobalTable(
|
|
|
2971
2985
|
:param kinesis_stream_specification: Defines the Kinesis Data Streams configuration for the specified replica.
|
|
2972
2986
|
:param point_in_time_recovery_specification: The settings used to enable point in time recovery. When not specified, defaults to point in time recovery disabled for the replica.
|
|
2973
2987
|
:param read_provisioned_throughput_settings: Defines read capacity settings for the replica table.
|
|
2988
|
+
:param replica_stream_specification: Represents the DynamoDB Streams configuration for a global table replica.
|
|
2989
|
+
:param resource_policy: A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
2974
2990
|
:param sse_specification: Allows you to specify a customer-managed key for the replica. When using customer-managed keys for server-side encryption, this property must have a value in all replicas.
|
|
2975
2991
|
:param table_class: The table class of the specified table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
2976
2992
|
:param tags: An array of key-value pairs to apply to this replica. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
|
|
@@ -2984,6 +3000,8 @@ class CfnGlobalTable(
|
|
|
2984
3000
|
# The values are placeholders you should change.
|
|
2985
3001
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
2986
3002
|
|
|
3003
|
+
# policy_document: Any
|
|
3004
|
+
|
|
2987
3005
|
replica_specification_property = dynamodb.CfnGlobalTable.ReplicaSpecificationProperty(
|
|
2988
3006
|
region="region",
|
|
2989
3007
|
|
|
@@ -3045,6 +3063,14 @@ class CfnGlobalTable(
|
|
|
3045
3063
|
),
|
|
3046
3064
|
read_capacity_units=123
|
|
3047
3065
|
),
|
|
3066
|
+
replica_stream_specification=dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
|
|
3067
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3068
|
+
policy_document=policy_document
|
|
3069
|
+
)
|
|
3070
|
+
),
|
|
3071
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3072
|
+
policy_document=policy_document
|
|
3073
|
+
),
|
|
3048
3074
|
sse_specification=dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty(
|
|
3049
3075
|
kms_master_key_id="kmsMasterKeyId"
|
|
3050
3076
|
),
|
|
@@ -3064,6 +3090,8 @@ class CfnGlobalTable(
|
|
|
3064
3090
|
check_type(argname="argument kinesis_stream_specification", value=kinesis_stream_specification, expected_type=type_hints["kinesis_stream_specification"])
|
|
3065
3091
|
check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
|
|
3066
3092
|
check_type(argname="argument read_provisioned_throughput_settings", value=read_provisioned_throughput_settings, expected_type=type_hints["read_provisioned_throughput_settings"])
|
|
3093
|
+
check_type(argname="argument replica_stream_specification", value=replica_stream_specification, expected_type=type_hints["replica_stream_specification"])
|
|
3094
|
+
check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
|
|
3067
3095
|
check_type(argname="argument sse_specification", value=sse_specification, expected_type=type_hints["sse_specification"])
|
|
3068
3096
|
check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
|
|
3069
3097
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
@@ -3082,6 +3110,10 @@ class CfnGlobalTable(
|
|
|
3082
3110
|
self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
|
|
3083
3111
|
if read_provisioned_throughput_settings is not None:
|
|
3084
3112
|
self._values["read_provisioned_throughput_settings"] = read_provisioned_throughput_settings
|
|
3113
|
+
if replica_stream_specification is not None:
|
|
3114
|
+
self._values["replica_stream_specification"] = replica_stream_specification
|
|
3115
|
+
if resource_policy is not None:
|
|
3116
|
+
self._values["resource_policy"] = resource_policy
|
|
3085
3117
|
if sse_specification is not None:
|
|
3086
3118
|
self._values["sse_specification"] = sse_specification
|
|
3087
3119
|
if table_class is not None:
|
|
@@ -3171,6 +3203,32 @@ class CfnGlobalTable(
|
|
|
3171
3203
|
result = self._values.get("read_provisioned_throughput_settings")
|
|
3172
3204
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReadProvisionedThroughputSettingsProperty"]], result)
|
|
3173
3205
|
|
|
3206
|
+
@builtins.property
|
|
3207
|
+
def replica_stream_specification(
|
|
3208
|
+
self,
|
|
3209
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReplicaStreamSpecificationProperty"]]:
|
|
3210
|
+
'''Represents the DynamoDB Streams configuration for a global table replica.
|
|
3211
|
+
|
|
3212
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-replicastreamspecification
|
|
3213
|
+
'''
|
|
3214
|
+
result = self._values.get("replica_stream_specification")
|
|
3215
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReplicaStreamSpecificationProperty"]], result)
|
|
3216
|
+
|
|
3217
|
+
@builtins.property
|
|
3218
|
+
def resource_policy(
|
|
3219
|
+
self,
|
|
3220
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"]]:
|
|
3221
|
+
'''A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table.
|
|
3222
|
+
|
|
3223
|
+
Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
|
|
3224
|
+
|
|
3225
|
+
In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
3226
|
+
|
|
3227
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-resourcepolicy
|
|
3228
|
+
'''
|
|
3229
|
+
result = self._values.get("resource_policy")
|
|
3230
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"]], result)
|
|
3231
|
+
|
|
3174
3232
|
@builtins.property
|
|
3175
3233
|
def sse_specification(
|
|
3176
3234
|
self,
|
|
@@ -3217,6 +3275,149 @@ class CfnGlobalTable(
|
|
|
3217
3275
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
3218
3276
|
)
|
|
3219
3277
|
|
|
3278
|
+
@jsii.data_type(
|
|
3279
|
+
jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty",
|
|
3280
|
+
jsii_struct_bases=[],
|
|
3281
|
+
name_mapping={"resource_policy": "resourcePolicy"},
|
|
3282
|
+
)
|
|
3283
|
+
class ReplicaStreamSpecificationProperty:
|
|
3284
|
+
def __init__(
|
|
3285
|
+
self,
|
|
3286
|
+
*,
|
|
3287
|
+
resource_policy: typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
3288
|
+
) -> None:
|
|
3289
|
+
'''Represents the DynamoDB Streams configuration for a global table replica.
|
|
3290
|
+
|
|
3291
|
+
:param resource_policy: A resource-based policy document that contains the permissions for the specified stream of a DynamoDB global table replica. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ . You can update the ``ResourcePolicy`` property if you've specified more than one table using the `AWS ::DynamoDB::GlobalTable <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html>`_ resource.
|
|
3292
|
+
|
|
3293
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicastreamspecification.html
|
|
3294
|
+
:exampleMetadata: fixture=_generated
|
|
3295
|
+
|
|
3296
|
+
Example::
|
|
3297
|
+
|
|
3298
|
+
# The code below shows an example of how to instantiate this type.
|
|
3299
|
+
# The values are placeholders you should change.
|
|
3300
|
+
from aws_cdk import aws_dynamodb as dynamodb
|
|
3301
|
+
|
|
3302
|
+
# policy_document: Any
|
|
3303
|
+
|
|
3304
|
+
replica_stream_specification_property = dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
|
|
3305
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3306
|
+
policy_document=policy_document
|
|
3307
|
+
)
|
|
3308
|
+
)
|
|
3309
|
+
'''
|
|
3310
|
+
if __debug__:
|
|
3311
|
+
type_hints = typing.get_type_hints(_typecheckingstub__00848a241dcb74d0918fbddda5f7ccf1c445a7b63583f8697e2d95d334aa1bed)
|
|
3312
|
+
check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
|
|
3313
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3314
|
+
"resource_policy": resource_policy,
|
|
3315
|
+
}
|
|
3316
|
+
|
|
3317
|
+
@builtins.property
|
|
3318
|
+
def resource_policy(
|
|
3319
|
+
self,
|
|
3320
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"]:
|
|
3321
|
+
'''A resource-based policy document that contains the permissions for the specified stream of a DynamoDB global table replica.
|
|
3322
|
+
|
|
3323
|
+
Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
|
|
3324
|
+
|
|
3325
|
+
In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
3326
|
+
|
|
3327
|
+
You can update the ``ResourcePolicy`` property if you've specified more than one table using the `AWS ::DynamoDB::GlobalTable <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html>`_ resource.
|
|
3328
|
+
|
|
3329
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicastreamspecification.html#cfn-dynamodb-globaltable-replicastreamspecification-resourcepolicy
|
|
3330
|
+
'''
|
|
3331
|
+
result = self._values.get("resource_policy")
|
|
3332
|
+
assert result is not None, "Required property 'resource_policy' is missing"
|
|
3333
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"], result)
|
|
3334
|
+
|
|
3335
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3336
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3337
|
+
|
|
3338
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3339
|
+
return not (rhs == self)
|
|
3340
|
+
|
|
3341
|
+
def __repr__(self) -> str:
|
|
3342
|
+
return "ReplicaStreamSpecificationProperty(%s)" % ", ".join(
|
|
3343
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3344
|
+
)
|
|
3345
|
+
|
|
3346
|
+
@jsii.data_type(
|
|
3347
|
+
jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.ResourcePolicyProperty",
|
|
3348
|
+
jsii_struct_bases=[],
|
|
3349
|
+
name_mapping={"policy_document": "policyDocument"},
|
|
3350
|
+
)
|
|
3351
|
+
class ResourcePolicyProperty:
|
|
3352
|
+
def __init__(self, *, policy_document: typing.Any) -> None:
|
|
3353
|
+
'''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table, its indexes, and stream.
|
|
3354
|
+
|
|
3355
|
+
Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
|
|
3356
|
+
|
|
3357
|
+
In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
3358
|
+
|
|
3359
|
+
While defining resource-based policies in your CloudFormation templates, the following considerations apply:
|
|
3360
|
+
|
|
3361
|
+
- The maximum size supported for a resource-based policy document in JSON format is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit.
|
|
3362
|
+
- Resource-based policies don't support `drift detection <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html#>`_ . If you update a policy outside of the CloudFormation stack template, you'll need to update the CloudFormation stack with the changes.
|
|
3363
|
+
- Resource-based policies don't support out-of-band changes. If you add, update, or delete a policy outside of the CloudFormation template, the change won't be overwritten if there are no changes to the policy within the template.
|
|
3364
|
+
|
|
3365
|
+
For example, say that your template contains a resource-based policy, which you later update outside of the template. If you don't make any changes to the policy in the template, the updated policy in DynamoDB won’t be synced with the policy in the template.
|
|
3366
|
+
|
|
3367
|
+
Conversely, say that your template doesn’t contain a resource-based policy, but you add a policy outside of the template. This policy won’t be removed from DynamoDB as long as you don’t add it to the template. When you add a policy to the template and update the stack, the existing policy in DynamoDB will be updated to match the one defined in the template.
|
|
3368
|
+
|
|
3369
|
+
- Within a resource-based policy, if the action for a DynamoDB service-linked role (SLR) to replicate data for a global table is denied, adding or deleting a replica will fail with an error.
|
|
3370
|
+
- The `AWS ::DynamoDB::GlobalTable <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html>`_ resource doesn't support creating a replica in the same stack update in Regions other than the Region where you deploy the stack update.
|
|
3371
|
+
|
|
3372
|
+
For a full list of all considerations, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
|
|
3373
|
+
|
|
3374
|
+
:param policy_document: A resource-based policy document that contains permissions to add to the specified DynamoDB table, its indexes, and stream. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
3375
|
+
|
|
3376
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-resourcepolicy.html
|
|
3377
|
+
:exampleMetadata: fixture=_generated
|
|
3378
|
+
|
|
3379
|
+
Example::
|
|
3380
|
+
|
|
3381
|
+
# The code below shows an example of how to instantiate this type.
|
|
3382
|
+
# The values are placeholders you should change.
|
|
3383
|
+
from aws_cdk import aws_dynamodb as dynamodb
|
|
3384
|
+
|
|
3385
|
+
# policy_document: Any
|
|
3386
|
+
|
|
3387
|
+
resource_policy_property = dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3388
|
+
policy_document=policy_document
|
|
3389
|
+
)
|
|
3390
|
+
'''
|
|
3391
|
+
if __debug__:
|
|
3392
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6007e745281a1817381b3cb8f148da677e9fde77893fbd60db054cb3b85f34db)
|
|
3393
|
+
check_type(argname="argument policy_document", value=policy_document, expected_type=type_hints["policy_document"])
|
|
3394
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3395
|
+
"policy_document": policy_document,
|
|
3396
|
+
}
|
|
3397
|
+
|
|
3398
|
+
@builtins.property
|
|
3399
|
+
def policy_document(self) -> typing.Any:
|
|
3400
|
+
'''A resource-based policy document that contains permissions to add to the specified DynamoDB table, its indexes, and stream.
|
|
3401
|
+
|
|
3402
|
+
In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
3403
|
+
|
|
3404
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-resourcepolicy.html#cfn-dynamodb-globaltable-resourcepolicy-policydocument
|
|
3405
|
+
'''
|
|
3406
|
+
result = self._values.get("policy_document")
|
|
3407
|
+
assert result is not None, "Required property 'policy_document' is missing"
|
|
3408
|
+
return typing.cast(typing.Any, result)
|
|
3409
|
+
|
|
3410
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3411
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3412
|
+
|
|
3413
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3414
|
+
return not (rhs == self)
|
|
3415
|
+
|
|
3416
|
+
def __repr__(self) -> str:
|
|
3417
|
+
return "ResourcePolicyProperty(%s)" % ", ".join(
|
|
3418
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3419
|
+
)
|
|
3420
|
+
|
|
3220
3421
|
@jsii.data_type(
|
|
3221
3422
|
jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.SSESpecificationProperty",
|
|
3222
3423
|
jsii_struct_bases=[],
|
|
@@ -3676,6 +3877,8 @@ class CfnGlobalTableProps:
|
|
|
3676
3877
|
# The values are placeholders you should change.
|
|
3677
3878
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
3678
3879
|
|
|
3880
|
+
# policy_document: Any
|
|
3881
|
+
|
|
3679
3882
|
cfn_global_table_props = dynamodb.CfnGlobalTableProps(
|
|
3680
3883
|
attribute_definitions=[dynamodb.CfnGlobalTable.AttributeDefinitionProperty(
|
|
3681
3884
|
attribute_name="attributeName",
|
|
@@ -3746,6 +3949,14 @@ class CfnGlobalTableProps:
|
|
|
3746
3949
|
),
|
|
3747
3950
|
read_capacity_units=123
|
|
3748
3951
|
),
|
|
3952
|
+
replica_stream_specification=dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
|
|
3953
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3954
|
+
policy_document=policy_document
|
|
3955
|
+
)
|
|
3956
|
+
),
|
|
3957
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3958
|
+
policy_document=policy_document
|
|
3959
|
+
),
|
|
3749
3960
|
sse_specification=dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty(
|
|
3750
3961
|
kms_master_key_id="kmsMasterKeyId"
|
|
3751
3962
|
),
|
|
@@ -4062,6 +4273,8 @@ class CfnTable(
|
|
|
4062
4273
|
# The values are placeholders you should change.
|
|
4063
4274
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
4064
4275
|
|
|
4276
|
+
# policy_document: Any
|
|
4277
|
+
|
|
4065
4278
|
cfn_table = dynamodb.CfnTable(self, "MyCfnTable",
|
|
4066
4279
|
key_schema=[dynamodb.CfnTable.KeySchemaProperty(
|
|
4067
4280
|
attribute_name="attributeName",
|
|
@@ -4141,6 +4354,9 @@ class CfnTable(
|
|
|
4141
4354
|
read_capacity_units=123,
|
|
4142
4355
|
write_capacity_units=123
|
|
4143
4356
|
),
|
|
4357
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
4358
|
+
policy_document=policy_document
|
|
4359
|
+
),
|
|
4144
4360
|
sse_specification=dynamodb.CfnTable.SSESpecificationProperty(
|
|
4145
4361
|
sse_enabled=False,
|
|
4146
4362
|
|
|
@@ -4149,7 +4365,12 @@ class CfnTable(
|
|
|
4149
4365
|
sse_type="sseType"
|
|
4150
4366
|
),
|
|
4151
4367
|
stream_specification=dynamodb.CfnTable.StreamSpecificationProperty(
|
|
4152
|
-
stream_view_type="streamViewType"
|
|
4368
|
+
stream_view_type="streamViewType",
|
|
4369
|
+
|
|
4370
|
+
# the properties below are optional
|
|
4371
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
4372
|
+
policy_document=policy_document
|
|
4373
|
+
)
|
|
4153
4374
|
),
|
|
4154
4375
|
table_class="tableClass",
|
|
4155
4376
|
table_name="tableName",
|
|
@@ -4182,6 +4403,7 @@ class CfnTable(
|
|
|
4182
4403
|
local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.LocalSecondaryIndexProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4183
4404
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.PointInTimeRecoverySpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4184
4405
|
provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ProvisionedThroughputProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4406
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4185
4407
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.SSESpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4186
4408
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.StreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4187
4409
|
table_class: typing.Optional[builtins.str] = None,
|
|
@@ -4203,6 +4425,7 @@ class CfnTable(
|
|
|
4203
4425
|
:param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
|
|
4204
4426
|
:param point_in_time_recovery_specification: The settings used to enable point in time recovery.
|
|
4205
4427
|
:param provisioned_throughput: Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits`` . For more information about the contents of a provisioned throughput structure, see `Amazon DynamoDB Table ProvisionedThroughput <https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html>`_ . If you set ``BillingMode`` as ``PROVISIONED`` , you must specify this property. If you set ``BillingMode`` as ``PAY_PER_REQUEST`` , you cannot specify this property.
|
|
4428
|
+
:param resource_policy: A resource-based policy document that contains permissions to add to the specified table. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ . When you attach a resource-based policy while creating a table, the policy creation is *strongly consistent* . For information about the considerations that you should keep in mind while attaching a resource-based policy, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
|
|
4206
4429
|
:param sse_specification: Specifies the settings to enable server-side encryption.
|
|
4207
4430
|
:param stream_specification: The settings for the DynamoDB table stream, which capture changes to items stored in the table.
|
|
4208
4431
|
:param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
@@ -4226,6 +4449,7 @@ class CfnTable(
|
|
|
4226
4449
|
local_secondary_indexes=local_secondary_indexes,
|
|
4227
4450
|
point_in_time_recovery_specification=point_in_time_recovery_specification,
|
|
4228
4451
|
provisioned_throughput=provisioned_throughput,
|
|
4452
|
+
resource_policy=resource_policy,
|
|
4229
4453
|
sse_specification=sse_specification,
|
|
4230
4454
|
stream_specification=stream_specification,
|
|
4231
4455
|
table_class=table_class,
|
|
@@ -4495,6 +4719,24 @@ class CfnTable(
|
|
|
4495
4719
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4496
4720
|
jsii.set(self, "provisionedThroughput", value)
|
|
4497
4721
|
|
|
4722
|
+
@builtins.property
|
|
4723
|
+
@jsii.member(jsii_name="resourcePolicy")
|
|
4724
|
+
def resource_policy(
|
|
4725
|
+
self,
|
|
4726
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]]:
|
|
4727
|
+
'''A resource-based policy document that contains permissions to add to the specified table.'''
|
|
4728
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]], jsii.get(self, "resourcePolicy"))
|
|
4729
|
+
|
|
4730
|
+
@resource_policy.setter
|
|
4731
|
+
def resource_policy(
|
|
4732
|
+
self,
|
|
4733
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]],
|
|
4734
|
+
) -> None:
|
|
4735
|
+
if __debug__:
|
|
4736
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4166d9b0a925b24598927de15ecb1935d22d14f9a49469ba893db8d18421bf02)
|
|
4737
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4738
|
+
jsii.set(self, "resourcePolicy", value)
|
|
4739
|
+
|
|
4498
4740
|
@builtins.property
|
|
4499
4741
|
@jsii.member(jsii_name="sseSpecification")
|
|
4500
4742
|
def sse_specification(
|
|
@@ -5640,6 +5882,78 @@ class CfnTable(
|
|
|
5640
5882
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
5641
5883
|
)
|
|
5642
5884
|
|
|
5885
|
+
@jsii.data_type(
|
|
5886
|
+
jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.ResourcePolicyProperty",
|
|
5887
|
+
jsii_struct_bases=[],
|
|
5888
|
+
name_mapping={"policy_document": "policyDocument"},
|
|
5889
|
+
)
|
|
5890
|
+
class ResourcePolicyProperty:
|
|
5891
|
+
def __init__(self, *, policy_document: typing.Any) -> None:
|
|
5892
|
+
'''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table, its indexes, and stream.
|
|
5893
|
+
|
|
5894
|
+
Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
|
|
5895
|
+
|
|
5896
|
+
In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
5897
|
+
|
|
5898
|
+
While defining resource-based policies in your CloudFormation templates, the following considerations apply:
|
|
5899
|
+
|
|
5900
|
+
- The maximum size supported for a resource-based policy document in JSON format is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit.
|
|
5901
|
+
- Resource-based policies don't support `drift detection <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html#>`_ . If you update a policy outside of the CloudFormation stack template, you'll need to update the CloudFormation stack with the changes.
|
|
5902
|
+
- Resource-based policies don't support out-of-band changes. If you add, update, or delete a policy outside of the CloudFormation template, the change won't be overwritten if there are no changes to the policy within the template.
|
|
5903
|
+
|
|
5904
|
+
For example, say that your template contains a resource-based policy, which you later update outside of the template. If you don't make any changes to the policy in the template, the updated policy in DynamoDB won’t be synced with the policy in the template.
|
|
5905
|
+
|
|
5906
|
+
Conversely, say that your template doesn’t contain a resource-based policy, but you add a policy outside of the template. This policy won’t be removed from DynamoDB as long as you don’t add it to the template. When you add a policy to the template and update the stack, the existing policy in DynamoDB will be updated to match the one defined in the template.
|
|
5907
|
+
|
|
5908
|
+
For a full list of all considerations, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
|
|
5909
|
+
|
|
5910
|
+
:param policy_document: A resource-based policy document that contains permissions to add to the specified DynamoDB table, index, or both. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
5911
|
+
|
|
5912
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html
|
|
5913
|
+
:exampleMetadata: fixture=_generated
|
|
5914
|
+
|
|
5915
|
+
Example::
|
|
5916
|
+
|
|
5917
|
+
# The code below shows an example of how to instantiate this type.
|
|
5918
|
+
# The values are placeholders you should change.
|
|
5919
|
+
from aws_cdk import aws_dynamodb as dynamodb
|
|
5920
|
+
|
|
5921
|
+
# policy_document: Any
|
|
5922
|
+
|
|
5923
|
+
resource_policy_property = dynamodb.CfnTable.ResourcePolicyProperty(
|
|
5924
|
+
policy_document=policy_document
|
|
5925
|
+
)
|
|
5926
|
+
'''
|
|
5927
|
+
if __debug__:
|
|
5928
|
+
type_hints = typing.get_type_hints(_typecheckingstub__64c1cb1f4d183fca5b703f524bc57bfa5f9515fd97acd86171b92226b4e11ca3)
|
|
5929
|
+
check_type(argname="argument policy_document", value=policy_document, expected_type=type_hints["policy_document"])
|
|
5930
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
5931
|
+
"policy_document": policy_document,
|
|
5932
|
+
}
|
|
5933
|
+
|
|
5934
|
+
@builtins.property
|
|
5935
|
+
def policy_document(self) -> typing.Any:
|
|
5936
|
+
'''A resource-based policy document that contains permissions to add to the specified DynamoDB table, index, or both.
|
|
5937
|
+
|
|
5938
|
+
In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
5939
|
+
|
|
5940
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html#cfn-dynamodb-table-resourcepolicy-policydocument
|
|
5941
|
+
'''
|
|
5942
|
+
result = self._values.get("policy_document")
|
|
5943
|
+
assert result is not None, "Required property 'policy_document' is missing"
|
|
5944
|
+
return typing.cast(typing.Any, result)
|
|
5945
|
+
|
|
5946
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5947
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5948
|
+
|
|
5949
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
5950
|
+
return not (rhs == self)
|
|
5951
|
+
|
|
5952
|
+
def __repr__(self) -> str:
|
|
5953
|
+
return "ResourcePolicyProperty(%s)" % ", ".join(
|
|
5954
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
5955
|
+
)
|
|
5956
|
+
|
|
5643
5957
|
@jsii.data_type(
|
|
5644
5958
|
jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.S3BucketSourceProperty",
|
|
5645
5959
|
jsii_struct_bases=[],
|
|
@@ -5835,13 +6149,22 @@ class CfnTable(
|
|
|
5835
6149
|
@jsii.data_type(
|
|
5836
6150
|
jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.StreamSpecificationProperty",
|
|
5837
6151
|
jsii_struct_bases=[],
|
|
5838
|
-
name_mapping={
|
|
6152
|
+
name_mapping={
|
|
6153
|
+
"stream_view_type": "streamViewType",
|
|
6154
|
+
"resource_policy": "resourcePolicy",
|
|
6155
|
+
},
|
|
5839
6156
|
)
|
|
5840
6157
|
class StreamSpecificationProperty:
|
|
5841
|
-
def __init__(
|
|
6158
|
+
def __init__(
|
|
6159
|
+
self,
|
|
6160
|
+
*,
|
|
6161
|
+
stream_view_type: builtins.str,
|
|
6162
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6163
|
+
) -> None:
|
|
5842
6164
|
'''Represents the DynamoDB Streams configuration for a table in DynamoDB.
|
|
5843
6165
|
|
|
5844
6166
|
:param stream_view_type: When an item in the table is modified, ``StreamViewType`` determines what information is written to the stream for this table. Valid values for ``StreamViewType`` are: - ``KEYS_ONLY`` - Only the key attributes of the modified item are written to the stream. - ``NEW_IMAGE`` - The entire item, as it appears after it was modified, is written to the stream. - ``OLD_IMAGE`` - The entire item, as it appeared before it was modified, is written to the stream. - ``NEW_AND_OLD_IMAGES`` - Both the new and the old item images of the item are written to the stream.
|
|
6167
|
+
:param resource_policy: Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
5845
6168
|
|
|
5846
6169
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html
|
|
5847
6170
|
:exampleMetadata: fixture=_generated
|
|
@@ -5852,16 +6175,26 @@ class CfnTable(
|
|
|
5852
6175
|
# The values are placeholders you should change.
|
|
5853
6176
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
5854
6177
|
|
|
6178
|
+
# policy_document: Any
|
|
6179
|
+
|
|
5855
6180
|
stream_specification_property = dynamodb.CfnTable.StreamSpecificationProperty(
|
|
5856
|
-
stream_view_type="streamViewType"
|
|
6181
|
+
stream_view_type="streamViewType",
|
|
6182
|
+
|
|
6183
|
+
# the properties below are optional
|
|
6184
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
6185
|
+
policy_document=policy_document
|
|
6186
|
+
)
|
|
5857
6187
|
)
|
|
5858
6188
|
'''
|
|
5859
6189
|
if __debug__:
|
|
5860
6190
|
type_hints = typing.get_type_hints(_typecheckingstub__3099d6d2aee077548b7bec617449da8355169637f0983749d3191a63e00a1c72)
|
|
5861
6191
|
check_type(argname="argument stream_view_type", value=stream_view_type, expected_type=type_hints["stream_view_type"])
|
|
6192
|
+
check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
|
|
5862
6193
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
5863
6194
|
"stream_view_type": stream_view_type,
|
|
5864
6195
|
}
|
|
6196
|
+
if resource_policy is not None:
|
|
6197
|
+
self._values["resource_policy"] = resource_policy
|
|
5865
6198
|
|
|
5866
6199
|
@builtins.property
|
|
5867
6200
|
def stream_view_type(self) -> builtins.str:
|
|
@@ -5880,6 +6213,21 @@ class CfnTable(
|
|
|
5880
6213
|
assert result is not None, "Required property 'stream_view_type' is missing"
|
|
5881
6214
|
return typing.cast(builtins.str, result)
|
|
5882
6215
|
|
|
6216
|
+
@builtins.property
|
|
6217
|
+
def resource_policy(
|
|
6218
|
+
self,
|
|
6219
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]]:
|
|
6220
|
+
'''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams.
|
|
6221
|
+
|
|
6222
|
+
Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
|
|
6223
|
+
|
|
6224
|
+
In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
6225
|
+
|
|
6226
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html#cfn-dynamodb-table-streamspecification-resourcepolicy
|
|
6227
|
+
'''
|
|
6228
|
+
result = self._values.get("resource_policy")
|
|
6229
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]], result)
|
|
6230
|
+
|
|
5883
6231
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5884
6232
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5885
6233
|
|
|
@@ -5985,6 +6333,7 @@ class CfnTable(
|
|
|
5985
6333
|
"local_secondary_indexes": "localSecondaryIndexes",
|
|
5986
6334
|
"point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
|
|
5987
6335
|
"provisioned_throughput": "provisionedThroughput",
|
|
6336
|
+
"resource_policy": "resourcePolicy",
|
|
5988
6337
|
"sse_specification": "sseSpecification",
|
|
5989
6338
|
"stream_specification": "streamSpecification",
|
|
5990
6339
|
"table_class": "tableClass",
|
|
@@ -6008,6 +6357,7 @@ class CfnTableProps:
|
|
|
6008
6357
|
local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
6009
6358
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6010
6359
|
provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ProvisionedThroughputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6360
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6011
6361
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6012
6362
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6013
6363
|
table_class: typing.Optional[builtins.str] = None,
|
|
@@ -6028,6 +6378,7 @@ class CfnTableProps:
|
|
|
6028
6378
|
:param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
|
|
6029
6379
|
:param point_in_time_recovery_specification: The settings used to enable point in time recovery.
|
|
6030
6380
|
:param provisioned_throughput: Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits`` . For more information about the contents of a provisioned throughput structure, see `Amazon DynamoDB Table ProvisionedThroughput <https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html>`_ . If you set ``BillingMode`` as ``PROVISIONED`` , you must specify this property. If you set ``BillingMode`` as ``PAY_PER_REQUEST`` , you cannot specify this property.
|
|
6381
|
+
:param resource_policy: A resource-based policy document that contains permissions to add to the specified table. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ . When you attach a resource-based policy while creating a table, the policy creation is *strongly consistent* . For information about the considerations that you should keep in mind while attaching a resource-based policy, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
|
|
6031
6382
|
:param sse_specification: Specifies the settings to enable server-side encryption.
|
|
6032
6383
|
:param stream_specification: The settings for the DynamoDB table stream, which capture changes to items stored in the table.
|
|
6033
6384
|
:param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
@@ -6044,6 +6395,8 @@ class CfnTableProps:
|
|
|
6044
6395
|
# The values are placeholders you should change.
|
|
6045
6396
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
6046
6397
|
|
|
6398
|
+
# policy_document: Any
|
|
6399
|
+
|
|
6047
6400
|
cfn_table_props = dynamodb.CfnTableProps(
|
|
6048
6401
|
key_schema=[dynamodb.CfnTable.KeySchemaProperty(
|
|
6049
6402
|
attribute_name="attributeName",
|
|
@@ -6123,6 +6476,9 @@ class CfnTableProps:
|
|
|
6123
6476
|
read_capacity_units=123,
|
|
6124
6477
|
write_capacity_units=123
|
|
6125
6478
|
),
|
|
6479
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
6480
|
+
policy_document=policy_document
|
|
6481
|
+
),
|
|
6126
6482
|
sse_specification=dynamodb.CfnTable.SSESpecificationProperty(
|
|
6127
6483
|
sse_enabled=False,
|
|
6128
6484
|
|
|
@@ -6131,7 +6487,12 @@ class CfnTableProps:
|
|
|
6131
6487
|
sse_type="sseType"
|
|
6132
6488
|
),
|
|
6133
6489
|
stream_specification=dynamodb.CfnTable.StreamSpecificationProperty(
|
|
6134
|
-
stream_view_type="streamViewType"
|
|
6490
|
+
stream_view_type="streamViewType",
|
|
6491
|
+
|
|
6492
|
+
# the properties below are optional
|
|
6493
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
6494
|
+
policy_document=policy_document
|
|
6495
|
+
)
|
|
6135
6496
|
),
|
|
6136
6497
|
table_class="tableClass",
|
|
6137
6498
|
table_name="tableName",
|
|
@@ -6160,6 +6521,7 @@ class CfnTableProps:
|
|
|
6160
6521
|
check_type(argname="argument local_secondary_indexes", value=local_secondary_indexes, expected_type=type_hints["local_secondary_indexes"])
|
|
6161
6522
|
check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
|
|
6162
6523
|
check_type(argname="argument provisioned_throughput", value=provisioned_throughput, expected_type=type_hints["provisioned_throughput"])
|
|
6524
|
+
check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
|
|
6163
6525
|
check_type(argname="argument sse_specification", value=sse_specification, expected_type=type_hints["sse_specification"])
|
|
6164
6526
|
check_type(argname="argument stream_specification", value=stream_specification, expected_type=type_hints["stream_specification"])
|
|
6165
6527
|
check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
|
|
@@ -6189,6 +6551,8 @@ class CfnTableProps:
|
|
|
6189
6551
|
self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
|
|
6190
6552
|
if provisioned_throughput is not None:
|
|
6191
6553
|
self._values["provisioned_throughput"] = provisioned_throughput
|
|
6554
|
+
if resource_policy is not None:
|
|
6555
|
+
self._values["resource_policy"] = resource_policy
|
|
6192
6556
|
if sse_specification is not None:
|
|
6193
6557
|
self._values["sse_specification"] = sse_specification
|
|
6194
6558
|
if stream_specification is not None:
|
|
@@ -6358,6 +6722,21 @@ class CfnTableProps:
|
|
|
6358
6722
|
result = self._values.get("provisioned_throughput")
|
|
6359
6723
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ProvisionedThroughputProperty]], result)
|
|
6360
6724
|
|
|
6725
|
+
@builtins.property
|
|
6726
|
+
def resource_policy(
|
|
6727
|
+
self,
|
|
6728
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]]:
|
|
6729
|
+
'''A resource-based policy document that contains permissions to add to the specified table.
|
|
6730
|
+
|
|
6731
|
+
In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
|
|
6732
|
+
|
|
6733
|
+
When you attach a resource-based policy while creating a table, the policy creation is *strongly consistent* . For information about the considerations that you should keep in mind while attaching a resource-based policy, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
|
|
6734
|
+
|
|
6735
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-resourcepolicy
|
|
6736
|
+
'''
|
|
6737
|
+
result = self._values.get("resource_policy")
|
|
6738
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]], result)
|
|
6739
|
+
|
|
6361
6740
|
@builtins.property
|
|
6362
6741
|
def sse_specification(
|
|
6363
6742
|
self,
|
|
@@ -13821,6 +14200,8 @@ def _typecheckingstub__912e2bc047b1f65121a39316718e5632909682a5243ef8e21ead42e3e
|
|
|
13821
14200
|
kinesis_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.KinesisStreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13822
14201
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13823
14202
|
read_provisioned_throughput_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReadProvisionedThroughputSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14203
|
+
replica_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReplicaStreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14204
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13824
14205
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReplicaSSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13825
14206
|
table_class: typing.Optional[builtins.str] = None,
|
|
13826
14207
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -13828,6 +14209,20 @@ def _typecheckingstub__912e2bc047b1f65121a39316718e5632909682a5243ef8e21ead42e3e
|
|
|
13828
14209
|
"""Type checking stubs"""
|
|
13829
14210
|
pass
|
|
13830
14211
|
|
|
14212
|
+
def _typecheckingstub__00848a241dcb74d0918fbddda5f7ccf1c445a7b63583f8697e2d95d334aa1bed(
|
|
14213
|
+
*,
|
|
14214
|
+
resource_policy: typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
14215
|
+
) -> None:
|
|
14216
|
+
"""Type checking stubs"""
|
|
14217
|
+
pass
|
|
14218
|
+
|
|
14219
|
+
def _typecheckingstub__6007e745281a1817381b3cb8f148da677e9fde77893fbd60db054cb3b85f34db(
|
|
14220
|
+
*,
|
|
14221
|
+
policy_document: typing.Any,
|
|
14222
|
+
) -> None:
|
|
14223
|
+
"""Type checking stubs"""
|
|
14224
|
+
pass
|
|
14225
|
+
|
|
13831
14226
|
def _typecheckingstub__ea2cb67b1629904043fec37c484f260e58078624f7b496fe52fc2201d365e1c8(
|
|
13832
14227
|
*,
|
|
13833
14228
|
sse_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
|
|
@@ -13900,6 +14295,7 @@ def _typecheckingstub__9c4a83992df200bfde2ccfe129994eeacab105432a2509473861feb73
|
|
|
13900
14295
|
local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
13901
14296
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13902
14297
|
provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ProvisionedThroughputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14298
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13903
14299
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13904
14300
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13905
14301
|
table_class: typing.Optional[builtins.str] = None,
|
|
@@ -13988,6 +14384,12 @@ def _typecheckingstub__6fa8ca064a9e23781245ca2f3d32d36a2324726abba76565a2e12ac5e
|
|
|
13988
14384
|
"""Type checking stubs"""
|
|
13989
14385
|
pass
|
|
13990
14386
|
|
|
14387
|
+
def _typecheckingstub__4166d9b0a925b24598927de15ecb1935d22d14f9a49469ba893db8d18421bf02(
|
|
14388
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]],
|
|
14389
|
+
) -> None:
|
|
14390
|
+
"""Type checking stubs"""
|
|
14391
|
+
pass
|
|
14392
|
+
|
|
13991
14393
|
def _typecheckingstub__bc5e50032964d91e0cf5ec36aba75b6ae325bfe6129ad9f55764353e645b28c6(
|
|
13992
14394
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SSESpecificationProperty]],
|
|
13993
14395
|
) -> None:
|
|
@@ -14123,6 +14525,13 @@ def _typecheckingstub__2c605785147b4a82f1aad9bc135fb470b73358c151d323493ae3f1cde
|
|
|
14123
14525
|
"""Type checking stubs"""
|
|
14124
14526
|
pass
|
|
14125
14527
|
|
|
14528
|
+
def _typecheckingstub__64c1cb1f4d183fca5b703f524bc57bfa5f9515fd97acd86171b92226b4e11ca3(
|
|
14529
|
+
*,
|
|
14530
|
+
policy_document: typing.Any,
|
|
14531
|
+
) -> None:
|
|
14532
|
+
"""Type checking stubs"""
|
|
14533
|
+
pass
|
|
14534
|
+
|
|
14126
14535
|
def _typecheckingstub__f675acfe91cced819ac46665a50bf155c45e71e78313e471666e0e9d708883e2(
|
|
14127
14536
|
*,
|
|
14128
14537
|
s3_bucket: builtins.str,
|
|
@@ -14144,6 +14553,7 @@ def _typecheckingstub__23b0abf52d7df3f9a3b741c39275e55783b349db0f08ac16d13c3d832
|
|
|
14144
14553
|
def _typecheckingstub__3099d6d2aee077548b7bec617449da8355169637f0983749d3191a63e00a1c72(
|
|
14145
14554
|
*,
|
|
14146
14555
|
stream_view_type: builtins.str,
|
|
14556
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14147
14557
|
) -> None:
|
|
14148
14558
|
"""Type checking stubs"""
|
|
14149
14559
|
pass
|
|
@@ -14169,6 +14579,7 @@ def _typecheckingstub__0b7f8e29621d526383ce725f2daafbe00b52cfe2381995edac86b72a6
|
|
|
14169
14579
|
local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
14170
14580
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14171
14581
|
provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ProvisionedThroughputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14582
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14172
14583
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14173
14584
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14174
14585
|
table_class: typing.Optional[builtins.str] = None,
|