aws-cdk-lib 2.204.0__py3-none-any.whl → 2.205.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 +170 -92
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.204.0.jsii.tgz → aws-cdk-lib@2.205.0.jsii.tgz} +0 -0
- aws_cdk/aws_aiops/__init__.py +89 -39
- aws_cdk/aws_applicationautoscaling/__init__.py +2 -2
- aws_cdk/aws_arczonalshift/__init__.py +4 -1
- aws_cdk/aws_b2bi/__init__.py +32 -16
- aws_cdk/aws_bedrock/__init__.py +198 -10
- aws_cdk/aws_cassandra/__init__.py +156 -0
- aws_cdk/aws_cloudformation/__init__.py +74 -72
- aws_cdk/aws_cloudfront/__init__.py +1181 -485
- aws_cdk/aws_cloudfront_origins/__init__.py +26 -21
- aws_cdk/aws_cloudwatch/__init__.py +61 -0
- aws_cdk/aws_codebuild/__init__.py +216 -36
- aws_cdk/aws_datasync/__init__.py +2 -2
- aws_cdk/aws_docdb/__init__.py +78 -0
- aws_cdk/aws_dynamodb/__init__.py +207 -35
- aws_cdk/aws_ec2/__init__.py +32 -30
- aws_cdk/aws_ecs/__init__.py +12 -19
- aws_cdk/aws_emrserverless/__init__.py +5 -5
- aws_cdk/aws_events/__init__.py +58 -3
- aws_cdk/aws_events_targets/__init__.py +7 -2
- aws_cdk/aws_evs/__init__.py +7 -7
- aws_cdk/aws_fsx/__init__.py +138 -78
- aws_cdk/aws_gamelift/__init__.py +19 -0
- aws_cdk/aws_glue/__init__.py +3 -3
- aws_cdk/aws_iot/__init__.py +1 -1
- aws_cdk/aws_kinesis/__init__.py +67 -13
- aws_cdk/aws_kinesisfirehose/__init__.py +28 -1
- aws_cdk/aws_lex/__init__.py +36 -19
- aws_cdk/aws_neptune/__init__.py +12 -12
- aws_cdk/aws_odb/__init__.py +4049 -0
- aws_cdk/aws_omics/__init__.py +1 -1
- aws_cdk/aws_qbusiness/__init__.py +471 -4
- aws_cdk/aws_quicksight/__init__.py +185 -16
- aws_cdk/aws_rds/__init__.py +169 -17
- aws_cdk/aws_redshiftserverless/__init__.py +72 -45
- aws_cdk/aws_route53/__init__.py +41 -19
- aws_cdk/aws_s3tables/__init__.py +1005 -0
- aws_cdk/aws_sagemaker/__init__.py +20 -0
- aws_cdk/aws_synthetics/__init__.py +141 -37
- aws_cdk/aws_transfer/__init__.py +23 -1
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/RECORD +48 -47
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_dynamodb/__init__.py
CHANGED
|
@@ -1452,45 +1452,46 @@ class CfnGlobalTable(
|
|
|
1452
1452
|
You should be aware of the following behaviors when working with DynamoDB global tables.
|
|
1453
1453
|
|
|
1454
1454
|
- The IAM Principal executing the stack operation must have the permissions listed below in all regions where you plan to have a global table replica. The IAM Principal's permissions should not have restrictions based on IP source address. Some global tables operations (for example, adding a replica) are asynchronous, and require that the IAM Principal is valid until they complete. You should not delete the Principal (user or IAM role) until CloudFormation has finished updating your stack.
|
|
1455
|
+
- ``application-autoscaling:DeleteScalingPolicy``
|
|
1456
|
+
- ``application-autoscaling:DeleteScheduledAction``
|
|
1457
|
+
- ``application-autoscaling:DeregisterScalableTarget``
|
|
1458
|
+
- ``application-autoscaling:DescribeScalableTargets``
|
|
1459
|
+
- ``application-autoscaling:DescribeScalingPolicies``
|
|
1460
|
+
- ``application-autoscaling:PutScalingPolicy``
|
|
1461
|
+
- ``application-autoscaling:PutScheduledAction``
|
|
1462
|
+
- ``application-autoscaling:RegisterScalableTarget``
|
|
1463
|
+
- ``dynamodb:BatchWriteItem``
|
|
1464
|
+
- ``dynamodb:CreateGlobalTableWitness``
|
|
1455
1465
|
- ``dynamodb:CreateTable``
|
|
1456
|
-
- ``dynamodb:
|
|
1466
|
+
- ``dynamodb:CreateTableReplica``
|
|
1467
|
+
- ``dynamodb:DeleteGlobalTableWitness``
|
|
1468
|
+
- ``dynamodb:DeleteItem``
|
|
1457
1469
|
- ``dynamodb:DeleteTable``
|
|
1470
|
+
- ``dynamodb:DeleteTableReplica``
|
|
1458
1471
|
- ``dynamodb:DescribeContinuousBackups``
|
|
1459
1472
|
- ``dynamodb:DescribeContributorInsights``
|
|
1460
1473
|
- ``dynamodb:DescribeTable``
|
|
1461
1474
|
- ``dynamodb:DescribeTableReplicaAutoScaling``
|
|
1462
1475
|
- ``dynamodb:DescribeTimeToLive``
|
|
1463
|
-
- ``dynamodb:ListTables``
|
|
1464
|
-
- ``dynamodb:UpdateTimeToLive``
|
|
1465
|
-
- ``dynamodb:UpdateContributorInsights``
|
|
1466
|
-
- ``dynamodb:UpdateContinuousBackups``
|
|
1467
|
-
- ``dynamodb:ListTagsOfResource``
|
|
1468
|
-
- ``dynamodb:TagResource``
|
|
1469
|
-
- ``dynamodb:UntagResource``
|
|
1470
|
-
- ``dynamodb:BatchWriteItem``
|
|
1471
|
-
- ``dynamodb:CreateTableReplica``
|
|
1472
|
-
- ``dynamodb:DeleteItem``
|
|
1473
|
-
- ``dynamodb:DeleteTableReplica``
|
|
1474
1476
|
- ``dynamodb:DisableKinesisStreamingDestination``
|
|
1475
1477
|
- ``dynamodb:EnableKinesisStreamingDestination``
|
|
1476
1478
|
- ``dynamodb:GetItem``
|
|
1479
|
+
- ``dynamodb:ListTables``
|
|
1480
|
+
- ``dynamodb:ListTagsOfResource``
|
|
1477
1481
|
- ``dynamodb:PutItem``
|
|
1478
1482
|
- ``dynamodb:Query``
|
|
1479
1483
|
- ``dynamodb:Scan``
|
|
1484
|
+
- ``dynamodb:TagResource``
|
|
1485
|
+
- ``dynamodb:UntagResource``
|
|
1486
|
+
- ``dynamodb:UpdateContinuousBackups``
|
|
1487
|
+
- ``dynamodb:UpdateContributorInsights``
|
|
1480
1488
|
- ``dynamodb:UpdateItem``
|
|
1481
|
-
- ``dynamodb:
|
|
1489
|
+
- ``dynamodb:UpdateTable``
|
|
1482
1490
|
- ``dynamodb:UpdateTableReplicaAutoScaling``
|
|
1491
|
+
- ``dynamodb:UpdateTimeToLive``
|
|
1483
1492
|
- ``iam:CreateServiceLinkedRole``
|
|
1484
1493
|
- ``kms:CreateGrant``
|
|
1485
1494
|
- ``kms:DescribeKey``
|
|
1486
|
-
- ``application-autoscaling:DeleteScalingPolicy``
|
|
1487
|
-
- ``application-autoscaling:DeleteScheduledAction``
|
|
1488
|
-
- ``application-autoscaling:DeregisterScalableTarget``
|
|
1489
|
-
- ``application-autoscaling:DescribeScalingPolicies``
|
|
1490
|
-
- ``application-autoscaling:DescribeScalableTargets``
|
|
1491
|
-
- ``application-autoscaling:PutScalingPolicy``
|
|
1492
|
-
- ``application-autoscaling:PutScheduledAction``
|
|
1493
|
-
- ``application-autoscaling:RegisterScalableTarget``
|
|
1494
1495
|
- When using provisioned billing mode, CloudFormation will create an auto scaling policy on each of your replicas to control their write capacities. You must configure this policy using the ``WriteProvisionedThroughputSettings`` property. CloudFormation will ensure that all replicas have the same write capacity auto scaling property. You cannot directly specify a value for write capacity for a global table.
|
|
1495
1496
|
- If your table uses provisioned capacity, you must configure auto scaling directly in the ``AWS::DynamoDB::GlobalTable`` resource. You should not configure additional auto scaling policies on any of the table replicas or global secondary indexes, either via API or via ``AWS::ApplicationAutoScaling::ScalableTarget`` or ``AWS::ApplicationAutoScaling::ScalingPolicy`` . Doing so might result in unexpected behavior and is unsupported.
|
|
1496
1497
|
- In AWS CloudFormation , each global table is controlled by a single stack, in a single region, regardless of the number of replicas. When you deploy your template, CloudFormation will create/update all replicas as part of a single stack operation. You should not deploy the same ``AWS::DynamoDB::GlobalTable`` resource in multiple regions. Doing so will result in errors, and is unsupported. If you deploy your application template in multiple regions, you can use conditions to only create the resource in a single region. Alternatively, you can choose to define your ``AWS::DynamoDB::GlobalTable`` resources in a stack separate from your application stack, and make sure it is only deployed to a single region.
|
|
@@ -1641,6 +1642,9 @@ class CfnGlobalTable(
|
|
|
1641
1642
|
)
|
|
1642
1643
|
)
|
|
1643
1644
|
)],
|
|
1645
|
+
global_table_witnesses=[dynamodb.CfnGlobalTable.GlobalTableWitnessProperty(
|
|
1646
|
+
region="region"
|
|
1647
|
+
)],
|
|
1644
1648
|
local_secondary_indexes=[dynamodb.CfnGlobalTable.LocalSecondaryIndexProperty(
|
|
1645
1649
|
index_name="indexName",
|
|
1646
1650
|
key_schema=[dynamodb.CfnGlobalTable.KeySchemaProperty(
|
|
@@ -1652,6 +1656,7 @@ class CfnGlobalTable(
|
|
|
1652
1656
|
projection_type="projectionType"
|
|
1653
1657
|
)
|
|
1654
1658
|
)],
|
|
1659
|
+
multi_region_consistency="multiRegionConsistency",
|
|
1655
1660
|
sse_specification=dynamodb.CfnGlobalTable.SSESpecificationProperty(
|
|
1656
1661
|
sse_enabled=False,
|
|
1657
1662
|
|
|
@@ -1705,7 +1710,9 @@ class CfnGlobalTable(
|
|
|
1705
1710
|
replicas: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReplicaSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
1706
1711
|
billing_mode: typing.Optional[builtins.str] = None,
|
|
1707
1712
|
global_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.GlobalSecondaryIndexProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1713
|
+
global_table_witnesses: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.GlobalTableWitnessProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1708
1714
|
local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.LocalSecondaryIndexProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1715
|
+
multi_region_consistency: typing.Optional[builtins.str] = None,
|
|
1709
1716
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.SSESpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1710
1717
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.StreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1711
1718
|
table_name: typing.Optional[builtins.str] = None,
|
|
@@ -1719,12 +1726,14 @@ class CfnGlobalTable(
|
|
|
1719
1726
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1720
1727
|
:param attribute_definitions: A list of attributes that describe the key schema for the global table and indexes.
|
|
1721
1728
|
:param key_schema: Specifies the attributes that make up the primary key for the table. The attributes in the ``KeySchema`` property must also be defined in the ``AttributeDefinitions`` property.
|
|
1722
|
-
:param replicas: Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in ``Replicas`` with the region us-east-1. You cannot remove the replica in the stack region. .. epigraph:: Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an ``UpdateStack`` operation containing only that change. If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica. You can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update.
|
|
1729
|
+
:param replicas: Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in ``Replicas`` with the region us-east-1. You cannot remove the replica in the stack region. .. epigraph:: Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an ``UpdateStack`` operation containing only that change. If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica. You can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update. For Multi-Region Strong Consistency (MRSC), you can add or remove up to 3 replicas, or 2 replicas plus a witness Region.
|
|
1723
1730
|
:param billing_mode: Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:. - ``PAY_PER_REQUEST`` - ``PROVISIONED`` All replicas in your global table will have the same billing mode. If you use ``PROVISIONED`` billing mode, you must provide an auto scaling configuration via the ``WriteProvisionedThroughputSettings`` property. The default value of this property is ``PROVISIONED`` .
|
|
1724
1731
|
:param global_secondary_indexes: Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation. Since the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.
|
|
1732
|
+
:param global_table_witnesses: The list of witnesses of the MRSC global table. Only one witness Region can be configured per MRSC global table.
|
|
1725
1733
|
:param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to five 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. Each replica in your global table will have the same local secondary index settings.
|
|
1734
|
+
:param multi_region_consistency: Specifies the consistency mode for a new global table. You can specify one of the following consistency modes: - ``EVENTUAL`` : Configures a new global table for multi-Region eventual consistency (MREC). - ``STRONG`` : Configures a new global table for multi-Region strong consistency (MRSC). If you don't specify this field, the global table consistency mode defaults to ``EVENTUAL`` . For more information about global tables consistency modes, see `Consistency modes <https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes>`_ in DynamoDB developer guide.
|
|
1726
1735
|
:param sse_specification: Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the ``ReplicaSpecification.ReplicaSSESpecification`` property.
|
|
1727
|
-
:param stream_specification: Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.
|
|
1736
|
+
:param stream_specification: Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica. For Multi-Region Strong Consistency (MRSC), you do not need to provide a value for this property and can change the settings at any time.
|
|
1728
1737
|
:param table_name: A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see `Name type <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html>`_ . .. epigraph:: If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
|
|
1729
1738
|
:param time_to_live_specification: Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.
|
|
1730
1739
|
:param warm_throughput: Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event.
|
|
@@ -1741,7 +1750,9 @@ class CfnGlobalTable(
|
|
|
1741
1750
|
replicas=replicas,
|
|
1742
1751
|
billing_mode=billing_mode,
|
|
1743
1752
|
global_secondary_indexes=global_secondary_indexes,
|
|
1753
|
+
global_table_witnesses=global_table_witnesses,
|
|
1744
1754
|
local_secondary_indexes=local_secondary_indexes,
|
|
1755
|
+
multi_region_consistency=multi_region_consistency,
|
|
1745
1756
|
sse_specification=sse_specification,
|
|
1746
1757
|
stream_specification=stream_specification,
|
|
1747
1758
|
table_name=table_name,
|
|
@@ -1911,6 +1922,24 @@ class CfnGlobalTable(
|
|
|
1911
1922
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1912
1923
|
jsii.set(self, "globalSecondaryIndexes", value) # pyright: ignore[reportArgumentType]
|
|
1913
1924
|
|
|
1925
|
+
@builtins.property
|
|
1926
|
+
@jsii.member(jsii_name="globalTableWitnesses")
|
|
1927
|
+
def global_table_witnesses(
|
|
1928
|
+
self,
|
|
1929
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.GlobalTableWitnessProperty"]]]]:
|
|
1930
|
+
'''The list of witnesses of the MRSC global table.'''
|
|
1931
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.GlobalTableWitnessProperty"]]]], jsii.get(self, "globalTableWitnesses"))
|
|
1932
|
+
|
|
1933
|
+
@global_table_witnesses.setter
|
|
1934
|
+
def global_table_witnesses(
|
|
1935
|
+
self,
|
|
1936
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.GlobalTableWitnessProperty"]]]],
|
|
1937
|
+
) -> None:
|
|
1938
|
+
if __debug__:
|
|
1939
|
+
type_hints = typing.get_type_hints(_typecheckingstub__12c424a307d05c5f02c5d3df3ad420cd4151741010ad7531cd1fdc24fa467f2a)
|
|
1940
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1941
|
+
jsii.set(self, "globalTableWitnesses", value) # pyright: ignore[reportArgumentType]
|
|
1942
|
+
|
|
1914
1943
|
@builtins.property
|
|
1915
1944
|
@jsii.member(jsii_name="localSecondaryIndexes")
|
|
1916
1945
|
def local_secondary_indexes(
|
|
@@ -1929,6 +1958,19 @@ class CfnGlobalTable(
|
|
|
1929
1958
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1930
1959
|
jsii.set(self, "localSecondaryIndexes", value) # pyright: ignore[reportArgumentType]
|
|
1931
1960
|
|
|
1961
|
+
@builtins.property
|
|
1962
|
+
@jsii.member(jsii_name="multiRegionConsistency")
|
|
1963
|
+
def multi_region_consistency(self) -> typing.Optional[builtins.str]:
|
|
1964
|
+
'''Specifies the consistency mode for a new global table.'''
|
|
1965
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "multiRegionConsistency"))
|
|
1966
|
+
|
|
1967
|
+
@multi_region_consistency.setter
|
|
1968
|
+
def multi_region_consistency(self, value: typing.Optional[builtins.str]) -> None:
|
|
1969
|
+
if __debug__:
|
|
1970
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9fa800c2b80560454a211edac5215563ba994d97da2fc12e542c8f064daf753d)
|
|
1971
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1972
|
+
jsii.set(self, "multiRegionConsistency", value) # pyright: ignore[reportArgumentType]
|
|
1973
|
+
|
|
1932
1974
|
@builtins.property
|
|
1933
1975
|
@jsii.member(jsii_name="sseSpecification")
|
|
1934
1976
|
def sse_specification(
|
|
@@ -2501,6 +2543,65 @@ class CfnGlobalTable(
|
|
|
2501
2543
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
2502
2544
|
)
|
|
2503
2545
|
|
|
2546
|
+
@jsii.data_type(
|
|
2547
|
+
jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.GlobalTableWitnessProperty",
|
|
2548
|
+
jsii_struct_bases=[],
|
|
2549
|
+
name_mapping={"region": "region"},
|
|
2550
|
+
)
|
|
2551
|
+
class GlobalTableWitnessProperty:
|
|
2552
|
+
def __init__(self, *, region: typing.Optional[builtins.str] = None) -> None:
|
|
2553
|
+
'''The witness Region for the MRSC global table.
|
|
2554
|
+
|
|
2555
|
+
A MRSC global table can be configured with either three replicas, or with two replicas and one witness.
|
|
2556
|
+
|
|
2557
|
+
The witness must be in a different Region than the replicas and within the same Region set:
|
|
2558
|
+
|
|
2559
|
+
- US Region set: US East (N. Virginia), US East (Ohio), US West (Oregon)
|
|
2560
|
+
- EU Region set: Europe (Ireland), Europe (London), Europe (Paris), Europe (Frankfurt)
|
|
2561
|
+
- AP Region set: Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Osaka)
|
|
2562
|
+
|
|
2563
|
+
:param region: The name of the AWS Region that serves as a witness for the MRSC global table.
|
|
2564
|
+
|
|
2565
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globaltablewitness.html
|
|
2566
|
+
:exampleMetadata: fixture=_generated
|
|
2567
|
+
|
|
2568
|
+
Example::
|
|
2569
|
+
|
|
2570
|
+
# The code below shows an example of how to instantiate this type.
|
|
2571
|
+
# The values are placeholders you should change.
|
|
2572
|
+
from aws_cdk import aws_dynamodb as dynamodb
|
|
2573
|
+
|
|
2574
|
+
global_table_witness_property = dynamodb.CfnGlobalTable.GlobalTableWitnessProperty(
|
|
2575
|
+
region="region"
|
|
2576
|
+
)
|
|
2577
|
+
'''
|
|
2578
|
+
if __debug__:
|
|
2579
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b7628b4fa51cd4a5f8c1253b45a920f7c03001298e758a5d6592641047f1b8e9)
|
|
2580
|
+
check_type(argname="argument region", value=region, expected_type=type_hints["region"])
|
|
2581
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2582
|
+
if region is not None:
|
|
2583
|
+
self._values["region"] = region
|
|
2584
|
+
|
|
2585
|
+
@builtins.property
|
|
2586
|
+
def region(self) -> typing.Optional[builtins.str]:
|
|
2587
|
+
'''The name of the AWS Region that serves as a witness for the MRSC global table.
|
|
2588
|
+
|
|
2589
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-globaltablewitness.html#cfn-dynamodb-globaltable-globaltablewitness-region
|
|
2590
|
+
'''
|
|
2591
|
+
result = self._values.get("region")
|
|
2592
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2593
|
+
|
|
2594
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2595
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2596
|
+
|
|
2597
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2598
|
+
return not (rhs == self)
|
|
2599
|
+
|
|
2600
|
+
def __repr__(self) -> str:
|
|
2601
|
+
return "GlobalTableWitnessProperty(%s)" % ", ".join(
|
|
2602
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2603
|
+
)
|
|
2604
|
+
|
|
2504
2605
|
@jsii.data_type(
|
|
2505
2606
|
jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.KeySchemaProperty",
|
|
2506
2607
|
jsii_struct_bases=[],
|
|
@@ -3866,9 +3967,9 @@ class CfnGlobalTable(
|
|
|
3866
3967
|
)
|
|
3867
3968
|
class StreamSpecificationProperty:
|
|
3868
3969
|
def __init__(self, *, stream_view_type: builtins.str) -> None:
|
|
3869
|
-
'''Represents the DynamoDB Streams configuration for a table in DynamoDB.
|
|
3970
|
+
'''Represents the DynamoDB Streams configuration for a table in DynamoDB .
|
|
3870
3971
|
|
|
3871
|
-
You can only modify this value
|
|
3972
|
+
You can only modify this value for a ``AWS::DynamoDB::GlobalTable`` resource configured for multi-Region eventual consistency (MREC, the default) if that resource contains only one entry in ``Replicas`` . You must specify a value for this property for a ``AWS::DynamoDB::GlobalTable`` resource configured for MREC with more than one entry in ``Replicas`` . For Multi-Region Strong Consistency (MRSC), Streams are not required and can be changed for existing tables.
|
|
3872
3973
|
|
|
3873
3974
|
: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.
|
|
3874
3975
|
|
|
@@ -4326,7 +4427,9 @@ class CfnGlobalTable(
|
|
|
4326
4427
|
"replicas": "replicas",
|
|
4327
4428
|
"billing_mode": "billingMode",
|
|
4328
4429
|
"global_secondary_indexes": "globalSecondaryIndexes",
|
|
4430
|
+
"global_table_witnesses": "globalTableWitnesses",
|
|
4329
4431
|
"local_secondary_indexes": "localSecondaryIndexes",
|
|
4432
|
+
"multi_region_consistency": "multiRegionConsistency",
|
|
4330
4433
|
"sse_specification": "sseSpecification",
|
|
4331
4434
|
"stream_specification": "streamSpecification",
|
|
4332
4435
|
"table_name": "tableName",
|
|
@@ -4345,7 +4448,9 @@ class CfnGlobalTableProps:
|
|
|
4345
4448
|
replicas: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReplicaSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
4346
4449
|
billing_mode: typing.Optional[builtins.str] = None,
|
|
4347
4450
|
global_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.GlobalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4451
|
+
global_table_witnesses: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.GlobalTableWitnessProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4348
4452
|
local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4453
|
+
multi_region_consistency: typing.Optional[builtins.str] = None,
|
|
4349
4454
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4350
4455
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4351
4456
|
table_name: typing.Optional[builtins.str] = None,
|
|
@@ -4358,12 +4463,14 @@ class CfnGlobalTableProps:
|
|
|
4358
4463
|
|
|
4359
4464
|
:param attribute_definitions: A list of attributes that describe the key schema for the global table and indexes.
|
|
4360
4465
|
:param key_schema: Specifies the attributes that make up the primary key for the table. The attributes in the ``KeySchema`` property must also be defined in the ``AttributeDefinitions`` property.
|
|
4361
|
-
:param replicas: Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in ``Replicas`` with the region us-east-1. You cannot remove the replica in the stack region. .. epigraph:: Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an ``UpdateStack`` operation containing only that change. If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica. You can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update.
|
|
4466
|
+
:param replicas: Specifies the list of replicas for your global table. The list must contain at least one element, the region where the stack defining the global table is deployed. For example, if you define your table in a stack deployed to us-east-1, you must have an entry in ``Replicas`` with the region us-east-1. You cannot remove the replica in the stack region. .. epigraph:: Adding a replica might take a few minutes for an empty table, or up to several hours for large tables. If you want to add or remove a replica, we recommend submitting an ``UpdateStack`` operation containing only that change. If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica. You can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update. For Multi-Region Strong Consistency (MRSC), you can add or remove up to 3 replicas, or 2 replicas plus a witness Region.
|
|
4362
4467
|
:param billing_mode: Specifies how you are charged for read and write throughput and how you manage capacity. Valid values are:. - ``PAY_PER_REQUEST`` - ``PROVISIONED`` All replicas in your global table will have the same billing mode. If you use ``PROVISIONED`` billing mode, you must provide an auto scaling configuration via the ``WriteProvisionedThroughputSettings`` property. The default value of this property is ``PROVISIONED`` .
|
|
4363
4468
|
:param global_secondary_indexes: Global secondary indexes to be created on the global table. You can create up to 20 global secondary indexes. Each replica in your global table will have the same global secondary index settings. You can only create or delete one global secondary index in a single stack operation. Since the backfilling of an index could take a long time, CloudFormation does not wait for the index to become active. If a stack operation rolls back, CloudFormation might not delete an index that has been added. In that case, you will need to delete the index manually.
|
|
4469
|
+
:param global_table_witnesses: The list of witnesses of the MRSC global table. Only one witness Region can be configured per MRSC global table.
|
|
4364
4470
|
:param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to five 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. Each replica in your global table will have the same local secondary index settings.
|
|
4471
|
+
:param multi_region_consistency: Specifies the consistency mode for a new global table. You can specify one of the following consistency modes: - ``EVENTUAL`` : Configures a new global table for multi-Region eventual consistency (MREC). - ``STRONG`` : Configures a new global table for multi-Region strong consistency (MRSC). If you don't specify this field, the global table consistency mode defaults to ``EVENTUAL`` . For more information about global tables consistency modes, see `Consistency modes <https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes>`_ in DynamoDB developer guide.
|
|
4365
4472
|
:param sse_specification: Specifies the settings to enable server-side encryption. These settings will be applied to all replicas. If you plan to use customer-managed KMS keys, you must provide a key for each replica using the ``ReplicaSpecification.ReplicaSSESpecification`` property.
|
|
4366
|
-
:param stream_specification: Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.
|
|
4473
|
+
:param stream_specification: Specifies the streams settings on your global table. You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica. For Multi-Region Strong Consistency (MRSC), you do not need to provide a value for this property and can change the settings at any time.
|
|
4367
4474
|
:param table_name: A name for the global table. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID as the table name. For more information, see `Name type <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html>`_ . .. epigraph:: If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
|
|
4368
4475
|
:param time_to_live_specification: Specifies the time to live (TTL) settings for the table. This setting will be applied to all replicas.
|
|
4369
4476
|
:param warm_throughput: Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event.
|
|
@@ -4515,6 +4622,9 @@ class CfnGlobalTableProps:
|
|
|
4515
4622
|
)
|
|
4516
4623
|
)
|
|
4517
4624
|
)],
|
|
4625
|
+
global_table_witnesses=[dynamodb.CfnGlobalTable.GlobalTableWitnessProperty(
|
|
4626
|
+
region="region"
|
|
4627
|
+
)],
|
|
4518
4628
|
local_secondary_indexes=[dynamodb.CfnGlobalTable.LocalSecondaryIndexProperty(
|
|
4519
4629
|
index_name="indexName",
|
|
4520
4630
|
key_schema=[dynamodb.CfnGlobalTable.KeySchemaProperty(
|
|
@@ -4526,6 +4636,7 @@ class CfnGlobalTableProps:
|
|
|
4526
4636
|
projection_type="projectionType"
|
|
4527
4637
|
)
|
|
4528
4638
|
)],
|
|
4639
|
+
multi_region_consistency="multiRegionConsistency",
|
|
4529
4640
|
sse_specification=dynamodb.CfnGlobalTable.SSESpecificationProperty(
|
|
4530
4641
|
sse_enabled=False,
|
|
4531
4642
|
|
|
@@ -4575,7 +4686,9 @@ class CfnGlobalTableProps:
|
|
|
4575
4686
|
check_type(argname="argument replicas", value=replicas, expected_type=type_hints["replicas"])
|
|
4576
4687
|
check_type(argname="argument billing_mode", value=billing_mode, expected_type=type_hints["billing_mode"])
|
|
4577
4688
|
check_type(argname="argument global_secondary_indexes", value=global_secondary_indexes, expected_type=type_hints["global_secondary_indexes"])
|
|
4689
|
+
check_type(argname="argument global_table_witnesses", value=global_table_witnesses, expected_type=type_hints["global_table_witnesses"])
|
|
4578
4690
|
check_type(argname="argument local_secondary_indexes", value=local_secondary_indexes, expected_type=type_hints["local_secondary_indexes"])
|
|
4691
|
+
check_type(argname="argument multi_region_consistency", value=multi_region_consistency, expected_type=type_hints["multi_region_consistency"])
|
|
4579
4692
|
check_type(argname="argument sse_specification", value=sse_specification, expected_type=type_hints["sse_specification"])
|
|
4580
4693
|
check_type(argname="argument stream_specification", value=stream_specification, expected_type=type_hints["stream_specification"])
|
|
4581
4694
|
check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
|
|
@@ -4592,8 +4705,12 @@ class CfnGlobalTableProps:
|
|
|
4592
4705
|
self._values["billing_mode"] = billing_mode
|
|
4593
4706
|
if global_secondary_indexes is not None:
|
|
4594
4707
|
self._values["global_secondary_indexes"] = global_secondary_indexes
|
|
4708
|
+
if global_table_witnesses is not None:
|
|
4709
|
+
self._values["global_table_witnesses"] = global_table_witnesses
|
|
4595
4710
|
if local_secondary_indexes is not None:
|
|
4596
4711
|
self._values["local_secondary_indexes"] = local_secondary_indexes
|
|
4712
|
+
if multi_region_consistency is not None:
|
|
4713
|
+
self._values["multi_region_consistency"] = multi_region_consistency
|
|
4597
4714
|
if sse_specification is not None:
|
|
4598
4715
|
self._values["sse_specification"] = sse_specification
|
|
4599
4716
|
if stream_specification is not None:
|
|
@@ -4648,7 +4765,7 @@ class CfnGlobalTableProps:
|
|
|
4648
4765
|
|
|
4649
4766
|
If you add or delete a replica during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new replica, you might need to manually delete the replica.
|
|
4650
4767
|
|
|
4651
|
-
You can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update.
|
|
4768
|
+
You can create a new global table with as many replicas as needed. You can add or remove replicas after table creation, but you can only add or remove a single replica in each update. For Multi-Region Strong Consistency (MRSC), you can add or remove up to 3 replicas, or 2 replicas plus a witness Region.
|
|
4652
4769
|
|
|
4653
4770
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-replicas
|
|
4654
4771
|
'''
|
|
@@ -4685,6 +4802,19 @@ class CfnGlobalTableProps:
|
|
|
4685
4802
|
result = self._values.get("global_secondary_indexes")
|
|
4686
4803
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.GlobalSecondaryIndexProperty]]]], result)
|
|
4687
4804
|
|
|
4805
|
+
@builtins.property
|
|
4806
|
+
def global_table_witnesses(
|
|
4807
|
+
self,
|
|
4808
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.GlobalTableWitnessProperty]]]]:
|
|
4809
|
+
'''The list of witnesses of the MRSC global table.
|
|
4810
|
+
|
|
4811
|
+
Only one witness Region can be configured per MRSC global table.
|
|
4812
|
+
|
|
4813
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-globaltablewitnesses
|
|
4814
|
+
'''
|
|
4815
|
+
result = self._values.get("global_table_witnesses")
|
|
4816
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.GlobalTableWitnessProperty]]]], result)
|
|
4817
|
+
|
|
4688
4818
|
@builtins.property
|
|
4689
4819
|
def local_secondary_indexes(
|
|
4690
4820
|
self,
|
|
@@ -4698,6 +4828,22 @@ class CfnGlobalTableProps:
|
|
|
4698
4828
|
result = self._values.get("local_secondary_indexes")
|
|
4699
4829
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.LocalSecondaryIndexProperty]]]], result)
|
|
4700
4830
|
|
|
4831
|
+
@builtins.property
|
|
4832
|
+
def multi_region_consistency(self) -> typing.Optional[builtins.str]:
|
|
4833
|
+
'''Specifies the consistency mode for a new global table.
|
|
4834
|
+
|
|
4835
|
+
You can specify one of the following consistency modes:
|
|
4836
|
+
|
|
4837
|
+
- ``EVENTUAL`` : Configures a new global table for multi-Region eventual consistency (MREC).
|
|
4838
|
+
- ``STRONG`` : Configures a new global table for multi-Region strong consistency (MRSC).
|
|
4839
|
+
|
|
4840
|
+
If you don't specify this field, the global table consistency mode defaults to ``EVENTUAL`` . For more information about global tables consistency modes, see `Consistency modes <https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes>`_ in DynamoDB developer guide.
|
|
4841
|
+
|
|
4842
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-multiregionconsistency
|
|
4843
|
+
'''
|
|
4844
|
+
result = self._values.get("multi_region_consistency")
|
|
4845
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4846
|
+
|
|
4701
4847
|
@builtins.property
|
|
4702
4848
|
def sse_specification(
|
|
4703
4849
|
self,
|
|
@@ -4717,7 +4863,7 @@ class CfnGlobalTableProps:
|
|
|
4717
4863
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.StreamSpecificationProperty]]:
|
|
4718
4864
|
'''Specifies the streams settings on your global table.
|
|
4719
4865
|
|
|
4720
|
-
You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica.
|
|
4866
|
+
You must provide a value for this property if your global table contains more than one replica. You can only change the streams settings if your global table has only one replica. For Multi-Region Strong Consistency (MRSC), you do not need to provide a value for this property and can change the settings at any time.
|
|
4721
4867
|
|
|
4722
4868
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html#cfn-dynamodb-globaltable-streamspecification
|
|
4723
4869
|
'''
|
|
@@ -5000,7 +5146,7 @@ class CfnTable(
|
|
|
5000
5146
|
:param on_demand_throughput: Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify ``MaxReadRequestUnits`` , ``MaxWriteRequestUnits`` , or both.
|
|
5001
5147
|
:param point_in_time_recovery_specification: The settings used to enable point in time recovery.
|
|
5002
5148
|
: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.
|
|
5003
|
-
:param resource_policy:
|
|
5149
|
+
:param resource_policy: An AWS resource-based policy document in JSON format that will be attached to the table. When you attach a resource-based policy while creating a table, the policy application is *strongly consistent* . The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ . .. epigraph:: You need to specify the ``CreateTable`` and ``PutResourcePolicy`` IAM actions for authorizing a user to create a table with a resource-based policy.
|
|
5004
5150
|
:param sse_specification: Specifies the settings to enable server-side encryption.
|
|
5005
5151
|
:param stream_specification: The settings for the DynamoDB table stream, which capture changes to items stored in the table.
|
|
5006
5152
|
:param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
@@ -5320,7 +5466,7 @@ class CfnTable(
|
|
|
5320
5466
|
def resource_policy(
|
|
5321
5467
|
self,
|
|
5322
5468
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]]:
|
|
5323
|
-
'''
|
|
5469
|
+
'''An AWS resource-based policy document in JSON format that will be attached to the table.'''
|
|
5324
5470
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]], jsii.get(self, "resourcePolicy"))
|
|
5325
5471
|
|
|
5326
5472
|
@resource_policy.setter
|
|
@@ -7219,7 +7365,7 @@ class CfnTableProps:
|
|
|
7219
7365
|
:param on_demand_throughput: Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify ``MaxReadRequestUnits`` , ``MaxWriteRequestUnits`` , or both.
|
|
7220
7366
|
:param point_in_time_recovery_specification: The settings used to enable point in time recovery.
|
|
7221
7367
|
: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.
|
|
7222
|
-
:param resource_policy:
|
|
7368
|
+
:param resource_policy: An AWS resource-based policy document in JSON format that will be attached to the table. When you attach a resource-based policy while creating a table, the policy application is *strongly consistent* . The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ . .. epigraph:: You need to specify the ``CreateTable`` and ``PutResourcePolicy`` IAM actions for authorizing a user to create a table with a resource-based policy.
|
|
7223
7369
|
:param sse_specification: Specifies the settings to enable server-side encryption.
|
|
7224
7370
|
:param stream_specification: The settings for the DynamoDB table stream, which capture changes to items stored in the table.
|
|
7225
7371
|
:param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
@@ -7604,11 +7750,14 @@ class CfnTableProps:
|
|
|
7604
7750
|
def resource_policy(
|
|
7605
7751
|
self,
|
|
7606
7752
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]]:
|
|
7607
|
-
'''
|
|
7753
|
+
'''An AWS resource-based policy document in JSON format that will be attached to the table.
|
|
7608
7754
|
|
|
7609
|
-
|
|
7755
|
+
When you attach a resource-based policy while creating a table, the policy application is *strongly consistent* .
|
|
7756
|
+
|
|
7757
|
+
The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
|
|
7758
|
+
.. epigraph::
|
|
7610
7759
|
|
|
7611
|
-
|
|
7760
|
+
You need to specify the ``CreateTable`` and ``PutResourcePolicy`` IAM actions for authorizing a user to create a table with a resource-based policy.
|
|
7612
7761
|
|
|
7613
7762
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-resourcepolicy
|
|
7614
7763
|
'''
|
|
@@ -16467,7 +16616,9 @@ def _typecheckingstub__751414def1994180982879a700bdaa6afcf528def91a672904946db1b
|
|
|
16467
16616
|
replicas: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReplicaSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
16468
16617
|
billing_mode: typing.Optional[builtins.str] = None,
|
|
16469
16618
|
global_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.GlobalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
16619
|
+
global_table_witnesses: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.GlobalTableWitnessProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
16470
16620
|
local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
16621
|
+
multi_region_consistency: typing.Optional[builtins.str] = None,
|
|
16471
16622
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16472
16623
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16473
16624
|
table_name: typing.Optional[builtins.str] = None,
|
|
@@ -16521,12 +16672,24 @@ def _typecheckingstub__484436e7e1867a9d477f3fa0bdee0dfdfb2646ba7497c71d398076d98
|
|
|
16521
16672
|
"""Type checking stubs"""
|
|
16522
16673
|
pass
|
|
16523
16674
|
|
|
16675
|
+
def _typecheckingstub__12c424a307d05c5f02c5d3df3ad420cd4151741010ad7531cd1fdc24fa467f2a(
|
|
16676
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.GlobalTableWitnessProperty]]]],
|
|
16677
|
+
) -> None:
|
|
16678
|
+
"""Type checking stubs"""
|
|
16679
|
+
pass
|
|
16680
|
+
|
|
16524
16681
|
def _typecheckingstub__a0b3191b7117186bc41f62e22fff4e4f50d0835a5f174dde9b2b8188ceee5162(
|
|
16525
16682
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.LocalSecondaryIndexProperty]]]],
|
|
16526
16683
|
) -> None:
|
|
16527
16684
|
"""Type checking stubs"""
|
|
16528
16685
|
pass
|
|
16529
16686
|
|
|
16687
|
+
def _typecheckingstub__9fa800c2b80560454a211edac5215563ba994d97da2fc12e542c8f064daf753d(
|
|
16688
|
+
value: typing.Optional[builtins.str],
|
|
16689
|
+
) -> None:
|
|
16690
|
+
"""Type checking stubs"""
|
|
16691
|
+
pass
|
|
16692
|
+
|
|
16530
16693
|
def _typecheckingstub__ccb739aac1de1ded207a80b782298c972ccf113dd96de224fea60f9ce1b43833(
|
|
16531
16694
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnGlobalTable.SSESpecificationProperty]],
|
|
16532
16695
|
) -> None:
|
|
@@ -16606,6 +16769,13 @@ def _typecheckingstub__e4c0e93a19b9176fd628b4a4e5a1bb2ecabf4d1960e7d8fd138a1ecf0
|
|
|
16606
16769
|
"""Type checking stubs"""
|
|
16607
16770
|
pass
|
|
16608
16771
|
|
|
16772
|
+
def _typecheckingstub__b7628b4fa51cd4a5f8c1253b45a920f7c03001298e758a5d6592641047f1b8e9(
|
|
16773
|
+
*,
|
|
16774
|
+
region: typing.Optional[builtins.str] = None,
|
|
16775
|
+
) -> None:
|
|
16776
|
+
"""Type checking stubs"""
|
|
16777
|
+
pass
|
|
16778
|
+
|
|
16609
16779
|
def _typecheckingstub__2f6fed9a918a916a89877bc736388ca668f340b42771520c53e2d95e6b4837e2(
|
|
16610
16780
|
*,
|
|
16611
16781
|
attribute_name: builtins.str,
|
|
@@ -16774,7 +16944,9 @@ def _typecheckingstub__ca0383ad91536c26961e85e52a3e6a3d2d74db3c4d430cbbe3d9f42e2
|
|
|
16774
16944
|
replicas: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReplicaSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
16775
16945
|
billing_mode: typing.Optional[builtins.str] = None,
|
|
16776
16946
|
global_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.GlobalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
16947
|
+
global_table_witnesses: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.GlobalTableWitnessProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
16777
16948
|
local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
16949
|
+
multi_region_consistency: typing.Optional[builtins.str] = None,
|
|
16778
16950
|
sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16779
16951
|
stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16780
16952
|
table_name: typing.Optional[builtins.str] = None,
|