@aws-cdk/aws-mediaconnect-alpha 2.263.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +28415 -0
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +592 -0
- package/LICENSE +201 -0
- package/NOTICE +2 -0
- package/README.md +1280 -0
- package/awslint.json +50 -0
- package/grants.json +42 -0
- package/lib/bridge-output.d.ts +54 -0
- package/lib/bridge-output.js +122 -0
- package/lib/bridge-source.d.ts +79 -0
- package/lib/bridge-source.js +217 -0
- package/lib/bridge.d.ts +419 -0
- package/lib/bridge.js +490 -0
- package/lib/flow-entitlement.d.ts +86 -0
- package/lib/flow-entitlement.js +152 -0
- package/lib/flow-output.d.ts +329 -0
- package/lib/flow-output.js +415 -0
- package/lib/flow-source-configuration.d.ts +558 -0
- package/lib/flow-source-configuration.js +595 -0
- package/lib/flow-source.d.ts +116 -0
- package/lib/flow-source.js +190 -0
- package/lib/flow.d.ts +975 -0
- package/lib/flow.js +1065 -0
- package/lib/gateway.d.ts +142 -0
- package/lib/gateway.js +236 -0
- package/lib/index.d.ts +14 -0
- package/lib/index.js +31 -0
- package/lib/mediaconnect-grants.generated.d.ts +53 -0
- package/lib/mediaconnect-grants.generated.js +136 -0
- package/lib/router-input.d.ts +686 -0
- package/lib/router-input.js +1095 -0
- package/lib/router-network-interface.d.ts +153 -0
- package/lib/router-network-interface.js +245 -0
- package/lib/router-output.d.ts +557 -0
- package/lib/router-output.js +789 -0
- package/lib/shared.d.ts +548 -0
- package/lib/shared.js +668 -0
- package/package.json +118 -0
- package/rosetta/_generated.ts-fixture +6 -0
- package/rosetta/default.ts-fixture +68 -0
package/awslint.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"exclude": [
|
|
3
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.TransitEncryption.role",
|
|
4
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.TransitEncryption.secret",
|
|
5
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.StaticKeyEncryption.role",
|
|
6
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.StaticKeyEncryption.secret",
|
|
7
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.SrtPasswordEncryption.role",
|
|
8
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.SrtPasswordEncryption.secret",
|
|
9
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.RouterSrtEncryption.role",
|
|
10
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.RouterSrtEncryption.secret",
|
|
11
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.BridgeProps.gateway",
|
|
12
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.BridgeOutputProps.bridge",
|
|
13
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.BridgeSourceProps.bridge",
|
|
14
|
+
"from-method:@aws-cdk/aws-mediaconnect-alpha.BridgeOutput",
|
|
15
|
+
"from-method:@aws-cdk/aws-mediaconnect-alpha.BridgeSource",
|
|
16
|
+
"props-physical-name:@aws-cdk/aws-mediaconnect-alpha.FlowSourceProps",
|
|
17
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.FlowEntitlementProps.flow",
|
|
18
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.FlowOutputProps.flow",
|
|
19
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.FlowSourceProps.flow",
|
|
20
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.VpcInterfaceConfig.role",
|
|
21
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.VpcInterfaceConfig.securityGroups",
|
|
22
|
+
"prefer-ref-interface:@aws-cdk/aws-mediaconnect-alpha.VpcInterfaceConfig.subnet",
|
|
23
|
+
"no-unused-type:@aws-cdk/aws-mediaconnect-alpha.SourceProtocol",
|
|
24
|
+
"prefer-ref-interface:aws-cdk-lib.aws_secretsmanager.RotationScheduleOptions.rotationLambda",
|
|
25
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.IEventSource.bind.target",
|
|
26
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.EventSourceMappingOptions.filterEncryption",
|
|
27
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.IEventSourceDlq.bind.target",
|
|
28
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.IEventSourceDlq.bind.targetHandler",
|
|
29
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.ISchemaRegistry.bind.target",
|
|
30
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.ISchemaRegistry.bind.targetHandler",
|
|
31
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.IDestination.bind.fn",
|
|
32
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.IFunction.grantInvokeVersion.version",
|
|
33
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.IVersion.grantInvokeVersion.version",
|
|
34
|
+
"prefer-ref-interface:aws-cdk-lib.aws_lambda.VersionWeight.version",
|
|
35
|
+
"prefer-ref-interface:aws-cdk-lib.aws_ec2.ISubnet.associateNetworkAcl.acl",
|
|
36
|
+
"duration-prop-type:@aws-cdk/aws-mediaconnect-alpha.BridgeNetworkOutputProps.ttl",
|
|
37
|
+
"duration-prop-type:@aws-cdk/aws-mediaconnect-alpha.MergeRouterInputConfig.mergeRecoveryWindowMilliseconds",
|
|
38
|
+
"duration-prop-name:@aws-cdk/aws-mediaconnect-alpha.MergeRouterInputConfig.mergeRecoveryWindowMilliseconds",
|
|
39
|
+
"duration-prop-type:@aws-cdk/aws-mediaconnect-alpha.RistInputProtocolConfig.recoveryLatencyMilliseconds",
|
|
40
|
+
"duration-prop-name:@aws-cdk/aws-mediaconnect-alpha.RistInputProtocolConfig.recoveryLatencyMilliseconds",
|
|
41
|
+
"duration-prop-type:@aws-cdk/aws-mediaconnect-alpha.SrtCallerInputProtocolConfig.minimumLatencyMilliseconds",
|
|
42
|
+
"duration-prop-name:@aws-cdk/aws-mediaconnect-alpha.SrtCallerInputProtocolConfig.minimumLatencyMilliseconds",
|
|
43
|
+
"duration-prop-type:@aws-cdk/aws-mediaconnect-alpha.SrtCallerOutputProtocolConfig.minimumLatencyMilliseconds",
|
|
44
|
+
"duration-prop-name:@aws-cdk/aws-mediaconnect-alpha.SrtCallerOutputProtocolConfig.minimumLatencyMilliseconds",
|
|
45
|
+
"duration-prop-type:@aws-cdk/aws-mediaconnect-alpha.SrtListenerInputProtocolConfig.minimumLatencyMilliseconds",
|
|
46
|
+
"duration-prop-name:@aws-cdk/aws-mediaconnect-alpha.SrtListenerInputProtocolConfig.minimumLatencyMilliseconds",
|
|
47
|
+
"duration-prop-type:@aws-cdk/aws-mediaconnect-alpha.SrtListenerOutputProtocolConfig.minimumLatencyMilliseconds",
|
|
48
|
+
"duration-prop-name:@aws-cdk/aws-mediaconnect-alpha.SrtListenerOutputProtocolConfig.minimumLatencyMilliseconds"
|
|
49
|
+
]
|
|
50
|
+
}
|
package/grants.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"resources": {
|
|
3
|
+
"Flow": {
|
|
4
|
+
"grants": {
|
|
5
|
+
"start": {
|
|
6
|
+
"actions": [
|
|
7
|
+
"mediaconnect:StartFlow"
|
|
8
|
+
],
|
|
9
|
+
"docSummary": "Grant permissions to start this flow"
|
|
10
|
+
},
|
|
11
|
+
"stop": {
|
|
12
|
+
"actions": [
|
|
13
|
+
"mediaconnect:StopFlow"
|
|
14
|
+
],
|
|
15
|
+
"docSummary": "Grant permissions to stop this flow"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"RouterInput": {
|
|
20
|
+
"grants": {
|
|
21
|
+
"start": {
|
|
22
|
+
"actions": [
|
|
23
|
+
"mediaconnect:StartRouterInput"
|
|
24
|
+
],
|
|
25
|
+
"docSummary": "Grant permissions to start this router input"
|
|
26
|
+
},
|
|
27
|
+
"stop": {
|
|
28
|
+
"actions": [
|
|
29
|
+
"mediaconnect:StopRouterInput"
|
|
30
|
+
],
|
|
31
|
+
"docSummary": "Grant permissions to stop this router input"
|
|
32
|
+
},
|
|
33
|
+
"restart": {
|
|
34
|
+
"actions": [
|
|
35
|
+
"mediaconnect:RestartRouterInput"
|
|
36
|
+
],
|
|
37
|
+
"docSummary": "Grant permissions to restart this router input"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { IResource } from 'aws-cdk-lib';
|
|
2
|
+
import { Resource } from 'aws-cdk-lib';
|
|
3
|
+
import type { IBridgeOutputRef, BridgeOutputReference } from 'aws-cdk-lib/aws-mediaconnect';
|
|
4
|
+
import type { Construct } from 'constructs';
|
|
5
|
+
import type { IBridge, BridgeOutputConfiguration } from './bridge';
|
|
6
|
+
/**
|
|
7
|
+
* Interface Bridge output
|
|
8
|
+
*/
|
|
9
|
+
export interface IBridgeOutput extends IResource, IBridgeOutputRef {
|
|
10
|
+
/**
|
|
11
|
+
* The Amazon Resource Name (ARN) of the bridge that owns this output.
|
|
12
|
+
*/
|
|
13
|
+
readonly bridgeArn: string;
|
|
14
|
+
/**
|
|
15
|
+
* The name of the bridge output.
|
|
16
|
+
*
|
|
17
|
+
* @attribute
|
|
18
|
+
*/
|
|
19
|
+
readonly bridgeOutputName: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Properties for the bridge output
|
|
23
|
+
*/
|
|
24
|
+
export interface BridgeOutputProps {
|
|
25
|
+
/**
|
|
26
|
+
* Bridge output name.
|
|
27
|
+
*
|
|
28
|
+
* @default - autogenerated
|
|
29
|
+
*/
|
|
30
|
+
readonly bridgeOutputName?: string;
|
|
31
|
+
/**
|
|
32
|
+
* The bridge that you want to update.
|
|
33
|
+
*/
|
|
34
|
+
readonly bridge: IBridge;
|
|
35
|
+
/**
|
|
36
|
+
* The network output configuration.
|
|
37
|
+
*/
|
|
38
|
+
readonly output: BridgeOutputConfiguration;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Adds outputs to an existing bridge.
|
|
42
|
+
*/
|
|
43
|
+
export declare class BridgeOutput extends Resource implements IBridgeOutput {
|
|
44
|
+
/** Uniquely identifies this class. */
|
|
45
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
46
|
+
readonly bridgeArn: string;
|
|
47
|
+
/**
|
|
48
|
+
* The name of the bridge output.
|
|
49
|
+
*/
|
|
50
|
+
readonly bridgeOutputName: string;
|
|
51
|
+
/** A reference to this BridgeOutput resource. */
|
|
52
|
+
get bridgeOutputRef(): BridgeOutputReference;
|
|
53
|
+
constructor(scope: Construct, id: string, props: BridgeOutputProps);
|
|
54
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
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.BridgeOutput = 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 bridge_1 = require("./bridge");
|
|
46
|
+
/**
|
|
47
|
+
* Adds outputs to an existing bridge.
|
|
48
|
+
*/
|
|
49
|
+
let BridgeOutput = (() => {
|
|
50
|
+
let _classDecorators = [prop_injectable_1.propertyInjectable];
|
|
51
|
+
let _classDescriptor;
|
|
52
|
+
let _classExtraInitializers = [];
|
|
53
|
+
let _classThis;
|
|
54
|
+
let _classSuper = aws_cdk_lib_1.Resource;
|
|
55
|
+
var BridgeOutput = class extends _classSuper {
|
|
56
|
+
static { _classThis = this; }
|
|
57
|
+
static {
|
|
58
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
59
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
60
|
+
BridgeOutput = _classThis = _classDescriptor.value;
|
|
61
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
62
|
+
}
|
|
63
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeOutput", version: "2.263.0-alpha.0" };
|
|
64
|
+
/** Uniquely identifies this class. */
|
|
65
|
+
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.BridgeOutput';
|
|
66
|
+
bridgeArn;
|
|
67
|
+
/**
|
|
68
|
+
* The name of the bridge output.
|
|
69
|
+
*/
|
|
70
|
+
bridgeOutputName;
|
|
71
|
+
/** A reference to this BridgeOutput resource. */
|
|
72
|
+
get bridgeOutputRef() {
|
|
73
|
+
return {
|
|
74
|
+
bridgeArn: this.bridgeArn,
|
|
75
|
+
bridgeOutputName: this.bridgeOutputName,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
constructor(scope, id, props) {
|
|
79
|
+
super(scope, id, {
|
|
80
|
+
physicalName: props.bridgeOutputName ?? aws_cdk_lib_1.Lazy.string({ produce: () => aws_cdk_lib_1.Names.uniqueResourceName(this, { maxLength: 64 }) }),
|
|
81
|
+
});
|
|
82
|
+
try {
|
|
83
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_BridgeOutputProps(props);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
87
|
+
Error.captureStackTrace(error, BridgeOutput);
|
|
88
|
+
}
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
// Validate bridge output name if provided
|
|
92
|
+
if (props.bridgeOutputName != null && props.bridgeOutputName !== '' && !aws_cdk_lib_1.Token.isUnresolved(props.bridgeOutputName)) {
|
|
93
|
+
if (props.bridgeOutputName.length > 64) {
|
|
94
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeOutputNameLength`, `Bridge output name must be between 1 and 64 characters, got ${props.bridgeOutputName.length}`, this);
|
|
95
|
+
}
|
|
96
|
+
if (!/^[a-zA-Z0-9-]+$/.test(props.bridgeOutputName)) {
|
|
97
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeOutputNameFormat`, `Bridge output name must contain only alphanumeric characters and hyphens, got '${props.bridgeOutputName}'`, this);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// BridgeOutput can only be attached to an egress bridge. `Bridge.addOutput()`
|
|
101
|
+
// enforces the same check — replicate here so direct construction is safe.
|
|
102
|
+
if (props.bridge.bridgeType.value !== bridge_1.BridgeType.EGRESS_BRIDGE.value) {
|
|
103
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeOutputEgressOnly`, `BridgeOutput can only be attached to an egress bridge, got '${props.bridge.bridgeType.value}'`, this);
|
|
104
|
+
}
|
|
105
|
+
// Enhanced CDK Analytics Telemetry
|
|
106
|
+
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
107
|
+
new aws_mediaconnect_1.CfnBridgeOutput(this, 'Resource', {
|
|
108
|
+
name: this.physicalName,
|
|
109
|
+
bridgeArn: props.bridge.bridgeArn,
|
|
110
|
+
networkOutput: props.output._bind(),
|
|
111
|
+
});
|
|
112
|
+
this.bridgeArn = props.bridge.bridgeArn;
|
|
113
|
+
this.bridgeOutputName = this.physicalName;
|
|
114
|
+
}
|
|
115
|
+
static {
|
|
116
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
return BridgeOutput = _classThis;
|
|
120
|
+
})();
|
|
121
|
+
exports.BridgeOutput = BridgeOutput;
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLW91dHB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJyaWRnZS1vdXRwdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQTRFO0FBQzVFLG1FQUErRDtBQUUvRCw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSxxQ0FBc0M7QUF3Q3RDOztHQUVHO0lBRVUsWUFBWTs0QkFEeEIsb0NBQWtCOzs7O3NCQUNlLHNCQUFROzRCQUFoQixTQUFRLFdBQVE7Ozs7WUFBMUMsNktBd0RDOzs7OztRQXZEQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLDhDQUE4QyxDQUFDO1FBRXRGLFNBQVMsQ0FBUztRQUVsQzs7V0FFRztRQUNhLGdCQUFnQixDQUFTO1FBRXpDLGlEQUFpRDtRQUNqRCxJQUFXLGVBQWU7WUFDeEIsT0FBTztnQkFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7YUFDeEMsQ0FBQztTQUNIO1FBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtZQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixJQUFJLGtCQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUMxSCxDQUFDLENBQUM7Ozs7OzttREF0Qk0sWUFBWTs7OztZQXdCckIsMENBQTBDO1lBQzFDLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFDbkgsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDO29CQUN2QyxNQUFNLElBQUksNkJBQWUsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsd0JBQXdCLEVBQUUsK0RBQStELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0osQ0FBQztnQkFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7b0JBQ3BELE1BQU0sSUFBSSw2QkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSx3QkFBd0IsRUFBRSxrRkFBa0YsS0FBSyxDQUFDLGdCQUFnQixHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzVLLENBQUM7WUFDSCxDQUFDO1lBRUQsOEVBQThFO1lBQzlFLDJFQUEyRTtZQUMzRSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxtQkFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckUsTUFBTSxJQUFJLDZCQUFlLENBQ3ZCLElBQUEsc0JBQUcsRUFBQSx3QkFBd0IsRUFDM0IsK0RBQStELEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxFQUMvRixJQUFJLENBQ0wsQ0FBQztZQUNKLENBQUM7WUFFRCxtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsSUFBSSxrQ0FBZSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ3BDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDdkIsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztnQkFDakMsYUFBYSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO2FBQ3BDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDM0M7O1lBdkRVLHVEQUFZOzs7OztBQUFaLG9DQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBSZXNvdXJjZSwgTGF6eSwgTmFtZXMsIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDZm5CcmlkZ2VPdXRwdXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbWVkaWFjb25uZWN0JztcbmltcG9ydCB0eXBlIHsgSUJyaWRnZU91dHB1dFJlZiwgQnJpZGdlT3V0cHV0UmVmZXJlbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IElCcmlkZ2UsIEJyaWRnZU91dHB1dENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2JyaWRnZSc7XG5pbXBvcnQgeyBCcmlkZ2VUeXBlIH0gZnJvbSAnLi9icmlkZ2UnO1xuXG4vKipcbiAqIEludGVyZmFjZSBCcmlkZ2Ugb3V0cHV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJyaWRnZU91dHB1dCBleHRlbmRzIElSZXNvdXJjZSwgSUJyaWRnZU91dHB1dFJlZiB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGJyaWRnZSB0aGF0IG93bnMgdGhpcyBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJyaWRnZSBvdXRwdXQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGJyaWRnZU91dHB1dE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgYnJpZGdlIG91dHB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZU91dHB1dFByb3BzIHtcbiAgLyoqXG4gICAqIEJyaWRnZSBvdXRwdXQgbmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VPdXRwdXROYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJyaWRnZSB0aGF0IHlvdSB3YW50IHRvIHVwZGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGJyaWRnZTogSUJyaWRnZTtcblxuICAvKipcbiAgICogVGhlIG5ldHdvcmsgb3V0cHV0IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBvdXRwdXQ6IEJyaWRnZU91dHB1dENvbmZpZ3VyYXRpb247XG59XG5cbi8qKlxuICogQWRkcyBvdXRwdXRzIHRvIGFuIGV4aXN0aW5nIGJyaWRnZS5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIEJyaWRnZU91dHB1dCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSUJyaWRnZU91dHB1dCB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLW1lZGlhY29ubmVjdC1hbHBoYS5CcmlkZ2VPdXRwdXQnO1xuXG4gIHB1YmxpYyByZWFkb25seSBicmlkZ2VBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJyaWRnZSBvdXRwdXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnJpZGdlT3V0cHV0TmFtZTogc3RyaW5nO1xuXG4gIC8qKiBBIHJlZmVyZW5jZSB0byB0aGlzIEJyaWRnZU91dHB1dCByZXNvdXJjZS4gKi9cbiAgcHVibGljIGdldCBicmlkZ2VPdXRwdXRSZWYoKTogQnJpZGdlT3V0cHV0UmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnJpZGdlQXJuOiB0aGlzLmJyaWRnZUFybixcbiAgICAgIGJyaWRnZU91dHB1dE5hbWU6IHRoaXMuYnJpZGdlT3V0cHV0TmFtZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJyaWRnZU91dHB1dFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmJyaWRnZU91dHB1dE5hbWUgPz8gTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDY0IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgYnJpZGdlIG91dHB1dCBuYW1lIGlmIHByb3ZpZGVkXG4gICAgaWYgKHByb3BzLmJyaWRnZU91dHB1dE5hbWUgIT0gbnVsbCAmJiBwcm9wcy5icmlkZ2VPdXRwdXROYW1lICE9PSAnJyAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmJyaWRnZU91dHB1dE5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuYnJpZGdlT3V0cHV0TmFtZS5sZW5ndGggPiA2NCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBCcmlkZ2VPdXRwdXROYW1lTGVuZ3RoYCwgYEJyaWRnZSBvdXRwdXQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuYnJpZGdlT3V0cHV0TmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1dKyQvLnRlc3QocHJvcHMuYnJpZGdlT3V0cHV0TmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgQnJpZGdlT3V0cHV0TmFtZUZvcm1hdGAsIGBCcmlkZ2Ugb3V0cHV0IG5hbWUgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIGh5cGhlbnMsIGdvdCAnJHtwcm9wcy5icmlkZ2VPdXRwdXROYW1lfSdgLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCcmlkZ2VPdXRwdXQgY2FuIG9ubHkgYmUgYXR0YWNoZWQgdG8gYW4gZWdyZXNzIGJyaWRnZS4gYEJyaWRnZS5hZGRPdXRwdXQoKWBcbiAgICAvLyBlbmZvcmNlcyB0aGUgc2FtZSBjaGVjayDigJQgcmVwbGljYXRlIGhlcmUgc28gZGlyZWN0IGNvbnN0cnVjdGlvbiBpcyBzYWZlLlxuICAgIGlmIChwcm9wcy5icmlkZ2UuYnJpZGdlVHlwZS52YWx1ZSAhPT0gQnJpZGdlVHlwZS5FR1JFU1NfQlJJREdFLnZhbHVlKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgQnJpZGdlT3V0cHV0RWdyZXNzT25seWAsXG4gICAgICAgIGBCcmlkZ2VPdXRwdXQgY2FuIG9ubHkgYmUgYXR0YWNoZWQgdG8gYW4gZWdyZXNzIGJyaWRnZSwgZ290ICcke3Byb3BzLmJyaWRnZS5icmlkZ2VUeXBlLnZhbHVlfSdgLFxuICAgICAgICB0aGlzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIG5ldyBDZm5CcmlkZ2VPdXRwdXQodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgICBicmlkZ2VBcm46IHByb3BzLmJyaWRnZS5icmlkZ2VBcm4sXG4gICAgICBuZXR3b3JrT3V0cHV0OiBwcm9wcy5vdXRwdXQuX2JpbmQoKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYnJpZGdlQXJuID0gcHJvcHMuYnJpZGdlLmJyaWRnZUFybjtcbiAgICB0aGlzLmJyaWRnZU91dHB1dE5hbWUgPSB0aGlzLnBoeXNpY2FsTmFtZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { IResource } from 'aws-cdk-lib';
|
|
2
|
+
import { Resource } from 'aws-cdk-lib';
|
|
3
|
+
import type { IBridgeSourceRef, BridgeSourceReference } from 'aws-cdk-lib/aws-mediaconnect';
|
|
4
|
+
import type { Construct } from 'constructs';
|
|
5
|
+
import type { IBridge, BridgeFlowSource } from './bridge';
|
|
6
|
+
import type { BridgeNetworkSource } from './shared';
|
|
7
|
+
/**
|
|
8
|
+
* Interface Bridge source
|
|
9
|
+
*/
|
|
10
|
+
export interface IBridgeSource extends IResource, IBridgeSourceRef {
|
|
11
|
+
/**
|
|
12
|
+
* The Amazon Resource Name (ARN) of the bridge that owns this source.
|
|
13
|
+
*/
|
|
14
|
+
readonly bridgeArn: string;
|
|
15
|
+
/**
|
|
16
|
+
* The name of the bridge source.
|
|
17
|
+
*
|
|
18
|
+
* @attribute
|
|
19
|
+
*/
|
|
20
|
+
readonly bridgeSourceName: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Properties for the bridge source
|
|
24
|
+
*/
|
|
25
|
+
export interface BridgeSourceProps {
|
|
26
|
+
/**
|
|
27
|
+
* Name of the bridge source.
|
|
28
|
+
*
|
|
29
|
+
* @default - autogenerated
|
|
30
|
+
*/
|
|
31
|
+
readonly bridgeSourceName?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The bridge to add this source to.
|
|
34
|
+
*/
|
|
35
|
+
readonly bridge: IBridge;
|
|
36
|
+
/**
|
|
37
|
+
* Configuration for Bridge Source Input
|
|
38
|
+
*/
|
|
39
|
+
readonly source: BridgeSourceConfiguration;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Factory class for creating bridge source configurations
|
|
43
|
+
*/
|
|
44
|
+
export declare class BridgeSourceConfiguration {
|
|
45
|
+
private readonly flowConfig?;
|
|
46
|
+
private readonly networkConfig?;
|
|
47
|
+
/**
|
|
48
|
+
* Create a flow source configuration for a bridge source
|
|
49
|
+
* @param source Flow source configuration
|
|
50
|
+
* @returns Bridge source configuration with flow source
|
|
51
|
+
*/
|
|
52
|
+
static flow(source: BridgeFlowSource): BridgeSourceConfiguration;
|
|
53
|
+
/**
|
|
54
|
+
* Create a network source configuration for a bridge source
|
|
55
|
+
* @param source Network source configuration
|
|
56
|
+
* @returns Bridge source configuration with network source
|
|
57
|
+
*/
|
|
58
|
+
static network(source: BridgeNetworkSource): BridgeSourceConfiguration;
|
|
59
|
+
/**
|
|
60
|
+
* @param flowConfig flow source configuration
|
|
61
|
+
* @param networkConfig network source configuration
|
|
62
|
+
*/
|
|
63
|
+
protected constructor(flowConfig?: BridgeFlowSource | undefined, networkConfig?: BridgeNetworkSource | undefined);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Adds sources to an existing bridge.
|
|
67
|
+
*/
|
|
68
|
+
export declare class BridgeSource extends Resource implements IBridgeSource {
|
|
69
|
+
/** Uniquely identifies this class. */
|
|
70
|
+
static readonly PROPERTY_INJECTION_ID: string;
|
|
71
|
+
readonly bridgeArn: string;
|
|
72
|
+
/**
|
|
73
|
+
* The name of the bridge source.
|
|
74
|
+
*/
|
|
75
|
+
readonly bridgeSourceName: string;
|
|
76
|
+
/** A reference to this BridgeSource resource. */
|
|
77
|
+
get bridgeSourceRef(): BridgeSourceReference;
|
|
78
|
+
constructor(scope: Construct, id: string, props: BridgeSourceProps);
|
|
79
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
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.BridgeSource = exports.BridgeSourceConfiguration = 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 bridge_1 = require("./bridge");
|
|
46
|
+
/**
|
|
47
|
+
* Factory class for creating bridge source configurations
|
|
48
|
+
*/
|
|
49
|
+
class BridgeSourceConfiguration {
|
|
50
|
+
flowConfig;
|
|
51
|
+
networkConfig;
|
|
52
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeSourceConfiguration", version: "2.263.0-alpha.0" };
|
|
53
|
+
/**
|
|
54
|
+
* Create a flow source configuration for a bridge source
|
|
55
|
+
* @param source Flow source configuration
|
|
56
|
+
* @returns Bridge source configuration with flow source
|
|
57
|
+
*/
|
|
58
|
+
static flow(source) {
|
|
59
|
+
try {
|
|
60
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_BridgeFlowSource(source);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
64
|
+
Error.captureStackTrace(error, this.flow);
|
|
65
|
+
}
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
return new BridgeSourceConfiguration(source, undefined);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Create a network source configuration for a bridge source
|
|
72
|
+
* @param source Network source configuration
|
|
73
|
+
* @returns Bridge source configuration with network source
|
|
74
|
+
*/
|
|
75
|
+
static network(source) {
|
|
76
|
+
try {
|
|
77
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_BridgeNetworkSource(source);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
81
|
+
Error.captureStackTrace(error, this.network);
|
|
82
|
+
}
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
return new BridgeSourceConfiguration(undefined, source);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @param flowConfig flow source configuration
|
|
89
|
+
* @param networkConfig network source configuration
|
|
90
|
+
*/
|
|
91
|
+
constructor(flowConfig, networkConfig) {
|
|
92
|
+
this.flowConfig = flowConfig;
|
|
93
|
+
this.networkConfig = networkConfig;
|
|
94
|
+
try {
|
|
95
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_BridgeFlowSource(flowConfig);
|
|
96
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_BridgeNetworkSource(networkConfig);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
100
|
+
Error.captureStackTrace(error, BridgeSourceConfiguration);
|
|
101
|
+
}
|
|
102
|
+
throw error;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Called when the bridge source configuration is bound to a BridgeSource.
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
_bind() {
|
|
110
|
+
return {
|
|
111
|
+
flowConfig: this.flowConfig,
|
|
112
|
+
networkConfig: this.networkConfig,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.BridgeSourceConfiguration = BridgeSourceConfiguration;
|
|
117
|
+
/**
|
|
118
|
+
* Adds sources to an existing bridge.
|
|
119
|
+
*/
|
|
120
|
+
let BridgeSource = (() => {
|
|
121
|
+
let _classDecorators = [prop_injectable_1.propertyInjectable];
|
|
122
|
+
let _classDescriptor;
|
|
123
|
+
let _classExtraInitializers = [];
|
|
124
|
+
let _classThis;
|
|
125
|
+
let _classSuper = aws_cdk_lib_1.Resource;
|
|
126
|
+
var BridgeSource = class extends _classSuper {
|
|
127
|
+
static { _classThis = this; }
|
|
128
|
+
static {
|
|
129
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
130
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
131
|
+
BridgeSource = _classThis = _classDescriptor.value;
|
|
132
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
133
|
+
}
|
|
134
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeSource", version: "2.263.0-alpha.0" };
|
|
135
|
+
/** Uniquely identifies this class. */
|
|
136
|
+
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.BridgeSource';
|
|
137
|
+
bridgeArn;
|
|
138
|
+
/**
|
|
139
|
+
* The name of the bridge source.
|
|
140
|
+
*/
|
|
141
|
+
bridgeSourceName;
|
|
142
|
+
/** A reference to this BridgeSource resource. */
|
|
143
|
+
get bridgeSourceRef() {
|
|
144
|
+
return {
|
|
145
|
+
bridgeArn: this.bridgeArn,
|
|
146
|
+
bridgeSourceName: this.bridgeSourceName,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
constructor(scope, id, props) {
|
|
150
|
+
super(scope, id, {
|
|
151
|
+
physicalName: props?.bridgeSourceName ?? aws_cdk_lib_1.Lazy.string({ produce: () => aws_cdk_lib_1.Names.uniqueResourceName(this, { maxLength: 64 }) }),
|
|
152
|
+
});
|
|
153
|
+
try {
|
|
154
|
+
jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_BridgeSourceProps(props);
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
158
|
+
Error.captureStackTrace(error, BridgeSource);
|
|
159
|
+
}
|
|
160
|
+
throw error;
|
|
161
|
+
}
|
|
162
|
+
// Validate bridge source name if provided
|
|
163
|
+
if (props.bridgeSourceName != null && props.bridgeSourceName !== '' && !aws_cdk_lib_1.Token.isUnresolved(props.bridgeSourceName)) {
|
|
164
|
+
if (props.bridgeSourceName.length > 64) {
|
|
165
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeSourceNameLength`, `Bridge source name must be between 1 and 64 characters, got ${props.bridgeSourceName.length}`, this);
|
|
166
|
+
}
|
|
167
|
+
if (!/^[a-zA-Z0-9-]+$/.test(props.bridgeSourceName)) {
|
|
168
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeSourceNameFormat`, `Bridge source name must contain only alphanumeric characters and hyphens, got '${props.bridgeSourceName}'`, this);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// Enhanced CDK Analytics Telemetry
|
|
172
|
+
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
173
|
+
// Egress bridges should only use flow sources
|
|
174
|
+
const sourceConfig = props.source._bind();
|
|
175
|
+
if (props.bridge.bridgeType.value === bridge_1.BridgeType.EGRESS_BRIDGE.value && !sourceConfig.flowConfig) {
|
|
176
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeSourceEgressFlowOnly`, 'Egress bridges must use flow sources', this);
|
|
177
|
+
}
|
|
178
|
+
// Ingress bridges should only use network sources
|
|
179
|
+
if (props.bridge.bridgeType.value === bridge_1.BridgeType.INGRESS_BRIDGE.value && !sourceConfig.networkConfig) {
|
|
180
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeSourceIngressNetworkOnly`, 'Ingress bridges must use network sources', this);
|
|
181
|
+
}
|
|
182
|
+
if (!props.bridge.isFailoverEnabled) {
|
|
183
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeSourceFailoverRequired`, 'Failover configuration needs to be configured and enabled to add an additional Bridge source. ' +
|
|
184
|
+
'If the Bridge is imported via fromBridgeAttributes(), set isFailoverEnabled: true', this);
|
|
185
|
+
}
|
|
186
|
+
const flowInput = sourceConfig.flowConfig ? {
|
|
187
|
+
flowArn: sourceConfig.flowConfig.flow.flowArn,
|
|
188
|
+
flowVpcInterfaceAttachment: sourceConfig.flowConfig.vpcInterface ? {
|
|
189
|
+
vpcInterfaceName: sourceConfig.flowConfig.vpcInterface.name,
|
|
190
|
+
} : undefined,
|
|
191
|
+
} : undefined;
|
|
192
|
+
const networkInput = sourceConfig.networkConfig ? {
|
|
193
|
+
multicastIp: sourceConfig.networkConfig.multicastIp,
|
|
194
|
+
networkName: sourceConfig.networkConfig.network.name,
|
|
195
|
+
port: sourceConfig.networkConfig.port,
|
|
196
|
+
protocol: sourceConfig.networkConfig.protocol.value,
|
|
197
|
+
multicastSourceSettings: {
|
|
198
|
+
multicastSourceIp: sourceConfig.networkConfig.multicastSourceIp,
|
|
199
|
+
},
|
|
200
|
+
} : undefined;
|
|
201
|
+
new aws_mediaconnect_1.CfnBridgeSource(this, 'Resource', {
|
|
202
|
+
name: this.physicalName,
|
|
203
|
+
bridgeArn: props.bridge.bridgeArn,
|
|
204
|
+
flowSource: flowInput,
|
|
205
|
+
networkSource: networkInput,
|
|
206
|
+
});
|
|
207
|
+
this.bridgeArn = props.bridge.bridgeArn;
|
|
208
|
+
this.bridgeSourceName = this.physicalName;
|
|
209
|
+
}
|
|
210
|
+
static {
|
|
211
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
return BridgeSource = _classThis;
|
|
215
|
+
})();
|
|
216
|
+
exports.BridgeSource = BridgeSource;
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJyaWRnZS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQTRFO0FBQzVFLG1FQUErRDtBQUUvRCw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSxxQ0FBc0M7QUF5Q3RDOztHQUVHO0FBQ0gsTUFBYSx5QkFBeUI7SUF3QmpCO0lBQ0E7O0lBeEJuQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUF3Qjs7Ozs7Ozs7OztRQUN6QyxPQUFPLElBQUkseUJBQXlCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ3pEO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBMkI7Ozs7Ozs7Ozs7UUFDL0MsT0FBTyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN6RDtJQUVEOzs7T0FHRztJQUNILFlBQ21CLFVBQTZCLEVBQzdCLGFBQW1DO1FBRG5DLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjs7Ozs7OzsrQ0F6QjNDLHlCQUF5Qjs7OztLQTBCaEM7SUFFSjs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQztLQUNIOztBQXJDSCw4REFzQ0M7QUFFRDs7R0FFRztJQUVVLFlBQVk7NEJBRHhCLG9DQUFrQjs7OztzQkFDZSxzQkFBUTs0QkFBaEIsU0FBUSxXQUFROzs7O1lBQTFDLDZLQW1GQzs7Ozs7UUFsRkMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyw4Q0FBOEMsQ0FBQztRQUV0RixTQUFTLENBQVM7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QUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztvQkFDakUsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSTtpQkFDNUQsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNkLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNkLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxXQUFXLEVBQUUsWUFBWSxDQUFDLGFBQWEsQ0FBQyxXQUFXO2dCQUNuRCxXQUFXLEVBQUUsWUFBWSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSTtnQkFDcEQsSUFBSSxFQUFFLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDckMsUUFBUSxFQUFFLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQ25ELHVCQUF1QixFQUFFO29CQUN2QixpQkFBaUIsRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDLGlCQUFpQjtpQkFDaEU7YUFDRixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFFZCxJQUFJLGtDQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN2QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUNqQyxVQUFVLEVBQUUsU0FBUztnQkFDckIsYUFBYSxFQUFFLFlBQVk7YUFDNUIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMzQzs7WUFsRlUsdURBQVk7Ozs7O0FBQVosb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlLCBMYXp5LCBOYW1lcywgVG9rZW4sIFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmbkJyaWRnZVNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHR5cGUgeyBJQnJpZGdlU291cmNlUmVmLCBCcmlkZ2VTb3VyY2VSZWZlcmVuY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbWVkaWFjb25uZWN0JztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSUJyaWRnZSwgQnJpZGdlRmxvd1NvdXJjZSB9IGZyb20gJy4vYnJpZGdlJztcbmltcG9ydCB7IEJyaWRnZVR5cGUgfSBmcm9tICcuL2JyaWRnZSc7XG5pbXBvcnQgdHlwZSB7IEJyaWRnZU5ldHdvcmtTb3VyY2UgfSBmcm9tICcuL3NoYXJlZCc7XG5cbi8qKlxuICogSW50ZXJmYWNlIEJyaWRnZSBzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnJpZGdlU291cmNlIGV4dGVuZHMgSVJlc291cmNlLCBJQnJpZGdlU291cmNlUmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgYnJpZGdlIHRoYXQgb3ducyB0aGlzIHNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZS5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYnJpZGdlU291cmNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBicmlkZ2Ugc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJpZGdlU291cmNlUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VTb3VyY2VOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJyaWRnZSB0byBhZGQgdGhpcyBzb3VyY2UgdG8uXG4gICAqL1xuICByZWFkb25seSBicmlkZ2U6IElCcmlkZ2U7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIEJyaWRnZSBTb3VyY2UgSW5wdXRcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogQnJpZGdlU291cmNlQ29uZmlndXJhdGlvbjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBicmlkZ2Ugc291cmNlIGNvbmZpZ3VyYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBCcmlkZ2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGZsb3cgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnJpZGdlIHNvdXJjZVxuICAgKiBAcGFyYW0gc291cmNlIEZsb3cgc291cmNlIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgQnJpZGdlIHNvdXJjZSBjb25maWd1cmF0aW9uIHdpdGggZmxvdyBzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZmxvdyhzb3VyY2U6IEJyaWRnZUZsb3dTb3VyY2UpOiBCcmlkZ2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJyaWRnZVNvdXJjZUNvbmZpZ3VyYXRpb24oc291cmNlLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldHdvcmsgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnJpZGdlIHNvdXJjZVxuICAgKiBAcGFyYW0gc291cmNlIE5ldHdvcmsgc291cmNlIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgQnJpZGdlIHNvdXJjZSBjb25maWd1cmF0aW9uIHdpdGggbmV0d29yayBzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmV0d29yayhzb3VyY2U6IEJyaWRnZU5ldHdvcmtTb3VyY2UpOiBCcmlkZ2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJyaWRnZVNvdXJjZUNvbmZpZ3VyYXRpb24odW5kZWZpbmVkLCBzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBmbG93Q29uZmlnIGZsb3cgc291cmNlIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIG5ldHdvcmtDb25maWcgbmV0d29yayBzb3VyY2UgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmxvd0NvbmZpZz86IEJyaWRnZUZsb3dTb3VyY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXR3b3JrQ29uZmlnPzogQnJpZGdlTmV0d29ya1NvdXJjZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgYnJpZGdlIHNvdXJjZSBjb25maWd1cmF0aW9uIGlzIGJvdW5kIHRvIGEgQnJpZGdlU291cmNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZmxvd0NvbmZpZzogdGhpcy5mbG93Q29uZmlnLFxuICAgICAgbmV0d29ya0NvbmZpZzogdGhpcy5uZXR3b3JrQ29uZmlnLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRzIHNvdXJjZXMgdG8gYW4gZXhpc3RpbmcgYnJpZGdlLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgQnJpZGdlU291cmNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQnJpZGdlU291cmNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtbWVkaWFjb25uZWN0LWFscGhhLkJyaWRnZVNvdXJjZSc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBicmlkZ2VTb3VyY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoaXMgQnJpZGdlU291cmNlIHJlc291cmNlLiAqL1xuICBwdWJsaWMgZ2V0IGJyaWRnZVNvdXJjZVJlZigpOiBCcmlkZ2VTb3VyY2VSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7XG4gICAgICBicmlkZ2VBcm46IHRoaXMuYnJpZGdlQXJuLFxuICAgICAgYnJpZGdlU291cmNlTmFtZTogdGhpcy5icmlkZ2VTb3VyY2VOYW1lLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnJpZGdlU291cmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHM/LmJyaWRnZVNvdXJjZU5hbWUgPz8gTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDY0IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgYnJpZGdlIHNvdXJjZSBuYW1lIGlmIHByb3ZpZGVkXG4gICAgaWYgKHByb3BzLmJyaWRnZVNvdXJjZU5hbWUgIT0gbnVsbCAmJiBwcm9wcy5icmlkZ2VTb3VyY2VOYW1lICE9PSAnJyAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmJyaWRnZVNvdXJjZU5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuYnJpZGdlU291cmNlTmFtZS5sZW5ndGggPiA2NCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBCcmlkZ2VTb3VyY2VOYW1lTGVuZ3RoYCwgYEJyaWRnZSBzb3VyY2UgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuYnJpZGdlU291cmNlTmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1dKyQvLnRlc3QocHJvcHMuYnJpZGdlU291cmNlTmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgQnJpZGdlU291cmNlTmFtZUZvcm1hdGAsIGBCcmlkZ2Ugc291cmNlIG5hbWUgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIGh5cGhlbnMsIGdvdCAnJHtwcm9wcy5icmlkZ2VTb3VyY2VOYW1lfSdgLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIC8vIEVncmVzcyBicmlkZ2VzIHNob3VsZCBvbmx5IHVzZSBmbG93IHNvdXJjZXNcbiAgICBjb25zdCBzb3VyY2VDb25maWcgPSBwcm9wcy5zb3VyY2UuX2JpbmQoKTtcbiAgICBpZiAocHJvcHMuYnJpZGdlLmJyaWRnZVR5cGUudmFsdWUgPT09IEJyaWRnZVR5cGUuRUdSRVNTX0JSSURHRS52YWx1ZSAmJiAhc291cmNlQ29uZmlnLmZsb3dDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZVNvdXJjZUVncmVzc0Zsb3dPbmx5YCwgJ0VncmVzcyBicmlkZ2VzIG11c3QgdXNlIGZsb3cgc291cmNlcycsIHRoaXMpO1xuICAgIH1cblxuICAgIC8vIEluZ3Jlc3MgYnJpZGdlcyBzaG91bGQgb25seSB1c2UgbmV0d29yayBzb3VyY2VzXG4gICAgaWYgKHByb3BzLmJyaWRnZS5icmlkZ2VUeXBlLnZhbHVlID09PSBCcmlkZ2VUeXBlLklOR1JFU1NfQlJJREdFLnZhbHVlICYmICFzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgQnJpZGdlU291cmNlSW5ncmVzc05ldHdvcmtPbmx5YCwgJ0luZ3Jlc3MgYnJpZGdlcyBtdXN0IHVzZSBuZXR3b3JrIHNvdXJjZXMnLCB0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAoIXByb3BzLmJyaWRnZS5pc0ZhaWxvdmVyRW5hYmxlZCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEJyaWRnZVNvdXJjZUZhaWxvdmVyUmVxdWlyZWRgLFxuICAgICAgICAnRmFpbG92ZXIgY29uZmlndXJhdGlvbiBuZWVkcyB0byBiZSBjb25maWd1cmVkIGFuZCBlbmFibGVkIHRvIGFkZCBhbiBhZGRpdGlvbmFsIEJyaWRnZSBzb3VyY2UuICcgK1xuICAgICAgICAnSWYgdGhlIEJyaWRnZSBpcyBpbXBvcnRlZCB2aWEgZnJvbUJyaWRnZUF0dHJpYnV0ZXMoKSwgc2V0IGlzRmFpbG92ZXJFbmFibGVkOiB0cnVlJyxcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZmxvd0lucHV0ID0gc291cmNlQ29uZmlnLmZsb3dDb25maWcgPyB7XG4gICAgICBmbG93QXJuOiBzb3VyY2VDb25maWcuZmxvd0NvbmZpZy5mbG93LmZsb3dBcm4sXG4gICAgICBmbG93VnBjSW50ZXJmYWNlQXR0YWNobWVudDogc291cmNlQ29uZmlnLmZsb3dDb25maWcudnBjSW50ZXJmYWNlID8ge1xuICAgICAgICB2cGNJbnRlcmZhY2VOYW1lOiBzb3VyY2VDb25maWcuZmxvd0NvbmZpZy52cGNJbnRlcmZhY2UubmFtZSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgfSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBuZXR3b3JrSW5wdXQgPSBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZyA/IHtcbiAgICAgIG11bHRpY2FzdElwOiBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZy5tdWx0aWNhc3RJcCxcbiAgICAgIG5ldHdvcmtOYW1lOiBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZy5uZXR3b3JrLm5hbWUsXG4gICAgICBwb3J0OiBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZy5wb3J0LFxuICAgICAgcHJvdG9jb2w6IHNvdXJjZUNvbmZpZy5uZXR3b3JrQ29uZmlnLnByb3RvY29sLnZhbHVlLFxuICAgICAgbXVsdGljYXN0U291cmNlU2V0dGluZ3M6IHtcbiAgICAgICAgbXVsdGljYXN0U291cmNlSXA6IHNvdXJjZUNvbmZpZy5uZXR3b3JrQ29uZmlnLm11bHRpY2FzdFNvdXJjZUlwLFxuICAgICAgfSxcbiAgICB9IDogdW5kZWZpbmVkO1xuXG4gICAgbmV3IENmbkJyaWRnZVNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGJyaWRnZUFybjogcHJvcHMuYnJpZGdlLmJyaWRnZUFybixcbiAgICAgIGZsb3dTb3VyY2U6IGZsb3dJbnB1dCxcbiAgICAgIG5ldHdvcmtTb3VyY2U6IG5ldHdvcmtJbnB1dCxcbiAgICB9KTtcblxuICAgIHRoaXMuYnJpZGdlQXJuID0gcHJvcHMuYnJpZGdlLmJyaWRnZUFybjtcbiAgICB0aGlzLmJyaWRnZVNvdXJjZU5hbWUgPSB0aGlzLnBoeXNpY2FsTmFtZTtcbiAgfVxufVxuIl19
|