Skip to content

Commit fa64edb

Browse files
S3 Tables now supports setting encryption configurations on table buckets and tables. Encryption configurations can use server side encryption using AES256 or KMS customer-managed keys.
1 parent 36f0abb commit fa64edb

File tree

48 files changed

+4544
-119
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+4544
-119
lines changed

generator/ServiceModels/s3tables/s3tables-2018-05-10.api.json

Lines changed: 191 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,24 @@
121121
],
122122
"idempotent":true
123123
},
124+
"DeleteTableBucketEncryption":{
125+
"name":"DeleteTableBucketEncryption",
126+
"http":{
127+
"method":"DELETE",
128+
"requestUri":"/buckets/{tableBucketARN}/encryption",
129+
"responseCode":204
130+
},
131+
"input":{"shape":"DeleteTableBucketEncryptionRequest"},
132+
"errors":[
133+
{"shape":"InternalServerErrorException"},
134+
{"shape":"ForbiddenException"},
135+
{"shape":"NotFoundException"},
136+
{"shape":"TooManyRequestsException"},
137+
{"shape":"ConflictException"},
138+
{"shape":"BadRequestException"}
139+
],
140+
"idempotent":true
141+
},
124142
"DeleteTableBucketPolicy":{
125143
"name":"DeleteTableBucketPolicy",
126144
"http":{
@@ -214,6 +232,24 @@
214232
{"shape":"BadRequestException"}
215233
]
216234
},
235+
"GetTableBucketEncryption":{
236+
"name":"GetTableBucketEncryption",
237+
"http":{
238+
"method":"GET",
239+
"requestUri":"/buckets/{tableBucketARN}/encryption",
240+
"responseCode":200
241+
},
242+
"input":{"shape":"GetTableBucketEncryptionRequest"},
243+
"output":{"shape":"GetTableBucketEncryptionResponse"},
244+
"errors":[
245+
{"shape":"InternalServerErrorException"},
246+
{"shape":"ForbiddenException"},
247+
{"shape":"NotFoundException"},
248+
{"shape":"AccessDeniedException"},
249+
{"shape":"TooManyRequestsException"},
250+
{"shape":"BadRequestException"}
251+
]
252+
},
217253
"GetTableBucketMaintenanceConfiguration":{
218254
"name":"GetTableBucketMaintenanceConfiguration",
219255
"http":{
@@ -250,6 +286,24 @@
250286
{"shape":"BadRequestException"}
251287
]
252288
},
289+
"GetTableEncryption":{
290+
"name":"GetTableEncryption",
291+
"http":{
292+
"method":"GET",
293+
"requestUri":"/tables/{tableBucketARN}/{namespace}/{name}/encryption",
294+
"responseCode":200
295+
},
296+
"input":{"shape":"GetTableEncryptionRequest"},
297+
"output":{"shape":"GetTableEncryptionResponse"},
298+
"errors":[
299+
{"shape":"InternalServerErrorException"},
300+
{"shape":"ForbiddenException"},
301+
{"shape":"NotFoundException"},
302+
{"shape":"AccessDeniedException"},
303+
{"shape":"TooManyRequestsException"},
304+
{"shape":"BadRequestException"}
305+
]
306+
},
253307
"GetTableMaintenanceConfiguration":{
254308
"name":"GetTableMaintenanceConfiguration",
255309
"http":{
@@ -378,6 +432,24 @@
378432
{"shape":"BadRequestException"}
379433
]
380434
},
435+
"PutTableBucketEncryption":{
436+
"name":"PutTableBucketEncryption",
437+
"http":{
438+
"method":"PUT",
439+
"requestUri":"/buckets/{tableBucketARN}/encryption",
440+
"responseCode":200
441+
},
442+
"input":{"shape":"PutTableBucketEncryptionRequest"},
443+
"errors":[
444+
{"shape":"InternalServerErrorException"},
445+
{"shape":"ForbiddenException"},
446+
{"shape":"NotFoundException"},
447+
{"shape":"TooManyRequestsException"},
448+
{"shape":"ConflictException"},
449+
{"shape":"BadRequestException"}
450+
],
451+
"idempotent":true
452+
},
381453
"PutTableBucketMaintenanceConfiguration":{
382454
"name":"PutTableBucketMaintenanceConfiguration",
383455
"http":{
@@ -564,7 +636,8 @@
564636
"type":"structure",
565637
"required":["name"],
566638
"members":{
567-
"name":{"shape":"TableBucketName"}
639+
"name":{"shape":"TableBucketName"},
640+
"encryptionConfiguration":{"shape":"EncryptionConfiguration"}
568641
}
569642
},
570643
"CreateTableBucketResponse":{
@@ -595,7 +668,8 @@
595668
},
596669
"name":{"shape":"TableName"},
597670
"format":{"shape":"OpenTableFormat"},
598-
"metadata":{"shape":"TableMetadata"}
671+
"metadata":{"shape":"TableMetadata"},
672+
"encryptionConfiguration":{"shape":"EncryptionConfiguration"}
599673
}
600674
},
601675
"CreateTableResponse":{
@@ -628,6 +702,17 @@
628702
}
629703
}
630704
},
705+
"DeleteTableBucketEncryptionRequest":{
706+
"type":"structure",
707+
"required":["tableBucketARN"],
708+
"members":{
709+
"tableBucketARN":{
710+
"shape":"TableBucketARN",
711+
"location":"uri",
712+
"locationName":"tableBucketARN"
713+
}
714+
}
715+
},
631716
"DeleteTableBucketPolicyRequest":{
632717
"type":"structure",
633718
"required":["tableBucketARN"],
@@ -705,6 +790,20 @@
705790
}
706791
}
707792
},
793+
"EncryptionConfiguration":{
794+
"type":"structure",
795+
"required":["sseAlgorithm"],
796+
"members":{
797+
"sseAlgorithm":{"shape":"SSEAlgorithm"},
798+
"kmsKeyArn":{"shape":"EncryptionConfigurationKmsKeyArnString"}
799+
}
800+
},
801+
"EncryptionConfigurationKmsKeyArnString":{
802+
"type":"string",
803+
"max":2048,
804+
"min":1,
805+
"pattern":"(arn:aws[-a-z0-9]*:kms:[-a-z0-9]*:[0-9]{12}:key/.+)"
806+
},
708807
"ErrorMessage":{"type":"string"},
709808
"ForbiddenException":{
710809
"type":"structure",
@@ -748,7 +847,27 @@
748847
"namespace":{"shape":"NamespaceList"},
749848
"createdAt":{"shape":"SyntheticTimestamp_date_time"},
750849
"createdBy":{"shape":"AccountId"},
751-
"ownerAccountId":{"shape":"AccountId"}
850+
"ownerAccountId":{"shape":"AccountId"},
851+
"namespaceId":{"shape":"NamespaceId"},
852+
"tableBucketId":{"shape":"TableBucketId"}
853+
}
854+
},
855+
"GetTableBucketEncryptionRequest":{
856+
"type":"structure",
857+
"required":["tableBucketARN"],
858+
"members":{
859+
"tableBucketARN":{
860+
"shape":"TableBucketARN",
861+
"location":"uri",
862+
"locationName":"tableBucketARN"
863+
}
864+
}
865+
},
866+
"GetTableBucketEncryptionResponse":{
867+
"type":"structure",
868+
"required":["encryptionConfiguration"],
869+
"members":{
870+
"encryptionConfiguration":{"shape":"EncryptionConfiguration"}
752871
}
753872
},
754873
"GetTableBucketMaintenanceConfigurationRequest":{
@@ -814,7 +933,40 @@
814933
"arn":{"shape":"TableBucketARN"},
815934
"name":{"shape":"TableBucketName"},
816935
"ownerAccountId":{"shape":"AccountId"},
817-
"createdAt":{"shape":"SyntheticTimestamp_date_time"}
936+
"createdAt":{"shape":"SyntheticTimestamp_date_time"},
937+
"tableBucketId":{"shape":"TableBucketId"}
938+
}
939+
},
940+
"GetTableEncryptionRequest":{
941+
"type":"structure",
942+
"required":[
943+
"tableBucketARN",
944+
"namespace",
945+
"name"
946+
],
947+
"members":{
948+
"tableBucketARN":{
949+
"shape":"TableBucketARN",
950+
"location":"uri",
951+
"locationName":"tableBucketARN"
952+
},
953+
"namespace":{
954+
"shape":"NamespaceName",
955+
"location":"uri",
956+
"locationName":"namespace"
957+
},
958+
"name":{
959+
"shape":"TableName",
960+
"location":"uri",
961+
"locationName":"name"
962+
}
963+
}
964+
},
965+
"GetTableEncryptionResponse":{
966+
"type":"structure",
967+
"required":["encryptionConfiguration"],
968+
"members":{
969+
"encryptionConfiguration":{"shape":"EncryptionConfiguration"}
818970
}
819971
},
820972
"GetTableMaintenanceConfigurationRequest":{
@@ -1004,6 +1156,7 @@
10041156
"type":{"shape":"TableType"},
10051157
"tableARN":{"shape":"TableARN"},
10061158
"namespace":{"shape":"NamespaceList"},
1159+
"namespaceId":{"shape":"NamespaceId"},
10071160
"versionToken":{"shape":"VersionToken"},
10081161
"metadataLocation":{"shape":"MetadataLocation"},
10091162
"warehouseLocation":{"shape":"WarehouseLocation"},
@@ -1013,7 +1166,8 @@
10131166
"modifiedAt":{"shape":"SyntheticTimestamp_date_time"},
10141167
"modifiedBy":{"shape":"AccountId"},
10151168
"ownerAccountId":{"shape":"AccountId"},
1016-
"format":{"shape":"OpenTableFormat"}
1169+
"format":{"shape":"OpenTableFormat"},
1170+
"tableBucketId":{"shape":"TableBucketId"}
10171171
}
10181172
},
10191173
"IcebergCompactionSettings":{
@@ -1214,6 +1368,7 @@
12141368
"max":2048,
12151369
"min":1
12161370
},
1371+
"NamespaceId":{"type":"string"},
12171372
"NamespaceList":{
12181373
"type":"list",
12191374
"member":{"shape":"NamespaceName"}
@@ -1236,7 +1391,9 @@
12361391
"namespace":{"shape":"NamespaceList"},
12371392
"createdAt":{"shape":"SyntheticTimestamp_date_time"},
12381393
"createdBy":{"shape":"AccountId"},
1239-
"ownerAccountId":{"shape":"AccountId"}
1394+
"ownerAccountId":{"shape":"AccountId"},
1395+
"namespaceId":{"shape":"NamespaceId"},
1396+
"tableBucketId":{"shape":"TableBucketId"}
12401397
}
12411398
},
12421399
"NamespaceSummaryList":{
@@ -1269,6 +1426,21 @@
12691426
"max":2147483647,
12701427
"min":1
12711428
},
1429+
"PutTableBucketEncryptionRequest":{
1430+
"type":"structure",
1431+
"required":[
1432+
"tableBucketARN",
1433+
"encryptionConfiguration"
1434+
],
1435+
"members":{
1436+
"tableBucketARN":{
1437+
"shape":"TableBucketARN",
1438+
"location":"uri",
1439+
"locationName":"tableBucketARN"
1440+
},
1441+
"encryptionConfiguration":{"shape":"EncryptionConfiguration"}
1442+
}
1443+
},
12721444
"PutTableBucketMaintenanceConfigurationRequest":{
12731445
"type":"structure",
12741446
"required":[
@@ -1398,6 +1570,13 @@
13981570
"max":20480,
13991571
"min":1
14001572
},
1573+
"SSEAlgorithm":{
1574+
"type":"string",
1575+
"enum":[
1576+
"AES256",
1577+
"aws:kms"
1578+
]
1579+
},
14011580
"SchemaField":{
14021581
"type":"structure",
14031582
"required":[
@@ -1429,6 +1608,7 @@
14291608
"type":"string",
14301609
"pattern":"(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63})"
14311610
},
1611+
"TableBucketId":{"type":"string"},
14321612
"TableBucketMaintenanceConfiguration":{
14331613
"type":"map",
14341614
"key":{"shape":"TableBucketMaintenanceType"},
@@ -1470,7 +1650,8 @@
14701650
"arn":{"shape":"TableBucketARN"},
14711651
"name":{"shape":"TableBucketName"},
14721652
"ownerAccountId":{"shape":"AccountId"},
1473-
"createdAt":{"shape":"SyntheticTimestamp_date_time"}
1653+
"createdAt":{"shape":"SyntheticTimestamp_date_time"},
1654+
"tableBucketId":{"shape":"TableBucketId"}
14741655
}
14751656
},
14761657
"TableBucketSummaryList":{
@@ -1555,7 +1736,9 @@
15551736
"type":{"shape":"TableType"},
15561737
"tableARN":{"shape":"TableARN"},
15571738
"createdAt":{"shape":"SyntheticTimestamp_date_time"},
1558-
"modifiedAt":{"shape":"SyntheticTimestamp_date_time"}
1739+
"modifiedAt":{"shape":"SyntheticTimestamp_date_time"},
1740+
"namespaceId":{"shape":"NamespaceId"},
1741+
"tableBucketId":{"shape":"TableBucketId"}
15591742
}
15601743
},
15611744
"TableSummaryList":{

0 commit comments

Comments
 (0)