@@ -146,23 +146,57 @@ export interface NoncurrentVersionTransition {
146
146
/**
147
147
* Storage class to move an object to
148
148
*/
149
- export enum StorageClass {
149
+ export class StorageClass {
150
150
/**
151
- * Storage class for data that is accessed less frequently, but requires rapid access when needed.
151
+ * Storage class for data that is accessed less frequently, but requires rapid
152
+ * access when needed.
152
153
*
153
154
* Has lower availability than Standard storage.
154
155
*/
155
- InfrequentAccess = 'STANDARD_IA' ,
156
+ public static readonly InfrequentAccess = new StorageClass ( 'STANDARD_IA' ) ;
156
157
157
158
/**
158
159
* Infrequent Access that's only stored in one availability zone.
159
160
*
160
161
* Has lower availability than standard InfrequentAccess.
161
162
*/
162
- OneZoneInfrequentAccess = 'ONEZONE_IA' ,
163
+ public static readonly OneZoneInfrequentAccess = new StorageClass ( 'ONEZONE_IA' ) ;
163
164
164
165
/**
165
- * Storage class for long-term archival that can take between minutes and hours to access.
166
+ * Storage class for long-term archival that can take between minutes and
167
+ * hours to access.
168
+ *
169
+ * Use for archives where portions of the data might need to be retrieved in
170
+ * minutes. Data stored in the GLACIER storage class has a minimum storage
171
+ * duration period of 90 days and can be accessed in as little as 1-5 minutes
172
+ * using expedited retrieval. If you delete an object before the 90-day
173
+ * minimum, you are charged for 90 days.
166
174
*/
167
- Glacier = 'GLACIER'
175
+ public static readonly Glacier = new StorageClass ( 'GLACIER' ) ;
176
+
177
+ /**
178
+ * Use for archiving data that rarely needs to be accessed. Data stored in the
179
+ * DEEP_ARCHIVE storage class has a minimum storage duration period of 180
180
+ * days and a default retrieval time of 12 hours. If you delete an object
181
+ * before the 180-day minimum, you are charged for 180 days. For pricing
182
+ * information, see Amazon S3 Pricing.
183
+ */
184
+ public static readonly DeepArchive = new StorageClass ( 'DEEP_ARCHIVE' ) ;
185
+
186
+ /**
187
+ * The INTELLIGENT_TIERING storage class is designed to optimize storage costs
188
+ * by automatically moving data to the most cost-effective storage access
189
+ * tier, without performance impact or operational overhead.
190
+ * INTELLIGENT_TIERING delivers automatic cost savings by moving data on a
191
+ * granular object level between two access tiers, a frequent access tier and
192
+ * a lower-cost infrequent access tier, when access patterns change. The
193
+ * INTELLIGENT_TIERING storage class is ideal if you want to optimize storage
194
+ * costs automatically for long-lived data when access patterns are unknown or
195
+ * unpredictable.
196
+ */
197
+ public static readonly IntelligentTiering = new StorageClass ( 'INTELLIGENT_TIERING' ) ;
198
+
199
+ constructor ( public readonly value : string ) { }
200
+
201
+ public toString ( ) { return this . value ; }
168
202
}
0 commit comments