aws-cdk-lib 2.133.0__py3-none-any.whl → 2.135.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.
- aws_cdk/__init__.py +14 -1
- aws_cdk/_jsii/__init__.py +4 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.133.0.jsii.tgz → aws-cdk-lib@2.135.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +3 -0
- aws_cdk/assertions/__init__.py +3 -0
- aws_cdk/aws_accessanalyzer/__init__.py +3 -0
- aws_cdk/aws_acmpca/__init__.py +3 -0
- aws_cdk/aws_amazonmq/__init__.py +3 -0
- aws_cdk/aws_amplify/__init__.py +3 -0
- aws_cdk/aws_amplifyuibuilder/__init__.py +3 -0
- aws_cdk/aws_apigateway/__init__.py +3 -0
- aws_cdk/aws_apigatewayv2/__init__.py +108 -3
- aws_cdk/aws_apigatewayv2_authorizers/__init__.py +3 -0
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +158 -3
- aws_cdk/aws_appconfig/__init__.py +189 -8
- aws_cdk/aws_appflow/__init__.py +3 -0
- aws_cdk/aws_appintegrations/__init__.py +560 -0
- aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
- aws_cdk/aws_applicationinsights/__init__.py +3 -0
- aws_cdk/aws_appmesh/__init__.py +4 -1
- aws_cdk/aws_apprunner/__init__.py +3 -0
- aws_cdk/aws_appstream/__init__.py +3 -0
- aws_cdk/aws_appsync/__init__.py +74 -0
- aws_cdk/aws_aps/__init__.py +805 -1
- aws_cdk/aws_arczonalshift/__init__.py +3 -0
- aws_cdk/aws_athena/__init__.py +3 -0
- aws_cdk/aws_auditmanager/__init__.py +3 -0
- aws_cdk/aws_autoscaling/__init__.py +9 -4
- aws_cdk/aws_autoscaling_common/__init__.py +3 -0
- aws_cdk/aws_autoscaling_hooktargets/__init__.py +3 -0
- aws_cdk/aws_autoscalingplans/__init__.py +3 -0
- aws_cdk/aws_b2bi/__init__.py +3 -0
- aws_cdk/aws_backup/__init__.py +26 -12
- aws_cdk/aws_backupgateway/__init__.py +3 -0
- aws_cdk/aws_batch/__init__.py +426 -73
- aws_cdk/aws_bedrock/__init__.py +200 -2
- aws_cdk/aws_billingconductor/__init__.py +3 -0
- aws_cdk/aws_budgets/__init__.py +3 -0
- aws_cdk/aws_cassandra/__init__.py +3 -0
- aws_cdk/aws_ce/__init__.py +3 -0
- aws_cdk/aws_certificatemanager/__init__.py +3 -0
- aws_cdk/aws_chatbot/__init__.py +3 -0
- aws_cdk/aws_cleanrooms/__init__.py +183 -6
- aws_cdk/aws_cloud9/__init__.py +3 -0
- aws_cdk/aws_cloudformation/__init__.py +4 -1
- aws_cdk/aws_cloudfront/__init__.py +5 -2
- aws_cdk/aws_cloudfront/experimental/__init__.py +3 -0
- aws_cdk/aws_cloudfront_origins/__init__.py +3 -0
- aws_cdk/aws_cloudtrail/__init__.py +47 -14
- aws_cdk/aws_cloudwatch/__init__.py +21 -0
- aws_cdk/aws_cloudwatch_actions/__init__.py +3 -0
- aws_cdk/aws_codeartifact/__init__.py +815 -2
- aws_cdk/aws_codebuild/__init__.py +38 -16
- aws_cdk/aws_codecommit/__init__.py +3 -0
- aws_cdk/aws_codedeploy/__init__.py +3 -0
- aws_cdk/aws_codeguruprofiler/__init__.py +3 -0
- aws_cdk/aws_codegurureviewer/__init__.py +3 -0
- aws_cdk/aws_codepipeline/__init__.py +27 -8
- aws_cdk/aws_codepipeline_actions/__init__.py +3 -0
- aws_cdk/aws_codestar/__init__.py +3 -0
- aws_cdk/aws_codestarconnections/__init__.py +91 -2
- aws_cdk/aws_codestarnotifications/__init__.py +3 -0
- aws_cdk/aws_cognito/__init__.py +44 -40
- aws_cdk/aws_comprehend/__init__.py +3 -0
- aws_cdk/aws_config/__init__.py +3 -0
- aws_cdk/aws_connect/__init__.py +277 -0
- aws_cdk/aws_connectcampaigns/__init__.py +3 -0
- aws_cdk/aws_controltower/__init__.py +3 -0
- aws_cdk/aws_cur/__init__.py +3 -0
- aws_cdk/aws_customerprofiles/__init__.py +3 -0
- aws_cdk/aws_databrew/__init__.py +3 -0
- aws_cdk/aws_datapipeline/__init__.py +3 -0
- aws_cdk/aws_datasync/__init__.py +396 -13
- aws_cdk/aws_datazone/__init__.py +3 -0
- aws_cdk/aws_dax/__init__.py +3 -0
- aws_cdk/aws_detective/__init__.py +3 -0
- aws_cdk/aws_devicefarm/__init__.py +3 -0
- aws_cdk/aws_devopsguru/__init__.py +3 -0
- aws_cdk/aws_directoryservice/__init__.py +3 -0
- aws_cdk/aws_dlm/__init__.py +5 -2
- aws_cdk/aws_dms/__init__.py +30 -9
- aws_cdk/aws_docdb/__init__.py +3 -0
- aws_cdk/aws_docdbelastic/__init__.py +128 -0
- aws_cdk/aws_dynamodb/__init__.py +419 -5
- aws_cdk/aws_ec2/__init__.py +3530 -504
- aws_cdk/aws_ecr/__init__.py +3 -0
- aws_cdk/aws_ecr_assets/__init__.py +3 -0
- aws_cdk/aws_ecs/__init__.py +12 -4
- aws_cdk/aws_ecs_patterns/__init__.py +3 -0
- aws_cdk/aws_efs/__init__.py +3 -0
- aws_cdk/aws_eks/__init__.py +69 -47
- aws_cdk/aws_elasticache/__init__.py +3 -0
- aws_cdk/aws_elasticbeanstalk/__init__.py +3 -0
- aws_cdk/aws_elasticloadbalancing/__init__.py +3 -0
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +431 -72
- aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +3 -0
- aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +3 -0
- aws_cdk/aws_elasticsearch/__init__.py +3 -0
- aws_cdk/aws_emr/__init__.py +3 -0
- aws_cdk/aws_emrcontainers/__init__.py +3 -0
- aws_cdk/aws_emrserverless/__init__.py +3 -0
- aws_cdk/aws_entityresolution/__init__.py +96 -66
- aws_cdk/aws_events/__init__.py +3 -0
- aws_cdk/aws_events_targets/__init__.py +3 -0
- aws_cdk/aws_eventschemas/__init__.py +3 -0
- aws_cdk/aws_evidently/__init__.py +3 -0
- aws_cdk/aws_finspace/__init__.py +3 -0
- aws_cdk/aws_fis/__init__.py +3 -0
- aws_cdk/aws_fms/__init__.py +3 -0
- aws_cdk/aws_forecast/__init__.py +3 -0
- aws_cdk/aws_frauddetector/__init__.py +3 -0
- aws_cdk/aws_fsx/__init__.py +3 -0
- aws_cdk/aws_gamelift/__init__.py +3 -0
- aws_cdk/aws_globalaccelerator/__init__.py +5 -2
- aws_cdk/aws_globalaccelerator_endpoints/__init__.py +3 -0
- aws_cdk/aws_glue/__init__.py +147 -3
- aws_cdk/aws_grafana/__init__.py +3 -0
- aws_cdk/aws_greengrass/__init__.py +3 -0
- aws_cdk/aws_greengrassv2/__init__.py +3 -0
- aws_cdk/aws_groundstation/__init__.py +3 -0
- aws_cdk/aws_guardduty/__init__.py +3 -0
- aws_cdk/aws_healthimaging/__init__.py +3 -0
- aws_cdk/aws_healthlake/__init__.py +3 -0
- aws_cdk/aws_iam/__init__.py +12 -10
- aws_cdk/aws_identitystore/__init__.py +3 -0
- aws_cdk/aws_imagebuilder/__init__.py +3 -0
- aws_cdk/aws_inspector/__init__.py +3 -0
- aws_cdk/aws_inspectorv2/__init__.py +3 -0
- aws_cdk/aws_internetmonitor/__init__.py +88 -0
- aws_cdk/aws_iot/__init__.py +3 -0
- aws_cdk/aws_iot1click/__init__.py +3 -0
- aws_cdk/aws_iotanalytics/__init__.py +3 -0
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +3 -0
- aws_cdk/aws_iotevents/__init__.py +3 -0
- aws_cdk/aws_iotfleethub/__init__.py +3 -0
- aws_cdk/aws_iotfleetwise/__init__.py +3 -0
- aws_cdk/aws_iotsitewise/__init__.py +138 -55
- aws_cdk/aws_iotthingsgraph/__init__.py +3 -0
- aws_cdk/aws_iottwinmaker/__init__.py +3 -0
- aws_cdk/aws_iotwireless/__init__.py +3 -0
- aws_cdk/aws_ivs/__init__.py +3 -0
- aws_cdk/aws_ivschat/__init__.py +3 -0
- aws_cdk/aws_kafkaconnect/__init__.py +1239 -161
- aws_cdk/aws_kendra/__init__.py +56 -39
- aws_cdk/aws_kendraranking/__init__.py +3 -0
- aws_cdk/aws_kinesis/__init__.py +3 -0
- aws_cdk/aws_kinesisanalytics/__init__.py +40 -37
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +40 -37
- aws_cdk/aws_kinesisfirehose/__init__.py +14 -3
- aws_cdk/aws_kinesisvideo/__init__.py +3 -0
- aws_cdk/aws_kms/__init__.py +3 -0
- aws_cdk/aws_lakeformation/__init__.py +3 -0
- aws_cdk/aws_lambda/__init__.py +9 -0
- aws_cdk/aws_lambda_destinations/__init__.py +3 -0
- aws_cdk/aws_lambda_event_sources/__init__.py +45 -18
- aws_cdk/aws_lambda_nodejs/__init__.py +3 -0
- aws_cdk/aws_lex/__init__.py +3 -0
- aws_cdk/aws_licensemanager/__init__.py +3 -0
- aws_cdk/aws_lightsail/__init__.py +3 -0
- aws_cdk/aws_location/__init__.py +3 -0
- aws_cdk/aws_logs/__init__.py +3 -0
- aws_cdk/aws_logs_destinations/__init__.py +3 -0
- aws_cdk/aws_lookoutequipment/__init__.py +3 -0
- aws_cdk/aws_lookoutmetrics/__init__.py +3 -0
- aws_cdk/aws_lookoutvision/__init__.py +3 -0
- aws_cdk/aws_m2/__init__.py +3 -0
- aws_cdk/aws_macie/__init__.py +3 -0
- aws_cdk/aws_managedblockchain/__init__.py +5 -3
- aws_cdk/aws_mediaconnect/__init__.py +3 -0
- aws_cdk/aws_mediaconvert/__init__.py +3 -0
- aws_cdk/aws_medialive/__init__.py +3 -0
- aws_cdk/aws_mediapackage/__init__.py +3 -0
- aws_cdk/aws_mediapackagev2/__init__.py +3 -0
- aws_cdk/aws_mediastore/__init__.py +3 -0
- aws_cdk/aws_mediatailor/__init__.py +3 -0
- aws_cdk/aws_memorydb/__init__.py +3 -0
- aws_cdk/aws_msk/__init__.py +91 -0
- aws_cdk/aws_mwaa/__init__.py +3 -0
- aws_cdk/aws_neptune/__init__.py +3 -0
- aws_cdk/aws_neptunegraph/__init__.py +3 -0
- aws_cdk/aws_networkfirewall/__init__.py +3 -0
- aws_cdk/aws_networkmanager/__init__.py +3 -0
- aws_cdk/aws_nimblestudio/__init__.py +3 -0
- aws_cdk/aws_oam/__init__.py +6 -3
- aws_cdk/aws_omics/__init__.py +3 -0
- aws_cdk/aws_opensearchserverless/__init__.py +3 -0
- aws_cdk/aws_opensearchservice/__init__.py +26 -18
- aws_cdk/aws_opsworks/__init__.py +3 -0
- aws_cdk/aws_opsworkscm/__init__.py +3 -0
- aws_cdk/aws_organizations/__init__.py +3 -0
- aws_cdk/aws_osis/__init__.py +3 -0
- aws_cdk/aws_panorama/__init__.py +3 -0
- aws_cdk/aws_pcaconnectorad/__init__.py +3 -0
- aws_cdk/aws_personalize/__init__.py +3 -0
- aws_cdk/aws_pinpoint/__init__.py +45 -0
- aws_cdk/aws_pinpointemail/__init__.py +3 -0
- aws_cdk/aws_pipes/__init__.py +3 -0
- aws_cdk/aws_proton/__init__.py +3 -0
- aws_cdk/aws_qldb/__init__.py +3 -0
- aws_cdk/aws_quicksight/__init__.py +3 -0
- aws_cdk/aws_ram/__init__.py +3 -0
- aws_cdk/aws_rds/__init__.py +150 -27
- aws_cdk/aws_redshift/__init__.py +3 -0
- aws_cdk/aws_redshiftserverless/__init__.py +3 -0
- aws_cdk/aws_refactorspaces/__init__.py +3 -0
- aws_cdk/aws_rekognition/__init__.py +3 -0
- aws_cdk/aws_resiliencehub/__init__.py +3 -0
- aws_cdk/aws_resourceexplorer2/__init__.py +3 -0
- aws_cdk/aws_resourcegroups/__init__.py +3 -0
- aws_cdk/aws_robomaker/__init__.py +3 -0
- aws_cdk/aws_rolesanywhere/__init__.py +3 -0
- aws_cdk/aws_route53/__init__.py +52 -0
- aws_cdk/aws_route53_patterns/__init__.py +3 -0
- aws_cdk/aws_route53_targets/__init__.py +3 -0
- aws_cdk/aws_route53recoverycontrol/__init__.py +3 -0
- aws_cdk/aws_route53recoveryreadiness/__init__.py +3 -0
- aws_cdk/aws_route53resolver/__init__.py +3 -0
- aws_cdk/aws_rum/__init__.py +3 -0
- aws_cdk/aws_s3/__init__.py +3 -0
- aws_cdk/aws_s3_assets/__init__.py +3 -0
- aws_cdk/aws_s3_deployment/__init__.py +3 -0
- aws_cdk/aws_s3_notifications/__init__.py +3 -0
- aws_cdk/aws_s3express/__init__.py +3 -0
- aws_cdk/aws_s3objectlambda/__init__.py +3 -0
- aws_cdk/aws_s3outposts/__init__.py +3 -0
- aws_cdk/aws_sagemaker/__init__.py +5 -2
- aws_cdk/aws_sam/__init__.py +3 -0
- aws_cdk/aws_scheduler/__init__.py +3 -0
- aws_cdk/aws_sdb/__init__.py +3 -0
- aws_cdk/aws_secretsmanager/__init__.py +3 -0
- aws_cdk/aws_securityhub/__init__.py +59 -14
- aws_cdk/aws_securitylake/__init__.py +859 -0
- aws_cdk/aws_servicecatalog/__init__.py +3 -0
- aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -0
- aws_cdk/aws_servicediscovery/__init__.py +3 -0
- aws_cdk/aws_ses/__init__.py +3 -0
- aws_cdk/aws_ses_actions/__init__.py +3 -0
- aws_cdk/aws_shield/__init__.py +3 -0
- aws_cdk/aws_signer/__init__.py +3 -0
- aws_cdk/aws_simspaceweaver/__init__.py +3 -0
- aws_cdk/aws_sns/__init__.py +48 -13
- aws_cdk/aws_sns_subscriptions/__init__.py +3 -0
- aws_cdk/aws_sqs/__init__.py +3 -0
- aws_cdk/aws_ssm/__init__.py +6 -3
- aws_cdk/aws_ssmcontacts/__init__.py +3 -0
- aws_cdk/aws_ssmincidents/__init__.py +3 -0
- aws_cdk/aws_sso/__init__.py +3 -0
- aws_cdk/aws_stepfunctions/__init__.py +3 -0
- aws_cdk/aws_stepfunctions_tasks/__init__.py +26 -0
- aws_cdk/aws_supportapp/__init__.py +3 -0
- aws_cdk/aws_synthetics/__init__.py +77 -14
- aws_cdk/aws_systemsmanagersap/__init__.py +3 -0
- aws_cdk/aws_timestream/__init__.py +3 -0
- aws_cdk/aws_transfer/__init__.py +7 -3
- aws_cdk/aws_verifiedpermissions/__init__.py +3 -0
- aws_cdk/aws_voiceid/__init__.py +3 -0
- aws_cdk/aws_vpclattice/__init__.py +3 -0
- aws_cdk/aws_waf/__init__.py +3 -0
- aws_cdk/aws_wafregional/__init__.py +3 -0
- aws_cdk/aws_wafv2/__init__.py +99 -46
- aws_cdk/aws_wisdom/__init__.py +3 -0
- aws_cdk/aws_workspaces/__init__.py +3 -0
- aws_cdk/aws_workspacesthinclient/__init__.py +3 -0
- aws_cdk/aws_workspacesweb/__init__.py +3 -0
- aws_cdk/aws_xray/__init__.py +3 -0
- aws_cdk/cloud_assembly_schema/__init__.py +3 -0
- aws_cdk/cloudformation_include/__init__.py +3 -0
- aws_cdk/custom_resources/__init__.py +7 -4
- aws_cdk/cx_api/__init__.py +20 -0
- aws_cdk/lambda_layer_awscli/__init__.py +3 -0
- aws_cdk/lambda_layer_kubectl/__init__.py +3 -0
- aws_cdk/lambda_layer_node_proxy_agent/__init__.py +3 -0
- aws_cdk/pipelines/__init__.py +3 -0
- aws_cdk/region_info/__init__.py +3 -0
- aws_cdk/triggers/__init__.py +3 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/METADATA +2 -2
- aws_cdk_lib-2.135.0.dist-info/RECORD +282 -0
- aws_cdk_lib-2.133.0.dist-info/RECORD +0 -281
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_dynamodb/__init__.py
CHANGED
|
@@ -861,6 +861,9 @@ dynamodb.Table(stack, "Table",
|
|
|
861
861
|
)
|
|
862
862
|
```
|
|
863
863
|
'''
|
|
864
|
+
from pkgutil import extend_path
|
|
865
|
+
__path__ = extend_path(__path__, __name__)
|
|
866
|
+
|
|
864
867
|
import abc
|
|
865
868
|
import builtins
|
|
866
869
|
import datetime
|
|
@@ -1372,6 +1375,8 @@ class CfnGlobalTable(
|
|
|
1372
1375
|
# The values are placeholders you should change.
|
|
1373
1376
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
1374
1377
|
|
|
1378
|
+
# policy_document: Any
|
|
1379
|
+
|
|
1375
1380
|
cfn_global_table = dynamodb.CfnGlobalTable(self, "MyCfnGlobalTable",
|
|
1376
1381
|
attribute_definitions=[dynamodb.CfnGlobalTable.AttributeDefinitionProperty(
|
|
1377
1382
|
attribute_name="attributeName",
|
|
@@ -1442,6 +1447,14 @@ class CfnGlobalTable(
|
|
|
1442
1447
|
),
|
|
1443
1448
|
read_capacity_units=123
|
|
1444
1449
|
),
|
|
1450
|
+
replica_stream_specification=dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
|
|
1451
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
1452
|
+
policy_document=policy_document
|
|
1453
|
+
)
|
|
1454
|
+
),
|
|
1455
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
1456
|
+
policy_document=policy_document
|
|
1457
|
+
),
|
|
1445
1458
|
sse_specification=dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty(
|
|
1446
1459
|
kms_master_key_id="kmsMasterKeyId"
|
|
1447
1460
|
),
|
|
@@ -2942,6 +2955,8 @@ class CfnGlobalTable(
|
|
|
2942
2955
|
"kinesis_stream_specification": "kinesisStreamSpecification",
|
|
2943
2956
|
"point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
|
|
2944
2957
|
"read_provisioned_throughput_settings": "readProvisionedThroughputSettings",
|
|
2958
|
+
"replica_stream_specification": "replicaStreamSpecification",
|
|
2959
|
+
"resource_policy": "resourcePolicy",
|
|
2945
2960
|
"sse_specification": "sseSpecification",
|
|
2946
2961
|
"table_class": "tableClass",
|
|
2947
2962
|
"tags": "tags",
|
|
@@ -2958,6 +2973,8 @@ class CfnGlobalTable(
|
|
|
2958
2973
|
kinesis_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.KinesisStreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2959
2974
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.PointInTimeRecoverySpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2960
2975
|
read_provisioned_throughput_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReadProvisionedThroughputSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2976
|
+
replica_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReplicaStreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2977
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2961
2978
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReplicaSSESpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2962
2979
|
table_class: typing.Optional[builtins.str] = None,
|
|
2963
2980
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -2971,6 +2988,8 @@ class CfnGlobalTable(
|
|
|
2971
2988
|
:param kinesis_stream_specification: Defines the Kinesis Data Streams configuration for the specified replica.
|
|
2972
2989
|
: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
2990
|
:param read_provisioned_throughput_settings: Defines read capacity settings for the replica table.
|
|
2991
|
+
:param replica_stream_specification: Represents the DynamoDB Streams configuration for a global table replica.
|
|
2992
|
+
: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
2993
|
: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
2994
|
:param table_class: The table class of the specified table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
2976
2995
|
: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 +3003,8 @@ class CfnGlobalTable(
|
|
|
2984
3003
|
# The values are placeholders you should change.
|
|
2985
3004
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
2986
3005
|
|
|
3006
|
+
# policy_document: Any
|
|
3007
|
+
|
|
2987
3008
|
replica_specification_property = dynamodb.CfnGlobalTable.ReplicaSpecificationProperty(
|
|
2988
3009
|
region="region",
|
|
2989
3010
|
|
|
@@ -3045,6 +3066,14 @@ class CfnGlobalTable(
|
|
|
3045
3066
|
),
|
|
3046
3067
|
read_capacity_units=123
|
|
3047
3068
|
),
|
|
3069
|
+
replica_stream_specification=dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
|
|
3070
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3071
|
+
policy_document=policy_document
|
|
3072
|
+
)
|
|
3073
|
+
),
|
|
3074
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3075
|
+
policy_document=policy_document
|
|
3076
|
+
),
|
|
3048
3077
|
sse_specification=dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty(
|
|
3049
3078
|
kms_master_key_id="kmsMasterKeyId"
|
|
3050
3079
|
),
|
|
@@ -3064,6 +3093,8 @@ class CfnGlobalTable(
|
|
|
3064
3093
|
check_type(argname="argument kinesis_stream_specification", value=kinesis_stream_specification, expected_type=type_hints["kinesis_stream_specification"])
|
|
3065
3094
|
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
3095
|
check_type(argname="argument read_provisioned_throughput_settings", value=read_provisioned_throughput_settings, expected_type=type_hints["read_provisioned_throughput_settings"])
|
|
3096
|
+
check_type(argname="argument replica_stream_specification", value=replica_stream_specification, expected_type=type_hints["replica_stream_specification"])
|
|
3097
|
+
check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
|
|
3067
3098
|
check_type(argname="argument sse_specification", value=sse_specification, expected_type=type_hints["sse_specification"])
|
|
3068
3099
|
check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
|
|
3069
3100
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
@@ -3082,6 +3113,10 @@ class CfnGlobalTable(
|
|
|
3082
3113
|
self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
|
|
3083
3114
|
if read_provisioned_throughput_settings is not None:
|
|
3084
3115
|
self._values["read_provisioned_throughput_settings"] = read_provisioned_throughput_settings
|
|
3116
|
+
if replica_stream_specification is not None:
|
|
3117
|
+
self._values["replica_stream_specification"] = replica_stream_specification
|
|
3118
|
+
if resource_policy is not None:
|
|
3119
|
+
self._values["resource_policy"] = resource_policy
|
|
3085
3120
|
if sse_specification is not None:
|
|
3086
3121
|
self._values["sse_specification"] = sse_specification
|
|
3087
3122
|
if table_class is not None:
|
|
@@ -3171,6 +3206,32 @@ class CfnGlobalTable(
|
|
|
3171
3206
|
result = self._values.get("read_provisioned_throughput_settings")
|
|
3172
3207
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReadProvisionedThroughputSettingsProperty"]], result)
|
|
3173
3208
|
|
|
3209
|
+
@builtins.property
|
|
3210
|
+
def replica_stream_specification(
|
|
3211
|
+
self,
|
|
3212
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReplicaStreamSpecificationProperty"]]:
|
|
3213
|
+
'''Represents the DynamoDB Streams configuration for a global table replica.
|
|
3214
|
+
|
|
3215
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-replicastreamspecification
|
|
3216
|
+
'''
|
|
3217
|
+
result = self._values.get("replica_stream_specification")
|
|
3218
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReplicaStreamSpecificationProperty"]], result)
|
|
3219
|
+
|
|
3220
|
+
@builtins.property
|
|
3221
|
+
def resource_policy(
|
|
3222
|
+
self,
|
|
3223
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"]]:
|
|
3224
|
+
'''A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table.
|
|
3225
|
+
|
|
3226
|
+
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.
|
|
3227
|
+
|
|
3228
|
+
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>`_ .
|
|
3229
|
+
|
|
3230
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-resourcepolicy
|
|
3231
|
+
'''
|
|
3232
|
+
result = self._values.get("resource_policy")
|
|
3233
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"]], result)
|
|
3234
|
+
|
|
3174
3235
|
@builtins.property
|
|
3175
3236
|
def sse_specification(
|
|
3176
3237
|
self,
|
|
@@ -3217,6 +3278,149 @@ class CfnGlobalTable(
|
|
|
3217
3278
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
3218
3279
|
)
|
|
3219
3280
|
|
|
3281
|
+
@jsii.data_type(
|
|
3282
|
+
jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty",
|
|
3283
|
+
jsii_struct_bases=[],
|
|
3284
|
+
name_mapping={"resource_policy": "resourcePolicy"},
|
|
3285
|
+
)
|
|
3286
|
+
class ReplicaStreamSpecificationProperty:
|
|
3287
|
+
def __init__(
|
|
3288
|
+
self,
|
|
3289
|
+
*,
|
|
3290
|
+
resource_policy: typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
3291
|
+
) -> None:
|
|
3292
|
+
'''Represents the DynamoDB Streams configuration for a global table replica.
|
|
3293
|
+
|
|
3294
|
+
: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.
|
|
3295
|
+
|
|
3296
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicastreamspecification.html
|
|
3297
|
+
:exampleMetadata: fixture=_generated
|
|
3298
|
+
|
|
3299
|
+
Example::
|
|
3300
|
+
|
|
3301
|
+
# The code below shows an example of how to instantiate this type.
|
|
3302
|
+
# The values are placeholders you should change.
|
|
3303
|
+
from aws_cdk import aws_dynamodb as dynamodb
|
|
3304
|
+
|
|
3305
|
+
# policy_document: Any
|
|
3306
|
+
|
|
3307
|
+
replica_stream_specification_property = dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
|
|
3308
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3309
|
+
policy_document=policy_document
|
|
3310
|
+
)
|
|
3311
|
+
)
|
|
3312
|
+
'''
|
|
3313
|
+
if __debug__:
|
|
3314
|
+
type_hints = typing.get_type_hints(_typecheckingstub__00848a241dcb74d0918fbddda5f7ccf1c445a7b63583f8697e2d95d334aa1bed)
|
|
3315
|
+
check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
|
|
3316
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3317
|
+
"resource_policy": resource_policy,
|
|
3318
|
+
}
|
|
3319
|
+
|
|
3320
|
+
@builtins.property
|
|
3321
|
+
def resource_policy(
|
|
3322
|
+
self,
|
|
3323
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"]:
|
|
3324
|
+
'''A resource-based policy document that contains the permissions for the specified stream of a DynamoDB global table replica.
|
|
3325
|
+
|
|
3326
|
+
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.
|
|
3327
|
+
|
|
3328
|
+
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>`_ .
|
|
3329
|
+
|
|
3330
|
+
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.
|
|
3331
|
+
|
|
3332
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicastreamspecification.html#cfn-dynamodb-globaltable-replicastreamspecification-resourcepolicy
|
|
3333
|
+
'''
|
|
3334
|
+
result = self._values.get("resource_policy")
|
|
3335
|
+
assert result is not None, "Required property 'resource_policy' is missing"
|
|
3336
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"], result)
|
|
3337
|
+
|
|
3338
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3339
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3340
|
+
|
|
3341
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3342
|
+
return not (rhs == self)
|
|
3343
|
+
|
|
3344
|
+
def __repr__(self) -> str:
|
|
3345
|
+
return "ReplicaStreamSpecificationProperty(%s)" % ", ".join(
|
|
3346
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3347
|
+
)
|
|
3348
|
+
|
|
3349
|
+
@jsii.data_type(
|
|
3350
|
+
jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.ResourcePolicyProperty",
|
|
3351
|
+
jsii_struct_bases=[],
|
|
3352
|
+
name_mapping={"policy_document": "policyDocument"},
|
|
3353
|
+
)
|
|
3354
|
+
class ResourcePolicyProperty:
|
|
3355
|
+
def __init__(self, *, policy_document: typing.Any) -> None:
|
|
3356
|
+
'''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table, its indexes, and stream.
|
|
3357
|
+
|
|
3358
|
+
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.
|
|
3359
|
+
|
|
3360
|
+
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>`_ .
|
|
3361
|
+
|
|
3362
|
+
While defining resource-based policies in your CloudFormation templates, the following considerations apply:
|
|
3363
|
+
|
|
3364
|
+
- 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.
|
|
3365
|
+
- 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.
|
|
3366
|
+
- 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.
|
|
3367
|
+
|
|
3368
|
+
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.
|
|
3369
|
+
|
|
3370
|
+
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.
|
|
3371
|
+
|
|
3372
|
+
- 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.
|
|
3373
|
+
- 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.
|
|
3374
|
+
|
|
3375
|
+
For a full list of all considerations, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
|
|
3376
|
+
|
|
3377
|
+
: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>`_ .
|
|
3378
|
+
|
|
3379
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-resourcepolicy.html
|
|
3380
|
+
:exampleMetadata: fixture=_generated
|
|
3381
|
+
|
|
3382
|
+
Example::
|
|
3383
|
+
|
|
3384
|
+
# The code below shows an example of how to instantiate this type.
|
|
3385
|
+
# The values are placeholders you should change.
|
|
3386
|
+
from aws_cdk import aws_dynamodb as dynamodb
|
|
3387
|
+
|
|
3388
|
+
# policy_document: Any
|
|
3389
|
+
|
|
3390
|
+
resource_policy_property = dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3391
|
+
policy_document=policy_document
|
|
3392
|
+
)
|
|
3393
|
+
'''
|
|
3394
|
+
if __debug__:
|
|
3395
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6007e745281a1817381b3cb8f148da677e9fde77893fbd60db054cb3b85f34db)
|
|
3396
|
+
check_type(argname="argument policy_document", value=policy_document, expected_type=type_hints["policy_document"])
|
|
3397
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3398
|
+
"policy_document": policy_document,
|
|
3399
|
+
}
|
|
3400
|
+
|
|
3401
|
+
@builtins.property
|
|
3402
|
+
def policy_document(self) -> typing.Any:
|
|
3403
|
+
'''A resource-based policy document that contains permissions to add to the specified DynamoDB table, its indexes, and stream.
|
|
3404
|
+
|
|
3405
|
+
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>`_ .
|
|
3406
|
+
|
|
3407
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-resourcepolicy.html#cfn-dynamodb-globaltable-resourcepolicy-policydocument
|
|
3408
|
+
'''
|
|
3409
|
+
result = self._values.get("policy_document")
|
|
3410
|
+
assert result is not None, "Required property 'policy_document' is missing"
|
|
3411
|
+
return typing.cast(typing.Any, result)
|
|
3412
|
+
|
|
3413
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3414
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3415
|
+
|
|
3416
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3417
|
+
return not (rhs == self)
|
|
3418
|
+
|
|
3419
|
+
def __repr__(self) -> str:
|
|
3420
|
+
return "ResourcePolicyProperty(%s)" % ", ".join(
|
|
3421
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3422
|
+
)
|
|
3423
|
+
|
|
3220
3424
|
@jsii.data_type(
|
|
3221
3425
|
jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.SSESpecificationProperty",
|
|
3222
3426
|
jsii_struct_bases=[],
|
|
@@ -3676,6 +3880,8 @@ class CfnGlobalTableProps:
|
|
|
3676
3880
|
# The values are placeholders you should change.
|
|
3677
3881
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
3678
3882
|
|
|
3883
|
+
# policy_document: Any
|
|
3884
|
+
|
|
3679
3885
|
cfn_global_table_props = dynamodb.CfnGlobalTableProps(
|
|
3680
3886
|
attribute_definitions=[dynamodb.CfnGlobalTable.AttributeDefinitionProperty(
|
|
3681
3887
|
attribute_name="attributeName",
|
|
@@ -3746,6 +3952,14 @@ class CfnGlobalTableProps:
|
|
|
3746
3952
|
),
|
|
3747
3953
|
read_capacity_units=123
|
|
3748
3954
|
),
|
|
3955
|
+
replica_stream_specification=dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
|
|
3956
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3957
|
+
policy_document=policy_document
|
|
3958
|
+
)
|
|
3959
|
+
),
|
|
3960
|
+
resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
|
|
3961
|
+
policy_document=policy_document
|
|
3962
|
+
),
|
|
3749
3963
|
sse_specification=dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty(
|
|
3750
3964
|
kms_master_key_id="kmsMasterKeyId"
|
|
3751
3965
|
),
|
|
@@ -4062,6 +4276,8 @@ class CfnTable(
|
|
|
4062
4276
|
# The values are placeholders you should change.
|
|
4063
4277
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
4064
4278
|
|
|
4279
|
+
# policy_document: Any
|
|
4280
|
+
|
|
4065
4281
|
cfn_table = dynamodb.CfnTable(self, "MyCfnTable",
|
|
4066
4282
|
key_schema=[dynamodb.CfnTable.KeySchemaProperty(
|
|
4067
4283
|
attribute_name="attributeName",
|
|
@@ -4141,6 +4357,9 @@ class CfnTable(
|
|
|
4141
4357
|
read_capacity_units=123,
|
|
4142
4358
|
write_capacity_units=123
|
|
4143
4359
|
),
|
|
4360
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
4361
|
+
policy_document=policy_document
|
|
4362
|
+
),
|
|
4144
4363
|
sse_specification=dynamodb.CfnTable.SSESpecificationProperty(
|
|
4145
4364
|
sse_enabled=False,
|
|
4146
4365
|
|
|
@@ -4149,7 +4368,12 @@ class CfnTable(
|
|
|
4149
4368
|
sse_type="sseType"
|
|
4150
4369
|
),
|
|
4151
4370
|
stream_specification=dynamodb.CfnTable.StreamSpecificationProperty(
|
|
4152
|
-
stream_view_type="streamViewType"
|
|
4371
|
+
stream_view_type="streamViewType",
|
|
4372
|
+
|
|
4373
|
+
# the properties below are optional
|
|
4374
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
4375
|
+
policy_document=policy_document
|
|
4376
|
+
)
|
|
4153
4377
|
),
|
|
4154
4378
|
table_class="tableClass",
|
|
4155
4379
|
table_name="tableName",
|
|
@@ -4182,6 +4406,7 @@ class CfnTable(
|
|
|
4182
4406
|
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
4407
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.PointInTimeRecoverySpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4184
4408
|
provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ProvisionedThroughputProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4409
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4185
4410
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.SSESpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4186
4411
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.StreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4187
4412
|
table_class: typing.Optional[builtins.str] = None,
|
|
@@ -4203,6 +4428,7 @@ class CfnTable(
|
|
|
4203
4428
|
: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
4429
|
:param point_in_time_recovery_specification: The settings used to enable point in time recovery.
|
|
4205
4430
|
: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.
|
|
4431
|
+
: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
4432
|
:param sse_specification: Specifies the settings to enable server-side encryption.
|
|
4207
4433
|
:param stream_specification: The settings for the DynamoDB table stream, which capture changes to items stored in the table.
|
|
4208
4434
|
:param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
@@ -4226,6 +4452,7 @@ class CfnTable(
|
|
|
4226
4452
|
local_secondary_indexes=local_secondary_indexes,
|
|
4227
4453
|
point_in_time_recovery_specification=point_in_time_recovery_specification,
|
|
4228
4454
|
provisioned_throughput=provisioned_throughput,
|
|
4455
|
+
resource_policy=resource_policy,
|
|
4229
4456
|
sse_specification=sse_specification,
|
|
4230
4457
|
stream_specification=stream_specification,
|
|
4231
4458
|
table_class=table_class,
|
|
@@ -4495,6 +4722,24 @@ class CfnTable(
|
|
|
4495
4722
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4496
4723
|
jsii.set(self, "provisionedThroughput", value)
|
|
4497
4724
|
|
|
4725
|
+
@builtins.property
|
|
4726
|
+
@jsii.member(jsii_name="resourcePolicy")
|
|
4727
|
+
def resource_policy(
|
|
4728
|
+
self,
|
|
4729
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]]:
|
|
4730
|
+
'''A resource-based policy document that contains permissions to add to the specified table.'''
|
|
4731
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]], jsii.get(self, "resourcePolicy"))
|
|
4732
|
+
|
|
4733
|
+
@resource_policy.setter
|
|
4734
|
+
def resource_policy(
|
|
4735
|
+
self,
|
|
4736
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]],
|
|
4737
|
+
) -> None:
|
|
4738
|
+
if __debug__:
|
|
4739
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4166d9b0a925b24598927de15ecb1935d22d14f9a49469ba893db8d18421bf02)
|
|
4740
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4741
|
+
jsii.set(self, "resourcePolicy", value)
|
|
4742
|
+
|
|
4498
4743
|
@builtins.property
|
|
4499
4744
|
@jsii.member(jsii_name="sseSpecification")
|
|
4500
4745
|
def sse_specification(
|
|
@@ -5640,6 +5885,78 @@ class CfnTable(
|
|
|
5640
5885
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
5641
5886
|
)
|
|
5642
5887
|
|
|
5888
|
+
@jsii.data_type(
|
|
5889
|
+
jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.ResourcePolicyProperty",
|
|
5890
|
+
jsii_struct_bases=[],
|
|
5891
|
+
name_mapping={"policy_document": "policyDocument"},
|
|
5892
|
+
)
|
|
5893
|
+
class ResourcePolicyProperty:
|
|
5894
|
+
def __init__(self, *, policy_document: typing.Any) -> None:
|
|
5895
|
+
'''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table, its indexes, and stream.
|
|
5896
|
+
|
|
5897
|
+
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.
|
|
5898
|
+
|
|
5899
|
+
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>`_ .
|
|
5900
|
+
|
|
5901
|
+
While defining resource-based policies in your CloudFormation templates, the following considerations apply:
|
|
5902
|
+
|
|
5903
|
+
- 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.
|
|
5904
|
+
- 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.
|
|
5905
|
+
- 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.
|
|
5906
|
+
|
|
5907
|
+
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.
|
|
5908
|
+
|
|
5909
|
+
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.
|
|
5910
|
+
|
|
5911
|
+
For a full list of all considerations, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
|
|
5912
|
+
|
|
5913
|
+
: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>`_ .
|
|
5914
|
+
|
|
5915
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html
|
|
5916
|
+
:exampleMetadata: fixture=_generated
|
|
5917
|
+
|
|
5918
|
+
Example::
|
|
5919
|
+
|
|
5920
|
+
# The code below shows an example of how to instantiate this type.
|
|
5921
|
+
# The values are placeholders you should change.
|
|
5922
|
+
from aws_cdk import aws_dynamodb as dynamodb
|
|
5923
|
+
|
|
5924
|
+
# policy_document: Any
|
|
5925
|
+
|
|
5926
|
+
resource_policy_property = dynamodb.CfnTable.ResourcePolicyProperty(
|
|
5927
|
+
policy_document=policy_document
|
|
5928
|
+
)
|
|
5929
|
+
'''
|
|
5930
|
+
if __debug__:
|
|
5931
|
+
type_hints = typing.get_type_hints(_typecheckingstub__64c1cb1f4d183fca5b703f524bc57bfa5f9515fd97acd86171b92226b4e11ca3)
|
|
5932
|
+
check_type(argname="argument policy_document", value=policy_document, expected_type=type_hints["policy_document"])
|
|
5933
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
5934
|
+
"policy_document": policy_document,
|
|
5935
|
+
}
|
|
5936
|
+
|
|
5937
|
+
@builtins.property
|
|
5938
|
+
def policy_document(self) -> typing.Any:
|
|
5939
|
+
'''A resource-based policy document that contains permissions to add to the specified DynamoDB table, index, or both.
|
|
5940
|
+
|
|
5941
|
+
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>`_ .
|
|
5942
|
+
|
|
5943
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html#cfn-dynamodb-table-resourcepolicy-policydocument
|
|
5944
|
+
'''
|
|
5945
|
+
result = self._values.get("policy_document")
|
|
5946
|
+
assert result is not None, "Required property 'policy_document' is missing"
|
|
5947
|
+
return typing.cast(typing.Any, result)
|
|
5948
|
+
|
|
5949
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5950
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5951
|
+
|
|
5952
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
5953
|
+
return not (rhs == self)
|
|
5954
|
+
|
|
5955
|
+
def __repr__(self) -> str:
|
|
5956
|
+
return "ResourcePolicyProperty(%s)" % ", ".join(
|
|
5957
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
5958
|
+
)
|
|
5959
|
+
|
|
5643
5960
|
@jsii.data_type(
|
|
5644
5961
|
jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.S3BucketSourceProperty",
|
|
5645
5962
|
jsii_struct_bases=[],
|
|
@@ -5835,13 +6152,22 @@ class CfnTable(
|
|
|
5835
6152
|
@jsii.data_type(
|
|
5836
6153
|
jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.StreamSpecificationProperty",
|
|
5837
6154
|
jsii_struct_bases=[],
|
|
5838
|
-
name_mapping={
|
|
6155
|
+
name_mapping={
|
|
6156
|
+
"stream_view_type": "streamViewType",
|
|
6157
|
+
"resource_policy": "resourcePolicy",
|
|
6158
|
+
},
|
|
5839
6159
|
)
|
|
5840
6160
|
class StreamSpecificationProperty:
|
|
5841
|
-
def __init__(
|
|
6161
|
+
def __init__(
|
|
6162
|
+
self,
|
|
6163
|
+
*,
|
|
6164
|
+
stream_view_type: builtins.str,
|
|
6165
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6166
|
+
) -> None:
|
|
5842
6167
|
'''Represents the DynamoDB Streams configuration for a table in DynamoDB.
|
|
5843
6168
|
|
|
5844
6169
|
: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.
|
|
6170
|
+
: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
6171
|
|
|
5846
6172
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html
|
|
5847
6173
|
:exampleMetadata: fixture=_generated
|
|
@@ -5852,16 +6178,26 @@ class CfnTable(
|
|
|
5852
6178
|
# The values are placeholders you should change.
|
|
5853
6179
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
5854
6180
|
|
|
6181
|
+
# policy_document: Any
|
|
6182
|
+
|
|
5855
6183
|
stream_specification_property = dynamodb.CfnTable.StreamSpecificationProperty(
|
|
5856
|
-
stream_view_type="streamViewType"
|
|
6184
|
+
stream_view_type="streamViewType",
|
|
6185
|
+
|
|
6186
|
+
# the properties below are optional
|
|
6187
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
6188
|
+
policy_document=policy_document
|
|
6189
|
+
)
|
|
5857
6190
|
)
|
|
5858
6191
|
'''
|
|
5859
6192
|
if __debug__:
|
|
5860
6193
|
type_hints = typing.get_type_hints(_typecheckingstub__3099d6d2aee077548b7bec617449da8355169637f0983749d3191a63e00a1c72)
|
|
5861
6194
|
check_type(argname="argument stream_view_type", value=stream_view_type, expected_type=type_hints["stream_view_type"])
|
|
6195
|
+
check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
|
|
5862
6196
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
5863
6197
|
"stream_view_type": stream_view_type,
|
|
5864
6198
|
}
|
|
6199
|
+
if resource_policy is not None:
|
|
6200
|
+
self._values["resource_policy"] = resource_policy
|
|
5865
6201
|
|
|
5866
6202
|
@builtins.property
|
|
5867
6203
|
def stream_view_type(self) -> builtins.str:
|
|
@@ -5880,6 +6216,21 @@ class CfnTable(
|
|
|
5880
6216
|
assert result is not None, "Required property 'stream_view_type' is missing"
|
|
5881
6217
|
return typing.cast(builtins.str, result)
|
|
5882
6218
|
|
|
6219
|
+
@builtins.property
|
|
6220
|
+
def resource_policy(
|
|
6221
|
+
self,
|
|
6222
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]]:
|
|
6223
|
+
'''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams.
|
|
6224
|
+
|
|
6225
|
+
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.
|
|
6226
|
+
|
|
6227
|
+
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>`_ .
|
|
6228
|
+
|
|
6229
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html#cfn-dynamodb-table-streamspecification-resourcepolicy
|
|
6230
|
+
'''
|
|
6231
|
+
result = self._values.get("resource_policy")
|
|
6232
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]], result)
|
|
6233
|
+
|
|
5883
6234
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5884
6235
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5885
6236
|
|
|
@@ -5985,6 +6336,7 @@ class CfnTable(
|
|
|
5985
6336
|
"local_secondary_indexes": "localSecondaryIndexes",
|
|
5986
6337
|
"point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
|
|
5987
6338
|
"provisioned_throughput": "provisionedThroughput",
|
|
6339
|
+
"resource_policy": "resourcePolicy",
|
|
5988
6340
|
"sse_specification": "sseSpecification",
|
|
5989
6341
|
"stream_specification": "streamSpecification",
|
|
5990
6342
|
"table_class": "tableClass",
|
|
@@ -6008,6 +6360,7 @@ class CfnTableProps:
|
|
|
6008
6360
|
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
6361
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6010
6362
|
provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ProvisionedThroughputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6363
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6011
6364
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6012
6365
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6013
6366
|
table_class: typing.Optional[builtins.str] = None,
|
|
@@ -6028,6 +6381,7 @@ class CfnTableProps:
|
|
|
6028
6381
|
: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
6382
|
:param point_in_time_recovery_specification: The settings used to enable point in time recovery.
|
|
6030
6383
|
: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.
|
|
6384
|
+
: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
6385
|
:param sse_specification: Specifies the settings to enable server-side encryption.
|
|
6032
6386
|
:param stream_specification: The settings for the DynamoDB table stream, which capture changes to items stored in the table.
|
|
6033
6387
|
:param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
@@ -6044,6 +6398,8 @@ class CfnTableProps:
|
|
|
6044
6398
|
# The values are placeholders you should change.
|
|
6045
6399
|
from aws_cdk import aws_dynamodb as dynamodb
|
|
6046
6400
|
|
|
6401
|
+
# policy_document: Any
|
|
6402
|
+
|
|
6047
6403
|
cfn_table_props = dynamodb.CfnTableProps(
|
|
6048
6404
|
key_schema=[dynamodb.CfnTable.KeySchemaProperty(
|
|
6049
6405
|
attribute_name="attributeName",
|
|
@@ -6123,6 +6479,9 @@ class CfnTableProps:
|
|
|
6123
6479
|
read_capacity_units=123,
|
|
6124
6480
|
write_capacity_units=123
|
|
6125
6481
|
),
|
|
6482
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
6483
|
+
policy_document=policy_document
|
|
6484
|
+
),
|
|
6126
6485
|
sse_specification=dynamodb.CfnTable.SSESpecificationProperty(
|
|
6127
6486
|
sse_enabled=False,
|
|
6128
6487
|
|
|
@@ -6131,7 +6490,12 @@ class CfnTableProps:
|
|
|
6131
6490
|
sse_type="sseType"
|
|
6132
6491
|
),
|
|
6133
6492
|
stream_specification=dynamodb.CfnTable.StreamSpecificationProperty(
|
|
6134
|
-
stream_view_type="streamViewType"
|
|
6493
|
+
stream_view_type="streamViewType",
|
|
6494
|
+
|
|
6495
|
+
# the properties below are optional
|
|
6496
|
+
resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
|
|
6497
|
+
policy_document=policy_document
|
|
6498
|
+
)
|
|
6135
6499
|
),
|
|
6136
6500
|
table_class="tableClass",
|
|
6137
6501
|
table_name="tableName",
|
|
@@ -6160,6 +6524,7 @@ class CfnTableProps:
|
|
|
6160
6524
|
check_type(argname="argument local_secondary_indexes", value=local_secondary_indexes, expected_type=type_hints["local_secondary_indexes"])
|
|
6161
6525
|
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
6526
|
check_type(argname="argument provisioned_throughput", value=provisioned_throughput, expected_type=type_hints["provisioned_throughput"])
|
|
6527
|
+
check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
|
|
6163
6528
|
check_type(argname="argument sse_specification", value=sse_specification, expected_type=type_hints["sse_specification"])
|
|
6164
6529
|
check_type(argname="argument stream_specification", value=stream_specification, expected_type=type_hints["stream_specification"])
|
|
6165
6530
|
check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
|
|
@@ -6189,6 +6554,8 @@ class CfnTableProps:
|
|
|
6189
6554
|
self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
|
|
6190
6555
|
if provisioned_throughput is not None:
|
|
6191
6556
|
self._values["provisioned_throughput"] = provisioned_throughput
|
|
6557
|
+
if resource_policy is not None:
|
|
6558
|
+
self._values["resource_policy"] = resource_policy
|
|
6192
6559
|
if sse_specification is not None:
|
|
6193
6560
|
self._values["sse_specification"] = sse_specification
|
|
6194
6561
|
if stream_specification is not None:
|
|
@@ -6358,6 +6725,21 @@ class CfnTableProps:
|
|
|
6358
6725
|
result = self._values.get("provisioned_throughput")
|
|
6359
6726
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ProvisionedThroughputProperty]], result)
|
|
6360
6727
|
|
|
6728
|
+
@builtins.property
|
|
6729
|
+
def resource_policy(
|
|
6730
|
+
self,
|
|
6731
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]]:
|
|
6732
|
+
'''A resource-based policy document that contains permissions to add to the specified table.
|
|
6733
|
+
|
|
6734
|
+
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>`_ .
|
|
6735
|
+
|
|
6736
|
+
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>`_ .
|
|
6737
|
+
|
|
6738
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-resourcepolicy
|
|
6739
|
+
'''
|
|
6740
|
+
result = self._values.get("resource_policy")
|
|
6741
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]], result)
|
|
6742
|
+
|
|
6361
6743
|
@builtins.property
|
|
6362
6744
|
def sse_specification(
|
|
6363
6745
|
self,
|
|
@@ -13821,6 +14203,8 @@ def _typecheckingstub__912e2bc047b1f65121a39316718e5632909682a5243ef8e21ead42e3e
|
|
|
13821
14203
|
kinesis_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.KinesisStreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13822
14204
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13823
14205
|
read_provisioned_throughput_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReadProvisionedThroughputSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14206
|
+
replica_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReplicaStreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14207
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13824
14208
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReplicaSSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13825
14209
|
table_class: typing.Optional[builtins.str] = None,
|
|
13826
14210
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -13828,6 +14212,20 @@ def _typecheckingstub__912e2bc047b1f65121a39316718e5632909682a5243ef8e21ead42e3e
|
|
|
13828
14212
|
"""Type checking stubs"""
|
|
13829
14213
|
pass
|
|
13830
14214
|
|
|
14215
|
+
def _typecheckingstub__00848a241dcb74d0918fbddda5f7ccf1c445a7b63583f8697e2d95d334aa1bed(
|
|
14216
|
+
*,
|
|
14217
|
+
resource_policy: typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
14218
|
+
) -> None:
|
|
14219
|
+
"""Type checking stubs"""
|
|
14220
|
+
pass
|
|
14221
|
+
|
|
14222
|
+
def _typecheckingstub__6007e745281a1817381b3cb8f148da677e9fde77893fbd60db054cb3b85f34db(
|
|
14223
|
+
*,
|
|
14224
|
+
policy_document: typing.Any,
|
|
14225
|
+
) -> None:
|
|
14226
|
+
"""Type checking stubs"""
|
|
14227
|
+
pass
|
|
14228
|
+
|
|
13831
14229
|
def _typecheckingstub__ea2cb67b1629904043fec37c484f260e58078624f7b496fe52fc2201d365e1c8(
|
|
13832
14230
|
*,
|
|
13833
14231
|
sse_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
|
|
@@ -13900,6 +14298,7 @@ def _typecheckingstub__9c4a83992df200bfde2ccfe129994eeacab105432a2509473861feb73
|
|
|
13900
14298
|
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
14299
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13902
14300
|
provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ProvisionedThroughputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14301
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13903
14302
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13904
14303
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13905
14304
|
table_class: typing.Optional[builtins.str] = None,
|
|
@@ -13988,6 +14387,12 @@ def _typecheckingstub__6fa8ca064a9e23781245ca2f3d32d36a2324726abba76565a2e12ac5e
|
|
|
13988
14387
|
"""Type checking stubs"""
|
|
13989
14388
|
pass
|
|
13990
14389
|
|
|
14390
|
+
def _typecheckingstub__4166d9b0a925b24598927de15ecb1935d22d14f9a49469ba893db8d18421bf02(
|
|
14391
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]],
|
|
14392
|
+
) -> None:
|
|
14393
|
+
"""Type checking stubs"""
|
|
14394
|
+
pass
|
|
14395
|
+
|
|
13991
14396
|
def _typecheckingstub__bc5e50032964d91e0cf5ec36aba75b6ae325bfe6129ad9f55764353e645b28c6(
|
|
13992
14397
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SSESpecificationProperty]],
|
|
13993
14398
|
) -> None:
|
|
@@ -14123,6 +14528,13 @@ def _typecheckingstub__2c605785147b4a82f1aad9bc135fb470b73358c151d323493ae3f1cde
|
|
|
14123
14528
|
"""Type checking stubs"""
|
|
14124
14529
|
pass
|
|
14125
14530
|
|
|
14531
|
+
def _typecheckingstub__64c1cb1f4d183fca5b703f524bc57bfa5f9515fd97acd86171b92226b4e11ca3(
|
|
14532
|
+
*,
|
|
14533
|
+
policy_document: typing.Any,
|
|
14534
|
+
) -> None:
|
|
14535
|
+
"""Type checking stubs"""
|
|
14536
|
+
pass
|
|
14537
|
+
|
|
14126
14538
|
def _typecheckingstub__f675acfe91cced819ac46665a50bf155c45e71e78313e471666e0e9d708883e2(
|
|
14127
14539
|
*,
|
|
14128
14540
|
s3_bucket: builtins.str,
|
|
@@ -14144,6 +14556,7 @@ def _typecheckingstub__23b0abf52d7df3f9a3b741c39275e55783b349db0f08ac16d13c3d832
|
|
|
14144
14556
|
def _typecheckingstub__3099d6d2aee077548b7bec617449da8355169637f0983749d3191a63e00a1c72(
|
|
14145
14557
|
*,
|
|
14146
14558
|
stream_view_type: builtins.str,
|
|
14559
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14147
14560
|
) -> None:
|
|
14148
14561
|
"""Type checking stubs"""
|
|
14149
14562
|
pass
|
|
@@ -14169,6 +14582,7 @@ def _typecheckingstub__0b7f8e29621d526383ce725f2daafbe00b52cfe2381995edac86b72a6
|
|
|
14169
14582
|
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
14583
|
point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14171
14584
|
provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ProvisionedThroughputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14585
|
+
resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14172
14586
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14173
14587
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14174
14588
|
table_class: typing.Optional[builtins.str] = None,
|