@aws-cdk/aws-mediaconnect-alpha 2.263.0-alpha.0
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.
- package/.jsii +28415 -0
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +592 -0
- package/LICENSE +201 -0
- package/NOTICE +2 -0
- package/README.md +1280 -0
- package/awslint.json +50 -0
- package/grants.json +42 -0
- package/lib/bridge-output.d.ts +54 -0
- package/lib/bridge-output.js +122 -0
- package/lib/bridge-source.d.ts +79 -0
- package/lib/bridge-source.js +217 -0
- package/lib/bridge.d.ts +419 -0
- package/lib/bridge.js +490 -0
- package/lib/flow-entitlement.d.ts +86 -0
- package/lib/flow-entitlement.js +152 -0
- package/lib/flow-output.d.ts +329 -0
- package/lib/flow-output.js +415 -0
- package/lib/flow-source-configuration.d.ts +558 -0
- package/lib/flow-source-configuration.js +595 -0
- package/lib/flow-source.d.ts +116 -0
- package/lib/flow-source.js +190 -0
- package/lib/flow.d.ts +975 -0
- package/lib/flow.js +1065 -0
- package/lib/gateway.d.ts +142 -0
- package/lib/gateway.js +236 -0
- package/lib/index.d.ts +14 -0
- package/lib/index.js +31 -0
- package/lib/mediaconnect-grants.generated.d.ts +53 -0
- package/lib/mediaconnect-grants.generated.js +136 -0
- package/lib/router-input.d.ts +686 -0
- package/lib/router-input.js +1095 -0
- package/lib/router-network-interface.d.ts +153 -0
- package/lib/router-network-interface.js +245 -0
- package/lib/router-output.d.ts +557 -0
- package/lib/router-output.js +789 -0
- package/lib/shared.d.ts +548 -0
- package/lib/shared.js +668 -0
- package/package.json +118 -0
- package/rosetta/_generated.ts-fixture +6 -0
- package/rosetta/default.ts-fixture +68 -0
package/lib/shared.d.ts
ADDED
|
@@ -0,0 +1,548 @@
|
|
|
1
|
+
import type { ISecurityGroup, ISubnet } from 'aws-cdk-lib/aws-ec2';
|
|
2
|
+
import type { IRole } from 'aws-cdk-lib/aws-iam';
|
|
3
|
+
import type { ISecret } from 'aws-cdk-lib/aws-secretsmanager';
|
|
4
|
+
/**
|
|
5
|
+
* Encryption Algorithms used in AWS Elemental MediaConnect
|
|
6
|
+
*/
|
|
7
|
+
export declare class EncryptionAlgorithm {
|
|
8
|
+
readonly value: string;
|
|
9
|
+
/**
|
|
10
|
+
* Option for AES128
|
|
11
|
+
*/
|
|
12
|
+
static readonly AES128: EncryptionAlgorithm;
|
|
13
|
+
/**
|
|
14
|
+
* Option for AES192
|
|
15
|
+
*/
|
|
16
|
+
static readonly AES192: EncryptionAlgorithm;
|
|
17
|
+
/**
|
|
18
|
+
* Option for AES256
|
|
19
|
+
*/
|
|
20
|
+
static readonly AES256: EncryptionAlgorithm;
|
|
21
|
+
/**
|
|
22
|
+
* Use a custom encryption algorithm value
|
|
23
|
+
* @param value The encryption algorithm string value
|
|
24
|
+
*/
|
|
25
|
+
static of(value: string): EncryptionAlgorithm;
|
|
26
|
+
/**
|
|
27
|
+
* @param value The encryption algorithm string value
|
|
28
|
+
*/
|
|
29
|
+
private constructor();
|
|
30
|
+
/** Returns the string value */
|
|
31
|
+
toString(): string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Key types used across AWS Elemental MediaConnect
|
|
35
|
+
*/
|
|
36
|
+
export declare class KeyType {
|
|
37
|
+
readonly value: string;
|
|
38
|
+
/**
|
|
39
|
+
* Option for Static Key
|
|
40
|
+
*/
|
|
41
|
+
static readonly STATIC_KEY: KeyType;
|
|
42
|
+
/**
|
|
43
|
+
* Option for SRT Password
|
|
44
|
+
*/
|
|
45
|
+
static readonly SRT_PASSWORD: KeyType;
|
|
46
|
+
/**
|
|
47
|
+
* Use a custom key type value
|
|
48
|
+
* @param value The key type string value
|
|
49
|
+
*/
|
|
50
|
+
static of(value: string): KeyType;
|
|
51
|
+
/**
|
|
52
|
+
* @param value The key type string value
|
|
53
|
+
*/
|
|
54
|
+
private constructor();
|
|
55
|
+
/** Returns the string value */
|
|
56
|
+
toString(): string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* State configuration used across AWS Elemental MediaConnect
|
|
60
|
+
*/
|
|
61
|
+
export declare enum State {
|
|
62
|
+
/**
|
|
63
|
+
* Option for Enabled
|
|
64
|
+
*/
|
|
65
|
+
ENABLED = "ENABLED",
|
|
66
|
+
/**
|
|
67
|
+
* Option for Disabled
|
|
68
|
+
*/
|
|
69
|
+
DISABLED = "DISABLED"
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Days of the week for scheduled maintenance windows.
|
|
73
|
+
*
|
|
74
|
+
* Used by both Flow and Router maintenance configurations.
|
|
75
|
+
*/
|
|
76
|
+
export declare enum MaintenanceDay {
|
|
77
|
+
/** Monday */
|
|
78
|
+
MONDAY = "MONDAY",
|
|
79
|
+
/** Tuesday */
|
|
80
|
+
TUESDAY = "TUESDAY",
|
|
81
|
+
/** Wednesday */
|
|
82
|
+
WEDNESDAY = "WEDNESDAY",
|
|
83
|
+
/** Thursday */
|
|
84
|
+
THURSDAY = "THURSDAY",
|
|
85
|
+
/** Friday */
|
|
86
|
+
FRIDAY = "FRIDAY",
|
|
87
|
+
/** Saturday */
|
|
88
|
+
SATURDAY = "SATURDAY",
|
|
89
|
+
/** Sunday */
|
|
90
|
+
SUNDAY = "SUNDAY"
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Options for bridge network source and output protocols.
|
|
94
|
+
*/
|
|
95
|
+
export declare class BridgeProtocol {
|
|
96
|
+
readonly value: string;
|
|
97
|
+
/**
|
|
98
|
+
* Option for RTP-FEC
|
|
99
|
+
*/
|
|
100
|
+
static readonly RTP_FEC: BridgeProtocol;
|
|
101
|
+
/**
|
|
102
|
+
* Option for RTP
|
|
103
|
+
*/
|
|
104
|
+
static readonly RTP: BridgeProtocol;
|
|
105
|
+
/**
|
|
106
|
+
* Option for UDP
|
|
107
|
+
*/
|
|
108
|
+
static readonly UDP: BridgeProtocol;
|
|
109
|
+
/**
|
|
110
|
+
* Use a custom bridge protocol value
|
|
111
|
+
* @param value The bridge protocol string value
|
|
112
|
+
*/
|
|
113
|
+
static of(value: string): BridgeProtocol;
|
|
114
|
+
/**
|
|
115
|
+
* @param value The bridge protocol string value
|
|
116
|
+
*/
|
|
117
|
+
private constructor();
|
|
118
|
+
/** Returns the string value */
|
|
119
|
+
toString(): string;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Properties for defining a Gateway network.
|
|
123
|
+
*/
|
|
124
|
+
export interface GatewayNetworkDefineProps {
|
|
125
|
+
/**
|
|
126
|
+
* The name of the network. Used to reference this network from bridge sources
|
|
127
|
+
* and outputs, and must be unique among the networks on the gateway.
|
|
128
|
+
*
|
|
129
|
+
* Maximum 64 characters; alphanumeric, hyphens, and underscores only.
|
|
130
|
+
*/
|
|
131
|
+
readonly name: string;
|
|
132
|
+
/**
|
|
133
|
+
* A unique IP address range to use for this network. Must be in CIDR notation
|
|
134
|
+
* (for example, `10.0.0.0/16`).
|
|
135
|
+
*/
|
|
136
|
+
readonly cidrBlock: string;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* A network on a MediaConnect Gateway.
|
|
140
|
+
*
|
|
141
|
+
* Use {@link GatewayNetwork.define} to create a network and reference it from
|
|
142
|
+
* gateway, bridge source, and bridge output configurations.
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
*
|
|
146
|
+
* const productionNetwork = GatewayNetwork.define({
|
|
147
|
+
* name: 'production',
|
|
148
|
+
* cidrBlock: '10.0.0.0/16',
|
|
149
|
+
* });
|
|
150
|
+
*/
|
|
151
|
+
export declare class GatewayNetwork {
|
|
152
|
+
/**
|
|
153
|
+
* Define a new gateway network.
|
|
154
|
+
*
|
|
155
|
+
* @param props network properties
|
|
156
|
+
*/
|
|
157
|
+
static define(props: GatewayNetworkDefineProps): GatewayNetwork;
|
|
158
|
+
/**
|
|
159
|
+
* The name of the network.
|
|
160
|
+
*/
|
|
161
|
+
readonly name: string;
|
|
162
|
+
/**
|
|
163
|
+
* A unique IP address range to use for this network in CIDR notation.
|
|
164
|
+
*/
|
|
165
|
+
readonly cidrBlock: string;
|
|
166
|
+
private constructor();
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Bridge network source options
|
|
170
|
+
*/
|
|
171
|
+
export interface BridgeNetworkSource {
|
|
172
|
+
/**
|
|
173
|
+
* The network source multicast IP.
|
|
174
|
+
*
|
|
175
|
+
* Must be a valid Multicast IP address.
|
|
176
|
+
*/
|
|
177
|
+
readonly multicastIp: string;
|
|
178
|
+
/**
|
|
179
|
+
* The setting related to the multicast source.
|
|
180
|
+
*
|
|
181
|
+
* The IP address of the source for source-specific multicast (SSM).
|
|
182
|
+
*
|
|
183
|
+
* @default - no multicast source IP
|
|
184
|
+
*/
|
|
185
|
+
readonly multicastSourceIp?: string;
|
|
186
|
+
/**
|
|
187
|
+
* The gateway network this source listens on.
|
|
188
|
+
*
|
|
189
|
+
* Use {@link GatewayNetwork.define} to create the network and pass the same
|
|
190
|
+
* instance to the gateway and to each source that uses it.
|
|
191
|
+
*/
|
|
192
|
+
readonly network: GatewayNetwork;
|
|
193
|
+
/**
|
|
194
|
+
* The network source port.
|
|
195
|
+
*/
|
|
196
|
+
readonly port: number;
|
|
197
|
+
/**
|
|
198
|
+
* The network source protocol.
|
|
199
|
+
*/
|
|
200
|
+
readonly protocol: BridgeProtocol;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Failover Mode
|
|
204
|
+
*/
|
|
205
|
+
export declare class FailoverMode {
|
|
206
|
+
readonly value: string;
|
|
207
|
+
/**
|
|
208
|
+
* MERGE combines the source streams into a single stream, allowing graceful
|
|
209
|
+
* recovery from any single-source loss.
|
|
210
|
+
*/
|
|
211
|
+
static readonly MERGE: FailoverMode;
|
|
212
|
+
/**
|
|
213
|
+
* FAILOVER allows switching between different streams.
|
|
214
|
+
*/
|
|
215
|
+
static readonly FAILOVER: FailoverMode;
|
|
216
|
+
/**
|
|
217
|
+
* Use a custom failover mode value
|
|
218
|
+
* @param value The failover mode string value
|
|
219
|
+
*/
|
|
220
|
+
static of(value: string): FailoverMode;
|
|
221
|
+
/**
|
|
222
|
+
* @param value The failover mode string value
|
|
223
|
+
*/
|
|
224
|
+
private constructor();
|
|
225
|
+
/** Returns the string value */
|
|
226
|
+
toString(): string;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* MediaLive pipeline options.
|
|
230
|
+
*/
|
|
231
|
+
export declare enum MediaLivePipeline {
|
|
232
|
+
/** Pipeline 0 */
|
|
233
|
+
PIPELINE_0 = "PIPELINE_0",
|
|
234
|
+
/** Pipeline 1 */
|
|
235
|
+
PIPELINE_1 = "PIPELINE_1"
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Network interface options
|
|
239
|
+
*/
|
|
240
|
+
export declare class NetworkInterface {
|
|
241
|
+
readonly value: string;
|
|
242
|
+
/**
|
|
243
|
+
* Option for ENA
|
|
244
|
+
*/
|
|
245
|
+
static readonly ENA: NetworkInterface;
|
|
246
|
+
/**
|
|
247
|
+
* Option for EFA.
|
|
248
|
+
* For CDI ensure you use EFA.
|
|
249
|
+
*/
|
|
250
|
+
static readonly EFA: NetworkInterface;
|
|
251
|
+
/**
|
|
252
|
+
* Use a custom network interface value
|
|
253
|
+
* @param value The network interface string value
|
|
254
|
+
*/
|
|
255
|
+
static of(value: string): NetworkInterface;
|
|
256
|
+
/**
|
|
257
|
+
* @param value The network interface string value
|
|
258
|
+
*/
|
|
259
|
+
private constructor();
|
|
260
|
+
/** Returns the string value */
|
|
261
|
+
toString(): string;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* VPC Interface configuration
|
|
265
|
+
*/
|
|
266
|
+
export interface VpcInterfaceConfig {
|
|
267
|
+
/**
|
|
268
|
+
* Unique name for this VPC interface within the flow. Cannot be changed after creation.
|
|
269
|
+
*/
|
|
270
|
+
readonly name: string;
|
|
271
|
+
/**
|
|
272
|
+
* IDs of the network interfaces. Set this when importing existing ENIs via
|
|
273
|
+
* `VpcInterface.fromNetworkInterfaces()`; leave unset to have MediaConnect create them.
|
|
274
|
+
*
|
|
275
|
+
* @default - MediaConnect creates network interfaces automatically
|
|
276
|
+
*/
|
|
277
|
+
readonly networkInterfaceIds?: string[];
|
|
278
|
+
/**
|
|
279
|
+
* The type of network interface. Use `EFA` for CDI workflows.
|
|
280
|
+
*
|
|
281
|
+
* @default - undefined; when omitted, MediaConnect applies NetworkInterface.ENA at deploy time
|
|
282
|
+
*/
|
|
283
|
+
readonly networkInterfaceType?: NetworkInterface;
|
|
284
|
+
/**
|
|
285
|
+
* IAM role that MediaConnect assumes to create ENIs in your account.
|
|
286
|
+
*/
|
|
287
|
+
readonly role: IRole;
|
|
288
|
+
/**
|
|
289
|
+
* Security groups to apply to the ENI.
|
|
290
|
+
*/
|
|
291
|
+
readonly securityGroups: ISecurityGroup[];
|
|
292
|
+
/**
|
|
293
|
+
* Subnet where the ENI is created. Must be in the same Availability Zone as the flow.
|
|
294
|
+
*/
|
|
295
|
+
readonly subnet: ISubnet;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Properties for defining a new VPC Interface configuration
|
|
299
|
+
*/
|
|
300
|
+
export interface VpcInterfaceDefineProps {
|
|
301
|
+
/**
|
|
302
|
+
* Unique name for this VPC interface within the flow. Cannot be changed after creation.
|
|
303
|
+
*/
|
|
304
|
+
readonly vpcInterfaceName: string;
|
|
305
|
+
/**
|
|
306
|
+
* IAM role that MediaConnect assumes to create ENIs in your account.
|
|
307
|
+
*/
|
|
308
|
+
readonly role: IRole;
|
|
309
|
+
/**
|
|
310
|
+
* Security groups to apply to the ENI.
|
|
311
|
+
*/
|
|
312
|
+
readonly securityGroups: ISecurityGroup[];
|
|
313
|
+
/**
|
|
314
|
+
* Subnet where the ENI is created. Must be in the same Availability Zone as the flow.
|
|
315
|
+
*/
|
|
316
|
+
readonly subnet: ISubnet;
|
|
317
|
+
/**
|
|
318
|
+
* The type of network interface. Use `EFA` for CDI workflows.
|
|
319
|
+
*
|
|
320
|
+
* @default - undefined; when omitted, MediaConnect applies NetworkInterface.ENA at deploy time
|
|
321
|
+
*/
|
|
322
|
+
readonly networkInterfaceType?: NetworkInterface;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Properties for creating a VPC Interface from existing network interfaces
|
|
326
|
+
*/
|
|
327
|
+
export interface VpcInterfaceFromNetworkInterfacesProps {
|
|
328
|
+
/**
|
|
329
|
+
* Unique name for this VPC interface within the flow. Cannot be changed after creation.
|
|
330
|
+
*/
|
|
331
|
+
readonly vpcInterfaceName: string;
|
|
332
|
+
/**
|
|
333
|
+
* IAM role that MediaConnect assumes to access the ENIs.
|
|
334
|
+
*/
|
|
335
|
+
readonly role: IRole;
|
|
336
|
+
/**
|
|
337
|
+
* Security groups applied to the existing ENIs.
|
|
338
|
+
*/
|
|
339
|
+
readonly securityGroups: ISecurityGroup[];
|
|
340
|
+
/**
|
|
341
|
+
* Subnet where the existing ENIs live. Must be in the same Availability Zone as the flow.
|
|
342
|
+
*/
|
|
343
|
+
readonly subnet: ISubnet;
|
|
344
|
+
/**
|
|
345
|
+
* IDs of the pre-created network interfaces to reuse.
|
|
346
|
+
*/
|
|
347
|
+
readonly networkInterfaceIds: string[];
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Factory class for creating VPC Interface configurations
|
|
351
|
+
*/
|
|
352
|
+
export declare class VpcInterface {
|
|
353
|
+
/**
|
|
354
|
+
* Define a new VPC Interface configuration. MediaConnect will create network interfaces automatically.
|
|
355
|
+
*
|
|
356
|
+
* @param props VPC Interface properties
|
|
357
|
+
* @returns VpcInterfaceConfig configuration object
|
|
358
|
+
*/
|
|
359
|
+
static define(props: VpcInterfaceDefineProps): VpcInterfaceConfig;
|
|
360
|
+
/**
|
|
361
|
+
* Create a VPC Interface configuration using existing network interfaces.
|
|
362
|
+
*
|
|
363
|
+
* @param props VPC Interface properties with existing network interface IDs
|
|
364
|
+
* @returns VpcInterfaceConfig configuration object
|
|
365
|
+
*/
|
|
366
|
+
static fromNetworkInterfaces(props: VpcInterfaceFromNetworkInterfacesProps): VpcInterfaceConfig;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Static key encryption/decryption configuration for Zixi protocol sources and outputs,
|
|
370
|
+
* and flow entitlements.
|
|
371
|
+
*
|
|
372
|
+
* The secret must live in the same AWS account and Region as the resource (source,
|
|
373
|
+
* output, or entitlement) that uses it. MediaConnect does not support cross-account or
|
|
374
|
+
* cross-Region secrets.
|
|
375
|
+
*
|
|
376
|
+
* @see https://docs.aws.amazon.com/mediaconnect/latest/ug/encryption-static-key-set-up.html
|
|
377
|
+
* @see https://docs.aws.amazon.com/mediaconnect/latest/ug/cross-service-confused-deputy-prevention.html
|
|
378
|
+
*/
|
|
379
|
+
export interface StaticKeyEncryption {
|
|
380
|
+
/**
|
|
381
|
+
* IAM role that MediaConnect assumes to access the Secrets Manager secret.
|
|
382
|
+
*
|
|
383
|
+
* If provided, the role is used as-is; you must grant it the necessary permissions
|
|
384
|
+
* yourself.
|
|
385
|
+
*
|
|
386
|
+
* @default - a scoped role is auto-created with read access to the secret (including
|
|
387
|
+
* `kms:Decrypt` for a customer-managed key) and a confused-deputy trust condition. See
|
|
388
|
+
* the **Encryption** section of the module README for the generated trust policy.
|
|
389
|
+
*/
|
|
390
|
+
readonly role?: IRole;
|
|
391
|
+
/**
|
|
392
|
+
* Secrets Manager secret containing the static encryption key.
|
|
393
|
+
*/
|
|
394
|
+
readonly secret: ISecret;
|
|
395
|
+
/**
|
|
396
|
+
* The encryption algorithm to use.
|
|
397
|
+
*/
|
|
398
|
+
readonly algorithm: EncryptionAlgorithm;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* SRT password encryption/decryption configuration for SRT Listener and SRT Caller
|
|
402
|
+
* sources and outputs on flows.
|
|
403
|
+
*
|
|
404
|
+
* The secret must live in the same AWS account and Region as the resource (source or
|
|
405
|
+
* output) that uses it. MediaConnect does not support cross-account or cross-Region
|
|
406
|
+
* secrets.
|
|
407
|
+
*
|
|
408
|
+
* @see https://docs.aws.amazon.com/mediaconnect/latest/ug/encryption-srt-password-set-up.html
|
|
409
|
+
* @see https://docs.aws.amazon.com/mediaconnect/latest/ug/cross-service-confused-deputy-prevention.html
|
|
410
|
+
*/
|
|
411
|
+
export interface SrtPasswordEncryption {
|
|
412
|
+
/**
|
|
413
|
+
* IAM role that MediaConnect assumes to access the Secrets Manager secret.
|
|
414
|
+
*
|
|
415
|
+
* If provided, the role is used as-is; you must grant it the necessary permissions
|
|
416
|
+
* yourself.
|
|
417
|
+
*
|
|
418
|
+
* @default - a scoped role is auto-created with read access to the secret and a
|
|
419
|
+
* confused-deputy trust condition. See the **Encryption** section of the module README
|
|
420
|
+
* for the generated trust policy.
|
|
421
|
+
*/
|
|
422
|
+
readonly role?: IRole;
|
|
423
|
+
/**
|
|
424
|
+
* Secrets Manager secret containing the SRT passphrase.
|
|
425
|
+
*/
|
|
426
|
+
readonly secret: ISecret;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Transit encryption configuration for router integrations — securing the link between a
|
|
430
|
+
* router and a flow or a MediaLive channel/input. Uses AWS Secrets Manager for key
|
|
431
|
+
* management.
|
|
432
|
+
*
|
|
433
|
+
* The secret must live in the same AWS account and Region as the consuming resource.
|
|
434
|
+
* MediaConnect does not support cross-account or cross-Region secrets.
|
|
435
|
+
*
|
|
436
|
+
* **Trust-policy scope on routers.** Router I/O ids are service-generated (unknown at synth
|
|
437
|
+
* time), and pinning the live ARN would create a CloudFormation dependency cycle — so the
|
|
438
|
+
* auto-created role pins `aws:SourceArn` to a wildcarded ARN (`arn:...:routerInput:*` /
|
|
439
|
+
* `arn:...:routerOutput:*`) plus `aws:SourceAccount`. To pin a tighter trust policy, supply
|
|
440
|
+
* your own `role`.
|
|
441
|
+
*
|
|
442
|
+
* @see https://docs.aws.amazon.com/mediaconnect/latest/ug/cross-service-confused-deputy-prevention.html
|
|
443
|
+
*/
|
|
444
|
+
export interface TransitEncryption {
|
|
445
|
+
/**
|
|
446
|
+
* IAM role that MediaConnect assumes to access the Secrets Manager secret.
|
|
447
|
+
*
|
|
448
|
+
* If provided, the role is used as-is; you must grant it the necessary permissions
|
|
449
|
+
* yourself.
|
|
450
|
+
*
|
|
451
|
+
* @default - a scoped role is auto-created with read access to the secret and a
|
|
452
|
+
* confused-deputy trust condition. See the **Encryption** section of the module README
|
|
453
|
+
* for the generated trust policy.
|
|
454
|
+
*/
|
|
455
|
+
readonly role?: IRole;
|
|
456
|
+
/**
|
|
457
|
+
* Secrets Manager secret containing the transit encryption key.
|
|
458
|
+
*/
|
|
459
|
+
readonly secret: ISecret;
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* SRT encryption configuration for router inputs and outputs (SRT Listener and SRT
|
|
463
|
+
* Caller). Uses AWS Secrets Manager for key management. Distinct from
|
|
464
|
+
* {@link SrtPasswordEncryption}, which is used for flow sources and outputs.
|
|
465
|
+
*
|
|
466
|
+
* The secret must live in the same AWS account and Region as the router I/O that uses
|
|
467
|
+
* it. MediaConnect does not support cross-account or cross-Region secrets.
|
|
468
|
+
*
|
|
469
|
+
* **Trust-policy scope on routers.** Router I/O ids are service-generated (unknown at synth
|
|
470
|
+
* time), and pinning the live ARN would create a CloudFormation dependency cycle — so the
|
|
471
|
+
* auto-created role pins `aws:SourceArn` to a wildcarded ARN (`arn:...:routerInput:*` /
|
|
472
|
+
* `arn:...:routerOutput:*`) plus `aws:SourceAccount`. To pin a tighter trust policy, supply
|
|
473
|
+
* your own `role`.
|
|
474
|
+
*
|
|
475
|
+
* @see https://docs.aws.amazon.com/mediaconnect/latest/ug/cross-service-confused-deputy-prevention.html
|
|
476
|
+
*/
|
|
477
|
+
export interface RouterSrtEncryption {
|
|
478
|
+
/**
|
|
479
|
+
* IAM role that MediaConnect assumes to access the Secrets Manager secret.
|
|
480
|
+
*
|
|
481
|
+
* If provided, the role is used as-is; you must grant it the necessary permissions
|
|
482
|
+
* yourself.
|
|
483
|
+
*
|
|
484
|
+
* @default - a scoped role is auto-created with read access to the secret and a
|
|
485
|
+
* confused-deputy trust condition. See the **Encryption** section of the module README
|
|
486
|
+
* for the generated trust policy.
|
|
487
|
+
*/
|
|
488
|
+
readonly role?: IRole;
|
|
489
|
+
/**
|
|
490
|
+
* Secrets Manager secret containing the SRT passphrase.
|
|
491
|
+
*/
|
|
492
|
+
readonly secret: ISecret;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* A video frame rate expressed as a rational number (numerator/denominator).
|
|
496
|
+
*
|
|
497
|
+
* Use the predefined constants for standard rates, or {@link Framerate.of} for a custom rate.
|
|
498
|
+
*/
|
|
499
|
+
export declare class Framerate {
|
|
500
|
+
/** 24 fps (cinema) — `24/1`. */
|
|
501
|
+
static readonly FPS_24: Framerate;
|
|
502
|
+
/** 25 fps — `25/1`. */
|
|
503
|
+
static readonly FPS_25: Framerate;
|
|
504
|
+
/** 29.97 fps — `30000/1001`. */
|
|
505
|
+
static readonly FPS_29_97: Framerate;
|
|
506
|
+
/** 30 fps — `30/1`. */
|
|
507
|
+
static readonly FPS_30: Framerate;
|
|
508
|
+
/** 50 fps — `50/1`. */
|
|
509
|
+
static readonly FPS_50: Framerate;
|
|
510
|
+
/** 59.94 fps — `60000/1001`. */
|
|
511
|
+
static readonly FPS_59_94: Framerate;
|
|
512
|
+
/** 60 fps — `60/1`. */
|
|
513
|
+
static readonly FPS_60: Framerate;
|
|
514
|
+
/**
|
|
515
|
+
* Define a custom frame rate.
|
|
516
|
+
*
|
|
517
|
+
* @param numerator Numerator of the rate.
|
|
518
|
+
* @param denominator Denominator of the rate.
|
|
519
|
+
*/
|
|
520
|
+
static of(numerator: number, denominator: number): Framerate;
|
|
521
|
+
private constructor();
|
|
522
|
+
/** Returns the string value. */
|
|
523
|
+
toString(): string;
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* The pixel aspect ratio (PAR) of the video.
|
|
527
|
+
*
|
|
528
|
+
* Use the predefined constants for standard ratios, or {@link PixelAspectRatio.of} for
|
|
529
|
+
* a custom ratio.
|
|
530
|
+
*/
|
|
531
|
+
export declare class PixelAspectRatio {
|
|
532
|
+
/** Square pixels (`1:1`). */
|
|
533
|
+
static readonly SQUARE: PixelAspectRatio;
|
|
534
|
+
/**
|
|
535
|
+
* Define a pixel aspect ratio.
|
|
536
|
+
*
|
|
537
|
+
* @param numerator Numerator of the ratio.
|
|
538
|
+
* @param denominator Denominator of the ratio.
|
|
539
|
+
*/
|
|
540
|
+
static of(numerator: number, denominator: number): PixelAspectRatio;
|
|
541
|
+
/**
|
|
542
|
+
* @param numerator Numerator of the ratio.
|
|
543
|
+
* @param denominator Denominator of the ratio.
|
|
544
|
+
*/
|
|
545
|
+
private constructor();
|
|
546
|
+
/** Returns the string value in `numerator:denominator` form. */
|
|
547
|
+
toString(): string;
|
|
548
|
+
}
|