@aws-cdk/aws-mediaconnect-alpha 2.263.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +28415 -0
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +592 -0
- package/LICENSE +201 -0
- package/NOTICE +2 -0
- package/README.md +1280 -0
- package/awslint.json +50 -0
- package/grants.json +42 -0
- package/lib/bridge-output.d.ts +54 -0
- package/lib/bridge-output.js +122 -0
- package/lib/bridge-source.d.ts +79 -0
- package/lib/bridge-source.js +217 -0
- package/lib/bridge.d.ts +419 -0
- package/lib/bridge.js +490 -0
- package/lib/flow-entitlement.d.ts +86 -0
- package/lib/flow-entitlement.js +152 -0
- package/lib/flow-output.d.ts +329 -0
- package/lib/flow-output.js +415 -0
- package/lib/flow-source-configuration.d.ts +558 -0
- package/lib/flow-source-configuration.js +595 -0
- package/lib/flow-source.d.ts +116 -0
- package/lib/flow-source.js +190 -0
- package/lib/flow.d.ts +975 -0
- package/lib/flow.js +1065 -0
- package/lib/gateway.d.ts +142 -0
- package/lib/gateway.js +236 -0
- package/lib/index.d.ts +14 -0
- package/lib/index.js +31 -0
- package/lib/mediaconnect-grants.generated.d.ts +53 -0
- package/lib/mediaconnect-grants.generated.js +136 -0
- package/lib/router-input.d.ts +686 -0
- package/lib/router-input.js +1095 -0
- package/lib/router-network-interface.d.ts +153 -0
- package/lib/router-network-interface.js +245 -0
- package/lib/router-output.d.ts +557 -0
- package/lib/router-output.js +789 -0
- package/lib/shared.d.ts +548 -0
- package/lib/shared.js +668 -0
- package/package.json +118 -0
- package/rosetta/_generated.ts-fixture +6 -0
- package/rosetta/default.ts-fixture +68 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { IResource } from 'aws-cdk-lib';
|
|
2
|
+
import type { ISecurityGroup, ISubnet } from 'aws-cdk-lib/aws-ec2';
|
|
3
|
+
import type { IRouterNetworkInterfaceRef } from 'aws-cdk-lib/aws-mediaconnect';
|
|
4
|
+
import type { Construct } from 'constructs';
|
|
5
|
+
/**
|
|
6
|
+
* Interface for Router Network Interface
|
|
7
|
+
*/
|
|
8
|
+
export interface IRouterNetworkInterface extends IResource, IRouterNetworkInterfaceRef {
|
|
9
|
+
/**
|
|
10
|
+
* The Amazon Resource Name (ARN) of the router network interface.
|
|
11
|
+
*
|
|
12
|
+
* @attribute
|
|
13
|
+
*/
|
|
14
|
+
readonly routerNetworkInterfaceArn: string;
|
|
15
|
+
/**
|
|
16
|
+
* The unique identifier of the router network interface.
|
|
17
|
+
*
|
|
18
|
+
* @attribute
|
|
19
|
+
*/
|
|
20
|
+
readonly routerNetworkInterfaceId: string;
|
|
21
|
+
/**
|
|
22
|
+
* The date and time the router network interface was created.
|
|
23
|
+
*
|
|
24
|
+
* @attribute
|
|
25
|
+
*/
|
|
26
|
+
readonly createdAt?: string;
|
|
27
|
+
/**
|
|
28
|
+
* The date and time the router network interface was last updated.
|
|
29
|
+
*
|
|
30
|
+
* @attribute
|
|
31
|
+
*/
|
|
32
|
+
readonly updatedAt?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Properties for Router Network Interface
|
|
36
|
+
*/
|
|
37
|
+
export interface RouterNetworkInterfaceProps {
|
|
38
|
+
/**
|
|
39
|
+
* The name of the router network interface.
|
|
40
|
+
* @default - Generated automatically
|
|
41
|
+
*/
|
|
42
|
+
readonly routerNetworkInterfaceName?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Network configuration for the router network interface.
|
|
45
|
+
*/
|
|
46
|
+
readonly configuration: RouterNetworkConfiguration;
|
|
47
|
+
/**
|
|
48
|
+
* The AWS Region where the router network interface will be created.
|
|
49
|
+
*
|
|
50
|
+
* @default - Same region as the stack
|
|
51
|
+
*/
|
|
52
|
+
readonly regionName?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Tags to add to the network interface
|
|
55
|
+
*
|
|
56
|
+
* @default - No tagging
|
|
57
|
+
*/
|
|
58
|
+
readonly tags?: {
|
|
59
|
+
[key: string]: string;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Attributes for importing an existing Router Network Interface.
|
|
64
|
+
*/
|
|
65
|
+
export interface RouterNetworkInterfaceAttributes {
|
|
66
|
+
/**
|
|
67
|
+
* The Amazon Resource Name (ARN) of the router network interface.
|
|
68
|
+
*/
|
|
69
|
+
readonly routerNetworkInterfaceArn: string;
|
|
70
|
+
/**
|
|
71
|
+
* The unique identifier of the router network interface.
|
|
72
|
+
*
|
|
73
|
+
* @default - accessing `routerNetworkInterfaceId` on the imported interface throws; only provide when available.
|
|
74
|
+
*/
|
|
75
|
+
readonly routerNetworkInterfaceId?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Properties for public network configuration
|
|
79
|
+
*/
|
|
80
|
+
export interface PublicNetworkConfigurationProps {
|
|
81
|
+
/** CIDR blocks allowed to access the network interface */
|
|
82
|
+
readonly cidr: string[];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Properties for VPC network configuration
|
|
86
|
+
*/
|
|
87
|
+
export interface VpcNetworkConfigurationProps {
|
|
88
|
+
/** Security groups to associate with the network interface */
|
|
89
|
+
readonly securityGroups: ISecurityGroup[];
|
|
90
|
+
/** Subnet where the network interface will be created */
|
|
91
|
+
readonly subnet: ISubnet;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Factory class for creating Router Network configurations
|
|
95
|
+
*/
|
|
96
|
+
export declare class RouterNetworkConfiguration {
|
|
97
|
+
/**
|
|
98
|
+
* Create a public network configuration
|
|
99
|
+
* @param props Public network configuration properties
|
|
100
|
+
* @returns RouterNetworkConfiguration instance for public setup
|
|
101
|
+
*/
|
|
102
|
+
static publicNetwork(props: PublicNetworkConfigurationProps): RouterNetworkConfiguration;
|
|
103
|
+
/**
|
|
104
|
+
* Create a VPC network configuration
|
|
105
|
+
* @param props VPC network configuration properties
|
|
106
|
+
* @returns RouterNetworkConfiguration instance for VPC setup
|
|
107
|
+
*/
|
|
108
|
+
static vpc(props: VpcNetworkConfigurationProps): RouterNetworkConfiguration;
|
|
109
|
+
private readonly _config;
|
|
110
|
+
private readonly _publicCidrs?;
|
|
111
|
+
private constructor();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Defines a AWS Elemental MediaConnect Router Network Interface
|
|
115
|
+
*/
|
|
116
|
+
export declare class RouterNetworkInterface extends RouterNetworkInterfaceBase {
|
|
117
|
+
/** Uniquely identifies this class. */
|
|
118
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
119
|
+
/**
|
|
120
|
+
* Import an existing Router Network Interface from its ARN.
|
|
121
|
+
*
|
|
122
|
+
* @param scope The parent construct
|
|
123
|
+
* @param id The construct id
|
|
124
|
+
* @param routerNetworkInterfaceArn The ARN of the Router Network Interface
|
|
125
|
+
* @returns A Router Network Interface construct
|
|
126
|
+
*/
|
|
127
|
+
static fromRouterNetworkInterfaceArn(scope: Construct, id: string, routerNetworkInterfaceArn: string): IRouterNetworkInterface;
|
|
128
|
+
/**
|
|
129
|
+
* Import an existing Router Network Interface from its attributes.
|
|
130
|
+
*
|
|
131
|
+
* Provide `routerNetworkInterfaceId` when importing an interface that was deployed
|
|
132
|
+
* externally — otherwise accessing it on the imported construct will throw.
|
|
133
|
+
*
|
|
134
|
+
* @param scope The parent construct
|
|
135
|
+
* @param id The construct id
|
|
136
|
+
* @param attrs The Router Network Interface attributes
|
|
137
|
+
* @returns A Router Network Interface construct
|
|
138
|
+
*/
|
|
139
|
+
static fromRouterNetworkInterfaceAttributes(scope: Construct, id: string, attrs: RouterNetworkInterfaceAttributes): IRouterNetworkInterface;
|
|
140
|
+
readonly routerNetworkInterfaceArn: string;
|
|
141
|
+
readonly routerNetworkInterfaceId: string;
|
|
142
|
+
/**
|
|
143
|
+
* The date and time the router network interface was created.
|
|
144
|
+
* @attribute
|
|
145
|
+
*/
|
|
146
|
+
readonly createdAt?: string;
|
|
147
|
+
/**
|
|
148
|
+
* The date and time the router network interface was last updated.
|
|
149
|
+
* @attribute
|
|
150
|
+
*/
|
|
151
|
+
readonly updatedAt?: string;
|
|
152
|
+
constructor(scope: Construct, id: string, props: RouterNetworkInterfaceProps);
|
|
153
|
+
}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
+
var _, done = false;
|
|
8
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
+
var context = {};
|
|
10
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
+
if (kind === "accessor") {
|
|
15
|
+
if (result === void 0) continue;
|
|
16
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
+
}
|
|
21
|
+
else if (_ = accept(result)) {
|
|
22
|
+
if (kind === "field") initializers.unshift(_);
|
|
23
|
+
else descriptor[key] = _;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
+
done = true;
|
|
28
|
+
};
|
|
29
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
+
var useValue = arguments.length > 2;
|
|
31
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
+
}
|
|
34
|
+
return useValue ? value : void 0;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.RouterNetworkInterface = exports.RouterNetworkConfiguration = void 0;
|
|
38
|
+
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
39
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
40
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
41
|
+
const aws_mediaconnect_1 = require("aws-cdk-lib/aws-mediaconnect");
|
|
42
|
+
const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
43
|
+
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
44
|
+
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
45
|
+
const shared_1 = require("./shared");
|
|
46
|
+
/**
|
|
47
|
+
* Factory class for creating Router Network configurations
|
|
48
|
+
*/
|
|
49
|
+
class RouterNetworkConfiguration {
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.RouterNetworkConfiguration", version: "2.263.0-alpha.0" };
|
|
51
|
+
/**
|
|
52
|
+
* Create a public network configuration
|
|
53
|
+
* @param props Public network configuration properties
|
|
54
|
+
* @returns RouterNetworkConfiguration instance for public setup
|
|
55
|
+
*/
|
|
56
|
+
static publicNetwork(props) {
|
|
57
|
+
try {
|
|
58
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_PublicNetworkConfigurationProps(props);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
62
|
+
Error.captureStackTrace(error, this.publicNetwork);
|
|
63
|
+
}
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
return new RouterNetworkConfiguration({
|
|
67
|
+
public: {
|
|
68
|
+
allowRules: props.cidr.map(ip => {
|
|
69
|
+
return {
|
|
70
|
+
cidr: ip,
|
|
71
|
+
};
|
|
72
|
+
}),
|
|
73
|
+
},
|
|
74
|
+
}, props.cidr);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Create a VPC network configuration
|
|
78
|
+
* @param props VPC network configuration properties
|
|
79
|
+
* @returns RouterNetworkConfiguration instance for VPC setup
|
|
80
|
+
*/
|
|
81
|
+
static vpc(props) {
|
|
82
|
+
try {
|
|
83
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_VpcNetworkConfigurationProps(props);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
87
|
+
Error.captureStackTrace(error, this.vpc);
|
|
88
|
+
}
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
return new RouterNetworkConfiguration({
|
|
92
|
+
vpc: {
|
|
93
|
+
securityGroupIds: props.securityGroups.map(sg => { return sg.securityGroupId; }),
|
|
94
|
+
subnetId: props.subnet.subnetId,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
_config;
|
|
99
|
+
_publicCidrs;
|
|
100
|
+
constructor(config, publicCidrs) {
|
|
101
|
+
this._config = config;
|
|
102
|
+
this._publicCidrs = publicCidrs;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Called when the network configuration is bound to a RouterNetworkInterface.
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
_bind(scope) {
|
|
109
|
+
if (this._publicCidrs !== undefined && !aws_cdk_lib_1.Token.isUnresolved(this._publicCidrs)) {
|
|
110
|
+
for (const cidr of this._publicCidrs) {
|
|
111
|
+
if (!aws_cdk_lib_1.Token.isUnresolved(cidr) && (0, shared_1.isOpenCidr)(cidr)) {
|
|
112
|
+
aws_cdk_lib_1.Annotations.of(scope).addWarningV2('@aws-cdk/aws-mediaconnect-alpha:openRouterNetworkCidr', `Router network interface public CIDR '${cidr}' allows traffic from any IP. Restrict to the narrowest range your senders/receivers need.`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return { ...this._config };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.RouterNetworkConfiguration = RouterNetworkConfiguration;
|
|
120
|
+
/**
|
|
121
|
+
* Shared base for both real and imported router network interfaces.
|
|
122
|
+
* @internal
|
|
123
|
+
*/
|
|
124
|
+
class RouterNetworkInterfaceBase extends aws_cdk_lib_1.Resource {
|
|
125
|
+
get routerNetworkInterfaceRef() {
|
|
126
|
+
return { routerNetworkInterfaceArn: this.routerNetworkInterfaceArn };
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Defines a AWS Elemental MediaConnect Router Network Interface
|
|
131
|
+
*/
|
|
132
|
+
let RouterNetworkInterface = (() => {
|
|
133
|
+
let _classDecorators = [prop_injectable_1.propertyInjectable];
|
|
134
|
+
let _classDescriptor;
|
|
135
|
+
let _classExtraInitializers = [];
|
|
136
|
+
let _classThis;
|
|
137
|
+
let _classSuper = RouterNetworkInterfaceBase;
|
|
138
|
+
var RouterNetworkInterface = class extends _classSuper {
|
|
139
|
+
static { _classThis = this; }
|
|
140
|
+
static {
|
|
141
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
142
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
143
|
+
RouterNetworkInterface = _classThis = _classDescriptor.value;
|
|
144
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
145
|
+
}
|
|
146
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.RouterNetworkInterface", version: "2.263.0-alpha.0" };
|
|
147
|
+
/** Uniquely identifies this class. */
|
|
148
|
+
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.RouterNetworkInterface';
|
|
149
|
+
/**
|
|
150
|
+
* Import an existing Router Network Interface from its ARN.
|
|
151
|
+
*
|
|
152
|
+
* @param scope The parent construct
|
|
153
|
+
* @param id The construct id
|
|
154
|
+
* @param routerNetworkInterfaceArn The ARN of the Router Network Interface
|
|
155
|
+
* @returns A Router Network Interface construct
|
|
156
|
+
*/
|
|
157
|
+
static fromRouterNetworkInterfaceArn(scope, id, routerNetworkInterfaceArn) {
|
|
158
|
+
return RouterNetworkInterface.fromRouterNetworkInterfaceAttributes(scope, id, { routerNetworkInterfaceArn });
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Import an existing Router Network Interface from its attributes.
|
|
162
|
+
*
|
|
163
|
+
* Provide `routerNetworkInterfaceId` when importing an interface that was deployed
|
|
164
|
+
* externally — otherwise accessing it on the imported construct will throw.
|
|
165
|
+
*
|
|
166
|
+
* @param scope The parent construct
|
|
167
|
+
* @param id The construct id
|
|
168
|
+
* @param attrs The Router Network Interface attributes
|
|
169
|
+
* @returns A Router Network Interface construct
|
|
170
|
+
*/
|
|
171
|
+
static fromRouterNetworkInterfaceAttributes(scope, id, attrs) {
|
|
172
|
+
try {
|
|
173
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_RouterNetworkInterfaceAttributes(attrs);
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
177
|
+
Error.captureStackTrace(error, this.fromRouterNetworkInterfaceAttributes);
|
|
178
|
+
}
|
|
179
|
+
throw error;
|
|
180
|
+
}
|
|
181
|
+
class Import extends RouterNetworkInterfaceBase {
|
|
182
|
+
routerNetworkInterfaceArn = attrs.routerNetworkInterfaceArn;
|
|
183
|
+
get routerNetworkInterfaceId() {
|
|
184
|
+
if (attrs.routerNetworkInterfaceId)
|
|
185
|
+
return attrs.routerNetworkInterfaceId;
|
|
186
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `RouterNetworkInterfaceIdNotProvided`, `'routerNetworkInterfaceId' is not available on imported RouterNetworkInterface ${this.node.path}; pass it via fromRouterNetworkInterfaceAttributes`, this);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return new Import(scope, id);
|
|
190
|
+
}
|
|
191
|
+
routerNetworkInterfaceArn;
|
|
192
|
+
routerNetworkInterfaceId;
|
|
193
|
+
/**
|
|
194
|
+
* The date and time the router network interface was created.
|
|
195
|
+
* @attribute
|
|
196
|
+
*/
|
|
197
|
+
createdAt;
|
|
198
|
+
/**
|
|
199
|
+
* The date and time the router network interface was last updated.
|
|
200
|
+
* @attribute
|
|
201
|
+
*/
|
|
202
|
+
updatedAt;
|
|
203
|
+
constructor(scope, id, props) {
|
|
204
|
+
super(scope, id, {
|
|
205
|
+
physicalName: props.routerNetworkInterfaceName ?? aws_cdk_lib_1.Lazy.string({ produce: () => aws_cdk_lib_1.Names.uniqueResourceName(this, { maxLength: 128 }) }),
|
|
206
|
+
});
|
|
207
|
+
try {
|
|
208
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_RouterNetworkInterfaceProps(props);
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
212
|
+
Error.captureStackTrace(error, RouterNetworkInterface);
|
|
213
|
+
}
|
|
214
|
+
throw error;
|
|
215
|
+
}
|
|
216
|
+
// Validate router network interface name if provided
|
|
217
|
+
if (props.routerNetworkInterfaceName != null && props.routerNetworkInterfaceName !== '' && !aws_cdk_lib_1.Token.isUnresolved(props.routerNetworkInterfaceName)) {
|
|
218
|
+
if (props.routerNetworkInterfaceName.length > 128) {
|
|
219
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `RouterNetworkInterfaceNameLength`, `Router network interface name must be between 1 and 128 characters, got ${props.routerNetworkInterfaceName.length}`, this);
|
|
220
|
+
}
|
|
221
|
+
if (!/^[a-zA-Z0-9-]+$/.test(props.routerNetworkInterfaceName)) {
|
|
222
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `RouterNetworkInterfaceNameFormat`, `Router network interface name must contain only alphanumeric characters and hyphens, got '${props.routerNetworkInterfaceName}'`, this);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// Enhanced CDK Analytics Telemetry
|
|
226
|
+
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
227
|
+
const routerNetworkInterface = new aws_mediaconnect_1.CfnRouterNetworkInterface(this, 'Resource', {
|
|
228
|
+
name: this.physicalName,
|
|
229
|
+
configuration: props.configuration._bind(this),
|
|
230
|
+
regionName: props.regionName,
|
|
231
|
+
tags: props.tags ? (0, shared_1.renderTags)(props.tags) : undefined,
|
|
232
|
+
});
|
|
233
|
+
this.routerNetworkInterfaceArn = routerNetworkInterface.attrArn;
|
|
234
|
+
this.routerNetworkInterfaceId = routerNetworkInterface.attrId;
|
|
235
|
+
this.createdAt = routerNetworkInterface.attrCreatedAt;
|
|
236
|
+
this.updatedAt = routerNetworkInterface.attrUpdatedAt;
|
|
237
|
+
}
|
|
238
|
+
static {
|
|
239
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
return RouterNetworkInterface = _classThis;
|
|
243
|
+
})();
|
|
244
|
+
exports.RouterNetworkInterface = RouterNetworkInterface;
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLW5ldHdvcmstaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicm91dGVyLW5ldHdvcmstaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZDQUF5RjtBQUV6RixtRUFBeUU7QUFFekUsNEVBQTREO0FBQzVELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFFMUUscUNBQWtEO0FBb0dsRDs7R0FFRztBQUNILE1BQWEsMEJBQTBCOztJQUNyQzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFzQzs7Ozs7Ozs7OztRQUNoRSxPQUFPLElBQUksMEJBQTBCLENBQUM7WUFDcEMsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtvQkFDOUIsT0FBTzt3QkFDTCxJQUFJLEVBQUUsRUFBRTtxQkFDVCxDQUFDO2dCQUNKLENBQUMsQ0FBQzthQUNIO1NBQ0YsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDaEI7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFtQzs7Ozs7Ozs7OztRQUNuRCxPQUFPLElBQUksMEJBQTBCLENBQUM7WUFDcEMsR0FBRyxFQUFFO2dCQUNILGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRixRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRO2FBQ2hDO1NBQ0YsQ0FBQyxDQUFDO0tBQ0o7SUFFZ0IsT0FBTyxDQUF3RTtJQUMvRSxZQUFZLENBQVk7SUFFekMsWUFDRSxNQUE2RSxFQUM3RSxXQUFzQjtRQUV0QixJQUFJLENBQUMsT0FBTyxH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QUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztZQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztZQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztTQUN2RDs7WUF6RlUsdURBQXNCOzs7OztBQUF0Qix3REFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBMYXp5LCBOYW1lcywgUmVzb3VyY2UsIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IElTZWN1cml0eUdyb3VwLCBJU3VibmV0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDZm5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgdHlwZSB7IElSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmLCBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmZXJlbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBpc09wZW5DaWRyLCByZW5kZXJUYWdzIH0gZnJvbSAnLi9zaGFyZWQnO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJvdXRlck5ldHdvcmtJbnRlcmZhY2UgZXh0ZW5kcyBJUmVzb3VyY2UsIElSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRhdGUgYW5kIHRpbWUgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZSB3YXMgY3JlYXRlZC5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBhbmQgdGltZSB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZS5cbiAgICogQGRlZmF1bHQgLSBHZW5lcmF0ZWQgYXV0b21hdGljYWxseVxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb246IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIFJlZ2lvbiB3aGVyZSB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIHdpbGwgYmUgY3JlYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBTYW1lIHJlZ2lvbiBhcyB0aGUgc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRhZ3MgdG8gYWRkIHRvIHRoZSBuZXR3b3JrIGludGVyZmFjZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHRhZ2dpbmdcbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIEF0dHJpYnV0ZXMgZm9yIGltcG9ydGluZyBhbiBleGlzdGluZyBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVyTmV0d29ya0ludGVyZmFjZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSByb3V0ZXIgbmV0d29yayBpbnRlcmZhY2UuXG4gICAqL1xuICByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFjY2Vzc2luZyBgcm91dGVyTmV0d29ya0ludGVyZmFjZUlkYCBvbiB0aGUgaW1wb3J0ZWQgaW50ZXJmYWNlIHRocm93czsgb25seSBwcm92aWRlIHdoZW4gYXZhaWxhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGVyTmV0d29ya0ludGVyZmFjZUlkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHB1YmxpYyBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNOZXR3b3JrQ29uZmlndXJhdGlvblByb3BzIHtcbiAgLyoqIENJRFIgYmxvY2tzIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSBuZXR3b3JrIGludGVyZmFjZSAqL1xuICByZWFkb25seSBjaWRyOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBWUEMgbmV0d29yayBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjTmV0d29ya0NvbmZpZ3VyYXRpb25Qcm9wcyB7XG4gIC8qKiBTZWN1cml0eSBncm91cHMgdG8gYXNzb2NpYXRlIHdpdGggdGhlIG5ldHdvcmsgaW50ZXJmYWNlICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzOiBJU2VjdXJpdHlHcm91cFtdO1xuICAvKiogU3VibmV0IHdoZXJlIHRoZSBuZXR3b3JrIGludGVyZmFjZSB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgcmVhZG9ubHkgc3VibmV0OiBJU3VibmV0O1xufVxuXG4vKipcbiAqIEZhY3RvcnkgY2xhc3MgZm9yIGNyZWF0aW5nIFJvdXRlciBOZXR3b3JrIGNvbmZpZ3VyYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBwdWJsaWMgbmV0d29yayBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBwcm9wcyBQdWJsaWMgbmV0d29yayBjb25maWd1cmF0aW9uIHByb3BlcnRpZXNcbiAgICogQHJldHVybnMgUm91dGVyTmV0d29ya0NvbmZpZ3VyYXRpb24gaW5zdGFuY2UgZm9yIHB1YmxpYyBzZXR1cFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwdWJsaWNOZXR3b3JrKHByb3BzOiBQdWJsaWNOZXR3b3JrQ29uZmlndXJhdGlvblByb3BzKTogUm91dGVyTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgUm91dGVyTmV0d29ya0NvbmZpZ3VyYXRpb24oe1xuICAgICAgcHVibGljOiB7XG4gICAgICAgIGFsbG93UnVsZXM6IHByb3BzLmNpZHIubWFwKGlwID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2lkcjogaXAsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0sIHByb3BzLmNpZHIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFZQQyBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIHByb3BzIFZQQyBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllc1xuICAgKiBAcmV0dXJucyBSb3V0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbiBpbnN0YW5jZSBmb3IgVlBDIHNldHVwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZwYyhwcm9wczogVnBjTmV0d29ya0NvbmZpZ3VyYXRpb25Qcm9wcyk6IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uKHtcbiAgICAgIHZwYzoge1xuICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBwcm9wcy5zZWN1cml0eUdyb3Vwcy5tYXAoc2cgPT4geyByZXR1cm4gc2cuc2VjdXJpdHlHcm91cElkOyB9KSxcbiAgICAgICAgc3VibmV0SWQ6IHByb3BzLnN1Ym5ldC5zdWJuZXRJZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25maWc6IENmblJvdXRlck5ldHdvcmtJbnRlcmZhY2UuUm91dGVyTmV0d29ya0ludGVyZmFjZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHVibGljQ2lkcnM/OiBzdHJpbmdbXTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZzogQ2ZuUm91dGVyTmV0d29ya0ludGVyZmFjZS5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQ29uZmlndXJhdGlvblByb3BlcnR5LFxuICAgIHB1YmxpY0NpZHJzPzogc3RyaW5nW10sXG4gICkge1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLl9wdWJsaWNDaWRycyA9IHB1YmxpY0NpZHJzO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gaXMgYm91bmQgdG8gYSBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZChzY29wZTogQ29uc3RydWN0KTogQ2ZuUm91dGVyTmV0d29ya0ludGVyZmFjZS5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQ29uZmlndXJhdGlvblByb3BlcnR5IHtcbiAgICBpZiAodGhpcy5fcHVibGljQ2lkcnMgIT09IHVuZGVmaW5lZCAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHRoaXMuX3B1YmxpY0NpZHJzKSkge1xuICAgICAgZm9yIChjb25zdCBjaWRyIG9mIHRoaXMuX3B1YmxpY0NpZHJzKSB7XG4gICAgICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNpZHIpICYmIGlzT3BlbkNpZHIoY2lkcikpIHtcbiAgICAgICAgICBBbm5vdGF0aW9ucy5vZihzY29wZSkuYWRkV2FybmluZ1YyKFxuICAgICAgICAgICAgJ0Bhd3MtY2RrL2F3cy1tZWRpYWNvbm5lY3QtYWxwaGE6b3BlblJvdXRlck5ldHdvcmtDaWRyJyxcbiAgICAgICAgICAgIGBSb3V0ZXIgbmV0d29yayBpbnRlcmZhY2UgcHVibGljIENJRFIgJyR7Y2lkcn0nIGFsbG93cyB0cmFmZmljIGZyb20gYW55IElQLiBSZXN0cmljdCB0byB0aGUgbmFycm93ZXN0IHJhbmdlIHlvdXIgc2VuZGVycy9yZWNlaXZlcnMgbmVlZC5gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgLi4udGhpcy5fY29uZmlnIH07XG4gIH1cbn1cblxuLyoqXG4gKiBTaGFyZWQgYmFzZSBmb3IgYm90aCByZWFsIGFuZCBpbXBvcnRlZCByb3V0ZXIgbmV0d29yayBpbnRlcmZhY2VzLlxuICogQGludGVybmFsXG4gKi9cbmFic3RyYWN0IGNsYXNzIFJvdXRlck5ldHdvcmtJbnRlcmZhY2VCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJUm91dGVyTmV0d29ya0ludGVyZmFjZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IHJvdXRlck5ldHdvcmtJbnRlcmZhY2VSZWYoKTogUm91dGVyTmV0d29ya0ludGVyZmFjZVJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIHsgcm91dGVyTmV0d29ya0ludGVyZmFjZUFybjogdGhpcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgQVdTIEVsZW1lbnRhbCBNZWRpYUNvbm5lY3QgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlIGV4dGVuZHMgUm91dGVyTmV0d29ya0ludGVyZmFjZUJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1tZWRpYWNvbm5lY3QtYWxwaGEuUm91dGVyTmV0d29ya0ludGVyZmFjZSc7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2UgZnJvbSBpdHMgQVJOLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QgaWRcbiAgICogQHBhcmFtIHJvdXRlck5ldHdvcmtJbnRlcmZhY2VBcm4gVGhlIEFSTiBvZiB0aGUgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlXG4gICAqIEByZXR1cm5zIEEgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlIGNvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUm91dGVyTmV0d29ya0ludGVyZmFjZUFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmcpOiBJUm91dGVyTmV0d29ya0ludGVyZmFjZSB7XG4gICAgcmV0dXJuIFJvdXRlck5ldHdvcmtJbnRlcmZhY2UuZnJvbVJvdXRlck5ldHdvcmtJbnRlcmZhY2VBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2UgZnJvbSBpdHMgYXR0cmlidXRlcy5cbiAgICpcbiAgICogUHJvdmlkZSBgcm91dGVyTmV0d29ya0ludGVyZmFjZUlkYCB3aGVuIGltcG9ydGluZyBhbiBpbnRlcmZhY2UgdGhhdCB3YXMgZGVwbG95ZWRcbiAgICogZXh0ZXJuYWxseSDigJQgb3RoZXJ3aXNlIGFjY2Vzc2luZyBpdCBvbiB0aGUgaW1wb3J0ZWQgY29uc3RydWN0IHdpbGwgdGhyb3cuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBpZFxuICAgKiBAcGFyYW0gYXR0cnMgVGhlIFJvdXRlciBOZXR3b3JrIEludGVyZmFjZSBhdHRyaWJ1dGVzXG4gICAqIEByZXR1cm5zIEEgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlIGNvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUm91dGVyTmV0d29ya0ludGVyZmFjZUF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlcyxcbiAgKTogSVJvdXRlck5ldHdvcmtJbnRlcmZhY2Uge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFJvdXRlck5ldHdvcmtJbnRlcmZhY2VCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuID0gYXR0cnMucm91dGVyTmV0d29ya0ludGVyZmFjZUFybjtcblxuICAgICAgcHVibGljIGdldCByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGF0dHJzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZCkgcmV0dXJuIGF0dHJzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZDtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBsaXRgUm91dGVyTmV0d29ya0ludGVyZmFjZUlkTm90UHJvdmlkZWRgLFxuICAgICAgICAgIGAncm91dGVyTmV0d29ya0ludGVyZmFjZUlkJyBpcyBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIFJvdXRlck5ldHdvcmtJbnRlcmZhY2UgJHt0aGlzLm5vZGUucGF0aH07IHBhc3MgaXQgdmlhIGZyb21Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlc2AsXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBkYXRlIGFuZCB0aW1lIHRoZSByb3V0ZXIgbmV0d29yayBpbnRlcmZhY2Ugd2FzIGNyZWF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBhbmQgdGltZSB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvdXRlck5ldHdvcmtJbnRlcmZhY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSA/PyBMYXp5LnN0cmluZyh7IHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIG5hbWUgaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMucm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWUgIT0gbnVsbCAmJiBwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSAhPT0gJycgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZS5sZW5ndGggPiAxMjgpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgUm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWVMZW5ndGhgLCBgUm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEyOCBjaGFyYWN0ZXJzLCBnb3QgJHtwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1dKyQvLnRlc3QocHJvcHMucm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YFJvdXRlck5ldHdvcmtJbnRlcmZhY2VOYW1lRm9ybWF0YCwgYFJvdXRlciBuZXR3b3JrIGludGVyZmFjZSBuYW1lIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBoeXBoZW5zLCBnb3QgJyR7cHJvcHMucm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWV9J2AsIHRoaXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3Qgcm91dGVyTmV0d29ya0ludGVyZmFjZSA9IG5ldyBDZm5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgY29uZmlndXJhdGlvbjogcHJvcHMuY29uZmlndXJhdGlvbi5fYmluZCh0aGlzKSxcbiAgICAgIHJlZ2lvbk5hbWU6IHByb3BzLnJlZ2lvbk5hbWUsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzID8gcmVuZGVyVGFncyhwcm9wcy50YWdzKSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGVyTmV0d29ya0ludGVyZmFjZUFybiA9IHJvdXRlck5ldHdvcmtJbnRlcmZhY2UuYXR0ckFybjtcbiAgICB0aGlzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZCA9IHJvdXRlck5ldHdvcmtJbnRlcmZhY2UuYXR0cklkO1xuICAgIHRoaXMuY3JlYXRlZEF0ID0gcm91dGVyTmV0d29ya0ludGVyZmFjZS5hdHRyQ3JlYXRlZEF0O1xuICAgIHRoaXMudXBkYXRlZEF0ID0gcm91dGVyTmV0d29ya0ludGVyZmFjZS5hdHRyVXBkYXRlZEF0O1xuICB9XG59XG4iXX0=
|