@aws-cdk/aws-ivs-alpha 2.166.0-alpha.0 → 2.167.1-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 +873 -63
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +33 -1
- package/README.md +87 -0
- package/lib/channel.d.ts +7 -0
- package/lib/channel.js +3 -2
- package/lib/index.d.ts +4 -0
- package/lib/index.js +5 -1
- package/lib/playback-key-pair.js +1 -1
- package/lib/recording-configuration.d.ts +92 -0
- package/lib/recording-configuration.js +132 -0
- package/lib/rendition-configuration.d.ts +44 -0
- package/lib/rendition-configuration.js +60 -0
- package/lib/stream-key.js +1 -1
- package/lib/thumbnail-configuration.d.ts +56 -0
- package/lib/thumbnail-configuration.js +90 -0
- package/lib/util.d.ts +21 -0
- package/lib/util.js +26 -0
- package/package.json +7 -7
- package/rosetta/default.ts-fixture +1 -0
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -15,6 +15,8 @@ function _aws_cdk_aws_ivs_alpha_ChannelProps(p) {
|
|
|
15
15
|
_aws_cdk_aws_ivs_alpha_LatencyMode(p.latencyMode);
|
|
16
16
|
if (!visitedObjects.has(p.preset))
|
|
17
17
|
_aws_cdk_aws_ivs_alpha_Preset(p.preset);
|
|
18
|
+
if (!visitedObjects.has(p.recordingConfiguration))
|
|
19
|
+
_aws_cdk_aws_ivs_alpha_IRecordingConfiguration(p.recordingConfiguration);
|
|
18
20
|
if (!visitedObjects.has(p.type))
|
|
19
21
|
_aws_cdk_aws_ivs_alpha_ChannelType(p.type);
|
|
20
22
|
}
|
|
@@ -30,6 +32,28 @@ function _aws_cdk_aws_ivs_alpha_PlaybackKeyPairProps(p) {
|
|
|
30
32
|
}
|
|
31
33
|
function _aws_cdk_aws_ivs_alpha_PlaybackKeyPair(p) {
|
|
32
34
|
}
|
|
35
|
+
function _aws_cdk_aws_ivs_alpha_RecordingConfigurationProps(p) {
|
|
36
|
+
if (p == null)
|
|
37
|
+
return;
|
|
38
|
+
visitedObjects.add(p);
|
|
39
|
+
try {
|
|
40
|
+
if (!visitedObjects.has(p.renditionConfiguration))
|
|
41
|
+
_aws_cdk_aws_ivs_alpha_RenditionConfiguration(p.renditionConfiguration);
|
|
42
|
+
if (!visitedObjects.has(p.thumbnailConfiguration))
|
|
43
|
+
_aws_cdk_aws_ivs_alpha_ThumbnailConfiguration(p.thumbnailConfiguration);
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
visitedObjects.delete(p);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function _aws_cdk_aws_ivs_alpha_IRecordingConfiguration(p) {
|
|
50
|
+
}
|
|
51
|
+
function _aws_cdk_aws_ivs_alpha_RecordingConfiguration(p) {
|
|
52
|
+
}
|
|
53
|
+
function _aws_cdk_aws_ivs_alpha_RenditionSelection(p) {
|
|
54
|
+
}
|
|
55
|
+
function _aws_cdk_aws_ivs_alpha_RenditionConfiguration(p) {
|
|
56
|
+
}
|
|
33
57
|
function _aws_cdk_aws_ivs_alpha_IStreamKey(p) {
|
|
34
58
|
}
|
|
35
59
|
function _aws_cdk_aws_ivs_alpha_StreamKeyProps(p) {
|
|
@@ -46,6 +70,14 @@ function _aws_cdk_aws_ivs_alpha_StreamKeyProps(p) {
|
|
|
46
70
|
}
|
|
47
71
|
function _aws_cdk_aws_ivs_alpha_StreamKey(p) {
|
|
48
72
|
}
|
|
73
|
+
function _aws_cdk_aws_ivs_alpha_RecordingMode(p) {
|
|
74
|
+
}
|
|
75
|
+
function _aws_cdk_aws_ivs_alpha_Storage(p) {
|
|
76
|
+
}
|
|
77
|
+
function _aws_cdk_aws_ivs_alpha_ThumbnailConfiguration(p) {
|
|
78
|
+
}
|
|
79
|
+
function _aws_cdk_aws_ivs_alpha_Resolution(p) {
|
|
80
|
+
}
|
|
49
81
|
function print(name, deprecationMessage) {
|
|
50
82
|
const deprecated = process.env.JSII_DEPRECATED;
|
|
51
83
|
const deprecationMode = ["warn", "fail", "quiet"].includes(deprecated) ? deprecated : "warn";
|
|
@@ -82,4 +114,4 @@ class DeprecationError extends Error {
|
|
|
82
114
|
});
|
|
83
115
|
}
|
|
84
116
|
}
|
|
85
|
-
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_ivs_alpha_IChannel, _aws_cdk_aws_ivs_alpha_LatencyMode, _aws_cdk_aws_ivs_alpha_ChannelType, _aws_cdk_aws_ivs_alpha_Preset, _aws_cdk_aws_ivs_alpha_ChannelProps, _aws_cdk_aws_ivs_alpha_Channel, _aws_cdk_aws_ivs_alpha_IPlaybackKeyPair, _aws_cdk_aws_ivs_alpha_PlaybackKeyPairProps, _aws_cdk_aws_ivs_alpha_PlaybackKeyPair, _aws_cdk_aws_ivs_alpha_IStreamKey, _aws_cdk_aws_ivs_alpha_StreamKeyProps, _aws_cdk_aws_ivs_alpha_StreamKey };
|
|
117
|
+
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_ivs_alpha_IChannel, _aws_cdk_aws_ivs_alpha_LatencyMode, _aws_cdk_aws_ivs_alpha_ChannelType, _aws_cdk_aws_ivs_alpha_Preset, _aws_cdk_aws_ivs_alpha_ChannelProps, _aws_cdk_aws_ivs_alpha_Channel, _aws_cdk_aws_ivs_alpha_IPlaybackKeyPair, _aws_cdk_aws_ivs_alpha_PlaybackKeyPairProps, _aws_cdk_aws_ivs_alpha_PlaybackKeyPair, _aws_cdk_aws_ivs_alpha_RecordingConfigurationProps, _aws_cdk_aws_ivs_alpha_IRecordingConfiguration, _aws_cdk_aws_ivs_alpha_RecordingConfiguration, _aws_cdk_aws_ivs_alpha_RenditionSelection, _aws_cdk_aws_ivs_alpha_RenditionConfiguration, _aws_cdk_aws_ivs_alpha_IStreamKey, _aws_cdk_aws_ivs_alpha_StreamKeyProps, _aws_cdk_aws_ivs_alpha_StreamKey, _aws_cdk_aws_ivs_alpha_RecordingMode, _aws_cdk_aws_ivs_alpha_Storage, _aws_cdk_aws_ivs_alpha_ThumbnailConfiguration, _aws_cdk_aws_ivs_alpha_Resolution };
|
package/README.md
CHANGED
|
@@ -115,3 +115,90 @@ const myChannel = new ivs.Channel(this, 'Channel', {
|
|
|
115
115
|
authorized: true, // default value is false
|
|
116
116
|
});
|
|
117
117
|
```
|
|
118
|
+
|
|
119
|
+
## Recording Configurations
|
|
120
|
+
|
|
121
|
+
An Amazon IVS Recording Configuration stores settings that specify how a channel's live streams should be recorded.
|
|
122
|
+
You can configure video quality, thumbnail generation, and where recordings are stored in Amazon S3.
|
|
123
|
+
|
|
124
|
+
For more information about IVS recording, see [IVS Auto-Record to Amazon S3 | Low-Latency Streaming](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/record-to-s3.html).
|
|
125
|
+
|
|
126
|
+
You can create a recording configuration:
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
// create an S3 bucket for storing recordings
|
|
130
|
+
const recordingBucket = new s3.Bucket(this, 'RecordingBucket');
|
|
131
|
+
|
|
132
|
+
// create a basic recording configuration
|
|
133
|
+
const recordingConfiguration = new ivs.RecordingConfiguration(this, 'RecordingConfiguration', {
|
|
134
|
+
bucket: recordingBucket,
|
|
135
|
+
});
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Renditions of a Recording
|
|
139
|
+
|
|
140
|
+
When you stream content to an Amazon IVS channel, auto-record-to-s3 uses the source video to generate multiple renditions.
|
|
141
|
+
|
|
142
|
+
For more information, see [Discovering the Renditions of a Recording](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/record-to-s3.html#r2s3-recording-renditions).
|
|
143
|
+
|
|
144
|
+
```ts
|
|
145
|
+
declare const recordingBucket: s3.Bucket;
|
|
146
|
+
|
|
147
|
+
const recordingConfiguration= new ivs.RecordingConfiguration(this, 'RecordingConfiguration', {
|
|
148
|
+
bucket: recordingBucket,
|
|
149
|
+
|
|
150
|
+
// set rendition configuration
|
|
151
|
+
renditionConfiguration: ivs.RenditionConfiguration.custom([ivs.Resolution.HD, ivs.Resolution.SD]),
|
|
152
|
+
});
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Thumbnail Generation
|
|
156
|
+
|
|
157
|
+
You can enable or disable the recording of thumbnails for a live session and modify the interval at which thumbnails are generated for the live session.
|
|
158
|
+
|
|
159
|
+
Thumbnail intervals may range from 1 second to 60 seconds; by default, thumbnail recording is enabled, at an interval of 60 seconds.
|
|
160
|
+
|
|
161
|
+
For more information, see [Thumbnails](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/record-to-s3.html#r2s3-thumbnails).
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
declare const recordingBucket: s3.Bucket;
|
|
165
|
+
|
|
166
|
+
const recordingConfiguration = new ivs.RecordingConfiguration(this, 'RecordingConfiguration', {
|
|
167
|
+
bucket: recordingBucket,
|
|
168
|
+
|
|
169
|
+
// set thumbnail settings
|
|
170
|
+
thumbnailConfiguration: ivs.ThumbnailConfiguration.interval(ivs.Resolution.HD, [ivs.Storage.LATEST, ivs.Storage.SEQUENTIAL], Duration.seconds(30)),
|
|
171
|
+
});
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Merge Fragmented Streams
|
|
175
|
+
|
|
176
|
+
The `recordingReconnectWindow` property allows you to specify a window of time (in seconds) during which, if your stream is interrupted and a new stream is started, Amazon IVS tries to record to the same S3 prefix as the previous stream.
|
|
177
|
+
|
|
178
|
+
In other words, if a broadcast disconnects and then reconnects within the specified interval, the multiple streams are considered a single broadcast and merged together.
|
|
179
|
+
|
|
180
|
+
For more information, see [Merge Fragmented Streams](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/record-to-s3.html#r2s3-merge-fragmented-streams).
|
|
181
|
+
|
|
182
|
+
```ts
|
|
183
|
+
declare const recordingBucket: s3.Bucket;
|
|
184
|
+
|
|
185
|
+
const recordingConfiguration= new ivs.RecordingConfiguration(this, 'RecordingConfiguration', {
|
|
186
|
+
bucket: recordingBucket,
|
|
187
|
+
|
|
188
|
+
// set recording reconnect window
|
|
189
|
+
recordingReconnectWindow: Duration.seconds(60),
|
|
190
|
+
});
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Attaching Recording Configuration to a Channel
|
|
194
|
+
|
|
195
|
+
To enable recording for a channel, specify the recording configuration when creating the channel:
|
|
196
|
+
|
|
197
|
+
```ts
|
|
198
|
+
declare const recordingConfiguration: ivs.RecordingConfiguration;
|
|
199
|
+
|
|
200
|
+
const channel = new ivs.Channel(this, 'Channel', {
|
|
201
|
+
// set recording configuration
|
|
202
|
+
recordingConfiguration: recordingConfiguration,
|
|
203
|
+
});
|
|
204
|
+
```
|
package/lib/channel.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as core from 'aws-cdk-lib/core';
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
3
|
import { StreamKey } from './stream-key';
|
|
4
|
+
import { IRecordingConfiguration } from './recording-configuration';
|
|
4
5
|
/**
|
|
5
6
|
* Represents an IVS Channel
|
|
6
7
|
*/
|
|
@@ -128,6 +129,12 @@ export interface ChannelProps {
|
|
|
128
129
|
* @default - Preset.HIGHER_BANDWIDTH_DELIVERY if channelType is ADVANCED_SD or ADVANCED_HD, none otherwise
|
|
129
130
|
*/
|
|
130
131
|
readonly preset?: Preset;
|
|
132
|
+
/**
|
|
133
|
+
* A recording configuration for the channel.
|
|
134
|
+
*
|
|
135
|
+
* @default - recording is disabled
|
|
136
|
+
*/
|
|
137
|
+
readonly recordingConfiguration?: IRecordingConfiguration;
|
|
131
138
|
}
|
|
132
139
|
/**
|
|
133
140
|
A new IVS channel
|
package/lib/channel.js
CHANGED
|
@@ -135,6 +135,7 @@ class Channel extends ChannelBase {
|
|
|
135
135
|
name: this.physicalName,
|
|
136
136
|
type: props.type,
|
|
137
137
|
preset,
|
|
138
|
+
recordingConfigurationArn: props.recordingConfiguration?.recordingConfigurationArn,
|
|
138
139
|
});
|
|
139
140
|
this.channelArn = resource.attrArn;
|
|
140
141
|
this.channelIngestEndpoint = resource.attrIngestEndpoint;
|
|
@@ -143,5 +144,5 @@ class Channel extends ChannelBase {
|
|
|
143
144
|
}
|
|
144
145
|
exports.Channel = Channel;
|
|
145
146
|
_a = JSII_RTTI_SYMBOL_1;
|
|
146
|
-
Channel[_a] = { fqn: "@aws-cdk/aws-ivs-alpha.Channel", version: "2.
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEseUNBQXlDO0FBQ3pDLDJDQUErQztBQUUvQyxpREFBaUQ7QUFDakQsNkNBQXlDO0FBb0J6Qzs7R0FFRztBQUNILE1BQWUsV0FBWSxTQUFRLElBQUksQ0FBQyxRQUFRO0lBR3ZDLFlBQVksQ0FBQyxFQUFVO1FBQzVCLE9BQU8sSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDN0IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7S0FDSjtDQUNGO0FBRUQ7O0VBRUU7QUFDRixJQUFZLFdBVVg7QUFWRCxXQUFZLFdBQVc7SUFDckI7O09BRUc7SUFDSCwwQkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCxnQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVlcsV0FBVywyQkFBWCxXQUFXLFFBVXRCO0FBRUQ7Ozs7O0VBS0U7QUFDRixJQUFZLFdBMEJYO0FBMUJELFdBQVksV0FBVztJQUNyQjs7OztPQUlHO0lBQ0gsb0NBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCw4QkFBZSxDQUFBO0lBRWY7Ozs7T0FJRztJQUNILDBDQUEyQixDQUFBO0lBRTNCOzs7O09BSUc7SUFDSCwwQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBMUJXLFdBQVcsMkJBQVgsV0FBVyxRQTBCdEI7QUFFRDs7OztFQUlFO0FBQ0YsSUFBWSxNQVdYO0FBWEQsV0FBWSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0gsMkVBQWlFLENBQUE7SUFFakU7O09BRUc7SUFDSCxpRUFBdUQsQ0FBQTtBQUV6RCxDQUFDLEVBWFcsTUFBTSxzQkFBTixNQUFNLFFBV2pCO0FBdUREOztFQUVFO0FBQ0YsTUFBYSxPQUFRLFNBQVEsV0FBVztJQUN0Qzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsVUFBa0I7UUFD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IGNvcmUgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBMYXp5LCBOYW1lcyB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDZm5DaGFubmVsIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWl2cyc7XG5pbXBvcnQgeyBTdHJlYW1LZXkgfSBmcm9tICcuL3N0cmVhbS1rZXknO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gSVZTIENoYW5uZWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2hhbm5lbCBleHRlbmRzIGNvcmUuSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBjaGFubmVsIEFSTi4gRm9yIGV4YW1wbGU6IGFybjphd3M6aXZzOnVzLXdlc3QtMjoxMjM0NTY3ODkwMTI6Y2hhbm5lbC9hYmNkQUJDRGVmZ2hcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbm5lbEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RyZWFtIGtleSBmb3IgdGhpcyBJVlMgQ2hhbm5lbC5cbiAgICogQHBhcmFtIGlkIGNvbnN0cnVjdCBJRFxuICAgKi9cbiAgYWRkU3RyZWFtS2V5KGlkOiBzdHJpbmcpOiBTdHJlYW1LZXk7XG59XG5cbi8qKlxuICogUmVmZXJlbmNlIHRvIGEgbmV3IG9yIGV4aXN0aW5nIElWUyBDaGFubmVsXG4gKi9cbmFic3RyYWN0IGNsYXNzIENoYW5uZWxCYXNlIGV4dGVuZHMgY29yZS5SZXNvdXJjZSBpbXBsZW1lbnRzIElDaGFubmVsIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNoYW5uZWxBcm46IHN0cmluZztcblxuICBwdWJsaWMgYWRkU3RyZWFtS2V5KGlkOiBzdHJpbmcpOiBTdHJlYW1LZXkge1xuICAgIHJldHVybiBuZXcgU3RyZWFtS2V5KHRoaXMsIGlkLCB7XG4gICAgICBjaGFubmVsOiB0aGlzLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICBDaGFubmVsIGxhdGVuY3kgbW9kZVxuKi9cbmV4cG9ydCBlbnVtIExhdGVuY3lNb2RlIHtcbiAgLyoqXG4gICAqIFVzZSBMT1cgdG8gbWluaW1pemUgYnJvYWRjYXN0ZXItdG8tdmlld2VyIGxhdGVuY3kgZm9yIGludGVyYWN0aXZlIGJyb2FkY2FzdHMuXG4gICAqL1xuICBMT1cgPSAnTE9XJyxcblxuICAvKipcbiAgICogVXNlIE5PUk1BTCBmb3IgYnJvYWRjYXN0cyB0aGF0IGRvIG5vdCByZXF1aXJlIHZpZXdlciBpbnRlcmFjdGlvbi5cbiAgICovXG4gIE5PUk1BTCA9ICdOT1JNQUwnLFxufVxuXG4vKipcbiAgKiBUaGUgY2hhbm5lbCB0eXBlLCB3aGljaCBkZXRlcm1pbmVzIHRoZSBhbGxvd2FibGUgcmVzb2x1dGlvbiBhbmQgYml0cmF0ZS5cbiAgKiBJZiB5b3UgZXhjZWVkIHRoZSBhbGxvd2FibGUgcmVzb2x1dGlvbiBvciBiaXRyYXRlLCB0aGUgc3RyZWFtIHByb2JhYmx5IHdpbGwgZGlzY29ubmVjdCBpbW1lZGlhdGVseS5cbiAgKlxuICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWl2cy1jaGFubmVsLmh0bWxcbiovXG5leHBvcnQgZW51bSBDaGFubmVsVHlwZSB7XG4gIC8qKlxuICAgKiBNdWx0aXBsZSBxdWFsaXRpZXMgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBpbnB1dCwgdG8gYXV0b21hdGljYWxseSBnaXZlIHZpZXdlcnMgdGhlIGJlc3QgZXhwZXJpZW5jZSBmb3IgdGhlaXIgZGV2aWNlcyBhbmQgbmV0d29yayBjb25kaXRpb25zLlxuICAgKiBUcmFuc2NvZGluZyBhbGxvd3MgaGlnaGVyIHBsYXliYWNrIHF1YWxpdHkgYWNyb3NzIGEgcmFuZ2Ugb2YgZG93bmxvYWQgc3BlZWRzLiBSZXNvbHV0aW9uIGNhbiBiZSB1cCB0byAxMDgwcCBhbmQgYml0cmF0ZSBjYW4gYmUgdXAgdG8gOC41IE1icHMuXG4gICAqIEF1ZGlvIGlzIHRyYW5zY29kZWQgb25seSBmb3IgcmVuZGl0aW9ucyAzNjBwIGFuZCBiZWxvdzsgYWJvdmUgdGhhdCwgYXVkaW8gaXMgcGFzc2VkIHRocm91Z2guXG4gICAqL1xuICBTVEFOREFSRCA9ICdTVEFOREFSRCcsXG5cbiAgLyoqXG4gICAqIERlbGl2ZXJzIHRoZSBvcmlnaW5hbCBpbnB1dCB0byB2aWV3ZXJzLiBUaGUgdmlld2Vy4oCZcyB2aWRlby1xdWFsaXR5IGNob2ljZSBpcyBsaW1pdGVkIHRvIHRoZSBvcmlnaW5hbCBpbnB1dC5cbiAgICovXG4gIEJBU0lDID0gJ0JBU0lDJyxcblxuICAvKipcbiAgICogTXVsdGlwbGUgcXVhbGl0aWVzIGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgaW5wdXQsIHRvIGF1dG9tYXRpY2FsbHkgZ2l2ZSB2aWV3ZXJzIHRoZSBiZXN0IGV4cGVyaWVuY2UgZm9yIHRoZWlyIGRldmljZXMgYW5kIG5ldHdvcmsgY29uZGl0aW9ucy5cbiAgICogSW5wdXQgcmVzb2x1dGlvbiBjYW4gYmUgdXAgdG8gMTA4MHAgYW5kIGJpdHJhdGUgY2FuIGJlIHVwIHRvIDguNSBNYnBzOyBvdXRwdXQgaXMgY2FwcGVkIGF0IFNEIHF1YWxpdHkgKDQ4MHApLlxuICAgKiBBdWRpbyBmb3IgYWxsIHJlbmRpdGlvbnMgaXMgdHJhbnNjb2RlZCwgYW5kIGFuIGF1ZGlvLW9ubHkgcmVuZGl0aW9uIGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIEFEVkFOQ0VEX1NEID0gJ0FEVkFOQ0VEX1NEJyxcblxuICAvKipcbiAgICogTXVsdGlwbGUgcXVhbGl0aWVzIGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgaW5wdXQsIHRvIGF1dG9tYXRpY2FsbHkgZ2l2ZSB2aWV3ZXJzIHRoZSBiZXN0IGV4cGVyaWVuY2UgZm9yIHRoZWlyIGRldmljZXMgYW5kIG5ldHdvcmsgY29uZGl0aW9ucy5cbiAgICogSW5wdXQgcmVzb2x1dGlvbiBjYW4gYmUgdXAgdG8gMTA4MHAgYW5kIGJpdHJhdGUgY2FuIGJlIHVwIHRvIDguNSBNYnBzOyBvdXRwdXQgaXMgY2FwcGVkIGF0IEhEIHF1YWxpdHkgKDcyMHApLlxuICAgKiBBdWRpbyBmb3IgYWxsIHJlbmRpdGlvbnMgaXMgdHJhbnNjb2RlZCwgYW5kIGFuIGF1ZGlvLW9ubHkgcmVuZGl0aW9uIGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIEFEVkFOQ0VEX0hEID0gJ0FEVkFOQ0VEX0hEJyxcbn1cblxuLyoqXG4gICogQW4gb3B0aW9uYWwgdHJhbnNjb2RlIHByZXNldCBmb3IgdGhlIGNoYW5uZWwuIFRoaXMgaXMgc2VsZWN0YWJsZSBvbmx5IGZvciBBRFZBTkNFRF9IRCBhbmQgQURWQU5DRURfU0QgY2hhbm5lbCB0eXBlcy5cbiAgKlxuICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWl2cy1jaGFubmVsLmh0bWxcbiovXG5leHBvcnQgZW51bSBQcmVzZXQge1xuICAvKipcbiAgICogVXNlIGEgbG93ZXIgYml0cmF0ZSB0aGFuIFNUQU5EQVJEIGZvciBlYWNoIHF1YWxpdHkgbGV2ZWwuIFVzZSBpdCBpZiB5b3UgaGF2ZSBsb3cgZG93bmxvYWQgYmFuZHdpZHRoIGFuZC9vciBzaW1wbGUgdmlkZW8gY29udGVudCAoZS5nLiwgdGFsa2luZyBoZWFkcykuXG4gICAqL1xuICBDT05TVFJBSU5FRF9CQU5EV0lEVEhfREVMSVZFUlkgPSAnQ09OU1RSQUlORURfQkFORFdJRFRIX0RFTElWRVJZJyxcblxuICAvKipcbiAgICogVXNlIGEgaGlnaGVyIGJpdHJhdGUgZm9yIGVhY2ggcXVhbGl0eSBsZXZlbC4gVXNlIGl0IGlmIHlvdSBoYXZlIGhpZ2ggZG93bmxvYWQgYmFuZHdpZHRoIGFuZC9vciBjb21wbGV4IHZpZGVvIGNvbnRlbnQgKGUuZy4sIGZsYXNoZXMgYW5kIHF1aWNrIHNjZW5lIGNoYW5nZXMpLlxuICAgKi9cbiAgSElHSEVSX0JBTkRXSURUSF9ERUxJVkVSWSA9ICdISUdIRVJfQkFORFdJRFRIX0RFTElWRVJZJyxcblxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgbmV3IENoYW5uZWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hhbm5lbCBpcyBhdXRob3JpemVkLlxuICAgKlxuICAgKiBJZiB5b3Ugd2lzaCB0byBtYWtlIGFuIGF1dGhvcml6ZWQgY2hhbm5lbCwgeW91IHdpbGwgbmVlZCB0byBlbnN1cmUgdGhhdFxuICAgKiBhIFBsYXliYWNrS2V5UGFpciBoYXMgYmVlbiB1cGxvYWRlZCB0byB5b3VyIGFjY291bnQgYXMgdGhpcyBpcyB1c2VkIHRvXG4gICAqIHZhbGlkYXRlIHRoZSBzaWduZWQgSldUIHRoYXQgaXMgcmVxdWlyZWQgZm9yIGF1dGhvcml6YXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGFubmVsIGFsbG93cyBpbnNlY3VyZSBSVE1QIGluZ2VzdC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGluc2VjdXJlSW5nZXN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ2hhbm5lbCBsYXRlbmN5IG1vZGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IExhdGVuY3lNb2RlLkxPV1xuICAgKi9cbiAgcmVhZG9ubHkgbGF0ZW5jeU1vZGU/OiBMYXRlbmN5TW9kZTtcblxuICAvKipcbiAgICogQSBuYW1lIGZvciB0aGUgY2hhbm5lbC5cbiAgICpcbiAgICogQGRlZmF1bHQgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbm5lbE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjaGFubmVsIHR5cGUsIHdoaWNoIGRldGVybWluZXMgdGhlIGFsbG93YWJsZSByZXNvbHV0aW9uIGFuZCBiaXRyYXRlLlxuICAgKiBJZiB5b3UgZXhjZWVkIHRoZSBhbGxvd2FibGUgcmVzb2x1dGlvbiBvciBiaXRyYXRlLCB0aGUgc3RyZWFtIHdpbGwgZGlzY29ubmVjdCBpbW1lZGlhdGVseVxuICAgKlxuICAgKiBAZGVmYXVsdCBDaGFubmVsVHlwZS5TVEFOREFSRFxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZT86IENoYW5uZWxUeXBlO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCB0cmFuc2NvZGUgcHJlc2V0IGZvciB0aGUgY2hhbm5lbC4gQ2FuIGJlIHVzZWQgZm9yIEFEVkFOQ0VEX0hEIGFuZCBBRFZBTkNFRF9TRCBjaGFubmVsIHR5cGVzLlxuICAgKiBXaGVuIExPVyBvciBTVEFOREFSRCBpcyB1c2VkLCB0aGUgcHJlc2V0IHdpbGwgYmUgb3ZlcnJpZGRlbiBhbmQgc2V0IHRvIG5vbmUgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgcHJvdmlkZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUHJlc2V0LkhJR0hFUl9CQU5EV0lEVEhfREVMSVZFUlkgaWYgY2hhbm5lbFR5cGUgaXMgQURWQU5DRURfU0Qgb3IgQURWQU5DRURfSEQsIG5vbmUgb3RoZXJ3aXNlXG4gICAqL1xuICByZWFkb25seSBwcmVzZXQ/OiBQcmVzZXQ7XG59XG5cbi8qKlxuICBBIG5ldyBJVlMgY2hhbm5lbFxuKi9cbmV4cG9ydCBjbGFzcyBDaGFubmVsIGV4dGVuZHMgQ2hhbm5lbEJhc2Uge1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGNoYW5uZWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNoYW5uZWxBcm4oc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY2hhbm5lbEFybjogc3RyaW5nKTogSUNoYW5uZWwge1xuICAgIC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgYXJuIGNhbm5vdCBiZSBwYXJzZWRcbiAgICBsZXQgYXJuQ29tcG9uZW50cyA9IGNvcmUuQXJuLnNwbGl0KGNoYW5uZWxBcm4sIGNvcmUuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpO1xuXG4gICAgaWYgKCFjb3JlLlRva2VuLmlzVW5yZXNvbHZlZChhcm5Db21wb25lbnRzLnNlcnZpY2UpICYmIGFybkNvbXBvbmVudHMuc2VydmljZSAhPT0gJ2l2cycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2aWNlLCBleHBlY3RlZCAnaXZzJywgZ290ICcke2FybkNvbXBvbmVudHMuc2VydmljZX0nYCk7XG4gICAgfVxuXG4gICAgaWYgKCFjb3JlLlRva2VuLmlzVW5yZXNvbHZlZChhcm5Db21wb25lbnRzLnJlc291cmNlKSAmJiBhcm5Db21wb25lbnRzLnJlc291cmNlICE9PSAnY2hhbm5lbCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXNvdXJjZSwgZXhwZWN0ZWQgJ2NoYW5uZWwnLCBnb3QgJyR7YXJuQ29tcG9uZW50cy5yZXNvdXJjZX0nYCk7XG4gICAgfVxuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQ2hhbm5lbEJhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGNoYW5uZWxBcm4gPSBjaGFubmVsQXJuO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgY2hhbm5lbEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAqIENoYW5uZWwgaW5nZXN0IGVuZHBvaW50LCBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIGFuIGluZ2VzdCBzZXJ2ZXIsIHVzZWQgd2hlbiB5b3Ugc2V0IHVwIHN0cmVhbWluZyBzb2Z0d2FyZS5cbiAgKiBGb3IgZXhhbXBsZTogYTFiMmMzZDRlNWY2Lmdsb2JhbC1jb250cmlidXRlLmxpdmUtdmlkZW8ubmV0XG4gICogQGF0dHJpYnV0ZVxuICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2hhbm5lbEluZ2VzdEVuZHBvaW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICogQ2hhbm5lbCBwbGF5YmFjayBVUkwuIEZvciBleGFtcGxlOlxuICAqIGh0dHBzOi8vYTFiMmMzZDRlNWY2LnVzLXdlc3QtMi5wbGF5YmFjay5saXZlLXZpZGVvLm5ldC9hcGkvdmlkZW8vdjEvdXMtd2VzdC0yLjEyMzQ1Njc4OTAxMi5jaGFubmVsLmFiY2RFRkdILm0zdThcbiAgKiBAYXR0cmlidXRlXG4gICovXG4gIHB1YmxpYyByZWFkb25seSBjaGFubmVsUGxheWJhY2tVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2hhbm5lbFByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuY2hhbm5lbE5hbWUgPz8gTGF6eS5zdHJpbmcoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDEyOCwgYWxsb3dlZFNwZWNpYWxDaGFyYWN0ZXJzOiAnLV8nIH0pLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5waHlzaWNhbE5hbWUgJiYgIWNvcmUuVG9rZW4uaXNVbnJlc29sdmVkKHRoaXMucGh5c2ljYWxOYW1lKSAmJiAhL15bYS16QS1aMC05LV9dKiQvLnRlc3QodGhpcy5waHlzaWNhbE5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGNoYW5uZWxOYW1lIG11c3QgY29udGFpbiBvbmx5IG51bWJlcnMsIGxldHRlcnMsIGh5cGhlbnMgYW5kIHVuZGVyc2NvcmVzLCBnb3Q6ICcke3RoaXMucGh5c2ljYWxOYW1lfSdgKTtcbiAgICB9XG5cbiAgICBsZXQgcHJlc2V0O1xuXG4gICAgaWYgKHByb3BzLnR5cGUgJiYgW0NoYW5uZWxUeXBlLlNUQU5EQVJELCBDaGFubmVsVHlwZS5CQVNJQ10uaW5jbHVkZXMocHJvcHMudHlwZSkgJiYgcHJvcHMucHJlc2V0KSB7XG4gICAgICBwcmVzZXQgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcHJlc2V0ID0gcHJvcHMucHJlc2V0O1xuICAgIH1cblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmbkNoYW5uZWwodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgYXV0aG9yaXplZDogcHJvcHMuYXV0aG9yaXplZCxcbiAgICAgIGluc2VjdXJlSW5nZXN0OiBwcm9wcy5pbnNlY3VyZUluZ2VzdCxcbiAgICAgIGxhdGVuY3lNb2RlOiBwcm9wcy5sYXRlbmN5TW9kZSxcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgdHlwZTogcHJvcHMudHlwZSxcbiAgICAgIHByZXNldCxcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhbm5lbEFybiA9IHJlc291cmNlLmF0dHJBcm47XG4gICAgdGhpcy5jaGFubmVsSW5nZXN0RW5kcG9pbnQgPSByZXNvdXJjZS5hdHRySW5nZXN0RW5kcG9pbnQ7XG4gICAgdGhpcy5jaGFubmVsUGxheWJhY2tVcmwgPSByZXNvdXJjZS5hdHRyUGxheWJhY2tVcmw7XG4gIH1cbn1cbiJdfQ==
|
|
147
|
+
Channel[_a] = { fqn: "@aws-cdk/aws-ivs-alpha.Channel", version: "2.167.1-alpha.0" };
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEseUNBQXlDO0FBQ3pDLDJDQUErQztBQUUvQyxpREFBaUQ7QUFDakQsNkNBQXlDO0FBcUJ6Qzs7R0FFRztBQUNILE1BQWUsV0FBWSxTQUFRLElBQUksQ0FBQyxRQUFRO0lBR3ZDLFlBQVksQ0FBQyxFQUFVO1FBQzVCLE9BQU8sSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDN0IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7S0FDSjtDQUNGO0FBRUQ7O0VBRUU7QUFDRixJQUFZLFdBVVg7QUFWRCxXQUFZLFdBQVc7SUFDckI7O09BRUc7SUFDSCwwQkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCxnQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVlcsV0FBVywyQkFBWCxXQUFXLFFBVXRCO0FBRUQ7Ozs7O0VBS0U7QUFDRixJQUFZLFdBMEJYO0FBMUJELFdBQVksV0FBVztJQUNyQjs7OztPQUlHO0lBQ0gsb0NBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCw4QkFBZSxDQUFBO0lBRWY7Ozs7T0FJRztJQUNILDBDQUEyQixDQUFBO0lBRTNCOzs7O09BSUc7SUFDSCwwQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBMUJXLFdBQVcsMkJBQVgsV0FBVyxRQTBCdEI7QUFFRDs7OztFQUlFO0FBQ0YsSUFBWSxNQVdYO0FBWEQsV0FBWSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0gsMkVBQWlFLENBQUE7SUFFakU7O09BRUc7SUFDSCxpRUFBdUQsQ0FBQTtBQUV6RCxDQUFDLEVBWFcsTUFBTSxzQkFBTixNQUFNLFFBV2pCO0FBOEREOztFQUVFO0FBQ0YsTUFBYSxPQUFRLFNBQVEsV0FBVztJQUN0Qzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsVUFBa0I7UUFDM0UsdURBQXVEO1FBQ3ZELElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFbkYsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxhQUFhLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3ZGLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0YsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsYUFBYSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUVELE1BQU0sTUFBTyxTQUFRLFdBQVc7WUFBaEM7O2dCQUNrQixlQUFVLEdBQUcsVUFBVSxDQUFDO1lBQzFDLENBQUM7U0FBQTtRQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQzlCO0lBa0JELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBc0IsRUFBRTtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLFdBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNsRyxDQUFDO1NBQ0gsQ0FBQyxDQUFDOzs7Ozs7K0NBNUNNLE9BQU87Ozs7UUE4Q2hCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNwSCxNQUFNLElBQUksS0FBSyxDQUFDLGtGQUFrRixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUMxSCxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUM7UUFFWCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqRyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN4QixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxvQkFBVSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEQsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztZQUNwQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3ZCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixNQUFNO1lBQ04seUJBQXlCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixFQUFFLHlCQUF5QjtTQUNuRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDbkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztRQUN6RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztLQUNwRDs7QUF2RUgsMEJBd0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29yZSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IExhenksIE5hbWVzIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IENmbkNoYW5uZWwgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaXZzJztcbmltcG9ydCB7IFN0cmVhbUtleSB9IGZyb20gJy4vc3RyZWFtLWtleSc7XG5pbXBvcnQgeyBJUmVjb3JkaW5nQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vcmVjb3JkaW5nLWNvbmZpZ3VyYXRpb24nO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gSVZTIENoYW5uZWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2hhbm5lbCBleHRlbmRzIGNvcmUuSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBjaGFubmVsIEFSTi4gRm9yIGV4YW1wbGU6IGFybjphd3M6aXZzOnVzLXdlc3QtMjoxMjM0NTY3ODkwMTI6Y2hhbm5lbC9hYmNkQUJDRGVmZ2hcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbm5lbEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RyZWFtIGtleSBmb3IgdGhpcyBJVlMgQ2hhbm5lbC5cbiAgICogQHBhcmFtIGlkIGNvbnN0cnVjdCBJRFxuICAgKi9cbiAgYWRkU3RyZWFtS2V5KGlkOiBzdHJpbmcpOiBTdHJlYW1LZXk7XG59XG5cbi8qKlxuICogUmVmZXJlbmNlIHRvIGEgbmV3IG9yIGV4aXN0aW5nIElWUyBDaGFubmVsXG4gKi9cbmFic3RyYWN0IGNsYXNzIENoYW5uZWxCYXNlIGV4dGVuZHMgY29yZS5SZXNvdXJjZSBpbXBsZW1lbnRzIElDaGFubmVsIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNoYW5uZWxBcm46IHN0cmluZztcblxuICBwdWJsaWMgYWRkU3RyZWFtS2V5KGlkOiBzdHJpbmcpOiBTdHJlYW1LZXkge1xuICAgIHJldHVybiBuZXcgU3RyZWFtS2V5KHRoaXMsIGlkLCB7XG4gICAgICBjaGFubmVsOiB0aGlzLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICBDaGFubmVsIGxhdGVuY3kgbW9kZVxuKi9cbmV4cG9ydCBlbnVtIExhdGVuY3lNb2RlIHtcbiAgLyoqXG4gICAqIFVzZSBMT1cgdG8gbWluaW1pemUgYnJvYWRjYXN0ZXItdG8tdmlld2VyIGxhdGVuY3kgZm9yIGludGVyYWN0aXZlIGJyb2FkY2FzdHMuXG4gICAqL1xuICBMT1cgPSAnTE9XJyxcblxuICAvKipcbiAgICogVXNlIE5PUk1BTCBmb3IgYnJvYWRjYXN0cyB0aGF0IGRvIG5vdCByZXF1aXJlIHZpZXdlciBpbnRlcmFjdGlvbi5cbiAgICovXG4gIE5PUk1BTCA9ICdOT1JNQUwnLFxufVxuXG4vKipcbiAgKiBUaGUgY2hhbm5lbCB0eXBlLCB3aGljaCBkZXRlcm1pbmVzIHRoZSBhbGxvd2FibGUgcmVzb2x1dGlvbiBhbmQgYml0cmF0ZS5cbiAgKiBJZiB5b3UgZXhjZWVkIHRoZSBhbGxvd2FibGUgcmVzb2x1dGlvbiBvciBiaXRyYXRlLCB0aGUgc3RyZWFtIHByb2JhYmx5IHdpbGwgZGlzY29ubmVjdCBpbW1lZGlhdGVseS5cbiAgKlxuICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWl2cy1jaGFubmVsLmh0bWxcbiovXG5leHBvcnQgZW51bSBDaGFubmVsVHlwZSB7XG4gIC8qKlxuICAgKiBNdWx0aXBsZSBxdWFsaXRpZXMgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBpbnB1dCwgdG8gYXV0b21hdGljYWxseSBnaXZlIHZpZXdlcnMgdGhlIGJlc3QgZXhwZXJpZW5jZSBmb3IgdGhlaXIgZGV2aWNlcyBhbmQgbmV0d29yayBjb25kaXRpb25zLlxuICAgKiBUcmFuc2NvZGluZyBhbGxvd3MgaGlnaGVyIHBsYXliYWNrIHF1YWxpdHkgYWNyb3NzIGEgcmFuZ2Ugb2YgZG93bmxvYWQgc3BlZWRzLiBSZXNvbHV0aW9uIGNhbiBiZSB1cCB0byAxMDgwcCBhbmQgYml0cmF0ZSBjYW4gYmUgdXAgdG8gOC41IE1icHMuXG4gICAqIEF1ZGlvIGlzIHRyYW5zY29kZWQgb25seSBmb3IgcmVuZGl0aW9ucyAzNjBwIGFuZCBiZWxvdzsgYWJvdmUgdGhhdCwgYXVkaW8gaXMgcGFzc2VkIHRocm91Z2guXG4gICAqL1xuICBTVEFOREFSRCA9ICdTVEFOREFSRCcsXG5cbiAgLyoqXG4gICAqIERlbGl2ZXJzIHRoZSBvcmlnaW5hbCBpbnB1dCB0byB2aWV3ZXJzLiBUaGUgdmlld2Vy4oCZcyB2aWRlby1xdWFsaXR5IGNob2ljZSBpcyBsaW1pdGVkIHRvIHRoZSBvcmlnaW5hbCBpbnB1dC5cbiAgICovXG4gIEJBU0lDID0gJ0JBU0lDJyxcblxuICAvKipcbiAgICogTXVsdGlwbGUgcXVhbGl0aWVzIGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgaW5wdXQsIHRvIGF1dG9tYXRpY2FsbHkgZ2l2ZSB2aWV3ZXJzIHRoZSBiZXN0IGV4cGVyaWVuY2UgZm9yIHRoZWlyIGRldmljZXMgYW5kIG5ldHdvcmsgY29uZGl0aW9ucy5cbiAgICogSW5wdXQgcmVzb2x1dGlvbiBjYW4gYmUgdXAgdG8gMTA4MHAgYW5kIGJpdHJhdGUgY2FuIGJlIHVwIHRvIDguNSBNYnBzOyBvdXRwdXQgaXMgY2FwcGVkIGF0IFNEIHF1YWxpdHkgKDQ4MHApLlxuICAgKiBBdWRpbyBmb3IgYWxsIHJlbmRpdGlvbnMgaXMgdHJhbnNjb2RlZCwgYW5kIGFuIGF1ZGlvLW9ubHkgcmVuZGl0aW9uIGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIEFEVkFOQ0VEX1NEID0gJ0FEVkFOQ0VEX1NEJyxcblxuICAvKipcbiAgICogTXVsdGlwbGUgcXVhbGl0aWVzIGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgaW5wdXQsIHRvIGF1dG9tYXRpY2FsbHkgZ2l2ZSB2aWV3ZXJzIHRoZSBiZXN0IGV4cGVyaWVuY2UgZm9yIHRoZWlyIGRldmljZXMgYW5kIG5ldHdvcmsgY29uZGl0aW9ucy5cbiAgICogSW5wdXQgcmVzb2x1dGlvbiBjYW4gYmUgdXAgdG8gMTA4MHAgYW5kIGJpdHJhdGUgY2FuIGJlIHVwIHRvIDguNSBNYnBzOyBvdXRwdXQgaXMgY2FwcGVkIGF0IEhEIHF1YWxpdHkgKDcyMHApLlxuICAgKiBBdWRpbyBmb3IgYWxsIHJlbmRpdGlvbnMgaXMgdHJhbnNjb2RlZCwgYW5kIGFuIGF1ZGlvLW9ubHkgcmVuZGl0aW9uIGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIEFEVkFOQ0VEX0hEID0gJ0FEVkFOQ0VEX0hEJyxcbn1cblxuLyoqXG4gICogQW4gb3B0aW9uYWwgdHJhbnNjb2RlIHByZXNldCBmb3IgdGhlIGNoYW5uZWwuIFRoaXMgaXMgc2VsZWN0YWJsZSBvbmx5IGZvciBBRFZBTkNFRF9IRCBhbmQgQURWQU5DRURfU0QgY2hhbm5lbCB0eXBlcy5cbiAgKlxuICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWl2cy1jaGFubmVsLmh0bWxcbiovXG5leHBvcnQgZW51bSBQcmVzZXQge1xuICAvKipcbiAgICogVXNlIGEgbG93ZXIgYml0cmF0ZSB0aGFuIFNUQU5EQVJEIGZvciBlYWNoIHF1YWxpdHkgbGV2ZWwuIFVzZSBpdCBpZiB5b3UgaGF2ZSBsb3cgZG93bmxvYWQgYmFuZHdpZHRoIGFuZC9vciBzaW1wbGUgdmlkZW8gY29udGVudCAoZS5nLiwgdGFsa2luZyBoZWFkcykuXG4gICAqL1xuICBDT05TVFJBSU5FRF9CQU5EV0lEVEhfREVMSVZFUlkgPSAnQ09OU1RSQUlORURfQkFORFdJRFRIX0RFTElWRVJZJyxcblxuICAvKipcbiAgICogVXNlIGEgaGlnaGVyIGJpdHJhdGUgZm9yIGVhY2ggcXVhbGl0eSBsZXZlbC4gVXNlIGl0IGlmIHlvdSBoYXZlIGhpZ2ggZG93bmxvYWQgYmFuZHdpZHRoIGFuZC9vciBjb21wbGV4IHZpZGVvIGNvbnRlbnQgKGUuZy4sIGZsYXNoZXMgYW5kIHF1aWNrIHNjZW5lIGNoYW5nZXMpLlxuICAgKi9cbiAgSElHSEVSX0JBTkRXSURUSF9ERUxJVkVSWSA9ICdISUdIRVJfQkFORFdJRFRIX0RFTElWRVJZJyxcblxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgbmV3IENoYW5uZWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hhbm5lbCBpcyBhdXRob3JpemVkLlxuICAgKlxuICAgKiBJZiB5b3Ugd2lzaCB0byBtYWtlIGFuIGF1dGhvcml6ZWQgY2hhbm5lbCwgeW91IHdpbGwgbmVlZCB0byBlbnN1cmUgdGhhdFxuICAgKiBhIFBsYXliYWNrS2V5UGFpciBoYXMgYmVlbiB1cGxvYWRlZCB0byB5b3VyIGFjY291bnQgYXMgdGhpcyBpcyB1c2VkIHRvXG4gICAqIHZhbGlkYXRlIHRoZSBzaWduZWQgSldUIHRoYXQgaXMgcmVxdWlyZWQgZm9yIGF1dGhvcml6YXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGFubmVsIGFsbG93cyBpbnNlY3VyZSBSVE1QIGluZ2VzdC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGluc2VjdXJlSW5nZXN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ2hhbm5lbCBsYXRlbmN5IG1vZGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IExhdGVuY3lNb2RlLkxPV1xuICAgKi9cbiAgcmVhZG9ubHkgbGF0ZW5jeU1vZGU/OiBMYXRlbmN5TW9kZTtcblxuICAvKipcbiAgICogQSBuYW1lIGZvciB0aGUgY2hhbm5lbC5cbiAgICpcbiAgICogQGRlZmF1bHQgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbm5lbE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjaGFubmVsIHR5cGUsIHdoaWNoIGRldGVybWluZXMgdGhlIGFsbG93YWJsZSByZXNvbHV0aW9uIGFuZCBiaXRyYXRlLlxuICAgKiBJZiB5b3UgZXhjZWVkIHRoZSBhbGxvd2FibGUgcmVzb2x1dGlvbiBvciBiaXRyYXRlLCB0aGUgc3RyZWFtIHdpbGwgZGlzY29ubmVjdCBpbW1lZGlhdGVseVxuICAgKlxuICAgKiBAZGVmYXVsdCBDaGFubmVsVHlwZS5TVEFOREFSRFxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZT86IENoYW5uZWxUeXBlO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCB0cmFuc2NvZGUgcHJlc2V0IGZvciB0aGUgY2hhbm5lbC4gQ2FuIGJlIHVzZWQgZm9yIEFEVkFOQ0VEX0hEIGFuZCBBRFZBTkNFRF9TRCBjaGFubmVsIHR5cGVzLlxuICAgKiBXaGVuIExPVyBvciBTVEFOREFSRCBpcyB1c2VkLCB0aGUgcHJlc2V0IHdpbGwgYmUgb3ZlcnJpZGRlbiBhbmQgc2V0IHRvIG5vbmUgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgcHJvdmlkZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUHJlc2V0LkhJR0hFUl9CQU5EV0lEVEhfREVMSVZFUlkgaWYgY2hhbm5lbFR5cGUgaXMgQURWQU5DRURfU0Qgb3IgQURWQU5DRURfSEQsIG5vbmUgb3RoZXJ3aXNlXG4gICAqL1xuICByZWFkb25seSBwcmVzZXQ/OiBQcmVzZXQ7XG5cbiAgLyoqXG4gICAqIEEgcmVjb3JkaW5nIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjaGFubmVsLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJlY29yZGluZyBpcyBkaXNhYmxlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVjb3JkaW5nQ29uZmlndXJhdGlvbj86IElSZWNvcmRpbmdDb25maWd1cmF0aW9uO1xufVxuXG4vKipcbiAgQSBuZXcgSVZTIGNoYW5uZWxcbiovXG5leHBvcnQgY2xhc3MgQ2hhbm5lbCBleHRlbmRzIENoYW5uZWxCYXNlIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBjaGFubmVsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21DaGFubmVsQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNoYW5uZWxBcm46IHN0cmluZyk6IElDaGFubmVsIHtcbiAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIGFybiBjYW5ub3QgYmUgcGFyc2VkXG4gICAgbGV0IGFybkNvbXBvbmVudHMgPSBjb3JlLkFybi5zcGxpdChjaGFubmVsQXJuLCBjb3JlLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKTtcblxuICAgIGlmICghY29yZS5Ub2tlbi5pc1VucmVzb2x2ZWQoYXJuQ29tcG9uZW50cy5zZXJ2aWNlKSAmJiBhcm5Db21wb25lbnRzLnNlcnZpY2UgIT09ICdpdnMnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZSwgZXhwZWN0ZWQgJ2l2cycsIGdvdCAnJHthcm5Db21wb25lbnRzLnNlcnZpY2V9J2ApO1xuICAgIH1cblxuICAgIGlmICghY29yZS5Ub2tlbi5pc1VucmVzb2x2ZWQoYXJuQ29tcG9uZW50cy5yZXNvdXJjZSkgJiYgYXJuQ29tcG9uZW50cy5yZXNvdXJjZSAhPT0gJ2NoYW5uZWwnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVzb3VyY2UsIGV4cGVjdGVkICdjaGFubmVsJywgZ290ICcke2FybkNvbXBvbmVudHMucmVzb3VyY2V9J2ApO1xuICAgIH1cblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIENoYW5uZWxCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBjaGFubmVsQXJuID0gY2hhbm5lbEFybjtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5uZWxBcm46IHN0cmluZztcblxuICAvKipcbiAgKiBDaGFubmVsIGluZ2VzdCBlbmRwb2ludCwgcGFydCBvZiB0aGUgZGVmaW5pdGlvbiBvZiBhbiBpbmdlc3Qgc2VydmVyLCB1c2VkIHdoZW4geW91IHNldCB1cCBzdHJlYW1pbmcgc29mdHdhcmUuXG4gICogRm9yIGV4YW1wbGU6IGExYjJjM2Q0ZTVmNi5nbG9iYWwtY29udHJpYnV0ZS5saXZlLXZpZGVvLm5ldFxuICAqIEBhdHRyaWJ1dGVcbiAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5uZWxJbmdlc3RFbmRwb2ludDogc3RyaW5nO1xuXG4gIC8qKlxuICAqIENoYW5uZWwgcGxheWJhY2sgVVJMLiBGb3IgZXhhbXBsZTpcbiAgKiBodHRwczovL2ExYjJjM2Q0ZTVmNi51cy13ZXN0LTIucGxheWJhY2subGl2ZS12aWRlby5uZXQvYXBpL3ZpZGVvL3YxL3VzLXdlc3QtMi4xMjM0NTY3ODkwMTIuY2hhbm5lbC5hYmNkRUZHSC5tM3U4XG4gICogQGF0dHJpYnV0ZVxuICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2hhbm5lbFBsYXliYWNrVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENoYW5uZWxQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmNoYW5uZWxOYW1lID8/IExhenkuc3RyaW5nKHtcbiAgICAgICAgcHJvZHVjZTogKCkgPT4gTmFtZXMudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHsgbWF4TGVuZ3RoOiAxMjgsIGFsbG93ZWRTcGVjaWFsQ2hhcmFjdGVyczogJy1fJyB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucGh5c2ljYWxOYW1lICYmICFjb3JlLlRva2VuLmlzVW5yZXNvbHZlZCh0aGlzLnBoeXNpY2FsTmFtZSkgJiYgIS9eW2EtekEtWjAtOS1fXSokLy50ZXN0KHRoaXMucGh5c2ljYWxOYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjaGFubmVsTmFtZSBtdXN0IGNvbnRhaW4gb25seSBudW1iZXJzLCBsZXR0ZXJzLCBoeXBoZW5zIGFuZCB1bmRlcnNjb3JlcywgZ290OiAnJHt0aGlzLnBoeXNpY2FsTmFtZX0nYCk7XG4gICAgfVxuXG4gICAgbGV0IHByZXNldDtcblxuICAgIGlmIChwcm9wcy50eXBlICYmIFtDaGFubmVsVHlwZS5TVEFOREFSRCwgQ2hhbm5lbFR5cGUuQkFTSUNdLmluY2x1ZGVzKHByb3BzLnR5cGUpICYmIHByb3BzLnByZXNldCkge1xuICAgICAgcHJlc2V0ID0gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByZXNldCA9IHByb3BzLnByZXNldDtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5DaGFubmVsKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGF1dGhvcml6ZWQ6IHByb3BzLmF1dGhvcml6ZWQsXG4gICAgICBpbnNlY3VyZUluZ2VzdDogcHJvcHMuaW5zZWN1cmVJbmdlc3QsXG4gICAgICBsYXRlbmN5TW9kZTogcHJvcHMubGF0ZW5jeU1vZGUsXG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIHR5cGU6IHByb3BzLnR5cGUsXG4gICAgICBwcmVzZXQsXG4gICAgICByZWNvcmRpbmdDb25maWd1cmF0aW9uQXJuOiBwcm9wcy5yZWNvcmRpbmdDb25maWd1cmF0aW9uPy5yZWNvcmRpbmdDb25maWd1cmF0aW9uQXJuLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jaGFubmVsQXJuID0gcmVzb3VyY2UuYXR0ckFybjtcbiAgICB0aGlzLmNoYW5uZWxJbmdlc3RFbmRwb2ludCA9IHJlc291cmNlLmF0dHJJbmdlc3RFbmRwb2ludDtcbiAgICB0aGlzLmNoYW5uZWxQbGF5YmFja1VybCA9IHJlc291cmNlLmF0dHJQbGF5YmFja1VybDtcbiAgfVxufVxuIl19
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -16,6 +16,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./channel"), exports);
|
|
18
18
|
__exportStar(require("./playback-key-pair"), exports);
|
|
19
|
+
__exportStar(require("./recording-configuration"), exports);
|
|
20
|
+
__exportStar(require("./rendition-configuration"), exports);
|
|
19
21
|
__exportStar(require("./stream-key"), exports);
|
|
22
|
+
__exportStar(require("./thumbnail-configuration"), exports);
|
|
23
|
+
__exportStar(require("./util"), exports);
|
|
20
24
|
// AWS::IVS CloudFormation Resources:
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQTBCO0FBQzFCLHNEQUFvQztBQUNwQyw0REFBMEM7QUFDMUMsNERBQTBDO0FBQzFDLCtDQUE2QjtBQUM3Qiw0REFBMEM7QUFDMUMseUNBQXVCO0FBRXZCLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhbm5lbCc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXliYWNrLWtleS1wYWlyJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkaW5nLWNvbmZpZ3VyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZW5kaXRpb24tY29uZmlndXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3N0cmVhbS1rZXknO1xuZXhwb3J0ICogZnJvbSAnLi90aHVtYm5haWwtY29uZmlndXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwnO1xuXG4vLyBBV1M6OklWUyBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZXM6XG4iXX0=
|
package/lib/playback-key-pair.js
CHANGED
|
@@ -44,5 +44,5 @@ class PlaybackKeyPair extends PlaybackKeyPairBase {
|
|
|
44
44
|
}
|
|
45
45
|
exports.PlaybackKeyPair = PlaybackKeyPair;
|
|
46
46
|
_a = JSII_RTTI_SYMBOL_1;
|
|
47
|
-
PlaybackKeyPair[_a] = { fqn: "@aws-cdk/aws-ivs-alpha.PlaybackKeyPair", version: "2.
|
|
47
|
+
PlaybackKeyPair[_a] = { fqn: "@aws-cdk/aws-ivs-alpha.PlaybackKeyPair", version: "2.167.1-alpha.0" };
|
|
48
48
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWJhY2sta2V5LXBhaXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwbGF5YmFjay1rZXktcGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx5Q0FBeUM7QUFDekMsMkNBQStDO0FBRS9DLGlEQUF5RDtBQWN6RDs7R0FFRztBQUNILE1BQWUsbUJBQW9CLFNBQVEsSUFBSSxDQUFDLFFBQVE7Q0FHdkQ7QUFvQkQ7O0VBRUU7QUFDRixNQUFhLGVBQWdCLFNBQVEsbUJBQW1CO0lBVXRELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixJQUFJLFdBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ3JELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNsRyxDQUFDO1NBQ0gsQ0FBQyxDQUFDOzs7Ozs7K0NBZk0sZUFBZTs7OztRQWlCeEIsSUFBSSxLQUFLLENBQUMsbUJBQW1CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQzVJLE1BQU0sSUFBSSxLQUFLLENBQUMsMEZBQTBGLEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDMUksQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksNEJBQWtCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUN4RCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLElBQUksRUFBRSxLQUFLLENBQUMsbUJBQW1CO1NBQ2hDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQzNDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO0tBQzVEOztBQTVCSCwwQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb3JlIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgTGF6eSwgTmFtZXMgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2ZuUGxheWJhY2tLZXlQYWlyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWl2cyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBJVlMgUGxheWJhY2sgS2V5IFBhaXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGxheWJhY2tLZXlQYWlyIGV4dGVuZHMgY29yZS5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogS2V5LXBhaXIgQVJOLiBGb3IgZXhhbXBsZTogYXJuOmF3czppdnM6dXMtd2VzdC0yOjY5Mzk5MTMwMDU2OTpwbGF5YmFjay1rZXkvZjk5Y2RlNjEtYzJiMC00ZGYzLTg5NDEtY2E3ZDM4YWNjYTFhXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHBsYXliYWNrS2V5UGFpckFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlZmVyZW5jZSB0byBhIG5ldyBvciBleGlzdGluZyBJVlMgUGxheWJhY2sgS2V5IFBhaXJcbiAqL1xuYWJzdHJhY3QgY2xhc3MgUGxheWJhY2tLZXlQYWlyQmFzZSBleHRlbmRzIGNvcmUuUmVzb3VyY2UgaW1wbGVtZW50cyBJUGxheWJhY2tLZXlQYWlyIHtcbiAgLy8gdGhlc2Ugc3RheSBhYnN0cmFjdCBhdCB0aGlzIGxldmVsXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBwbGF5YmFja0tleVBhaXJBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIG5ldyBQbGF5YmFjayBLZXkgUGFpclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYXliYWNrS2V5UGFpclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMgcG9ydGlvbiBvZiBhIGN1c3RvbWVyLWdlbmVyYXRlZCBrZXkgcGFpci5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0tleU1hdGVyaWFsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIGFyYml0cmFyeSBzdHJpbmcgKGEgbmlja25hbWUpIGFzc2lnbmVkIHRvIGEgcGxheWJhY2sga2V5IHBhaXIgdGhhdCBoZWxwcyB0aGUgY3VzdG9tZXIgaWRlbnRpZnkgdGhhdCByZXNvdXJjZS5cbiAgICogVGhlIHZhbHVlIGRvZXMgbm90IG5lZWQgdG8gYmUgdW5pcXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSBwbGF5YmFja0tleVBhaXJOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAgQSBuZXcgSVZTIFBsYXliYWNrIEtleSBQYWlyXG4qL1xuZXhwb3J0IGNsYXNzIFBsYXliYWNrS2V5UGFpciBleHRlbmRzIFBsYXliYWNrS2V5UGFpckJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcGxheWJhY2tLZXlQYWlyQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICogS2V5LXBhaXIgaWRlbnRpZmllci4gRm9yIGV4YW1wbGU6IDk4OjBkOjFhOmEwOjE5Ojk2OjFlOmVhOjBhOjBhOjJjOjlhOjQyOjE5OjJiOmU3XG4gICpcbiAgKiBAYXR0cmlidXRlXG4gICovXG4gIHB1YmxpYyByZWFkb25seSBwbGF5YmFja0tleVBhaXJGaW5nZXJwcmludDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQbGF5YmFja0tleVBhaXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5wbGF5YmFja0tleVBhaXJOYW1lID8/IExhenkuc3RyaW5nKHtcbiAgICAgICAgcHJvZHVjZTogKCkgPT4gTmFtZXMudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHsgbWF4TGVuZ3RoOiAxMjgsIGFsbG93ZWRTcGVjaWFsQ2hhcmFjdGVyczogJy1fJyB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLnBsYXliYWNrS2V5UGFpck5hbWUgJiYgIWNvcmUuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLnBsYXliYWNrS2V5UGFpck5hbWUpICYmICEvXlthLXpBLVowLTktX10qJC8udGVzdChwcm9wcy5wbGF5YmFja0tleVBhaXJOYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBwbGF5YmFja0tleVBhaXJOYW1lIG11c3QgY29udGFpbiBvbmx5IG51bWJlcnMsIGxldHRlcnMsIGh5cGhlbnMgYW5kIHVuZGVyc2NvcmVzLCBnb3Q6ICcke3Byb3BzLnBsYXliYWNrS2V5UGFpck5hbWV9J2ApO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmblBsYXliYWNrS2V5UGFpcih0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBwdWJsaWNLZXlNYXRlcmlhbDogcHJvcHMucHVibGljS2V5TWF0ZXJpYWwsXG4gICAgICBuYW1lOiBwcm9wcy5wbGF5YmFja0tleVBhaXJOYW1lLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wbGF5YmFja0tleVBhaXJBcm4gPSByZXNvdXJjZS5hdHRyQXJuO1xuICAgIHRoaXMucGxheWJhY2tLZXlQYWlyRmluZ2VycHJpbnQgPSByZXNvdXJjZS5hdHRyRmluZ2VycHJpbnQ7XG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { IBucket } from 'aws-cdk-lib/aws-s3';
|
|
2
|
+
import { Duration, IResource, Resource } from 'aws-cdk-lib/core';
|
|
3
|
+
import { Construct } from 'constructs';
|
|
4
|
+
import { RenditionConfiguration } from './rendition-configuration';
|
|
5
|
+
import { ThumbnailConfiguration } from './thumbnail-configuration';
|
|
6
|
+
/**
|
|
7
|
+
* Properties of the IVS Recording configuration
|
|
8
|
+
*/
|
|
9
|
+
export interface RecordingConfigurationProps {
|
|
10
|
+
/**
|
|
11
|
+
* S3 bucket where recorded videos will be stored.
|
|
12
|
+
*/
|
|
13
|
+
readonly bucket: IBucket;
|
|
14
|
+
/**
|
|
15
|
+
* The name of the Recording configuration.
|
|
16
|
+
* The value does not need to be unique.
|
|
17
|
+
*
|
|
18
|
+
* @default - auto generate
|
|
19
|
+
*/
|
|
20
|
+
readonly recordingConfigurationName?: string;
|
|
21
|
+
/**
|
|
22
|
+
* If a broadcast disconnects and then reconnects within the specified interval,
|
|
23
|
+
* the multiple streams will be considered a single broadcast and merged together.
|
|
24
|
+
*
|
|
25
|
+
* `recordingReconnectWindow` must be between 0 and 300 seconds
|
|
26
|
+
*
|
|
27
|
+
* @default - 0 seconds (means disabled)
|
|
28
|
+
*/
|
|
29
|
+
readonly recordingReconnectWindow?: Duration;
|
|
30
|
+
/**
|
|
31
|
+
* A rendition configuration describes which renditions should be recorded for a stream.
|
|
32
|
+
*
|
|
33
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-renditionconfiguration.html
|
|
34
|
+
*
|
|
35
|
+
* @default - no rendition configuration
|
|
36
|
+
*/
|
|
37
|
+
readonly renditionConfiguration?: RenditionConfiguration;
|
|
38
|
+
/**
|
|
39
|
+
* A thumbnail configuration enables/disables the recording of thumbnails for a live session and controls the interval at which thumbnails are generated for the live session.
|
|
40
|
+
*
|
|
41
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-recordingconfiguration-thumbnailconfiguration.html
|
|
42
|
+
*
|
|
43
|
+
* @default - no thumbnail configuration
|
|
44
|
+
*/
|
|
45
|
+
readonly thumbnailConfiguration?: ThumbnailConfiguration;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Represents the IVS Recording configuration.
|
|
49
|
+
*/
|
|
50
|
+
export interface IRecordingConfiguration extends IResource {
|
|
51
|
+
/**
|
|
52
|
+
* The ID of the Recording configuration.
|
|
53
|
+
* @attribute
|
|
54
|
+
*/
|
|
55
|
+
readonly recordingConfigurationId: string;
|
|
56
|
+
/**
|
|
57
|
+
* The ARN of the Recording configuration.
|
|
58
|
+
* @attribute
|
|
59
|
+
*/
|
|
60
|
+
readonly recordingConfigurationArn: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The IVS Recording configuration
|
|
64
|
+
*
|
|
65
|
+
* @resource AWS::IVS::RecordingConfiguration
|
|
66
|
+
*/
|
|
67
|
+
export declare class RecordingConfiguration extends Resource implements IRecordingConfiguration {
|
|
68
|
+
/**
|
|
69
|
+
* Imports an IVS Recording Configuration from attributes.
|
|
70
|
+
*/
|
|
71
|
+
static fromRecordingConfigurationId(scope: Construct, id: string, recordingConfigurationId: string): IRecordingConfiguration;
|
|
72
|
+
/**
|
|
73
|
+
* Imports an IVS Recording Configuration from its ARN
|
|
74
|
+
*/
|
|
75
|
+
static fromArn(scope: Construct, id: string, recordingConfigurationArn: string): IRecordingConfiguration;
|
|
76
|
+
/**
|
|
77
|
+
* The ID of the Recording configuration.
|
|
78
|
+
* @attribute
|
|
79
|
+
*/
|
|
80
|
+
readonly recordingConfigurationId: string;
|
|
81
|
+
/**
|
|
82
|
+
* The ARN of the Recording configuration.
|
|
83
|
+
* @attribute
|
|
84
|
+
*/
|
|
85
|
+
readonly recordingConfigurationArn: string;
|
|
86
|
+
private readonly props;
|
|
87
|
+
constructor(scope: Construct, id: string, props: RecordingConfigurationProps);
|
|
88
|
+
private _renderRenditionConfiguration;
|
|
89
|
+
private _renderThumbnailConfiguration;
|
|
90
|
+
private validateRecordingConfigurationName;
|
|
91
|
+
private validateRecordingReconnectWindowSeconds;
|
|
92
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.RecordingConfiguration = void 0;
|
|
5
|
+
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
6
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
7
|
+
const aws_ivs_1 = require("aws-cdk-lib/aws-ivs");
|
|
8
|
+
const core_1 = require("aws-cdk-lib/core");
|
|
9
|
+
/**
|
|
10
|
+
* The IVS Recording configuration
|
|
11
|
+
*
|
|
12
|
+
* @resource AWS::IVS::RecordingConfiguration
|
|
13
|
+
*/
|
|
14
|
+
class RecordingConfiguration extends core_1.Resource {
|
|
15
|
+
/**
|
|
16
|
+
* Imports an IVS Recording Configuration from attributes.
|
|
17
|
+
*/
|
|
18
|
+
static fromRecordingConfigurationId(scope, id, recordingConfigurationId) {
|
|
19
|
+
class Import extends core_1.Resource {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this.recordingConfigurationId = recordingConfigurationId;
|
|
23
|
+
this.recordingConfigurationArn = core_1.Stack.of(this).formatArn({
|
|
24
|
+
resource: 'recording-configuration',
|
|
25
|
+
service: 'ivs',
|
|
26
|
+
resourceName: recordingConfigurationId,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return new Import(scope, id);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Imports an IVS Recording Configuration from its ARN
|
|
34
|
+
*/
|
|
35
|
+
static fromArn(scope, id, recordingConfigurationArn) {
|
|
36
|
+
const resourceParts = core_1.Fn.split('/', recordingConfigurationArn);
|
|
37
|
+
if (!resourceParts || resourceParts.length < 2) {
|
|
38
|
+
throw new Error(`Unexpected ARN format: ${recordingConfigurationArn}`);
|
|
39
|
+
}
|
|
40
|
+
const recordingConfigurationId = core_1.Fn.select(1, resourceParts);
|
|
41
|
+
class Import extends core_1.Resource {
|
|
42
|
+
constructor() {
|
|
43
|
+
super(...arguments);
|
|
44
|
+
this.recordingConfigurationId = recordingConfigurationId;
|
|
45
|
+
this.recordingConfigurationArn = recordingConfigurationArn;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return new Import(scope, id);
|
|
49
|
+
}
|
|
50
|
+
constructor(scope, id, props) {
|
|
51
|
+
super(scope, id, {
|
|
52
|
+
physicalName: props.recordingConfigurationName,
|
|
53
|
+
});
|
|
54
|
+
try {
|
|
55
|
+
jsiiDeprecationWarnings._aws_cdk_aws_ivs_alpha_RecordingConfigurationProps(props);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
59
|
+
Error.captureStackTrace(error, RecordingConfiguration);
|
|
60
|
+
}
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
this.props = props;
|
|
64
|
+
this.validateRecordingConfigurationName();
|
|
65
|
+
this.validateRecordingReconnectWindowSeconds();
|
|
66
|
+
const resource = new aws_ivs_1.CfnRecordingConfiguration(this, 'Resource', {
|
|
67
|
+
destinationConfiguration: {
|
|
68
|
+
s3: {
|
|
69
|
+
bucketName: this.props.bucket.bucketName,
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
name: this.props.recordingConfigurationName,
|
|
73
|
+
recordingReconnectWindowSeconds: this.props.recordingReconnectWindow?.toSeconds(),
|
|
74
|
+
renditionConfiguration: this._renderRenditionConfiguration(),
|
|
75
|
+
thumbnailConfiguration: this._renderThumbnailConfiguration(),
|
|
76
|
+
});
|
|
77
|
+
this.recordingConfigurationId = resource.ref;
|
|
78
|
+
this.recordingConfigurationArn = resource.attrArn;
|
|
79
|
+
}
|
|
80
|
+
_renderRenditionConfiguration() {
|
|
81
|
+
if (!this.props.renditionConfiguration) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
renditions: this.props.renditionConfiguration.renditions,
|
|
86
|
+
renditionSelection: this.props.renditionConfiguration.renditionSelection,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
;
|
|
90
|
+
_renderThumbnailConfiguration() {
|
|
91
|
+
if (!this.props.thumbnailConfiguration) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
recordingMode: this.props.thumbnailConfiguration.recordingMode,
|
|
96
|
+
resolution: this.props.thumbnailConfiguration.resolution,
|
|
97
|
+
storage: this.props.thumbnailConfiguration.storage,
|
|
98
|
+
targetIntervalSeconds: this.props.thumbnailConfiguration.targetInterval?.toSeconds(),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
;
|
|
102
|
+
validateRecordingConfigurationName() {
|
|
103
|
+
const recordingConfigurationName = this.props.recordingConfigurationName;
|
|
104
|
+
if (recordingConfigurationName == undefined || core_1.Token.isUnresolved(recordingConfigurationName)) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (!/^[a-zA-Z0-9-_]*$/.test(recordingConfigurationName)) {
|
|
108
|
+
throw new Error(`\`recordingConfigurationName\` must consist only of alphanumeric characters, hyphens or underbars, got: ${recordingConfigurationName}.`);
|
|
109
|
+
}
|
|
110
|
+
if (recordingConfigurationName.length > 128) {
|
|
111
|
+
throw new Error(`\`recordingConfigurationName\` must be less than or equal to 128 characters, got: ${recordingConfigurationName.length} characters.`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
;
|
|
115
|
+
validateRecordingReconnectWindowSeconds() {
|
|
116
|
+
const recordingReconnectWindow = this.props.recordingReconnectWindow;
|
|
117
|
+
if (recordingReconnectWindow === undefined || core_1.Token.isUnresolved(recordingReconnectWindow)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (0 < recordingReconnectWindow.toMilliseconds() && recordingReconnectWindow.toMilliseconds() < core_1.Duration.seconds(1).toMilliseconds()) {
|
|
121
|
+
throw new Error(`\`recordingReconnectWindow\` must be between 0 and 300 seconds, got ${recordingReconnectWindow.toMilliseconds()} milliseconds.`);
|
|
122
|
+
}
|
|
123
|
+
if (recordingReconnectWindow.toSeconds() > 300) {
|
|
124
|
+
throw new Error(`\`recordingReconnectWindow\` must be between 0 and 300 seconds, got ${recordingReconnectWindow.toSeconds()} seconds.`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
;
|
|
128
|
+
}
|
|
129
|
+
exports.RecordingConfiguration = RecordingConfiguration;
|
|
130
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
131
|
+
RecordingConfiguration[_a] = { fqn: "@aws-cdk/aws-ivs-alpha.RecordingConfiguration", version: "2.167.1-alpha.0" };
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWNvcmRpbmctY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpREFBZ0U7QUFFaEUsMkNBQW1GO0FBb0VuRjs7OztHQUlHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxlQUFRO0lBQ2xEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLDRCQUE0QixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUNyRSx3QkFBZ0M7UUFFaEMsTUFBTSxNQUFPLFNBQVEsZUFBUTtZQUE3Qjs7Z0JBQ2tCLDZCQUF3QixHQUFHLHdCQUF3QixDQUFDO2dCQUNwRCw4QkFBeUIsR0FBRyxZQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDbkUsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsWUFBWSxFQUFFLHdCQUF3QjtpQkFDdkMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUFBO1FBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDOUI7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUseUJBQWlDO1FBQ25GLE1BQU0sYUFBYSxHQUFHLFNBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBRUQsTUFBTSx3QkFBd0IsR0FBRyxTQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUU3RCxNQUFNLE1BQU8sU0FB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MEJBQTBCLENBQUMsTUFBTSxjQUFjLENBQUMsQ0FBQztRQUN4SixDQUFDO0tBQ0Y7SUFBQSxDQUFDO0lBRU0sdUNBQXVDO1FBQzdDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztRQUVyRSxJQUFJLHdCQUF3QixLQUFLLFNBQVMsSUFBSSxZQUFLLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztZQUMzRixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxHQUFHLHdCQUF3QixDQUFDLGNBQWMsRUFBRSxJQUFJLHdCQUF3QixDQUFDLGNBQWMsRUFBRSxHQUFHLGVBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUN0SSxNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSx3QkFBd0IsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNwSixDQUFDO1FBRUQsSUFBSSx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDMUksQ0FBQztLQUNGO0lBQUEsQ0FBQzs7QUFySUosd0RBc0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVjb3JkaW5nQ29uZmlndXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pdnMnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBEdXJhdGlvbiwgRm4sIElSZXNvdXJjZSwgUmVzb3VyY2UsIFN0YWNrLCBUb2tlbiB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSZW5kaXRpb25Db25maWd1cmF0aW9uIH0gZnJvbSAnLi9yZW5kaXRpb24tY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBUaHVtYm5haWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi90aHVtYm5haWwtY29uZmlndXJhdGlvbic7XG5cbi8qKlxuICogUHJvcGVydGllcyBvZiB0aGUgSVZTIFJlY29yZGluZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkaW5nQ29uZmlndXJhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFMzIGJ1Y2tldCB3aGVyZSByZWNvcmRlZCB2aWRlb3Mgd2lsbCBiZSBzdG9yZWQuXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBSZWNvcmRpbmcgY29uZmlndXJhdGlvbi5cbiAgICogVGhlIHZhbHVlIGRvZXMgbm90IG5lZWQgdG8gYmUgdW5pcXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGF1dG8gZ2VuZXJhdGVcbiAgICovXG4gIHJlYWRvbmx5IHJlY29yZGluZ0NvbmZpZ3VyYXRpb25OYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiBhIGJyb2FkY2FzdCBkaXNjb25uZWN0cyBhbmQgdGhlbiByZWNvbm5lY3RzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIGludGVydmFsLFxuICAgKiB0aGUgbXVsdGlwbGUgc3RyZWFtcyB3aWxsIGJlIGNvbnNpZGVyZWQgYSBzaW5nbGUgYnJvYWRjYXN0IGFuZCBtZXJnZWQgdG9nZXRoZXIuXG4gICAqXG4gICAqIGByZWNvcmRpbmdSZWNvbm5lY3RXaW5kb3dgIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAzMDAgc2Vjb25kc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIDAgc2Vjb25kcyAobWVhbnMgZGlzYWJsZWQpXG4gICAqL1xuICByZWFkb25seSByZWNvcmRpbmdSZWNvbm5lY3RXaW5kb3c/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogQSByZW5kaXRpb24gY29uZmlndXJhdGlvbiBkZXNjcmliZXMgd2hpY2ggcmVuZGl0aW9ucyBzaG91bGQgYmUgcmVjb3JkZWQgZm9yIGEgc3RyZWFtLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWl2cy1yZWNvcmRpbmdjb25maWd1cmF0aW9uLXJlbmRpdGlvbmNvbmZpZ3VyYXRpb24uaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJlbmRpdGlvbiBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSByZW5kaXRpb25Db25maWd1cmF0aW9uPzogUmVuZGl0aW9uQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogQSB0aHVtYm5haWwgY29uZmlndXJhdGlvbiBlbmFibGVzL2Rpc2FibGVzIHRoZSByZWNvcmRpbmcgb2YgdGh1bWJuYWlscyBmb3IgYSBsaXZlIHNlc3Npb24gYW5kIGNvbnRyb2xzIHRoZSBpbnRlcnZhbCBhdCB3aGljaCB0aHVtYm5haWxzIGFyZSBnZW5lcmF0ZWQgZm9yIHRoZSBsaXZlIHNlc3Npb24uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtaXZzLXJlY29yZGluZ2NvbmZpZ3VyYXRpb24tdGh1bWJuYWlsY29uZmlndXJhdGlvbi5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gdGh1bWJuYWlsIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHRodW1ibmFpbENvbmZpZ3VyYXRpb24/OlRodW1ibmFpbENvbmZpZ3VyYXRpb247XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgSVZTIFJlY29yZGluZyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElSZWNvcmRpbmdDb25maWd1cmF0aW9uIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgUmVjb3JkaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHJlY29yZGluZ0NvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBSZWNvcmRpbmcgY29uZmlndXJhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVjb3JkaW5nQ29uZmlndXJhdGlvbkFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBJVlMgUmVjb3JkaW5nIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpJVlM6OlJlY29yZGluZ0NvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFJlY29yZGluZ0NvbmZpZ3VyYXRpb24gZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElSZWNvcmRpbmdDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEltcG9ydHMgYW4gSVZTIFJlY29yZGluZyBDb25maWd1cmF0aW9uIGZyb20gYXR0cmlidXRlcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlY29yZGluZ0NvbmZpZ3VyYXRpb25JZChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLFxuICAgIHJlY29yZGluZ0NvbmZpZ3VyYXRpb25JZDogc3RyaW5nKTogSVJlY29yZGluZ0NvbmZpZ3VyYXRpb24ge1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJUmVjb3JkaW5nQ29uZmlndXJhdGlvbiB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgcmVjb3JkaW5nQ29uZmlndXJhdGlvbklkID0gcmVjb3JkaW5nQ29uZmlndXJhdGlvbklkO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHJlY29yZGluZ0NvbmZpZ3VyYXRpb25Bcm4gPSBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICByZXNvdXJjZTogJ3JlY29yZGluZy1jb25maWd1cmF0aW9uJyxcbiAgICAgICAgc2VydmljZTogJ2l2cycsXG4gICAgICAgIHJlc291cmNlTmFtZTogcmVjb3JkaW5nQ29uZmlndXJhdGlvbklkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIElWUyBSZWNvcmRpbmcgQ29uZmlndXJhdGlvbiBmcm9tIGl0cyBBUk5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCByZWNvcmRpbmdDb25maWd1cmF0aW9uQXJuOiBzdHJpbmcpOiBJUmVjb3JkaW5nQ29uZmlndXJhdGlvbiB7XG4gICAgY29uc3QgcmVzb3VyY2VQYXJ0cyA9IEZuLnNwbGl0KCcvJywgcmVjb3JkaW5nQ29uZmlndXJhdGlvbkFybik7XG5cbiAgICBpZiAoIXJlc291cmNlUGFydHMgfHwgcmVzb3VyY2VQYXJ0cy5sZW5ndGggPCAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgQVJOIGZvcm1hdDogJHtyZWNvcmRpbmdDb25maWd1cmF0aW9uQXJufWApO1xuICAgIH1cblxuICAgIGNvbnN0IHJlY29yZGluZ0NvbmZpZ3VyYXRpb25JZCA9IEZuLnNlbGVjdCgxLCByZXNvdXJjZVBhcnRzKTtcblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVJlY29yZGluZ0NvbmZpZ3VyYXRpb24ge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHJlY29yZGluZ0NvbmZpZ3VyYXRpb25JZCA9IHJlY29yZGluZ0NvbmZpZ3VyYXRpb25JZDtcbiAgICAgIHB1YmxpYyByZWFkb25seSByZWNvcmRpbmdDb25maWd1cmF0aW9uQXJuID0gcmVjb3JkaW5nQ29uZmlndXJhdGlvbkFybjtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgUmVjb3JkaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHJlY29yZGluZ0NvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBSZWNvcmRpbmcgY29uZmlndXJhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVjb3JkaW5nQ29uZmlndXJhdGlvbkFybjogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFJlY29yZGluZ0NvbmZpZ3VyYXRpb25Qcm9wcztcblxuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJlY29yZGluZ0NvbmZpZ3VyYXRpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5yZWNvcmRpbmdDb25maWd1cmF0aW9uTmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIHRoaXMudmFsaWRhdGVSZWNvcmRpbmdDb25maWd1cmF0aW9uTmFtZSgpO1xuICAgIHRoaXMudmFsaWRhdGVSZWNvcmRpbmdSZWNvbm5lY3RXaW5kb3dTZWNvbmRzKCk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5SZWNvcmRpbmdDb25maWd1cmF0aW9uKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGRlc3RpbmF0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBzMzoge1xuICAgICAgICAgIGJ1Y2tldE5hbWU6IHRoaXMucHJvcHMuYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbmFtZTogdGhpcy5wcm9wcy5yZWNvcmRpbmdDb25maWd1cmF0aW9uTmFtZSxcbiAgICAgIHJlY29yZGluZ1JlY29ubmVjdFdpbmRvd1NlY29uZHM6IHRoaXMucHJvcHMucmVjb3JkaW5nUmVjb25uZWN0V2luZG93Py50b1NlY29uZHMoKSxcbiAgICAgIHJlbmRpdGlvbkNvbmZpZ3VyYXRpb246IHRoaXMuX3JlbmRlclJlbmRpdGlvbkNvbmZpZ3VyYXRpb24oKSxcbiAgICAgIHRodW1ibmFpbENvbmZpZ3VyYXRpb246IHRoaXMuX3JlbmRlclRodW1ibmFpbENvbmZpZ3VyYXRpb24oKSxcbiAgICB9KTtcblxuICAgIHRoaXMucmVjb3JkaW5nQ29uZmlndXJhdGlvbklkID0gcmVzb3VyY2UucmVmO1xuICAgIHRoaXMucmVjb3JkaW5nQ29uZmlndXJhdGlvbkFybiA9IHJlc291cmNlLmF0dHJBcm47XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJSZW5kaXRpb25Db25maWd1cmF0aW9uKCk6IENmblJlY29yZGluZ0NvbmZpZ3VyYXRpb24uUmVuZGl0aW9uQ29uZmlndXJhdGlvblByb3BlcnR5IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMucHJvcHMucmVuZGl0aW9uQ29uZmlndXJhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICByZW5kaXRpb25zOiB0aGlzLnByb3BzLnJlbmRpdGlvbkNvbmZpZ3VyYXRpb24ucmVuZGl0aW9ucyxcbiAgICAgIHJlbmRpdGlvblNlbGVjdGlvbjogdGhpcy5wcm9wcy5yZW5kaXRpb25Db25maWd1cmF0aW9uLnJlbmRpdGlvblNlbGVjdGlvbixcbiAgICB9O1xuICB9O1xuXG4gIHByaXZhdGUgX3JlbmRlclRodW1ibmFpbENvbmZpZ3VyYXRpb24oKTogQ2ZuUmVjb3JkaW5nQ29uZmlndXJhdGlvbi5UaHVtYm5haWxDb25maWd1cmF0aW9uUHJvcGVydHkgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5wcm9wcy50aHVtYm5haWxDb25maWd1cmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJlY29yZGluZ01vZGU6IHRoaXMucHJvcHMudGh1bWJuYWlsQ29uZmlndXJhdGlvbi5yZWNvcmRpbmdNb2RlLFxuICAgICAgcmVzb2x1dGlvbjogdGhpcy5wcm9wcy50aHVtYm5haWxDb25maWd1cmF0aW9uLnJlc29sdXRpb24sXG4gICAgICBzdG9yYWdlOiB0aGlzLnByb3BzLnRodW1ibmFpbENvbmZpZ3VyYXRpb24uc3RvcmFnZSxcbiAgICAgIHRhcmdldEludGVydmFsU2Vjb25kczogdGhpcy5wcm9wcy50aHVtYm5haWxDb25maWd1cmF0aW9uLnRhcmdldEludGVydmFsPy50b1NlY29uZHMoKSxcbiAgICB9O1xuICB9O1xuXG4gIHByaXZhdGUgdmFsaWRhdGVSZWNvcmRpbmdDb25maWd1cmF0aW9uTmFtZSgpOiB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJlY29yZGluZ0NvbmZpZ3VyYXRpb25OYW1lID0gdGhpcy5wcm9wcy5yZWNvcmRpbmdDb25maWd1cmF0aW9uTmFtZTtcblxuICAgIGlmIChyZWNvcmRpbmdDb25maWd1cmF0aW9uTmFtZSA9PSB1bmRlZmluZWQgfHwgVG9rZW4uaXNVbnJlc29sdmVkKHJlY29yZGluZ0NvbmZpZ3VyYXRpb25OYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghL15bYS16QS1aMC05LV9dKiQvLnRlc3QocmVjb3JkaW5nQ29uZmlndXJhdGlvbk5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFxcYHJlY29yZGluZ0NvbmZpZ3VyYXRpb25OYW1lXFxgIG11c3QgY29uc2lzdCBvbmx5IG9mIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBoeXBoZW5zIG9yIHVuZGVyYmFycywgZ290OiAke3JlY29yZGluZ0NvbmZpZ3VyYXRpb25OYW1lfS5gKTtcbiAgICB9XG5cbiAgICBpZiAocmVjb3JkaW5nQ29uZmlndXJhdGlvbk5hbWUubGVuZ3RoID4gMTI4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFxcYHJlY29yZGluZ0NvbmZpZ3VyYXRpb25OYW1lXFxgIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEyOCBjaGFyYWN0ZXJzLCBnb3Q6ICR7cmVjb3JkaW5nQ29uZmlndXJhdGlvbk5hbWUubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIHZhbGlkYXRlUmVjb3JkaW5nUmVjb25uZWN0V2luZG93U2Vjb25kcygpOiB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJlY29yZGluZ1JlY29ubmVjdFdpbmRvdyA9IHRoaXMucHJvcHMucmVjb3JkaW5nUmVjb25uZWN0V2luZG93O1xuXG4gICAgaWYgKHJlY29yZGluZ1JlY29ubmVjdFdpbmRvdyA9PT0gdW5kZWZpbmVkIHx8IFRva2VuLmlzVW5yZXNvbHZlZChyZWNvcmRpbmdSZWNvbm5lY3RXaW5kb3cpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKDAgPCByZWNvcmRpbmdSZWNvbm5lY3RXaW5kb3cudG9NaWxsaXNlY29uZHMoKSAmJiByZWNvcmRpbmdSZWNvbm5lY3RXaW5kb3cudG9NaWxsaXNlY29uZHMoKSA8IER1cmF0aW9uLnNlY29uZHMoMSkudG9NaWxsaXNlY29uZHMoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBcXGByZWNvcmRpbmdSZWNvbm5lY3RXaW5kb3dcXGAgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDMwMCBzZWNvbmRzLCBnb3QgJHtyZWNvcmRpbmdSZWNvbm5lY3RXaW5kb3cudG9NaWxsaXNlY29uZHMoKX0gbWlsbGlzZWNvbmRzLmApO1xuICAgIH1cblxuICAgIGlmIChyZWNvcmRpbmdSZWNvbm5lY3RXaW5kb3cudG9TZWNvbmRzKCkgPiAzMDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgXFxgcmVjb3JkaW5nUmVjb25uZWN0V2luZG93XFxgIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAzMDAgc2Vjb25kcywgZ290ICR7cmVjb3JkaW5nUmVjb25uZWN0V2luZG93LnRvU2Vjb25kcygpfSBzZWNvbmRzLmApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Resolution } from './util';
|
|
2
|
+
/**
|
|
3
|
+
* Rendition selection mode.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum RenditionSelection {
|
|
6
|
+
/**
|
|
7
|
+
* Record all available renditions.
|
|
8
|
+
*/
|
|
9
|
+
ALL = "ALL",
|
|
10
|
+
/**
|
|
11
|
+
* Does not record any video. This option is useful if you just want to record thumbnails.
|
|
12
|
+
*/
|
|
13
|
+
NONE = "NONE",
|
|
14
|
+
/**
|
|
15
|
+
* Select a subset of video renditions to record.
|
|
16
|
+
*/
|
|
17
|
+
CUSTOM = "CUSTOM"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Rendition configuration for IVS Recording configuration
|
|
21
|
+
*/
|
|
22
|
+
export declare class RenditionConfiguration {
|
|
23
|
+
readonly renditionSelection: RenditionSelection;
|
|
24
|
+
readonly renditions?: Resolution[] | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Record all available renditions.
|
|
27
|
+
*/
|
|
28
|
+
static all(): RenditionConfiguration;
|
|
29
|
+
/**
|
|
30
|
+
* Does not record any video.
|
|
31
|
+
*/
|
|
32
|
+
static none(): RenditionConfiguration;
|
|
33
|
+
/**
|
|
34
|
+
* Record a subset of video renditions.
|
|
35
|
+
*
|
|
36
|
+
* @param renditions A list of which renditions are recorded for a stream.
|
|
37
|
+
*/
|
|
38
|
+
static custom(renditions: Resolution[]): RenditionConfiguration;
|
|
39
|
+
/**
|
|
40
|
+
* @param renditionSelection The set of renditions are recorded for a stream.
|
|
41
|
+
* @param renditions A list of which renditions are recorded for a stream. If you do not specify this property, no resolution is selected.
|
|
42
|
+
*/
|
|
43
|
+
private constructor();
|
|
44
|
+
}
|