aws-cdk-lib 2.212.0__py3-none-any.whl → 2.214.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 +23 -3
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.212.0.jsii.tgz → aws-cdk-lib@2.214.0.jsii.tgz} +0 -0
- aws_cdk/aws_appconfig/__init__.py +18 -6
- aws_cdk/aws_appintegrations/__init__.py +4 -4
- aws_cdk/aws_apprunner/__init__.py +5 -8
- aws_cdk/aws_aps/__init__.py +243 -10
- aws_cdk/aws_b2bi/__init__.py +1015 -128
- aws_cdk/aws_batch/__init__.py +33 -11
- aws_cdk/aws_bedrock/__init__.py +22 -216
- aws_cdk/aws_budgets/__init__.py +18 -0
- aws_cdk/aws_certificatemanager/__init__.py +96 -15
- aws_cdk/aws_cloudformation/__init__.py +3 -3
- aws_cdk/aws_cloudwatch/__init__.py +80 -49
- aws_cdk/aws_cognito/__init__.py +76 -5
- aws_cdk/aws_connect/__init__.py +188 -2
- aws_cdk/aws_datazone/__init__.py +2267 -0
- aws_cdk/aws_deadline/__init__.py +6 -5
- aws_cdk/aws_dynamodb/__init__.py +418 -56
- aws_cdk/aws_ec2/__init__.py +51 -10
- aws_cdk/aws_ecs/__init__.py +288 -25
- aws_cdk/aws_ecs_patterns/__init__.py +2 -0
- aws_cdk/aws_eks/__init__.py +124 -0
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +6 -2
- aws_cdk/aws_entityresolution/__init__.py +107 -0
- aws_cdk/aws_events/__init__.py +153 -55
- aws_cdk/aws_events_targets/__init__.py +87 -36
- aws_cdk/aws_fsx/__init__.py +62 -0
- aws_cdk/aws_gameliftstreams/__init__.py +1 -1
- aws_cdk/aws_glue/__init__.py +205 -23
- aws_cdk/aws_guardduty/__init__.py +205 -100
- aws_cdk/aws_iam/__init__.py +18 -0
- aws_cdk/aws_inspectorv2/__init__.py +125 -80
- aws_cdk/aws_iot/__init__.py +37 -19
- aws_cdk/aws_iotsitewise/__init__.py +111 -75
- aws_cdk/aws_ivs/__init__.py +17 -17
- aws_cdk/aws_kinesisanalytics/__init__.py +122 -3
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +122 -3
- aws_cdk/aws_lambda/__init__.py +23 -2
- aws_cdk/aws_logs/__init__.py +20 -15
- aws_cdk/aws_mediapackagev2/__init__.py +2 -2
- aws_cdk/aws_networkfirewall/__init__.py +6 -6
- aws_cdk/aws_omics/__init__.py +477 -2
- aws_cdk/aws_qbusiness/__init__.py +4 -2
- aws_cdk/aws_rds/__init__.py +132 -4
- aws_cdk/aws_route53/__init__.py +18 -11
- aws_cdk/aws_s3/__init__.py +4 -4
- aws_cdk/aws_s3_deployment/__init__.py +45 -0
- aws_cdk/aws_sagemaker/__init__.py +653 -0
- aws_cdk/aws_servicediscovery/__init__.py +22 -37
- aws_cdk/aws_sns/__init__.py +12 -2
- aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
- aws_cdk/aws_sqs/__init__.py +5 -5
- aws_cdk/aws_ssm/__init__.py +8 -3
- aws_cdk/aws_ssmquicksetup/__init__.py +2 -2
- aws_cdk/aws_synthetics/__init__.py +222 -12
- aws_cdk/aws_transfer/__init__.py +15 -2
- aws_cdk/aws_vpclattice/__init__.py +41 -0
- aws_cdk/aws_workspacesweb/__init__.py +71 -41
- {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/RECORD +65 -65
- {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_dynamodb/__init__.py
CHANGED
|
@@ -18,7 +18,9 @@ By default, `TableV2` will create a single table in the main deployment region r
|
|
|
18
18
|
```python
|
|
19
19
|
table = dynamodb.TableV2(self, "Table",
|
|
20
20
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
21
|
-
|
|
21
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
22
|
+
enabled=True
|
|
23
|
+
),
|
|
22
24
|
table_class=dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,
|
|
23
25
|
point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
|
|
24
26
|
point_in_time_recovery_enabled=True
|
|
@@ -68,12 +70,12 @@ global_table.add_replica(region="us-east-2", deletion_protection=True)
|
|
|
68
70
|
|
|
69
71
|
The following properties are configurable on a per-replica basis, but will be inherited from the `TableV2` properties if not specified:
|
|
70
72
|
|
|
71
|
-
*
|
|
73
|
+
* contributorInsightsSpecification
|
|
72
74
|
* deletionProtection
|
|
73
75
|
* pointInTimeRecoverySpecification
|
|
74
76
|
* tableClass
|
|
75
77
|
* readCapacity (only configurable if the `TableV2` billing mode is `PROVISIONED`)
|
|
76
|
-
* globalSecondaryIndexes (only `
|
|
78
|
+
* globalSecondaryIndexes (only `contributorInsightsSpecification` and `readCapacity`)
|
|
77
79
|
|
|
78
80
|
The following example shows how to define properties on a per-replica basis:
|
|
79
81
|
|
|
@@ -86,7 +88,9 @@ stack = cdk.Stack(app, "Stack", env=cdk.Environment(region="us-west-2"))
|
|
|
86
88
|
|
|
87
89
|
global_table = dynamodb.TableV2(stack, "GlobalTable",
|
|
88
90
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
89
|
-
|
|
91
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
92
|
+
enabled=True
|
|
93
|
+
),
|
|
90
94
|
point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
|
|
91
95
|
point_in_time_recovery_enabled=True
|
|
92
96
|
),
|
|
@@ -98,7 +102,9 @@ global_table = dynamodb.TableV2(stack, "GlobalTable",
|
|
|
98
102
|
)
|
|
99
103
|
), dynamodb.ReplicaTableProps(
|
|
100
104
|
region="us-east-2",
|
|
101
|
-
|
|
105
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
106
|
+
enabled=False
|
|
107
|
+
)
|
|
102
108
|
)
|
|
103
109
|
]
|
|
104
110
|
)
|
|
@@ -430,7 +436,7 @@ table = dynamodb.TableV2(self, "Table",
|
|
|
430
436
|
)
|
|
431
437
|
```
|
|
432
438
|
|
|
433
|
-
All `globalSecondaryIndexes` for replica tables are inherited from the primary table. You can configure `
|
|
439
|
+
All `globalSecondaryIndexes` for replica tables are inherited from the primary table. You can configure `contributorInsightsSpecification` and `readCapacity` for each `globalSecondaryIndex` on a per-replica basis:
|
|
434
440
|
|
|
435
441
|
```python
|
|
436
442
|
import aws_cdk as cdk
|
|
@@ -441,7 +447,9 @@ stack = cdk.Stack(app, "Stack", env=cdk.Environment(region="us-west-2"))
|
|
|
441
447
|
|
|
442
448
|
global_table = dynamodb.TableV2(stack, "GlobalTable",
|
|
443
449
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
444
|
-
|
|
450
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
451
|
+
enabled=True
|
|
452
|
+
),
|
|
445
453
|
billing=dynamodb.Billing.provisioned(
|
|
446
454
|
read_capacity=dynamodb.Capacity.fixed(10),
|
|
447
455
|
write_capacity=dynamodb.Capacity.autoscaled(max_capacity=10)
|
|
@@ -468,7 +476,9 @@ global_table = dynamodb.TableV2(stack, "GlobalTable",
|
|
|
468
476
|
region="us-east-2",
|
|
469
477
|
global_secondary_index_options={
|
|
470
478
|
"gsi2": dynamodb.ReplicaGlobalSecondaryIndexOptions(
|
|
471
|
-
|
|
479
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
480
|
+
enabled=False
|
|
481
|
+
)
|
|
472
482
|
)
|
|
473
483
|
}
|
|
474
484
|
)
|
|
@@ -586,25 +596,37 @@ table = dynamodb.TableV2(self, "Table",
|
|
|
586
596
|
|
|
587
597
|
## Contributor Insights
|
|
588
598
|
|
|
589
|
-
Enabling `
|
|
599
|
+
Enabling `contributorInsightSpecification` for `TableV2` will provide information about the most accessed and throttled or throttled only items in a table or `globalSecondaryIndex`. DynamoDB delivers this information to you via CloudWatch Contributor Insights rules, reports, and graphs of report data.
|
|
600
|
+
|
|
601
|
+
By default, Contributor Insights for DynamoDB monitors all requests, including both the most accessed and most throttled items.
|
|
602
|
+
To limit the scope to only the most accessed or only the most throttled items, use the optional `mode` parameter.
|
|
603
|
+
|
|
604
|
+
* To monitor all traffic on a table or index, set `mode` to `ContributorInsightsMode.ACCESSED_AND_THROTTLED_KEYS`.
|
|
605
|
+
* To monitor only throttled traffic on a table or index, set `mode` to `ContributorInsightsMode.THROTTLED_KEYS`.
|
|
590
606
|
|
|
591
607
|
```python
|
|
592
608
|
table = dynamodb.TableV2(self, "Table",
|
|
593
609
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
594
|
-
|
|
610
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
611
|
+
enabled=True,
|
|
612
|
+
mode=dynamodb.ContributorInsightsMode.ACCESSED_AND_THROTTLED_KEYS
|
|
613
|
+
)
|
|
595
614
|
)
|
|
596
615
|
```
|
|
597
616
|
|
|
598
|
-
When you use `Table`, you can enable contributor insights for a table or specific global secondary index by setting `
|
|
617
|
+
When you use `Table`, you can enable contributor insights for a table or specific global secondary index by setting `contributorInsightsSpecification` parameter `enabled` to `true`.
|
|
599
618
|
|
|
600
619
|
```python
|
|
601
620
|
table = dynamodb.Table(self, "Table",
|
|
602
621
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
603
|
-
|
|
622
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification( # for a table
|
|
623
|
+
enabled=True,
|
|
624
|
+
mode=dynamodb.ContributorInsightsMode.THROTTLED_KEYS)
|
|
604
625
|
)
|
|
605
626
|
|
|
606
627
|
table.add_global_secondary_index(
|
|
607
|
-
|
|
628
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification( # for a specific global secondary index
|
|
629
|
+
enabled=True),
|
|
608
630
|
index_name="gsi",
|
|
609
631
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING)
|
|
610
632
|
)
|
|
@@ -2376,7 +2398,7 @@ class CfnGlobalTable(
|
|
|
2376
2398
|
'''Configures contributor insights settings for a replica or one of its indexes.
|
|
2377
2399
|
|
|
2378
2400
|
:param enabled: Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).
|
|
2379
|
-
:param mode:
|
|
2401
|
+
:param mode: Specifies the CloudWatch Contributor Insights mode for a global table. Valid values are ``ACCESSED_AND_THROTTLED_KEYS`` (tracks all access and throttled events) or ``THROTTLED_KEYS`` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the global table.
|
|
2380
2402
|
|
|
2381
2403
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-contributorinsightsspecification.html
|
|
2382
2404
|
:exampleMetadata: fixture=_generated
|
|
@@ -2416,7 +2438,10 @@ class CfnGlobalTable(
|
|
|
2416
2438
|
|
|
2417
2439
|
@builtins.property
|
|
2418
2440
|
def mode(self) -> typing.Optional[builtins.str]:
|
|
2419
|
-
'''
|
|
2441
|
+
'''Specifies the CloudWatch Contributor Insights mode for a global table.
|
|
2442
|
+
|
|
2443
|
+
Valid values are ``ACCESSED_AND_THROTTLED_KEYS`` (tracks all access and throttled events) or ``THROTTLED_KEYS`` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the global table.
|
|
2444
|
+
|
|
2420
2445
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-contributorinsightsspecification.html#cfn-dynamodb-globaltable-contributorinsightsspecification-mode
|
|
2421
2446
|
'''
|
|
2422
2447
|
result = self._values.get("mode")
|
|
@@ -5242,7 +5267,7 @@ class CfnTable(
|
|
|
5242
5267
|
: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.
|
|
5243
5268
|
:param attribute_definitions: A list of attributes that describe the key schema for the table and indexes. This property is required to create a DynamoDB table. Update requires: `Some interruptions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt>`_ . Replacement if you edit an existing AttributeDefinition.
|
|
5244
5269
|
:param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for most DynamoDB workloads. ``PAY_PER_REQUEST`` sets the billing mode to `On-demand capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html>`_ . - ``PROVISIONED`` - We recommend using ``PROVISIONED`` for steady workloads with predictable growth where capacity requirements can be reliably forecasted. ``PROVISIONED`` sets the billing mode to `Provisioned capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html>`_ . If not specified, the default is ``PROVISIONED`` .
|
|
5245
|
-
:param contributor_insights_specification: The settings used to
|
|
5270
|
+
:param contributor_insights_specification: The settings used to specify whether to enable CloudWatch Contributor Insights for the table and define which events to monitor.
|
|
5246
5271
|
:param deletion_protection_enabled: Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see `Using deletion protection <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection>`_ in the *Amazon DynamoDB Developer Guide* .
|
|
5247
5272
|
:param global_secondary_indexes: Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes. .. epigraph:: If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ``ACTIVE`` . You can track its status by using the DynamoDB `DescribeTable <https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html>`_ command. If you add or delete an index 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 index, you must manually delete the index. Updates are not supported. The following are exceptions: - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption. - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
|
|
5248
5273
|
:param import_source_specification: Specifies the properties of data being imported from the S3 bucket source to the" table. .. epigraph:: If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification`` , the ``TableClass`` property, the ``DeletionProtectionEnabled`` property, or the ``WarmThroughput`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission.
|
|
@@ -5253,7 +5278,7 @@ class CfnTable(
|
|
|
5253
5278
|
: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.
|
|
5254
5279
|
: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.
|
|
5255
5280
|
:param sse_specification: Specifies the settings to enable server-side encryption.
|
|
5256
|
-
:param stream_specification: The settings for the DynamoDB table stream, which
|
|
5281
|
+
:param stream_specification: The settings for the DynamoDB table stream, which captures changes to items stored in the table. Including this property in your AWS CloudFormation template automatically enables streaming.
|
|
5257
5282
|
:param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
5258
5283
|
:param table_name: A name for the table. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for 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.
|
|
5259
5284
|
:param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
|
|
@@ -5406,7 +5431,7 @@ class CfnTable(
|
|
|
5406
5431
|
def contributor_insights_specification(
|
|
5407
5432
|
self,
|
|
5408
5433
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ContributorInsightsSpecificationProperty"]]:
|
|
5409
|
-
'''The settings used to
|
|
5434
|
+
'''The settings used to specify whether to enable CloudWatch Contributor Insights for the table and define which events to monitor.'''
|
|
5410
5435
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ContributorInsightsSpecificationProperty"]], jsii.get(self, "contributorInsightsSpecification"))
|
|
5411
5436
|
|
|
5412
5437
|
@contributor_insights_specification.setter
|
|
@@ -5607,7 +5632,7 @@ class CfnTable(
|
|
|
5607
5632
|
def stream_specification(
|
|
5608
5633
|
self,
|
|
5609
5634
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.StreamSpecificationProperty"]]:
|
|
5610
|
-
'''The settings for the DynamoDB table stream, which
|
|
5635
|
+
'''The settings for the DynamoDB table stream, which captures changes to items stored in the table.'''
|
|
5611
5636
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.StreamSpecificationProperty"]], jsii.get(self, "streamSpecification"))
|
|
5612
5637
|
|
|
5613
5638
|
@stream_specification.setter
|
|
@@ -5785,10 +5810,10 @@ class CfnTable(
|
|
|
5785
5810
|
enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
|
|
5786
5811
|
mode: typing.Optional[builtins.str] = None,
|
|
5787
5812
|
) -> None:
|
|
5788
|
-
'''
|
|
5813
|
+
'''Configures contributor insights settings for a table or one of its indexes.
|
|
5789
5814
|
|
|
5790
5815
|
:param enabled: Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).
|
|
5791
|
-
:param mode:
|
|
5816
|
+
:param mode: Specifies the CloudWatch Contributor Insights mode for a table. Valid values are ``ACCESSED_AND_THROTTLED_KEYS`` (tracks all access and throttled events) or ``THROTTLED_KEYS`` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the table.
|
|
5792
5817
|
|
|
5793
5818
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-contributorinsightsspecification.html
|
|
5794
5819
|
:exampleMetadata: fixture=_generated
|
|
@@ -5828,7 +5853,10 @@ class CfnTable(
|
|
|
5828
5853
|
|
|
5829
5854
|
@builtins.property
|
|
5830
5855
|
def mode(self) -> typing.Optional[builtins.str]:
|
|
5831
|
-
'''
|
|
5856
|
+
'''Specifies the CloudWatch Contributor Insights mode for a table.
|
|
5857
|
+
|
|
5858
|
+
Valid values are ``ACCESSED_AND_THROTTLED_KEYS`` (tracks all access and throttled events) or ``THROTTLED_KEYS`` (tracks only throttled events). This setting determines what type of contributor insights data is collected for the table.
|
|
5859
|
+
|
|
5832
5860
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-contributorinsightsspecification.html#cfn-dynamodb-table-contributorinsightsspecification-mode
|
|
5833
5861
|
'''
|
|
5834
5862
|
result = self._values.get("mode")
|
|
@@ -5949,7 +5977,7 @@ class CfnTable(
|
|
|
5949
5977
|
:param index_name: The name of the global secondary index. The name must be unique among all other indexes on this table.
|
|
5950
5978
|
:param key_schema: The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - ``HASH`` - partition key - ``RANGE`` - sort key > The partition key of an item is also known as its *hash attribute* . The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. .. epigraph:: The sort key of an item is also known as its *range attribute* . The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.
|
|
5951
5979
|
:param projection: Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
|
|
5952
|
-
:param contributor_insights_specification: The settings used to
|
|
5980
|
+
:param contributor_insights_specification: The settings used to specify whether to enable CloudWatch Contributor Insights for the global table and define which events to monitor.
|
|
5953
5981
|
:param on_demand_throughput: The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify ``MaxReadRequestUnits`` , ``MaxWriteRequestUnits`` , or both. You must use either ``OnDemandThroughput`` or ``ProvisionedThroughput`` based on your table's capacity mode.
|
|
5954
5982
|
:param provisioned_throughput: Represents the provisioned throughput settings for the specified global secondary index. You must use either ``OnDemandThroughput`` or ``ProvisionedThroughput`` based on your table's capacity mode. For current minimum and maximum provisioned throughput values, see `Service, Account, and Table Quotas <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html>`_ in the *Amazon DynamoDB Developer Guide* .
|
|
5955
5983
|
:param warm_throughput: Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond`` , ``WriteUnitsPerSecond`` , or both.
|
|
@@ -6065,7 +6093,7 @@ class CfnTable(
|
|
|
6065
6093
|
def contributor_insights_specification(
|
|
6066
6094
|
self,
|
|
6067
6095
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ContributorInsightsSpecificationProperty"]]:
|
|
6068
|
-
'''The settings used to
|
|
6096
|
+
'''The settings used to specify whether to enable CloudWatch Contributor Insights for the global table and define which events to monitor.
|
|
6069
6097
|
|
|
6070
6098
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html#cfn-dynamodb-table-globalsecondaryindex-contributorinsightsspecification
|
|
6071
6099
|
'''
|
|
@@ -7195,7 +7223,7 @@ class CfnTable(
|
|
|
7195
7223
|
'''Represents the DynamoDB Streams configuration for a table in DynamoDB.
|
|
7196
7224
|
|
|
7197
7225
|
: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.
|
|
7198
|
-
: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>`_ .
|
|
7226
|
+
: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. .. epigraph:: When you remove the ``StreamSpecification`` property from the template, DynamoDB disables the stream but retains any attached resource policy until the stream is deleted after 24 hours. When you modify the ``StreamViewType`` property, DynamoDB creates a new stream and retains the old stream's resource policy. The old stream and its resource policy are deleted after the 24-hour retention period. 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>`_ .
|
|
7199
7227
|
|
|
7200
7228
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html
|
|
7201
7229
|
:exampleMetadata: fixture=_generated
|
|
@@ -7251,6 +7279,9 @@ class CfnTable(
|
|
|
7251
7279
|
'''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams.
|
|
7252
7280
|
|
|
7253
7281
|
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.
|
|
7282
|
+
.. epigraph::
|
|
7283
|
+
|
|
7284
|
+
When you remove the ``StreamSpecification`` property from the template, DynamoDB disables the stream but retains any attached resource policy until the stream is deleted after 24 hours. When you modify the ``StreamViewType`` property, DynamoDB creates a new stream and retains the old stream's resource policy. The old stream and its resource policy are deleted after the 24-hour retention period.
|
|
7254
7285
|
|
|
7255
7286
|
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>`_ .
|
|
7256
7287
|
|
|
@@ -7480,7 +7511,7 @@ class CfnTableProps:
|
|
|
7480
7511
|
: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.
|
|
7481
7512
|
:param attribute_definitions: A list of attributes that describe the key schema for the table and indexes. This property is required to create a DynamoDB table. Update requires: `Some interruptions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt>`_ . Replacement if you edit an existing AttributeDefinition.
|
|
7482
7513
|
:param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for most DynamoDB workloads. ``PAY_PER_REQUEST`` sets the billing mode to `On-demand capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html>`_ . - ``PROVISIONED`` - We recommend using ``PROVISIONED`` for steady workloads with predictable growth where capacity requirements can be reliably forecasted. ``PROVISIONED`` sets the billing mode to `Provisioned capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html>`_ . If not specified, the default is ``PROVISIONED`` .
|
|
7483
|
-
:param contributor_insights_specification: The settings used to
|
|
7514
|
+
:param contributor_insights_specification: The settings used to specify whether to enable CloudWatch Contributor Insights for the table and define which events to monitor.
|
|
7484
7515
|
:param deletion_protection_enabled: Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see `Using deletion protection <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection>`_ in the *Amazon DynamoDB Developer Guide* .
|
|
7485
7516
|
:param global_secondary_indexes: Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes. .. epigraph:: If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ``ACTIVE`` . You can track its status by using the DynamoDB `DescribeTable <https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html>`_ command. If you add or delete an index 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 index, you must manually delete the index. Updates are not supported. The following are exceptions: - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption. - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
|
|
7486
7517
|
:param import_source_specification: Specifies the properties of data being imported from the S3 bucket source to the" table. .. epigraph:: If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification`` , the ``TableClass`` property, the ``DeletionProtectionEnabled`` property, or the ``WarmThroughput`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission.
|
|
@@ -7491,7 +7522,7 @@ class CfnTableProps:
|
|
|
7491
7522
|
: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.
|
|
7492
7523
|
: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.
|
|
7493
7524
|
:param sse_specification: Specifies the settings to enable server-side encryption.
|
|
7494
|
-
:param stream_specification: The settings for the DynamoDB table stream, which
|
|
7525
|
+
:param stream_specification: The settings for the DynamoDB table stream, which captures changes to items stored in the table. Including this property in your AWS CloudFormation template automatically enables streaming.
|
|
7495
7526
|
:param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
|
|
7496
7527
|
:param table_name: A name for the table. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for 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.
|
|
7497
7528
|
:param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
|
|
@@ -7756,7 +7787,7 @@ class CfnTableProps:
|
|
|
7756
7787
|
def contributor_insights_specification(
|
|
7757
7788
|
self,
|
|
7758
7789
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ContributorInsightsSpecificationProperty]]:
|
|
7759
|
-
'''The settings used to
|
|
7790
|
+
'''The settings used to specify whether to enable CloudWatch Contributor Insights for the table and define which events to monitor.
|
|
7760
7791
|
|
|
7761
7792
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-contributorinsightsspecification
|
|
7762
7793
|
'''
|
|
@@ -7909,7 +7940,9 @@ class CfnTableProps:
|
|
|
7909
7940
|
def stream_specification(
|
|
7910
7941
|
self,
|
|
7911
7942
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.StreamSpecificationProperty]]:
|
|
7912
|
-
'''The settings for the DynamoDB table stream, which
|
|
7943
|
+
'''The settings for the DynamoDB table stream, which captures changes to items stored in the table.
|
|
7944
|
+
|
|
7945
|
+
Including this property in your AWS CloudFormation template automatically enables streaming.
|
|
7913
7946
|
|
|
7914
7947
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-streamspecification
|
|
7915
7948
|
'''
|
|
@@ -7990,6 +8023,121 @@ class CfnTableProps:
|
|
|
7990
8023
|
)
|
|
7991
8024
|
|
|
7992
8025
|
|
|
8026
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_dynamodb.ContributorInsightsMode")
|
|
8027
|
+
class ContributorInsightsMode(enum.Enum):
|
|
8028
|
+
'''DynamoDB's Contributor Insights Mode.
|
|
8029
|
+
|
|
8030
|
+
:see: https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-dynamodb-table-contributorinsightsspecification.html
|
|
8031
|
+
:exampleMetadata: infused
|
|
8032
|
+
|
|
8033
|
+
Example::
|
|
8034
|
+
|
|
8035
|
+
table = dynamodb.TableV2(self, "Table",
|
|
8036
|
+
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
8037
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
8038
|
+
enabled=True,
|
|
8039
|
+
mode=dynamodb.ContributorInsightsMode.ACCESSED_AND_THROTTLED_KEYS
|
|
8040
|
+
)
|
|
8041
|
+
)
|
|
8042
|
+
'''
|
|
8043
|
+
|
|
8044
|
+
ACCESSED_AND_THROTTLED_KEYS = "ACCESSED_AND_THROTTLED_KEYS"
|
|
8045
|
+
'''Emits metrics for all read and write requests, whether successful or throttled.'''
|
|
8046
|
+
THROTTLED_KEYS = "THROTTLED_KEYS"
|
|
8047
|
+
'''Emits metrics for read and write requests that were throttled.'''
|
|
8048
|
+
|
|
8049
|
+
|
|
8050
|
+
@jsii.data_type(
|
|
8051
|
+
jsii_type="aws-cdk-lib.aws_dynamodb.ContributorInsightsSpecification",
|
|
8052
|
+
jsii_struct_bases=[],
|
|
8053
|
+
name_mapping={"enabled": "enabled", "mode": "mode"},
|
|
8054
|
+
)
|
|
8055
|
+
class ContributorInsightsSpecification:
|
|
8056
|
+
def __init__(
|
|
8057
|
+
self,
|
|
8058
|
+
*,
|
|
8059
|
+
enabled: builtins.bool,
|
|
8060
|
+
mode: typing.Optional[ContributorInsightsMode] = None,
|
|
8061
|
+
) -> None:
|
|
8062
|
+
'''Reference to ContributorInsightsSpecification.
|
|
8063
|
+
|
|
8064
|
+
:param enabled: Indicates whether contributor insights is enabled. Default: false
|
|
8065
|
+
:param mode: Indicates the type of metrics captured by contributor insights. Default: ACCESSED_AND_THROTTLED_KEYS
|
|
8066
|
+
|
|
8067
|
+
:exampleMetadata: infused
|
|
8068
|
+
|
|
8069
|
+
Example::
|
|
8070
|
+
|
|
8071
|
+
import aws_cdk as cdk
|
|
8072
|
+
|
|
8073
|
+
|
|
8074
|
+
app = cdk.App()
|
|
8075
|
+
stack = cdk.Stack(app, "Stack", env=cdk.Environment(region="us-west-2"))
|
|
8076
|
+
|
|
8077
|
+
global_table = dynamodb.TableV2(stack, "GlobalTable",
|
|
8078
|
+
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
8079
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
8080
|
+
enabled=True
|
|
8081
|
+
),
|
|
8082
|
+
point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
|
|
8083
|
+
point_in_time_recovery_enabled=True
|
|
8084
|
+
),
|
|
8085
|
+
replicas=[dynamodb.ReplicaTableProps(
|
|
8086
|
+
region="us-east-1",
|
|
8087
|
+
table_class=dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,
|
|
8088
|
+
point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
|
|
8089
|
+
point_in_time_recovery_enabled=False
|
|
8090
|
+
)
|
|
8091
|
+
), dynamodb.ReplicaTableProps(
|
|
8092
|
+
region="us-east-2",
|
|
8093
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
8094
|
+
enabled=False
|
|
8095
|
+
)
|
|
8096
|
+
)
|
|
8097
|
+
]
|
|
8098
|
+
)
|
|
8099
|
+
'''
|
|
8100
|
+
if __debug__:
|
|
8101
|
+
type_hints = typing.get_type_hints(_typecheckingstub__656543bd456aefaef11a80dfb0950fe5597d4bc0465f2f4fdec81a81dfe7358d)
|
|
8102
|
+
check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
|
|
8103
|
+
check_type(argname="argument mode", value=mode, expected_type=type_hints["mode"])
|
|
8104
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
8105
|
+
"enabled": enabled,
|
|
8106
|
+
}
|
|
8107
|
+
if mode is not None:
|
|
8108
|
+
self._values["mode"] = mode
|
|
8109
|
+
|
|
8110
|
+
@builtins.property
|
|
8111
|
+
def enabled(self) -> builtins.bool:
|
|
8112
|
+
'''Indicates whether contributor insights is enabled.
|
|
8113
|
+
|
|
8114
|
+
:default: false
|
|
8115
|
+
'''
|
|
8116
|
+
result = self._values.get("enabled")
|
|
8117
|
+
assert result is not None, "Required property 'enabled' is missing"
|
|
8118
|
+
return typing.cast(builtins.bool, result)
|
|
8119
|
+
|
|
8120
|
+
@builtins.property
|
|
8121
|
+
def mode(self) -> typing.Optional[ContributorInsightsMode]:
|
|
8122
|
+
'''Indicates the type of metrics captured by contributor insights.
|
|
8123
|
+
|
|
8124
|
+
:default: ACCESSED_AND_THROTTLED_KEYS
|
|
8125
|
+
'''
|
|
8126
|
+
result = self._values.get("mode")
|
|
8127
|
+
return typing.cast(typing.Optional[ContributorInsightsMode], result)
|
|
8128
|
+
|
|
8129
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
8130
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
8131
|
+
|
|
8132
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
8133
|
+
return not (rhs == self)
|
|
8134
|
+
|
|
8135
|
+
def __repr__(self) -> str:
|
|
8136
|
+
return "ContributorInsightsSpecification(%s)" % ", ".join(
|
|
8137
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
8138
|
+
)
|
|
8139
|
+
|
|
8140
|
+
|
|
7993
8141
|
@jsii.data_type(
|
|
7994
8142
|
jsii_type="aws-cdk-lib.aws_dynamodb.CsvOptions",
|
|
7995
8143
|
jsii_struct_bases=[],
|
|
@@ -9800,7 +9948,9 @@ class PointInTimeRecoverySpecification:
|
|
|
9800
9948
|
|
|
9801
9949
|
table = dynamodb.TableV2(self, "Table",
|
|
9802
9950
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
9803
|
-
|
|
9951
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
9952
|
+
enabled=True
|
|
9953
|
+
),
|
|
9804
9954
|
table_class=dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,
|
|
9805
9955
|
point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
|
|
9806
9956
|
point_in_time_recovery_enabled=True
|
|
@@ -9875,6 +10025,7 @@ class ProjectionType(enum.Enum):
|
|
|
9875
10025
|
jsii_struct_bases=[],
|
|
9876
10026
|
name_mapping={
|
|
9877
10027
|
"contributor_insights": "contributorInsights",
|
|
10028
|
+
"contributor_insights_specification": "contributorInsightsSpecification",
|
|
9878
10029
|
"max_read_request_units": "maxReadRequestUnits",
|
|
9879
10030
|
"read_capacity": "readCapacity",
|
|
9880
10031
|
},
|
|
@@ -9884,12 +10035,14 @@ class ReplicaGlobalSecondaryIndexOptions:
|
|
|
9884
10035
|
self,
|
|
9885
10036
|
*,
|
|
9886
10037
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
10038
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9887
10039
|
max_read_request_units: typing.Optional[jsii.Number] = None,
|
|
9888
10040
|
read_capacity: typing.Optional[Capacity] = None,
|
|
9889
10041
|
) -> None:
|
|
9890
10042
|
'''Options used to configure global secondary indexes on a replica table.
|
|
9891
10043
|
|
|
9892
|
-
:param contributor_insights: Whether CloudWatch contributor insights is enabled for a specific global secondary index on a replica table. Default: - inherited from the primary table
|
|
10044
|
+
:param contributor_insights: (deprecated) Whether CloudWatch contributor insights is enabled for a specific global secondary index on a replica table. Default: - inherited from the primary table
|
|
10045
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected for a specific global secondary index on a replica table. Default: - contributor insights is not enabled
|
|
9893
10046
|
:param max_read_request_units: The maximum read request units for a specific global secondary index on a replica table. Note: This can only be configured if primary table billing is PAY_PER_REQUEST. Default: - inherited from the primary table
|
|
9894
10047
|
:param read_capacity: The read capacity for a specific global secondary index on a replica table. Note: This can only be configured if primary table billing is provisioned. Default: - inherited from the primary table
|
|
9895
10048
|
|
|
@@ -9905,7 +10058,9 @@ class ReplicaGlobalSecondaryIndexOptions:
|
|
|
9905
10058
|
|
|
9906
10059
|
global_table = dynamodb.TableV2(stack, "GlobalTable",
|
|
9907
10060
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
9908
|
-
|
|
10061
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
10062
|
+
enabled=True
|
|
10063
|
+
),
|
|
9909
10064
|
billing=dynamodb.Billing.provisioned(
|
|
9910
10065
|
read_capacity=dynamodb.Capacity.fixed(10),
|
|
9911
10066
|
write_capacity=dynamodb.Capacity.autoscaled(max_capacity=10)
|
|
@@ -9932,21 +10087,28 @@ class ReplicaGlobalSecondaryIndexOptions:
|
|
|
9932
10087
|
region="us-east-2",
|
|
9933
10088
|
global_secondary_index_options={
|
|
9934
10089
|
"gsi2": dynamodb.ReplicaGlobalSecondaryIndexOptions(
|
|
9935
|
-
|
|
10090
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
10091
|
+
enabled=False
|
|
10092
|
+
)
|
|
9936
10093
|
)
|
|
9937
10094
|
}
|
|
9938
10095
|
)
|
|
9939
10096
|
]
|
|
9940
10097
|
)
|
|
9941
10098
|
'''
|
|
10099
|
+
if isinstance(contributor_insights_specification, dict):
|
|
10100
|
+
contributor_insights_specification = ContributorInsightsSpecification(**contributor_insights_specification)
|
|
9942
10101
|
if __debug__:
|
|
9943
10102
|
type_hints = typing.get_type_hints(_typecheckingstub__eaa3a170e1978a5997011b8319bcd83bf34642dac50e342aad0705ee28b15714)
|
|
9944
10103
|
check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
|
|
10104
|
+
check_type(argname="argument contributor_insights_specification", value=contributor_insights_specification, expected_type=type_hints["contributor_insights_specification"])
|
|
9945
10105
|
check_type(argname="argument max_read_request_units", value=max_read_request_units, expected_type=type_hints["max_read_request_units"])
|
|
9946
10106
|
check_type(argname="argument read_capacity", value=read_capacity, expected_type=type_hints["read_capacity"])
|
|
9947
10107
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
9948
10108
|
if contributor_insights is not None:
|
|
9949
10109
|
self._values["contributor_insights"] = contributor_insights
|
|
10110
|
+
if contributor_insights_specification is not None:
|
|
10111
|
+
self._values["contributor_insights_specification"] = contributor_insights_specification
|
|
9950
10112
|
if max_read_request_units is not None:
|
|
9951
10113
|
self._values["max_read_request_units"] = max_read_request_units
|
|
9952
10114
|
if read_capacity is not None:
|
|
@@ -9954,13 +10116,28 @@ class ReplicaGlobalSecondaryIndexOptions:
|
|
|
9954
10116
|
|
|
9955
10117
|
@builtins.property
|
|
9956
10118
|
def contributor_insights(self) -> typing.Optional[builtins.bool]:
|
|
9957
|
-
'''Whether CloudWatch contributor insights is enabled for a specific global secondary index on a replica table.
|
|
10119
|
+
'''(deprecated) Whether CloudWatch contributor insights is enabled for a specific global secondary index on a replica table.
|
|
9958
10120
|
|
|
9959
10121
|
:default: - inherited from the primary table
|
|
10122
|
+
|
|
10123
|
+
:deprecated: use ``contributorInsightsSpecification`` instead
|
|
10124
|
+
|
|
10125
|
+
:stability: deprecated
|
|
9960
10126
|
'''
|
|
9961
10127
|
result = self._values.get("contributor_insights")
|
|
9962
10128
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
9963
10129
|
|
|
10130
|
+
@builtins.property
|
|
10131
|
+
def contributor_insights_specification(
|
|
10132
|
+
self,
|
|
10133
|
+
) -> typing.Optional[ContributorInsightsSpecification]:
|
|
10134
|
+
'''Whether CloudWatch contributor insights is enabled and what mode is selected for a specific global secondary index on a replica table.
|
|
10135
|
+
|
|
10136
|
+
:default: - contributor insights is not enabled
|
|
10137
|
+
'''
|
|
10138
|
+
result = self._values.get("contributor_insights_specification")
|
|
10139
|
+
return typing.cast(typing.Optional[ContributorInsightsSpecification], result)
|
|
10140
|
+
|
|
9964
10141
|
@builtins.property
|
|
9965
10142
|
def max_read_request_units(self) -> typing.Optional[jsii.Number]:
|
|
9966
10143
|
'''The maximum read request units for a specific global secondary index on a replica table.
|
|
@@ -12707,7 +12884,9 @@ class TableClass(enum.Enum):
|
|
|
12707
12884
|
|
|
12708
12885
|
table = dynamodb.TableV2(self, "Table",
|
|
12709
12886
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
12710
|
-
|
|
12887
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
12888
|
+
enabled=True
|
|
12889
|
+
),
|
|
12711
12890
|
table_class=dynamodb.TableClass.STANDARD_INFREQUENT_ACCESS,
|
|
12712
12891
|
point_in_time_recovery_specification=dynamodb.PointInTimeRecoverySpecification(
|
|
12713
12892
|
point_in_time_recovery_enabled=True
|
|
@@ -12837,6 +13016,7 @@ typing.cast(typing.Any, TableEncryptionV2).__jsii_proxy_class__ = lambda : _Tabl
|
|
|
12837
13016
|
"sort_key": "sortKey",
|
|
12838
13017
|
"billing_mode": "billingMode",
|
|
12839
13018
|
"contributor_insights_enabled": "contributorInsightsEnabled",
|
|
13019
|
+
"contributor_insights_specification": "contributorInsightsSpecification",
|
|
12840
13020
|
"deletion_protection": "deletionProtection",
|
|
12841
13021
|
"encryption": "encryption",
|
|
12842
13022
|
"encryption_key": "encryptionKey",
|
|
@@ -12867,6 +13047,7 @@ class TableOptions(SchemaOptions):
|
|
|
12867
13047
|
sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
12868
13048
|
billing_mode: typing.Optional[BillingMode] = None,
|
|
12869
13049
|
contributor_insights_enabled: typing.Optional[builtins.bool] = None,
|
|
13050
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
12870
13051
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
12871
13052
|
encryption: typing.Optional[TableEncryption] = None,
|
|
12872
13053
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
@@ -12895,7 +13076,8 @@ class TableOptions(SchemaOptions):
|
|
|
12895
13076
|
:param partition_key: Partition key attribute definition.
|
|
12896
13077
|
:param sort_key: Sort key attribute definition. Default: no sort key
|
|
12897
13078
|
:param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Default: PROVISIONED if ``replicationRegions`` is not specified, PAY_PER_REQUEST otherwise
|
|
12898
|
-
:param contributor_insights_enabled: Whether CloudWatch contributor insights is enabled. Default: false
|
|
13079
|
+
:param contributor_insights_enabled: (deprecated) Whether CloudWatch contributor insights is enabled. Default: false
|
|
13080
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
12899
13081
|
:param deletion_protection: Enables deletion protection for the table. Default: false
|
|
12900
13082
|
:param encryption: Whether server-side encryption with an AWS managed customer master key is enabled. This property cannot be set if ``serverSideEncryption`` is set. .. epigraph:: **NOTE**: if you set this to ``CUSTOMER_MANAGED`` and ``encryptionKey`` is not specified, the key that the Tablet generates for you will be created with default permissions. If you are using CDKv2, these permissions will be sufficient to enable the key for use with DynamoDB tables. If you are using CDKv1, make sure the feature flag ``@aws-cdk/aws-kms:defaultKeyPolicies`` is set to ``true`` in your ``cdk.json``. Default: - The table is encrypted with an encryption key managed by DynamoDB, and you are not charged any fee for using it.
|
|
12901
13083
|
:param encryption_key: External KMS key to use for table encryption. This property can only be set if ``encryption`` is set to ``TableEncryption.CUSTOMER_MANAGED``. Default: - If ``encryption`` is set to ``TableEncryption.CUSTOMER_MANAGED`` and this property is undefined, a new KMS key will be created and associated with this table. If ``encryption`` and this property are both undefined, then the table is encrypted with an encryption key managed by DynamoDB, and you are not charged any fee for using it.
|
|
@@ -12943,6 +13125,12 @@ class TableOptions(SchemaOptions):
|
|
|
12943
13125
|
# the properties below are optional
|
|
12944
13126
|
billing_mode=dynamodb.BillingMode.PAY_PER_REQUEST,
|
|
12945
13127
|
contributor_insights_enabled=False,
|
|
13128
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
13129
|
+
enabled=False,
|
|
13130
|
+
|
|
13131
|
+
# the properties below are optional
|
|
13132
|
+
mode=dynamodb.ContributorInsightsMode.ACCESSED_AND_THROTTLED_KEYS
|
|
13133
|
+
),
|
|
12946
13134
|
deletion_protection=False,
|
|
12947
13135
|
encryption=dynamodb.TableEncryption.DEFAULT,
|
|
12948
13136
|
encryption_key=key,
|
|
@@ -12989,6 +13177,8 @@ class TableOptions(SchemaOptions):
|
|
|
12989
13177
|
partition_key = Attribute(**partition_key)
|
|
12990
13178
|
if isinstance(sort_key, dict):
|
|
12991
13179
|
sort_key = Attribute(**sort_key)
|
|
13180
|
+
if isinstance(contributor_insights_specification, dict):
|
|
13181
|
+
contributor_insights_specification = ContributorInsightsSpecification(**contributor_insights_specification)
|
|
12992
13182
|
if isinstance(import_source, dict):
|
|
12993
13183
|
import_source = ImportSourceSpecification(**import_source)
|
|
12994
13184
|
if isinstance(point_in_time_recovery_specification, dict):
|
|
@@ -13001,6 +13191,7 @@ class TableOptions(SchemaOptions):
|
|
|
13001
13191
|
check_type(argname="argument sort_key", value=sort_key, expected_type=type_hints["sort_key"])
|
|
13002
13192
|
check_type(argname="argument billing_mode", value=billing_mode, expected_type=type_hints["billing_mode"])
|
|
13003
13193
|
check_type(argname="argument contributor_insights_enabled", value=contributor_insights_enabled, expected_type=type_hints["contributor_insights_enabled"])
|
|
13194
|
+
check_type(argname="argument contributor_insights_specification", value=contributor_insights_specification, expected_type=type_hints["contributor_insights_specification"])
|
|
13004
13195
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
13005
13196
|
check_type(argname="argument encryption", value=encryption, expected_type=type_hints["encryption"])
|
|
13006
13197
|
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
@@ -13030,6 +13221,8 @@ class TableOptions(SchemaOptions):
|
|
|
13030
13221
|
self._values["billing_mode"] = billing_mode
|
|
13031
13222
|
if contributor_insights_enabled is not None:
|
|
13032
13223
|
self._values["contributor_insights_enabled"] = contributor_insights_enabled
|
|
13224
|
+
if contributor_insights_specification is not None:
|
|
13225
|
+
self._values["contributor_insights_specification"] = contributor_insights_specification
|
|
13033
13226
|
if deletion_protection is not None:
|
|
13034
13227
|
self._values["deletion_protection"] = deletion_protection
|
|
13035
13228
|
if encryption is not None:
|
|
@@ -13098,13 +13291,28 @@ class TableOptions(SchemaOptions):
|
|
|
13098
13291
|
|
|
13099
13292
|
@builtins.property
|
|
13100
13293
|
def contributor_insights_enabled(self) -> typing.Optional[builtins.bool]:
|
|
13101
|
-
'''Whether CloudWatch contributor insights is enabled.
|
|
13294
|
+
'''(deprecated) Whether CloudWatch contributor insights is enabled.
|
|
13102
13295
|
|
|
13103
13296
|
:default: false
|
|
13297
|
+
|
|
13298
|
+
:deprecated: use `contributorInsightsSpecification instead
|
|
13299
|
+
|
|
13300
|
+
:stability: deprecated
|
|
13104
13301
|
'''
|
|
13105
13302
|
result = self._values.get("contributor_insights_enabled")
|
|
13106
13303
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
13107
13304
|
|
|
13305
|
+
@builtins.property
|
|
13306
|
+
def contributor_insights_specification(
|
|
13307
|
+
self,
|
|
13308
|
+
) -> typing.Optional[ContributorInsightsSpecification]:
|
|
13309
|
+
'''Whether CloudWatch contributor insights is enabled and what mode is selected.
|
|
13310
|
+
|
|
13311
|
+
:default: - contributor insights is not enabled
|
|
13312
|
+
'''
|
|
13313
|
+
result = self._values.get("contributor_insights_specification")
|
|
13314
|
+
return typing.cast(typing.Optional[ContributorInsightsSpecification], result)
|
|
13315
|
+
|
|
13108
13316
|
@builtins.property
|
|
13109
13317
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
13110
13318
|
'''Enables deletion protection for the table.
|
|
@@ -13369,6 +13577,7 @@ class TableOptions(SchemaOptions):
|
|
|
13369
13577
|
jsii_struct_bases=[],
|
|
13370
13578
|
name_mapping={
|
|
13371
13579
|
"contributor_insights": "contributorInsights",
|
|
13580
|
+
"contributor_insights_specification": "contributorInsightsSpecification",
|
|
13372
13581
|
"deletion_protection": "deletionProtection",
|
|
13373
13582
|
"kinesis_stream": "kinesisStream",
|
|
13374
13583
|
"point_in_time_recovery": "pointInTimeRecovery",
|
|
@@ -13383,6 +13592,7 @@ class TableOptionsV2:
|
|
|
13383
13592
|
self,
|
|
13384
13593
|
*,
|
|
13385
13594
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
13595
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
13386
13596
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
13387
13597
|
kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
|
|
13388
13598
|
point_in_time_recovery: typing.Optional[builtins.bool] = None,
|
|
@@ -13393,7 +13603,8 @@ class TableOptionsV2:
|
|
|
13393
13603
|
) -> None:
|
|
13394
13604
|
'''Options used to configure a DynamoDB table.
|
|
13395
13605
|
|
|
13396
|
-
:param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
|
|
13606
|
+
:param contributor_insights: (deprecated) Whether CloudWatch contributor insights is enabled. Default: false
|
|
13607
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
13397
13608
|
:param deletion_protection: Whether deletion protection is enabled. Default: false
|
|
13398
13609
|
:param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
|
|
13399
13610
|
:param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
|
|
@@ -13417,6 +13628,12 @@ class TableOptionsV2:
|
|
|
13417
13628
|
|
|
13418
13629
|
table_options_v2 = dynamodb.TableOptionsV2(
|
|
13419
13630
|
contributor_insights=False,
|
|
13631
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification(
|
|
13632
|
+
enabled=False,
|
|
13633
|
+
|
|
13634
|
+
# the properties below are optional
|
|
13635
|
+
mode=dynamodb.ContributorInsightsMode.ACCESSED_AND_THROTTLED_KEYS
|
|
13636
|
+
),
|
|
13420
13637
|
deletion_protection=False,
|
|
13421
13638
|
kinesis_stream=stream,
|
|
13422
13639
|
point_in_time_recovery=False,
|
|
@@ -13434,11 +13651,14 @@ class TableOptionsV2:
|
|
|
13434
13651
|
)]
|
|
13435
13652
|
)
|
|
13436
13653
|
'''
|
|
13654
|
+
if isinstance(contributor_insights_specification, dict):
|
|
13655
|
+
contributor_insights_specification = ContributorInsightsSpecification(**contributor_insights_specification)
|
|
13437
13656
|
if isinstance(point_in_time_recovery_specification, dict):
|
|
13438
13657
|
point_in_time_recovery_specification = PointInTimeRecoverySpecification(**point_in_time_recovery_specification)
|
|
13439
13658
|
if __debug__:
|
|
13440
13659
|
type_hints = typing.get_type_hints(_typecheckingstub__1b65ee3c8ef5c3b632f4d1fad233252caadaa5f607c0fd92f49b64933f1de51c)
|
|
13441
13660
|
check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
|
|
13661
|
+
check_type(argname="argument contributor_insights_specification", value=contributor_insights_specification, expected_type=type_hints["contributor_insights_specification"])
|
|
13442
13662
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
13443
13663
|
check_type(argname="argument kinesis_stream", value=kinesis_stream, expected_type=type_hints["kinesis_stream"])
|
|
13444
13664
|
check_type(argname="argument point_in_time_recovery", value=point_in_time_recovery, expected_type=type_hints["point_in_time_recovery"])
|
|
@@ -13449,6 +13669,8 @@ class TableOptionsV2:
|
|
|
13449
13669
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
13450
13670
|
if contributor_insights is not None:
|
|
13451
13671
|
self._values["contributor_insights"] = contributor_insights
|
|
13672
|
+
if contributor_insights_specification is not None:
|
|
13673
|
+
self._values["contributor_insights_specification"] = contributor_insights_specification
|
|
13452
13674
|
if deletion_protection is not None:
|
|
13453
13675
|
self._values["deletion_protection"] = deletion_protection
|
|
13454
13676
|
if kinesis_stream is not None:
|
|
@@ -13466,13 +13688,28 @@ class TableOptionsV2:
|
|
|
13466
13688
|
|
|
13467
13689
|
@builtins.property
|
|
13468
13690
|
def contributor_insights(self) -> typing.Optional[builtins.bool]:
|
|
13469
|
-
'''Whether CloudWatch contributor insights is enabled.
|
|
13691
|
+
'''(deprecated) Whether CloudWatch contributor insights is enabled.
|
|
13470
13692
|
|
|
13471
13693
|
:default: false
|
|
13694
|
+
|
|
13695
|
+
:deprecated: use ``contributorInsightsSpecification`` instead
|
|
13696
|
+
|
|
13697
|
+
:stability: deprecated
|
|
13472
13698
|
'''
|
|
13473
13699
|
result = self._values.get("contributor_insights")
|
|
13474
13700
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
13475
13701
|
|
|
13702
|
+
@builtins.property
|
|
13703
|
+
def contributor_insights_specification(
|
|
13704
|
+
self,
|
|
13705
|
+
) -> typing.Optional[ContributorInsightsSpecification]:
|
|
13706
|
+
'''Whether CloudWatch contributor insights is enabled and what mode is selected.
|
|
13707
|
+
|
|
13708
|
+
:default: - contributor insights is not enabled
|
|
13709
|
+
'''
|
|
13710
|
+
result = self._values.get("contributor_insights_specification")
|
|
13711
|
+
return typing.cast(typing.Optional[ContributorInsightsSpecification], result)
|
|
13712
|
+
|
|
13476
13713
|
@builtins.property
|
|
13477
13714
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
13478
13715
|
'''Whether deletion protection is enabled.
|
|
@@ -13564,6 +13801,7 @@ class TableOptionsV2:
|
|
|
13564
13801
|
"sort_key": "sortKey",
|
|
13565
13802
|
"billing_mode": "billingMode",
|
|
13566
13803
|
"contributor_insights_enabled": "contributorInsightsEnabled",
|
|
13804
|
+
"contributor_insights_specification": "contributorInsightsSpecification",
|
|
13567
13805
|
"deletion_protection": "deletionProtection",
|
|
13568
13806
|
"encryption": "encryption",
|
|
13569
13807
|
"encryption_key": "encryptionKey",
|
|
@@ -13597,6 +13835,7 @@ class TableProps(TableOptions):
|
|
|
13597
13835
|
sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
13598
13836
|
billing_mode: typing.Optional[BillingMode] = None,
|
|
13599
13837
|
contributor_insights_enabled: typing.Optional[builtins.bool] = None,
|
|
13838
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
13600
13839
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
13601
13840
|
encryption: typing.Optional[TableEncryption] = None,
|
|
13602
13841
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
@@ -13626,7 +13865,8 @@ class TableProps(TableOptions):
|
|
|
13626
13865
|
:param partition_key: Partition key attribute definition.
|
|
13627
13866
|
:param sort_key: Sort key attribute definition. Default: no sort key
|
|
13628
13867
|
:param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Default: PROVISIONED if ``replicationRegions`` is not specified, PAY_PER_REQUEST otherwise
|
|
13629
|
-
:param contributor_insights_enabled: Whether CloudWatch contributor insights is enabled. Default: false
|
|
13868
|
+
:param contributor_insights_enabled: (deprecated) Whether CloudWatch contributor insights is enabled. Default: false
|
|
13869
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
13630
13870
|
:param deletion_protection: Enables deletion protection for the table. Default: false
|
|
13631
13871
|
:param encryption: Whether server-side encryption with an AWS managed customer master key is enabled. This property cannot be set if ``serverSideEncryption`` is set. .. epigraph:: **NOTE**: if you set this to ``CUSTOMER_MANAGED`` and ``encryptionKey`` is not specified, the key that the Tablet generates for you will be created with default permissions. If you are using CDKv2, these permissions will be sufficient to enable the key for use with DynamoDB tables. If you are using CDKv1, make sure the feature flag ``@aws-cdk/aws-kms:defaultKeyPolicies`` is set to ``true`` in your ``cdk.json``. Default: - The table is encrypted with an encryption key managed by DynamoDB, and you are not charged any fee for using it.
|
|
13632
13872
|
:param encryption_key: External KMS key to use for table encryption. This property can only be set if ``encryption`` is set to ``TableEncryption.CUSTOMER_MANAGED``. Default: - If ``encryption`` is set to ``TableEncryption.CUSTOMER_MANAGED`` and this property is undefined, a new KMS key will be created and associated with this table. If ``encryption`` and this property are both undefined, then the table is encrypted with an encryption key managed by DynamoDB, and you are not charged any fee for using it.
|
|
@@ -13681,6 +13921,8 @@ class TableProps(TableOptions):
|
|
|
13681
13921
|
partition_key = Attribute(**partition_key)
|
|
13682
13922
|
if isinstance(sort_key, dict):
|
|
13683
13923
|
sort_key = Attribute(**sort_key)
|
|
13924
|
+
if isinstance(contributor_insights_specification, dict):
|
|
13925
|
+
contributor_insights_specification = ContributorInsightsSpecification(**contributor_insights_specification)
|
|
13684
13926
|
if isinstance(import_source, dict):
|
|
13685
13927
|
import_source = ImportSourceSpecification(**import_source)
|
|
13686
13928
|
if isinstance(point_in_time_recovery_specification, dict):
|
|
@@ -13693,6 +13935,7 @@ class TableProps(TableOptions):
|
|
|
13693
13935
|
check_type(argname="argument sort_key", value=sort_key, expected_type=type_hints["sort_key"])
|
|
13694
13936
|
check_type(argname="argument billing_mode", value=billing_mode, expected_type=type_hints["billing_mode"])
|
|
13695
13937
|
check_type(argname="argument contributor_insights_enabled", value=contributor_insights_enabled, expected_type=type_hints["contributor_insights_enabled"])
|
|
13938
|
+
check_type(argname="argument contributor_insights_specification", value=contributor_insights_specification, expected_type=type_hints["contributor_insights_specification"])
|
|
13696
13939
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
13697
13940
|
check_type(argname="argument encryption", value=encryption, expected_type=type_hints["encryption"])
|
|
13698
13941
|
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
@@ -13725,6 +13968,8 @@ class TableProps(TableOptions):
|
|
|
13725
13968
|
self._values["billing_mode"] = billing_mode
|
|
13726
13969
|
if contributor_insights_enabled is not None:
|
|
13727
13970
|
self._values["contributor_insights_enabled"] = contributor_insights_enabled
|
|
13971
|
+
if contributor_insights_specification is not None:
|
|
13972
|
+
self._values["contributor_insights_specification"] = contributor_insights_specification
|
|
13728
13973
|
if deletion_protection is not None:
|
|
13729
13974
|
self._values["deletion_protection"] = deletion_protection
|
|
13730
13975
|
if encryption is not None:
|
|
@@ -13799,13 +14044,28 @@ class TableProps(TableOptions):
|
|
|
13799
14044
|
|
|
13800
14045
|
@builtins.property
|
|
13801
14046
|
def contributor_insights_enabled(self) -> typing.Optional[builtins.bool]:
|
|
13802
|
-
'''Whether CloudWatch contributor insights is enabled.
|
|
14047
|
+
'''(deprecated) Whether CloudWatch contributor insights is enabled.
|
|
13803
14048
|
|
|
13804
14049
|
:default: false
|
|
14050
|
+
|
|
14051
|
+
:deprecated: use `contributorInsightsSpecification instead
|
|
14052
|
+
|
|
14053
|
+
:stability: deprecated
|
|
13805
14054
|
'''
|
|
13806
14055
|
result = self._values.get("contributor_insights_enabled")
|
|
13807
14056
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
13808
14057
|
|
|
14058
|
+
@builtins.property
|
|
14059
|
+
def contributor_insights_specification(
|
|
14060
|
+
self,
|
|
14061
|
+
) -> typing.Optional[ContributorInsightsSpecification]:
|
|
14062
|
+
'''Whether CloudWatch contributor insights is enabled and what mode is selected.
|
|
14063
|
+
|
|
14064
|
+
:default: - contributor insights is not enabled
|
|
14065
|
+
'''
|
|
14066
|
+
result = self._values.get("contributor_insights_specification")
|
|
14067
|
+
return typing.cast(typing.Optional[ContributorInsightsSpecification], result)
|
|
14068
|
+
|
|
13809
14069
|
@builtins.property
|
|
13810
14070
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
13811
14071
|
'''Enables deletion protection for the table.
|
|
@@ -14099,6 +14359,7 @@ class TableProps(TableOptions):
|
|
|
14099
14359
|
jsii_struct_bases=[TableOptionsV2],
|
|
14100
14360
|
name_mapping={
|
|
14101
14361
|
"contributor_insights": "contributorInsights",
|
|
14362
|
+
"contributor_insights_specification": "contributorInsightsSpecification",
|
|
14102
14363
|
"deletion_protection": "deletionProtection",
|
|
14103
14364
|
"kinesis_stream": "kinesisStream",
|
|
14104
14365
|
"point_in_time_recovery": "pointInTimeRecovery",
|
|
@@ -14127,6 +14388,7 @@ class TablePropsV2(TableOptionsV2):
|
|
|
14127
14388
|
self,
|
|
14128
14389
|
*,
|
|
14129
14390
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
14391
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
14130
14392
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
14131
14393
|
kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
|
|
14132
14394
|
point_in_time_recovery: typing.Optional[builtins.bool] = None,
|
|
@@ -14151,7 +14413,8 @@ class TablePropsV2(TableOptionsV2):
|
|
|
14151
14413
|
) -> None:
|
|
14152
14414
|
'''Properties used to configure a DynamoDB table.
|
|
14153
14415
|
|
|
14154
|
-
:param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
|
|
14416
|
+
:param contributor_insights: (deprecated) Whether CloudWatch contributor insights is enabled. Default: false
|
|
14417
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
14155
14418
|
:param deletion_protection: Whether deletion protection is enabled. Default: false
|
|
14156
14419
|
:param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
|
|
14157
14420
|
:param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
|
|
@@ -14187,11 +14450,12 @@ class TablePropsV2(TableOptionsV2):
|
|
|
14187
14450
|
mrsc_table = dynamodb.TableV2(stack, "MRSCTable",
|
|
14188
14451
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
14189
14452
|
multi_region_consistency=dynamodb.MultiRegionConsistency.STRONG,
|
|
14190
|
-
replicas=[dynamodb.ReplicaTableProps(region="us-east-1")
|
|
14191
|
-
]
|
|
14192
|
-
witness_region="us-east-2"
|
|
14453
|
+
replicas=[dynamodb.ReplicaTableProps(region="us-east-1"), dynamodb.ReplicaTableProps(region="us-east-2")
|
|
14454
|
+
]
|
|
14193
14455
|
)
|
|
14194
14456
|
'''
|
|
14457
|
+
if isinstance(contributor_insights_specification, dict):
|
|
14458
|
+
contributor_insights_specification = ContributorInsightsSpecification(**contributor_insights_specification)
|
|
14195
14459
|
if isinstance(point_in_time_recovery_specification, dict):
|
|
14196
14460
|
point_in_time_recovery_specification = PointInTimeRecoverySpecification(**point_in_time_recovery_specification)
|
|
14197
14461
|
if isinstance(partition_key, dict):
|
|
@@ -14203,6 +14467,7 @@ class TablePropsV2(TableOptionsV2):
|
|
|
14203
14467
|
if __debug__:
|
|
14204
14468
|
type_hints = typing.get_type_hints(_typecheckingstub__205e5df85e01c6c2d91d5922a57e3ed5903027748a8b3222622bebd1077e84ba)
|
|
14205
14469
|
check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
|
|
14470
|
+
check_type(argname="argument contributor_insights_specification", value=contributor_insights_specification, expected_type=type_hints["contributor_insights_specification"])
|
|
14206
14471
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
14207
14472
|
check_type(argname="argument kinesis_stream", value=kinesis_stream, expected_type=type_hints["kinesis_stream"])
|
|
14208
14473
|
check_type(argname="argument point_in_time_recovery", value=point_in_time_recovery, expected_type=type_hints["point_in_time_recovery"])
|
|
@@ -14229,6 +14494,8 @@ class TablePropsV2(TableOptionsV2):
|
|
|
14229
14494
|
}
|
|
14230
14495
|
if contributor_insights is not None:
|
|
14231
14496
|
self._values["contributor_insights"] = contributor_insights
|
|
14497
|
+
if contributor_insights_specification is not None:
|
|
14498
|
+
self._values["contributor_insights_specification"] = contributor_insights_specification
|
|
14232
14499
|
if deletion_protection is not None:
|
|
14233
14500
|
self._values["deletion_protection"] = deletion_protection
|
|
14234
14501
|
if kinesis_stream is not None:
|
|
@@ -14272,13 +14539,28 @@ class TablePropsV2(TableOptionsV2):
|
|
|
14272
14539
|
|
|
14273
14540
|
@builtins.property
|
|
14274
14541
|
def contributor_insights(self) -> typing.Optional[builtins.bool]:
|
|
14275
|
-
'''Whether CloudWatch contributor insights is enabled.
|
|
14542
|
+
'''(deprecated) Whether CloudWatch contributor insights is enabled.
|
|
14276
14543
|
|
|
14277
14544
|
:default: false
|
|
14545
|
+
|
|
14546
|
+
:deprecated: use ``contributorInsightsSpecification`` instead
|
|
14547
|
+
|
|
14548
|
+
:stability: deprecated
|
|
14278
14549
|
'''
|
|
14279
14550
|
result = self._values.get("contributor_insights")
|
|
14280
14551
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
14281
14552
|
|
|
14553
|
+
@builtins.property
|
|
14554
|
+
def contributor_insights_specification(
|
|
14555
|
+
self,
|
|
14556
|
+
) -> typing.Optional[ContributorInsightsSpecification]:
|
|
14557
|
+
'''Whether CloudWatch contributor insights is enabled and what mode is selected.
|
|
14558
|
+
|
|
14559
|
+
:default: - contributor insights is not enabled
|
|
14560
|
+
'''
|
|
14561
|
+
result = self._values.get("contributor_insights_specification")
|
|
14562
|
+
return typing.cast(typing.Optional[ContributorInsightsSpecification], result)
|
|
14563
|
+
|
|
14282
14564
|
@builtins.property
|
|
14283
14565
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
14284
14566
|
'''Whether deletion protection is enabled.
|
|
@@ -14553,6 +14835,7 @@ class TableV2(
|
|
|
14553
14835
|
warm_throughput: typing.Optional[typing.Union["WarmThroughput", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
14554
14836
|
witness_region: typing.Optional[builtins.str] = None,
|
|
14555
14837
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
14838
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
14556
14839
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
14557
14840
|
kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
|
|
14558
14841
|
point_in_time_recovery: typing.Optional[builtins.bool] = None,
|
|
@@ -14578,7 +14861,8 @@ class TableV2(
|
|
|
14578
14861
|
:param time_to_live_attribute: The name of the TTL attribute. Default: - TTL is disabled
|
|
14579
14862
|
:param warm_throughput: The warm throughput configuration for the table. Default: - no warm throughput is configured
|
|
14580
14863
|
:param witness_region: The witness Region for the MRSC global table. A MRSC global table can be configured with either three replicas, or with two replicas and one witness. Note: Witness region cannot be specified for a Multi-Region Eventual Consistency (MREC) Global Table. Witness regions are only supported for Multi-Region Strong Consistency (MRSC) Global Tables. Default: - no witness region
|
|
14581
|
-
:param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
|
|
14864
|
+
:param contributor_insights: (deprecated) Whether CloudWatch contributor insights is enabled. Default: false
|
|
14865
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
14582
14866
|
:param deletion_protection: Whether deletion protection is enabled. Default: false
|
|
14583
14867
|
:param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
|
|
14584
14868
|
:param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
|
|
@@ -14607,6 +14891,7 @@ class TableV2(
|
|
|
14607
14891
|
warm_throughput=warm_throughput,
|
|
14608
14892
|
witness_region=witness_region,
|
|
14609
14893
|
contributor_insights=contributor_insights,
|
|
14894
|
+
contributor_insights_specification=contributor_insights_specification,
|
|
14610
14895
|
deletion_protection=deletion_protection,
|
|
14611
14896
|
kinesis_stream=kinesis_stream,
|
|
14612
14897
|
point_in_time_recovery=point_in_time_recovery,
|
|
@@ -14787,6 +15072,7 @@ class TableV2(
|
|
|
14787
15072
|
max_read_request_units: typing.Optional[jsii.Number] = None,
|
|
14788
15073
|
read_capacity: typing.Optional[Capacity] = None,
|
|
14789
15074
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
15075
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
14790
15076
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
14791
15077
|
kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
|
|
14792
15078
|
point_in_time_recovery: typing.Optional[builtins.bool] = None,
|
|
@@ -14803,7 +15089,8 @@ class TableV2(
|
|
|
14803
15089
|
:param global_secondary_index_options: Options used to configure global secondary index properties. Default: - inherited from the primary table
|
|
14804
15090
|
:param max_read_request_units: The maximum read request units. Note: This can only be configured if the primary table billing is PAY_PER_REQUEST. Default: - inherited from the primary table
|
|
14805
15091
|
:param read_capacity: The read capacity. Note: This can only be configured if the primary table billing is provisioned. Default: - inherited from the primary table
|
|
14806
|
-
:param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
|
|
15092
|
+
:param contributor_insights: (deprecated) Whether CloudWatch contributor insights is enabled. Default: false
|
|
15093
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
14807
15094
|
:param deletion_protection: Whether deletion protection is enabled. Default: false
|
|
14808
15095
|
:param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
|
|
14809
15096
|
:param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
|
|
@@ -14818,6 +15105,7 @@ class TableV2(
|
|
|
14818
15105
|
max_read_request_units=max_read_request_units,
|
|
14819
15106
|
read_capacity=read_capacity,
|
|
14820
15107
|
contributor_insights=contributor_insights,
|
|
15108
|
+
contributor_insights_specification=contributor_insights_specification,
|
|
14821
15109
|
deletion_protection=deletion_protection,
|
|
14822
15110
|
kinesis_stream=kinesis_stream,
|
|
14823
15111
|
point_in_time_recovery=point_in_time_recovery,
|
|
@@ -15215,6 +15503,7 @@ class WarmThroughput:
|
|
|
15215
15503
|
"partition_key": "partitionKey",
|
|
15216
15504
|
"sort_key": "sortKey",
|
|
15217
15505
|
"contributor_insights_enabled": "contributorInsightsEnabled",
|
|
15506
|
+
"contributor_insights_specification": "contributorInsightsSpecification",
|
|
15218
15507
|
"max_read_request_units": "maxReadRequestUnits",
|
|
15219
15508
|
"max_write_request_units": "maxWriteRequestUnits",
|
|
15220
15509
|
"read_capacity": "readCapacity",
|
|
@@ -15232,6 +15521,7 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
|
|
|
15232
15521
|
partition_key: typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]],
|
|
15233
15522
|
sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
15234
15523
|
contributor_insights_enabled: typing.Optional[builtins.bool] = None,
|
|
15524
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
15235
15525
|
max_read_request_units: typing.Optional[jsii.Number] = None,
|
|
15236
15526
|
max_write_request_units: typing.Optional[jsii.Number] = None,
|
|
15237
15527
|
read_capacity: typing.Optional[jsii.Number] = None,
|
|
@@ -15245,7 +15535,8 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
|
|
|
15245
15535
|
:param projection_type: The set of attributes that are projected into the secondary index. Default: ALL
|
|
15246
15536
|
:param partition_key: Partition key attribute definition.
|
|
15247
15537
|
:param sort_key: Sort key attribute definition. Default: no sort key
|
|
15248
|
-
:param contributor_insights_enabled: Whether CloudWatch contributor insights is enabled for the specified global secondary index. Default: false
|
|
15538
|
+
:param contributor_insights_enabled: (deprecated) Whether CloudWatch contributor insights is enabled for the specified global secondary index. Default: false
|
|
15539
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
15249
15540
|
:param max_read_request_units: The maximum read request units for the global secondary index. Can only be provided if table billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
|
|
15250
15541
|
:param max_write_request_units: The maximum write request units for the global secondary index. Can only be provided if table billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
|
|
15251
15542
|
:param read_capacity: The read capacity for the global secondary index. Can only be provided if table billingMode is Provisioned or undefined. Default: 5
|
|
@@ -15258,11 +15549,14 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
|
|
|
15258
15549
|
|
|
15259
15550
|
table = dynamodb.Table(self, "Table",
|
|
15260
15551
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
|
|
15261
|
-
|
|
15552
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification( # for a table
|
|
15553
|
+
enabled=True,
|
|
15554
|
+
mode=dynamodb.ContributorInsightsMode.THROTTLED_KEYS)
|
|
15262
15555
|
)
|
|
15263
15556
|
|
|
15264
15557
|
table.add_global_secondary_index(
|
|
15265
|
-
|
|
15558
|
+
contributor_insights_specification=dynamodb.ContributorInsightsSpecification( # for a specific global secondary index
|
|
15559
|
+
enabled=True),
|
|
15266
15560
|
index_name="gsi",
|
|
15267
15561
|
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING)
|
|
15268
15562
|
)
|
|
@@ -15271,6 +15565,8 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
|
|
|
15271
15565
|
partition_key = Attribute(**partition_key)
|
|
15272
15566
|
if isinstance(sort_key, dict):
|
|
15273
15567
|
sort_key = Attribute(**sort_key)
|
|
15568
|
+
if isinstance(contributor_insights_specification, dict):
|
|
15569
|
+
contributor_insights_specification = ContributorInsightsSpecification(**contributor_insights_specification)
|
|
15274
15570
|
if isinstance(warm_throughput, dict):
|
|
15275
15571
|
warm_throughput = WarmThroughput(**warm_throughput)
|
|
15276
15572
|
if __debug__:
|
|
@@ -15281,6 +15577,7 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
|
|
|
15281
15577
|
check_type(argname="argument partition_key", value=partition_key, expected_type=type_hints["partition_key"])
|
|
15282
15578
|
check_type(argname="argument sort_key", value=sort_key, expected_type=type_hints["sort_key"])
|
|
15283
15579
|
check_type(argname="argument contributor_insights_enabled", value=contributor_insights_enabled, expected_type=type_hints["contributor_insights_enabled"])
|
|
15580
|
+
check_type(argname="argument contributor_insights_specification", value=contributor_insights_specification, expected_type=type_hints["contributor_insights_specification"])
|
|
15284
15581
|
check_type(argname="argument max_read_request_units", value=max_read_request_units, expected_type=type_hints["max_read_request_units"])
|
|
15285
15582
|
check_type(argname="argument max_write_request_units", value=max_write_request_units, expected_type=type_hints["max_write_request_units"])
|
|
15286
15583
|
check_type(argname="argument read_capacity", value=read_capacity, expected_type=type_hints["read_capacity"])
|
|
@@ -15298,6 +15595,8 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
|
|
|
15298
15595
|
self._values["sort_key"] = sort_key
|
|
15299
15596
|
if contributor_insights_enabled is not None:
|
|
15300
15597
|
self._values["contributor_insights_enabled"] = contributor_insights_enabled
|
|
15598
|
+
if contributor_insights_specification is not None:
|
|
15599
|
+
self._values["contributor_insights_specification"] = contributor_insights_specification
|
|
15301
15600
|
if max_read_request_units is not None:
|
|
15302
15601
|
self._values["max_read_request_units"] = max_read_request_units
|
|
15303
15602
|
if max_write_request_units is not None:
|
|
@@ -15352,13 +15651,28 @@ class GlobalSecondaryIndexProps(SecondaryIndexProps, SchemaOptions):
|
|
|
15352
15651
|
|
|
15353
15652
|
@builtins.property
|
|
15354
15653
|
def contributor_insights_enabled(self) -> typing.Optional[builtins.bool]:
|
|
15355
|
-
'''Whether CloudWatch contributor insights is enabled for the specified global secondary index.
|
|
15654
|
+
'''(deprecated) Whether CloudWatch contributor insights is enabled for the specified global secondary index.
|
|
15356
15655
|
|
|
15357
15656
|
:default: false
|
|
15657
|
+
|
|
15658
|
+
:deprecated: use ``contributorInsightsSpecification`` instead
|
|
15659
|
+
|
|
15660
|
+
:stability: deprecated
|
|
15358
15661
|
'''
|
|
15359
15662
|
result = self._values.get("contributor_insights_enabled")
|
|
15360
15663
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
15361
15664
|
|
|
15665
|
+
@builtins.property
|
|
15666
|
+
def contributor_insights_specification(
|
|
15667
|
+
self,
|
|
15668
|
+
) -> typing.Optional[ContributorInsightsSpecification]:
|
|
15669
|
+
'''Whether CloudWatch contributor insights is enabled and what mode is selected.
|
|
15670
|
+
|
|
15671
|
+
:default: - contributor insights is not enabled
|
|
15672
|
+
'''
|
|
15673
|
+
result = self._values.get("contributor_insights_specification")
|
|
15674
|
+
return typing.cast(typing.Optional[ContributorInsightsSpecification], result)
|
|
15675
|
+
|
|
15362
15676
|
@builtins.property
|
|
15363
15677
|
def max_read_request_units(self) -> typing.Optional[jsii.Number]:
|
|
15364
15678
|
'''The maximum read request units for the global secondary index.
|
|
@@ -16038,6 +16352,7 @@ class OperationsMetricOptions(SystemErrorsForOperationsMetricOptions):
|
|
|
16038
16352
|
jsii_struct_bases=[TableOptionsV2],
|
|
16039
16353
|
name_mapping={
|
|
16040
16354
|
"contributor_insights": "contributorInsights",
|
|
16355
|
+
"contributor_insights_specification": "contributorInsightsSpecification",
|
|
16041
16356
|
"deletion_protection": "deletionProtection",
|
|
16042
16357
|
"kinesis_stream": "kinesisStream",
|
|
16043
16358
|
"point_in_time_recovery": "pointInTimeRecovery",
|
|
@@ -16056,6 +16371,7 @@ class ReplicaTableProps(TableOptionsV2):
|
|
|
16056
16371
|
self,
|
|
16057
16372
|
*,
|
|
16058
16373
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
16374
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
16059
16375
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
16060
16376
|
kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
|
|
16061
16377
|
point_in_time_recovery: typing.Optional[builtins.bool] = None,
|
|
@@ -16070,7 +16386,8 @@ class ReplicaTableProps(TableOptionsV2):
|
|
|
16070
16386
|
) -> None:
|
|
16071
16387
|
'''Properties used to configure a replica table.
|
|
16072
16388
|
|
|
16073
|
-
:param contributor_insights: Whether CloudWatch contributor insights is enabled. Default: false
|
|
16389
|
+
:param contributor_insights: (deprecated) Whether CloudWatch contributor insights is enabled. Default: false
|
|
16390
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
16074
16391
|
:param deletion_protection: Whether deletion protection is enabled. Default: false
|
|
16075
16392
|
:param kinesis_stream: Kinesis Data Stream to capture item level changes. Default: - no Kinesis Data Stream
|
|
16076
16393
|
:param point_in_time_recovery: (deprecated) Whether point-in-time recovery is enabled. Default: false - point in time recovery is not enabled.
|
|
@@ -16100,11 +16417,14 @@ class ReplicaTableProps(TableOptionsV2):
|
|
|
16100
16417
|
|
|
16101
16418
|
global_table.add_replica(region="us-east-2", deletion_protection=True)
|
|
16102
16419
|
'''
|
|
16420
|
+
if isinstance(contributor_insights_specification, dict):
|
|
16421
|
+
contributor_insights_specification = ContributorInsightsSpecification(**contributor_insights_specification)
|
|
16103
16422
|
if isinstance(point_in_time_recovery_specification, dict):
|
|
16104
16423
|
point_in_time_recovery_specification = PointInTimeRecoverySpecification(**point_in_time_recovery_specification)
|
|
16105
16424
|
if __debug__:
|
|
16106
16425
|
type_hints = typing.get_type_hints(_typecheckingstub__7500a741eaeb840f48aaefcd8fc5fbbb8b1082165601116ca363e5ddbaa79e6f)
|
|
16107
16426
|
check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
|
|
16427
|
+
check_type(argname="argument contributor_insights_specification", value=contributor_insights_specification, expected_type=type_hints["contributor_insights_specification"])
|
|
16108
16428
|
check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
|
|
16109
16429
|
check_type(argname="argument kinesis_stream", value=kinesis_stream, expected_type=type_hints["kinesis_stream"])
|
|
16110
16430
|
check_type(argname="argument point_in_time_recovery", value=point_in_time_recovery, expected_type=type_hints["point_in_time_recovery"])
|
|
@@ -16121,6 +16441,8 @@ class ReplicaTableProps(TableOptionsV2):
|
|
|
16121
16441
|
}
|
|
16122
16442
|
if contributor_insights is not None:
|
|
16123
16443
|
self._values["contributor_insights"] = contributor_insights
|
|
16444
|
+
if contributor_insights_specification is not None:
|
|
16445
|
+
self._values["contributor_insights_specification"] = contributor_insights_specification
|
|
16124
16446
|
if deletion_protection is not None:
|
|
16125
16447
|
self._values["deletion_protection"] = deletion_protection
|
|
16126
16448
|
if kinesis_stream is not None:
|
|
@@ -16144,13 +16466,28 @@ class ReplicaTableProps(TableOptionsV2):
|
|
|
16144
16466
|
|
|
16145
16467
|
@builtins.property
|
|
16146
16468
|
def contributor_insights(self) -> typing.Optional[builtins.bool]:
|
|
16147
|
-
'''Whether CloudWatch contributor insights is enabled.
|
|
16469
|
+
'''(deprecated) Whether CloudWatch contributor insights is enabled.
|
|
16148
16470
|
|
|
16149
16471
|
:default: false
|
|
16472
|
+
|
|
16473
|
+
:deprecated: use ``contributorInsightsSpecification`` instead
|
|
16474
|
+
|
|
16475
|
+
:stability: deprecated
|
|
16150
16476
|
'''
|
|
16151
16477
|
result = self._values.get("contributor_insights")
|
|
16152
16478
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
16153
16479
|
|
|
16480
|
+
@builtins.property
|
|
16481
|
+
def contributor_insights_specification(
|
|
16482
|
+
self,
|
|
16483
|
+
) -> typing.Optional[ContributorInsightsSpecification]:
|
|
16484
|
+
'''Whether CloudWatch contributor insights is enabled and what mode is selected.
|
|
16485
|
+
|
|
16486
|
+
:default: - contributor insights is not enabled
|
|
16487
|
+
'''
|
|
16488
|
+
result = self._values.get("contributor_insights_specification")
|
|
16489
|
+
return typing.cast(typing.Optional[ContributorInsightsSpecification], result)
|
|
16490
|
+
|
|
16154
16491
|
@builtins.property
|
|
16155
16492
|
def deletion_protection(self) -> typing.Optional[builtins.bool]:
|
|
16156
16493
|
'''Whether deletion protection is enabled.
|
|
@@ -16318,6 +16655,7 @@ class Table(
|
|
|
16318
16655
|
table_name: typing.Optional[builtins.str] = None,
|
|
16319
16656
|
billing_mode: typing.Optional[BillingMode] = None,
|
|
16320
16657
|
contributor_insights_enabled: typing.Optional[builtins.bool] = None,
|
|
16658
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
16321
16659
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
16322
16660
|
encryption: typing.Optional[TableEncryption] = None,
|
|
16323
16661
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
@@ -16348,7 +16686,8 @@ class Table(
|
|
|
16348
16686
|
:param kinesis_stream: Kinesis Data Stream to capture item-level changes for the table. Default: - no Kinesis Data Stream
|
|
16349
16687
|
:param table_name: Enforces a particular physical table name. Default:
|
|
16350
16688
|
:param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Default: PROVISIONED if ``replicationRegions`` is not specified, PAY_PER_REQUEST otherwise
|
|
16351
|
-
:param contributor_insights_enabled: Whether CloudWatch contributor insights is enabled. Default: false
|
|
16689
|
+
:param contributor_insights_enabled: (deprecated) Whether CloudWatch contributor insights is enabled. Default: false
|
|
16690
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
16352
16691
|
:param deletion_protection: Enables deletion protection for the table. Default: false
|
|
16353
16692
|
:param encryption: Whether server-side encryption with an AWS managed customer master key is enabled. This property cannot be set if ``serverSideEncryption`` is set. .. epigraph:: **NOTE**: if you set this to ``CUSTOMER_MANAGED`` and ``encryptionKey`` is not specified, the key that the Tablet generates for you will be created with default permissions. If you are using CDKv2, these permissions will be sufficient to enable the key for use with DynamoDB tables. If you are using CDKv1, make sure the feature flag ``@aws-cdk/aws-kms:defaultKeyPolicies`` is set to ``true`` in your ``cdk.json``. Default: - The table is encrypted with an encryption key managed by DynamoDB, and you are not charged any fee for using it.
|
|
16354
16693
|
:param encryption_key: External KMS key to use for table encryption. This property can only be set if ``encryption`` is set to ``TableEncryption.CUSTOMER_MANAGED``. Default: - If ``encryption`` is set to ``TableEncryption.CUSTOMER_MANAGED`` and this property is undefined, a new KMS key will be created and associated with this table. If ``encryption`` and this property are both undefined, then the table is encrypted with an encryption key managed by DynamoDB, and you are not charged any fee for using it.
|
|
@@ -16382,6 +16721,7 @@ class Table(
|
|
|
16382
16721
|
table_name=table_name,
|
|
16383
16722
|
billing_mode=billing_mode,
|
|
16384
16723
|
contributor_insights_enabled=contributor_insights_enabled,
|
|
16724
|
+
contributor_insights_specification=contributor_insights_specification,
|
|
16385
16725
|
deletion_protection=deletion_protection,
|
|
16386
16726
|
encryption=encryption,
|
|
16387
16727
|
encryption_key=encryption_key,
|
|
@@ -16498,6 +16838,7 @@ class Table(
|
|
|
16498
16838
|
self,
|
|
16499
16839
|
*,
|
|
16500
16840
|
contributor_insights_enabled: typing.Optional[builtins.bool] = None,
|
|
16841
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
16501
16842
|
max_read_request_units: typing.Optional[jsii.Number] = None,
|
|
16502
16843
|
max_write_request_units: typing.Optional[jsii.Number] = None,
|
|
16503
16844
|
read_capacity: typing.Optional[jsii.Number] = None,
|
|
@@ -16511,7 +16852,8 @@ class Table(
|
|
|
16511
16852
|
) -> None:
|
|
16512
16853
|
'''Add a global secondary index of table.
|
|
16513
16854
|
|
|
16514
|
-
:param contributor_insights_enabled: Whether CloudWatch contributor insights is enabled for the specified global secondary index. Default: false
|
|
16855
|
+
:param contributor_insights_enabled: (deprecated) Whether CloudWatch contributor insights is enabled for the specified global secondary index. Default: false
|
|
16856
|
+
:param contributor_insights_specification: Whether CloudWatch contributor insights is enabled and what mode is selected. Default: - contributor insights is not enabled
|
|
16515
16857
|
:param max_read_request_units: The maximum read request units for the global secondary index. Can only be provided if table billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
|
|
16516
16858
|
:param max_write_request_units: The maximum write request units for the global secondary index. Can only be provided if table billingMode is PAY_PER_REQUEST. Default: - on-demand throughput is disabled
|
|
16517
16859
|
:param read_capacity: The read capacity for the global secondary index. Can only be provided if table billingMode is Provisioned or undefined. Default: 5
|
|
@@ -16525,6 +16867,7 @@ class Table(
|
|
|
16525
16867
|
'''
|
|
16526
16868
|
props = GlobalSecondaryIndexProps(
|
|
16527
16869
|
contributor_insights_enabled=contributor_insights_enabled,
|
|
16870
|
+
contributor_insights_specification=contributor_insights_specification,
|
|
16528
16871
|
max_read_request_units=max_read_request_units,
|
|
16529
16872
|
max_write_request_units=max_write_request_units,
|
|
16530
16873
|
read_capacity=read_capacity,
|
|
@@ -16744,6 +17087,8 @@ __all__ = [
|
|
|
16744
17087
|
"CfnGlobalTableProps",
|
|
16745
17088
|
"CfnTable",
|
|
16746
17089
|
"CfnTableProps",
|
|
17090
|
+
"ContributorInsightsMode",
|
|
17091
|
+
"ContributorInsightsSpecification",
|
|
16747
17092
|
"CsvOptions",
|
|
16748
17093
|
"EnableScalingProps",
|
|
16749
17094
|
"GlobalSecondaryIndexProps",
|
|
@@ -17509,6 +17854,14 @@ def _typecheckingstub__0b7f8e29621d526383ce725f2daafbe00b52cfe2381995edac86b72a6
|
|
|
17509
17854
|
"""Type checking stubs"""
|
|
17510
17855
|
pass
|
|
17511
17856
|
|
|
17857
|
+
def _typecheckingstub__656543bd456aefaef11a80dfb0950fe5597d4bc0465f2f4fdec81a81dfe7358d(
|
|
17858
|
+
*,
|
|
17859
|
+
enabled: builtins.bool,
|
|
17860
|
+
mode: typing.Optional[ContributorInsightsMode] = None,
|
|
17861
|
+
) -> None:
|
|
17862
|
+
"""Type checking stubs"""
|
|
17863
|
+
pass
|
|
17864
|
+
|
|
17512
17865
|
def _typecheckingstub__ea195ac1b9cf7ff33466083daefb8a95f1a8ce8a200cbc595c25050dc94670eb(
|
|
17513
17866
|
*,
|
|
17514
17867
|
delimiter: typing.Optional[builtins.str] = None,
|
|
@@ -17637,6 +17990,7 @@ def _typecheckingstub__4073f2e85ef31d8deba5f90be11b466e4a3f1ea003482bf5c4df5706f
|
|
|
17637
17990
|
def _typecheckingstub__eaa3a170e1978a5997011b8319bcd83bf34642dac50e342aad0705ee28b15714(
|
|
17638
17991
|
*,
|
|
17639
17992
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
17993
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17640
17994
|
max_read_request_units: typing.Optional[jsii.Number] = None,
|
|
17641
17995
|
read_capacity: typing.Optional[Capacity] = None,
|
|
17642
17996
|
) -> None:
|
|
@@ -17944,6 +18298,7 @@ def _typecheckingstub__dadf5733fac70178ab246582a0b777b8c203659229753a8396594d751
|
|
|
17944
18298
|
sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17945
18299
|
billing_mode: typing.Optional[BillingMode] = None,
|
|
17946
18300
|
contributor_insights_enabled: typing.Optional[builtins.bool] = None,
|
|
18301
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17947
18302
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
17948
18303
|
encryption: typing.Optional[TableEncryption] = None,
|
|
17949
18304
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
@@ -17971,6 +18326,7 @@ def _typecheckingstub__dadf5733fac70178ab246582a0b777b8c203659229753a8396594d751
|
|
|
17971
18326
|
def _typecheckingstub__1b65ee3c8ef5c3b632f4d1fad233252caadaa5f607c0fd92f49b64933f1de51c(
|
|
17972
18327
|
*,
|
|
17973
18328
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
18329
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17974
18330
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
17975
18331
|
kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
|
|
17976
18332
|
point_in_time_recovery: typing.Optional[builtins.bool] = None,
|
|
@@ -17988,6 +18344,7 @@ def _typecheckingstub__00475a5e14af8c4c7049089f69b3d29ad81bc91e7e1f0a5a5b7b794a5
|
|
|
17988
18344
|
sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17989
18345
|
billing_mode: typing.Optional[BillingMode] = None,
|
|
17990
18346
|
contributor_insights_enabled: typing.Optional[builtins.bool] = None,
|
|
18347
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17991
18348
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
17992
18349
|
encryption: typing.Optional[TableEncryption] = None,
|
|
17993
18350
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
@@ -18018,6 +18375,7 @@ def _typecheckingstub__00475a5e14af8c4c7049089f69b3d29ad81bc91e7e1f0a5a5b7b794a5
|
|
|
18018
18375
|
def _typecheckingstub__205e5df85e01c6c2d91d5922a57e3ed5903027748a8b3222622bebd1077e84ba(
|
|
18019
18376
|
*,
|
|
18020
18377
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
18378
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18021
18379
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
18022
18380
|
kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
|
|
18023
18381
|
point_in_time_recovery: typing.Optional[builtins.bool] = None,
|
|
@@ -18062,6 +18420,7 @@ def _typecheckingstub__9ea47b003cdb497ff620f1410260696f97dbb2b00fa8558235f23771f
|
|
|
18062
18420
|
warm_throughput: typing.Optional[typing.Union[WarmThroughput, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18063
18421
|
witness_region: typing.Optional[builtins.str] = None,
|
|
18064
18422
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
18423
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18065
18424
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
18066
18425
|
kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
|
|
18067
18426
|
point_in_time_recovery: typing.Optional[builtins.bool] = None,
|
|
@@ -18152,6 +18511,7 @@ def _typecheckingstub__7f586bf63a567e16bde337be791f392306be66abca1c4abb791989fb9
|
|
|
18152
18511
|
partition_key: typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]],
|
|
18153
18512
|
sort_key: typing.Optional[typing.Union[Attribute, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18154
18513
|
contributor_insights_enabled: typing.Optional[builtins.bool] = None,
|
|
18514
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18155
18515
|
max_read_request_units: typing.Optional[jsii.Number] = None,
|
|
18156
18516
|
max_write_request_units: typing.Optional[jsii.Number] = None,
|
|
18157
18517
|
read_capacity: typing.Optional[jsii.Number] = None,
|
|
@@ -18209,6 +18569,7 @@ def _typecheckingstub__323fc564f2052282a189a09de9130b5d9a855212d7bd5a514ddb98a52
|
|
|
18209
18569
|
def _typecheckingstub__7500a741eaeb840f48aaefcd8fc5fbbb8b1082165601116ca363e5ddbaa79e6f(
|
|
18210
18570
|
*,
|
|
18211
18571
|
contributor_insights: typing.Optional[builtins.bool] = None,
|
|
18572
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18212
18573
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
18213
18574
|
kinesis_stream: typing.Optional[_IStream_4e2457d2] = None,
|
|
18214
18575
|
point_in_time_recovery: typing.Optional[builtins.bool] = None,
|
|
@@ -18233,6 +18594,7 @@ def _typecheckingstub__b92f0ed514f00b57a2a41d754e55fe495d22b05b0ad4711b80ce00457
|
|
|
18233
18594
|
table_name: typing.Optional[builtins.str] = None,
|
|
18234
18595
|
billing_mode: typing.Optional[BillingMode] = None,
|
|
18235
18596
|
contributor_insights_enabled: typing.Optional[builtins.bool] = None,
|
|
18597
|
+
contributor_insights_specification: typing.Optional[typing.Union[ContributorInsightsSpecification, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18236
18598
|
deletion_protection: typing.Optional[builtins.bool] = None,
|
|
18237
18599
|
encryption: typing.Optional[TableEncryption] = None,
|
|
18238
18600
|
encryption_key: typing.Optional[_IKey_5f11635f] = None,
|