@aws-cdk/aws-medialive-alpha 2.268.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.
Files changed (70) hide show
  1. package/.jsii +60888 -0
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +524 -0
  4. package/LICENSE +201 -0
  5. package/NOTICE +2 -0
  6. package/README.md +1297 -0
  7. package/grants.json +27 -0
  8. package/lib/audio-codec-settings.d.ts +901 -0
  9. package/lib/audio-codec-settings.js +1098 -0
  10. package/lib/audio-selector.d.ts +170 -0
  11. package/lib/audio-selector.js +306 -0
  12. package/lib/avail-settings.d.ts +231 -0
  13. package/lib/avail-settings.js +226 -0
  14. package/lib/caption-selector.d.ts +234 -0
  15. package/lib/caption-selector.js +413 -0
  16. package/lib/caption-settings.d.ts +349 -0
  17. package/lib/caption-settings.js +482 -0
  18. package/lib/channel-features.d.ts +106 -0
  19. package/lib/channel-features.js +85 -0
  20. package/lib/channel-placement-group.d.ts +73 -0
  21. package/lib/channel-placement-group.js +132 -0
  22. package/lib/channel.d.ts +687 -0
  23. package/lib/channel.js +1096 -0
  24. package/lib/cluster.d.ts +129 -0
  25. package/lib/cluster.js +158 -0
  26. package/lib/color-correction.d.ts +39 -0
  27. package/lib/color-correction.js +29 -0
  28. package/lib/destinations.d.ts +242 -0
  29. package/lib/destinations.js +455 -0
  30. package/lib/encode-configuration.d.ts +615 -0
  31. package/lib/encode-configuration.js +629 -0
  32. package/lib/enums.d.ts +698 -0
  33. package/lib/enums.js +1045 -0
  34. package/lib/file-location.d.ts +65 -0
  35. package/lib/file-location.js +150 -0
  36. package/lib/framerate.d.ts +31 -0
  37. package/lib/framerate.js +71 -0
  38. package/lib/index.d.ts +26 -0
  39. package/lib/index.js +43 -0
  40. package/lib/input-attachment.d.ts +319 -0
  41. package/lib/input-attachment.js +228 -0
  42. package/lib/input-security-group.d.ts +51 -0
  43. package/lib/input-security-group.js +123 -0
  44. package/lib/input-specification.d.ts +111 -0
  45. package/lib/input-specification.js +181 -0
  46. package/lib/input.d.ts +505 -0
  47. package/lib/input.js +803 -0
  48. package/lib/m2ts-settings.d.ts +421 -0
  49. package/lib/m2ts-settings.js +469 -0
  50. package/lib/m3u8-settings.d.ts +272 -0
  51. package/lib/m3u8-settings.js +304 -0
  52. package/lib/medialive-grants.generated.d.ts +30 -0
  53. package/lib/medialive-grants.generated.js +92 -0
  54. package/lib/network.d.ts +83 -0
  55. package/lib/network.js +132 -0
  56. package/lib/output-group.d.ts +924 -0
  57. package/lib/output-group.js +941 -0
  58. package/lib/outputs.d.ts +304 -0
  59. package/lib/outputs.js +598 -0
  60. package/lib/sdi-source.d.ts +124 -0
  61. package/lib/sdi-source.js +180 -0
  62. package/lib/shared.d.ts +44 -0
  63. package/lib/shared.js +146 -0
  64. package/lib/video-codec-settings.d.ts +1500 -0
  65. package/lib/video-codec-settings.js +1722 -0
  66. package/lib/video-selection.d.ts +92 -0
  67. package/lib/video-selection.js +95 -0
  68. package/package.json +135 -0
  69. package/rosetta/_generated.ts-fixture +6 -0
  70. package/rosetta/default.ts-fixture +21 -0
@@ -0,0 +1,272 @@
1
+ import type { Duration } from 'aws-cdk-lib';
2
+ import type { FileLocation } from './file-location';
3
+ /** Controls insertion of the Program Clock Reference (PCR) in an M3U8 container. */
4
+ export declare class M3u8PcrControl {
5
+ /** Insert PCR at the configured `pcrPeriod`. */
6
+ static readonly CONFIGURED_PCR_PERIOD: M3u8PcrControl;
7
+ /** Insert a PCR for every Packetized Elementary Stream (PES) header. */
8
+ static readonly PCR_EVERY_PES_PACKET: M3u8PcrControl;
9
+ /** A value not yet modelled by AWS CDK. */
10
+ static of(value: string): M3u8PcrControl;
11
+ /** The underlying string value passed to CloudFormation. */
12
+ readonly value: string;
13
+ private constructor();
14
+ }
15
+ /** SCTE-35 passthrough behavior for an M3U8 container. */
16
+ export declare class M3u8Scte35Behavior {
17
+ /** Do not pass SCTE-35 signals through. */
18
+ static readonly NO_PASSTHROUGH: M3u8Scte35Behavior;
19
+ /** Pass SCTE-35 signals from the input through to the output. */
20
+ static readonly PASSTHROUGH: M3u8Scte35Behavior;
21
+ /** A value not yet modelled by AWS CDK. */
22
+ static of(value: string): M3u8Scte35Behavior;
23
+ /** The underlying string value passed to CloudFormation. */
24
+ readonly value: string;
25
+ private constructor();
26
+ }
27
+ /** Timed-metadata passthrough behavior for an M3U8 container. */
28
+ export declare class M3u8TimedMetadataBehavior {
29
+ /** Do not pass timed metadata through. */
30
+ static readonly NO_PASSTHROUGH: M3u8TimedMetadataBehavior;
31
+ /** Pass timed metadata from the input through to the output. */
32
+ static readonly PASSTHROUGH: M3u8TimedMetadataBehavior;
33
+ /** A value not yet modelled by AWS CDK. */
34
+ static of(value: string): M3u8TimedMetadataBehavior;
35
+ /** The underlying string value passed to CloudFormation. */
36
+ readonly value: string;
37
+ private constructor();
38
+ }
39
+ /** Nielsen ID3 passthrough behavior for an M3U8 container. */
40
+ export declare class M3u8NielsenId3Behavior {
41
+ /** Do not insert Nielsen ID3 tags. */
42
+ static readonly NO_PASSTHROUGH: M3u8NielsenId3Behavior;
43
+ /** Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. */
44
+ static readonly PASSTHROUGH: M3u8NielsenId3Behavior;
45
+ /** A value not yet modelled by AWS CDK. */
46
+ static of(value: string): M3u8NielsenId3Behavior;
47
+ /** The underlying string value passed to CloudFormation. */
48
+ readonly value: string;
49
+ private constructor();
50
+ }
51
+ /** KLV data passthrough behavior for an M3U8 container. */
52
+ export declare class M3u8KlvBehavior {
53
+ /** Do not pass KLV data through. */
54
+ static readonly NONE: M3u8KlvBehavior;
55
+ /** Pass KLV data from the input through to the output. */
56
+ static readonly PASSTHROUGH: M3u8KlvBehavior;
57
+ /** A value not yet modelled by AWS CDK. */
58
+ static of(value: string): M3u8KlvBehavior;
59
+ /** The underlying string value passed to CloudFormation. */
60
+ readonly value: string;
61
+ private constructor();
62
+ }
63
+ /**
64
+ * Properties for M3U8 container settings.
65
+ *
66
+ * PID properties accept a decimal or hexadecimal value (and, where noted, ranges or
67
+ * comma-separated lists). Interval properties are `Duration` values rendered as milliseconds.
68
+ */
69
+ export interface M3u8SettingsProps {
70
+ /**
71
+ * The number of audio frames to insert for each PES packet.
72
+ * @default - service default
73
+ */
74
+ readonly audioFramesPerPes?: number;
75
+ /**
76
+ * The PID(s) of the elementary audio streams. Accepts ranges and comma separation.
77
+ * @default - service default
78
+ */
79
+ readonly audioPids?: string;
80
+ /**
81
+ * KLV data passthrough behavior.
82
+ * @default - service default
83
+ */
84
+ readonly klvBehavior?: M3u8KlvBehavior;
85
+ /**
86
+ * The PID(s) of the KLV data streams.
87
+ * @default - service default
88
+ */
89
+ readonly klvDataPids?: string;
90
+ /**
91
+ * Nielsen ID3 passthrough behavior.
92
+ * @default - service default
93
+ */
94
+ readonly nielsenId3Behavior?: M3u8NielsenId3Behavior;
95
+ /**
96
+ * The interval between instances of the PAT in the output. A value of 0 writes the PAT once
97
+ * per segment file.
98
+ * @default - service default
99
+ */
100
+ readonly patInterval?: Duration;
101
+ /**
102
+ * Controls insertion of the Program Clock Reference (PCR).
103
+ * @default - service default
104
+ */
105
+ readonly pcrControl?: M3u8PcrControl;
106
+ /**
107
+ * The maximum interval between Program Clock References (PCRs).
108
+ * @default - service default
109
+ */
110
+ readonly pcrPeriod?: Duration;
111
+ /**
112
+ * The PID of the Program Clock Reference (PCR). Defaults to the video PID.
113
+ * @default - same as the video PID
114
+ */
115
+ readonly pcrPid?: string;
116
+ /**
117
+ * The interval between instances of the PMT in the output. A value of 0 writes the PMT once
118
+ * per segment file.
119
+ * @default - service default
120
+ */
121
+ readonly pmtInterval?: Duration;
122
+ /**
123
+ * The PID of the Program Map Table (PMT).
124
+ * @default - service default
125
+ */
126
+ readonly pmtPid?: string;
127
+ /**
128
+ * The value of the program number field in the PMT.
129
+ * @default - service default
130
+ */
131
+ readonly programNum?: number;
132
+ /**
133
+ * SCTE-35 passthrough behavior.
134
+ * @default - service default
135
+ */
136
+ readonly scte35Behavior?: M3u8Scte35Behavior;
137
+ /**
138
+ * The PID of the SCTE-35 stream.
139
+ * @default - service default
140
+ */
141
+ readonly scte35Pid?: string;
142
+ /**
143
+ * Timed-metadata passthrough behavior.
144
+ * @default - service default
145
+ */
146
+ readonly timedMetadataBehavior?: M3u8TimedMetadataBehavior;
147
+ /**
148
+ * The PID of the timed-metadata stream. Valid values are 32 (0x20)..8182 (0x1ff6).
149
+ * @default - service default
150
+ */
151
+ readonly timedMetadataPid?: string;
152
+ /**
153
+ * The value of the transport stream ID field in the PMT.
154
+ * @default - service default
155
+ */
156
+ readonly transportStreamId?: number;
157
+ /**
158
+ * The PID of the elementary video stream.
159
+ * @default - service default
160
+ */
161
+ readonly videoPid?: string;
162
+ }
163
+ /**
164
+ * M3U8 container settings for a standard HLS output.
165
+ *
166
+ * Use `M3u8Settings.of()` to control the transport stream produced by a standard HLS output.
167
+ * Omitting it uses MediaLive's service defaults.
168
+ */
169
+ export declare class M3u8Settings {
170
+ private readonly props;
171
+ /** Create M3U8 container settings. */
172
+ static of(props: M3u8SettingsProps): M3u8Settings;
173
+ private constructor();
174
+ }
175
+ /** The audio track type for an audio-only HLS output. */
176
+ export declare class HlsAudioTrackType {
177
+ /** A playable audio-only variant stream (EXT-X-STREAM-INF). */
178
+ static readonly AUDIO_ONLY_VARIANT_STREAM: HlsAudioTrackType;
179
+ /** Alternate rendition, auto-select, default (DEFAULT=YES, AUTOSELECT=YES). */
180
+ static readonly ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT: HlsAudioTrackType;
181
+ /** Alternate rendition, auto-select, not default (DEFAULT=NO, AUTOSELECT=YES). */
182
+ static readonly ALTERNATE_AUDIO_AUTO_SELECT: HlsAudioTrackType;
183
+ /** Alternate rendition, not auto-select (DEFAULT=NO, AUTOSELECT=NO). */
184
+ static readonly ALTERNATE_AUDIO_NOT_AUTO_SELECT: HlsAudioTrackType;
185
+ /** A value not yet modelled by AWS CDK. */
186
+ static of(value: string): HlsAudioTrackType;
187
+ /** The underlying string value passed to CloudFormation. */
188
+ readonly value: string;
189
+ private constructor();
190
+ }
191
+ /** The segment container type for an audio-only HLS output. */
192
+ export declare class HlsAudioOnlySegmentType {
193
+ /** AAC segments. */
194
+ static readonly AAC: HlsAudioOnlySegmentType;
195
+ /** fMP4 segments. */
196
+ static readonly FMP4: HlsAudioOnlySegmentType;
197
+ /** A value not yet modelled by AWS CDK. */
198
+ static of(value: string): HlsAudioOnlySegmentType;
199
+ /** The underlying string value passed to CloudFormation. */
200
+ readonly value: string;
201
+ private constructor();
202
+ }
203
+ /** Properties for standard (video) HLS settings. */
204
+ export interface StandardHlsSettingsProps {
205
+ /**
206
+ * The audio GROUP-IDs used with this video output stream, comma-separated.
207
+ * @default - service default
208
+ */
209
+ readonly audioRenditionSets?: string;
210
+ /**
211
+ * The M3U8 container settings.
212
+ * @default - service defaults
213
+ */
214
+ readonly m3u8Settings?: M3u8Settings;
215
+ }
216
+ /** Properties for audio-only HLS settings. */
217
+ export interface AudioOnlyHlsSettingsProps {
218
+ /**
219
+ * The group that this audio rendition belongs to.
220
+ * @default - service default
221
+ */
222
+ readonly audioGroupId?: string;
223
+ /**
224
+ * A .jpg or .png cover-art image embedded in each audio-only segment. Provide a `FileLocation`
225
+ * referencing an S3 bucket (`FileLocation.fromBucket`, which auto-grants read access) or a URL
226
+ * (`FileLocation.url`).
227
+ * @default - no cover art
228
+ */
229
+ readonly audioOnlyImage?: FileLocation;
230
+ /**
231
+ * How the audio rendition is signaled in the HLS manifest.
232
+ * @default - service default
233
+ */
234
+ readonly audioTrackType?: HlsAudioTrackType;
235
+ /**
236
+ * The segment container type.
237
+ * @default - service default
238
+ */
239
+ readonly segmentType?: HlsAudioOnlySegmentType;
240
+ }
241
+ /** Properties for fMP4 HLS settings. */
242
+ export interface Fmp4HlsSettingsProps {
243
+ /**
244
+ * The audio GROUP-IDs used with this video output stream, comma-separated.
245
+ * @default - service default
246
+ */
247
+ readonly audioRenditionSets?: string;
248
+ /**
249
+ * Nielsen ID3 passthrough behavior.
250
+ * @default - service default
251
+ */
252
+ readonly nielsenId3Behavior?: M3u8NielsenId3Behavior;
253
+ /**
254
+ * Timed-metadata passthrough behavior.
255
+ * @default - service default
256
+ */
257
+ readonly timedMetadataBehavior?: M3u8TimedMetadataBehavior;
258
+ }
259
+ /**
260
+ * Per-output HLS settings. Select the variant that matches the output: a standard (video)
261
+ * output, an audio-only rendition, an fMP4 output, or a frame-capture output.
262
+ */
263
+ export declare abstract class HlsSettings {
264
+ /** Settings for a standard (video) HLS output. */
265
+ static standard(props?: StandardHlsSettingsProps): HlsSettings;
266
+ /** Settings for an audio-only HLS rendition. */
267
+ static audioOnly(props?: AudioOnlyHlsSettingsProps): HlsSettings;
268
+ /** Settings for an fMP4 HLS output. */
269
+ static fmp4(props?: Fmp4HlsSettingsProps): HlsSettings;
270
+ /** Settings for a frame-capture output in an HLS output group. */
271
+ static frameCapture(): HlsSettings;
272
+ }
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HlsSettings = exports.HlsAudioOnlySegmentType = exports.HlsAudioTrackType = exports.M3u8Settings = exports.M3u8KlvBehavior = exports.M3u8NielsenId3Behavior = exports.M3u8TimedMetadataBehavior = exports.M3u8Scte35Behavior = exports.M3u8PcrControl = void 0;
4
+ const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /** Controls insertion of the Program Clock Reference (PCR) in an M3U8 container. */
7
+ class M3u8PcrControl {
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-medialive-alpha.M3u8PcrControl", version: "2.268.0-alpha.0" };
9
+ /** Insert PCR at the configured `pcrPeriod`. */
10
+ static CONFIGURED_PCR_PERIOD = new M3u8PcrControl('CONFIGURED_PCR_PERIOD');
11
+ /** Insert a PCR for every Packetized Elementary Stream (PES) header. */
12
+ static PCR_EVERY_PES_PACKET = new M3u8PcrControl('PCR_EVERY_PES_PACKET');
13
+ /** A value not yet modelled by AWS CDK. */
14
+ static of(value) {
15
+ return new M3u8PcrControl(value);
16
+ }
17
+ /** The underlying string value passed to CloudFormation. */
18
+ value;
19
+ constructor(value) {
20
+ this.value = value;
21
+ }
22
+ }
23
+ exports.M3u8PcrControl = M3u8PcrControl;
24
+ /** SCTE-35 passthrough behavior for an M3U8 container. */
25
+ class M3u8Scte35Behavior {
26
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-medialive-alpha.M3u8Scte35Behavior", version: "2.268.0-alpha.0" };
27
+ /** Do not pass SCTE-35 signals through. */
28
+ static NO_PASSTHROUGH = new M3u8Scte35Behavior('NO_PASSTHROUGH');
29
+ /** Pass SCTE-35 signals from the input through to the output. */
30
+ static PASSTHROUGH = new M3u8Scte35Behavior('PASSTHROUGH');
31
+ /** A value not yet modelled by AWS CDK. */
32
+ static of(value) {
33
+ return new M3u8Scte35Behavior(value);
34
+ }
35
+ /** The underlying string value passed to CloudFormation. */
36
+ value;
37
+ constructor(value) {
38
+ this.value = value;
39
+ }
40
+ }
41
+ exports.M3u8Scte35Behavior = M3u8Scte35Behavior;
42
+ /** Timed-metadata passthrough behavior for an M3U8 container. */
43
+ class M3u8TimedMetadataBehavior {
44
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-medialive-alpha.M3u8TimedMetadataBehavior", version: "2.268.0-alpha.0" };
45
+ /** Do not pass timed metadata through. */
46
+ static NO_PASSTHROUGH = new M3u8TimedMetadataBehavior('NO_PASSTHROUGH');
47
+ /** Pass timed metadata from the input through to the output. */
48
+ static PASSTHROUGH = new M3u8TimedMetadataBehavior('PASSTHROUGH');
49
+ /** A value not yet modelled by AWS CDK. */
50
+ static of(value) {
51
+ return new M3u8TimedMetadataBehavior(value);
52
+ }
53
+ /** The underlying string value passed to CloudFormation. */
54
+ value;
55
+ constructor(value) {
56
+ this.value = value;
57
+ }
58
+ }
59
+ exports.M3u8TimedMetadataBehavior = M3u8TimedMetadataBehavior;
60
+ /** Nielsen ID3 passthrough behavior for an M3U8 container. */
61
+ class M3u8NielsenId3Behavior {
62
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-medialive-alpha.M3u8NielsenId3Behavior", version: "2.268.0-alpha.0" };
63
+ /** Do not insert Nielsen ID3 tags. */
64
+ static NO_PASSTHROUGH = new M3u8NielsenId3Behavior('NO_PASSTHROUGH');
65
+ /** Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. */
66
+ static PASSTHROUGH = new M3u8NielsenId3Behavior('PASSTHROUGH');
67
+ /** A value not yet modelled by AWS CDK. */
68
+ static of(value) {
69
+ return new M3u8NielsenId3Behavior(value);
70
+ }
71
+ /** The underlying string value passed to CloudFormation. */
72
+ value;
73
+ constructor(value) {
74
+ this.value = value;
75
+ }
76
+ }
77
+ exports.M3u8NielsenId3Behavior = M3u8NielsenId3Behavior;
78
+ /** KLV data passthrough behavior for an M3U8 container. */
79
+ class M3u8KlvBehavior {
80
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-medialive-alpha.M3u8KlvBehavior", version: "2.268.0-alpha.0" };
81
+ /** Do not pass KLV data through. */
82
+ static NONE = new M3u8KlvBehavior('NONE');
83
+ /** Pass KLV data from the input through to the output. */
84
+ static PASSTHROUGH = new M3u8KlvBehavior('PASSTHROUGH');
85
+ /** A value not yet modelled by AWS CDK. */
86
+ static of(value) {
87
+ return new M3u8KlvBehavior(value);
88
+ }
89
+ /** The underlying string value passed to CloudFormation. */
90
+ value;
91
+ constructor(value) {
92
+ this.value = value;
93
+ }
94
+ }
95
+ exports.M3u8KlvBehavior = M3u8KlvBehavior;
96
+ /**
97
+ * M3U8 container settings for a standard HLS output.
98
+ *
99
+ * Use `M3u8Settings.of()` to control the transport stream produced by a standard HLS output.
100
+ * Omitting it uses MediaLive's service defaults.
101
+ */
102
+ class M3u8Settings {
103
+ props;
104
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-medialive-alpha.M3u8Settings", version: "2.268.0-alpha.0" };
105
+ /** Create M3U8 container settings. */
106
+ static of(props) {
107
+ try {
108
+ jsiiDeprecationWarnings._aws_cdk_aws_medialive_alpha_M3u8SettingsProps(props);
109
+ }
110
+ catch (error) {
111
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
112
+ Error.captureStackTrace(error, this.of);
113
+ }
114
+ throw error;
115
+ }
116
+ return new M3u8Settings(props);
117
+ }
118
+ constructor(props) {
119
+ this.props = props;
120
+ }
121
+ /** @internal */
122
+ _bind() {
123
+ const p = this.props;
124
+ return {
125
+ audioFramesPerPes: p.audioFramesPerPes,
126
+ audioPids: p.audioPids,
127
+ klvBehavior: p.klvBehavior?.value,
128
+ klvDataPids: p.klvDataPids,
129
+ nielsenId3Behavior: p.nielsenId3Behavior?.value,
130
+ patInterval: p.patInterval?.toMilliseconds(),
131
+ pcrControl: p.pcrControl?.value,
132
+ pcrPeriod: p.pcrPeriod?.toMilliseconds(),
133
+ pcrPid: p.pcrPid,
134
+ pmtInterval: p.pmtInterval?.toMilliseconds(),
135
+ pmtPid: p.pmtPid,
136
+ programNum: p.programNum,
137
+ scte35Behavior: p.scte35Behavior?.value,
138
+ scte35Pid: p.scte35Pid,
139
+ timedMetadataBehavior: p.timedMetadataBehavior?.value,
140
+ timedMetadataPid: p.timedMetadataPid,
141
+ transportStreamId: p.transportStreamId,
142
+ videoPid: p.videoPid,
143
+ };
144
+ }
145
+ }
146
+ exports.M3u8Settings = M3u8Settings;
147
+ /** The audio track type for an audio-only HLS output. */
148
+ class HlsAudioTrackType {
149
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-medialive-alpha.HlsAudioTrackType", version: "2.268.0-alpha.0" };
150
+ /** A playable audio-only variant stream (EXT-X-STREAM-INF). */
151
+ static AUDIO_ONLY_VARIANT_STREAM = new HlsAudioTrackType('AUDIO_ONLY_VARIANT_STREAM');
152
+ /** Alternate rendition, auto-select, default (DEFAULT=YES, AUTOSELECT=YES). */
153
+ static ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT = new HlsAudioTrackType('ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT');
154
+ /** Alternate rendition, auto-select, not default (DEFAULT=NO, AUTOSELECT=YES). */
155
+ static ALTERNATE_AUDIO_AUTO_SELECT = new HlsAudioTrackType('ALTERNATE_AUDIO_AUTO_SELECT');
156
+ /** Alternate rendition, not auto-select (DEFAULT=NO, AUTOSELECT=NO). */
157
+ static ALTERNATE_AUDIO_NOT_AUTO_SELECT = new HlsAudioTrackType('ALTERNATE_AUDIO_NOT_AUTO_SELECT');
158
+ /** A value not yet modelled by AWS CDK. */
159
+ static of(value) {
160
+ return new HlsAudioTrackType(value);
161
+ }
162
+ /** The underlying string value passed to CloudFormation. */
163
+ value;
164
+ constructor(value) {
165
+ this.value = value;
166
+ }
167
+ }
168
+ exports.HlsAudioTrackType = HlsAudioTrackType;
169
+ /** The segment container type for an audio-only HLS output. */
170
+ class HlsAudioOnlySegmentType {
171
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-medialive-alpha.HlsAudioOnlySegmentType", version: "2.268.0-alpha.0" };
172
+ /** AAC segments. */
173
+ static AAC = new HlsAudioOnlySegmentType('AAC');
174
+ /** fMP4 segments. */
175
+ static FMP4 = new HlsAudioOnlySegmentType('FMP4');
176
+ /** A value not yet modelled by AWS CDK. */
177
+ static of(value) {
178
+ return new HlsAudioOnlySegmentType(value);
179
+ }
180
+ /** The underlying string value passed to CloudFormation. */
181
+ value;
182
+ constructor(value) {
183
+ this.value = value;
184
+ }
185
+ }
186
+ exports.HlsAudioOnlySegmentType = HlsAudioOnlySegmentType;
187
+ /**
188
+ * Per-output HLS settings. Select the variant that matches the output: a standard (video)
189
+ * output, an audio-only rendition, an fMP4 output, or a frame-capture output.
190
+ */
191
+ class HlsSettings {
192
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-medialive-alpha.HlsSettings", version: "2.268.0-alpha.0" };
193
+ /** Settings for a standard (video) HLS output. */
194
+ static standard(props = {}) {
195
+ try {
196
+ jsiiDeprecationWarnings._aws_cdk_aws_medialive_alpha_StandardHlsSettingsProps(props);
197
+ }
198
+ catch (error) {
199
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
200
+ Error.captureStackTrace(error, this.standard);
201
+ }
202
+ throw error;
203
+ }
204
+ return new StandardHlsSettings(props);
205
+ }
206
+ /** Settings for an audio-only HLS rendition. */
207
+ static audioOnly(props = {}) {
208
+ try {
209
+ jsiiDeprecationWarnings._aws_cdk_aws_medialive_alpha_AudioOnlyHlsSettingsProps(props);
210
+ }
211
+ catch (error) {
212
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
213
+ Error.captureStackTrace(error, this.audioOnly);
214
+ }
215
+ throw error;
216
+ }
217
+ return new AudioOnlyHlsSettings(props);
218
+ }
219
+ /** Settings for an fMP4 HLS output. */
220
+ static fmp4(props = {}) {
221
+ try {
222
+ jsiiDeprecationWarnings._aws_cdk_aws_medialive_alpha_Fmp4HlsSettingsProps(props);
223
+ }
224
+ catch (error) {
225
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
226
+ Error.captureStackTrace(error, this.fmp4);
227
+ }
228
+ throw error;
229
+ }
230
+ return new Fmp4HlsSettings(props);
231
+ }
232
+ /** Settings for a frame-capture output in an HLS output group. */
233
+ static frameCapture() {
234
+ return new FrameCaptureHlsSettings();
235
+ }
236
+ /**
237
+ * Grant the channel role read access to any external files these settings reference (e.g. an
238
+ * audio-only cover-art image in S3). Default is a no-op; audio-only settings override it.
239
+ * @internal
240
+ */
241
+ _grantRead(_role) { }
242
+ }
243
+ exports.HlsSettings = HlsSettings;
244
+ /** @internal */
245
+ class StandardHlsSettings extends HlsSettings {
246
+ props;
247
+ constructor(props) {
248
+ super();
249
+ this.props = props;
250
+ }
251
+ _bind() {
252
+ return {
253
+ standardHlsSettings: {
254
+ audioRenditionSets: this.props.audioRenditionSets,
255
+ m3U8Settings: this.props.m3u8Settings?._bind() ?? {},
256
+ },
257
+ };
258
+ }
259
+ }
260
+ /** @internal */
261
+ class AudioOnlyHlsSettings extends HlsSettings {
262
+ props;
263
+ constructor(props) {
264
+ super();
265
+ this.props = props;
266
+ }
267
+ _bind() {
268
+ return {
269
+ audioOnlyHlsSettings: {
270
+ audioGroupId: this.props.audioGroupId,
271
+ audioOnlyImage: this.props.audioOnlyImage?._bind(),
272
+ audioTrackType: this.props.audioTrackType?.value,
273
+ segmentType: this.props.segmentType?.value,
274
+ },
275
+ };
276
+ }
277
+ _grantRead(role) {
278
+ this.props.audioOnlyImage?._grantRead(role);
279
+ }
280
+ }
281
+ /** @internal */
282
+ class Fmp4HlsSettings extends HlsSettings {
283
+ props;
284
+ constructor(props) {
285
+ super();
286
+ this.props = props;
287
+ }
288
+ _bind() {
289
+ return {
290
+ fmp4HlsSettings: {
291
+ audioRenditionSets: this.props.audioRenditionSets,
292
+ nielsenId3Behavior: this.props.nielsenId3Behavior?.value,
293
+ timedMetadataBehavior: this.props.timedMetadataBehavior?.value,
294
+ },
295
+ };
296
+ }
297
+ }
298
+ /** @internal */
299
+ class FrameCaptureHlsSettings extends HlsSettings {
300
+ _bind() {
301
+ return { frameCaptureHlsSettings: {} };
302
+ }
303
+ }
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibTN1OC1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm0zdTgtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxvRkFBb0Y7QUFDcEYsTUFBYSxjQUFjOztJQUN6QixnREFBZ0Q7SUFDekMsTUFBTSxDQUFVLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDM0Ysd0VBQXdFO0lBQ2pFLE1BQU0sQ0FBVSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBRXpGLDJDQUEyQztJQUNwQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQWE7UUFDNUIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNsQztJQUVELDREQUE0RDtJQUM1QyxLQUFLLENBQVM7SUFFOUIsWUFBb0IsS0FBYTtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztLQUNwQjs7QUFoQkgsd0NBaUJDO0FBRUQsMERBQTBEO0FBQzFELE1BQWEsa0JBQWtCOztJQUM3QiwyQ0FBMkM7SUFDcEMsTUFBTSxDQUFVLGNBQWMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDakYsaUVBQWlFO0lBQzFELE1BQU0sQ0FBVSxXQUFXLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUUzRSwyQ0FBMkM7SUFDcEMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN0QztJQUVELDREQUE0RDtJQUM1QyxLQUFLLENBQVM7SUFFOUIsWUFBb0IsS0FBYTtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztLQUNwQjs7QUFoQkgsZ0RBaUJDO0FBRUQsaUVBQWlFO0FBQ2pFLE1BQWEseUJBQXlCOztJQUNwQywwQ0FBMEM7SUFDbkMs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QVEsV0FBVztJQUN4QyxLQUFLO1FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLEVBQUUsRUFBRSxDQUFDO0tBQ3hDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBJUm9sZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHR5cGUgeyBDZm5DaGFubmVsIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhbGl2ZSc7XG5pbXBvcnQgdHlwZSB7IEZpbGVMb2NhdGlvbiB9IGZyb20gJy4vZmlsZS1sb2NhdGlvbic7XG5cbi8qKiBDb250cm9scyBpbnNlcnRpb24gb2YgdGhlIFByb2dyYW0gQ2xvY2sgUmVmZXJlbmNlIChQQ1IpIGluIGFuIE0zVTggY29udGFpbmVyLiAqL1xuZXhwb3J0IGNsYXNzIE0zdThQY3JDb250cm9sIHtcbiAgLyoqIEluc2VydCBQQ1IgYXQgdGhlIGNvbmZpZ3VyZWQgYHBjclBlcmlvZGAuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09ORklHVVJFRF9QQ1JfUEVSSU9EID0gbmV3IE0zdThQY3JDb250cm9sKCdDT05GSUdVUkVEX1BDUl9QRVJJT0QnKTtcbiAgLyoqIEluc2VydCBhIFBDUiBmb3IgZXZlcnkgUGFja2V0aXplZCBFbGVtZW50YXJ5IFN0cmVhbSAoUEVTKSBoZWFkZXIuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUENSX0VWRVJZX1BFU19QQUNLRVQgPSBuZXcgTTN1OFBjckNvbnRyb2woJ1BDUl9FVkVSWV9QRVNfUEFDS0VUJyk7XG5cbiAgLyoqIEEgdmFsdWUgbm90IHlldCBtb2RlbGxlZCBieSBBV1MgQ0RLLiAqL1xuICBwdWJsaWMgc3RhdGljIG9mKHZhbHVlOiBzdHJpbmcpOiBNM3U4UGNyQ29udHJvbCB7XG4gICAgcmV0dXJuIG5ldyBNM3U4UGNyQ29udHJvbCh2YWx1ZSk7XG4gIH1cblxuICAvKiogVGhlIHVuZGVybHlpbmcgc3RyaW5nIHZhbHVlIHBhc3NlZCB0byBDbG91ZEZvcm1hdGlvbi4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG5cbi8qKiBTQ1RFLTM1IHBhc3N0aHJvdWdoIGJlaGF2aW9yIGZvciBhbiBNM1U4IGNvbnRhaW5lci4gKi9cbmV4cG9ydCBjbGFzcyBNM3U4U2N0ZTM1QmVoYXZpb3Ige1xuICAvKiogRG8gbm90IHBhc3MgU0NURS0zNSBzaWduYWxzIHRocm91Z2guICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9fUEFTU1RIUk9VR0ggPSBuZXcgTTN1OFNjdGUzNUJlaGF2aW9yKCdOT19QQVNTVEhST1VHSCcpO1xuICAvKiogUGFzcyBTQ1RFLTM1IHNpZ25hbHMgZnJvbSB0aGUgaW5wdXQgdGhyb3VnaCB0byB0aGUgb3V0cHV0LiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBU1NUSFJPVUdIID0gbmV3IE0zdThTY3RlMzVCZWhhdmlvcignUEFTU1RIUk9VR0gnKTtcblxuICAvKiogQSB2YWx1ZSBub3QgeWV0IG1vZGVsbGVkIGJ5IEFXUyBDREsuICovXG4gIHB1YmxpYyBzdGF0aWMgb2YodmFsdWU6IHN0cmluZyk6IE0zdThTY3RlMzVCZWhhdmlvciB7XG4gICAgcmV0dXJuIG5ldyBNM3U4U2N0ZTM1QmVoYXZpb3IodmFsdWUpO1xuICB9XG5cbiAgLyoqIFRoZSB1bmRlcmx5aW5nIHN0cmluZyB2YWx1ZSBwYXNzZWQgdG8gQ2xvdWRGb3JtYXRpb24uICovXG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxufVxuXG4vKiogVGltZWQtbWV0YWRhdGEgcGFzc3Rocm91Z2ggYmVoYXZpb3IgZm9yIGFuIE0zVTggY29udGFpbmVyLiAqL1xuZXhwb3J0IGNsYXNzIE0zdThUaW1lZE1ldGFkYXRhQmVoYXZpb3Ige1xuICAvKiogRG8gbm90IHBhc3MgdGltZWQgbWV0YWRhdGEgdGhyb3VnaC4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT19QQVNTVEhST1VHSCA9IG5ldyBNM3U4VGltZWRNZXRhZGF0YUJlaGF2aW9yKCdOT19QQVNTVEhST1VHSCcpO1xuICAvKiogUGFzcyB0aW1lZCBtZXRhZGF0YSBmcm9tIHRoZSBpbnB1dCB0aHJvdWdoIHRvIHRoZSBvdXRwdXQuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFTU1RIUk9VR0ggPSBuZXcgTTN1OFRpbWVkTWV0YWRhdGFCZWhhdmlvcignUEFTU1RIUk9VR0gnKTtcblxuICAvKiogQSB2YWx1ZSBub3QgeWV0IG1vZGVsbGVkIGJ5IEFXUyBDREsuICovXG4gIHB1YmxpYyBzdGF0aWMgb2YodmFsdWU6IHN0cmluZyk6IE0zdThUaW1lZE1ldGFkYXRhQmVoYXZpb3Ige1xuICAgIHJldHVybiBuZXcgTTN1OFRpbWVkTWV0YWRhdGFCZWhhdmlvcih2YWx1ZSk7XG4gIH1cblxuICAvKiogVGhlIHVuZGVybHlpbmcgc3RyaW5nIHZhbHVlIHBhc3NlZCB0byBDbG91ZEZvcm1hdGlvbi4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG5cbi8qKiBOaWVsc2VuIElEMyBwYXNzdGhyb3VnaCBiZWhhdmlvciBmb3IgYW4gTTNVOCBjb250YWluZXIuICovXG5leHBvcnQgY2xhc3MgTTN1OE5pZWxzZW5JZDNCZWhhdmlvciB7XG4gIC8qKiBEbyBub3QgaW5zZXJ0IE5pZWxzZW4gSUQzIHRhZ3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9fUEFTU1RIUk9VR0ggPSBuZXcgTTN1OE5pZWxzZW5JZDNCZWhhdmlvcignTk9fUEFTU1RIUk9VR0gnKTtcbiAgLyoqIE5pZWxzZW4gaW5hdWRpYmxlIHRvbmVzIGZvciBtZWRpYSB0cmFja2luZyB3aWxsIGJlIGRldGVjdGVkIGluIHRoZSBpbnB1dCBhdWRpbyBhbmQgYW4gZXF1aXZhbGVudCBJRDMgdGFnIHdpbGwgYmUgaW5zZXJ0ZWQgaW4gdGhlIG91dHB1dC4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVNTVEhST1VHSCA9IG5ldyBNM3U4TmllbHNlbklkM0JlaGF2aW9yKCdQQVNTVEhST1VHSCcpO1xuXG4gIC8qKiBBIHZhbHVlIG5vdCB5ZXQgbW9kZWxsZWQgYnkgQVdTIENESy4gKi9cbiAgcHVibGljIHN0YXRpYyBvZih2YWx1ZTogc3RyaW5nKTogTTN1OE5pZWxzZW5JZDNCZWhhdmlvciB7XG4gICAgcmV0dXJuIG5ldyBNM3U4TmllbHNlbklkM0JlaGF2aW9yKHZhbHVlKTtcbiAgfVxuXG4gIC8qKiBUaGUgdW5kZXJseWluZyBzdHJpbmcgdmFsdWUgcGFzc2VkIHRvIENsb3VkRm9ybWF0aW9uLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cbn1cblxuLyoqIEtMViBkYXRhIHBhc3N0aHJvdWdoIGJlaGF2aW9yIGZvciBhbiBNM1U4IGNvbnRhaW5lci4gKi9cbmV4cG9ydCBjbGFzcyBNM3U4S2x2QmVoYXZpb3Ige1xuICAvKiogRG8gbm90IHBhc3MgS0xWIGRhdGEgdGhyb3VnaC4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT05FID0gbmV3IE0zdThLbHZCZWhhdmlvcignTk9ORScpO1xuICAvKiogUGFzcyBLTFYgZGF0YSBmcm9tIHRoZSBpbnB1dCB0aHJvdWdoIHRvIHRoZSBvdXRwdXQuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFTU1RIUk9VR0ggPSBuZXcgTTN1OEtsdkJlaGF2aW9yKCdQQVNTVEhST1VHSCcpO1xuXG4gIC8qKiBBIHZhbHVlIG5vdCB5ZXQgbW9kZWxsZWQgYnkgQVdTIENESy4gKi9cbiAgcHVibGljIHN0YXRpYyBvZih2YWx1ZTogc3RyaW5nKTogTTN1OEtsdkJlaGF2aW9yIHtcbiAgICByZXR1cm4gbmV3IE0zdThLbHZCZWhhdmlvcih2YWx1ZSk7XG4gIH1cblxuICAvKiogVGhlIHVuZGVybHlpbmcgc3RyaW5nIHZhbHVlIHBhc3NlZCB0byBDbG91ZEZvcm1hdGlvbi4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgTTNVOCBjb250YWluZXIgc2V0dGluZ3MuXG4gKlxuICogUElEIHByb3BlcnRpZXMgYWNjZXB0IGEgZGVjaW1hbCBvciBoZXhhZGVjaW1hbCB2YWx1ZSAoYW5kLCB3aGVyZSBub3RlZCwgcmFuZ2VzIG9yXG4gKiBjb21tYS1zZXBhcmF0ZWQgbGlzdHMpLiBJbnRlcnZhbCBwcm9wZXJ0aWVzIGFyZSBgRHVyYXRpb25gIHZhbHVlcyByZW5kZXJlZCBhcyBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTTN1OFNldHRpbmdzUHJvcHMge1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBhdWRpbyBmcmFtZXMgdG8gaW5zZXJ0IGZvciBlYWNoIFBFUyBwYWNrZXQuXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBhdWRpb0ZyYW1lc1BlclBlcz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBQSUQocykgb2YgdGhlIGVsZW1lbnRhcnkgYXVkaW8gc3RyZWFtcy4gQWNjZXB0cyByYW5nZXMgYW5kIGNvbW1hIHNlcGFyYXRpb24uXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBhdWRpb1BpZHM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBLTFYgZGF0YSBwYXNzdGhyb3VnaCBiZWhhdmlvci5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IGtsdkJlaGF2aW9yPzogTTN1OEtsdkJlaGF2aW9yO1xuICAvKipcbiAgICogVGhlIFBJRChzKSBvZiB0aGUgS0xWIGRhdGEgc3RyZWFtcy5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IGtsdkRhdGFQaWRzPzogc3RyaW5nO1xuICAvKipcbiAgICogTmllbHNlbiBJRDMgcGFzc3Rocm91Z2ggYmVoYXZpb3IuXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBuaWVsc2VuSWQzQmVoYXZpb3I/OiBNM3U4TmllbHNlbklkM0JlaGF2aW9yO1xuICAvKipcbiAgICogVGhlIGludGVydmFsIGJldHdlZW4gaW5zdGFuY2VzIG9mIHRoZSBQQVQgaW4gdGhlIG91dHB1dC4gQSB2YWx1ZSBvZiAwIHdyaXRlcyB0aGUgUEFUIG9uY2VcbiAgICogcGVyIHNlZ21lbnQgZmlsZS5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IHBhdEludGVydmFsPzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBDb250cm9scyBpbnNlcnRpb24gb2YgdGhlIFByb2dyYW0gQ2xvY2sgUmVmZXJlbmNlIChQQ1IpLlxuICAgKiBAZGVmYXVsdCAtIHNlcnZpY2UgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgcGNyQ29udHJvbD86IE0zdThQY3JDb250cm9sO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gaW50ZXJ2YWwgYmV0d2VlbiBQcm9ncmFtIENsb2NrIFJlZmVyZW5jZXMgKFBDUnMpLlxuICAgKiBAZGVmYXVsdCAtIHNlcnZpY2UgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgcGNyUGVyaW9kPzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgUElEIG9mIHRoZSBQcm9ncmFtIENsb2NrIFJlZmVyZW5jZSAoUENSKS4gRGVmYXVsdHMgdG8gdGhlIHZpZGVvIFBJRC5cbiAgICogQGRlZmF1bHQgLSBzYW1lIGFzIHRoZSB2aWRlbyBQSURcbiAgICovXG4gIHJlYWRvbmx5IHBjclBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpbnRlcnZhbCBiZXR3ZWVuIGluc3RhbmNlcyBvZiB0aGUgUE1UIGluIHRoZSBvdXRwdXQuIEEgdmFsdWUgb2YgMCB3cml0ZXMgdGhlIFBNVCBvbmNlXG4gICAqIHBlciBzZWdtZW50IGZpbGUuXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBwbXRJbnRlcnZhbD86IER1cmF0aW9uO1xuICAvKipcbiAgICogVGhlIFBJRCBvZiB0aGUgUHJvZ3JhbSBNYXAgVGFibGUgKFBNVCkuXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBwbXRQaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHByb2dyYW0gbnVtYmVyIGZpZWxkIGluIHRoZSBQTVQuXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBwcm9ncmFtTnVtPzogbnVtYmVyO1xuICAvKipcbiAgICogU0NURS0zNSBwYXNzdGhyb3VnaCBiZWhhdmlvci5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IHNjdGUzNUJlaGF2aW9yPzogTTN1OFNjdGUzNUJlaGF2aW9yO1xuICAvKipcbiAgICogVGhlIFBJRCBvZiB0aGUgU0NURS0zNSBzdHJlYW0uXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBzY3RlMzVQaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaW1lZC1tZXRhZGF0YSBwYXNzdGhyb3VnaCBiZWhhdmlvci5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVkTWV0YWRhdGFCZWhhdmlvcj86IE0zdThUaW1lZE1ldGFkYXRhQmVoYXZpb3I7XG4gIC8qKlxuICAgKiBUaGUgUElEIG9mIHRoZSB0aW1lZC1tZXRhZGF0YSBzdHJlYW0uIFZhbGlkIHZhbHVlcyBhcmUgMzIgKDB4MjApLi44MTgyICgweDFmZjYpLlxuICAgKiBAZGVmYXVsdCAtIHNlcnZpY2UgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgdGltZWRNZXRhZGF0YVBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgdHJhbnNwb3J0IHN0cmVhbSBJRCBmaWVsZCBpbiB0aGUgUE1ULlxuICAgKiBAZGVmYXVsdCAtIHNlcnZpY2UgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNwb3J0U3RyZWFtSWQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgUElEIG9mIHRoZSBlbGVtZW50YXJ5IHZpZGVvIHN0cmVhbS5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IHZpZGVvUGlkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE0zVTggY29udGFpbmVyIHNldHRpbmdzIGZvciBhIHN0YW5kYXJkIEhMUyBvdXRwdXQuXG4gKlxuICogVXNlIGBNM3U4U2V0dGluZ3Mub2YoKWAgdG8gY29udHJvbCB0aGUgdHJhbnNwb3J0IHN0cmVhbSBwcm9kdWNlZCBieSBhIHN0YW5kYXJkIEhMUyBvdXRwdXQuXG4gKiBPbWl0dGluZyBpdCB1c2VzIE1lZGlhTGl2ZSdzIHNlcnZpY2UgZGVmYXVsdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNM3U4U2V0dGluZ3Mge1xuICAvKiogQ3JlYXRlIE0zVTggY29udGFpbmVyIHNldHRpbmdzLiAqL1xuICBwdWJsaWMgc3RhdGljIG9mKHByb3BzOiBNM3U4U2V0dGluZ3NQcm9wcyk6IE0zdThTZXR0aW5ncyB7XG4gICAgcmV0dXJuIG5ldyBNM3U4U2V0dGluZ3MocHJvcHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBNM3U4U2V0dGluZ3NQcm9wcykge31cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBfYmluZCgpOiBDZm5DaGFubmVsLk0zdThTZXR0aW5nc1Byb3BlcnR5IHtcbiAgICBjb25zdCBwID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4ge1xuICAgICAgYXVkaW9GcmFtZXNQZXJQZXM6IHAuYXVkaW9GcmFtZXNQZXJQZXMsXG4gICAgICBhdWRpb1BpZHM6IHAuYXVkaW9QaWRzLFxuICAgICAga2x2QmVoYXZpb3I6IHAua2x2QmVoYXZpb3I/LnZhbHVlLFxuICAgICAga2x2RGF0YVBpZHM6IHAua2x2RGF0YVBpZHMsXG4gICAgICBuaWVsc2VuSWQzQmVoYXZpb3I6IHAubmllbHNlbklkM0JlaGF2aW9yPy52YWx1ZSxcbiAgICAgIHBhdEludGVydmFsOiBwLnBhdEludGVydmFsPy50b01pbGxpc2Vjb25kcygpLFxuICAgICAgcGNyQ29udHJvbDogcC5wY3JDb250cm9sPy52YWx1ZSxcbiAgICAgIHBjclBlcmlvZDogcC5wY3JQZXJpb2Q/LnRvTWlsbGlzZWNvbmRzKCksXG4gICAgICBwY3JQaWQ6IHAucGNyUGlkLFxuICAgICAgcG10SW50ZXJ2YWw6IHAucG10SW50ZXJ2YWw/LnRvTWlsbGlzZWNvbmRzKCksXG4gICAgICBwbXRQaWQ6IHAucG10UGlkLFxuICAgICAgcHJvZ3JhbU51bTogcC5wcm9ncmFtTnVtLFxuICAgICAgc2N0ZTM1QmVoYXZpb3I6IHAuc2N0ZTM1QmVoYXZpb3I/LnZhbHVlLFxuICAgICAgc2N0ZTM1UGlkOiBwLnNjdGUzNVBpZCxcbiAgICAgIHRpbWVkTWV0YWRhdGFCZWhhdmlvcjogcC50aW1lZE1ldGFkYXRhQmVoYXZpb3I/LnZhbHVlLFxuICAgICAgdGltZWRNZXRhZGF0YVBpZDogcC50aW1lZE1ldGFkYXRhUGlkLFxuICAgICAgdHJhbnNwb3J0U3RyZWFtSWQ6IHAudHJhbnNwb3J0U3RyZWFtSWQsXG4gICAgICB2aWRlb1BpZDogcC52aWRlb1BpZCxcbiAgICB9O1xuICB9XG59XG5cbi8qKiBUaGUgYXVkaW8gdHJhY2sgdHlwZSBmb3IgYW4gYXVkaW8tb25seSBITFMgb3V0cHV0LiAqL1xuZXhwb3J0IGNsYXNzIEhsc0F1ZGlvVHJhY2tUeXBlIHtcbiAgLyoqIEEgcGxheWFibGUgYXVkaW8tb25seSB2YXJpYW50IHN0cmVhbSAoRVhULVgtU1RSRUFNLUlORikuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVVESU9fT05MWV9WQVJJQU5UX1NUUkVBTSA9IG5ldyBIbHNBdWRpb1RyYWNrVHlwZSgnQVVESU9fT05MWV9WQVJJQU5UX1NUUkVBTScpO1xuICAvKiogQWx0ZXJuYXRlIHJlbmRpdGlvbiwgYXV0by1zZWxlY3QsIGRlZmF1bHQgKERFRkFVTFQ9WUVTLCBBVVRPU0VMRUNUPVlFUykuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUxURVJOQVRFX0FVRElPX0FVVE9fU0VMRUNUX0RFRkFVTFQgPSBuZXcgSGxzQXVkaW9UcmFja1R5cGUoJ0FMVEVSTkFURV9BVURJT19BVVRPX1NFTEVDVF9ERUZBVUxUJyk7XG4gIC8qKiBBbHRlcm5hdGUgcmVuZGl0aW9uLCBhdXRvLXNlbGVjdCwgbm90IGRlZmF1bHQgKERFRkFVTFQ9Tk8sIEFVVE9TRUxFQ1Q9WUVTKS4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBTFRFUk5BVEVfQVVESU9fQVVUT19TRUxFQ1QgPSBuZXcgSGxzQXVkaW9UcmFja1R5cGUoJ0FMVEVSTkFURV9BVURJT19BVVRPX1NFTEVDVCcpO1xuICAvKiogQWx0ZXJuYXRlIHJlbmRpdGlvbiwgbm90IGF1dG8tc2VsZWN0IChERUZBVUxUPU5PLCBBVVRPU0VMRUNUPU5PKS4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBTFRFUk5BVEVfQVVESU9fTk9UX0FVVE9fU0VMRUNUID0gbmV3IEhsc0F1ZGlvVHJhY2tUeXBlKCdBTFRFUk5BVEVfQVVESU9fTk9UX0FVVE9fU0VMRUNUJyk7XG5cbiAgLyoqIEEgdmFsdWUgbm90IHlldCBtb2RlbGxlZCBieSBBV1MgQ0RLLiAqL1xuICBwdWJsaWMgc3RhdGljIG9mKHZhbHVlOiBzdHJpbmcpOiBIbHNBdWRpb1RyYWNrVHlwZSB7XG4gICAgcmV0dXJuIG5ldyBIbHNBdWRpb1RyYWNrVHlwZSh2YWx1ZSk7XG4gIH1cblxuICAvKiogVGhlIHVuZGVybHlpbmcgc3RyaW5nIHZhbHVlIHBhc3NlZCB0byBDbG91ZEZvcm1hdGlvbi4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG5cbi8qKiBUaGUgc2VnbWVudCBjb250YWluZXIgdHlwZSBmb3IgYW4gYXVkaW8tb25seSBITFMgb3V0cHV0LiAqL1xuZXhwb3J0IGNsYXNzIEhsc0F1ZGlvT25seVNlZ21lbnRUeXBlIHtcbiAgLyoqIEFBQyBzZWdtZW50cy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBQUMgPSBuZXcgSGxzQXVkaW9Pbmx5U2VnbWVudFR5cGUoJ0FBQycpO1xuICAvKiogZk1QNCBzZWdtZW50cy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBGTVA0ID0gbmV3IEhsc0F1ZGlvT25seVNlZ21lbnRUeXBlKCdGTVA0Jyk7XG5cbiAgLyoqIEEgdmFsdWUgbm90IHlldCBtb2RlbGxlZCBieSBBV1MgQ0RLLiAqL1xuICBwdWJsaWMgc3RhdGljIG9mKHZhbHVlOiBzdHJpbmcpOiBIbHNBdWRpb09ubHlTZWdtZW50VHlwZSB7XG4gICAgcmV0dXJuIG5ldyBIbHNBdWRpb09ubHlTZWdtZW50VHlwZSh2YWx1ZSk7XG4gIH1cblxuICAvKiogVGhlIHVuZGVybHlpbmcgc3RyaW5nIHZhbHVlIHBhc3NlZCB0byBDbG91ZEZvcm1hdGlvbi4gKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG5cbi8qKiBQcm9wZXJ0aWVzIGZvciBzdGFuZGFyZCAodmlkZW8pIEhMUyBzZXR0aW5ncy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRIbHNTZXR0aW5nc1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBhdWRpbyBHUk9VUC1JRHMgdXNlZCB3aXRoIHRoaXMgdmlkZW8gb3V0cHV0IHN0cmVhbSwgY29tbWEtc2VwYXJhdGVkLlxuICAgKiBAZGVmYXVsdCAtIHNlcnZpY2UgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgYXVkaW9SZW5kaXRpb25TZXRzPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIE0zVTggY29udGFpbmVyIHNldHRpbmdzLlxuICAgKiBAZGVmYXVsdCAtIHNlcnZpY2UgZGVmYXVsdHNcbiAgICovXG4gIHJlYWRvbmx5IG0zdThTZXR0aW5ncz86IE0zdThTZXR0aW5ncztcbn1cblxuLyoqIFByb3BlcnRpZXMgZm9yIGF1ZGlvLW9ubHkgSExTIHNldHRpbmdzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdWRpb09ubHlIbHNTZXR0aW5nc1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBncm91cCB0aGF0IHRoaXMgYXVkaW8gcmVuZGl0aW9uIGJlbG9uZ3MgdG8uXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBhdWRpb0dyb3VwSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIC5qcGcgb3IgLnBuZyBjb3Zlci1hcnQgaW1hZ2UgZW1iZWRkZWQgaW4gZWFjaCBhdWRpby1vbmx5IHNlZ21lbnQuIFByb3ZpZGUgYSBgRmlsZUxvY2F0aW9uYFxuICAgKiByZWZlcmVuY2luZyBhbiBTMyBidWNrZXQgKGBGaWxlTG9jYXRpb24uZnJvbUJ1Y2tldGAsIHdoaWNoIGF1dG8tZ3JhbnRzIHJlYWQgYWNjZXNzKSBvciBhIFVSTFxuICAgKiAoYEZpbGVMb2NhdGlvbi51cmxgKS5cbiAgICogQGRlZmF1bHQgLSBubyBjb3ZlciBhcnRcbiAgICovXG4gIHJlYWRvbmx5IGF1ZGlvT25seUltYWdlPzogRmlsZUxvY2F0aW9uO1xuICAvKipcbiAgICogSG93IHRoZSBhdWRpbyByZW5kaXRpb24gaXMgc2lnbmFsZWQgaW4gdGhlIEhMUyBtYW5pZmVzdC5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IGF1ZGlvVHJhY2tUeXBlPzogSGxzQXVkaW9UcmFja1R5cGU7XG4gIC8qKlxuICAgKiBUaGUgc2VnbWVudCBjb250YWluZXIgdHlwZS5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IHNlZ21lbnRUeXBlPzogSGxzQXVkaW9Pbmx5U2VnbWVudFR5cGU7XG59XG5cbi8qKiBQcm9wZXJ0aWVzIGZvciBmTVA0IEhMUyBzZXR0aW5ncy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm1wNEhsc1NldHRpbmdzUHJvcHMge1xuICAvKipcbiAgICogVGhlIGF1ZGlvIEdST1VQLUlEcyB1c2VkIHdpdGggdGhpcyB2aWRlbyBvdXRwdXQgc3RyZWFtLCBjb21tYS1zZXBhcmF0ZWQuXG4gICAqIEBkZWZhdWx0IC0gc2VydmljZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBhdWRpb1JlbmRpdGlvblNldHM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOaWVsc2VuIElEMyBwYXNzdGhyb3VnaCBiZWhhdmlvci5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IG5pZWxzZW5JZDNCZWhhdmlvcj86IE0zdThOaWVsc2VuSWQzQmVoYXZpb3I7XG4gIC8qKlxuICAgKiBUaW1lZC1tZXRhZGF0YSBwYXNzdGhyb3VnaCBiZWhhdmlvci5cbiAgICogQGRlZmF1bHQgLSBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVkTWV0YWRhdGFCZWhhdmlvcj86IE0zdThUaW1lZE1ldGFkYXRhQmVoYXZpb3I7XG59XG5cbi8qKlxuICogUGVyLW91dHB1dCBITFMgc2V0dGluZ3MuIFNlbGVjdCB0aGUgdmFyaWFudCB0aGF0IG1hdGNoZXMgdGhlIG91dHB1dDogYSBzdGFuZGFyZCAodmlkZW8pXG4gKiBvdXRwdXQsIGFuIGF1ZGlvLW9ubHkgcmVuZGl0aW9uLCBhbiBmTVA0IG91dHB1dCwgb3IgYSBmcmFtZS1jYXB0dXJlIG91dHB1dC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEhsc1NldHRpbmdzIHtcbiAgLyoqIFNldHRpbmdzIGZvciBhIHN0YW5kYXJkICh2aWRlbykgSExTIG91dHB1dC4gKi9cbiAgcHVibGljIHN0YXRpYyBzdGFuZGFyZChwcm9wczogU3RhbmRhcmRIbHNTZXR0aW5nc1Byb3BzID0ge30pOiBIbHNTZXR0aW5ncyB7XG4gICAgcmV0dXJuIG5ldyBTdGFuZGFyZEhsc1NldHRpbmdzKHByb3BzKTtcbiAgfVxuICAvKiogU2V0dGluZ3MgZm9yIGFuIGF1ZGlvLW9ubHkgSExTIHJlbmRpdGlvbi4gKi9cbiAgcHVibGljIHN0YXRpYyBhdWRpb09ubHkocHJvcHM6IEF1ZGlvT25seUhsc1NldHRpbmdzUHJvcHMgPSB7fSk6IEhsc1NldHRpbmdzIHtcbiAgICByZXR1cm4gbmV3IEF1ZGlvT25seUhsc1NldHRpbmdzKHByb3BzKTtcbiAgfVxuICAvKiogU2V0dGluZ3MgZm9yIGFuIGZNUDQgSExTIG91dHB1dC4gKi9cbiAgcHVibGljIHN0YXRpYyBmbXA0KHByb3BzOiBGbXA0SGxzU2V0dGluZ3NQcm9wcyA9IHt9KTogSGxzU2V0dGluZ3Mge1xuICAgIHJldHVybiBuZXcgRm1wNEhsc1NldHRpbmdzKHByb3BzKTtcbiAgfVxuICAvKiogU2V0dGluZ3MgZm9yIGEgZnJhbWUtY2FwdHVyZSBvdXRwdXQgaW4gYW4gSExTIG91dHB1dCBncm91cC4gKi9cbiAgcHVibGljIHN0YXRpYyBmcmFtZUNhcHR1cmUoKTogSGxzU2V0dGluZ3Mge1xuICAgIHJldHVybiBuZXcgRnJhbWVDYXB0dXJlSGxzU2V0dGluZ3MoKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIGFic3RyYWN0IF9iaW5kKCk6IENmbkNoYW5uZWwuSGxzU2V0dGluZ3NQcm9wZXJ0eTtcblxuICAvKipcbiAgICogR3JhbnQgdGhlIGNoYW5uZWwgcm9sZSByZWFkIGFjY2VzcyB0byBhbnkgZXh0ZXJuYWwgZmlsZXMgdGhlc2Ugc2V0dGluZ3MgcmVmZXJlbmNlIChlLmcuIGFuXG4gICAqIGF1ZGlvLW9ubHkgY292ZXItYXJ0IGltYWdlIGluIFMzKS4gRGVmYXVsdCBpcyBhIG5vLW9wOyBhdWRpby1vbmx5IHNldHRpbmdzIG92ZXJyaWRlIGl0LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfZ3JhbnRSZWFkKF9yb2xlOiBJUm9sZSk6IHZvaWQge31cbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuY2xhc3MgU3RhbmRhcmRIbHNTZXR0aW5ncyBleHRlbmRzIEhsc1NldHRpbmdzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogU3RhbmRhcmRIbHNTZXR0aW5nc1Byb3BzKSB7IHN1cGVyKCk7IH1cbiAgcHVibGljIF9iaW5kKCk6IENmbkNoYW5uZWwuSGxzU2V0dGluZ3NQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YW5kYXJkSGxzU2V0dGluZ3M6IHtcbiAgICAgICAgYXVkaW9SZW5kaXRpb25TZXRzOiB0aGlzLnByb3BzLmF1ZGlvUmVuZGl0aW9uU2V0cyxcbiAgICAgICAgbTNVOFNldHRpbmdzOiB0aGlzLnByb3BzLm0zdThTZXR0aW5ncz8uX2JpbmQoKSA/PyB7fSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4vKiogQGludGVybmFsICovXG5jbGFzcyBBdWRpb09ubHlIbHNTZXR0aW5ncyBleHRlbmRzIEhsc1NldHRpbmdzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogQXVkaW9Pbmx5SGxzU2V0dGluZ3NQcm9wcykgeyBzdXBlcigpOyB9XG4gIHB1YmxpYyBfYmluZCgpOiBDZm5DaGFubmVsLkhsc1NldHRpbmdzUHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBhdWRpb09ubHlIbHNTZXR0aW5nczoge1xuICAgICAgICBhdWRpb0dyb3VwSWQ6IHRoaXMucHJvcHMuYXVkaW9Hcm91cElkLFxuICAgICAgICBhdWRpb09ubHlJbWFnZTogdGhpcy5wcm9wcy5hdWRpb09ubHlJbWFnZT8uX2JpbmQoKSxcbiAgICAgICAgYXVkaW9UcmFja1R5cGU6IHRoaXMucHJvcHMuYXVkaW9UcmFja1R5cGU/LnZhbHVlLFxuICAgICAgICBzZWdtZW50VHlwZTogdGhpcy5wcm9wcy5zZWdtZW50VHlwZT8udmFsdWUsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIF9ncmFudFJlYWQocm9sZTogSVJvbGUpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BzLmF1ZGlvT25seUltYWdlPy5fZ3JhbnRSZWFkKHJvbGUpO1xuICB9XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmNsYXNzIEZtcDRIbHNTZXR0aW5ncyBleHRlbmRzIEhsc1NldHRpbmdzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogRm1wNEhsc1NldHRpbmdzUHJvcHMpIHsgc3VwZXIoKTsgfVxuICBwdWJsaWMgX2JpbmQoKTogQ2ZuQ2hhbm5lbC5IbHNTZXR0aW5nc1Byb3BlcnR5IHtcbiAgICByZXR1cm4ge1xuICAgICAgZm1wNEhsc1NldHRpbmdzOiB7XG4gICAgICAgIGF1ZGlvUmVuZGl0aW9uU2V0czogdGhpcy5wcm9wcy5hdWRpb1JlbmRpdGlvblNldHMsXG4gICAgICAgIG5pZWxzZW5JZDNCZWhhdmlvcjogdGhpcy5wcm9wcy5uaWVsc2VuSWQzQmVoYXZpb3I/LnZhbHVlLFxuICAgICAgICB0aW1lZE1ldGFkYXRhQmVoYXZpb3I6IHRoaXMucHJvcHMudGltZWRNZXRhZGF0YUJlaGF2aW9yPy52YWx1ZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4vKiogQGludGVybmFsICovXG5jbGFzcyBGcmFtZUNhcHR1cmVIbHNTZXR0aW5ncyBleHRlbmRzIEhsc1NldHRpbmdzIHtcbiAgcHVibGljIF9iaW5kKCk6IENmbkNoYW5uZWwuSGxzU2V0dGluZ3NQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHsgZnJhbWVDYXB0dXJlSGxzU2V0dGluZ3M6IHt9IH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import * as medialive from "aws-cdk-lib/aws-medialive";
2
+ import * as iam from "aws-cdk-lib/aws-iam";
3
+ import * as cdk from "aws-cdk-lib/core";
4
+ /**
5
+ * Collection of grant methods for a IChannelRef
6
+ */
7
+ export declare class ChannelGrants {
8
+ /**
9
+ * Creates grants for ChannelGrants
10
+ */
11
+ static fromChannel(resource: medialive.IChannelRef): ChannelGrants;
12
+ protected readonly resource: medialive.IChannelRef;
13
+ private constructor();
14
+ /**
15
+ * Grant the given identity custom permissions
16
+ */
17
+ actions(grantee: iam.IGrantable, actions: Array<string>, options?: cdk.PermissionsOptions): iam.Grant;
18
+ /**
19
+ * Grant permissions to start this channel
20
+ */
21
+ start(grantee: iam.IGrantable): iam.Grant;
22
+ /**
23
+ * Grant permissions to stop this channel
24
+ */
25
+ stop(grantee: iam.IGrantable): iam.Grant;
26
+ /**
27
+ * Grant permissions to update the schedule of this channel
28
+ */
29
+ updateSchedule(grantee: iam.IGrantable): iam.Grant;
30
+ }