Skip to content

Commit 4feb52a

Browse files
author
awstools
committed
feat(client-accessanalyzer): This release adds support for external access findings for S3 directory buckets to help you easily identify cross-account access. Updated service API, documentation, and paginators.
1 parent 75831cb commit 4feb52a

File tree

5 files changed

+96
-2
lines changed

5 files changed

+96
-2
lines changed

clients/client-accessanalyzer/src/commands/CreateAccessPreviewCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,9 @@ export interface CreateAccessPreviewCommandOutput extends CreateAccessPreviewRes
151151
* sqsQueue: { // SqsQueueConfiguration
152152
* queuePolicy: "STRING_VALUE",
153153
* },
154+
* s3ExpressDirectoryBucket: { // S3ExpressDirectoryBucketConfiguration
155+
* bucketPolicy: "STRING_VALUE",
156+
* },
154157
* },
155158
* },
156159
* clientToken: "STRING_VALUE",

clients/client-accessanalyzer/src/commands/GetAccessPreviewCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,9 @@ export interface GetAccessPreviewCommandOutput extends GetAccessPreviewResponse,
158158
* // sqsQueue: { // SqsQueueConfiguration
159159
* // queuePolicy: "STRING_VALUE",
160160
* // },
161+
* // s3ExpressDirectoryBucket: { // S3ExpressDirectoryBucketConfiguration
162+
* // bucketPolicy: "STRING_VALUE",
163+
* // },
161164
* // },
162165
* // },
163166
* // createdAt: new Date("TIMESTAMP"), // required

clients/client-accessanalyzer/src/models/models_0.ts

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1830,6 +1830,25 @@ export interface S3BucketConfiguration {
18301830
accessPoints?: Record<string, S3AccessPointConfiguration>;
18311831
}
18321832

1833+
/**
1834+
* @public
1835+
* <p>Proposed access control configuration for an Amazon S3 directory bucket. You can propose a
1836+
* configuration for a new Amazon S3 directory bucket or an existing Amazon S3 directory bucket that you
1837+
* own by specifying the Amazon S3 bucket policy. If the configuration is for an existing Amazon S3
1838+
* directory bucket and you do not specify the Amazon S3 bucket policy, the access preview uses the
1839+
* existing policy attached to the directory bucket. If the access preview is for a new
1840+
* resource and you do not specify the Amazon S3 bucket policy, the access preview assumes an
1841+
* directory bucket without a policy. To propose deletion of an existing bucket policy, you
1842+
* can specify an empty string. For more information about bucket policy limits, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html">Example bucket policies</a>.</p>
1843+
*/
1844+
export interface S3ExpressDirectoryBucketConfiguration {
1845+
/**
1846+
* @public
1847+
* <p>The proposed bucket policy for the Amazon S3 directory bucket.</p>
1848+
*/
1849+
bucketPolicy?: string;
1850+
}
1851+
18331852
/**
18341853
* @public
18351854
* <p>The configuration for a Secrets Manager secret. For more information, see <a href="https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html">CreateSecret</a>.</p>
@@ -1914,6 +1933,7 @@ export type Configuration =
19141933
| Configuration.RdsDbClusterSnapshotMember
19151934
| Configuration.RdsDbSnapshotMember
19161935
| Configuration.S3BucketMember
1936+
| Configuration.S3ExpressDirectoryBucketMember
19171937
| Configuration.SecretsManagerSecretMember
19181938
| Configuration.SnsTopicMember
19191939
| Configuration.SqsQueueMember
@@ -1939,6 +1959,7 @@ export namespace Configuration {
19391959
s3Bucket?: never;
19401960
snsTopic?: never;
19411961
sqsQueue?: never;
1962+
s3ExpressDirectoryBucket?: never;
19421963
$unknown?: never;
19431964
}
19441965

@@ -1958,6 +1979,7 @@ export namespace Configuration {
19581979
s3Bucket?: never;
19591980
snsTopic?: never;
19601981
sqsQueue?: never;
1982+
s3ExpressDirectoryBucket?: never;
19611983
$unknown?: never;
19621984
}
19631985

@@ -1977,6 +1999,7 @@ export namespace Configuration {
19771999
s3Bucket?: never;
19782000
snsTopic?: never;
19792001
sqsQueue?: never;
2002+
s3ExpressDirectoryBucket?: never;
19802003
$unknown?: never;
19812004
}
19822005

@@ -1996,6 +2019,7 @@ export namespace Configuration {
19962019
s3Bucket?: never;
19972020
snsTopic?: never;
19982021
sqsQueue?: never;
2022+
s3ExpressDirectoryBucket?: never;
19992023
$unknown?: never;
20002024
}
20012025

@@ -2015,6 +2039,7 @@ export namespace Configuration {
20152039
s3Bucket?: never;
20162040
snsTopic?: never;
20172041
sqsQueue?: never;
2042+
s3ExpressDirectoryBucket?: never;
20182043
$unknown?: never;
20192044
}
20202045

@@ -2034,6 +2059,7 @@ export namespace Configuration {
20342059
s3Bucket?: never;
20352060
snsTopic?: never;
20362061
sqsQueue?: never;
2062+
s3ExpressDirectoryBucket?: never;
20372063
$unknown?: never;
20382064
}
20392065

@@ -2053,6 +2079,7 @@ export namespace Configuration {
20532079
s3Bucket?: never;
20542080
snsTopic?: never;
20552081
sqsQueue?: never;
2082+
s3ExpressDirectoryBucket?: never;
20562083
$unknown?: never;
20572084
}
20582085

@@ -2072,12 +2099,13 @@ export namespace Configuration {
20722099
s3Bucket?: never;
20732100
snsTopic?: never;
20742101
sqsQueue?: never;
2102+
s3ExpressDirectoryBucket?: never;
20752103
$unknown?: never;
20762104
}
20772105

20782106
/**
20792107
* @public
2080-
* <p>The access control configuration is for an Amazon S3 Bucket. </p>
2108+
* <p>The access control configuration is for an Amazon S3 bucket. </p>
20812109
*/
20822110
export interface S3BucketMember {
20832111
ebsSnapshot?: never;
@@ -2091,6 +2119,7 @@ export namespace Configuration {
20912119
s3Bucket: S3BucketConfiguration;
20922120
snsTopic?: never;
20932121
sqsQueue?: never;
2122+
s3ExpressDirectoryBucket?: never;
20942123
$unknown?: never;
20952124
}
20962125

@@ -2110,6 +2139,7 @@ export namespace Configuration {
21102139
s3Bucket?: never;
21112140
snsTopic: SnsTopicConfiguration;
21122141
sqsQueue?: never;
2142+
s3ExpressDirectoryBucket?: never;
21132143
$unknown?: never;
21142144
}
21152145

@@ -2129,6 +2159,27 @@ export namespace Configuration {
21292159
s3Bucket?: never;
21302160
snsTopic?: never;
21312161
sqsQueue: SqsQueueConfiguration;
2162+
s3ExpressDirectoryBucket?: never;
2163+
$unknown?: never;
2164+
}
2165+
2166+
/**
2167+
* @public
2168+
* <p>The access control configuration is for an Amazon S3 directory bucket.</p>
2169+
*/
2170+
export interface S3ExpressDirectoryBucketMember {
2171+
ebsSnapshot?: never;
2172+
ecrRepository?: never;
2173+
iamRole?: never;
2174+
efsFileSystem?: never;
2175+
kmsKey?: never;
2176+
rdsDbClusterSnapshot?: never;
2177+
rdsDbSnapshot?: never;
2178+
secretsManagerSecret?: never;
2179+
s3Bucket?: never;
2180+
snsTopic?: never;
2181+
sqsQueue?: never;
2182+
s3ExpressDirectoryBucket: S3ExpressDirectoryBucketConfiguration;
21322183
$unknown?: never;
21332184
}
21342185

@@ -2147,6 +2198,7 @@ export namespace Configuration {
21472198
s3Bucket?: never;
21482199
snsTopic?: never;
21492200
sqsQueue?: never;
2201+
s3ExpressDirectoryBucket?: never;
21502202
$unknown: [string, any];
21512203
}
21522204

@@ -2162,6 +2214,7 @@ export namespace Configuration {
21622214
s3Bucket: (value: S3BucketConfiguration) => T;
21632215
snsTopic: (value: SnsTopicConfiguration) => T;
21642216
sqsQueue: (value: SqsQueueConfiguration) => T;
2217+
s3ExpressDirectoryBucket: (value: S3ExpressDirectoryBucketConfiguration) => T;
21652218
_: (name: string, value: any) => T;
21662219
}
21672220

@@ -2177,6 +2230,8 @@ export namespace Configuration {
21772230
if (value.s3Bucket !== undefined) return visitor.s3Bucket(value.s3Bucket);
21782231
if (value.snsTopic !== undefined) return visitor.snsTopic(value.snsTopic);
21792232
if (value.sqsQueue !== undefined) return visitor.sqsQueue(value.sqsQueue);
2233+
if (value.s3ExpressDirectoryBucket !== undefined)
2234+
return visitor.s3ExpressDirectoryBucket(value.s3ExpressDirectoryBucket);
21802235
return visitor._(value.$unknown[0], value.$unknown[1]);
21812236
};
21822237
}
@@ -2388,6 +2443,7 @@ export type ResourceType =
23882443
| "AWS::RDS::DBClusterSnapshot"
23892444
| "AWS::RDS::DBSnapshot"
23902445
| "AWS::S3::Bucket"
2446+
| "AWS::S3Express::DirectoryBucket"
23912447
| "AWS::SNS::Topic"
23922448
| "AWS::SQS::Queue"
23932449
| "AWS::SecretsManager::Secret";

clients/client-accessanalyzer/src/protocols/Aws_restJson1.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ import {
130130
S3AccessPointConfiguration,
131131
S3BucketAclGrantConfiguration,
132132
S3BucketConfiguration,
133+
S3ExpressDirectoryBucketConfiguration,
133134
S3PublicAccessBlockConfiguration,
134135
SecretsManagerSecretConfiguration,
135136
ServiceQuotaExceededException,
@@ -3343,6 +3344,8 @@ const se_CloudTrailDetails = (input: CloudTrailDetails, context: __SerdeContext)
33433344

33443345
// se_S3BucketConfiguration omitted.
33453346

3347+
// se_S3ExpressDirectoryBucketConfiguration omitted.
3348+
33463349
// se_S3PublicAccessBlockConfiguration omitted.
33473350

33483351
// se_SecretsManagerSecretConfiguration omitted.
@@ -3822,6 +3825,8 @@ const de_PolicyGenerationList = (output: any, context: __SerdeContext): PolicyGe
38223825

38233826
// de_S3BucketConfiguration omitted.
38243827

3828+
// de_S3ExpressDirectoryBucketConfiguration omitted.
3829+
38253830
// de_S3PublicAccessBlockConfiguration omitted.
38263831

38273832
// de_SecretsManagerSecretConfiguration omitted.

codegen/sdk-codegen/aws-models/accessanalyzer.json

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2327,7 +2327,7 @@
23272327
"s3Bucket": {
23282328
"target": "com.amazonaws.accessanalyzer#S3BucketConfiguration",
23292329
"traits": {
2330-
"smithy.api#documentation": "<p>The access control configuration is for an Amazon S3 Bucket. </p>"
2330+
"smithy.api#documentation": "<p>The access control configuration is for an Amazon S3 bucket. </p>"
23312331
}
23322332
},
23332333
"snsTopic": {
@@ -2341,6 +2341,12 @@
23412341
"traits": {
23422342
"smithy.api#documentation": "<p>The access control configuration is for an Amazon SQS queue. </p>"
23432343
}
2344+
},
2345+
"s3ExpressDirectoryBucket": {
2346+
"target": "com.amazonaws.accessanalyzer#S3ExpressDirectoryBucketConfiguration",
2347+
"traits": {
2348+
"smithy.api#documentation": "<p>The access control configuration is for an Amazon S3 directory bucket.</p>"
2349+
}
23442350
}
23452351
},
23462352
"traits": {
@@ -5826,6 +5832,10 @@
58265832
{
58275833
"value": "AWS::SNS::Topic",
58285834
"name": "AWS_SNS_TOPIC"
5835+
},
5836+
{
5837+
"value": "AWS::S3Express::DirectoryBucket",
5838+
"name": "AWS_S3EXPRESS_DIRECTORYBUCKET"
58295839
}
58305840
]
58315841
}
@@ -5937,6 +5947,23 @@
59375947
"com.amazonaws.accessanalyzer#S3BucketPolicy": {
59385948
"type": "string"
59395949
},
5950+
"com.amazonaws.accessanalyzer#S3ExpressDirectoryBucketConfiguration": {
5951+
"type": "structure",
5952+
"members": {
5953+
"bucketPolicy": {
5954+
"target": "com.amazonaws.accessanalyzer#S3ExpressDirectoryBucketPolicy",
5955+
"traits": {
5956+
"smithy.api#documentation": "<p>The proposed bucket policy for the Amazon S3 directory bucket.</p>"
5957+
}
5958+
}
5959+
},
5960+
"traits": {
5961+
"smithy.api#documentation": "<p>Proposed access control configuration for an Amazon S3 directory bucket. You can propose a\n configuration for a new Amazon S3 directory bucket or an existing Amazon S3 directory bucket that you\n own by specifying the Amazon S3 bucket policy. If the configuration is for an existing Amazon S3\n directory bucket and you do not specify the Amazon S3 bucket policy, the access preview uses the\n existing policy attached to the directory bucket. If the access preview is for a new\n resource and you do not specify the Amazon S3 bucket policy, the access preview assumes an\n directory bucket without a policy. To propose deletion of an existing bucket policy, you\n can specify an empty string. For more information about bucket policy limits, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html\">Example bucket policies</a>.</p>"
5962+
}
5963+
},
5964+
"com.amazonaws.accessanalyzer#S3ExpressDirectoryBucketPolicy": {
5965+
"type": "string"
5966+
},
59405967
"com.amazonaws.accessanalyzer#S3PublicAccessBlockConfiguration": {
59415968
"type": "structure",
59425969
"members": {

0 commit comments

Comments
 (0)