Skip to content

Commit 046b377

Browse files
author
awstools
committed
feat(client-s3-control): Added 34 new S3 Storage Lens metrics to support additional customer use cases.
1 parent 96c8e7f commit 046b377

File tree

6 files changed

+398
-56
lines changed

6 files changed

+398
-56
lines changed

clients/client-s3-control/src/S3Control.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2323,7 +2323,7 @@ export class S3Control extends S3ControlClient {
23232323
/**
23242324
* <p>Gets the Amazon S3 Storage Lens configuration. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html">Assessing your storage
23252325
* activity and usage with Amazon S3 Storage Lens </a> in the
2326-
* <i>Amazon S3 User Guide</i>.</p>
2326+
* <i>Amazon S3 User Guide</i>. For a complete list of S3 Storage Lens metrics, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html">S3 Storage Lens metrics glossary</a> in the <i>Amazon S3 User Guide</i>.</p>
23272327
* <note>
23282328
* <p>To use this action, you must have permission to perform the
23292329
* <code>s3:GetStorageLensConfiguration</code> action. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html">Setting permissions to use Amazon S3 Storage Lens</a> in the
@@ -3363,7 +3363,7 @@ export class S3Control extends S3ControlClient {
33633363

33643364
/**
33653365
* <p>Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html">Working with
3366-
* Amazon S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>.</p>
3366+
* Amazon S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>. For a complete list of S3 Storage Lens metrics, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html">S3 Storage Lens metrics glossary</a> in the <i>Amazon S3 User Guide</i>.</p>
33673367
* <note>
33683368
* <p>To use this action, you must have permission to perform the
33693369
* <code>s3:PutStorageLensConfiguration</code> action. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html">Setting permissions to use Amazon S3 Storage Lens</a> in the

clients/client-s3-control/src/commands/GetStorageLensConfigurationCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export interface GetStorageLensConfigurationCommandOutput extends GetStorageLens
3232
/**
3333
* <p>Gets the Amazon S3 Storage Lens configuration. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html">Assessing your storage
3434
* activity and usage with Amazon S3 Storage Lens </a> in the
35-
* <i>Amazon S3 User Guide</i>.</p>
35+
* <i>Amazon S3 User Guide</i>. For a complete list of S3 Storage Lens metrics, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html">S3 Storage Lens metrics glossary</a> in the <i>Amazon S3 User Guide</i>.</p>
3636
* <note>
3737
* <p>To use this action, you must have permission to perform the
3838
* <code>s3:GetStorageLensConfiguration</code> action. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html">Setting permissions to use Amazon S3 Storage Lens</a> in the

clients/client-s3-control/src/commands/PutStorageLensConfigurationCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export interface PutStorageLensConfigurationCommandOutput extends __MetadataBear
2929

3030
/**
3131
* <p>Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html">Working with
32-
* Amazon S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>.</p>
32+
* Amazon S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>. For a complete list of S3 Storage Lens metrics, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html">S3 Storage Lens metrics glossary</a> in the <i>Amazon S3 User Guide</i>.</p>
3333
* <note>
3434
* <p>To use this action, you must have permission to perform the
3535
* <code>s3:PutStorageLensConfiguration</code> action. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html">Setting permissions to use Amazon S3 Storage Lens</a> in the

clients/client-s3-control/src/models/models_0.ts

Lines changed: 133 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,55 @@ export interface AccessPoint {
7575
}
7676

7777
/**
78-
* <p>A container for the activity metrics.</p>
78+
* <p>The container element for Amazon S3 Storage Lens activity metrics. Activity metrics show details about
79+
* how your storage is requested, such as requests (for example, All requests, Get requests,
80+
* Put requests), bytes uploaded or downloaded, and errors.</p>
81+
* <p>For more information about S3 Storage Lens, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html">Assessing your storage activity and usage with S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>. For a complete list of S3 Storage Lens metrics, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html">S3 Storage Lens metrics glossary</a> in the <i>Amazon S3 User Guide</i>.</p>
7982
*/
8083
export interface ActivityMetrics {
8184
/**
82-
* <p>A container for whether the activity metrics are enabled.</p>
85+
* <p>A container that indicates whether activity metrics are enabled.</p>
86+
*/
87+
IsEnabled?: boolean;
88+
}
89+
90+
/**
91+
* <p>The container element for Amazon S3 Storage Lens advanced cost-optimization metrics. Advanced
92+
* cost-optimization metrics provide insights that you can use to manage and optimize your
93+
* storage costs, for example, lifecycle rule counts for transitions, expirations, and
94+
* incomplete multipart uploads.</p>
95+
* <p>For more information about S3 Storage Lens, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html">Assessing your storage activity and usage with S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>. For a complete list of S3 Storage Lens metrics, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html">S3 Storage Lens metrics glossary</a> in the <i>Amazon S3 User Guide</i>.</p>
96+
*/
97+
export interface AdvancedCostOptimizationMetrics {
98+
/**
99+
* <p>A container that indicates whether advanced cost-optimization metrics are
100+
* enabled.</p>
101+
*/
102+
IsEnabled?: boolean;
103+
}
104+
105+
/**
106+
* <p>The container element for Amazon S3 Storage Lens advanced data-protection metrics. Advanced
107+
* data-protection metrics provide insights that you can use to perform audits and protect
108+
* your data, for example replication rule counts within and across Regions.</p>
109+
* <p>For more information about S3 Storage Lens, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html">Assessing your storage activity and usage with S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>. For a complete list of S3 Storage Lens metrics, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html">S3 Storage Lens metrics glossary</a> in the <i>Amazon S3 User Guide</i>.</p>
110+
*/
111+
export interface AdvancedDataProtectionMetrics {
112+
/**
113+
* <p>A container that indicates whether advanced data-protection metrics are enabled.</p>
114+
*/
115+
IsEnabled?: boolean;
116+
}
117+
118+
/**
119+
* <p>The container element for Amazon S3 Storage Lens detailed status code metrics. Detailed status
120+
* code metrics generate metrics for HTTP status codes, such as <code>200 OK</code>, <code>403
121+
* Forbidden</code>, <code>503 Service Unavailable</code> and others. </p>
122+
* <p>For more information about S3 Storage Lens, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html">Assessing your storage activity and usage with S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>. For a complete list of S3 Storage Lens metrics, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html">S3 Storage Lens metrics glossary</a> in the <i>Amazon S3 User Guide</i>.</p>
123+
*/
124+
export interface DetailedStatusCodesMetrics {
125+
/**
126+
* <p>A container that indicates whether detailed status code metrics are enabled.</p>
83127
*/
84128
IsEnabled?: boolean;
85129
}
@@ -133,33 +177,65 @@ export interface PrefixLevel {
133177
}
134178

135179
/**
136-
* <p>A container for the bucket-level configuration.</p>
180+
* <p>A container for the bucket-level configuration for Amazon S3 Storage Lens.</p>
181+
* <p>For more information about S3 Storage Lens, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html">Assessing your storage activity and usage with S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>.</p>
137182
*/
138183
export interface BucketLevel {
139184
/**
140-
* <p>A container for the bucket-level activity metrics for Amazon S3 Storage Lens</p>
185+
* <p>A container for the bucket-level activity metrics for S3 Storage Lens.</p>
141186
*/
142187
ActivityMetrics?: ActivityMetrics;
143188

144189
/**
145-
* <p>A container for the bucket-level prefix-level metrics for S3 Storage Lens</p>
190+
* <p>A container for the prefix-level metrics for S3 Storage Lens. </p>
146191
*/
147192
PrefixLevel?: PrefixLevel;
193+
194+
/**
195+
* <p>A container for bucket-level advanced cost-optimization metrics for S3 Storage Lens.</p>
196+
*/
197+
AdvancedCostOptimizationMetrics?: AdvancedCostOptimizationMetrics;
198+
199+
/**
200+
* <p>A container for bucket-level advanced data-protection metrics for S3 Storage Lens.</p>
201+
*/
202+
AdvancedDataProtectionMetrics?: AdvancedDataProtectionMetrics;
203+
204+
/**
205+
* <p>A container for bucket-level detailed status code metrics for S3 Storage Lens.</p>
206+
*/
207+
DetailedStatusCodesMetrics?: DetailedStatusCodesMetrics;
148208
}
149209

150210
/**
151-
* <p>A container for the account level Amazon S3 Storage Lens configuration.</p>
211+
* <p>A container for the account-level Amazon S3 Storage Lens configuration.</p>
212+
* <p>For more information about S3 Storage Lens, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html">Assessing your storage activity and usage with S3 Storage Lens</a> in the <i>Amazon S3 User Guide</i>. For a complete list of S3 Storage Lens metrics, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html">S3 Storage Lens metrics glossary</a> in the <i>Amazon S3 User Guide</i>.</p>
152213
*/
153214
export interface AccountLevel {
154215
/**
155-
* <p>A container for the S3 Storage Lens activity metrics.</p>
216+
* <p>A container for S3 Storage Lens activity metrics.</p>
156217
*/
157218
ActivityMetrics?: ActivityMetrics;
158219

159220
/**
160221
* <p>A container for the S3 Storage Lens bucket-level configuration.</p>
161222
*/
162223
BucketLevel: BucketLevel | undefined;
224+
225+
/**
226+
* <p>A container for S3 Storage Lens advanced cost-optimization metrics.</p>
227+
*/
228+
AdvancedCostOptimizationMetrics?: AdvancedCostOptimizationMetrics;
229+
230+
/**
231+
* <p>A container for S3 Storage Lens advanced data-protection metrics.</p>
232+
*/
233+
AdvancedDataProtectionMetrics?: AdvancedDataProtectionMetrics;
234+
235+
/**
236+
* <p>A container for detailed status code metrics. </p>
237+
*/
238+
DetailedStatusCodesMetrics?: DetailedStatusCodesMetrics;
163239
}
164240

165241
/**
@@ -197,17 +273,18 @@ export enum AsyncOperationName {
197273
* <p>The <code>PublicAccessBlock</code> configuration that you want to apply to this Amazon S3
198274
* account. You can enable the configuration options in any combination. For more information
199275
* about when Amazon S3 considers a bucket or object public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The Meaning of "Public"</a> in the <i>Amazon S3 User Guide</i>.</p>
200-
* <p>This is not supported for Amazon S3 on Outposts.</p>
276+
* <p>This data type is not supported for Amazon S3 on Outposts.</p>
201277
*/
202278
export interface PublicAccessBlockConfiguration {
203279
/**
204-
* <p>Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets
205-
* in this account. Setting this element to <code>TRUE</code> causes the following
280+
* <p>Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in
281+
* this account. Setting this element to <code>TRUE</code> causes the following
206282
* behavior:</p>
207283
* <ul>
208284
* <li>
209-
* <p>PUT Bucket acl and PUT Object acl calls fail if the specified ACL is
210-
* public.</p>
285+
* <p>
286+
* <code>PutBucketAcl</code> and <code>PutObjectAcl</code> calls fail if the
287+
* specified ACL is public.</p>
211288
* </li>
212289
* <li>
213290
* <p>PUT Object calls fail if the request includes a public ACL.</p>
@@ -217,26 +294,26 @@ export interface PublicAccessBlockConfiguration {
217294
* </li>
218295
* </ul>
219296
* <p>Enabling this setting doesn't affect existing policies or ACLs.</p>
220-
* <p>This is not supported for Amazon S3 on Outposts.</p>
297+
* <p>This property is not supported for Amazon S3 on Outposts.</p>
221298
*/
222299
BlockPublicAcls?: boolean;
223300

224301
/**
225302
* <p>Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting
226-
* this element to <code>TRUE</code> causes Amazon S3 to ignore all public ACLs on buckets in
227-
* this account and any objects that they contain. </p>
303+
* this element to <code>TRUE</code> causes Amazon S3 to ignore all public ACLs on buckets in this
304+
* account and any objects that they contain. </p>
228305
* <p>Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't
229306
* prevent new public ACLs from being set.</p>
230-
* <p>This is not supported for Amazon S3 on Outposts.</p>
307+
* <p>This property is not supported for Amazon S3 on Outposts.</p>
231308
*/
232309
IgnorePublicAcls?: boolean;
233310

234311
/**
235312
* <p>Specifies whether Amazon S3 should block public bucket policies for buckets in this account.
236-
* Setting this element to <code>TRUE</code> causes Amazon S3 to reject calls to PUT Bucket
237-
* policy if the specified bucket policy allows public access. </p>
313+
* Setting this element to <code>TRUE</code> causes Amazon S3 to reject calls to PUT Bucket policy
314+
* if the specified bucket policy allows public access. </p>
238315
* <p>Enabling this setting doesn't affect existing bucket policies.</p>
239-
* <p>This is not supported for Amazon S3 on Outposts.</p>
316+
* <p>This property is not supported for Amazon S3 on Outposts.</p>
240317
*/
241318
BlockPublicPolicy?: boolean;
242319

@@ -248,7 +325,7 @@ export interface PublicAccessBlockConfiguration {
248325
* <p>Enabling this setting doesn't affect previously stored bucket policies, except that
249326
* public and cross-account access within any public bucket policy, including non-public
250327
* delegation to specific accounts, is blocked.</p>
251-
* <p>This is not supported for Amazon S3 on Outposts.</p>
328+
* <p>This property is not supported for Amazon S3 on Outposts.</p>
252329
*/
253330
RestrictPublicBuckets?: boolean;
254331
}
@@ -276,7 +353,7 @@ export interface CreateMultiRegionAccessPointInput {
276353
* <p>The <code>PublicAccessBlock</code> configuration that you want to apply to this Amazon S3
277354
* account. You can enable the configuration options in any combination. For more information
278355
* about when Amazon S3 considers a bucket or object public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The Meaning of "Public"</a> in the <i>Amazon S3 User Guide</i>.</p>
279-
* <p>This is not supported for Amazon S3 on Outposts.</p>
356+
* <p>This data type is not supported for Amazon S3 on Outposts.</p>
280357
*/
281358
PublicAccessBlock?: PublicAccessBlockConfiguration;
282359

@@ -1173,8 +1250,10 @@ export interface S3AccessControlPolicy {
11731250

11741251
/**
11751252
* <p>Contains the configuration parameters for a Set Object ACL operation. S3 Batch Operations
1176-
* passes every object to the underlying PUT Object acl API. For more information about the
1177-
* parameters for this operation, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html">PUT Object acl</a>.</p>
1253+
* passes every object to the underlying <code>PutObjectAcl</code> API. For more information
1254+
* about the parameters for this operation, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html">
1255+
* <code>PutObjectAcl</code>
1256+
* </a>.</p>
11781257
*/
11791258
export interface S3SetObjectAclOperation {
11801259
/**
@@ -1261,16 +1340,16 @@ export interface S3ObjectMetadata {
12611340
}
12621341

12631342
/**
1264-
* <p></p>
1343+
* <p>A container for a key-value name pair.</p>
12651344
*/
12661345
export interface S3Tag {
12671346
/**
1268-
* <p></p>
1347+
* <p>Key of the tag</p>
12691348
*/
12701349
Key: string | undefined;
12711350

12721351
/**
1273-
* <p></p>
1352+
* <p>Value of the tag</p>
12741353
*/
12751354
Value: string | undefined;
12761355
}
@@ -1303,8 +1382,9 @@ export enum S3StorageClass {
13031382
export interface S3CopyObjectOperation {
13041383
/**
13051384
* <p>Specifies the destination bucket ARN for the batch copy operation. For example, to copy
1306-
* objects to a bucket named "destinationBucket", set the TargetResource to
1307-
* "arn:aws:s3:::destinationBucket".</p>
1385+
* objects to a bucket named <code>destinationBucket</code>, set the
1386+
* <code>TargetResource</code> property to
1387+
* <code>arn:aws:s3:::destinationBucket</code>.</p>
13081388
*/
13091389
TargetResource?: string;
13101390

@@ -1518,7 +1598,7 @@ export interface JobOperation {
15181598
S3PutObjectCopy?: S3CopyObjectOperation;
15191599

15201600
/**
1521-
* <p>Directs the specified job to run a PUT Object acl call on every object in the
1601+
* <p>Directs the specified job to run a <code>PutObjectAcl</code> call on every object in the
15221602
* manifest.</p>
15231603
*/
15241604
S3PutObjectAcl?: S3SetObjectAclOperation;
@@ -2261,7 +2341,7 @@ export interface GetAccessPointResult {
22612341
* <p>The <code>PublicAccessBlock</code> configuration that you want to apply to this Amazon S3
22622342
* account. You can enable the configuration options in any combination. For more information
22632343
* about when Amazon S3 considers a bucket or object public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The Meaning of "Public"</a> in the <i>Amazon S3 User Guide</i>.</p>
2264-
* <p>This is not supported for Amazon S3 on Outposts.</p>
2344+
* <p>This data type is not supported for Amazon S3 on Outposts.</p>
22652345
*/
22662346
PublicAccessBlockConfiguration?: PublicAccessBlockConfiguration;
22672347

@@ -2535,7 +2615,7 @@ export interface LifecycleRuleFilter {
25352615
Prefix?: string;
25362616

25372617
/**
2538-
* <p></p>
2618+
* <p>A container for a key-value name pair.</p>
25392619
*/
25402620
Tag?: S3Tag;
25412621

@@ -2859,7 +2939,7 @@ export interface MultiRegionAccessPointReport {
28592939
* <p>The <code>PublicAccessBlock</code> configuration that you want to apply to this Amazon S3
28602940
* account. You can enable the configuration options in any combination. For more information
28612941
* about when Amazon S3 considers a bucket or object public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The Meaning of "Public"</a> in the <i>Amazon S3 User Guide</i>.</p>
2862-
* <p>This is not supported for Amazon S3 on Outposts.</p>
2942+
* <p>This data type is not supported for Amazon S3 on Outposts.</p>
28632943
*/
28642944
PublicAccessBlock?: PublicAccessBlockConfiguration;
28652945

@@ -4116,6 +4196,27 @@ export const ActivityMetricsFilterSensitiveLog = (obj: ActivityMetrics): any =>
41164196
...obj,
41174197
});
41184198

4199+
/**
4200+
* @internal
4201+
*/
4202+
export const AdvancedCostOptimizationMetricsFilterSensitiveLog = (obj: AdvancedCostOptimizationMetrics): any => ({
4203+
...obj,
4204+
});
4205+
4206+
/**
4207+
* @internal
4208+
*/
4209+
export const AdvancedDataProtectionMetricsFilterSensitiveLog = (obj: AdvancedDataProtectionMetrics): any => ({
4210+
...obj,
4211+
});
4212+
4213+
/**
4214+
* @internal
4215+
*/
4216+
export const DetailedStatusCodesMetricsFilterSensitiveLog = (obj: DetailedStatusCodesMetrics): any => ({
4217+
...obj,
4218+
});
4219+
41194220
/**
41204221
* @internal
41214222
*/

0 commit comments

Comments
 (0)