@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/flow.d.ts
ADDED
|
@@ -0,0 +1,975 @@
|
|
|
1
|
+
import type { Bitrate, IResource } from 'aws-cdk-lib';
|
|
2
|
+
import { Resource, Duration } 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 { IFlowRef, FlowReference } from 'aws-cdk-lib/aws-mediaconnect';
|
|
6
|
+
import type { Construct } from 'constructs';
|
|
7
|
+
import type { IFlowOutput, OutputConfiguration } from './flow-output';
|
|
8
|
+
import type { SourceConfiguration } from './flow-source-configuration';
|
|
9
|
+
import { FlowGrants } from './mediaconnect-grants.generated';
|
|
10
|
+
import type { VpcInterfaceConfig, MaintenanceDay, Framerate, PixelAspectRatio } from './shared';
|
|
11
|
+
import { State } from './shared';
|
|
12
|
+
/**
|
|
13
|
+
* Interface for Flow
|
|
14
|
+
*/
|
|
15
|
+
export interface IFlow extends IResource, IFlowRef {
|
|
16
|
+
/**
|
|
17
|
+
* The Amazon Resource Name (ARN) of the flow.
|
|
18
|
+
*
|
|
19
|
+
* @attribute
|
|
20
|
+
*/
|
|
21
|
+
readonly flowArn: string;
|
|
22
|
+
/**
|
|
23
|
+
* The Amazon Resource Name (ARN) of the source defined on the flow.
|
|
24
|
+
*
|
|
25
|
+
* @attribute
|
|
26
|
+
*/
|
|
27
|
+
readonly sourceArn: string;
|
|
28
|
+
/**
|
|
29
|
+
* The IP address that the flow uses to send outbound content.
|
|
30
|
+
*
|
|
31
|
+
* @attribute
|
|
32
|
+
*/
|
|
33
|
+
readonly egressIp: string;
|
|
34
|
+
/**
|
|
35
|
+
* The IP address that the flow listens on for incoming content.
|
|
36
|
+
*
|
|
37
|
+
* Available for listener-style source protocols (RTP, RTP-FEC, RIST, SRT listener,
|
|
38
|
+
* Zixi push). Accessing this on SRT caller, entitlement, gateway bridge, router,
|
|
39
|
+
* CDI, JPEG XS, or imported flows throws — those sources don't expose a listening
|
|
40
|
+
* IP address.
|
|
41
|
+
*
|
|
42
|
+
* @attribute
|
|
43
|
+
*/
|
|
44
|
+
readonly sourceIngestIp: string;
|
|
45
|
+
/**
|
|
46
|
+
* The port that the flow listens on for incoming content.
|
|
47
|
+
*
|
|
48
|
+
* Available for the same listener-style source protocols as `sourceIngestIp`.
|
|
49
|
+
* Accessing this on SRT caller, entitlement, gateway bridge, router, CDI, JPEG XS,
|
|
50
|
+
* or imported flows throws.
|
|
51
|
+
*
|
|
52
|
+
* @attribute
|
|
53
|
+
*/
|
|
54
|
+
readonly sourceIngestPort: string;
|
|
55
|
+
/**
|
|
56
|
+
* The full ingest URL for the flow source, combining protocol, IP, and port.
|
|
57
|
+
* For example: `srt://203.0.113.10:5000`
|
|
58
|
+
*
|
|
59
|
+
* Available for listener-style source protocols (RTP, RTP-FEC, RIST, SRT listener,
|
|
60
|
+
* Zixi push) where the flow listens for an upstream sender. Accessing this on
|
|
61
|
+
* SRT caller, entitlement, gateway bridge, router, CDI, JPEG XS, or imported
|
|
62
|
+
* flows throws — those sources don't expose a single host:port ingest URL.
|
|
63
|
+
*/
|
|
64
|
+
readonly sourceIngestUrl: string;
|
|
65
|
+
/**
|
|
66
|
+
* The Availability Zone that the flow was created in.
|
|
67
|
+
*
|
|
68
|
+
* @attribute
|
|
69
|
+
*/
|
|
70
|
+
readonly flowAvailabilityZone?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Failover Configuration for flow
|
|
73
|
+
*/
|
|
74
|
+
readonly isFailoverEnabled?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Collection of grant methods for this flow.
|
|
77
|
+
*/
|
|
78
|
+
readonly grants: FlowGrants;
|
|
79
|
+
/**
|
|
80
|
+
* Create a CloudWatch metric for this flow.
|
|
81
|
+
*/
|
|
82
|
+
metric(metricName: string, props?: MetricOptions): Metric;
|
|
83
|
+
/**
|
|
84
|
+
* Metric for the bitrate of content ingested into the flow.
|
|
85
|
+
* @default - average over 60 seconds
|
|
86
|
+
*/
|
|
87
|
+
metricSourceBitrate(props?: MetricOptions): Metric;
|
|
88
|
+
/**
|
|
89
|
+
* Metric for packets that were not recovered by the flow source.
|
|
90
|
+
* @default - sum over 60 seconds
|
|
91
|
+
*/
|
|
92
|
+
metricSourceNotRecoveredPackets(props?: MetricOptions): Metric;
|
|
93
|
+
/**
|
|
94
|
+
* Metric for the total number of packets received by the flow source.
|
|
95
|
+
* @default - sum over 60 seconds
|
|
96
|
+
*/
|
|
97
|
+
metricSourceTotalPackets(props?: MetricOptions): Metric;
|
|
98
|
+
/**
|
|
99
|
+
* Metric indicating which source is selected for ingest when using `Failover` failover mode.
|
|
100
|
+
* @default - maximum over 60 seconds
|
|
101
|
+
*/
|
|
102
|
+
metricSourceSelected(props?: MetricOptions): Metric;
|
|
103
|
+
/**
|
|
104
|
+
* Metric indicating the connection state of the source (1 connected, 0 disconnected).
|
|
105
|
+
* Applies only to Zixi, SRT, and RIST sources.
|
|
106
|
+
* @default - minimum over 60 seconds
|
|
107
|
+
*/
|
|
108
|
+
metricSourceConnected(props?: MetricOptions): Metric;
|
|
109
|
+
/**
|
|
110
|
+
* Metric for the number of times the source transitioned from connected to disconnected.
|
|
111
|
+
* @default - sum over 60 seconds
|
|
112
|
+
*/
|
|
113
|
+
metricSourceDisconnections(props?: MetricOptions): Metric;
|
|
114
|
+
/**
|
|
115
|
+
* Metric for the number of packets lost during transit, measured before any error correction.
|
|
116
|
+
* @default - sum over 60 seconds
|
|
117
|
+
*/
|
|
118
|
+
metricSourceDroppedPackets(props?: MetricOptions): Metric;
|
|
119
|
+
/**
|
|
120
|
+
* Metric for the percentage of packets lost during transit, even if they were recovered.
|
|
121
|
+
* @default - average over 60 seconds
|
|
122
|
+
*/
|
|
123
|
+
metricSourcePacketLossPercent(props?: MetricOptions): Metric;
|
|
124
|
+
/**
|
|
125
|
+
* Metric for the round-trip time between the source and MediaConnect.
|
|
126
|
+
* Applies only to RIST, Zixi, and SRT sources.
|
|
127
|
+
* @default - average over 60 seconds
|
|
128
|
+
*/
|
|
129
|
+
metricSourceRoundTripTime(props?: MetricOptions): Metric;
|
|
130
|
+
/**
|
|
131
|
+
* Metric for the current network jitter of the source, measured in milliseconds.
|
|
132
|
+
* @default - average over 60 seconds
|
|
133
|
+
*/
|
|
134
|
+
metricSourceJitter(props?: MetricOptions): Metric;
|
|
135
|
+
/**
|
|
136
|
+
* Add an output to this flow
|
|
137
|
+
*/
|
|
138
|
+
addOutput(id: string, outputConfig: OutputConfiguration): IFlowOutput;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Options for Flow Size
|
|
142
|
+
*/
|
|
143
|
+
export declare class FlowSize {
|
|
144
|
+
readonly value: string;
|
|
145
|
+
/**
|
|
146
|
+
* Medium flow size. The default — standard transport stream distribution; does not
|
|
147
|
+
* support NDI, CDI, or JPEG XS.
|
|
148
|
+
*
|
|
149
|
+
* @see https://docs.aws.amazon.com/mediaconnect/latest/ug/flow-sizes-capabilities.html
|
|
150
|
+
*/
|
|
151
|
+
static readonly MEDIUM: FlowSize;
|
|
152
|
+
/**
|
|
153
|
+
* Large flow size. Required when the flow uses NDI sources or outputs. Supports
|
|
154
|
+
* transport stream distribution plus NDI; does not support CDI or JPEG XS.
|
|
155
|
+
*
|
|
156
|
+
* @see https://docs.aws.amazon.com/mediaconnect/latest/ug/flow-sizes-capabilities.html
|
|
157
|
+
*/
|
|
158
|
+
static readonly LARGE: FlowSize;
|
|
159
|
+
/**
|
|
160
|
+
* Option for large 4x flow size. Required for JPEG XS and CDI protocols. Does not support transport streams or NDI.
|
|
161
|
+
*/
|
|
162
|
+
static readonly LARGE_4X: FlowSize;
|
|
163
|
+
/**
|
|
164
|
+
* Use a custom flow size value
|
|
165
|
+
* @param value The flow size string value
|
|
166
|
+
*/
|
|
167
|
+
static of(value: string): FlowSize;
|
|
168
|
+
/** @param value The flow size string value */
|
|
169
|
+
private constructor();
|
|
170
|
+
/** Returns the string value */
|
|
171
|
+
toString(): string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Maintenance Window configuration for MediaConnect Flow.
|
|
175
|
+
*/
|
|
176
|
+
export interface MaintenanceWindow {
|
|
177
|
+
/**
|
|
178
|
+
* A day of a week when the maintenance will happen.
|
|
179
|
+
*/
|
|
180
|
+
readonly maintenanceDay: MaintenanceDay;
|
|
181
|
+
/**
|
|
182
|
+
* UTC time when the maintenance will happen. Use 24-hour HH:MM format. Minutes must be 00. Example: 13:00.
|
|
183
|
+
*/
|
|
184
|
+
readonly maintenanceStartHour: string;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Options for merge-mode source failover.
|
|
188
|
+
*/
|
|
189
|
+
export interface MergeFailoverOptions {
|
|
190
|
+
/**
|
|
191
|
+
* Whether failover is enabled. Set to `State.DISABLED` to keep the configuration
|
|
192
|
+
* on the flow without switching failover on.
|
|
193
|
+
*
|
|
194
|
+
* @default State.ENABLED
|
|
195
|
+
*/
|
|
196
|
+
readonly state?: State;
|
|
197
|
+
/**
|
|
198
|
+
* Search window time to look for SMPTE 2022-7 packets. A larger recovery window
|
|
199
|
+
* means a longer delay in transmitting the stream, but more room for error
|
|
200
|
+
* correction. A smaller window means a shorter delay but less room for correction.
|
|
201
|
+
*
|
|
202
|
+
* Valid range: 100–15000 ms.
|
|
203
|
+
*
|
|
204
|
+
* @default - 200 ms
|
|
205
|
+
*/
|
|
206
|
+
readonly recoveryWindow?: Duration;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Options for switchover-mode source failover.
|
|
210
|
+
*/
|
|
211
|
+
export interface FailoverFailoverOptions {
|
|
212
|
+
/**
|
|
213
|
+
* Whether failover is enabled. Set to `State.DISABLED` to keep the configuration
|
|
214
|
+
* on the flow without switching failover on.
|
|
215
|
+
*
|
|
216
|
+
* @default State.ENABLED
|
|
217
|
+
*/
|
|
218
|
+
readonly state?: State;
|
|
219
|
+
/**
|
|
220
|
+
* The name of the source you want to treat as primary. If set, MediaConnect always
|
|
221
|
+
* uses this source when it is available. When unset, both sources are treated with
|
|
222
|
+
* equal priority.
|
|
223
|
+
*
|
|
224
|
+
* @default - both sources are equal priority
|
|
225
|
+
*/
|
|
226
|
+
readonly primarySource?: string;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Source failover configuration for a flow.
|
|
230
|
+
*
|
|
231
|
+
* MediaConnect supports two failover modes:
|
|
232
|
+
* - {@link FailoverConfig.merge} combines two binary-identical sources into a single
|
|
233
|
+
* stream, recovering lost packets from the other source (SMPTE 2022-7).
|
|
234
|
+
* - {@link FailoverConfig.failover} switches between a primary and backup source when
|
|
235
|
+
* the active source stops receiving data.
|
|
236
|
+
*/
|
|
237
|
+
export declare class FailoverConfig {
|
|
238
|
+
private readonly _failoverMode;
|
|
239
|
+
private readonly _state;
|
|
240
|
+
private readonly _recoveryWindow;
|
|
241
|
+
private readonly _primarySource;
|
|
242
|
+
/**
|
|
243
|
+
* Configure merge-mode failover. Requires two binary-identical sources.
|
|
244
|
+
*/
|
|
245
|
+
static merge(options?: MergeFailoverOptions): FailoverConfig;
|
|
246
|
+
/**
|
|
247
|
+
* Configure switchover-mode failover. The flow swaps to the backup source when the
|
|
248
|
+
* primary source stops receiving data.
|
|
249
|
+
*/
|
|
250
|
+
static failover(options?: FailoverFailoverOptions): FailoverConfig;
|
|
251
|
+
private constructor();
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Configures a source monitoring metric.
|
|
255
|
+
*/
|
|
256
|
+
export interface MonitoringMetric {
|
|
257
|
+
/**
|
|
258
|
+
* Whether the metric is enabled or disabled. The threshold is persisted by the
|
|
259
|
+
* service either way, so you can toggle the metric on and off without losing
|
|
260
|
+
* the threshold value.
|
|
261
|
+
*/
|
|
262
|
+
readonly state: State;
|
|
263
|
+
/**
|
|
264
|
+
* Threshold in seconds that triggers the metric's alert. Valid range: 10–60 seconds.
|
|
265
|
+
*/
|
|
266
|
+
readonly threshold: Duration;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Source monitoring settings.
|
|
270
|
+
*/
|
|
271
|
+
export interface SourceMonitoringConfig {
|
|
272
|
+
/**
|
|
273
|
+
* Indicates whether content quality analysis is enabled or disabled.
|
|
274
|
+
*
|
|
275
|
+
* @default - content quality analysis is disabled
|
|
276
|
+
*/
|
|
277
|
+
readonly contentQualityAnalysisState?: State;
|
|
278
|
+
/**
|
|
279
|
+
* The current state of the thumbnail monitoring.
|
|
280
|
+
*
|
|
281
|
+
* @default - thumbnail monitoring is disabled
|
|
282
|
+
*/
|
|
283
|
+
readonly thumbnailState?: State;
|
|
284
|
+
/**
|
|
285
|
+
* Silent-audio detection on the source.
|
|
286
|
+
*
|
|
287
|
+
* @default - silent audio monitoring is not configured
|
|
288
|
+
*/
|
|
289
|
+
readonly silentAudio?: MonitoringMetric;
|
|
290
|
+
/**
|
|
291
|
+
* Black-frames detection on the source.
|
|
292
|
+
*
|
|
293
|
+
* @default - black frames monitoring is not configured
|
|
294
|
+
*/
|
|
295
|
+
readonly blackFrames?: MonitoringMetric;
|
|
296
|
+
/**
|
|
297
|
+
* Frozen-frames detection on the source.
|
|
298
|
+
*
|
|
299
|
+
* @default - frozen frames monitoring is not configured
|
|
300
|
+
*/
|
|
301
|
+
readonly frozenFrames?: MonitoringMetric;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* NDI Configuration
|
|
305
|
+
*/
|
|
306
|
+
export interface NdiDiscoveryServerConfig {
|
|
307
|
+
/**
|
|
308
|
+
* The unique network address of the NDI discovery server.
|
|
309
|
+
*/
|
|
310
|
+
readonly discoveryServerAddress: string;
|
|
311
|
+
/**
|
|
312
|
+
* The port for the NDI discovery server. Defaults to 5959 if a custom port isn't specified.
|
|
313
|
+
*
|
|
314
|
+
* @default - undefined; when omitted, MediaConnect applies 5959 at deploy time
|
|
315
|
+
*/
|
|
316
|
+
readonly discoveryServerPort?: number;
|
|
317
|
+
/**
|
|
318
|
+
* The VPC interface that the NDI discovery server uses to reach the flow.
|
|
319
|
+
*/
|
|
320
|
+
readonly vpcInterface: VpcInterfaceConfig;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Configuration for NDI Config
|
|
324
|
+
*/
|
|
325
|
+
export interface NdiConfig {
|
|
326
|
+
/**
|
|
327
|
+
* A prefix for the names of the NDI sources that the flow creates.
|
|
328
|
+
* If a custom name isn't specified, MediaConnect generates a unique 12-character ID as the prefix.
|
|
329
|
+
*
|
|
330
|
+
* @default - MediaConnect generates a unique 12-character ID
|
|
331
|
+
*/
|
|
332
|
+
readonly machineName?: string;
|
|
333
|
+
/**
|
|
334
|
+
* Specifies the configuration settings for individual NDI discovery servers.
|
|
335
|
+
* A maximum of 3 servers is allowed.
|
|
336
|
+
*
|
|
337
|
+
* @default - no NDI discovery servers
|
|
338
|
+
*/
|
|
339
|
+
readonly ndiDiscoveryServers?: NdiDiscoveryServerConfig[];
|
|
340
|
+
/**
|
|
341
|
+
* A setting that controls whether NDI sources or outputs can be used in the flow.
|
|
342
|
+
* Must be ENABLED for the flow to support NDI sources or outputs.
|
|
343
|
+
*
|
|
344
|
+
* @default State.DISABLED
|
|
345
|
+
*/
|
|
346
|
+
readonly ndiState?: State;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Encoding profiles supported when transcoding an NDI source to a transport stream.
|
|
350
|
+
*/
|
|
351
|
+
export declare enum EncodingProfile {
|
|
352
|
+
/**
|
|
353
|
+
* H.264 profile tuned for contribution workflows — higher quality, higher bitrate.
|
|
354
|
+
*/
|
|
355
|
+
CONTRIBUTION_H264_DEFAULT = "CONTRIBUTION_H264_DEFAULT",
|
|
356
|
+
/**
|
|
357
|
+
* H.264 profile tuned for distribution workflows — lower bitrate, wider compatibility.
|
|
358
|
+
*/
|
|
359
|
+
DISTRIBUTION_H264_DEFAULT = "DISTRIBUTION_H264_DEFAULT"
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Encoding configuration applied to an NDI source when transcoding it to a transport
|
|
363
|
+
* stream for downstream distribution.
|
|
364
|
+
*/
|
|
365
|
+
export interface EncodingConfig {
|
|
366
|
+
/**
|
|
367
|
+
* The encoding profile to use when transcoding the NDI source content to a transport
|
|
368
|
+
* stream. You can change this value while the flow is running.
|
|
369
|
+
*
|
|
370
|
+
* @default - the MediaConnect service default
|
|
371
|
+
*/
|
|
372
|
+
readonly encodingProfile?: EncodingProfile;
|
|
373
|
+
/**
|
|
374
|
+
* The maximum video bitrate to use when transcoding the NDI source to a transport stream.
|
|
375
|
+
*
|
|
376
|
+
* The supported range is 10 Mbps – 50 Mbps.
|
|
377
|
+
*
|
|
378
|
+
* @default - undefined; when omitted, MediaConnect applies 20 Mbps at deploy time
|
|
379
|
+
*/
|
|
380
|
+
readonly videoMaxBitrate?: Bitrate;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Option for Colorimetry
|
|
384
|
+
*/
|
|
385
|
+
export declare class Colorimetry {
|
|
386
|
+
readonly value: string;
|
|
387
|
+
/** Option for BT601 */
|
|
388
|
+
static readonly BT601: Colorimetry;
|
|
389
|
+
/** Option for BT709 */
|
|
390
|
+
static readonly BT709: Colorimetry;
|
|
391
|
+
/** Option for BT2020 */
|
|
392
|
+
static readonly BT2020: Colorimetry;
|
|
393
|
+
/** Option for BT2100 */
|
|
394
|
+
static readonly BT2100: Colorimetry;
|
|
395
|
+
/** Option for ST2065-1 */
|
|
396
|
+
static readonly ST2065_1: Colorimetry;
|
|
397
|
+
/** Option for ST2065-3 */
|
|
398
|
+
static readonly ST2065_3: Colorimetry;
|
|
399
|
+
/** Option for XYZ */
|
|
400
|
+
static readonly XYZ: Colorimetry;
|
|
401
|
+
/** Use a custom colorimetry value */
|
|
402
|
+
static of(value: string): Colorimetry;
|
|
403
|
+
/** @param value The colorimetry string value */
|
|
404
|
+
private constructor();
|
|
405
|
+
/** Returns the string value */
|
|
406
|
+
toString(): string;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Options for Video Range
|
|
410
|
+
*/
|
|
411
|
+
export declare class VideoRange {
|
|
412
|
+
readonly value: string;
|
|
413
|
+
/** Option for Narrow */
|
|
414
|
+
static readonly NARROW: VideoRange;
|
|
415
|
+
/** Option for Full */
|
|
416
|
+
static readonly FULL: VideoRange;
|
|
417
|
+
/** Option for Full Protect */
|
|
418
|
+
static readonly FULLPROTECT: VideoRange;
|
|
419
|
+
/** Use a custom video range value */
|
|
420
|
+
static of(value: string): VideoRange;
|
|
421
|
+
/** @param value The video range string value */
|
|
422
|
+
private constructor();
|
|
423
|
+
/** Returns the string value */
|
|
424
|
+
toString(): string;
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* Options for Scan Mode
|
|
428
|
+
*/
|
|
429
|
+
export declare class ScanMode {
|
|
430
|
+
readonly value: string;
|
|
431
|
+
/** Option for Progressive */
|
|
432
|
+
static readonly PROGRESSIVE: ScanMode;
|
|
433
|
+
/** Option for Interlace */
|
|
434
|
+
static readonly INTERLACE: ScanMode;
|
|
435
|
+
/** Option for Progressive Segmented Frame */
|
|
436
|
+
static readonly PROGRESSIVE_SEGMENTED_FRAME: ScanMode;
|
|
437
|
+
/** Use a custom scan mode value */
|
|
438
|
+
static of(value: string): ScanMode;
|
|
439
|
+
/** @param value The scan mode string value */
|
|
440
|
+
private constructor();
|
|
441
|
+
/** Returns the string value */
|
|
442
|
+
toString(): string;
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* Options for Tcs
|
|
446
|
+
*/
|
|
447
|
+
export declare class Tcs {
|
|
448
|
+
readonly value: string;
|
|
449
|
+
/** Option for SDR */
|
|
450
|
+
static readonly SDR: Tcs;
|
|
451
|
+
/** Option for PQ */
|
|
452
|
+
static readonly PQ: Tcs;
|
|
453
|
+
/** Option for HLG */
|
|
454
|
+
static readonly HLG: Tcs;
|
|
455
|
+
/** Option for Linear */
|
|
456
|
+
static readonly LINEAR: Tcs;
|
|
457
|
+
/** Option for BT2100LINPQ */
|
|
458
|
+
static readonly BT2100LINPQ: Tcs;
|
|
459
|
+
/** Option for BT2100LINHLG */
|
|
460
|
+
static readonly BT2100LINHLG: Tcs;
|
|
461
|
+
/** Option for ST2065-1 */
|
|
462
|
+
static readonly ST2065_1: Tcs;
|
|
463
|
+
/** Option for ST428-1 */
|
|
464
|
+
static readonly ST428_1: Tcs;
|
|
465
|
+
/** Option for Density */
|
|
466
|
+
static readonly DENSITY: Tcs;
|
|
467
|
+
/** Use a custom TCS value */
|
|
468
|
+
static of(value: string): Tcs;
|
|
469
|
+
/** @param value The TCS string value */
|
|
470
|
+
private constructor();
|
|
471
|
+
/** Returns the string value */
|
|
472
|
+
toString(): string;
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Options for FMTP Video
|
|
476
|
+
*/
|
|
477
|
+
export interface FmtpVideo {
|
|
478
|
+
/**
|
|
479
|
+
* The format used for the representation of color.
|
|
480
|
+
*
|
|
481
|
+
* @default - no colorimetry specified
|
|
482
|
+
*/
|
|
483
|
+
readonly colorimetry?: Colorimetry;
|
|
484
|
+
/**
|
|
485
|
+
* The frame rate for the video stream.
|
|
486
|
+
*
|
|
487
|
+
* @default - no frame rate specified
|
|
488
|
+
*/
|
|
489
|
+
readonly exactFramerate?: Framerate;
|
|
490
|
+
/**
|
|
491
|
+
* The pixel aspect ratio (PAR) of the video — the shape of a single pixel, not the
|
|
492
|
+
* display aspect ratio. Use `PixelAspectRatio.SQUARE` for most modern content.
|
|
493
|
+
*
|
|
494
|
+
* @default - no pixel aspect ratio specified
|
|
495
|
+
*/
|
|
496
|
+
readonly par?: PixelAspectRatio;
|
|
497
|
+
/**
|
|
498
|
+
* The encoding range of the video.
|
|
499
|
+
*
|
|
500
|
+
* @default - no video range specified
|
|
501
|
+
*/
|
|
502
|
+
readonly videoRange?: VideoRange;
|
|
503
|
+
/**
|
|
504
|
+
* The type of compression that was used to smooth the video's appearance.
|
|
505
|
+
*
|
|
506
|
+
* @default - no scan mode specified
|
|
507
|
+
*/
|
|
508
|
+
readonly scanMode?: ScanMode;
|
|
509
|
+
/**
|
|
510
|
+
* The transfer characteristic system (TCS) that is used in the video.
|
|
511
|
+
*
|
|
512
|
+
* @default - no TCS specified
|
|
513
|
+
*/
|
|
514
|
+
readonly tcs?: Tcs;
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Audio Stream Order Options
|
|
518
|
+
*/
|
|
519
|
+
export declare class AudioStreamOrderOptions {
|
|
520
|
+
readonly value: string;
|
|
521
|
+
/** Mono */
|
|
522
|
+
static readonly MONO: AudioStreamOrderOptions;
|
|
523
|
+
/** Dual Mono */
|
|
524
|
+
static readonly DUAL_MONO: AudioStreamOrderOptions;
|
|
525
|
+
/** Standard Stereo */
|
|
526
|
+
static readonly STANDARD_STEREO: AudioStreamOrderOptions;
|
|
527
|
+
/** Left Right Matrix Stereo */
|
|
528
|
+
static readonly LTRT_MATRIX_STEREO: AudioStreamOrderOptions;
|
|
529
|
+
/** 5.1 Surround */
|
|
530
|
+
static readonly SURROUND_5_1: AudioStreamOrderOptions;
|
|
531
|
+
/** 7.1 Surround */
|
|
532
|
+
static readonly SURROUND_7_1: AudioStreamOrderOptions;
|
|
533
|
+
/** 22.2 Surround */
|
|
534
|
+
static readonly SURROUND_22_2: AudioStreamOrderOptions;
|
|
535
|
+
/** One SDI Audio Group */
|
|
536
|
+
static readonly ONE_SDI_AUDIO_GROUP: AudioStreamOrderOptions;
|
|
537
|
+
/** Use a custom audio stream order value */
|
|
538
|
+
static of(value: string): AudioStreamOrderOptions;
|
|
539
|
+
/** @param value The audio stream order string value */
|
|
540
|
+
private constructor();
|
|
541
|
+
/** Returns the string value */
|
|
542
|
+
toString(): string;
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Options for Media Video format
|
|
546
|
+
*/
|
|
547
|
+
export declare class MediaVideoFormat {
|
|
548
|
+
readonly value: string;
|
|
549
|
+
/** Option for 2160p */
|
|
550
|
+
static readonly UHD_2160P: MediaVideoFormat;
|
|
551
|
+
/** Option for 1080p */
|
|
552
|
+
static readonly HD_1080P: MediaVideoFormat;
|
|
553
|
+
/** Option for 1080i */
|
|
554
|
+
static readonly HD_1080I: MediaVideoFormat;
|
|
555
|
+
/** Option for 720p */
|
|
556
|
+
static readonly HD_720P: MediaVideoFormat;
|
|
557
|
+
/** Option for 480p */
|
|
558
|
+
static readonly SD_480P: MediaVideoFormat;
|
|
559
|
+
/** Use a custom video format value */
|
|
560
|
+
static of(value: string): MediaVideoFormat;
|
|
561
|
+
/** @param value The video format string value */
|
|
562
|
+
private constructor();
|
|
563
|
+
/** Returns the string value */
|
|
564
|
+
toString(): string;
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Base configuration for Media Stream.
|
|
568
|
+
*/
|
|
569
|
+
export interface MediaStreamBase {
|
|
570
|
+
/**
|
|
571
|
+
* A unique identifier for the media stream.
|
|
572
|
+
*/
|
|
573
|
+
readonly mediaStreamId: number;
|
|
574
|
+
/**
|
|
575
|
+
* A name that helps you distinguish one media stream from another.
|
|
576
|
+
*/
|
|
577
|
+
readonly mediaStreamName: string;
|
|
578
|
+
/**
|
|
579
|
+
* A description that can help you quickly identify what your media stream is used for.
|
|
580
|
+
*
|
|
581
|
+
* @default - no description
|
|
582
|
+
*/
|
|
583
|
+
readonly description?: string;
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* A media stream represents one component of your content, such as video, audio, or ancillary data.
|
|
587
|
+
* After you add a media stream to your flow, you can associate it with sources and outputs that use
|
|
588
|
+
* the ST 2110 JPEG XS or CDI protocol.
|
|
589
|
+
*/
|
|
590
|
+
export interface MediaStreamVideo extends MediaStreamBase {
|
|
591
|
+
/**
|
|
592
|
+
* Attributes that are related to the media stream.
|
|
593
|
+
*/
|
|
594
|
+
readonly fmtp: FmtpVideo;
|
|
595
|
+
/**
|
|
596
|
+
* The sample rate for the stream. This value is measured in Hz.
|
|
597
|
+
*
|
|
598
|
+
* @default - default clock rate for the media stream type
|
|
599
|
+
*/
|
|
600
|
+
readonly clockRate?: number;
|
|
601
|
+
/**
|
|
602
|
+
* The format type number (sometimes referred to as RTP payload type) of the media stream.
|
|
603
|
+
* MediaConnect assigns this value to the media stream. For ST 2110 JPEG XS outputs, you need to provide this value to the receiver.
|
|
604
|
+
*
|
|
605
|
+
* @default - assigned by MediaConnect
|
|
606
|
+
*/
|
|
607
|
+
readonly fmt?: number;
|
|
608
|
+
/**
|
|
609
|
+
* The resolution of the video.
|
|
610
|
+
*/
|
|
611
|
+
readonly videoFormat: MediaVideoFormat;
|
|
612
|
+
}
|
|
613
|
+
/**
|
|
614
|
+
* A media stream represents one component of your content, such as video, audio, or ancillary data.
|
|
615
|
+
* After you add a media stream to your flow, you can associate it with sources and outputs that use
|
|
616
|
+
* the ST 2110 JPEG XS or CDI protocol.
|
|
617
|
+
*/
|
|
618
|
+
export interface MediaStreamAudio extends MediaStreamBase {
|
|
619
|
+
/**
|
|
620
|
+
* The format of the audio channel.
|
|
621
|
+
*
|
|
622
|
+
* @default - the MediaConnect service default
|
|
623
|
+
*/
|
|
624
|
+
readonly channelOrder?: AudioStreamOrderOptions;
|
|
625
|
+
/**
|
|
626
|
+
* The sample rate for the stream. This value is measured in Hz.
|
|
627
|
+
*
|
|
628
|
+
* @default - default clock rate for the media stream type
|
|
629
|
+
*/
|
|
630
|
+
readonly clockRate?: number;
|
|
631
|
+
/**
|
|
632
|
+
* The format type number (sometimes referred to as RTP payload type) of the media stream.
|
|
633
|
+
* MediaConnect assigns this value to the media stream. For ST 2110 JPEG XS outputs, you need to provide this value to the receiver.
|
|
634
|
+
*
|
|
635
|
+
* @default - assigned by MediaConnect
|
|
636
|
+
*/
|
|
637
|
+
readonly fmt?: number;
|
|
638
|
+
/**
|
|
639
|
+
* The audio language, in a format that is recognized by the receiver.
|
|
640
|
+
*
|
|
641
|
+
* @default - no language specified
|
|
642
|
+
*/
|
|
643
|
+
readonly lang?: string;
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* A media stream represents one component of your content, such as video, audio, or ancillary data.
|
|
647
|
+
* After you add a media stream to your flow, you can associate it with sources and outputs that use
|
|
648
|
+
* the ST 2110 JPEG XS or CDI protocol.
|
|
649
|
+
*/
|
|
650
|
+
export interface MediaStreamAncillaryData extends MediaStreamBase {
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* Properties for the Flow
|
|
654
|
+
*/
|
|
655
|
+
export interface FlowProps {
|
|
656
|
+
/**
|
|
657
|
+
* The name of the flow.
|
|
658
|
+
*
|
|
659
|
+
* @default - autogenerated
|
|
660
|
+
*/
|
|
661
|
+
readonly flowName?: string;
|
|
662
|
+
/**
|
|
663
|
+
* The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.
|
|
664
|
+
*
|
|
665
|
+
* @default - chosen by MediaConnect
|
|
666
|
+
*/
|
|
667
|
+
readonly availabilityZone?: string;
|
|
668
|
+
/**
|
|
669
|
+
* Determines the processing capacity and feature set of the flow. Set this optional parameter to LARGE if you want to enable NDI outputs on the flow.
|
|
670
|
+
*
|
|
671
|
+
* @default - undefined; when omitted, MediaConnect applies FlowSize.MEDIUM at deploy time
|
|
672
|
+
*/
|
|
673
|
+
readonly flowSize?: FlowSize;
|
|
674
|
+
/**
|
|
675
|
+
* The maintenance window for the flow.
|
|
676
|
+
*
|
|
677
|
+
* @default - chosen by MediaConnect
|
|
678
|
+
*/
|
|
679
|
+
readonly maintenance?: MaintenanceWindow;
|
|
680
|
+
/**
|
|
681
|
+
* The media streams that are associated with the flow. After you associate a media stream with a source, you can also associate it with outputs on the flow.
|
|
682
|
+
*
|
|
683
|
+
* @default No Media Streams
|
|
684
|
+
*/
|
|
685
|
+
readonly mediaStreams?: MediaStream[];
|
|
686
|
+
/**
|
|
687
|
+
* Specifies the configuration settings for a flow's NDI source or output. Required when the flow includes an NDI source or output.
|
|
688
|
+
*
|
|
689
|
+
* @default No NDI Configuration applied
|
|
690
|
+
*/
|
|
691
|
+
readonly ndiConfig?: NdiConfig;
|
|
692
|
+
/**
|
|
693
|
+
* Encoding configuration applied to the NDI source when transcoding it to a transport
|
|
694
|
+
* stream for downstream distribution.
|
|
695
|
+
*
|
|
696
|
+
* Required when the flow source uses the NDI SpeedHQ protocol
|
|
697
|
+
* (see {@link SourceConfiguration.ndi}).
|
|
698
|
+
*
|
|
699
|
+
* @default - no encoding config; required for NDI sources
|
|
700
|
+
*/
|
|
701
|
+
readonly encodingConfig?: EncodingConfig;
|
|
702
|
+
/**
|
|
703
|
+
* The settings for the source that you want to use for the new flow.
|
|
704
|
+
*/
|
|
705
|
+
readonly source: SourceConfiguration;
|
|
706
|
+
/**
|
|
707
|
+
* The settings for source failover.
|
|
708
|
+
*
|
|
709
|
+
* @default No source failover configuration applied
|
|
710
|
+
*/
|
|
711
|
+
readonly sourceFailoverConfig?: FailoverConfig;
|
|
712
|
+
/**
|
|
713
|
+
* The settings for source monitoring.
|
|
714
|
+
*
|
|
715
|
+
* @default No source monitoring configuration applied
|
|
716
|
+
*/
|
|
717
|
+
readonly sourceMonitoringConfig?: SourceMonitoringConfig;
|
|
718
|
+
/**
|
|
719
|
+
* The VPC Interfaces for this flow.
|
|
720
|
+
*
|
|
721
|
+
* Use this instead of the FlowVpcInterface construct.
|
|
722
|
+
*
|
|
723
|
+
* @default No VPC Interface configuration applied
|
|
724
|
+
*/
|
|
725
|
+
readonly vpcInterfaces?: VpcInterfaceConfig[];
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* Simplified configuration for Media Streams
|
|
729
|
+
*/
|
|
730
|
+
export declare class MediaStream {
|
|
731
|
+
private readonly _config;
|
|
732
|
+
/**
|
|
733
|
+
* Configuration for MediaStream Video
|
|
734
|
+
*/
|
|
735
|
+
static video(config: MediaStreamVideo): MediaStream;
|
|
736
|
+
/**
|
|
737
|
+
* Configuration for MediaStream audio
|
|
738
|
+
*/
|
|
739
|
+
static audio(config: MediaStreamAudio): MediaStream;
|
|
740
|
+
/**
|
|
741
|
+
* Configuration for MediaStream ancillary data
|
|
742
|
+
*/
|
|
743
|
+
static ancillaryData(config: MediaStreamAncillaryData): MediaStream;
|
|
744
|
+
private constructor();
|
|
745
|
+
}
|
|
746
|
+
/**
|
|
747
|
+
* Attributes for importing an existing Flow.
|
|
748
|
+
*/
|
|
749
|
+
export interface FlowAttributes {
|
|
750
|
+
/**
|
|
751
|
+
* The ARN of the flow.
|
|
752
|
+
*/
|
|
753
|
+
readonly flowArn: string;
|
|
754
|
+
/**
|
|
755
|
+
* Indicates whether failover configured
|
|
756
|
+
*
|
|
757
|
+
* @default false
|
|
758
|
+
*/
|
|
759
|
+
readonly isFailoverEnabled?: boolean;
|
|
760
|
+
/**
|
|
761
|
+
* ARN of the source defined on the flow.
|
|
762
|
+
*
|
|
763
|
+
* Not encoded in the flow ARN, so must be provided explicitly when you need
|
|
764
|
+
* access to `sourceArn` on the imported construct.
|
|
765
|
+
*
|
|
766
|
+
* @default - sourceArn is not available on the imported construct
|
|
767
|
+
*/
|
|
768
|
+
readonly sourceArn?: string;
|
|
769
|
+
/**
|
|
770
|
+
* The IP address that the flow uses to send outbound content.
|
|
771
|
+
*
|
|
772
|
+
* @default - accessing `egressIp` on the imported flow throws; only provide when available.
|
|
773
|
+
*/
|
|
774
|
+
readonly egressIp?: string;
|
|
775
|
+
/**
|
|
776
|
+
* The IP address that the flow listens on for incoming content.
|
|
777
|
+
*
|
|
778
|
+
* @default - accessing `sourceIngestIp` on the imported flow throws; only provide when available.
|
|
779
|
+
*/
|
|
780
|
+
readonly sourceIngestIp?: string;
|
|
781
|
+
/**
|
|
782
|
+
* The port that the flow listens on for incoming content.
|
|
783
|
+
*
|
|
784
|
+
* @default - accessing `sourceIngestPort` on the imported flow throws; only provide when available.
|
|
785
|
+
*/
|
|
786
|
+
readonly sourceIngestPort?: string;
|
|
787
|
+
/**
|
|
788
|
+
* The Availability Zone that the flow was created in.
|
|
789
|
+
*
|
|
790
|
+
* @default - `flowAvailabilityZone` is undefined on the imported flow.
|
|
791
|
+
*/
|
|
792
|
+
readonly flowAvailabilityZone?: string;
|
|
793
|
+
}
|
|
794
|
+
declare abstract class FlowBase extends Resource implements IFlow {
|
|
795
|
+
/**
|
|
796
|
+
* Creates a Flow construct that represents an external (imported) Flow.
|
|
797
|
+
*/
|
|
798
|
+
static fromFlowAttributes(scope: Construct, id: string, attrs: FlowAttributes): IFlow;
|
|
799
|
+
/**
|
|
800
|
+
* Import an existing Flow from its ARN.
|
|
801
|
+
*
|
|
802
|
+
* Use `fromFlowAttributes()` instead if you need access to `sourceArn` or any other
|
|
803
|
+
* attribute not encoded in the flow ARN.
|
|
804
|
+
*/
|
|
805
|
+
static fromFlowArn(scope: Construct, id: string, flowArn: string): IFlow;
|
|
806
|
+
abstract readonly sourceArn: string;
|
|
807
|
+
abstract readonly flowArn: string;
|
|
808
|
+
abstract readonly egressIp: string;
|
|
809
|
+
abstract readonly sourceIngestIp: string;
|
|
810
|
+
abstract readonly sourceIngestPort: string;
|
|
811
|
+
abstract readonly sourceIngestUrl: string;
|
|
812
|
+
abstract readonly flowAvailabilityZone?: string;
|
|
813
|
+
abstract readonly isFailoverEnabled?: boolean;
|
|
814
|
+
/**
|
|
815
|
+
* Collection of grant methods for this flow.
|
|
816
|
+
*/
|
|
817
|
+
readonly grants: FlowGrants;
|
|
818
|
+
/**
|
|
819
|
+
* A reference to this Flow resource.
|
|
820
|
+
* Required by the auto-generated IFlowRef interface.
|
|
821
|
+
*/
|
|
822
|
+
get flowRef(): FlowReference;
|
|
823
|
+
/**
|
|
824
|
+
* Add an output to this flow
|
|
825
|
+
*/
|
|
826
|
+
addOutput(id: string, outputConfig: OutputConfiguration): IFlowOutput;
|
|
827
|
+
/**
|
|
828
|
+
* Create a CloudWatch metric for this flow.
|
|
829
|
+
*/
|
|
830
|
+
metric(metricName: string, props?: MetricOptions): Metric;
|
|
831
|
+
/**
|
|
832
|
+
* Metric for the bitrate of content ingested into the flow.
|
|
833
|
+
*
|
|
834
|
+
* Emits the `SourceBitRate` metric with dimension `FlowARN`, which aggregates across
|
|
835
|
+
* all sources on the flow. To narrow to a specific source on a multi-source flow, call
|
|
836
|
+
* {@link metric} with an additional `SourceARN` dimension.
|
|
837
|
+
*
|
|
838
|
+
* @default - average over 60 seconds
|
|
839
|
+
*/
|
|
840
|
+
metricSourceBitrate(props?: MetricOptions): Metric;
|
|
841
|
+
/**
|
|
842
|
+
* Metric for packets that were lost in transit and not recovered by error correction.
|
|
843
|
+
*
|
|
844
|
+
* Emits the `SourceNotRecoveredPackets` metric with dimension `FlowARN`, which aggregates
|
|
845
|
+
* across all sources on the flow.
|
|
846
|
+
*
|
|
847
|
+
* @default - sum over 60 seconds
|
|
848
|
+
*/
|
|
849
|
+
metricSourceNotRecoveredPackets(props?: MetricOptions): Metric;
|
|
850
|
+
/**
|
|
851
|
+
* Metric for the total number of packets received by the flow sources.
|
|
852
|
+
*
|
|
853
|
+
* Emits the `SourceTotalPackets` metric with dimension `FlowARN`, which aggregates across
|
|
854
|
+
* all sources on the flow.
|
|
855
|
+
*
|
|
856
|
+
* @default - sum over 60 seconds
|
|
857
|
+
*/
|
|
858
|
+
metricSourceTotalPackets(props?: MetricOptions): Metric;
|
|
859
|
+
/**
|
|
860
|
+
* Metric indicating which source is selected for ingest when using `Failover` failover mode.
|
|
861
|
+
* A value of 1 indicates the source is being used as the input; 0 indicates it is standby.
|
|
862
|
+
*
|
|
863
|
+
* Emits the `SourceSelected` metric with dimension `FlowARN`. To narrow to a specific source,
|
|
864
|
+
* call {@link metric} with an additional `SourceARN` dimension.
|
|
865
|
+
*
|
|
866
|
+
* @default - maximum over 60 seconds
|
|
867
|
+
*/
|
|
868
|
+
metricSourceSelected(props?: MetricOptions): Metric;
|
|
869
|
+
/**
|
|
870
|
+
* Metric indicating the connection state of the source. 1 for connected, 0 for disconnected.
|
|
871
|
+
* Applies only to Zixi, SRT, and RIST sources.
|
|
872
|
+
*
|
|
873
|
+
* Emits the `SourceConnected` metric with dimension `FlowARN`.
|
|
874
|
+
*
|
|
875
|
+
* @default - minimum over 60 seconds
|
|
876
|
+
*/
|
|
877
|
+
metricSourceConnected(props?: MetricOptions): Metric;
|
|
878
|
+
/**
|
|
879
|
+
* Metric for the number of times the source transitioned from connected to disconnected.
|
|
880
|
+
*
|
|
881
|
+
* Emits the `SourceDisconnections` metric with dimension `FlowARN`.
|
|
882
|
+
*
|
|
883
|
+
* @default - sum over 60 seconds
|
|
884
|
+
*/
|
|
885
|
+
metricSourceDisconnections(props?: MetricOptions): Metric;
|
|
886
|
+
/**
|
|
887
|
+
* Metric for the number of packets lost during transit, measured before any error
|
|
888
|
+
* correction takes place.
|
|
889
|
+
*
|
|
890
|
+
* Emits the `SourceDroppedPackets` metric with dimension `FlowARN`.
|
|
891
|
+
*
|
|
892
|
+
* @default - sum over 60 seconds
|
|
893
|
+
*/
|
|
894
|
+
metricSourceDroppedPackets(props?: MetricOptions): Metric;
|
|
895
|
+
/**
|
|
896
|
+
* Metric for the percentage of packets lost during transit, even if they were recovered.
|
|
897
|
+
*
|
|
898
|
+
* Emits the `SourcePacketLossPercent` metric with dimension `FlowARN`.
|
|
899
|
+
*
|
|
900
|
+
* @default - average over 60 seconds
|
|
901
|
+
*/
|
|
902
|
+
metricSourcePacketLossPercent(props?: MetricOptions): Metric;
|
|
903
|
+
/**
|
|
904
|
+
* Metric for the round-trip time between the source and MediaConnect. Applies only to
|
|
905
|
+
* RIST, Zixi, and SRT sources.
|
|
906
|
+
*
|
|
907
|
+
* Emits the `SourceRoundTripTime` metric with dimension `FlowARN`.
|
|
908
|
+
*
|
|
909
|
+
* @default - average over 60 seconds
|
|
910
|
+
*/
|
|
911
|
+
metricSourceRoundTripTime(props?: MetricOptions): Metric;
|
|
912
|
+
/**
|
|
913
|
+
* Metric for the current network jitter of the source, measured in milliseconds.
|
|
914
|
+
*
|
|
915
|
+
* Emits the `SourceJitter` metric with dimension `FlowARN`.
|
|
916
|
+
*
|
|
917
|
+
* @default - average over 60 seconds
|
|
918
|
+
*/
|
|
919
|
+
metricSourceJitter(props?: MetricOptions): Metric;
|
|
920
|
+
}
|
|
921
|
+
/**
|
|
922
|
+
* Defines an AWS Elemental MediaConnect Flow.
|
|
923
|
+
*/
|
|
924
|
+
export declare class Flow extends FlowBase implements IFlow {
|
|
925
|
+
/** Uniquely identifies this class. */
|
|
926
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
927
|
+
/**
|
|
928
|
+
* The set of source protocols where the flow opens an IP:port and listens for
|
|
929
|
+
* upstream content. Determines availability of `sourceIngestIp`, `sourceIngestPort`,
|
|
930
|
+
* and `sourceIngestUrl`. Maps each protocol to the URL scheme used to construct
|
|
931
|
+
* the ingest URL.
|
|
932
|
+
*/
|
|
933
|
+
private static readonly LISTENER_PROTOCOL_SCHEMES;
|
|
934
|
+
private static isListenerStyleProtocol;
|
|
935
|
+
readonly flowArn: string;
|
|
936
|
+
readonly sourceArn: string;
|
|
937
|
+
readonly egressIp: string;
|
|
938
|
+
private readonly _sourceIngestIp;
|
|
939
|
+
private readonly _sourceIngestPort;
|
|
940
|
+
private readonly _hasListenerSource;
|
|
941
|
+
readonly flowAvailabilityZone?: string;
|
|
942
|
+
readonly isFailoverEnabled?: boolean;
|
|
943
|
+
private vpcInterfaces;
|
|
944
|
+
get sourceIngestIp(): string;
|
|
945
|
+
get sourceIngestPort(): string;
|
|
946
|
+
get sourceIngestUrl(): string;
|
|
947
|
+
constructor(scope: Construct, id: string, props: FlowProps);
|
|
948
|
+
/** Validate the flow name length and character set, when a concrete value is provided. */
|
|
949
|
+
private validateName;
|
|
950
|
+
/**
|
|
951
|
+
* Validate source-monitoring thresholds (10-60 seconds) and that the per-metric checks are only
|
|
952
|
+
* used when content-quality analysis is enabled.
|
|
953
|
+
*/
|
|
954
|
+
private validateMonitoring;
|
|
955
|
+
/** Validate the encoding config's video max bitrate range (10-50 Mbps). */
|
|
956
|
+
private validateEncoding;
|
|
957
|
+
/**
|
|
958
|
+
* Validate NDI constraints: discovery-server limit, mutual exclusivity with CDI/JPEG XS, the
|
|
959
|
+
* required LARGE flow size, and the requirements an NDI source places on the flow.
|
|
960
|
+
*/
|
|
961
|
+
private validateNdi;
|
|
962
|
+
/** Validate the EFA VPC-interface count (at most one), when the list is concrete. */
|
|
963
|
+
private validateVpcEfaCount;
|
|
964
|
+
/**
|
|
965
|
+
* Build the URL for a listener-style source protocol. The caller must have already
|
|
966
|
+
* checked `_hasListenerSource`; this method assumes the protocol is in
|
|
967
|
+
* `LISTENER_PROTOCOL_SCHEMES` and throws an unscoped error otherwise.
|
|
968
|
+
*/
|
|
969
|
+
private computeIngestUrl;
|
|
970
|
+
/**
|
|
971
|
+
* Add a VPC interface to this flow.
|
|
972
|
+
*/
|
|
973
|
+
addVpcInterface(vpc: VpcInterfaceConfig): VpcInterfaceConfig;
|
|
974
|
+
}
|
|
975
|
+
export {};
|