@aws-cdk/aws-s3tables-alpha 2.195.0-alpha.0 → 2.196.1-alpha.0

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.
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.195.0",
11
+ "aws-cdk-lib": "^2.196.1",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -3965,7 +3965,7 @@
3965
3965
  "stability": "experimental"
3966
3966
  },
3967
3967
  "homepage": "https://github.com/aws/aws-cdk",
3968
- "jsiiVersion": "5.7.10 (build 5114b23)",
3968
+ "jsiiVersion": "5.7.15 (build 8c2933f)",
3969
3969
  "keywords": [
3970
3970
  "aws",
3971
3971
  "cdk",
@@ -3988,7 +3988,7 @@
3988
3988
  },
3989
3989
  "name": "@aws-cdk/aws-s3tables-alpha",
3990
3990
  "readme": {
3991
- "markdown": "# Amazon S3 Tables Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n## Amazon S3 Tables\n\nAmazon S3 Tables deliver the first cloud object store with built-in Apache Iceberg support and streamline storing tabular data at scale.\n\n[Product Page](https://aws.amazon.com/s3/features/tables/) | [User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html)\n\n\n## Usage\n\n### Define an S3 Table Bucket\n\n```ts\n// Build a Table bucket\nconst sampleTableBucket = new TableBucket(scope, 'ExampleTableBucket', {\n tableBucketName: 'example-bucket-1',\n // optional fields:\n unreferencedFileRemoval: {\n status: UnreferencedFileRemovalStatus.ENABLED,\n noncurrentDays: 20,\n unreferencedDays: 20,\n }\n});\n```\n\nLearn more about table buckets maintenance operations and default behavior from the [S3 Tables User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html)\n\n### Controlling Table Bucket Permissions\n\n```ts\n// Grant the principal read permissions to the bucket and all tables within\nconst accountId = '123456789012'\ntableBucket.grantRead(new iam.AccountPrincipal(accountId), '*');\n// Grant the role write permissions to the bucket and all tables within\nconst role = new iam.Role(stack, 'MyRole', { assumedBy: new iam.ServicePrincipal('sample') });\ntableBucket.grantWrite(role, '*');\n// Grant the user read and write permissions to the bucket and all tables within\ntableBucket.grantReadWrite(new iam.User(stack, 'MyUser'), '*');\n\n// Grant permissions to the bucket and a particular table within it\nconst tableId = '6ba046b2-26de-44cf-9144-0c7862593a7b'\ntableBucket.grantReadWrite(new iam.AccountPrincipal(accountId), tableId);\n\n// Add custom resource policy statements\nconst permissions = new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: ['s3tables:*'],\n principals: [ new iam.ServicePrincipal('example.aws.internal') ],\n resources: ['*']\n});\n\ntableBucket.addToResourcePolicy(permissions);\n```\n\n## Coming Soon\n\nL2 Construct support for:\n\n- Namespaces\n- Tables\n"
3991
+ "markdown": "# Amazon S3 Tables Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\n## Amazon S3 Tables\n\nAmazon S3 Tables deliver the first cloud object store with built-in Apache Iceberg support and streamline storing tabular data at scale.\n\n[Product Page](https://aws.amazon.com/s3/features/tables/) | [User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html)\n\n\n## Usage\n\n### Define an S3 Table Bucket\n\n```ts\n// Build a Table bucket\nconst sampleTableBucket = new TableBucket(scope, 'ExampleTableBucket', {\n tableBucketName: 'example-bucket-1',\n // optional fields:\n unreferencedFileRemoval: {\n status: UnreferencedFileRemovalStatus.ENABLED,\n noncurrentDays: 20,\n unreferencedDays: 20,\n }\n});\n```\n\nLearn more about table buckets maintenance operations and default behavior from the [S3 Tables User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html)\n\n### Controlling Table Bucket Permissions\n\n```ts\n// Grant the principal read permissions to the bucket and all tables within\nconst accountId = '123456789012'\ntableBucket.grantRead(new iam.AccountPrincipal(accountId), '*');\n\n// Grant the role write permissions to the bucket and all tables within\nconst role = new iam.Role(stack, 'MyRole', { assumedBy: new iam.ServicePrincipal('sample') });\ntableBucket.grantWrite(role, '*');\n\n// Grant the user read and write permissions to the bucket and all tables within\ntableBucket.grantReadWrite(new iam.User(stack, 'MyUser'), '*');\n\n// Grant permissions to the bucket and a particular table within it\nconst tableId = '6ba046b2-26de-44cf-9144-0c7862593a7b'\ntableBucket.grantReadWrite(new iam.AccountPrincipal(accountId), tableId);\n\n// Add custom resource policy statements\nconst permissions = new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: ['s3tables:*'],\n principals: [ new iam.ServicePrincipal('example.aws.internal') ],\n resources: ['*']\n});\n\ntableBucket.addToResourcePolicy(permissions);\n```\n\n### Controlling Table Bucket Encryption Settings\n\nS3 TableBuckets have SSE (server-side encryption with AES-256) enabled by default with S3 managed keys.\nYou can also bring your own KMS key for KMS-SSE or have S3 create a KMS key for you.\n\nIf a bucket is encrypted with KMS, grant functions on the bucket will also grant access\nto the TableBucket's associated KMS key.\n\n```ts\n// Provide a user defined KMS Key:\nconst key = new kms.Key(scope, 'UserKey', {});\nconst encryptedBucket = new TableBucket(scope, 'EncryptedTableBucket', {\n tableBucketName: 'table-bucket-1',\n encryption: TableBucketEncryption.KMS,\n encryptionKey: key,\n});\n// This account principal will also receive kms:Decrypt access to the KMS key\nencryptedBucket.grantRead(new iam.AccountPrincipal('123456789012'), '*');\n\n// Use S3 managed server side encryption (default)\nconst encryptedBucketDefault = new TableBucket(scope, 'EncryptedTableBucketDefault', {\n tableBucketName: 'table-bucket-3',\n encryption: TableBucketEncryption.S3_MANAGED, // Uses AES-256 encryption by default\n});\n```\n\nWhen using KMS encryption (`TableBucketEncryption.KMS`), if no encryption key is provided, CDK will automatically create a new KMS key for the table bucket with necessary permissions.\n\n```ts\n// If no key is provided, one will be created automatically\nconst encryptedBucketAuto = new TableBucket(scope, 'EncryptedTableBucketAuto', {\n tableBucketName: 'table-bucket-2',\n encryption: TableBucketEncryption.KMS,\n});\n```\n\n## Coming Soon\n\nL2 Construct support for:\n\n- Namespaces\n- Tables\n"
3992
3992
  },
3993
3993
  "repository": {
3994
3994
  "directory": "packages/@aws-cdk/aws-s3tables-alpha",
@@ -4035,7 +4035,7 @@
4035
4035
  "kind": "interface",
4036
4036
  "locationInModule": {
4037
4037
  "filename": "lib/table-bucket.ts",
4038
- "line": 14
4038
+ "line": 16
4039
4039
  },
4040
4040
  "methods": [
4041
4041
  {
@@ -4044,11 +4044,11 @@
4044
4044
  "remarks": "Note that the policy statement may or may not be added to the policy.\nFor example, when an `ITableBucket` is created from an existing table bucket,\nit's not possible to tell whether the bucket already has a policy\nattached, let alone to re-use that policy to add more statements to it.\nSo it's safest to do nothing in these cases.",
4045
4045
  "returns": "metadata about the execution of this method. If the policy\nwas not added, the value of `statementAdded` will be `false`. You\nshould always check this value to make sure that the operation was\nactually carried out. Otherwise, synthesis and deploy will terminate\nsilently, which may be confusing.",
4046
4046
  "stability": "experimental",
4047
- "summary": "Adds a statement to the resource policy for a principal (i.e. account/role/service) to perform actions on this table bucket and/or its contents. Use `tableBucketArn` and `arnForObjects(keys)` to obtain ARNs for this bucket or objects."
4047
+ "summary": "Adds a statement to the resource policy for a principal (i.e. account/role/service) to perform actions on this table bucket and/or its tables."
4048
4048
  },
4049
4049
  "locationInModule": {
4050
4050
  "filename": "lib/table-bucket.ts",
4051
- "line": 59
4051
+ "line": 65
4052
4052
  },
4053
4053
  "name": "addToResourcePolicy",
4054
4054
  "parameters": [
@@ -4071,12 +4071,13 @@
4071
4071
  {
4072
4072
  "abstract": true,
4073
4073
  "docs": {
4074
+ "remarks": "If encryption is used, permission to use the key to decrypt the contents\nof the bucket will also be granted to the same principal.",
4074
4075
  "stability": "experimental",
4075
4076
  "summary": "Grant read permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4076
4077
  },
4077
4078
  "locationInModule": {
4078
4079
  "filename": "lib/table-bucket.ts",
4079
- "line": 68
4080
+ "line": 77
4080
4081
  },
4081
4082
  "name": "grantRead",
4082
4083
  "parameters": [
@@ -4108,12 +4109,13 @@
4108
4109
  {
4109
4110
  "abstract": true,
4110
4111
  "docs": {
4112
+ "remarks": "If encryption is used, permission to use the key to encrypt/decrypt the contents\nof the bucket will also be granted to the same principal.",
4111
4113
  "stability": "experimental",
4112
4114
  "summary": "Grant read and write permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4113
4115
  },
4114
4116
  "locationInModule": {
4115
4117
  "filename": "lib/table-bucket.ts",
4116
- "line": 86
4118
+ "line": 101
4117
4119
  },
4118
4120
  "name": "grantReadWrite",
4119
4121
  "parameters": [
@@ -4145,12 +4147,13 @@
4145
4147
  {
4146
4148
  "abstract": true,
4147
4149
  "docs": {
4150
+ "remarks": "If encryption is used, permission to use the key to encrypt the contents\nof the bucket will also be granted to the same principal.",
4148
4151
  "stability": "experimental",
4149
4152
  "summary": "Grant write permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4150
4153
  },
4151
4154
  "locationInModule": {
4152
4155
  "filename": "lib/table-bucket.ts",
4153
- "line": 77
4156
+ "line": 89
4154
4157
  },
4155
4158
  "name": "grantWrite",
4156
4159
  "parameters": [
@@ -4194,7 +4197,7 @@
4194
4197
  "immutable": true,
4195
4198
  "locationInModule": {
4196
4199
  "filename": "lib/table-bucket.ts",
4197
- "line": 19
4200
+ "line": 21
4198
4201
  },
4199
4202
  "name": "tableBucketArn",
4200
4203
  "type": {
@@ -4213,7 +4216,7 @@
4213
4216
  "immutable": true,
4214
4217
  "locationInModule": {
4215
4218
  "filename": "lib/table-bucket.ts",
4216
- "line": 25
4219
+ "line": 27
4217
4220
  },
4218
4221
  "name": "tableBucketName",
4219
4222
  "type": {
@@ -4232,7 +4235,7 @@
4232
4235
  "immutable": true,
4233
4236
  "locationInModule": {
4234
4237
  "filename": "lib/table-bucket.ts",
4235
- "line": 31
4238
+ "line": 33
4236
4239
  },
4237
4240
  "name": "account",
4238
4241
  "optional": true,
@@ -4240,6 +4243,23 @@
4240
4243
  "primitive": "string"
4241
4244
  }
4242
4245
  },
4246
+ {
4247
+ "abstract": true,
4248
+ "docs": {
4249
+ "stability": "experimental",
4250
+ "summary": "Optional KMS encryption key associated with this table bucket."
4251
+ },
4252
+ "immutable": true,
4253
+ "locationInModule": {
4254
+ "filename": "lib/table-bucket.ts",
4255
+ "line": 44
4256
+ },
4257
+ "name": "encryptionKey",
4258
+ "optional": true,
4259
+ "type": {
4260
+ "fqn": "aws-cdk-lib.aws_kms.IKey"
4261
+ }
4262
+ },
4243
4263
  {
4244
4264
  "abstract": true,
4245
4265
  "docs": {
@@ -4252,7 +4272,7 @@
4252
4272
  "immutable": true,
4253
4273
  "locationInModule": {
4254
4274
  "filename": "lib/table-bucket.ts",
4255
- "line": 37
4275
+ "line": 39
4256
4276
  },
4257
4277
  "name": "region",
4258
4278
  "optional": true,
@@ -4282,7 +4302,7 @@
4282
4302
  },
4283
4303
  "locationInModule": {
4284
4304
  "filename": "lib/table-bucket.ts",
4285
- "line": 483
4305
+ "line": 580
4286
4306
  },
4287
4307
  "parameters": [
4288
4308
  {
@@ -4311,7 +4331,7 @@
4311
4331
  "kind": "class",
4312
4332
  "locationInModule": {
4313
4333
  "filename": "lib/table-bucket.ts",
4314
- "line": 308
4334
+ "line": 398
4315
4335
  },
4316
4336
  "methods": [
4317
4337
  {
@@ -4321,7 +4341,7 @@
4321
4341
  },
4322
4342
  "locationInModule": {
4323
4343
  "filename": "lib/table-bucket.ts",
4324
- "line": 316
4344
+ "line": 410
4325
4345
  },
4326
4346
  "name": "fromTableBucketArn",
4327
4347
  "parameters": [
@@ -4367,7 +4387,7 @@
4367
4387
  },
4368
4388
  "locationInModule": {
4369
4389
  "filename": "lib/table-bucket.ts",
4370
- "line": 327
4390
+ "line": 421
4371
4391
  },
4372
4392
  "name": "fromTableBucketAttributes",
4373
4393
  "parameters": [
@@ -4414,7 +4434,7 @@
4414
4434
  },
4415
4435
  "locationInModule": {
4416
4436
  "filename": "lib/table-bucket.ts",
4417
- "line": 362
4437
+ "line": 457
4418
4438
  },
4419
4439
  "name": "validateTableBucketName",
4420
4440
  "parameters": [
@@ -4438,7 +4458,7 @@
4438
4458
  },
4439
4459
  "locationInModule": {
4440
4460
  "filename": "lib/table-bucket.ts",
4441
- "line": 418
4461
+ "line": 513
4442
4462
  },
4443
4463
  "name": "validateUnreferencedFileRemoval",
4444
4464
  "parameters": [
@@ -4464,7 +4484,7 @@
4464
4484
  },
4465
4485
  "locationInModule": {
4466
4486
  "filename": "lib/table-bucket.ts",
4467
- "line": 171
4487
+ "line": 204
4468
4488
  },
4469
4489
  "name": "addToResourcePolicy",
4470
4490
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4487,12 +4507,13 @@
4487
4507
  },
4488
4508
  {
4489
4509
  "docs": {
4510
+ "remarks": "If encryption is used, permission to use the key to decrypt the contents\nof the bucket will also be granted to the same principal.",
4490
4511
  "stability": "experimental",
4491
4512
  "summary": "Grant read permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4492
4513
  },
4493
4514
  "locationInModule": {
4494
4515
  "filename": "lib/table-bucket.ts",
4495
- "line": 188
4516
+ "line": 221
4496
4517
  },
4497
4518
  "name": "grantRead",
4498
4519
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4518,12 +4539,13 @@
4518
4539
  },
4519
4540
  {
4520
4541
  "docs": {
4542
+ "remarks": "If encryption is used, permission to use the key to encrypt/decrypt the contents\nof the bucket will also be granted to the same principal.",
4521
4543
  "stability": "experimental",
4522
4544
  "summary": "Grant read and write permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4523
4545
  },
4524
4546
  "locationInModule": {
4525
4547
  "filename": "lib/table-bucket.ts",
4526
- "line": 196
4548
+ "line": 241
4527
4549
  },
4528
4550
  "name": "grantReadWrite",
4529
4551
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4549,12 +4571,13 @@
4549
4571
  },
4550
4572
  {
4551
4573
  "docs": {
4574
+ "remarks": "If encryption is used, permission to use the key to encrypt the contents\nof the bucket will also be granted to the same principal.",
4552
4575
  "stability": "experimental",
4553
4576
  "summary": "Grant write permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4554
4577
  },
4555
4578
  "locationInModule": {
4556
4579
  "filename": "lib/table-bucket.ts",
4557
- "line": 192
4580
+ "line": 231
4558
4581
  },
4559
4582
  "name": "grantWrite",
4560
4583
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4581,6 +4604,23 @@
4581
4604
  ],
4582
4605
  "name": "TableBucket",
4583
4606
  "properties": [
4607
+ {
4608
+ "const": true,
4609
+ "docs": {
4610
+ "stability": "experimental",
4611
+ "summary": "Uniquely identifies this class."
4612
+ },
4613
+ "immutable": true,
4614
+ "locationInModule": {
4615
+ "filename": "lib/table-bucket.ts",
4616
+ "line": 401
4617
+ },
4618
+ "name": "PROPERTY_INJECTION_ID",
4619
+ "static": true,
4620
+ "type": {
4621
+ "primitive": "string"
4622
+ }
4623
+ },
4584
4624
  {
4585
4625
  "docs": {
4586
4626
  "stability": "experimental",
@@ -4589,7 +4629,7 @@
4589
4629
  "immutable": true,
4590
4630
  "locationInModule": {
4591
4631
  "filename": "lib/table-bucket.ts",
4592
- "line": 474
4632
+ "line": 569
4593
4633
  },
4594
4634
  "name": "tableBucketArn",
4595
4635
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4605,7 +4645,7 @@
4605
4645
  "immutable": true,
4606
4646
  "locationInModule": {
4607
4647
  "filename": "lib/table-bucket.ts",
4608
- "line": 479
4648
+ "line": 574
4609
4649
  },
4610
4650
  "name": "tableBucketName",
4611
4651
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4613,6 +4653,23 @@
4613
4653
  "primitive": "string"
4614
4654
  }
4615
4655
  },
4656
+ {
4657
+ "docs": {
4658
+ "stability": "experimental",
4659
+ "summary": "Optional KMS encryption key associated with this table bucket."
4660
+ },
4661
+ "immutable": true,
4662
+ "locationInModule": {
4663
+ "filename": "lib/table-bucket.ts",
4664
+ "line": 576
4665
+ },
4666
+ "name": "encryptionKey",
4667
+ "optional": true,
4668
+ "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
4669
+ "type": {
4670
+ "fqn": "aws-cdk-lib.aws_kms.IKey"
4671
+ }
4672
+ },
4616
4673
  {
4617
4674
  "docs": {
4618
4675
  "stability": "experimental",
@@ -4621,7 +4678,7 @@
4621
4678
  "immutable": true,
4622
4679
  "locationInModule": {
4623
4680
  "filename": "lib/table-bucket.ts",
4624
- "line": 469
4681
+ "line": 564
4625
4682
  },
4626
4683
  "name": "tableBucketPolicy",
4627
4684
  "optional": true,
@@ -4636,7 +4693,7 @@
4636
4693
  },
4637
4694
  "locationInModule": {
4638
4695
  "filename": "lib/table-bucket.ts",
4639
- "line": 481
4696
+ "line": 578
4640
4697
  },
4641
4698
  "name": "autoCreatePolicy",
4642
4699
  "protected": true,
@@ -4653,8 +4710,8 @@
4653
4710
  "docs": {
4654
4711
  "remarks": "The tableBucketName, region, and account can be provided explicitly\nor will be inferred from the tableBucketArn",
4655
4712
  "stability": "experimental",
4656
- "summary": "Everything needed to reference a specific table bucket.",
4657
- "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3tables_alpha from '@aws-cdk/aws-s3tables-alpha';\nconst tableBucketAttributes: s3tables_alpha.TableBucketAttributes = {\n account: 'account',\n region: 'region',\n tableBucketArn: 'tableBucketArn',\n tableBucketName: 'tableBucketName',\n};",
4713
+ "summary": "A reference to a table bucket outside this stack.",
4714
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as s3tables_alpha from '@aws-cdk/aws-s3tables-alpha';\nimport { aws_kms as kms } from 'aws-cdk-lib';\n\ndeclare const key: kms.Key;\nconst tableBucketAttributes: s3tables_alpha.TableBucketAttributes = {\n account: 'account',\n encryptionKey: key,\n region: 'region',\n tableBucketArn: 'tableBucketArn',\n tableBucketName: 'tableBucketName',\n};",
4658
4715
  "custom": {
4659
4716
  "exampleMetadata": "fixture=_generated"
4660
4717
  }
@@ -4663,7 +4720,7 @@
4663
4720
  "kind": "interface",
4664
4721
  "locationInModule": {
4665
4722
  "filename": "lib/table-bucket.ts",
4666
- "line": 268
4723
+ "line": 349
4667
4724
  },
4668
4725
  "name": "TableBucketAttributes",
4669
4726
  "properties": [
@@ -4677,7 +4734,7 @@
4677
4734
  "immutable": true,
4678
4735
  "locationInModule": {
4679
4736
  "filename": "lib/table-bucket.ts",
4680
- "line": 278
4737
+ "line": 360
4681
4738
  },
4682
4739
  "name": "account",
4683
4740
  "optional": true,
@@ -4685,6 +4742,24 @@
4685
4742
  "primitive": "string"
4686
4743
  }
4687
4744
  },
4745
+ {
4746
+ "abstract": true,
4747
+ "docs": {
4748
+ "default": "- undefined",
4749
+ "stability": "experimental",
4750
+ "summary": "Optional KMS encryption key associated with this bucket."
4751
+ },
4752
+ "immutable": true,
4753
+ "locationInModule": {
4754
+ "filename": "lib/table-bucket.ts",
4755
+ "line": 378
4756
+ },
4757
+ "name": "encryptionKey",
4758
+ "optional": true,
4759
+ "type": {
4760
+ "fqn": "aws-cdk-lib.aws_kms.IKey"
4761
+ }
4762
+ },
4688
4763
  {
4689
4764
  "abstract": true,
4690
4765
  "docs": {
@@ -4695,7 +4770,7 @@
4695
4770
  "immutable": true,
4696
4771
  "locationInModule": {
4697
4772
  "filename": "lib/table-bucket.ts",
4698
- "line": 273
4773
+ "line": 354
4699
4774
  },
4700
4775
  "name": "region",
4701
4776
  "optional": true,
@@ -4713,7 +4788,7 @@
4713
4788
  "immutable": true,
4714
4789
  "locationInModule": {
4715
4790
  "filename": "lib/table-bucket.ts",
4716
- "line": 288
4791
+ "line": 372
4717
4792
  },
4718
4793
  "name": "tableBucketArn",
4719
4794
  "optional": true,
@@ -4731,7 +4806,7 @@
4731
4806
  "immutable": true,
4732
4807
  "locationInModule": {
4733
4808
  "filename": "lib/table-bucket.ts",
4734
- "line": 283
4809
+ "line": 366
4735
4810
  },
4736
4811
  "name": "tableBucketName",
4737
4812
  "optional": true,
@@ -4742,6 +4817,41 @@
4742
4817
  ],
4743
4818
  "symbolId": "lib/table-bucket:TableBucketAttributes"
4744
4819
  },
4820
+ "@aws-cdk/aws-s3tables-alpha.TableBucketEncryption": {
4821
+ "assembly": "@aws-cdk/aws-s3tables-alpha",
4822
+ "docs": {
4823
+ "stability": "experimental",
4824
+ "summary": "Controls Server Side Encryption (SSE) for this TableBucket.",
4825
+ "example": "// Provide a user defined KMS Key:\nconst key = new kms.Key(scope, 'UserKey', {});\nconst encryptedBucket = new TableBucket(scope, 'EncryptedTableBucket', {\n tableBucketName: 'table-bucket-1',\n encryption: TableBucketEncryption.KMS,\n encryptionKey: key,\n});\n// This account principal will also receive kms:Decrypt access to the KMS key\nencryptedBucket.grantRead(new iam.AccountPrincipal('123456789012'), '*');\n\n// Use S3 managed server side encryption (default)\nconst encryptedBucketDefault = new TableBucket(scope, 'EncryptedTableBucketDefault', {\n tableBucketName: 'table-bucket-3',\n encryption: TableBucketEncryption.S3_MANAGED, // Uses AES-256 encryption by default\n});",
4826
+ "custom": {
4827
+ "exampleMetadata": "infused"
4828
+ }
4829
+ },
4830
+ "fqn": "@aws-cdk/aws-s3tables-alpha.TableBucketEncryption",
4831
+ "kind": "enum",
4832
+ "locationInModule": {
4833
+ "filename": "lib/table-bucket.ts",
4834
+ "line": 151
4835
+ },
4836
+ "members": [
4837
+ {
4838
+ "docs": {
4839
+ "stability": "experimental",
4840
+ "summary": "Use a customer defined KMS key for encryption If `encryptionKey` is specified, this key will be used, otherwise, one will be defined."
4841
+ },
4842
+ "name": "KMS"
4843
+ },
4844
+ {
4845
+ "docs": {
4846
+ "stability": "experimental",
4847
+ "summary": "Use S3 managed encryption keys with AES256 encryption."
4848
+ },
4849
+ "name": "S3_MANAGED"
4850
+ }
4851
+ ],
4852
+ "name": "TableBucketEncryption",
4853
+ "symbolId": "lib/table-bucket:TableBucketEncryption"
4854
+ },
4745
4855
  "@aws-cdk/aws-s3tables-alpha.TableBucketPolicy": {
4746
4856
  "assembly": "@aws-cdk/aws-s3tables-alpha",
4747
4857
  "base": "aws-cdk-lib.Resource",
@@ -4761,7 +4871,7 @@
4761
4871
  },
4762
4872
  "locationInModule": {
4763
4873
  "filename": "lib/table-bucket-policy.ts",
4764
- "line": 45
4874
+ "line": 49
4765
4875
  },
4766
4876
  "parameters": [
4767
4877
  {
@@ -4787,20 +4897,37 @@
4787
4897
  "kind": "class",
4788
4898
  "locationInModule": {
4789
4899
  "filename": "lib/table-bucket-policy.ts",
4790
- "line": 35
4900
+ "line": 36
4791
4901
  },
4792
4902
  "name": "TableBucketPolicy",
4793
4903
  "properties": [
4794
4904
  {
4905
+ "const": true,
4795
4906
  "docs": {
4796
4907
  "stability": "experimental",
4797
- "summary": "The IAM PolicyDocument containing permissions represented by this policy."
4908
+ "summary": "Uniquely identifies this class."
4798
4909
  },
4799
4910
  "immutable": true,
4800
4911
  "locationInModule": {
4801
4912
  "filename": "lib/table-bucket-policy.ts",
4802
4913
  "line": 39
4803
4914
  },
4915
+ "name": "PROPERTY_INJECTION_ID",
4916
+ "static": true,
4917
+ "type": {
4918
+ "primitive": "string"
4919
+ }
4920
+ },
4921
+ {
4922
+ "docs": {
4923
+ "stability": "experimental",
4924
+ "summary": "The IAM PolicyDocument containing permissions represented by this policy."
4925
+ },
4926
+ "immutable": true,
4927
+ "locationInModule": {
4928
+ "filename": "lib/table-bucket-policy.ts",
4929
+ "line": 43
4930
+ },
4804
4931
  "name": "document",
4805
4932
  "type": {
4806
4933
  "fqn": "aws-cdk-lib.aws_iam.PolicyDocument"
@@ -4824,7 +4951,7 @@
4824
4951
  "kind": "interface",
4825
4952
  "locationInModule": {
4826
4953
  "filename": "lib/table-bucket-policy.ts",
4827
- "line": 11
4954
+ "line": 12
4828
4955
  },
4829
4956
  "name": "TableBucketPolicyProps",
4830
4957
  "properties": [
@@ -4837,7 +4964,7 @@
4837
4964
  "immutable": true,
4838
4965
  "locationInModule": {
4839
4966
  "filename": "lib/table-bucket-policy.ts",
4840
- "line": 15
4967
+ "line": 16
4841
4968
  },
4842
4969
  "name": "tableBucket",
4843
4970
  "type": {
@@ -4854,7 +4981,7 @@
4854
4981
  "immutable": true,
4855
4982
  "locationInModule": {
4856
4983
  "filename": "lib/table-bucket-policy.ts",
4857
- "line": 26
4984
+ "line": 27
4858
4985
  },
4859
4986
  "name": "removalPolicy",
4860
4987
  "optional": true,
@@ -4872,7 +4999,7 @@
4872
4999
  "immutable": true,
4873
5000
  "locationInModule": {
4874
5001
  "filename": "lib/table-bucket-policy.ts",
4875
- "line": 20
5002
+ "line": 21
4876
5003
  },
4877
5004
  "name": "resourcePolicy",
4878
5005
  "optional": true,
@@ -4898,7 +5025,7 @@
4898
5025
  "kind": "interface",
4899
5026
  "locationInModule": {
4900
5027
  "filename": "lib/table-bucket.ts",
4901
- "line": 226
5028
+ "line": 285
4902
5029
  },
4903
5030
  "name": "TableBucketProps",
4904
5031
  "properties": [
@@ -4914,7 +5041,7 @@
4914
5041
  "immutable": true,
4915
5042
  "locationInModule": {
4916
5043
  "filename": "lib/table-bucket.ts",
4917
- "line": 231
5044
+ "line": 290
4918
5045
  },
4919
5046
  "name": "tableBucketName",
4920
5047
  "type": {
@@ -4931,7 +5058,7 @@
4931
5058
  "immutable": true,
4932
5059
  "locationInModule": {
4933
5060
  "filename": "lib/table-bucket.ts",
4934
- "line": 253
5061
+ "line": 312
4935
5062
  },
4936
5063
  "name": "account",
4937
5064
  "optional": true,
@@ -4939,6 +5066,44 @@
4939
5066
  "primitive": "string"
4940
5067
  }
4941
5068
  },
5069
+ {
5070
+ "abstract": true,
5071
+ "docs": {
5072
+ "default": "- `KMS` if `encryptionKey` is specified, or `S3_MANAGED` otherwise.",
5073
+ "remarks": "If you choose KMS, you can specify a KMS key via `encryptionKey`. If\nencryption key is not specified, a key will automatically be created.",
5074
+ "stability": "experimental",
5075
+ "summary": "The kind of server-side encryption to apply to this bucket."
5076
+ },
5077
+ "immutable": true,
5078
+ "locationInModule": {
5079
+ "filename": "lib/table-bucket.ts",
5080
+ "line": 322
5081
+ },
5082
+ "name": "encryption",
5083
+ "optional": true,
5084
+ "type": {
5085
+ "fqn": "@aws-cdk/aws-s3tables-alpha.TableBucketEncryption"
5086
+ }
5087
+ },
5088
+ {
5089
+ "abstract": true,
5090
+ "docs": {
5091
+ "default": "- If `encryption` is set to `KMS` and this property is undefined,\na new KMS key will be created and associated with this bucket.",
5092
+ "remarks": "The `encryption` property must be either not specified or set to `KMS`.\nAn error will be emitted if `encryption` is set to `S3_MANAGED`.",
5093
+ "stability": "experimental",
5094
+ "summary": "External KMS key to use for bucket encryption."
5095
+ },
5096
+ "immutable": true,
5097
+ "locationInModule": {
5098
+ "filename": "lib/table-bucket.ts",
5099
+ "line": 333
5100
+ },
5101
+ "name": "encryptionKey",
5102
+ "optional": true,
5103
+ "type": {
5104
+ "fqn": "aws-cdk-lib.aws_kms.IKey"
5105
+ }
5106
+ },
4942
5107
  {
4943
5108
  "abstract": true,
4944
5109
  "docs": {
@@ -4949,7 +5114,7 @@
4949
5114
  "immutable": true,
4950
5115
  "locationInModule": {
4951
5116
  "filename": "lib/table-bucket.ts",
4952
- "line": 246
5117
+ "line": 305
4953
5118
  },
4954
5119
  "name": "region",
4955
5120
  "optional": true,
@@ -4967,7 +5132,7 @@
4967
5132
  "immutable": true,
4968
5133
  "locationInModule": {
4969
5134
  "filename": "lib/table-bucket.ts",
4970
- "line": 260
5135
+ "line": 340
4971
5136
  },
4972
5137
  "name": "removalPolicy",
4973
5138
  "optional": true,
@@ -4989,7 +5154,7 @@
4989
5154
  "immutable": true,
4990
5155
  "locationInModule": {
4991
5156
  "filename": "lib/table-bucket.ts",
4992
- "line": 239
5157
+ "line": 298
4993
5158
  },
4994
5159
  "name": "unreferencedFileRemoval",
4995
5160
  "optional": true,
@@ -5015,7 +5180,7 @@
5015
5180
  "kind": "interface",
5016
5181
  "locationInModule": {
5017
5182
  "filename": "lib/table-bucket.ts",
5018
- "line": 92
5183
+ "line": 107
5019
5184
  },
5020
5185
  "name": "UnreferencedFileRemoval",
5021
5186
  "properties": [
@@ -5031,7 +5196,7 @@
5031
5196
  "immutable": true,
5032
5197
  "locationInModule": {
5033
5198
  "filename": "lib/table-bucket.ts",
5034
- "line": 99
5199
+ "line": 114
5035
5200
  },
5036
5201
  "name": "noncurrentDays",
5037
5202
  "optional": true,
@@ -5051,7 +5216,7 @@
5051
5216
  "immutable": true,
5052
5217
  "locationInModule": {
5053
5218
  "filename": "lib/table-bucket.ts",
5054
- "line": 107
5219
+ "line": 122
5055
5220
  },
5056
5221
  "name": "status",
5057
5222
  "optional": true,
@@ -5071,7 +5236,7 @@
5071
5236
  "immutable": true,
5072
5237
  "locationInModule": {
5073
5238
  "filename": "lib/table-bucket.ts",
5074
- "line": 115
5239
+ "line": 130
5075
5240
  },
5076
5241
  "name": "unreferencedDays",
5077
5242
  "optional": true,
@@ -5096,7 +5261,7 @@
5096
5261
  "kind": "enum",
5097
5262
  "locationInModule": {
5098
5263
  "filename": "lib/table-bucket.ts",
5099
- "line": 121
5264
+ "line": 136
5100
5265
  },
5101
5266
  "members": [
5102
5267
  {
@@ -5118,6 +5283,6 @@
5118
5283
  "symbolId": "lib/table-bucket:UnreferencedFileRemovalStatus"
5119
5284
  }
5120
5285
  },
5121
- "version": "2.195.0-alpha.0",
5286
+ "version": "2.196.1-alpha.0",
5122
5287
  "fingerprint": "**********"
5123
5288
  }