aws-cdk-lib 2.90.0__py3-none-any.whl → 2.92.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.

Files changed (55) hide show
  1. aws_cdk/__init__.py +22 -4
  2. aws_cdk/_jsii/__init__.py +2 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.90.0.jsii.tgz → aws-cdk-lib@2.92.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_appstream/__init__.py +3 -3
  5. aws_cdk/aws_batch/__init__.py +39 -18
  6. aws_cdk/aws_billingconductor/__init__.py +44 -13
  7. aws_cdk/aws_cleanrooms/__init__.py +2 -4
  8. aws_cdk/aws_cloudtrail/__init__.py +35 -10
  9. aws_cdk/aws_cloudwatch/__init__.py +3 -3
  10. aws_cdk/aws_codebuild/__init__.py +7 -7
  11. aws_cdk/aws_cognito/__init__.py +8 -8
  12. aws_cdk/aws_config/__init__.py +220 -0
  13. aws_cdk/aws_datasync/__init__.py +22 -35
  14. aws_cdk/aws_dms/__init__.py +909 -4
  15. aws_cdk/aws_dynamodb/__init__.py +0 -1
  16. aws_cdk/aws_ec2/__init__.py +59 -21
  17. aws_cdk/aws_ecs/__init__.py +45 -21
  18. aws_cdk/aws_evidently/__init__.py +3 -3
  19. aws_cdk/aws_fsx/__init__.py +6 -5
  20. aws_cdk/aws_glue/__init__.py +438 -10
  21. aws_cdk/aws_guardduty/__init__.py +60 -17
  22. aws_cdk/aws_iam/__init__.py +8 -9
  23. aws_cdk/aws_iot/__init__.py +5 -1
  24. aws_cdk/aws_kms/__init__.py +95 -47
  25. aws_cdk/aws_lambda/__init__.py +4 -2
  26. aws_cdk/aws_lambda_nodejs/__init__.py +3 -3
  27. aws_cdk/aws_mediatailor/__init__.py +2902 -892
  28. aws_cdk/aws_mwaa/__init__.py +13 -8
  29. aws_cdk/aws_neptune/__init__.py +50 -2
  30. aws_cdk/aws_omics/__init__.py +80 -0
  31. aws_cdk/aws_opensearchserverless/__init__.py +3 -3
  32. aws_cdk/aws_opensearchservice/__init__.py +247 -14
  33. aws_cdk/aws_organizations/__init__.py +17 -17
  34. aws_cdk/aws_personalize/__init__.py +41 -25
  35. aws_cdk/aws_rds/__init__.py +24 -10
  36. aws_cdk/aws_resiliencehub/__init__.py +22 -22
  37. aws_cdk/aws_rolesanywhere/__init__.py +58 -74
  38. aws_cdk/aws_route53/__init__.py +3 -1
  39. aws_cdk/aws_s3/__init__.py +17 -7
  40. aws_cdk/aws_sagemaker/__init__.py +396 -5
  41. aws_cdk/aws_sns/__init__.py +8 -8
  42. aws_cdk/aws_sqs/__init__.py +231 -4
  43. aws_cdk/aws_ssm/__init__.py +6 -28
  44. aws_cdk/aws_stepfunctions/__init__.py +7 -7
  45. aws_cdk/aws_timestream/__init__.py +243 -0
  46. aws_cdk/aws_transfer/__init__.py +250 -52
  47. aws_cdk/aws_vpclattice/__init__.py +10 -6
  48. aws_cdk/aws_wafv2/__init__.py +7517 -5036
  49. aws_cdk/custom_resources/__init__.py +18 -30
  50. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/METADATA +8 -8
  51. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/RECORD +55 -55
  52. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/WHEEL +1 -1
  53. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/LICENSE +0 -0
  54. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/NOTICE +0 -0
  55. {aws_cdk_lib-2.90.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/top_level.txt +0 -0
@@ -2039,6 +2039,15 @@ class CfnTable(
2039
2039
  # the properties below are optional
2040
2040
  magnetic_store_write_properties=magnetic_store_write_properties,
2041
2041
  retention_properties=retention_properties,
2042
+ schema=timestream.CfnTable.SchemaProperty(
2043
+ composite_partition_key=[timestream.CfnTable.PartitionKeyProperty(
2044
+ type="type",
2045
+
2046
+ # the properties below are optional
2047
+ enforcement_in_record="enforcementInRecord",
2048
+ name="name"
2049
+ )]
2050
+ ),
2042
2051
  table_name="tableName",
2043
2052
  tags=[CfnTag(
2044
2053
  key="key",
@@ -2055,6 +2064,7 @@ class CfnTable(
2055
2064
  database_name: builtins.str,
2056
2065
  magnetic_store_write_properties: typing.Any = None,
2057
2066
  retention_properties: typing.Any = None,
2067
+ schema: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.SchemaProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2058
2068
  table_name: typing.Optional[builtins.str] = None,
2059
2069
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2060
2070
  ) -> None:
@@ -2064,6 +2074,7 @@ class CfnTable(
2064
2074
  :param database_name: The name of the Timestream database that contains this table. *Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.
2065
2075
  :param magnetic_store_write_properties: Contains properties to set on the table when enabling magnetic store writes. This object has the following attributes: - *EnableMagneticStoreWrites* : A ``boolean`` flag to enable magnetic store writes. - *MagneticStoreRejectedDataLocation* : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only ``S3Configuration`` objects are allowed. The ``S3Configuration`` object has the following attributes: - *BucketName* : The name of the S3 bucket. - *EncryptionOption* : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( ``SSE_S3`` ) or AWS managed key ( ``SSE_KMS`` ). - *KmsKeyId* : The AWS KMS key ID to use when encrypting with an AWS managed key. - *ObjectKeyPrefix* : The prefix to use option for the objects stored in S3. Both ``BucketName`` and ``EncryptionOption`` are *required* when ``S3Configuration`` is specified. If you specify ``SSE_KMS`` as your ``EncryptionOption`` then ``KmsKeyId`` is *required* . ``EnableMagneticStoreWrites`` attribute is *required* when ``MagneticStoreWriteProperties`` is specified. ``MagneticStoreRejectedDataLocation`` attribute is *required* when ``EnableMagneticStoreWrites`` is set to ``true`` . See the following examples: *JSON:: { "Type" : AWS::Timestream::Table", "Properties":{ "DatabaseName":"TestDatabase", "TableName":"TestTable", "MagneticStoreWriteProperties":{ "EnableMagneticStoreWrites":true, "MagneticStoreRejectedDataLocation":{ "S3Configuration":{ "BucketName":"testbucket", "EncryptionOption":"SSE_KMS", "KmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab", "ObjectKeyPrefix":"prefix" } } } } } *YAML:: Type: AWS::Timestream::Table DependsOn: TestDatabase Properties: TableName: "TestTable" DatabaseName: "TestDatabase" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: "testbucket" EncryptionOption: "SSE_KMS" KmsKeyId: "1234abcd-12ab-34cd-56ef-1234567890ab" ObjectKeyPrefix: "prefix"
2066
2076
  :param retention_properties: The retention duration for the memory store and magnetic store. This object has the following attributes:. - *MemoryStoreRetentionPeriodInHours* : Retention duration for memory store, in hours. - *MagneticStoreRetentionPeriodInDays* : Retention duration for magnetic store, in days. Both attributes are of type ``string`` . Both attributes are *required* when ``RetentionProperties`` is specified. See the following examples: *JSON* ``{ "Type" : AWS::Timestream::Table", "Properties" : { "DatabaseName" : "TestDatabase", "TableName" : "TestTable", "RetentionProperties" : { "MemoryStoreRetentionPeriodInHours": "24", "MagneticStoreRetentionPeriodInDays": "7" } } }`` *YAML:: Type: AWS::Timestream::Table DependsOn: TestDatabase Properties: TableName: "TestTable" DatabaseName: "TestDatabase" RetentionProperties: MemoryStoreRetentionPeriodInHours: "24" MagneticStoreRetentionPeriodInDays: "7"
2077
+ :param schema: The schema of the table.
2067
2078
  :param table_name: The name of the Timestream table. *Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.
2068
2079
  :param tags: The tags to add to the table.
2069
2080
  '''
@@ -2075,6 +2086,7 @@ class CfnTable(
2075
2086
  database_name=database_name,
2076
2087
  magnetic_store_write_properties=magnetic_store_write_properties,
2077
2088
  retention_properties=retention_properties,
2089
+ schema=schema,
2078
2090
  table_name=table_name,
2079
2091
  tags=tags,
2080
2092
  )
@@ -2182,6 +2194,24 @@ class CfnTable(
2182
2194
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2183
2195
  jsii.set(self, "retentionProperties", value)
2184
2196
 
2197
+ @builtins.property
2198
+ @jsii.member(jsii_name="schema")
2199
+ def schema(
2200
+ self,
2201
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.SchemaProperty"]]:
2202
+ '''The schema of the table.'''
2203
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.SchemaProperty"]], jsii.get(self, "schema"))
2204
+
2205
+ @schema.setter
2206
+ def schema(
2207
+ self,
2208
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.SchemaProperty"]],
2209
+ ) -> None:
2210
+ if __debug__:
2211
+ type_hints = typing.get_type_hints(_typecheckingstub__832c258b5c3c3bd9cc98c7c669b7ed9ed9cd2b8de1fd77074b5df43f071083cd)
2212
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2213
+ jsii.set(self, "schema", value)
2214
+
2185
2215
  @builtins.property
2186
2216
  @jsii.member(jsii_name="tableName")
2187
2217
  def table_name(self) -> typing.Optional[builtins.str]:
@@ -2361,6 +2391,104 @@ class CfnTable(
2361
2391
  k + "=" + repr(v) for k, v in self._values.items()
2362
2392
  )
2363
2393
 
2394
+ @jsii.data_type(
2395
+ jsii_type="aws-cdk-lib.aws_timestream.CfnTable.PartitionKeyProperty",
2396
+ jsii_struct_bases=[],
2397
+ name_mapping={
2398
+ "type": "type",
2399
+ "enforcement_in_record": "enforcementInRecord",
2400
+ "name": "name",
2401
+ },
2402
+ )
2403
+ class PartitionKeyProperty:
2404
+ def __init__(
2405
+ self,
2406
+ *,
2407
+ type: builtins.str,
2408
+ enforcement_in_record: typing.Optional[builtins.str] = None,
2409
+ name: typing.Optional[builtins.str] = None,
2410
+ ) -> None:
2411
+ '''An attribute used in partitioning data in a table.
2412
+
2413
+ A dimension key partitions data using the values of the dimension specified by the dimension-name as partition key, while a measure key partitions data using measure names (values of the 'measure_name' column).
2414
+
2415
+ :param type: The type of the partition key. Options are DIMENSION (dimension key) and MEASURE (measure key).
2416
+ :param enforcement_in_record: The level of enforcement for the specification of a dimension key in ingested records. Options are REQUIRED (dimension key must be specified) and OPTIONAL (dimension key does not have to be specified).
2417
+ :param name: The name of the attribute used for a dimension key.
2418
+
2419
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html
2420
+ :exampleMetadata: fixture=_generated
2421
+
2422
+ Example::
2423
+
2424
+ # The code below shows an example of how to instantiate this type.
2425
+ # The values are placeholders you should change.
2426
+ from aws_cdk import aws_timestream as timestream
2427
+
2428
+ partition_key_property = timestream.CfnTable.PartitionKeyProperty(
2429
+ type="type",
2430
+
2431
+ # the properties below are optional
2432
+ enforcement_in_record="enforcementInRecord",
2433
+ name="name"
2434
+ )
2435
+ '''
2436
+ if __debug__:
2437
+ type_hints = typing.get_type_hints(_typecheckingstub__06d4f606b80c3ca3728495ea1a00cbde3d3f95e80728fab26737bce63eea2f6a)
2438
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
2439
+ check_type(argname="argument enforcement_in_record", value=enforcement_in_record, expected_type=type_hints["enforcement_in_record"])
2440
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2441
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2442
+ "type": type,
2443
+ }
2444
+ if enforcement_in_record is not None:
2445
+ self._values["enforcement_in_record"] = enforcement_in_record
2446
+ if name is not None:
2447
+ self._values["name"] = name
2448
+
2449
+ @builtins.property
2450
+ def type(self) -> builtins.str:
2451
+ '''The type of the partition key.
2452
+
2453
+ Options are DIMENSION (dimension key) and MEASURE (measure key).
2454
+
2455
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html#cfn-timestream-table-partitionkey-type
2456
+ '''
2457
+ result = self._values.get("type")
2458
+ assert result is not None, "Required property 'type' is missing"
2459
+ return typing.cast(builtins.str, result)
2460
+
2461
+ @builtins.property
2462
+ def enforcement_in_record(self) -> typing.Optional[builtins.str]:
2463
+ '''The level of enforcement for the specification of a dimension key in ingested records.
2464
+
2465
+ Options are REQUIRED (dimension key must be specified) and OPTIONAL (dimension key does not have to be specified).
2466
+
2467
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html#cfn-timestream-table-partitionkey-enforcementinrecord
2468
+ '''
2469
+ result = self._values.get("enforcement_in_record")
2470
+ return typing.cast(typing.Optional[builtins.str], result)
2471
+
2472
+ @builtins.property
2473
+ def name(self) -> typing.Optional[builtins.str]:
2474
+ '''The name of the attribute used for a dimension key.
2475
+
2476
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-partitionkey.html#cfn-timestream-table-partitionkey-name
2477
+ '''
2478
+ result = self._values.get("name")
2479
+ return typing.cast(typing.Optional[builtins.str], result)
2480
+
2481
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2482
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2483
+
2484
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2485
+ return not (rhs == self)
2486
+
2487
+ def __repr__(self) -> str:
2488
+ return "PartitionKeyProperty(%s)" % ", ".join(
2489
+ k + "=" + repr(v) for k, v in self._values.items()
2490
+ )
2491
+
2364
2492
  @jsii.data_type(
2365
2493
  jsii_type="aws-cdk-lib.aws_timestream.CfnTable.RetentionPropertiesProperty",
2366
2494
  jsii_struct_bases=[],
@@ -2548,6 +2676,71 @@ class CfnTable(
2548
2676
  k + "=" + repr(v) for k, v in self._values.items()
2549
2677
  )
2550
2678
 
2679
+ @jsii.data_type(
2680
+ jsii_type="aws-cdk-lib.aws_timestream.CfnTable.SchemaProperty",
2681
+ jsii_struct_bases=[],
2682
+ name_mapping={"composite_partition_key": "compositePartitionKey"},
2683
+ )
2684
+ class SchemaProperty:
2685
+ def __init__(
2686
+ self,
2687
+ *,
2688
+ composite_partition_key: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.PartitionKeyProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2689
+ ) -> None:
2690
+ '''A Schema specifies the expected data model of the table.
2691
+
2692
+ :param composite_partition_key: A non-empty list of partition keys defining the attributes used to partition the table data. The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed.
2693
+
2694
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-schema.html
2695
+ :exampleMetadata: fixture=_generated
2696
+
2697
+ Example::
2698
+
2699
+ # The code below shows an example of how to instantiate this type.
2700
+ # The values are placeholders you should change.
2701
+ from aws_cdk import aws_timestream as timestream
2702
+
2703
+ schema_property = timestream.CfnTable.SchemaProperty(
2704
+ composite_partition_key=[timestream.CfnTable.PartitionKeyProperty(
2705
+ type="type",
2706
+
2707
+ # the properties below are optional
2708
+ enforcement_in_record="enforcementInRecord",
2709
+ name="name"
2710
+ )]
2711
+ )
2712
+ '''
2713
+ if __debug__:
2714
+ type_hints = typing.get_type_hints(_typecheckingstub__09067b1978c488643c66537ddae08f743cfe6b4aac79c820f90d9c083c9bf6a7)
2715
+ check_type(argname="argument composite_partition_key", value=composite_partition_key, expected_type=type_hints["composite_partition_key"])
2716
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2717
+ if composite_partition_key is not None:
2718
+ self._values["composite_partition_key"] = composite_partition_key
2719
+
2720
+ @builtins.property
2721
+ def composite_partition_key(
2722
+ self,
2723
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTable.PartitionKeyProperty"]]]]:
2724
+ '''A non-empty list of partition keys defining the attributes used to partition the table data.
2725
+
2726
+ The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed.
2727
+
2728
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-table-schema.html#cfn-timestream-table-schema-compositepartitionkey
2729
+ '''
2730
+ result = self._values.get("composite_partition_key")
2731
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTable.PartitionKeyProperty"]]]], result)
2732
+
2733
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2734
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2735
+
2736
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2737
+ return not (rhs == self)
2738
+
2739
+ def __repr__(self) -> str:
2740
+ return "SchemaProperty(%s)" % ", ".join(
2741
+ k + "=" + repr(v) for k, v in self._values.items()
2742
+ )
2743
+
2551
2744
 
2552
2745
  @jsii.data_type(
2553
2746
  jsii_type="aws-cdk-lib.aws_timestream.CfnTableProps",
@@ -2556,6 +2749,7 @@ class CfnTable(
2556
2749
  "database_name": "databaseName",
2557
2750
  "magnetic_store_write_properties": "magneticStoreWriteProperties",
2558
2751
  "retention_properties": "retentionProperties",
2752
+ "schema": "schema",
2559
2753
  "table_name": "tableName",
2560
2754
  "tags": "tags",
2561
2755
  },
@@ -2567,6 +2761,7 @@ class CfnTableProps:
2567
2761
  database_name: builtins.str,
2568
2762
  magnetic_store_write_properties: typing.Any = None,
2569
2763
  retention_properties: typing.Any = None,
2764
+ schema: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SchemaProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2570
2765
  table_name: typing.Optional[builtins.str] = None,
2571
2766
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2572
2767
  ) -> None:
@@ -2575,6 +2770,7 @@ class CfnTableProps:
2575
2770
  :param database_name: The name of the Timestream database that contains this table. *Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.
2576
2771
  :param magnetic_store_write_properties: Contains properties to set on the table when enabling magnetic store writes. This object has the following attributes: - *EnableMagneticStoreWrites* : A ``boolean`` flag to enable magnetic store writes. - *MagneticStoreRejectedDataLocation* : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only ``S3Configuration`` objects are allowed. The ``S3Configuration`` object has the following attributes: - *BucketName* : The name of the S3 bucket. - *EncryptionOption* : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( ``SSE_S3`` ) or AWS managed key ( ``SSE_KMS`` ). - *KmsKeyId* : The AWS KMS key ID to use when encrypting with an AWS managed key. - *ObjectKeyPrefix* : The prefix to use option for the objects stored in S3. Both ``BucketName`` and ``EncryptionOption`` are *required* when ``S3Configuration`` is specified. If you specify ``SSE_KMS`` as your ``EncryptionOption`` then ``KmsKeyId`` is *required* . ``EnableMagneticStoreWrites`` attribute is *required* when ``MagneticStoreWriteProperties`` is specified. ``MagneticStoreRejectedDataLocation`` attribute is *required* when ``EnableMagneticStoreWrites`` is set to ``true`` . See the following examples: *JSON:: { "Type" : AWS::Timestream::Table", "Properties":{ "DatabaseName":"TestDatabase", "TableName":"TestTable", "MagneticStoreWriteProperties":{ "EnableMagneticStoreWrites":true, "MagneticStoreRejectedDataLocation":{ "S3Configuration":{ "BucketName":"testbucket", "EncryptionOption":"SSE_KMS", "KmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab", "ObjectKeyPrefix":"prefix" } } } } } *YAML:: Type: AWS::Timestream::Table DependsOn: TestDatabase Properties: TableName: "TestTable" DatabaseName: "TestDatabase" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: "testbucket" EncryptionOption: "SSE_KMS" KmsKeyId: "1234abcd-12ab-34cd-56ef-1234567890ab" ObjectKeyPrefix: "prefix"
2577
2772
  :param retention_properties: The retention duration for the memory store and magnetic store. This object has the following attributes:. - *MemoryStoreRetentionPeriodInHours* : Retention duration for memory store, in hours. - *MagneticStoreRetentionPeriodInDays* : Retention duration for magnetic store, in days. Both attributes are of type ``string`` . Both attributes are *required* when ``RetentionProperties`` is specified. See the following examples: *JSON* ``{ "Type" : AWS::Timestream::Table", "Properties" : { "DatabaseName" : "TestDatabase", "TableName" : "TestTable", "RetentionProperties" : { "MemoryStoreRetentionPeriodInHours": "24", "MagneticStoreRetentionPeriodInDays": "7" } } }`` *YAML:: Type: AWS::Timestream::Table DependsOn: TestDatabase Properties: TableName: "TestTable" DatabaseName: "TestDatabase" RetentionProperties: MemoryStoreRetentionPeriodInHours: "24" MagneticStoreRetentionPeriodInDays: "7"
2773
+ :param schema: The schema of the table.
2578
2774
  :param table_name: The name of the Timestream table. *Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.
2579
2775
  :param tags: The tags to add to the table.
2580
2776
 
@@ -2596,6 +2792,15 @@ class CfnTableProps:
2596
2792
  # the properties below are optional
2597
2793
  magnetic_store_write_properties=magnetic_store_write_properties,
2598
2794
  retention_properties=retention_properties,
2795
+ schema=timestream.CfnTable.SchemaProperty(
2796
+ composite_partition_key=[timestream.CfnTable.PartitionKeyProperty(
2797
+ type="type",
2798
+
2799
+ # the properties below are optional
2800
+ enforcement_in_record="enforcementInRecord",
2801
+ name="name"
2802
+ )]
2803
+ ),
2599
2804
  table_name="tableName",
2600
2805
  tags=[CfnTag(
2601
2806
  key="key",
@@ -2608,6 +2813,7 @@ class CfnTableProps:
2608
2813
  check_type(argname="argument database_name", value=database_name, expected_type=type_hints["database_name"])
2609
2814
  check_type(argname="argument magnetic_store_write_properties", value=magnetic_store_write_properties, expected_type=type_hints["magnetic_store_write_properties"])
2610
2815
  check_type(argname="argument retention_properties", value=retention_properties, expected_type=type_hints["retention_properties"])
2816
+ check_type(argname="argument schema", value=schema, expected_type=type_hints["schema"])
2611
2817
  check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
2612
2818
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2613
2819
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -2617,6 +2823,8 @@ class CfnTableProps:
2617
2823
  self._values["magnetic_store_write_properties"] = magnetic_store_write_properties
2618
2824
  if retention_properties is not None:
2619
2825
  self._values["retention_properties"] = retention_properties
2826
+ if schema is not None:
2827
+ self._values["schema"] = schema
2620
2828
  if table_name is not None:
2621
2829
  self._values["table_name"] = table_name
2622
2830
  if tags is not None:
@@ -2695,6 +2903,17 @@ class CfnTableProps:
2695
2903
  result = self._values.get("retention_properties")
2696
2904
  return typing.cast(typing.Any, result)
2697
2905
 
2906
+ @builtins.property
2907
+ def schema(
2908
+ self,
2909
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SchemaProperty]]:
2910
+ '''The schema of the table.
2911
+
2912
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html#cfn-timestream-table-schema
2913
+ '''
2914
+ result = self._values.get("schema")
2915
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SchemaProperty]], result)
2916
+
2698
2917
  @builtins.property
2699
2918
  def table_name(self) -> typing.Optional[builtins.str]:
2700
2919
  '''The name of the Timestream table.
@@ -2994,6 +3213,7 @@ def _typecheckingstub__aad96eaee00841ee49968da22b6ed13b3777f265d71c1981b2f1b217c
2994
3213
  database_name: builtins.str,
2995
3214
  magnetic_store_write_properties: typing.Any = None,
2996
3215
  retention_properties: typing.Any = None,
3216
+ schema: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SchemaProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2997
3217
  table_name: typing.Optional[builtins.str] = None,
2998
3218
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2999
3219
  ) -> None:
@@ -3030,6 +3250,12 @@ def _typecheckingstub__c7ed60d3a1390fe9d904e5be80332e4919f8cc331f6a9c78e2c46569b
3030
3250
  """Type checking stubs"""
3031
3251
  pass
3032
3252
 
3253
+ def _typecheckingstub__832c258b5c3c3bd9cc98c7c669b7ed9ed9cd2b8de1fd77074b5df43f071083cd(
3254
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SchemaProperty]],
3255
+ ) -> None:
3256
+ """Type checking stubs"""
3257
+ pass
3258
+
3033
3259
  def _typecheckingstub__dd18b0f7dd5d02d260ec7f2eaec2e2b9b2ab172a6763f2f391fc93ea1f562de6(
3034
3260
  value: typing.Optional[builtins.str],
3035
3261
  ) -> None:
@@ -3057,6 +3283,15 @@ def _typecheckingstub__73eb42c14a8651455e1beb5676ed25ea12aff08495097fc56c3d8adcf
3057
3283
  """Type checking stubs"""
3058
3284
  pass
3059
3285
 
3286
+ def _typecheckingstub__06d4f606b80c3ca3728495ea1a00cbde3d3f95e80728fab26737bce63eea2f6a(
3287
+ *,
3288
+ type: builtins.str,
3289
+ enforcement_in_record: typing.Optional[builtins.str] = None,
3290
+ name: typing.Optional[builtins.str] = None,
3291
+ ) -> None:
3292
+ """Type checking stubs"""
3293
+ pass
3294
+
3060
3295
  def _typecheckingstub__0d96ad0456f88b9bdc9094b197d35b5a25aebf85c67723143187828e4d58ee78(
3061
3296
  *,
3062
3297
  magnetic_store_retention_period_in_days: typing.Optional[builtins.str] = None,
@@ -3075,11 +3310,19 @@ def _typecheckingstub__b50e041ecb4eab9fe02a29c9d1c8c5a1325b090b4a8e835dd2f0242b6
3075
3310
  """Type checking stubs"""
3076
3311
  pass
3077
3312
 
3313
+ def _typecheckingstub__09067b1978c488643c66537ddae08f743cfe6b4aac79c820f90d9c083c9bf6a7(
3314
+ *,
3315
+ composite_partition_key: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PartitionKeyProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3316
+ ) -> None:
3317
+ """Type checking stubs"""
3318
+ pass
3319
+
3078
3320
  def _typecheckingstub__a9edb9a2aaa51342f4db373e24edd938478a52c96340bde2bc89fe7b86eb4431(
3079
3321
  *,
3080
3322
  database_name: builtins.str,
3081
3323
  magnetic_store_write_properties: typing.Any = None,
3082
3324
  retention_properties: typing.Any = None,
3325
+ schema: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SchemaProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3083
3326
  table_name: typing.Optional[builtins.str] = None,
3084
3327
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3085
3328
  ) -> None: