@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
|
@@ -0,0 +1,686 @@
|
|
|
1
|
+
import type { Bitrate, IResource } from 'aws-cdk-lib';
|
|
2
|
+
import { Duration, Resource } from 'aws-cdk-lib';
|
|
3
|
+
import type { MetricOptions } from 'aws-cdk-lib/aws-cloudwatch';
|
|
4
|
+
import { Metric } from 'aws-cdk-lib/aws-cloudwatch';
|
|
5
|
+
import type { IRouterInputRef, RouterInputReference } from 'aws-cdk-lib/aws-mediaconnect';
|
|
6
|
+
import type { ISecret } from 'aws-cdk-lib/aws-secretsmanager';
|
|
7
|
+
import type { Construct } from 'constructs';
|
|
8
|
+
import type { IFlow } from './flow';
|
|
9
|
+
import type { IFlowOutput } from './flow-output';
|
|
10
|
+
import { RouterInputGrants } from './mediaconnect-grants.generated';
|
|
11
|
+
import type { IRouterNetworkInterface } from './router-network-interface';
|
|
12
|
+
import type { MaintenanceDay, MediaLivePipeline, RouterSrtEncryption, TransitEncryption } from './shared';
|
|
13
|
+
/**
|
|
14
|
+
* Protocol options available for Router Input configurations
|
|
15
|
+
*/
|
|
16
|
+
export declare class RouterInputProtocolOptions {
|
|
17
|
+
readonly value: string;
|
|
18
|
+
/** Real-time Transport Protocol */
|
|
19
|
+
static readonly RTP: RouterInputProtocolOptions;
|
|
20
|
+
/** Reliable Internet Stream Transport */
|
|
21
|
+
static readonly RIST: RouterInputProtocolOptions;
|
|
22
|
+
/** Secure Reliable Transport - Caller mode */
|
|
23
|
+
static readonly SRT_CALLER: RouterInputProtocolOptions;
|
|
24
|
+
/** Secure Reliable Transport - Listener mode */
|
|
25
|
+
static readonly SRT_LISTENER: RouterInputProtocolOptions;
|
|
26
|
+
/**
|
|
27
|
+
* Use a custom protocol value
|
|
28
|
+
* @param value The protocol string value
|
|
29
|
+
*/
|
|
30
|
+
static of(value: string): RouterInputProtocolOptions;
|
|
31
|
+
/** @param value The protocol string value */
|
|
32
|
+
private constructor();
|
|
33
|
+
/** Returns the string value */
|
|
34
|
+
toString(): string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A single ingest endpoint where the router input listens for upstream content.
|
|
38
|
+
*
|
|
39
|
+
* Failover and merge configurations expose two endpoints; standard configurations
|
|
40
|
+
* expose one. Returned by {@link IRouterInput.endpoints}.
|
|
41
|
+
*/
|
|
42
|
+
export interface RouterInputEndpoint {
|
|
43
|
+
/**
|
|
44
|
+
* The full ingest URL combining protocol scheme, IP, and port. For example:
|
|
45
|
+
* `srt://203.0.113.10:5000` or `rtp://203.0.113.10:5001`.
|
|
46
|
+
*/
|
|
47
|
+
readonly url: string;
|
|
48
|
+
/**
|
|
49
|
+
* The listening port at which the router input accepts upstream content.
|
|
50
|
+
*/
|
|
51
|
+
readonly port: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Interface for Router Input
|
|
55
|
+
*/
|
|
56
|
+
export interface IRouterInput extends IResource, IRouterInputRef {
|
|
57
|
+
/**
|
|
58
|
+
* The Amazon Resource Name (ARN) of the router input.
|
|
59
|
+
*
|
|
60
|
+
* @attribute
|
|
61
|
+
*/
|
|
62
|
+
readonly routerInputArn: string;
|
|
63
|
+
/**
|
|
64
|
+
* The unique identifier of the router input.
|
|
65
|
+
*
|
|
66
|
+
* @attribute
|
|
67
|
+
*/
|
|
68
|
+
readonly routerInputId: string;
|
|
69
|
+
/**
|
|
70
|
+
* The IP address of the router input.
|
|
71
|
+
*
|
|
72
|
+
* @attribute
|
|
73
|
+
*/
|
|
74
|
+
readonly ipAddress: string;
|
|
75
|
+
/**
|
|
76
|
+
* The timestamp when the router input was created.
|
|
77
|
+
*
|
|
78
|
+
* @attribute
|
|
79
|
+
*/
|
|
80
|
+
readonly createdAt?: string;
|
|
81
|
+
/**
|
|
82
|
+
* The timestamp when the router input was last updated.
|
|
83
|
+
*
|
|
84
|
+
* @attribute
|
|
85
|
+
*/
|
|
86
|
+
readonly updatedAt?: string;
|
|
87
|
+
/**
|
|
88
|
+
* The ingest endpoints (URL + port) where the router input listens.
|
|
89
|
+
*
|
|
90
|
+
* Returns one entry for standard protocol-based variants (RTP, RIST, SRT listener),
|
|
91
|
+
* and one entry per source for failover and merge configurations built from those
|
|
92
|
+
* protocols. For example a failover RTP input will return:
|
|
93
|
+
*
|
|
94
|
+
* ```
|
|
95
|
+
* [
|
|
96
|
+
* { url: 'rtp://203.0.113.10:5000', port: 5000 },
|
|
97
|
+
* { url: 'rtp://203.0.113.10:5001', port: 5001 },
|
|
98
|
+
* ]
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* Accessing this on SRT caller (where the router input dials out to a remote
|
|
102
|
+
* source), MediaConnect Flow, MediaLive Channel, or imported inputs throws — those
|
|
103
|
+
* variants do not expose host:port pairs the input listens on.
|
|
104
|
+
*/
|
|
105
|
+
readonly endpoints: RouterInputEndpoint[];
|
|
106
|
+
/**
|
|
107
|
+
* The Secrets Manager secret containing the transit encryption passphrase.
|
|
108
|
+
*
|
|
109
|
+
* Only available when the Router Input was created with explicit
|
|
110
|
+
* `transitEncryption` configuration. Not available for
|
|
111
|
+
* automatic encryption or imported inputs.
|
|
112
|
+
*/
|
|
113
|
+
readonly transitEncryptionSecret?: ISecret;
|
|
114
|
+
/**
|
|
115
|
+
* Collection of grant methods for this router input.
|
|
116
|
+
*/
|
|
117
|
+
readonly grants: RouterInputGrants;
|
|
118
|
+
/**
|
|
119
|
+
* Create a CloudWatch metric for this router input.
|
|
120
|
+
*
|
|
121
|
+
* Router input metrics are dimensioned by `RouterInputARN`. See the MediaConnect
|
|
122
|
+
* documentation for available metric names (e.g. `RouterInputBitRate`,
|
|
123
|
+
* `RouterInputNotRecoveredPackets`).
|
|
124
|
+
*/
|
|
125
|
+
metric(metricName: string, props?: MetricOptions): Metric;
|
|
126
|
+
/**
|
|
127
|
+
* Metric for the bitrate of the router input's payload.
|
|
128
|
+
* @default - average over 60 seconds
|
|
129
|
+
*/
|
|
130
|
+
metricBitrate(props?: MetricOptions): Metric;
|
|
131
|
+
/**
|
|
132
|
+
* Metric for packets lost in transit that were not recovered by error correction.
|
|
133
|
+
* @default - sum over 60 seconds
|
|
134
|
+
*/
|
|
135
|
+
metricNotRecoveredPackets(props?: MetricOptions): Metric;
|
|
136
|
+
/**
|
|
137
|
+
* Metric for the total number of packets received by the router input.
|
|
138
|
+
* @default - sum over 60 seconds
|
|
139
|
+
*/
|
|
140
|
+
metricTotalPackets(props?: MetricOptions): Metric;
|
|
141
|
+
/**
|
|
142
|
+
* Metric for the router input connection state (1 connected, 0 disconnected). Applies to SRT sources only.
|
|
143
|
+
* @default - minimum over 60 seconds
|
|
144
|
+
*/
|
|
145
|
+
metricConnected(props?: MetricOptions): Metric;
|
|
146
|
+
/**
|
|
147
|
+
* Metric for continuity counter errors in the transport stream.
|
|
148
|
+
* @default - sum over 60 seconds
|
|
149
|
+
*/
|
|
150
|
+
metricContinuityCounterErrors(props?: MetricOptions): Metric;
|
|
151
|
+
/**
|
|
152
|
+
* Metric for the recovery latency of the input stream. Applies to RIST, SRT, and RTP-FEC.
|
|
153
|
+
* @default - average over 60 seconds
|
|
154
|
+
*/
|
|
155
|
+
metricLatency(props?: MetricOptions): Metric;
|
|
156
|
+
/**
|
|
157
|
+
* Metric for the number of times the router input has switched sources in Failover mode.
|
|
158
|
+
* @default - sum over 60 seconds
|
|
159
|
+
*/
|
|
160
|
+
metricFailoverSwitches(props?: MetricOptions): Metric;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Routing scope for the Router Input
|
|
164
|
+
*/
|
|
165
|
+
export declare class RoutingScope {
|
|
166
|
+
readonly value: string;
|
|
167
|
+
/** Route traffic within the same AWS region */
|
|
168
|
+
static readonly REGIONAL: RoutingScope;
|
|
169
|
+
/** Route traffic globally across AWS regions */
|
|
170
|
+
static readonly GLOBAL: RoutingScope;
|
|
171
|
+
/**
|
|
172
|
+
* Use a custom routing scope value
|
|
173
|
+
* @param value The routing scope string value
|
|
174
|
+
*/
|
|
175
|
+
static of(value: string): RoutingScope;
|
|
176
|
+
/** @param value The routing scope string value */
|
|
177
|
+
private constructor();
|
|
178
|
+
/** Returns the string value */
|
|
179
|
+
toString(): string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Routing tier based on your maximum bitrate requirements.
|
|
183
|
+
*/
|
|
184
|
+
export declare class RouterInputTier {
|
|
185
|
+
readonly value: string;
|
|
186
|
+
/** Supports a maximum bitrate up to 100 megabits per second. */
|
|
187
|
+
static readonly INPUT_100: RouterInputTier;
|
|
188
|
+
/** Supports a maximum bitrate up to 50 megabits per second. */
|
|
189
|
+
static readonly INPUT_50: RouterInputTier;
|
|
190
|
+
/** Supports a maximum bitrate up to 20 megabits per second. */
|
|
191
|
+
static readonly INPUT_20: RouterInputTier;
|
|
192
|
+
/**
|
|
193
|
+
* Use a custom tier value
|
|
194
|
+
* @param value The tier string value
|
|
195
|
+
*/
|
|
196
|
+
static of(value: string): RouterInputTier;
|
|
197
|
+
/** @param value The tier string value */
|
|
198
|
+
private constructor();
|
|
199
|
+
/** Returns the string value */
|
|
200
|
+
toString(): string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Configuration for scheduled maintenance windows
|
|
204
|
+
*/
|
|
205
|
+
export interface MaintenanceConfiguration {
|
|
206
|
+
/** Day of the week for maintenance (e.g., 'Monday', 'Tuesday') */
|
|
207
|
+
readonly day: MaintenanceDay;
|
|
208
|
+
/** Time of day for maintenance in HH:MM format (e.g., '02:00') */
|
|
209
|
+
readonly time: string;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Properties for creating a Router Input
|
|
213
|
+
*/
|
|
214
|
+
export interface RouterInputProps {
|
|
215
|
+
/**
|
|
216
|
+
* Name of the Router Input
|
|
217
|
+
* @default - Generated automatically
|
|
218
|
+
*/
|
|
219
|
+
readonly routerInputName?: string;
|
|
220
|
+
/** Maximum bitrate in bits per second that the Router Input can handle */
|
|
221
|
+
readonly maximumBitrate: Bitrate;
|
|
222
|
+
/** Routing scope for the Router Input */
|
|
223
|
+
readonly routingScope: RoutingScope;
|
|
224
|
+
/**
|
|
225
|
+
* Select a tier based on your maximum bitrate requirements.
|
|
226
|
+
*
|
|
227
|
+
* @default RouterInputTier.INPUT_20
|
|
228
|
+
*/
|
|
229
|
+
readonly tier?: RouterInputTier;
|
|
230
|
+
/** Configuration for the Router Input (standard, failover, merge, or MediaConnect flow) */
|
|
231
|
+
readonly configuration: RouterInputConfiguration;
|
|
232
|
+
/**
|
|
233
|
+
* Maintenance window configuration
|
|
234
|
+
* @default - Default maintenance window will be used
|
|
235
|
+
*/
|
|
236
|
+
readonly maintenanceConfiguration?: MaintenanceConfiguration;
|
|
237
|
+
/**
|
|
238
|
+
* AWS region where the Router Input will be created (i.e. us-east-1).
|
|
239
|
+
*
|
|
240
|
+
* Must match the region of the flows, flow outputs, and network interfaces it connects to —
|
|
241
|
+
* MediaConnect rejects a cross-region connection at deploy.
|
|
242
|
+
*
|
|
243
|
+
* @default - Same as the stack's region
|
|
244
|
+
*/
|
|
245
|
+
readonly regionName?: string;
|
|
246
|
+
/**
|
|
247
|
+
* Tags to add to the Router Input
|
|
248
|
+
* @default - No tagging
|
|
249
|
+
*/
|
|
250
|
+
readonly tags?: {
|
|
251
|
+
[key: string]: string;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Transit encryption configuration using AWS Secrets Manager.
|
|
255
|
+
*
|
|
256
|
+
* When provided without a role, a scoped IAM role is automatically created with read
|
|
257
|
+
* access to the secret.
|
|
258
|
+
*
|
|
259
|
+
* @default - Automatic encryption will be configured
|
|
260
|
+
*/
|
|
261
|
+
readonly transitEncryption?: TransitEncryption;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Attributes for importing an existing Router Input.
|
|
265
|
+
*/
|
|
266
|
+
export interface RouterInputAttributes {
|
|
267
|
+
/**
|
|
268
|
+
* The Amazon Resource Name (ARN) of the router input.
|
|
269
|
+
*/
|
|
270
|
+
readonly routerInputArn: string;
|
|
271
|
+
/**
|
|
272
|
+
* The unique identifier of the router input.
|
|
273
|
+
*
|
|
274
|
+
* @default - accessing `routerInputId` on the imported input throws; only provide when available.
|
|
275
|
+
*/
|
|
276
|
+
readonly routerInputId?: string;
|
|
277
|
+
/**
|
|
278
|
+
* The IP address that the router input uses to ingest content.
|
|
279
|
+
*
|
|
280
|
+
* @default - accessing `ipAddress` on the imported input throws; only provide when available.
|
|
281
|
+
*/
|
|
282
|
+
readonly ipAddress?: string;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Forward Error Correction (FEC) options for RTP protocol
|
|
286
|
+
*/
|
|
287
|
+
export declare enum ForwardErrorCorrection {
|
|
288
|
+
/** Enable Forward Error Correction */
|
|
289
|
+
ENABLED = "ENABLED",
|
|
290
|
+
/** Disable Forward Error Correction */
|
|
291
|
+
DISABLED = "DISABLED"
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Identifies which protocol in a failover configuration's protocols array is primary.
|
|
295
|
+
*/
|
|
296
|
+
export declare enum PrimarySource {
|
|
297
|
+
/** The first protocol in the failover protocols array. */
|
|
298
|
+
FIRST_SOURCE = 0,
|
|
299
|
+
/** The second protocol in the failover protocols array. */
|
|
300
|
+
SECOND_SOURCE = 1
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Source priority configuration for failover Router Input configurations.
|
|
304
|
+
*/
|
|
305
|
+
export declare class SourcePriorityConfig {
|
|
306
|
+
private readonly _mode;
|
|
307
|
+
private readonly _primary;
|
|
308
|
+
/**
|
|
309
|
+
* Treat both sources with equal priority — MediaConnect picks one when needed.
|
|
310
|
+
*/
|
|
311
|
+
static none(): SourcePriorityConfig;
|
|
312
|
+
/**
|
|
313
|
+
* Designate one of the two sources as primary; the other is treated as backup.
|
|
314
|
+
*/
|
|
315
|
+
static primarySecondary(primary: PrimarySource): SourcePriorityConfig;
|
|
316
|
+
private constructor();
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Properties for RTP protocol configuration
|
|
320
|
+
*/
|
|
321
|
+
export interface RtpProtocolProps {
|
|
322
|
+
/** Port number for RTP traffic */
|
|
323
|
+
readonly port: number;
|
|
324
|
+
/**
|
|
325
|
+
* Forward Error Correction setting
|
|
326
|
+
* @default - undefined; when omitted, MediaConnect applies ForwardErrorCorrection.DISABLED at deploy time
|
|
327
|
+
*/
|
|
328
|
+
readonly forwardErrorCorrection?: ForwardErrorCorrection;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Properties for RIST protocol configuration
|
|
332
|
+
*/
|
|
333
|
+
export interface RistProtocolProps {
|
|
334
|
+
/** Port number for RIST traffic */
|
|
335
|
+
readonly port: number;
|
|
336
|
+
/** Recovery latency for RIST */
|
|
337
|
+
readonly recoveryLatency: Duration;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Properties for SRT Listener protocol configuration
|
|
341
|
+
*/
|
|
342
|
+
export interface SrtListenerProtocolProps {
|
|
343
|
+
/** Port number for SRT listener */
|
|
344
|
+
readonly port: number;
|
|
345
|
+
/** Minimum latency for SRT */
|
|
346
|
+
readonly minimumLatency: Duration;
|
|
347
|
+
/**
|
|
348
|
+
* Optional decryption configuration for encrypted SRT streams
|
|
349
|
+
* @default - No decryption
|
|
350
|
+
*/
|
|
351
|
+
readonly decryptionConfiguration?: RouterSrtEncryption;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Properties for SRT Caller protocol configuration
|
|
355
|
+
*/
|
|
356
|
+
export interface SrtCallerProtocolProps {
|
|
357
|
+
/** Source IP address to connect to */
|
|
358
|
+
readonly sourceAddress: string;
|
|
359
|
+
/** Source port to connect to */
|
|
360
|
+
readonly sourcePort: number;
|
|
361
|
+
/** Minimum latency for SRT */
|
|
362
|
+
readonly minimumLatency: Duration;
|
|
363
|
+
/**
|
|
364
|
+
* Optional stream ID for SRT connection
|
|
365
|
+
* @default - No stream ID
|
|
366
|
+
*/
|
|
367
|
+
readonly streamId?: string;
|
|
368
|
+
/**
|
|
369
|
+
* Optional decryption configuration for encrypted SRT streams
|
|
370
|
+
* @default - No decryption
|
|
371
|
+
*/
|
|
372
|
+
readonly decryptionConfiguration?: RouterSrtEncryption;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Factory class for creating Router Input protocol configurations
|
|
376
|
+
*/
|
|
377
|
+
export declare class RouterInputProtocol {
|
|
378
|
+
/**
|
|
379
|
+
* Create an RTP protocol configuration
|
|
380
|
+
* @param props RTP protocol properties
|
|
381
|
+
* @returns RouterInputProtocol instance configured for RTP
|
|
382
|
+
*/
|
|
383
|
+
static rtp(props: RtpProtocolProps): RouterInputProtocol;
|
|
384
|
+
/**
|
|
385
|
+
* Create a RIST protocol configuration
|
|
386
|
+
* @param props RIST protocol properties
|
|
387
|
+
* @returns RouterInputProtocol instance configured for RIST
|
|
388
|
+
*/
|
|
389
|
+
static rist(props: RistProtocolProps): RouterInputProtocol;
|
|
390
|
+
/**
|
|
391
|
+
* Create an SRT Listener protocol configuration
|
|
392
|
+
* @param props SRT Listener protocol properties
|
|
393
|
+
* @returns RouterInputProtocol instance configured for SRT Listener
|
|
394
|
+
*/
|
|
395
|
+
static srtListener(props: SrtListenerProtocolProps): RouterInputProtocol;
|
|
396
|
+
/**
|
|
397
|
+
* Create an SRT Caller protocol configuration
|
|
398
|
+
* @param props SRT Caller protocol properties
|
|
399
|
+
* @returns RouterInputProtocol instance configured for SRT Caller
|
|
400
|
+
*/
|
|
401
|
+
static srtCaller(props: SrtCallerProtocolProps): RouterInputProtocol;
|
|
402
|
+
/**
|
|
403
|
+
* Validate that port is within the valid range (3000-30000)
|
|
404
|
+
*/
|
|
405
|
+
private static validatePort;
|
|
406
|
+
/**
|
|
407
|
+
* Validate that SRT Caller port is within the valid range (0-65535)
|
|
408
|
+
*/
|
|
409
|
+
private static validateSrtCallerPort;
|
|
410
|
+
private readonly _protocolName;
|
|
411
|
+
private readonly _config;
|
|
412
|
+
private readonly _port?;
|
|
413
|
+
private readonly _decryption?;
|
|
414
|
+
private constructor();
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Properties for standard Router Input configuration
|
|
418
|
+
*/
|
|
419
|
+
export interface StandardConfigurationProps {
|
|
420
|
+
/** Network interface for the Router Input */
|
|
421
|
+
readonly networkInterface: IRouterNetworkInterface;
|
|
422
|
+
/** Protocol configuration for the input */
|
|
423
|
+
readonly protocol: RouterInputProtocol;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Properties for failover Router Input configuration
|
|
427
|
+
*/
|
|
428
|
+
export interface FailoverConfigurationProps {
|
|
429
|
+
/** Network interface for the Router Input */
|
|
430
|
+
readonly networkInterface: IRouterNetworkInterface;
|
|
431
|
+
/** Array of exactly 2 protocol configurations for failover (must be same protocol type) */
|
|
432
|
+
readonly protocols: RouterInputProtocol[];
|
|
433
|
+
/**
|
|
434
|
+
* Source priority configuration for failover.
|
|
435
|
+
*
|
|
436
|
+
* @default SourcePriorityConfig.none()
|
|
437
|
+
*/
|
|
438
|
+
readonly sourcePriority?: SourcePriorityConfig;
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Properties for merge Router Input configuration
|
|
442
|
+
*/
|
|
443
|
+
export interface MergeConfigurationProps {
|
|
444
|
+
/** Network interface for the Router Input */
|
|
445
|
+
readonly networkInterface: IRouterNetworkInterface;
|
|
446
|
+
/** Array of exactly 2 protocol configurations for merge (must be same non-SRT protocol type) */
|
|
447
|
+
readonly protocols: RouterInputProtocol[];
|
|
448
|
+
/** Recovery window for merge operation */
|
|
449
|
+
readonly mergeRecoveryWindow: Duration;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Properties for MediaConnect Flow Router Input configuration
|
|
453
|
+
*/
|
|
454
|
+
export interface MediaConnectFlowConfigurationProps {
|
|
455
|
+
/** The MediaConnect flow to use as input */
|
|
456
|
+
readonly flow: IFlow;
|
|
457
|
+
/** The flow output that feeds this router input */
|
|
458
|
+
readonly flowOutput: IFlowOutput;
|
|
459
|
+
/**
|
|
460
|
+
* Optional transit encryption configuration
|
|
461
|
+
* @default - Automatic encryption will be used
|
|
462
|
+
*/
|
|
463
|
+
readonly sourceTransitDecryption?: TransitEncryption;
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* Properties for MediaConnect Flow Router Input configuration - without a connection
|
|
467
|
+
*/
|
|
468
|
+
export interface MediaConnectFlowConfigurationWithoutConnectionProps {
|
|
469
|
+
/**
|
|
470
|
+
* Availability Zone the router input will be placed in.
|
|
471
|
+
*/
|
|
472
|
+
readonly availabilityZone: string;
|
|
473
|
+
/**
|
|
474
|
+
* Optional transit encryption configuration
|
|
475
|
+
* @default - Automatic encryption will be used
|
|
476
|
+
*/
|
|
477
|
+
readonly sourceTransitDecryption?: TransitEncryption;
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Properties for MediaLive Channel Router Input configuration.
|
|
481
|
+
*
|
|
482
|
+
* Use this when the MediaLive channel already exists and you want to ingest
|
|
483
|
+
* from one of its outputs immediately.
|
|
484
|
+
*/
|
|
485
|
+
export interface MediaLiveChannelConfigurationProps {
|
|
486
|
+
/**
|
|
487
|
+
* ARN of the MediaLive channel to use as input.
|
|
488
|
+
*
|
|
489
|
+
* Note: This will change to accept a typed MediaLive channel reference
|
|
490
|
+
* when the @aws-cdk/aws-medialive-alpha L2 construct is released.
|
|
491
|
+
*/
|
|
492
|
+
readonly mediaLiveChannelArn: string;
|
|
493
|
+
/**
|
|
494
|
+
* The name of the MediaLive channel output to connect to this router input.
|
|
495
|
+
*/
|
|
496
|
+
readonly mediaLiveChannelOutputName: string;
|
|
497
|
+
/**
|
|
498
|
+
* The MediaLive pipeline to connect to this router input.
|
|
499
|
+
*/
|
|
500
|
+
readonly mediaLivePipelineId: MediaLivePipeline;
|
|
501
|
+
/**
|
|
502
|
+
* Optional transit encryption configuration.
|
|
503
|
+
*
|
|
504
|
+
* @default - Automatic encryption will be used
|
|
505
|
+
*/
|
|
506
|
+
readonly sourceTransitDecryption?: TransitEncryption;
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Properties for MediaLive Channel Router Input configuration without a specific channel connection.
|
|
510
|
+
*
|
|
511
|
+
* Use this when you want to set up the router input before the target MediaLive channel exists.
|
|
512
|
+
*/
|
|
513
|
+
export interface MediaLiveChannelConfigurationWithoutConnectionProps {
|
|
514
|
+
/**
|
|
515
|
+
* Availability Zone the router input will be placed in.
|
|
516
|
+
*/
|
|
517
|
+
readonly availabilityZone: string;
|
|
518
|
+
/**
|
|
519
|
+
* Optional transit encryption configuration.
|
|
520
|
+
*
|
|
521
|
+
* @default - Automatic encryption will be used
|
|
522
|
+
*/
|
|
523
|
+
readonly sourceTransitDecryption?: TransitEncryption;
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Factory class for creating Router Input configurations
|
|
527
|
+
*/
|
|
528
|
+
export declare abstract class RouterInputConfiguration {
|
|
529
|
+
/**
|
|
530
|
+
* Create a standard Router Input configuration with a single protocol
|
|
531
|
+
* @param props Standard configuration properties
|
|
532
|
+
* @returns RouterInputConfiguration instance for standard setup
|
|
533
|
+
*/
|
|
534
|
+
static standard(props: StandardConfigurationProps): RouterInputConfiguration;
|
|
535
|
+
/**
|
|
536
|
+
* Create a failover Router Input configuration with two matching protocols
|
|
537
|
+
* @param props Failover configuration properties
|
|
538
|
+
* @returns RouterInputConfiguration instance for failover setup
|
|
539
|
+
* @throws Error if protocols don't match or count is not exactly 2
|
|
540
|
+
*/
|
|
541
|
+
static failover(props: FailoverConfigurationProps): RouterInputConfiguration;
|
|
542
|
+
/**
|
|
543
|
+
* Create a merge Router Input configuration with two matching non-SRT protocols
|
|
544
|
+
* @param props Merge configuration properties
|
|
545
|
+
* @returns RouterInputConfiguration instance for merge setup
|
|
546
|
+
* @throws Error if protocols don't match, count is not exactly 2, or SRT protocols are used
|
|
547
|
+
*/
|
|
548
|
+
static merge(props: MergeConfigurationProps): RouterInputConfiguration;
|
|
549
|
+
/**
|
|
550
|
+
* Create a MediaConnect Flow Router Input configuration without connecting to a specific flow
|
|
551
|
+
* Use this when you want to prepare the router input for a flow connection later
|
|
552
|
+
* @param props MediaConnect Flow configuration properties without connection
|
|
553
|
+
* @returns RouterInputConfiguration instance for MediaConnect Flow setup without connection
|
|
554
|
+
*/
|
|
555
|
+
static mediaConnectFlowWithoutConnection(props: MediaConnectFlowConfigurationWithoutConnectionProps): RouterInputConfiguration;
|
|
556
|
+
/**
|
|
557
|
+
* Create a MediaConnect Flow Router Input configuration.
|
|
558
|
+
*
|
|
559
|
+
* Use this when the source flow already exists and you want to connect immediately.
|
|
560
|
+
*
|
|
561
|
+
* @param props MediaConnect Flow configuration properties
|
|
562
|
+
* @returns RouterInputConfiguration instance for MediaConnect Flow setup
|
|
563
|
+
*/
|
|
564
|
+
static mediaConnectFlow(props: MediaConnectFlowConfigurationProps): RouterInputConfiguration;
|
|
565
|
+
/**
|
|
566
|
+
* Create a MediaLive Channel Router Input configuration.
|
|
567
|
+
*
|
|
568
|
+
* Use this when the source MediaLive channel already exists and you want to
|
|
569
|
+
* ingest from one of its outputs immediately.
|
|
570
|
+
*
|
|
571
|
+
* @param props MediaLive channel configuration properties
|
|
572
|
+
* @returns RouterInputConfiguration instance for MediaLive channel setup
|
|
573
|
+
*/
|
|
574
|
+
static mediaLiveChannel(props: MediaLiveChannelConfigurationProps): RouterInputConfiguration;
|
|
575
|
+
/**
|
|
576
|
+
* Create a MediaLive Channel Router Input configuration without a specific channel connection.
|
|
577
|
+
*
|
|
578
|
+
* Use this when you want to set up the router input before the target MediaLive channel exists.
|
|
579
|
+
*
|
|
580
|
+
* @param props MediaLive channel no-connection properties
|
|
581
|
+
* @returns RouterInputConfiguration instance for MediaLive channel setup without connection
|
|
582
|
+
*/
|
|
583
|
+
static mediaLiveChannelWithoutConnection(props: MediaLiveChannelConfigurationWithoutConnectionProps): RouterInputConfiguration;
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* A MediaConnect Router Input that receives media streams and routes them to outputs.
|
|
587
|
+
*
|
|
588
|
+
* Router Inputs support multiple configuration types:
|
|
589
|
+
* - Standard: Single protocol input
|
|
590
|
+
* - Failover: Two matching protocols for redundancy
|
|
591
|
+
* - Merge: Two matching non-SRT protocols for stream merging
|
|
592
|
+
* - MediaConnect Flow: Input from an existing MediaConnect Flow
|
|
593
|
+
*/
|
|
594
|
+
declare abstract class RouterInputBase extends Resource implements IRouterInput {
|
|
595
|
+
abstract readonly routerInputArn: string;
|
|
596
|
+
abstract readonly routerInputId: string;
|
|
597
|
+
abstract readonly ipAddress: string;
|
|
598
|
+
abstract readonly createdAt?: string;
|
|
599
|
+
abstract readonly updatedAt?: string;
|
|
600
|
+
abstract readonly endpoints: RouterInputEndpoint[];
|
|
601
|
+
abstract readonly transitEncryptionSecret?: ISecret;
|
|
602
|
+
abstract readonly grants: RouterInputGrants;
|
|
603
|
+
/**
|
|
604
|
+
* A reference to this Router Input resource.
|
|
605
|
+
* Required by the auto-generated IRouterInputRef interface.
|
|
606
|
+
*/
|
|
607
|
+
get routerInputRef(): RouterInputReference;
|
|
608
|
+
/**
|
|
609
|
+
* Create a CloudWatch metric for this router input.
|
|
610
|
+
*/
|
|
611
|
+
metric(metricName: string, props?: MetricOptions): Metric;
|
|
612
|
+
/**
|
|
613
|
+
* Metric for the bitrate of the router input's payload.
|
|
614
|
+
*/
|
|
615
|
+
metricBitrate(props?: MetricOptions): Metric;
|
|
616
|
+
/**
|
|
617
|
+
* Metric for packets lost in transit that were not recovered by error correction.
|
|
618
|
+
*/
|
|
619
|
+
metricNotRecoveredPackets(props?: MetricOptions): Metric;
|
|
620
|
+
/**
|
|
621
|
+
* Metric for the total number of packets received by the router input.
|
|
622
|
+
*/
|
|
623
|
+
metricTotalPackets(props?: MetricOptions): Metric;
|
|
624
|
+
/**
|
|
625
|
+
* Metric for the router input connection state (1 connected, 0 disconnected). Applies to SRT sources only.
|
|
626
|
+
*/
|
|
627
|
+
metricConnected(props?: MetricOptions): Metric;
|
|
628
|
+
/**
|
|
629
|
+
* Metric for continuity counter errors in the transport stream.
|
|
630
|
+
*/
|
|
631
|
+
metricContinuityCounterErrors(props?: MetricOptions): Metric;
|
|
632
|
+
/**
|
|
633
|
+
* Metric for the recovery latency of the input stream. Applies to RIST, SRT, and RTP-FEC.
|
|
634
|
+
*/
|
|
635
|
+
metricLatency(props?: MetricOptions): Metric;
|
|
636
|
+
/**
|
|
637
|
+
* Metric for the number of times the router input has switched sources in Failover mode.
|
|
638
|
+
*/
|
|
639
|
+
metricFailoverSwitches(props?: MetricOptions): Metric;
|
|
640
|
+
}
|
|
641
|
+
/**
|
|
642
|
+
* Defines an AWS Elemental MediaConnect Router Input.
|
|
643
|
+
*/
|
|
644
|
+
export declare class RouterInput extends RouterInputBase implements IRouterInput {
|
|
645
|
+
/** Uniquely identifies this class. */
|
|
646
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
647
|
+
/**
|
|
648
|
+
* Import an existing Router Input from its ARN.
|
|
649
|
+
*
|
|
650
|
+
* Use `fromRouterInputAttributes()` instead if you need to expose `routerInputId`
|
|
651
|
+
* or `ipAddress` on the imported construct.
|
|
652
|
+
*
|
|
653
|
+
* @param scope The parent construct
|
|
654
|
+
* @param id The construct id
|
|
655
|
+
* @param routerInputArn The ARN of the Router Input
|
|
656
|
+
* @returns A Router Input construct
|
|
657
|
+
*/
|
|
658
|
+
static fromRouterInputArn(scope: Construct, id: string, routerInputArn: string): IRouterInput;
|
|
659
|
+
/**
|
|
660
|
+
* Import an existing Router Input from its attributes.
|
|
661
|
+
*
|
|
662
|
+
* Provide `routerInputId` and/or `ipAddress` when importing an input that was deployed
|
|
663
|
+
* externally — otherwise accessing those properties on the imported construct will throw.
|
|
664
|
+
*
|
|
665
|
+
* @param scope The parent construct
|
|
666
|
+
* @param id The construct id
|
|
667
|
+
* @param attrs The Router Input attributes
|
|
668
|
+
* @returns A Router Input construct
|
|
669
|
+
*/
|
|
670
|
+
static fromRouterInputAttributes(scope: Construct, id: string, attrs: RouterInputAttributes): IRouterInput;
|
|
671
|
+
/**
|
|
672
|
+
* Returns the maximum bitrate in Mbps for a known tier, or undefined for custom tiers.
|
|
673
|
+
*/
|
|
674
|
+
private static tierLimitMbps;
|
|
675
|
+
readonly routerInputArn: string;
|
|
676
|
+
readonly routerInputId: string;
|
|
677
|
+
readonly ipAddress: string;
|
|
678
|
+
readonly createdAt?: string;
|
|
679
|
+
readonly updatedAt?: string;
|
|
680
|
+
private readonly _endpoints;
|
|
681
|
+
readonly transitEncryptionSecret?: ISecret;
|
|
682
|
+
readonly grants: RouterInputGrants;
|
|
683
|
+
get endpoints(): RouterInputEndpoint[];
|
|
684
|
+
constructor(scope: Construct, id: string, props: RouterInputProps);
|
|
685
|
+
}
|
|
686
|
+
export {};
|