@aws-cdk/aws-s3tables-alpha 2.194.0-alpha.0 → 2.196.0-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.194.0",
11
+ "aws-cdk-lib": "^2.196.0",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -3516,6 +3516,19 @@
3516
3516
  }
3517
3517
  }
3518
3518
  },
3519
+ "aws-cdk-lib.aws_ssmguiconnect": {
3520
+ "targets": {
3521
+ "dotnet": {
3522
+ "package": "Amazon.CDK.AWS.SSMGuiConnect"
3523
+ },
3524
+ "java": {
3525
+ "package": "software.amazon.awscdk.services.ssmguiconnect"
3526
+ },
3527
+ "python": {
3528
+ "module": "aws_cdk.aws_ssmguiconnect"
3529
+ }
3530
+ }
3531
+ },
3519
3532
  "aws-cdk-lib.aws_ssmincidents": {
3520
3533
  "targets": {
3521
3534
  "dotnet": {
@@ -3952,7 +3965,7 @@
3952
3965
  "stability": "experimental"
3953
3966
  },
3954
3967
  "homepage": "https://github.com/aws/aws-cdk",
3955
- "jsiiVersion": "5.7.10 (build 5114b23)",
3968
+ "jsiiVersion": "5.7.15 (build 8c2933f)",
3956
3969
  "keywords": [
3957
3970
  "aws",
3958
3971
  "cdk",
@@ -3975,7 +3988,7 @@
3975
3988
  },
3976
3989
  "name": "@aws-cdk/aws-s3tables-alpha",
3977
3990
  "readme": {
3978
- "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"
3979
3992
  },
3980
3993
  "repository": {
3981
3994
  "directory": "packages/@aws-cdk/aws-s3tables-alpha",
@@ -4022,7 +4035,7 @@
4022
4035
  "kind": "interface",
4023
4036
  "locationInModule": {
4024
4037
  "filename": "lib/table-bucket.ts",
4025
- "line": 14
4038
+ "line": 16
4026
4039
  },
4027
4040
  "methods": [
4028
4041
  {
@@ -4031,11 +4044,11 @@
4031
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.",
4032
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.",
4033
4046
  "stability": "experimental",
4034
- "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."
4035
4048
  },
4036
4049
  "locationInModule": {
4037
4050
  "filename": "lib/table-bucket.ts",
4038
- "line": 59
4051
+ "line": 65
4039
4052
  },
4040
4053
  "name": "addToResourcePolicy",
4041
4054
  "parameters": [
@@ -4058,12 +4071,13 @@
4058
4071
  {
4059
4072
  "abstract": true,
4060
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.",
4061
4075
  "stability": "experimental",
4062
4076
  "summary": "Grant read permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4063
4077
  },
4064
4078
  "locationInModule": {
4065
4079
  "filename": "lib/table-bucket.ts",
4066
- "line": 68
4080
+ "line": 77
4067
4081
  },
4068
4082
  "name": "grantRead",
4069
4083
  "parameters": [
@@ -4095,12 +4109,13 @@
4095
4109
  {
4096
4110
  "abstract": true,
4097
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.",
4098
4113
  "stability": "experimental",
4099
4114
  "summary": "Grant read and write permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4100
4115
  },
4101
4116
  "locationInModule": {
4102
4117
  "filename": "lib/table-bucket.ts",
4103
- "line": 86
4118
+ "line": 101
4104
4119
  },
4105
4120
  "name": "grantReadWrite",
4106
4121
  "parameters": [
@@ -4132,12 +4147,13 @@
4132
4147
  {
4133
4148
  "abstract": true,
4134
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.",
4135
4151
  "stability": "experimental",
4136
4152
  "summary": "Grant write permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4137
4153
  },
4138
4154
  "locationInModule": {
4139
4155
  "filename": "lib/table-bucket.ts",
4140
- "line": 77
4156
+ "line": 89
4141
4157
  },
4142
4158
  "name": "grantWrite",
4143
4159
  "parameters": [
@@ -4181,7 +4197,7 @@
4181
4197
  "immutable": true,
4182
4198
  "locationInModule": {
4183
4199
  "filename": "lib/table-bucket.ts",
4184
- "line": 19
4200
+ "line": 21
4185
4201
  },
4186
4202
  "name": "tableBucketArn",
4187
4203
  "type": {
@@ -4200,7 +4216,7 @@
4200
4216
  "immutable": true,
4201
4217
  "locationInModule": {
4202
4218
  "filename": "lib/table-bucket.ts",
4203
- "line": 25
4219
+ "line": 27
4204
4220
  },
4205
4221
  "name": "tableBucketName",
4206
4222
  "type": {
@@ -4219,7 +4235,7 @@
4219
4235
  "immutable": true,
4220
4236
  "locationInModule": {
4221
4237
  "filename": "lib/table-bucket.ts",
4222
- "line": 31
4238
+ "line": 33
4223
4239
  },
4224
4240
  "name": "account",
4225
4241
  "optional": true,
@@ -4227,6 +4243,23 @@
4227
4243
  "primitive": "string"
4228
4244
  }
4229
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
+ },
4230
4263
  {
4231
4264
  "abstract": true,
4232
4265
  "docs": {
@@ -4239,7 +4272,7 @@
4239
4272
  "immutable": true,
4240
4273
  "locationInModule": {
4241
4274
  "filename": "lib/table-bucket.ts",
4242
- "line": 37
4275
+ "line": 39
4243
4276
  },
4244
4277
  "name": "region",
4245
4278
  "optional": true,
@@ -4269,7 +4302,7 @@
4269
4302
  },
4270
4303
  "locationInModule": {
4271
4304
  "filename": "lib/table-bucket.ts",
4272
- "line": 483
4305
+ "line": 580
4273
4306
  },
4274
4307
  "parameters": [
4275
4308
  {
@@ -4298,7 +4331,7 @@
4298
4331
  "kind": "class",
4299
4332
  "locationInModule": {
4300
4333
  "filename": "lib/table-bucket.ts",
4301
- "line": 308
4334
+ "line": 398
4302
4335
  },
4303
4336
  "methods": [
4304
4337
  {
@@ -4308,7 +4341,7 @@
4308
4341
  },
4309
4342
  "locationInModule": {
4310
4343
  "filename": "lib/table-bucket.ts",
4311
- "line": 316
4344
+ "line": 410
4312
4345
  },
4313
4346
  "name": "fromTableBucketArn",
4314
4347
  "parameters": [
@@ -4354,7 +4387,7 @@
4354
4387
  },
4355
4388
  "locationInModule": {
4356
4389
  "filename": "lib/table-bucket.ts",
4357
- "line": 327
4390
+ "line": 421
4358
4391
  },
4359
4392
  "name": "fromTableBucketAttributes",
4360
4393
  "parameters": [
@@ -4401,7 +4434,7 @@
4401
4434
  },
4402
4435
  "locationInModule": {
4403
4436
  "filename": "lib/table-bucket.ts",
4404
- "line": 362
4437
+ "line": 457
4405
4438
  },
4406
4439
  "name": "validateTableBucketName",
4407
4440
  "parameters": [
@@ -4425,7 +4458,7 @@
4425
4458
  },
4426
4459
  "locationInModule": {
4427
4460
  "filename": "lib/table-bucket.ts",
4428
- "line": 418
4461
+ "line": 513
4429
4462
  },
4430
4463
  "name": "validateUnreferencedFileRemoval",
4431
4464
  "parameters": [
@@ -4451,7 +4484,7 @@
4451
4484
  },
4452
4485
  "locationInModule": {
4453
4486
  "filename": "lib/table-bucket.ts",
4454
- "line": 171
4487
+ "line": 204
4455
4488
  },
4456
4489
  "name": "addToResourcePolicy",
4457
4490
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4474,12 +4507,13 @@
4474
4507
  },
4475
4508
  {
4476
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.",
4477
4511
  "stability": "experimental",
4478
4512
  "summary": "Grant read permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4479
4513
  },
4480
4514
  "locationInModule": {
4481
4515
  "filename": "lib/table-bucket.ts",
4482
- "line": 188
4516
+ "line": 221
4483
4517
  },
4484
4518
  "name": "grantRead",
4485
4519
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4505,12 +4539,13 @@
4505
4539
  },
4506
4540
  {
4507
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.",
4508
4543
  "stability": "experimental",
4509
4544
  "summary": "Grant read and write permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4510
4545
  },
4511
4546
  "locationInModule": {
4512
4547
  "filename": "lib/table-bucket.ts",
4513
- "line": 196
4548
+ "line": 241
4514
4549
  },
4515
4550
  "name": "grantReadWrite",
4516
4551
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4536,12 +4571,13 @@
4536
4571
  },
4537
4572
  {
4538
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.",
4539
4575
  "stability": "experimental",
4540
4576
  "summary": "Grant write permissions for this table bucket and its tables to an IAM principal (Role/Group/User)."
4541
4577
  },
4542
4578
  "locationInModule": {
4543
4579
  "filename": "lib/table-bucket.ts",
4544
- "line": 192
4580
+ "line": 231
4545
4581
  },
4546
4582
  "name": "grantWrite",
4547
4583
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4568,6 +4604,23 @@
4568
4604
  ],
4569
4605
  "name": "TableBucket",
4570
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
+ },
4571
4624
  {
4572
4625
  "docs": {
4573
4626
  "stability": "experimental",
@@ -4576,7 +4629,7 @@
4576
4629
  "immutable": true,
4577
4630
  "locationInModule": {
4578
4631
  "filename": "lib/table-bucket.ts",
4579
- "line": 474
4632
+ "line": 569
4580
4633
  },
4581
4634
  "name": "tableBucketArn",
4582
4635
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4592,7 +4645,7 @@
4592
4645
  "immutable": true,
4593
4646
  "locationInModule": {
4594
4647
  "filename": "lib/table-bucket.ts",
4595
- "line": 479
4648
+ "line": 574
4596
4649
  },
4597
4650
  "name": "tableBucketName",
4598
4651
  "overrides": "@aws-cdk/aws-s3tables-alpha.ITableBucket",
@@ -4600,6 +4653,23 @@
4600
4653
  "primitive": "string"
4601
4654
  }
4602
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
+ },
4603
4673
  {
4604
4674
  "docs": {
4605
4675
  "stability": "experimental",
@@ -4608,7 +4678,7 @@
4608
4678
  "immutable": true,
4609
4679
  "locationInModule": {
4610
4680
  "filename": "lib/table-bucket.ts",
4611
- "line": 469
4681
+ "line": 564
4612
4682
  },
4613
4683
  "name": "tableBucketPolicy",
4614
4684
  "optional": true,
@@ -4623,7 +4693,7 @@
4623
4693
  },
4624
4694
  "locationInModule": {
4625
4695
  "filename": "lib/table-bucket.ts",
4626
- "line": 481
4696
+ "line": 578
4627
4697
  },
4628
4698
  "name": "autoCreatePolicy",
4629
4699
  "protected": true,
@@ -4640,8 +4710,8 @@
4640
4710
  "docs": {
4641
4711
  "remarks": "The tableBucketName, region, and account can be provided explicitly\nor will be inferred from the tableBucketArn",
4642
4712
  "stability": "experimental",
4643
- "summary": "Everything needed to reference a specific table bucket.",
4644
- "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};",
4645
4715
  "custom": {
4646
4716
  "exampleMetadata": "fixture=_generated"
4647
4717
  }
@@ -4650,7 +4720,7 @@
4650
4720
  "kind": "interface",
4651
4721
  "locationInModule": {
4652
4722
  "filename": "lib/table-bucket.ts",
4653
- "line": 268
4723
+ "line": 349
4654
4724
  },
4655
4725
  "name": "TableBucketAttributes",
4656
4726
  "properties": [
@@ -4664,7 +4734,7 @@
4664
4734
  "immutable": true,
4665
4735
  "locationInModule": {
4666
4736
  "filename": "lib/table-bucket.ts",
4667
- "line": 278
4737
+ "line": 360
4668
4738
  },
4669
4739
  "name": "account",
4670
4740
  "optional": true,
@@ -4672,6 +4742,24 @@
4672
4742
  "primitive": "string"
4673
4743
  }
4674
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
+ },
4675
4763
  {
4676
4764
  "abstract": true,
4677
4765
  "docs": {
@@ -4682,7 +4770,7 @@
4682
4770
  "immutable": true,
4683
4771
  "locationInModule": {
4684
4772
  "filename": "lib/table-bucket.ts",
4685
- "line": 273
4773
+ "line": 354
4686
4774
  },
4687
4775
  "name": "region",
4688
4776
  "optional": true,
@@ -4700,7 +4788,7 @@
4700
4788
  "immutable": true,
4701
4789
  "locationInModule": {
4702
4790
  "filename": "lib/table-bucket.ts",
4703
- "line": 288
4791
+ "line": 372
4704
4792
  },
4705
4793
  "name": "tableBucketArn",
4706
4794
  "optional": true,
@@ -4718,7 +4806,7 @@
4718
4806
  "immutable": true,
4719
4807
  "locationInModule": {
4720
4808
  "filename": "lib/table-bucket.ts",
4721
- "line": 283
4809
+ "line": 366
4722
4810
  },
4723
4811
  "name": "tableBucketName",
4724
4812
  "optional": true,
@@ -4729,6 +4817,41 @@
4729
4817
  ],
4730
4818
  "symbolId": "lib/table-bucket:TableBucketAttributes"
4731
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
+ },
4732
4855
  "@aws-cdk/aws-s3tables-alpha.TableBucketPolicy": {
4733
4856
  "assembly": "@aws-cdk/aws-s3tables-alpha",
4734
4857
  "base": "aws-cdk-lib.Resource",
@@ -4748,7 +4871,7 @@
4748
4871
  },
4749
4872
  "locationInModule": {
4750
4873
  "filename": "lib/table-bucket-policy.ts",
4751
- "line": 45
4874
+ "line": 49
4752
4875
  },
4753
4876
  "parameters": [
4754
4877
  {
@@ -4774,20 +4897,37 @@
4774
4897
  "kind": "class",
4775
4898
  "locationInModule": {
4776
4899
  "filename": "lib/table-bucket-policy.ts",
4777
- "line": 35
4900
+ "line": 36
4778
4901
  },
4779
4902
  "name": "TableBucketPolicy",
4780
4903
  "properties": [
4781
4904
  {
4905
+ "const": true,
4782
4906
  "docs": {
4783
4907
  "stability": "experimental",
4784
- "summary": "The IAM PolicyDocument containing permissions represented by this policy."
4908
+ "summary": "Uniquely identifies this class."
4785
4909
  },
4786
4910
  "immutable": true,
4787
4911
  "locationInModule": {
4788
4912
  "filename": "lib/table-bucket-policy.ts",
4789
4913
  "line": 39
4790
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
+ },
4791
4931
  "name": "document",
4792
4932
  "type": {
4793
4933
  "fqn": "aws-cdk-lib.aws_iam.PolicyDocument"
@@ -4811,7 +4951,7 @@
4811
4951
  "kind": "interface",
4812
4952
  "locationInModule": {
4813
4953
  "filename": "lib/table-bucket-policy.ts",
4814
- "line": 11
4954
+ "line": 12
4815
4955
  },
4816
4956
  "name": "TableBucketPolicyProps",
4817
4957
  "properties": [
@@ -4824,7 +4964,7 @@
4824
4964
  "immutable": true,
4825
4965
  "locationInModule": {
4826
4966
  "filename": "lib/table-bucket-policy.ts",
4827
- "line": 15
4967
+ "line": 16
4828
4968
  },
4829
4969
  "name": "tableBucket",
4830
4970
  "type": {
@@ -4841,7 +4981,7 @@
4841
4981
  "immutable": true,
4842
4982
  "locationInModule": {
4843
4983
  "filename": "lib/table-bucket-policy.ts",
4844
- "line": 26
4984
+ "line": 27
4845
4985
  },
4846
4986
  "name": "removalPolicy",
4847
4987
  "optional": true,
@@ -4859,7 +4999,7 @@
4859
4999
  "immutable": true,
4860
5000
  "locationInModule": {
4861
5001
  "filename": "lib/table-bucket-policy.ts",
4862
- "line": 20
5002
+ "line": 21
4863
5003
  },
4864
5004
  "name": "resourcePolicy",
4865
5005
  "optional": true,
@@ -4885,7 +5025,7 @@
4885
5025
  "kind": "interface",
4886
5026
  "locationInModule": {
4887
5027
  "filename": "lib/table-bucket.ts",
4888
- "line": 226
5028
+ "line": 285
4889
5029
  },
4890
5030
  "name": "TableBucketProps",
4891
5031
  "properties": [
@@ -4901,7 +5041,7 @@
4901
5041
  "immutable": true,
4902
5042
  "locationInModule": {
4903
5043
  "filename": "lib/table-bucket.ts",
4904
- "line": 231
5044
+ "line": 290
4905
5045
  },
4906
5046
  "name": "tableBucketName",
4907
5047
  "type": {
@@ -4918,7 +5058,7 @@
4918
5058
  "immutable": true,
4919
5059
  "locationInModule": {
4920
5060
  "filename": "lib/table-bucket.ts",
4921
- "line": 253
5061
+ "line": 312
4922
5062
  },
4923
5063
  "name": "account",
4924
5064
  "optional": true,
@@ -4926,6 +5066,44 @@
4926
5066
  "primitive": "string"
4927
5067
  }
4928
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
+ },
4929
5107
  {
4930
5108
  "abstract": true,
4931
5109
  "docs": {
@@ -4936,7 +5114,7 @@
4936
5114
  "immutable": true,
4937
5115
  "locationInModule": {
4938
5116
  "filename": "lib/table-bucket.ts",
4939
- "line": 246
5117
+ "line": 305
4940
5118
  },
4941
5119
  "name": "region",
4942
5120
  "optional": true,
@@ -4954,7 +5132,7 @@
4954
5132
  "immutable": true,
4955
5133
  "locationInModule": {
4956
5134
  "filename": "lib/table-bucket.ts",
4957
- "line": 260
5135
+ "line": 340
4958
5136
  },
4959
5137
  "name": "removalPolicy",
4960
5138
  "optional": true,
@@ -4976,7 +5154,7 @@
4976
5154
  "immutable": true,
4977
5155
  "locationInModule": {
4978
5156
  "filename": "lib/table-bucket.ts",
4979
- "line": 239
5157
+ "line": 298
4980
5158
  },
4981
5159
  "name": "unreferencedFileRemoval",
4982
5160
  "optional": true,
@@ -5002,7 +5180,7 @@
5002
5180
  "kind": "interface",
5003
5181
  "locationInModule": {
5004
5182
  "filename": "lib/table-bucket.ts",
5005
- "line": 92
5183
+ "line": 107
5006
5184
  },
5007
5185
  "name": "UnreferencedFileRemoval",
5008
5186
  "properties": [
@@ -5018,7 +5196,7 @@
5018
5196
  "immutable": true,
5019
5197
  "locationInModule": {
5020
5198
  "filename": "lib/table-bucket.ts",
5021
- "line": 99
5199
+ "line": 114
5022
5200
  },
5023
5201
  "name": "noncurrentDays",
5024
5202
  "optional": true,
@@ -5038,7 +5216,7 @@
5038
5216
  "immutable": true,
5039
5217
  "locationInModule": {
5040
5218
  "filename": "lib/table-bucket.ts",
5041
- "line": 107
5219
+ "line": 122
5042
5220
  },
5043
5221
  "name": "status",
5044
5222
  "optional": true,
@@ -5058,7 +5236,7 @@
5058
5236
  "immutable": true,
5059
5237
  "locationInModule": {
5060
5238
  "filename": "lib/table-bucket.ts",
5061
- "line": 115
5239
+ "line": 130
5062
5240
  },
5063
5241
  "name": "unreferencedDays",
5064
5242
  "optional": true,
@@ -5083,7 +5261,7 @@
5083
5261
  "kind": "enum",
5084
5262
  "locationInModule": {
5085
5263
  "filename": "lib/table-bucket.ts",
5086
- "line": 121
5264
+ "line": 136
5087
5265
  },
5088
5266
  "members": [
5089
5267
  {
@@ -5105,6 +5283,6 @@
5105
5283
  "symbolId": "lib/table-bucket:UnreferencedFileRemovalStatus"
5106
5284
  }
5107
5285
  },
5108
- "version": "2.194.0-alpha.0",
5286
+ "version": "2.196.0-alpha.0",
5109
5287
  "fingerprint": "**********"
5110
5288
  }