@awboost/cfn-resource-types 0.1.376 → 0.1.377

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.
@@ -80,10 +80,30 @@ export type Attributes = {
80
80
  * Boolean flag which enables EARLY_MEDIA on an instance.
81
81
  */
82
82
  EarlyMedia?: boolean;
83
+ /**
84
+ * Boolean flag which enables ENHANCED_CHAT_MONITORING on an instance.
85
+ */
86
+ EnhancedChatMonitoring?: boolean;
87
+ /**
88
+ * Boolean flag which enables ENHANCED_CONTACT_MONITORING on an instance.
89
+ */
90
+ EnhancedContactMonitoring?: boolean;
91
+ /**
92
+ * Boolean flag which enables HIGH_VOLUME_OUTBOUND on an instance.
93
+ */
94
+ HighVolumeOutBound?: boolean;
83
95
  /**
84
96
  * Mandatory element which enables inbound calls on new instance.
85
97
  */
86
98
  InboundCalls: boolean;
99
+ /**
100
+ * Boolean flag which enables MULTI_PARTY_CHAT_CONFERENCE on an instance.
101
+ */
102
+ MultiPartyChatConference?: boolean;
103
+ /**
104
+ * Boolean flag which enables MULTI_PARTY_CONFERENCE on an instance.
105
+ */
106
+ MultiPartyConference?: boolean;
87
107
  /**
88
108
  * Mandatory element which enables outbound calls on new instance.
89
109
  */
@@ -118,18 +118,127 @@ export type CmafEncryptionMethod = "CENC" | "CBCS";
118
118
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-containertype.html}
119
119
  */
120
120
  export type ContainerType = "TS" | "CMAF";
121
+ /**
122
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashBaseUrl`.
123
+ * <p>The base URLs to use for retrieving segments. You can specify multiple locations and indicate the priority and weight for when each should be used, for use in mutli-CDN workflows.</p>
124
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashbaseurl.html}
125
+ */
126
+ export type DashBaseUrl = {
127
+ /**
128
+ * <p>For use with DVB-DASH profiles only. The priority of this location for servings segments. The lower the number, the higher the priority.</p>
129
+ * @min `1`
130
+ * @max `15000`
131
+ */
132
+ DvbPriority?: number;
133
+ /**
134
+ * <p>For use with DVB-DASH profiles only. The weighting for source locations that have the same priority. </p>
135
+ * @min `1`
136
+ * @max `15000`
137
+ */
138
+ DvbWeight?: number;
139
+ /**
140
+ * <p>The name of the source location.</p>
141
+ * @minLength `1`
142
+ * @maxLength `2048`
143
+ */
144
+ ServiceLocation?: string;
145
+ /**
146
+ * <p>A source location for segments.</p>
147
+ * @minLength `1`
148
+ * @maxLength `2048`
149
+ */
150
+ Url: string;
151
+ };
152
+ /**
153
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashCompactness`.
154
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashcompactness.html}
155
+ */
156
+ export type DashCompactness = "STANDARD" | "NONE";
121
157
  /**
122
158
  * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashDrmSignaling`.
123
159
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashdrmsignaling.html}
124
160
  */
125
161
  export type DashDrmSignaling = "INDIVIDUAL" | "REFERENCED";
162
+ /**
163
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashDvbFontDownload`.
164
+ * <p>For use with DVB-DASH profiles only. The settings for font downloads that you want Elemental MediaPackage to pass through to the manifest.</p>
165
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashdvbfontdownload.html}
166
+ */
167
+ export type DashDvbFontDownload = {
168
+ /**
169
+ * <p>The <code>fontFamily</code> name for subtitles, as described in <a href="https://tech.ebu.ch/publications/tech3380">EBU-TT-D Subtitling Distribution Format</a>. </p>
170
+ * @minLength `1`
171
+ * @maxLength `256`
172
+ */
173
+ FontFamily?: string;
174
+ /**
175
+ * <p>The <code>mimeType</code> of the resource that's at the font download URL.</p> <p>For information about font MIME types, see the <a href="https://dvb.org/wp-content/uploads/2021/06/A168r4_MPEG-DASH-Profile-for-Transport-of-ISO-BMFF-Based-DVB-Services_Draft-ts_103-285-v140_November_2021.pdf">MPEG-DASH Profile for Transport of ISO BMFF Based DVB Services over IP Based Networks</a> document. </p>
176
+ * @minLength `1`
177
+ * @maxLength `256`
178
+ * @pattern `^[a-zA-Z0-9][a-zA-Z0-9_/-]*[a-zA-Z0-9]$`
179
+ */
180
+ MimeType?: string;
181
+ /**
182
+ * <p>The URL for downloading fonts for subtitles.</p>
183
+ * @minLength `1`
184
+ * @maxLength `2048`
185
+ */
186
+ Url?: string;
187
+ };
188
+ /**
189
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashDvbMetricsReporting`.
190
+ * <p>For use with DVB-DASH profiles only. The settings for error reporting from the playback device that you want Elemental MediaPackage to pass through to the manifest.</p>
191
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashdvbmetricsreporting.html}
192
+ */
193
+ export type DashDvbMetricsReporting = {
194
+ /**
195
+ * <p>The number of playback devices per 1000 that will send error reports to the reporting URL. This represents the probability that a playback device will be a reporting player for this session.</p>
196
+ * @min `1`
197
+ * @max `1000`
198
+ */
199
+ Probability?: number;
200
+ /**
201
+ * <p>The URL where playback devices send error reports.</p>
202
+ * @minLength `1`
203
+ * @maxLength `2048`
204
+ */
205
+ ReportingUrl: string;
206
+ };
207
+ /**
208
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashDvbSettings`.
209
+ * <p>For endpoints that use the DVB-DASH profile only. The font download and error reporting information that you want MediaPackage to pass through to the manifest.</p>
210
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashdvbsettings.html}
211
+ */
212
+ export type DashDvbSettings = {
213
+ /**
214
+ * <p>Playback device error reporting settings.</p>
215
+ * @minLength `0`
216
+ * @maxLength `20`
217
+ */
218
+ ErrorMetrics?: DashDvbMetricsReporting[];
219
+ /**
220
+ * <p>For use with DVB-DASH profiles only. The settings for font downloads that you want Elemental MediaPackage to pass through to the manifest.</p>
221
+ */
222
+ FontDownload?: DashDvbFontDownload;
223
+ };
126
224
  /**
127
225
  * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashManifestConfiguration`.
128
226
  * <p>Retrieve the DASH manifest configuration.</p>
129
227
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashmanifestconfiguration.html}
130
228
  */
131
229
  export type DashManifestConfiguration = {
230
+ /**
231
+ * <p>The base URL to use for retrieving segments.</p>
232
+ * @minLength `0`
233
+ * @maxLength `20`
234
+ */
235
+ BaseUrls?: DashBaseUrl[];
236
+ Compactness?: DashCompactness;
132
237
  DrmSignaling?: DashDrmSignaling;
238
+ /**
239
+ * <p>For endpoints that use the DVB-DASH profile only. The font download and error reporting information that you want MediaPackage to pass through to the manifest.</p>
240
+ */
241
+ DvbSettings?: DashDvbSettings;
133
242
  /**
134
243
  * <p>Filter configuration includes settings for manifest filtering, start and end times, and time delay that apply to all of your egress requests for this manifest. </p>
135
244
  */
@@ -154,17 +263,30 @@ export type DashManifestConfiguration = {
154
263
  */
155
264
  MinUpdatePeriodSeconds?: number;
156
265
  /**
157
- * <p>A list of triggers that controls when AWS Elemental MediaPackage separates the MPEG-DASH manifest into multiple periods. Leave this value empty to indicate that the manifest is contained all in one period.
158
- For more information about periods in the DASH manifest, see <a href="https://docs.aws.amazon.com/mediapackage/latest/userguide/multi-period.html">Multi-period DASH in AWS Elemental MediaPackage</a>.</p>
159
- * @minLength `0`
160
- * @maxLength `100`
161
- */
266
+ * <p>A list of triggers that controls when AWS Elemental MediaPackage separates the MPEG-DASH manifest into multiple periods. Leave this value empty to indicate that the manifest is contained all in one period. For more information about periods in the DASH manifest, see <a href="https://docs.aws.amazon.com/mediapackage/latest/userguide/multi-period.html">Multi-period DASH in AWS Elemental MediaPackage</a>.</p>
267
+ * @minLength `0`
268
+ * @maxLength `100`
269
+ */
162
270
  PeriodTriggers?: DashPeriodTrigger[];
271
+ /**
272
+ * <p>The profile that the output is compliant with.</p>
273
+ * @minLength `0`
274
+ * @maxLength `5`
275
+ */
276
+ Profiles?: DashProfile[];
277
+ /**
278
+ * <p>Details about the content that you want MediaPackage to pass through in the manifest to the playback device.</p>
279
+ */
280
+ ProgramInformation?: DashProgramInformation;
163
281
  /**
164
282
  * <p>The SCTE configuration.</p>
165
283
  */
166
284
  ScteDash?: ScteDash;
167
285
  SegmentTemplateFormat?: DashSegmentTemplateFormat;
286
+ /**
287
+ * <p>The configuration for DASH subtitles.</p>
288
+ */
289
+ SubtitleConfiguration?: DashSubtitleConfiguration;
168
290
  /**
169
291
  * <p>The amount of time (in seconds) that the player should be from the end of the manifest.</p>
170
292
  */
@@ -179,11 +301,78 @@ export type DashManifestConfiguration = {
179
301
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashperiodtrigger.html}
180
302
  */
181
303
  export type DashPeriodTrigger = "AVAILS" | "DRM_KEY_ROTATION" | "SOURCE_CHANGES" | "SOURCE_DISRUPTIONS" | "NONE";
304
+ /**
305
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashProfile`.
306
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashprofile.html}
307
+ */
308
+ export type DashProfile = "DVB_DASH";
309
+ /**
310
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashProgramInformation`.
311
+ * <p>Details about the content that you want MediaPackage to pass through in the manifest to the playback device.</p>
312
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashprograminformation.html}
313
+ */
314
+ export type DashProgramInformation = {
315
+ /**
316
+ * <p>A copyright statement about the content.</p>
317
+ * @minLength `1`
318
+ * @maxLength `2048`
319
+ */
320
+ Copyright?: string;
321
+ /**
322
+ * <p>The language code for this manifest.</p>
323
+ * @minLength `2`
324
+ * @maxLength `5`
325
+ * @pattern `^[a-zA-Z0-9][a-zA-Z0-9_-]*[a-zA-Z0-9]$`
326
+ */
327
+ LanguageCode?: string;
328
+ /**
329
+ * <p>An absolute URL that contains more information about this content.</p>
330
+ * @minLength `1`
331
+ * @maxLength `2048`
332
+ */
333
+ MoreInformationUrl?: string;
334
+ /**
335
+ * <p>Information about the content provider.</p>
336
+ * @minLength `1`
337
+ * @maxLength `2048`
338
+ */
339
+ Source?: string;
340
+ /**
341
+ * <p>The title for the manifest.</p>
342
+ * @minLength `1`
343
+ * @maxLength `2048`
344
+ */
345
+ Title?: string;
346
+ };
182
347
  /**
183
348
  * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashSegmentTemplateFormat`.
184
349
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashsegmenttemplateformat.html}
185
350
  */
186
351
  export type DashSegmentTemplateFormat = "NUMBER_WITH_TIMELINE";
352
+ /**
353
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashSubtitleConfiguration`.
354
+ * <p>The configuration for DASH subtitles.</p>
355
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashsubtitleconfiguration.html}
356
+ */
357
+ export type DashSubtitleConfiguration = {
358
+ /**
359
+ * <p>The settings for TTML subtitles.</p>
360
+ */
361
+ TtmlConfiguration?: DashTtmlConfiguration;
362
+ };
363
+ /**
364
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashTtmlConfiguration`.
365
+ * <p>The settings for TTML subtitles.</p>
366
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashttmlconfiguration.html}
367
+ */
368
+ export type DashTtmlConfiguration = {
369
+ TtmlProfile: DashTtmlProfile;
370
+ };
371
+ /**
372
+ * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashTtmlProfile`.
373
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackagev2-originendpoint-dashttmlprofile.html}
374
+ */
375
+ export type DashTtmlProfile = "IMSC_1" | "EBU_TT_D_101";
187
376
  /**
188
377
  * Type definition for `AWS::MediaPackageV2::OriginEndpoint.DashUtcTiming`.
189
378
  * <p>Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).</p>
@@ -226,12 +415,10 @@ export type Encryption = {
226
415
  */
227
416
  EncryptionMethod: EncryptionMethod;
228
417
  /**
229
- * <p>The frequency (in seconds) of key changes for live workflows, in which content is streamed real time. The service retrieves content keys before the live content begins streaming, and then retrieves them as needed over the lifetime of the workflow. By default, key rotation is set to 300 seconds (5 minutes), the minimum rotation interval, which is equivalent to setting it to 300. If you don't enter an interval, content keys aren't rotated.</p>
230
- <p>The following example setting causes the service to rotate keys every thirty minutes: <code>1800</code>
231
- </p>
232
- * @min `300`
233
- * @max `31536000`
234
- */
418
+ * <p>The frequency (in seconds) of key changes for live workflows, in which content is streamed real time. The service retrieves content keys before the live content begins streaming, and then retrieves them as needed over the lifetime of the workflow. By default, key rotation is set to 300 seconds (5 minutes), the minimum rotation interval, which is equivalent to setting it to 300. If you don't enter an interval, content keys aren't rotated.</p> <p>The following example setting causes the service to rotate keys every thirty minutes: <code>1800</code> </p>
419
+ * @min `300`
420
+ * @max `31536000`
421
+ */
235
422
  KeyRotationIntervalSeconds?: number;
236
423
  /**
237
424
  * <p>The parameters for the SPEKE key provider.</p>
@@ -299,26 +486,8 @@ export type FilterConfiguration = {
299
486
  */
300
487
  export type ForceEndpointErrorConfiguration = {
301
488
  /**
302
- * <p>The failover conditions for the endpoint. The options are:</p>
303
- <ul>
304
- <li>
305
- <p>
306
- <code>STALE_MANIFEST</code> - The manifest stalled and there are no new segments or parts.</p>
307
- </li>
308
- <li>
309
- <p>
310
- <code>INCOMPLETE_MANIFEST</code> - There is a gap in the manifest.</p>
311
- </li>
312
- <li>
313
- <p>
314
- <code>MISSING_DRM_KEY</code> - Key rotation is enabled but we're unable to fetch the key for the current key period.</p>
315
- </li>
316
- <li>
317
- <p>
318
- <code>SLATE_INPUT</code> - The segments which contain slate content are considered to be missing content.</p>
319
- </li>
320
- </ul>
321
- */
489
+ * <p>The failover conditions for the endpoint. The options are:</p> <ul> <li> <p> <code>STALE_MANIFEST</code> - The manifest stalled and there are no new segments or parts.</p> </li> <li> <p> <code>INCOMPLETE_MANIFEST</code> - There is a gap in the manifest.</p> </li> <li> <p> <code>MISSING_DRM_KEY</code> - Key rotation is enabled but we're unable to fetch the key for the current key period.</p> </li> <li> <p> <code>SLATE_INPUT</code> - The segments which contain slate content are considered to be missing content.</p> </li> </ul>
490
+ */
322
491
  EndpointErrorConditions?: EndpointErrorCondition[];
323
492
  };
324
493
  /**
@@ -350,11 +519,8 @@ export type HlsManifestConfiguration = {
350
519
  */
351
520
  ManifestWindowSeconds?: number;
352
521
  /**
353
- * <p>Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval,
354
- EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest.
355
- The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player.</p>
356
- <p>Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.</p>
357
- */
522
+ * <p>Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest. The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player.</p> <p>Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.</p>
523
+ */
358
524
  ProgramDateTimeIntervalSeconds?: number;
359
525
  /**
360
526
  * <p>The SCTE configuration.</p>
@@ -365,9 +531,8 @@ export type HlsManifestConfiguration = {
365
531
  */
366
532
  StartTag?: StartTag;
367
533
  /**
368
- * <p>When enabled, MediaPackage URL-encodes the query string for API requests for HLS child manifests to comply with Amazon Web Services Signature Version 4 (SigV4) signature signing protocol.
369
- For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html">Amazon Web Services Signature Version 4 for API requests</a> in <i>Identity and Access Management User Guide</i>.</p>
370
- */
534
+ * <p>When enabled, MediaPackage URL-encodes the query string for API requests for HLS child manifests to comply with Amazon Web Services Signature Version 4 (SigV4) signature signing protocol. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html">Amazon Web Services Signature Version 4 for API requests</a> in <i>Identity and Access Management User Guide</i>.</p>
535
+ */
371
536
  UrlEncodeChildManifest?: boolean;
372
537
  };
373
538
  /**
@@ -399,11 +564,8 @@ export type LowLatencyHlsManifestConfiguration = {
399
564
  */
400
565
  ManifestWindowSeconds?: number;
401
566
  /**
402
- * <p>Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval,
403
- EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest.
404
- The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player.</p>
405
- <p>Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.</p>
406
- */
567
+ * <p>Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest. The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player.</p> <p>Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.</p>
568
+ */
407
569
  ProgramDateTimeIntervalSeconds?: number;
408
570
  /**
409
571
  * <p>The SCTE configuration.</p>
@@ -414,9 +576,8 @@ export type LowLatencyHlsManifestConfiguration = {
414
576
  */
415
577
  StartTag?: StartTag;
416
578
  /**
417
- * <p>When enabled, MediaPackage URL-encodes the query string for API requests for LL-HLS child manifests to comply with Amazon Web Services Signature Version 4 (SigV4) signature signing protocol.
418
- For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html">Amazon Web Services Signature Version 4 for API requests</a> in <i>Identity and Access Management User Guide</i>.</p>
419
- */
579
+ * <p>When enabled, MediaPackage URL-encodes the query string for API requests for LL-HLS child manifests to comply with Amazon Web Services Signature Version 4 (SigV4) signature signing protocol. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html">Amazon Web Services Signature Version 4 for API requests</a> in <i>Identity and Access Management User Guide</i>.</p>
580
+ */
420
581
  UrlEncodeChildManifest?: boolean;
421
582
  };
422
583
  /**
@@ -520,29 +681,23 @@ export type SpekeKeyProvider = {
520
681
  */
521
682
  EncryptionContractConfiguration: EncryptionContractConfiguration;
522
683
  /**
523
- * <p>The unique identifier for the content. The service sends this to the key server to identify the current endpoint. How unique you make this depends on how fine-grained you want access controls to be. The service does not permit you to use the same ID for two simultaneous encryption processes. The resource ID is also known as the content ID.</p>
524
- <p>The following example shows a resource ID: <code>MovieNight20171126093045</code>
525
- </p>
526
- * @minLength `1`
527
- * @maxLength `256`
528
- * @pattern `^[0-9a-zA-Z_-]+$`
529
- */
684
+ * <p>The unique identifier for the content. The service sends this to the key server to identify the current endpoint. How unique you make this depends on how fine-grained you want access controls to be. The service does not permit you to use the same ID for two simultaneous encryption processes. The resource ID is also known as the content ID.</p> <p>The following example shows a resource ID: <code>MovieNight20171126093045</code> </p>
685
+ * @minLength `1`
686
+ * @maxLength `256`
687
+ * @pattern `^[0-9a-zA-Z_-]+$`
688
+ */
530
689
  ResourceId: string;
531
690
  /**
532
- * <p>The ARN for the IAM role granted by the key provider that provides access to the key provider API. This role must have a trust policy that allows MediaPackage to assume the role, and it must have a sufficient permissions policy to allow access to the specific key retrieval URL. Get this from your DRM solution provider.</p>
533
- <p>Valid format: <code>arn:aws:iam::{accountID}:role/{name}</code>. The following example shows a role ARN: <code>arn:aws:iam::444455556666:role/SpekeAccess</code>
534
- </p>
535
- * @minLength `1`
536
- * @maxLength `2048`
537
- */
691
+ * <p>The ARN for the IAM role granted by the key provider that provides access to the key provider API. This role must have a trust policy that allows MediaPackage to assume the role, and it must have a sufficient permissions policy to allow access to the specific key retrieval URL. Get this from your DRM solution provider.</p> <p>Valid format: <code>arn:aws:iam::{accountID}:role/{name}</code>. The following example shows a role ARN: <code>arn:aws:iam::444455556666:role/SpekeAccess</code> </p>
692
+ * @minLength `1`
693
+ * @maxLength `2048`
694
+ */
538
695
  RoleArn: string;
539
696
  /**
540
- * <p>The URL of the API Gateway proxy that you set up to talk to your key server. The API Gateway proxy must reside in the same AWS Region as MediaPackage and must start with https://.</p>
541
- <p>The following example shows a URL: <code>https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection</code>
542
- </p>
543
- * @minLength `1`
544
- * @maxLength `1024`
545
- */
697
+ * <p>The URL of the API Gateway proxy that you set up to talk to your key server. The API Gateway proxy must reside in the same AWS Region as MediaPackage and must start with https://.</p> <p>The following example shows a URL: <code>https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection</code> </p>
698
+ * @minLength `1`
699
+ * @maxLength `1024`
700
+ */
546
701
  Url: string;
547
702
  };
548
703
  /**
@@ -51,8 +51,9 @@ export type S3BucketProperties = {
51
51
  * Settings that define where logs are stored.
52
52
  */
53
53
  LoggingConfiguration?: LoggingConfiguration;
54
+ MetadataConfiguration?: MetadataConfiguration;
54
55
  /**
55
- * The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html).
56
+ * The metadata table configuration of an S3 general purpose bucket.
56
57
  */
57
58
  MetadataTableConfiguration?: MetadataTableConfiguration;
58
59
  /**
@@ -113,8 +114,53 @@ export type S3BucketAttributes = {
113
114
  Arn: string;
114
115
  DomainName: string;
115
116
  DualStackDomainName: string;
117
+ MetadataConfiguration: {
118
+ /**
119
+ * The destination information for the metadata configuration.
120
+ */
121
+ Destination: {
122
+ /**
123
+ * The ARN of the table bucket.
124
+ */
125
+ TableBucketArn: string;
126
+ /**
127
+ * The type of the table bucket.
128
+ */
129
+ TableBucketType: "aws" | "customer";
130
+ /**
131
+ * The namespace of the table.
132
+ */
133
+ TableNamespace: string;
134
+ };
135
+ /**
136
+ * The configuration for the inventory table.
137
+ */
138
+ InventoryTableConfiguration: {
139
+ /**
140
+ * The ARN of the inventory table.
141
+ */
142
+ TableArn: string;
143
+ /**
144
+ * The name of the inventory table.
145
+ */
146
+ TableName: string;
147
+ };
148
+ /**
149
+ * The configuration for the journal table.
150
+ */
151
+ JournalTableConfiguration: {
152
+ /**
153
+ * The ARN of the journal table.
154
+ */
155
+ TableArn: string;
156
+ /**
157
+ * The name of the journal table.
158
+ */
159
+ TableName: string;
160
+ };
161
+ };
116
162
  /**
117
- * The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html).
163
+ * The metadata table configuration of an S3 general purpose bucket.
118
164
  */
119
165
  MetadataTableConfiguration: {
120
166
  /**
@@ -286,7 +332,7 @@ export type DefaultRetention = {
286
332
  };
287
333
  /**
288
334
  * Type definition for `AWS::S3::Bucket.DeleteMarkerReplication`.
289
- * Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config).
335
+ * Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication````Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config).
290
336
  For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html).
291
337
  If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).
292
338
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html}
@@ -426,6 +472,31 @@ export type InventoryConfiguration = {
426
472
  */
427
473
  ScheduleFrequency: "Daily" | "Weekly";
428
474
  };
475
+ /**
476
+ * Type definition for `AWS::S3::Bucket.InventoryTableConfiguration`.
477
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventorytableconfiguration.html}
478
+ */
479
+ export type InventoryTableConfiguration = {
480
+ /**
481
+ * Specifies whether inventory table configuration is enabled or disabled.
482
+ */
483
+ ConfigurationState: "ENABLED" | "DISABLED";
484
+ /**
485
+ * The encryption configuration for the inventory table.
486
+ */
487
+ EncryptionConfiguration?: MetadataTableEncryptionConfiguration;
488
+ };
489
+ /**
490
+ * Type definition for `AWS::S3::Bucket.JournalTableConfiguration`.
491
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-journaltableconfiguration.html}
492
+ */
493
+ export type JournalTableConfiguration = {
494
+ /**
495
+ * The encryption configuration for the journal table.
496
+ */
497
+ EncryptionConfiguration?: MetadataTableEncryptionConfiguration;
498
+ RecordExpiration: RecordExpiration;
499
+ };
429
500
  /**
430
501
  * Type definition for `AWS::S3::Bucket.LambdaConfiguration`.
431
502
  * Describes the LAMlong functions to invoke and the events for which to invoke them.
@@ -458,8 +529,8 @@ export type LifecycleConfiguration = {
458
529
  /**
459
530
  * Indicates which default minimum object size behavior is applied to the lifecycle configuration.
460
531
  This parameter applies to general purpose buckets only. It isn't supported for directory bucket lifecycle configurations.
461
- + ``all_storage_classes_128K`` - Objects smaller than 128 KB will not transition to any storage class by default.
462
- + ``varies_by_storage_class`` - Objects smaller than 128 KB will transition to Glacier Flexible Retrieval or Glacier Deep Archive storage classes. By default, all other storage classes will prevent transitions smaller than 128 KB.
532
+ + ``all_storage_classes_128K`` - Objects smaller than 128 KB will not transition to any storage class by default.
533
+ + ``varies_by_storage_class`` - Objects smaller than 128 KB will transition to Glacier Flexible Retrieval or Glacier Deep Archive storage classes. By default, all other storage classes will prevent transitions smaller than 128 KB.
463
534
 
464
535
  To customize the minimum object size for any transition you can add a filter that specifies a custom ``ObjectSizeGreaterThan`` or ``ObjectSizeLessThan`` in the body of your transition rule. Custom filters always take precedence over the default transition behavior.
465
536
  */
@@ -485,6 +556,38 @@ export type LoggingConfiguration = {
485
556
  */
486
557
  TargetObjectKeyFormat?: TargetObjectKeyFormat;
487
558
  };
559
+ /**
560
+ * Type definition for `AWS::S3::Bucket.MetadataConfiguration`.
561
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadataconfiguration.html}
562
+ */
563
+ export type MetadataConfiguration = {
564
+ /**
565
+ * The configuration for the inventory table.
566
+ */
567
+ InventoryTableConfiguration?: InventoryTableConfiguration;
568
+ /**
569
+ * The configuration for the journal table.
570
+ */
571
+ JournalTableConfiguration: JournalTableConfiguration;
572
+ };
573
+ /**
574
+ * Type definition for `AWS::S3::Bucket.MetadataDestination`.
575
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatadestination.html}
576
+ */
577
+ export type MetadataDestination = {
578
+ /**
579
+ * The ARN of the table bucket.
580
+ */
581
+ TableBucketArn?: string;
582
+ /**
583
+ * The type of the table bucket.
584
+ */
585
+ TableBucketType: "aws" | "customer";
586
+ /**
587
+ * The namespace of the table.
588
+ */
589
+ TableNamespace?: string;
590
+ };
488
591
  /**
489
592
  * Type definition for `AWS::S3::Bucket.MetadataTableConfiguration`.
490
593
  * The metadata table configuration of an S3 general purpose bucket. For more information, see [Accelerating data discovery with S3 Metadata](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-overview.html) and [Setting up permissions for configuring metadata tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metadata-tables-permissions.html).
@@ -496,6 +599,20 @@ export type MetadataTableConfiguration = {
496
599
  */
497
600
  S3TablesDestination: S3TablesDestination;
498
601
  };
602
+ /**
603
+ * Type definition for `AWS::S3::Bucket.MetadataTableEncryptionConfiguration`.
604
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metadatatableencryptionconfiguration.html}
605
+ */
606
+ export type MetadataTableEncryptionConfiguration = {
607
+ /**
608
+ * The ARN of the KMS key. Required if SseAlgorithm is aws:kms.
609
+ */
610
+ KmsKeyArn?: string;
611
+ /**
612
+ * Specifies the server-side encryption algorithm to use for encrypting tables.
613
+ */
614
+ SseAlgorithm: "aws:kms" | "AES256";
615
+ };
499
616
  /**
500
617
  * Type definition for `AWS::S3::Bucket.Metrics`.
501
618
  * A container specifying replication metrics-related settings enabling replication metrics and events.
@@ -721,6 +838,20 @@ export type QueueConfiguration = {
721
838
  */
722
839
  Queue: string;
723
840
  };
841
+ /**
842
+ * Type definition for `AWS::S3::Bucket.RecordExpiration`.
843
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-recordexpiration.html}
844
+ */
845
+ export type RecordExpiration = {
846
+ /**
847
+ * The number of days after which records expire. Required if Expiration is ENABLED.
848
+ */
849
+ Days?: number;
850
+ /**
851
+ * Specifies whether record expiration is enabled or disabled.
852
+ */
853
+ Expiration: "ENABLED" | "DISABLED";
854
+ };
724
855
  /**
725
856
  * Type definition for `AWS::S3::Bucket.RedirectAllRequestsTo`.
726
857
  * Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.
@@ -836,7 +967,7 @@ export type ReplicationDestination = {
836
967
  */
837
968
  export type ReplicationRule = {
838
969
  /**
839
- * Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config).
970
+ * Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication````Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config).
840
971
  For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html).
841
972
  If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).
842
973
  */
@@ -970,7 +1101,7 @@ export type RoutingRuleCondition = {
970
1101
  */
971
1102
  HttpErrorCodeReturnedEquals?: string;
972
1103
  /**
973
- * The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``/docs``, which identifies all objects in the docs/ folder.
1104
+ * The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``docs/``, which identifies all objects in the docs/ folder.
974
1105
  Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.
975
1106
  */
976
1107
  KeyPrefixEquals?: string;
@@ -1084,16 +1215,16 @@ export type S3TablesDestination = {
1084
1215
  /**
1085
1216
  * Type definition for `AWS::S3::Bucket.ServerSideEncryptionByDefault`.
1086
1217
  * Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. For more information, see [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html).
1087
- + *General purpose buckets* - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key (``aws/s3``) in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS.
1088
- + *Directory buckets* - Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket's lifetime. The [managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (``aws/s3``) isn't supported.
1089
- + *Directory buckets* - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS.
1218
+ + *General purpose buckets* - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key (``aws/s3``) in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS.
1219
+ + *Directory buckets* - Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket's lifetime. The [managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (``aws/s3``) isn't supported.
1220
+ + *Directory buckets* - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS.
1090
1221
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html}
1091
1222
  */
1092
1223
  export type ServerSideEncryptionByDefault = {
1093
1224
  /**
1094
1225
  * AWS Key Management Service (KMS) customer managed key ID to use for the default encryption.
1095
- + *General purpose buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.
1096
- + *Directory buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms``.
1226
+ + *General purpose buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.
1227
+ + *Directory buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms``.
1097
1228
 
1098
1229
  You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.
1099
1230
  + Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab``
@@ -1101,8 +1232,8 @@ export type ServerSideEncryptionByDefault = {
1101
1232
  + Key Alias: ``alias/alias-name``
1102
1233
 
1103
1234
  If you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).
1104
- + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.
1105
- + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.
1235
+ + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.
1236
+ + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.
1106
1237
 
1107
1238
  Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.
1108
1239
  */
@@ -1116,8 +1247,8 @@ export type ServerSideEncryptionByDefault = {
1116
1247
  /**
1117
1248
  * Type definition for `AWS::S3::Bucket.ServerSideEncryptionRule`.
1118
1249
  * Specifies the default server-side encryption configuration.
1119
- + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.
1120
- + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.
1250
+ + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.
1251
+ + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.
1121
1252
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html}
1122
1253
  */
1123
1254
  export type ServerSideEncryptionRule = {
@@ -27,6 +27,7 @@ export type S3ExpressDirectoryBucketProperties = {
27
27
  * Specifies the Zone ID of the Availability Zone or Local Zone where the directory bucket will be created. An example Availability Zone ID value is 'use1-az5'.
28
28
  */
29
29
  LocationName: string;
30
+ Tags?: Tag[];
30
31
  };
31
32
  /**
32
33
  * Attribute type definition for `AWS::S3Express::DirectoryBucket`.
@@ -130,6 +131,24 @@ export type ServerSideEncryptionRule = {
130
131
  */
131
132
  ServerSideEncryptionByDefault?: ServerSideEncryptionByDefault;
132
133
  };
134
+ /**
135
+ * Type definition for `AWS::S3Express::DirectoryBucket.Tag`.
136
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-directorybucket-tag.html}
137
+ */
138
+ export type Tag = {
139
+ /**
140
+ * @minLength `1`
141
+ * @maxLength `128`
142
+ * @pattern `^(?!aws:.*)([\p{L}\p{Z}\p{N}_.:=+\/\-@%]*)$`
143
+ */
144
+ Key: string;
145
+ /**
146
+ * @minLength `0`
147
+ * @maxLength `256`
148
+ * @pattern `^([\p{L}\p{Z}\p{N}_.:=+\/\-@%]*)$`
149
+ */
150
+ Value: string;
151
+ };
133
152
  /**
134
153
  * Resource Type definition for AWS::S3Express::DirectoryBucket.
135
154
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html}
@@ -0,0 +1,49 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
+ /**
4
+ * Resource Type definition for AWS::S3Tables::TablePolicy
5
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablepolicy.html}
6
+ */
7
+ export type S3TablesTablePolicyProperties = {
8
+ /**
9
+ * A policy document containing permissions to add to the specified table. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.
10
+ */
11
+ ResourcePolicy: ResourcePolicy;
12
+ /**
13
+ * The Amazon Resource Name (ARN) of the specified table.
14
+ */
15
+ TableARN: string;
16
+ };
17
+ /**
18
+ * Attribute type definition for `AWS::S3Tables::TablePolicy`.
19
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablepolicy.html#aws-resource-s3tables-tablepolicy-return-values}
20
+ */
21
+ export type S3TablesTablePolicyAttributes = {
22
+ /**
23
+ * The namespace that the table belongs to.
24
+ */
25
+ Namespace: string;
26
+ /**
27
+ * The Amazon Resource Name (ARN) of the specified table bucket.
28
+ */
29
+ TableBucketARN: string;
30
+ /**
31
+ * The name for the table.
32
+ */
33
+ TableName: string;
34
+ };
35
+ /**
36
+ * Type definition for `AWS::S3Tables::TablePolicy.ResourcePolicy`.
37
+ * A policy document containing permissions to add to the specified table. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.
38
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablepolicy-resourcepolicy.html}
39
+ */
40
+ export type ResourcePolicy = Record<string, any> | string;
41
+ /**
42
+ * Resource Type definition for AWS::S3Tables::TablePolicy
43
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablepolicy.html}
44
+ */
45
+ export declare class S3TablesTablePolicy extends $Resource<"AWS::S3Tables::TablePolicy", S3TablesTablePolicyProperties, S3TablesTablePolicyAttributes> {
46
+ static readonly Type = "AWS::S3Tables::TablePolicy";
47
+ constructor(logicalId: string, properties: S3TablesTablePolicyProperties, options?: $ResourceOptions);
48
+ }
49
+ //# sourceMappingURL=AWS-S3Tables-TablePolicy.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ /**
3
+ * Resource Type definition for AWS::S3Tables::TablePolicy
4
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablepolicy.html}
5
+ */
6
+ export class S3TablesTablePolicy extends $Resource {
7
+ static Type = "AWS::S3Tables::TablePolicy";
8
+ constructor(logicalId, properties, options) {
9
+ super(logicalId, S3TablesTablePolicy.Type, properties, options);
10
+ }
11
+ }
12
+ //# sourceMappingURL=AWS-S3Tables-TablePolicy.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awboost/cfn-resource-types",
3
- "version": "0.1.376",
3
+ "version": "0.1.377",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },