@alicloud/ros-cdk-nlb 1.0.14 → 1.0.16
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/lib/datasource/index.d.ts +2 -0
- package/lib/datasource/index.js +16 -0
- package/lib/datasource/loadbalancers.d.ts +77 -0
- package/lib/datasource/loadbalancers.js +39 -0
- package/lib/datasource/nlb.generated.d.ts +147 -0
- package/lib/datasource/nlb.generated.js +193 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +4 -1
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./loadbalancers"), exports);
|
|
14
|
+
// DATASOURCE::NLB Resources:
|
|
15
|
+
__exportStar(require("./nlb.generated"), exports);
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0M7QUFFaEMsNkJBQTZCO0FBQzdCLGtEQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9hZGJhbGFuY2Vycyc7XG5cbi8vIERBVEFTT1VSQ0U6Ok5MQiBSZXNvdXJjZXM6XG5leHBvcnQgKiBmcm9tICcuL25sYi5nZW5lcmF0ZWQnO1xuIl19
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as ros from '@alicloud/ros-cdk-core';
|
|
2
|
+
import { RosLoadBalancers } from './nlb.generated';
|
|
3
|
+
export { RosLoadBalancers as LoadBalancersProperty };
|
|
4
|
+
/**
|
|
5
|
+
* Properties for defining a `DATASOURCE::NLB::LoadBalancers`
|
|
6
|
+
*/
|
|
7
|
+
export interface LoadBalancersProps {
|
|
8
|
+
/**
|
|
9
|
+
* Property addressIpVersion: IP version.
|
|
10
|
+
*/
|
|
11
|
+
readonly addressIpVersion?: string | ros.IResolvable;
|
|
12
|
+
/**
|
|
13
|
+
* Property addressType: The address type of the load balancing instance.
|
|
14
|
+
*/
|
|
15
|
+
readonly addressType?: string | ros.IResolvable;
|
|
16
|
+
/**
|
|
17
|
+
* Property ipv6AddressType: IPv6 address type of network load balancing
|
|
18
|
+
*/
|
|
19
|
+
readonly ipv6AddressType?: string | ros.IResolvable;
|
|
20
|
+
/**
|
|
21
|
+
* Property loadBalancerBussinessStatus: Service status of application load balancing
|
|
22
|
+
*/
|
|
23
|
+
readonly loadBalancerBussinessStatus?: string | ros.IResolvable;
|
|
24
|
+
/**
|
|
25
|
+
* Property loadBalancerIds: IDs of the load balancer instance.
|
|
26
|
+
*/
|
|
27
|
+
readonly loadBalancerIds?: Array<string | ros.IResolvable> | ros.IResolvable;
|
|
28
|
+
/**
|
|
29
|
+
* Property loadBalancerNames: Names of the load balancing instance.
|
|
30
|
+
*/
|
|
31
|
+
readonly loadBalancerNames?: Array<string | ros.IResolvable> | ros.IResolvable;
|
|
32
|
+
/**
|
|
33
|
+
* Property loadBalancerStatus: The status of SLB.
|
|
34
|
+
*/
|
|
35
|
+
readonly loadBalancerStatus?: string | ros.IResolvable;
|
|
36
|
+
/**
|
|
37
|
+
* Property resourceGroupId: Resource group id
|
|
38
|
+
*/
|
|
39
|
+
readonly resourceGroupId?: string | ros.IResolvable;
|
|
40
|
+
/**
|
|
41
|
+
* Property tags: Tags of Nlb.
|
|
42
|
+
*/
|
|
43
|
+
readonly tags?: RosLoadBalancers.TagsProperty[];
|
|
44
|
+
/**
|
|
45
|
+
* Property vpcIds: VPC IDs
|
|
46
|
+
*/
|
|
47
|
+
readonly vpcIds?: Array<string | ros.IResolvable> | ros.IResolvable;
|
|
48
|
+
/**
|
|
49
|
+
* Property zoneId: ID of the ready-to-use zone of the load balancing instance.
|
|
50
|
+
*/
|
|
51
|
+
readonly zoneId?: string | ros.IResolvable;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A ROS resource type: `DATASOURCE::NLB::LoadBalancers`
|
|
55
|
+
*/
|
|
56
|
+
export declare class LoadBalancers extends ros.Resource {
|
|
57
|
+
/**
|
|
58
|
+
* A factory method that creates a new instance of this class from an object
|
|
59
|
+
* containing the properties of this ROS resource, which will be assigned to ROS resource.
|
|
60
|
+
*/
|
|
61
|
+
/**
|
|
62
|
+
* Attribute LoadBalancerIds: The list of load balancer IDs.
|
|
63
|
+
*/
|
|
64
|
+
readonly attrLoadBalancerIds: ros.IResolvable;
|
|
65
|
+
/**
|
|
66
|
+
* Attribute LoadBalancers: The list of load balancers.
|
|
67
|
+
*/
|
|
68
|
+
readonly attrLoadBalancers: ros.IResolvable;
|
|
69
|
+
/**
|
|
70
|
+
* Create a new `DATASOURCE::NLB::LoadBalancers`.
|
|
71
|
+
*
|
|
72
|
+
* Param scope - scope in which this resource is defined
|
|
73
|
+
* Param id - scoped id of the resource
|
|
74
|
+
* Param props - resource properties
|
|
75
|
+
*/
|
|
76
|
+
constructor(scope: ros.Construct, id: string, props?: LoadBalancersProps, enableResourcePropertyConstraint?: boolean);
|
|
77
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoadBalancers = exports.LoadBalancersProperty = void 0;
|
|
4
|
+
const ros = require("@alicloud/ros-cdk-core");
|
|
5
|
+
const nlb_generated_1 = require("./nlb.generated");
|
|
6
|
+
Object.defineProperty(exports, "LoadBalancersProperty", { enumerable: true, get: function () { return nlb_generated_1.RosLoadBalancers; } });
|
|
7
|
+
/**
|
|
8
|
+
* A ROS resource type: `DATASOURCE::NLB::LoadBalancers`
|
|
9
|
+
*/
|
|
10
|
+
class LoadBalancers extends ros.Resource {
|
|
11
|
+
/**
|
|
12
|
+
* Create a new `DATASOURCE::NLB::LoadBalancers`.
|
|
13
|
+
*
|
|
14
|
+
* Param scope - scope in which this resource is defined
|
|
15
|
+
* Param id - scoped id of the resource
|
|
16
|
+
* Param props - resource properties
|
|
17
|
+
*/
|
|
18
|
+
constructor(scope, id, props = {}, enableResourcePropertyConstraint = true) {
|
|
19
|
+
super(scope, id);
|
|
20
|
+
const rosLoadBalancers = new nlb_generated_1.RosLoadBalancers(this, id, {
|
|
21
|
+
loadBalancerNames: props.loadBalancerNames,
|
|
22
|
+
addressIpVersion: props.addressIpVersion,
|
|
23
|
+
loadBalancerBussinessStatus: props.loadBalancerBussinessStatus,
|
|
24
|
+
zoneId: props.zoneId,
|
|
25
|
+
resourceGroupId: props.resourceGroupId,
|
|
26
|
+
vpcIds: props.vpcIds,
|
|
27
|
+
loadBalancerIds: props.loadBalancerIds,
|
|
28
|
+
addressType: props.addressType,
|
|
29
|
+
loadBalancerStatus: props.loadBalancerStatus,
|
|
30
|
+
tags: props.tags,
|
|
31
|
+
ipv6AddressType: props.ipv6AddressType,
|
|
32
|
+
}, enableResourcePropertyConstraint && this.stack.enableResourcePropertyConstraint);
|
|
33
|
+
this.resource = rosLoadBalancers;
|
|
34
|
+
this.attrLoadBalancerIds = rosLoadBalancers.attrLoadBalancerIds;
|
|
35
|
+
this.attrLoadBalancers = rosLoadBalancers.attrLoadBalancers;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.LoadBalancers = LoadBalancers;
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGJhbGFuY2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvYWRiYWxhbmNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQThDO0FBQzlDLG1EQUFtRDtBQUV0QixzR0FGcEIsZ0NBQWdCLE9BRXlCO0FBK0RsRDs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBaUIzQzs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQW9CLEVBQUUsRUFBVSxFQUFFLFFBQTRCLEVBQUUsRUFBRSxtQ0FBMkMsSUFBSTtRQUN6SCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxnQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFHO1lBQ3JELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QywyQkFBMkIsRUFBRSxLQUFLLENBQUMsMkJBQTJCO1lBQzlELE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1QyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO1NBQ3pDLEVBQUUsZ0NBQWdDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRSxDQUFDO0NBQ0o7QUE1Q0Qsc0NBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcm9zIGZyb20gJ0BhbGljbG91ZC9yb3MtY2RrLWNvcmUnO1xuaW1wb3J0IHsgUm9zTG9hZEJhbGFuY2VycyB9IGZyb20gJy4vbmxiLmdlbmVyYXRlZCc7XG4vLyBHZW5lcmF0ZWQgZnJvbSB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIFNwZWNpZmljYXRpb25cbmV4cG9ydCB7IFJvc0xvYWRCYWxhbmNlcnMgYXMgTG9hZEJhbGFuY2Vyc1Byb3BlcnR5IH07XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgZGVmaW5pbmcgYSBgREFUQVNPVVJDRTo6TkxCOjpMb2FkQmFsYW5jZXJzYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlcnNQcm9wcyB7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBhZGRyZXNzSXBWZXJzaW9uOiBJUCB2ZXJzaW9uLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFkZHJlc3NJcFZlcnNpb24/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBhZGRyZXNzVHlwZTogVGhlIGFkZHJlc3MgdHlwZSBvZiB0aGUgbG9hZCBiYWxhbmNpbmcgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYWRkcmVzc1R5cGU/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBpcHY2QWRkcmVzc1R5cGU6IElQdjYgYWRkcmVzcyB0eXBlIG9mIG5ldHdvcmsgbG9hZCBiYWxhbmNpbmdcbiAgICAgKi9cbiAgICByZWFkb25seSBpcHY2QWRkcmVzc1R5cGU/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBsb2FkQmFsYW5jZXJCdXNzaW5lc3NTdGF0dXM6IFNlcnZpY2Ugc3RhdHVzIG9mIGFwcGxpY2F0aW9uIGxvYWQgYmFsYW5jaW5nXG4gICAgICovXG4gICAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyQnVzc2luZXNzU3RhdHVzPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgbG9hZEJhbGFuY2VySWRzOiBJRHMgb2YgdGhlIGxvYWQgYmFsYW5jZXIgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgbG9hZEJhbGFuY2VySWRzPzogQXJyYXk8c3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlPiB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGxvYWRCYWxhbmNlck5hbWVzOiBOYW1lcyBvZiB0aGUgbG9hZCBiYWxhbmNpbmcgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZXM/OiBBcnJheTxzdHJpbmcgfCByb3MuSVJlc29sdmFibGU+IHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgbG9hZEJhbGFuY2VyU3RhdHVzOiBUaGUgc3RhdHVzIG9mIFNMQi5cbiAgICAgKi9cbiAgICByZWFkb25seSBsb2FkQmFsYW5jZXJTdGF0dXM/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSByZXNvdXJjZUdyb3VwSWQ6IFJlc291cmNlIGdyb3VwIGlkXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVzb3VyY2VHcm91cElkPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgdGFnczogVGFncyBvZiBObGIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdGFncz86IFJvc0xvYWRCYWxhbmNlcnMuVGFnc1Byb3BlcnR5W107XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSB2cGNJZHM6IFZQQyBJRHNcbiAgICAgKi9cbiAgICByZWFkb25seSB2cGNJZHM/OiBBcnJheTxzdHJpbmcgfCByb3MuSVJlc29sdmFibGU+IHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgem9uZUlkOiBJRCBvZiB0aGUgcmVhZHktdG8tdXNlIHpvbmUgb2YgdGhlIGxvYWQgYmFsYW5jaW5nIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHpvbmVJZD86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcbn1cblxuLyoqXG4gKiBBIFJPUyByZXNvdXJjZSB0eXBlOiAgYERBVEFTT1VSQ0U6Ok5MQjo6TG9hZEJhbGFuY2Vyc2BcbiAqL1xuZXhwb3J0IGNsYXNzIExvYWRCYWxhbmNlcnMgZXh0ZW5kcyByb3MuUmVzb3VyY2Uge1xuXG4gICAgLyoqXG4gICAgICogQSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyBmcm9tIGFuIG9iamVjdFxuICAgICAqIGNvbnRhaW5pbmcgdGhlIHByb3BlcnRpZXMgb2YgdGhpcyBST1MgcmVzb3VyY2UsIHdoaWNoIHdpbGwgYmUgYXNzaWduZWQgdG8gUk9TIHJlc291cmNlLlxuICAgICAqL1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIExvYWRCYWxhbmNlcklkczogVGhlIGxpc3Qgb2YgbG9hZCBiYWxhbmNlciBJRHMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJMb2FkQmFsYW5jZXJJZHM6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBMb2FkQmFsYW5jZXJzOiBUaGUgbGlzdCBvZiBsb2FkIGJhbGFuY2Vycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckxvYWRCYWxhbmNlcnM6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyBgREFUQVNPVVJDRTo6TkxCOjpMb2FkQmFsYW5jZXJzYC5cbiAgICAgKlxuICAgICAqIFBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAgICogUGFyYW0gaWQgICAgLSBzY29wZWQgaWQgb2YgdGhlIHJlc291cmNlXG4gICAgICogUGFyYW0gcHJvcHMgLSByZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IHJvcy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMb2FkQmFsYW5jZXJzUHJvcHMgPSB7fSwgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6Ym9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICBjb25zdCByb3NMb2FkQmFsYW5jZXJzID0gbmV3IFJvc0xvYWRCYWxhbmNlcnModGhpcywgaWQsICB7XG4gICAgICAgICAgICBsb2FkQmFsYW5jZXJOYW1lczogcHJvcHMubG9hZEJhbGFuY2VyTmFtZXMsXG4gICAgICAgICAgICBhZGRyZXNzSXBWZXJzaW9uOiBwcm9wcy5hZGRyZXNzSXBWZXJzaW9uLFxuICAgICAgICAgICAgbG9hZEJhbGFuY2VyQnVzc2luZXNzU3RhdHVzOiBwcm9wcy5sb2FkQmFsYW5jZXJCdXNzaW5lc3NTdGF0dXMsXG4gICAgICAgICAgICB6b25lSWQ6IHByb3BzLnpvbmVJZCxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXBJZDogcHJvcHMucmVzb3VyY2VHcm91cElkLFxuICAgICAgICAgICAgdnBjSWRzOiBwcm9wcy52cGNJZHMsXG4gICAgICAgICAgICBsb2FkQmFsYW5jZXJJZHM6IHByb3BzLmxvYWRCYWxhbmNlcklkcyxcbiAgICAgICAgICAgIGFkZHJlc3NUeXBlOiBwcm9wcy5hZGRyZXNzVHlwZSxcbiAgICAgICAgICAgIGxvYWRCYWxhbmNlclN0YXR1czogcHJvcHMubG9hZEJhbGFuY2VyU3RhdHVzLFxuICAgICAgICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgICAgICAgIGlwdjZBZGRyZXNzVHlwZTogcHJvcHMuaXB2NkFkZHJlc3NUeXBlLFxuICAgICAgICB9LCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCAmJiB0aGlzLnN0YWNrLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50KTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHJvc0xvYWRCYWxhbmNlcnM7XG4gICAgICAgIHRoaXMuYXR0ckxvYWRCYWxhbmNlcklkcyA9IHJvc0xvYWRCYWxhbmNlcnMuYXR0ckxvYWRCYWxhbmNlcklkcztcbiAgICAgICAgdGhpcy5hdHRyTG9hZEJhbGFuY2VycyA9IHJvc0xvYWRCYWxhbmNlcnMuYXR0ckxvYWRCYWxhbmNlcnM7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import * as ros from '@alicloud/ros-cdk-core';
|
|
2
|
+
/**
|
|
3
|
+
* Properties for defining a `DATASOURCE::NLB::LoadBalancers`
|
|
4
|
+
*/
|
|
5
|
+
export interface RosLoadBalancersProps {
|
|
6
|
+
/**
|
|
7
|
+
* @Property addressIpVersion: IP version.
|
|
8
|
+
*/
|
|
9
|
+
readonly addressIpVersion?: string | ros.IResolvable;
|
|
10
|
+
/**
|
|
11
|
+
* @Property addressType: The address type of the load balancing instance.
|
|
12
|
+
*/
|
|
13
|
+
readonly addressType?: string | ros.IResolvable;
|
|
14
|
+
/**
|
|
15
|
+
* @Property ipv6AddressType: IPv6 address type of network load balancing
|
|
16
|
+
*/
|
|
17
|
+
readonly ipv6AddressType?: string | ros.IResolvable;
|
|
18
|
+
/**
|
|
19
|
+
* @Property loadBalancerBussinessStatus: Service status of application load balancing
|
|
20
|
+
*/
|
|
21
|
+
readonly loadBalancerBussinessStatus?: string | ros.IResolvable;
|
|
22
|
+
/**
|
|
23
|
+
* @Property loadBalancerIds: IDs of the load balancer instance.
|
|
24
|
+
*/
|
|
25
|
+
readonly loadBalancerIds?: Array<string | ros.IResolvable> | ros.IResolvable;
|
|
26
|
+
/**
|
|
27
|
+
* @Property loadBalancerNames: Names of the load balancing instance.
|
|
28
|
+
*/
|
|
29
|
+
readonly loadBalancerNames?: Array<string | ros.IResolvable> | ros.IResolvable;
|
|
30
|
+
/**
|
|
31
|
+
* @Property loadBalancerStatus: The status of SLB.
|
|
32
|
+
*/
|
|
33
|
+
readonly loadBalancerStatus?: string | ros.IResolvable;
|
|
34
|
+
/**
|
|
35
|
+
* @Property resourceGroupId: Resource group id
|
|
36
|
+
*/
|
|
37
|
+
readonly resourceGroupId?: string | ros.IResolvable;
|
|
38
|
+
/**
|
|
39
|
+
* @Property tags: Tags of Nlb.
|
|
40
|
+
*/
|
|
41
|
+
readonly tags?: RosLoadBalancers.TagsProperty[];
|
|
42
|
+
/**
|
|
43
|
+
* @Property vpcIds: VPC IDs
|
|
44
|
+
*/
|
|
45
|
+
readonly vpcIds?: Array<string | ros.IResolvable> | ros.IResolvable;
|
|
46
|
+
/**
|
|
47
|
+
* @Property zoneId: ID of the ready-to-use zone of the load balancing instance.
|
|
48
|
+
*/
|
|
49
|
+
readonly zoneId?: string | ros.IResolvable;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A ROS template type: `DATASOURCE::NLB::LoadBalancers`
|
|
53
|
+
*/
|
|
54
|
+
export declare class RosLoadBalancers extends ros.RosResource {
|
|
55
|
+
/**
|
|
56
|
+
* The resource type name for this resource class.
|
|
57
|
+
*/
|
|
58
|
+
static readonly ROS_RESOURCE_TYPE_NAME = "DATASOURCE::NLB::LoadBalancers";
|
|
59
|
+
/**
|
|
60
|
+
* A factory method that creates a new instance of this class from an object
|
|
61
|
+
* containing the properties of this ROS resource.
|
|
62
|
+
*/
|
|
63
|
+
/**
|
|
64
|
+
* @Attribute LoadBalancerIds: The list of load balancer IDs.
|
|
65
|
+
*/
|
|
66
|
+
readonly attrLoadBalancerIds: ros.IResolvable;
|
|
67
|
+
/**
|
|
68
|
+
* @Attribute LoadBalancers: The list of load balancers.
|
|
69
|
+
*/
|
|
70
|
+
readonly attrLoadBalancers: ros.IResolvable;
|
|
71
|
+
enableResourcePropertyConstraint: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* @Property addressIpVersion: IP version.
|
|
74
|
+
*/
|
|
75
|
+
addressIpVersion: string | ros.IResolvable | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* @Property addressType: The address type of the load balancing instance.
|
|
78
|
+
*/
|
|
79
|
+
addressType: string | ros.IResolvable | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* @Property ipv6AddressType: IPv6 address type of network load balancing
|
|
82
|
+
*/
|
|
83
|
+
ipv6AddressType: string | ros.IResolvable | undefined;
|
|
84
|
+
/**
|
|
85
|
+
* @Property loadBalancerBussinessStatus: Service status of application load balancing
|
|
86
|
+
*/
|
|
87
|
+
loadBalancerBussinessStatus: string | ros.IResolvable | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* @Property loadBalancerIds: IDs of the load balancer instance.
|
|
90
|
+
*/
|
|
91
|
+
loadBalancerIds: Array<string | ros.IResolvable> | ros.IResolvable | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* @Property loadBalancerNames: Names of the load balancing instance.
|
|
94
|
+
*/
|
|
95
|
+
loadBalancerNames: Array<string | ros.IResolvable> | ros.IResolvable | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* @Property loadBalancerStatus: The status of SLB.
|
|
98
|
+
*/
|
|
99
|
+
loadBalancerStatus: string | ros.IResolvable | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* @Property resourceGroupId: Resource group id
|
|
102
|
+
*/
|
|
103
|
+
resourceGroupId: string | ros.IResolvable | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* @Property tags: Tags of Nlb.
|
|
106
|
+
*/
|
|
107
|
+
tags: RosLoadBalancers.TagsProperty[] | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* @Property vpcIds: VPC IDs
|
|
110
|
+
*/
|
|
111
|
+
vpcIds: Array<string | ros.IResolvable> | ros.IResolvable | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* @Property zoneId: ID of the ready-to-use zone of the load balancing instance.
|
|
114
|
+
*/
|
|
115
|
+
zoneId: string | ros.IResolvable | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Create a new `DATASOURCE::NLB::LoadBalancers`.
|
|
118
|
+
*
|
|
119
|
+
* @param scope - scope in which this resource is defined
|
|
120
|
+
* @param id - scoped id of the resource
|
|
121
|
+
* @param props - resource properties
|
|
122
|
+
*/
|
|
123
|
+
constructor(scope: ros.Construct, id: string, props: RosLoadBalancersProps, enableResourcePropertyConstraint: boolean);
|
|
124
|
+
protected get rosProperties(): {
|
|
125
|
+
[key: string]: any;
|
|
126
|
+
};
|
|
127
|
+
protected renderProperties(props: {
|
|
128
|
+
[key: string]: any;
|
|
129
|
+
}): {
|
|
130
|
+
[key: string]: any;
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export declare namespace RosLoadBalancers {
|
|
134
|
+
/**
|
|
135
|
+
* @stability external
|
|
136
|
+
*/
|
|
137
|
+
interface TagsProperty {
|
|
138
|
+
/**
|
|
139
|
+
* @Property value: undefined
|
|
140
|
+
*/
|
|
141
|
+
readonly value?: string | ros.IResolvable;
|
|
142
|
+
/**
|
|
143
|
+
* @Property key: undefined
|
|
144
|
+
*/
|
|
145
|
+
readonly key: string | ros.IResolvable;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Generated from the AliCloud ROS Resource Specification
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.RosLoadBalancers = void 0;
|
|
5
|
+
const ros = require("@alicloud/ros-cdk-core");
|
|
6
|
+
/**
|
|
7
|
+
* Determine whether the given properties match those of a `RosLoadBalancersProps`
|
|
8
|
+
*
|
|
9
|
+
* @param properties - the TypeScript properties of a `RosLoadBalancersProps`
|
|
10
|
+
*
|
|
11
|
+
* @returns the result of the validation.
|
|
12
|
+
*/
|
|
13
|
+
function RosLoadBalancersPropsValidator(properties) {
|
|
14
|
+
if (!ros.canInspect(properties)) {
|
|
15
|
+
return ros.VALIDATION_SUCCESS;
|
|
16
|
+
}
|
|
17
|
+
const errors = new ros.ValidationResults();
|
|
18
|
+
if (properties.loadBalancerNames && (Array.isArray(properties.loadBalancerNames) || (typeof properties.loadBalancerNames) === 'string')) {
|
|
19
|
+
errors.collect(ros.propertyValidator('loadBalancerNames', ros.validateLength)({
|
|
20
|
+
data: properties.loadBalancerNames.length,
|
|
21
|
+
min: 0,
|
|
22
|
+
max: 10,
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
errors.collect(ros.propertyValidator('loadBalancerNames', ros.listValidator(ros.validateString))(properties.loadBalancerNames));
|
|
26
|
+
errors.collect(ros.propertyValidator('addressIpVersion', ros.validateString)(properties.addressIpVersion));
|
|
27
|
+
if (properties.loadBalancerBussinessStatus && (typeof properties.loadBalancerBussinessStatus) !== 'object') {
|
|
28
|
+
errors.collect(ros.propertyValidator('loadBalancerBussinessStatus', ros.validateAllowedValues)({
|
|
29
|
+
data: properties.loadBalancerBussinessStatus,
|
|
30
|
+
allowedValues: ["Abnormal", "Normal"],
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
errors.collect(ros.propertyValidator('loadBalancerBussinessStatus', ros.validateString)(properties.loadBalancerBussinessStatus));
|
|
34
|
+
errors.collect(ros.propertyValidator('zoneId', ros.validateString)(properties.zoneId));
|
|
35
|
+
errors.collect(ros.propertyValidator('resourceGroupId', ros.validateString)(properties.resourceGroupId));
|
|
36
|
+
if (properties.vpcIds && (Array.isArray(properties.vpcIds) || (typeof properties.vpcIds) === 'string')) {
|
|
37
|
+
errors.collect(ros.propertyValidator('vpcIds', ros.validateLength)({
|
|
38
|
+
data: properties.vpcIds.length,
|
|
39
|
+
min: 0,
|
|
40
|
+
max: 10,
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
errors.collect(ros.propertyValidator('vpcIds', ros.listValidator(ros.validateString))(properties.vpcIds));
|
|
44
|
+
if (properties.loadBalancerIds && (Array.isArray(properties.loadBalancerIds) || (typeof properties.loadBalancerIds) === 'string')) {
|
|
45
|
+
errors.collect(ros.propertyValidator('loadBalancerIds', ros.validateLength)({
|
|
46
|
+
data: properties.loadBalancerIds.length,
|
|
47
|
+
min: 0,
|
|
48
|
+
max: 20,
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
errors.collect(ros.propertyValidator('loadBalancerIds', ros.listValidator(ros.validateString))(properties.loadBalancerIds));
|
|
52
|
+
if (properties.addressType && (typeof properties.addressType) !== 'object') {
|
|
53
|
+
errors.collect(ros.propertyValidator('addressType', ros.validateAllowedValues)({
|
|
54
|
+
data: properties.addressType,
|
|
55
|
+
allowedValues: ["Internet", "Intranet"],
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
errors.collect(ros.propertyValidator('addressType', ros.validateString)(properties.addressType));
|
|
59
|
+
if (properties.loadBalancerStatus && (typeof properties.loadBalancerStatus) !== 'object') {
|
|
60
|
+
errors.collect(ros.propertyValidator('loadBalancerStatus', ros.validateAllowedValues)({
|
|
61
|
+
data: properties.loadBalancerStatus,
|
|
62
|
+
allowedValues: ["Inactive", "Active", "Provisioning", "Configuring", "Deleting", "Deleted"],
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
errors.collect(ros.propertyValidator('loadBalancerStatus', ros.validateString)(properties.loadBalancerStatus));
|
|
66
|
+
if (properties.tags && (Array.isArray(properties.tags) || (typeof properties.tags) === 'string')) {
|
|
67
|
+
errors.collect(ros.propertyValidator('tags', ros.validateLength)({
|
|
68
|
+
data: properties.tags.length,
|
|
69
|
+
min: undefined,
|
|
70
|
+
max: 20,
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
errors.collect(ros.propertyValidator('tags', ros.listValidator(RosLoadBalancers_TagsPropertyValidator))(properties.tags));
|
|
74
|
+
errors.collect(ros.propertyValidator('ipv6AddressType', ros.validateString)(properties.ipv6AddressType));
|
|
75
|
+
return errors.wrap('supplied properties not correct for "RosLoadBalancersProps"');
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Renders the AliCloud ROS Resource properties of an `DATASOURCE::NLB::LoadBalancers` resource
|
|
79
|
+
*
|
|
80
|
+
* @param properties - the TypeScript properties of a `RosLoadBalancersProps`
|
|
81
|
+
*
|
|
82
|
+
* @returns the AliCloud ROS Resource properties of an `DATASOURCE::NLB::LoadBalancers` resource.
|
|
83
|
+
*/
|
|
84
|
+
// @ts-ignore TS6133
|
|
85
|
+
function rosLoadBalancersPropsToRosTemplate(properties, enableResourcePropertyConstraint) {
|
|
86
|
+
if (!ros.canInspect(properties)) {
|
|
87
|
+
return properties;
|
|
88
|
+
}
|
|
89
|
+
if (enableResourcePropertyConstraint) {
|
|
90
|
+
RosLoadBalancersPropsValidator(properties).assertSuccess();
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
AddressIpVersion: ros.stringToRosTemplate(properties.addressIpVersion),
|
|
94
|
+
AddressType: ros.stringToRosTemplate(properties.addressType),
|
|
95
|
+
Ipv6AddressType: ros.stringToRosTemplate(properties.ipv6AddressType),
|
|
96
|
+
LoadBalancerBussinessStatus: ros.stringToRosTemplate(properties.loadBalancerBussinessStatus),
|
|
97
|
+
LoadBalancerIds: ros.listMapper(ros.stringToRosTemplate)(properties.loadBalancerIds),
|
|
98
|
+
LoadBalancerNames: ros.listMapper(ros.stringToRosTemplate)(properties.loadBalancerNames),
|
|
99
|
+
LoadBalancerStatus: ros.stringToRosTemplate(properties.loadBalancerStatus),
|
|
100
|
+
ResourceGroupId: ros.stringToRosTemplate(properties.resourceGroupId),
|
|
101
|
+
Tags: ros.listMapper(rosLoadBalancersTagsPropertyToRosTemplate)(properties.tags),
|
|
102
|
+
VpcIds: ros.listMapper(ros.stringToRosTemplate)(properties.vpcIds),
|
|
103
|
+
ZoneId: ros.stringToRosTemplate(properties.zoneId),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* A ROS template type: `DATASOURCE::NLB::LoadBalancers`
|
|
108
|
+
*/
|
|
109
|
+
class RosLoadBalancers extends ros.RosResource {
|
|
110
|
+
/**
|
|
111
|
+
* Create a new `DATASOURCE::NLB::LoadBalancers`.
|
|
112
|
+
*
|
|
113
|
+
* @param scope - scope in which this resource is defined
|
|
114
|
+
* @param id - scoped id of the resource
|
|
115
|
+
* @param props - resource properties
|
|
116
|
+
*/
|
|
117
|
+
constructor(scope, id, props, enableResourcePropertyConstraint) {
|
|
118
|
+
super(scope, id, { type: RosLoadBalancers.ROS_RESOURCE_TYPE_NAME, properties: props });
|
|
119
|
+
this.attrLoadBalancerIds = this.getAtt('LoadBalancerIds');
|
|
120
|
+
this.attrLoadBalancers = this.getAtt('LoadBalancers');
|
|
121
|
+
this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
|
|
122
|
+
this.addressIpVersion = props.addressIpVersion;
|
|
123
|
+
this.addressType = props.addressType;
|
|
124
|
+
this.ipv6AddressType = props.ipv6AddressType;
|
|
125
|
+
this.loadBalancerBussinessStatus = props.loadBalancerBussinessStatus;
|
|
126
|
+
this.loadBalancerIds = props.loadBalancerIds;
|
|
127
|
+
this.loadBalancerNames = props.loadBalancerNames;
|
|
128
|
+
this.loadBalancerStatus = props.loadBalancerStatus;
|
|
129
|
+
this.resourceGroupId = props.resourceGroupId;
|
|
130
|
+
this.tags = props.tags;
|
|
131
|
+
this.vpcIds = props.vpcIds;
|
|
132
|
+
this.zoneId = props.zoneId;
|
|
133
|
+
}
|
|
134
|
+
get rosProperties() {
|
|
135
|
+
return {
|
|
136
|
+
addressIpVersion: this.addressIpVersion,
|
|
137
|
+
addressType: this.addressType,
|
|
138
|
+
ipv6AddressType: this.ipv6AddressType,
|
|
139
|
+
loadBalancerBussinessStatus: this.loadBalancerBussinessStatus,
|
|
140
|
+
loadBalancerIds: this.loadBalancerIds,
|
|
141
|
+
loadBalancerNames: this.loadBalancerNames,
|
|
142
|
+
loadBalancerStatus: this.loadBalancerStatus,
|
|
143
|
+
resourceGroupId: this.resourceGroupId,
|
|
144
|
+
tags: this.tags,
|
|
145
|
+
vpcIds: this.vpcIds,
|
|
146
|
+
zoneId: this.zoneId,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
renderProperties(props) {
|
|
150
|
+
return rosLoadBalancersPropsToRosTemplate(props, this.enableResourcePropertyConstraint);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.RosLoadBalancers = RosLoadBalancers;
|
|
154
|
+
/**
|
|
155
|
+
* The resource type name for this resource class.
|
|
156
|
+
*/
|
|
157
|
+
RosLoadBalancers.ROS_RESOURCE_TYPE_NAME = "DATASOURCE::NLB::LoadBalancers";
|
|
158
|
+
/**
|
|
159
|
+
* Determine whether the given properties match those of a `TagsProperty`
|
|
160
|
+
*
|
|
161
|
+
* @param properties - the TypeScript properties of a `TagsProperty`
|
|
162
|
+
*
|
|
163
|
+
* @returns the result of the validation.
|
|
164
|
+
*/
|
|
165
|
+
function RosLoadBalancers_TagsPropertyValidator(properties) {
|
|
166
|
+
if (!ros.canInspect(properties)) {
|
|
167
|
+
return ros.VALIDATION_SUCCESS;
|
|
168
|
+
}
|
|
169
|
+
const errors = new ros.ValidationResults();
|
|
170
|
+
errors.collect(ros.propertyValidator('value', ros.validateString)(properties.value));
|
|
171
|
+
errors.collect(ros.propertyValidator('key', ros.requiredValidator)(properties.key));
|
|
172
|
+
errors.collect(ros.propertyValidator('key', ros.validateString)(properties.key));
|
|
173
|
+
return errors.wrap('supplied properties not correct for "TagsProperty"');
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Renders the AliCloud ROS Resource properties of an `DATASOURCE::NLB::LoadBalancers.Tags` resource
|
|
177
|
+
*
|
|
178
|
+
* @param properties - the TypeScript properties of a `TagsProperty`
|
|
179
|
+
*
|
|
180
|
+
* @returns the AliCloud ROS Resource properties of an `DATASOURCE::NLB::LoadBalancers.Tags` resource.
|
|
181
|
+
*/
|
|
182
|
+
// @ts-ignore TS6133
|
|
183
|
+
function rosLoadBalancersTagsPropertyToRosTemplate(properties) {
|
|
184
|
+
if (!ros.canInspect(properties)) {
|
|
185
|
+
return properties;
|
|
186
|
+
}
|
|
187
|
+
RosLoadBalancers_TagsPropertyValidator(properties).assertSuccess();
|
|
188
|
+
return {
|
|
189
|
+
Value: ros.stringToRosTemplate(properties.value),
|
|
190
|
+
Key: ros.stringToRosTemplate(properties.key),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmxiLmdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5sYi5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlEQUF5RDs7O0FBRXpELDhDQUE4QztBQStEOUM7Ozs7OztHQU1HO0FBQ0gsU0FBUyw4QkFBOEIsQ0FBQyxVQUFlO0lBQ25ELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQUUsT0FBTyxHQUFHLENBQUMsa0JBQWtCLENBQUM7S0FBRTtJQUNuRSxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNDLElBQUcsVUFBVSxDQUFDLGlCQUFpQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssUUFBUSxDQUFDLEVBQUU7UUFDcEksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFFLElBQUksRUFBRSxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTTtZQUN6QyxHQUFHLEVBQUUsQ0FBQztZQUNOLEdBQUcsRUFBRSxFQUFFO1NBQ1IsQ0FBQyxDQUFDLENBQUM7S0FDVDtJQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUNoSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFD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LENBQUMsR0FBRyxDQUFDO0tBQzdDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR2VuZXJhdGVkIGZyb20gdGhlIEFsaUNsb3VkIFJPUyBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uXG5cbmltcG9ydCAqIGFzIHJvcyBmcm9tICdAYWxpY2xvdWQvcm9zLWNkay1jb3JlJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIGBEQVRBU09VUkNFOjpOTEI6OkxvYWRCYWxhbmNlcnNgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm9zTG9hZEJhbGFuY2Vyc1Byb3BzIHtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSBhZGRyZXNzSXBWZXJzaW9uOiBJUCB2ZXJzaW9uLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFkZHJlc3NJcFZlcnNpb24/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgYWRkcmVzc1R5cGU6IFRoZSBhZGRyZXNzIHR5cGUgb2YgdGhlIGxvYWQgYmFsYW5jaW5nIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFkZHJlc3NUeXBlPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IGlwdjZBZGRyZXNzVHlwZTogSVB2NiBhZGRyZXNzIHR5cGUgb2YgbmV0d29yayBsb2FkIGJhbGFuY2luZ1xuICAgICAqL1xuICAgIHJlYWRvbmx5IGlwdjZBZGRyZXNzVHlwZT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSBsb2FkQmFsYW5jZXJCdXNzaW5lc3NTdGF0dXM6IFNlcnZpY2Ugc3RhdHVzIG9mIGFwcGxpY2F0aW9uIGxvYWQgYmFsYW5jaW5nXG4gICAgICovXG4gICAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyQnVzc2luZXNzU3RhdHVzPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IGxvYWRCYWxhbmNlcklkczogSURzIG9mIHRoZSBsb2FkIGJhbGFuY2VyIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxvYWRCYWxhbmNlcklkcz86IEFycmF5PHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZT4gfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgbG9hZEJhbGFuY2VyTmFtZXM6IE5hbWVzIG9mIHRoZSBsb2FkIGJhbGFuY2luZyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lcz86IEFycmF5PHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZT4gfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgbG9hZEJhbGFuY2VyU3RhdHVzOiBUaGUgc3RhdHVzIG9mIFNMQi5cbiAgICAgKi9cbiAgICByZWFkb25seSBsb2FkQmFsYW5jZXJTdGF0dXM/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgcmVzb3VyY2VHcm91cElkOiBSZXNvdXJjZSBncm91cCBpZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlc291cmNlR3JvdXBJZD86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSB0YWdzOiBUYWdzIG9mIE5sYi5cbiAgICAgKi9cbiAgICByZWFkb25seSB0YWdzPzogUm9zTG9hZEJhbGFuY2Vycy5UYWdzUHJvcGVydHlbXTtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSB2cGNJZHM6IFZQQyBJRHNcbiAgICAgKi9cbiAgICByZWFkb25seSB2cGNJZHM/OiBBcnJheTxzdHJpbmcgfCByb3MuSVJlc29sdmFibGU+IHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IHpvbmVJZDogSUQgb2YgdGhlIHJlYWR5LXRvLXVzZSB6b25lIG9mIHRoZSBsb2FkIGJhbGFuY2luZyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICByZWFkb25seSB6b25lSWQ/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGdpdmVuIHByb3BlcnRpZXMgbWF0Y2ggdGhvc2Ugb2YgYSBgUm9zTG9hZEJhbGFuY2Vyc1Byb3BzYFxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIC0gdGhlIFR5cGVTY3JpcHQgcHJvcGVydGllcyBvZiBhIGBSb3NMb2FkQmFsYW5jZXJzUHJvcHNgXG4gKlxuICogQHJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgdmFsaWRhdGlvbi5cbiAqL1xuZnVuY3Rpb24gUm9zTG9hZEJhbGFuY2Vyc1Byb3BzVmFsaWRhdG9yKHByb3BlcnRpZXM6IGFueSk6IHJvcy5WYWxpZGF0aW9uUmVzdWx0IHtcbiAgICBpZiAoIXJvcy5jYW5JbnNwZWN0KHByb3BlcnRpZXMpKSB7IHJldHVybiByb3MuVkFMSURBVElPTl9TVUNDRVNTOyB9XG4gICAgY29uc3QgZXJyb3JzID0gbmV3IHJvcy5WYWxpZGF0aW9uUmVzdWx0cygpO1xuICAgIGlmKHByb3BlcnRpZXMubG9hZEJhbGFuY2VyTmFtZXMgJiYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcy5sb2FkQmFsYW5jZXJOYW1lcykgfHwgKHR5cGVvZiBwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlck5hbWVzKSA9PT0gJ3N0cmluZycpKSB7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcignbG9hZEJhbGFuY2VyTmFtZXMnLCByb3MudmFsaWRhdGVMZW5ndGgpKHtcbiAgICAgICAgICAgIGRhdGE6IHByb3BlcnRpZXMubG9hZEJhbGFuY2VyTmFtZXMubGVuZ3RoLFxuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbWF4OiAxMCxcbiAgICAgICAgICB9KSk7XG4gICAgfVxuICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcignbG9hZEJhbGFuY2VyTmFtZXMnLCByb3MubGlzdFZhbGlkYXRvcihyb3MudmFsaWRhdGVTdHJpbmcpKShwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlck5hbWVzKSk7XG4gICAgZXJyb3JzLmNvbGxlY3Qocm9zLnByb3BlcnR5VmFsaWRhdG9yKCdhZGRyZXNzSXBWZXJzaW9uJywgcm9zLnZhbGlkYXRlU3RyaW5nKShwcm9wZXJ0aWVzLmFkZHJlc3NJcFZlcnNpb24pKTtcbiAgICBpZihwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlckJ1c3NpbmVzc1N0YXR1cyAmJiAodHlwZW9mIHByb3BlcnRpZXMubG9hZEJhbGFuY2VyQnVzc2luZXNzU3RhdHVzKSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgZXJyb3JzLmNvbGxlY3Qocm9zLnByb3BlcnR5VmFsaWRhdG9yKCdsb2FkQmFsYW5jZXJCdXNzaW5lc3NTdGF0dXMnLCByb3MudmFsaWRhdGVBbGxvd2VkVmFsdWVzKSh7XG4gICAgICAgICAgZGF0YTogcHJvcGVydGllcy5sb2FkQmFsYW5jZXJCdXNzaW5lc3NTdGF0dXMsXG4gICAgICAgICAgYWxsb3dlZFZhbHVlczogW1wiQWJub3JtYWxcIixcIk5vcm1hbFwiXSxcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ2xvYWRCYWxhbmNlckJ1c3NpbmVzc1N0YXR1cycsIHJvcy52YWxpZGF0ZVN0cmluZykocHJvcGVydGllcy5sb2FkQmFsYW5jZXJCdXNzaW5lc3NTdGF0dXMpKTtcbiAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ3pvbmVJZCcsIHJvcy52YWxpZGF0ZVN0cmluZykocHJvcGVydGllcy56b25lSWQpKTtcbiAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ3Jlc291cmNlR3JvdXBJZCcsIHJvcy52YWxpZGF0ZVN0cmluZykocHJvcGVydGllcy5yZXNvdXJjZUdyb3VwSWQpKTtcbiAgICBpZihwcm9wZXJ0aWVzLnZwY0lkcyAmJiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzLnZwY0lkcykgfHwgKHR5cGVvZiBwcm9wZXJ0aWVzLnZwY0lkcykgPT09ICdzdHJpbmcnKSkge1xuICAgICAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ3ZwY0lkcycsIHJvcy52YWxpZGF0ZUxlbmd0aCkoe1xuICAgICAgICAgICAgZGF0YTogcHJvcGVydGllcy52cGNJZHMubGVuZ3RoLFxuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbWF4OiAxMCxcbiAgICAgICAgICB9KSk7XG4gICAgfVxuICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcigndnBjSWRzJywgcm9zLmxpc3RWYWxpZGF0b3Iocm9zLnZhbGlkYXRlU3RyaW5nKSkocHJvcGVydGllcy52cGNJZHMpKTtcbiAgICBpZihwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlcklkcyAmJiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlcklkcykgfHwgKHR5cGVvZiBwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlcklkcykgPT09ICdzdHJpbmcnKSkge1xuICAgICAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ2xvYWRCYWxhbmNlcklkcycsIHJvcy52YWxpZGF0ZUxlbmd0aCkoe1xuICAgICAgICAgICAgZGF0YTogcHJvcGVydGllcy5sb2FkQmFsYW5jZXJJZHMubGVuZ3RoLFxuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbWF4OiAyMCxcbiAgICAgICAgICB9KSk7XG4gICAgfVxuICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcignbG9hZEJhbGFuY2VySWRzJywgcm9zLmxpc3RWYWxpZGF0b3Iocm9zLnZhbGlkYXRlU3RyaW5nKSkocHJvcGVydGllcy5sb2FkQmFsYW5jZXJJZHMpKTtcbiAgICBpZihwcm9wZXJ0aWVzLmFkZHJlc3NUeXBlICYmICh0eXBlb2YgcHJvcGVydGllcy5hZGRyZXNzVHlwZSkgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcignYWRkcmVzc1R5cGUnLCByb3MudmFsaWRhdGVBbGxvd2VkVmFsdWVzKSh7XG4gICAgICAgICAgZGF0YTogcHJvcGVydGllcy5hZGRyZXNzVHlwZSxcbiAgICAgICAgICBhbGxvd2VkVmFsdWVzOiBbXCJJbnRlcm5ldFwiLFwiSW50cmFuZXRcIl0sXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgZXJyb3JzLmNvbGxlY3Qocm9zLnByb3BlcnR5VmFsaWRhdG9yKCdhZGRyZXNzVHlwZScsIHJvcy52YWxpZGF0ZVN0cmluZykocHJvcGVydGllcy5hZGRyZXNzVHlwZSkpO1xuICAgIGlmKHByb3BlcnRpZXMubG9hZEJhbGFuY2VyU3RhdHVzICYmICh0eXBlb2YgcHJvcGVydGllcy5sb2FkQmFsYW5jZXJTdGF0dXMpICE9PSAnb2JqZWN0Jykge1xuICAgICAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ2xvYWRCYWxhbmNlclN0YXR1cycsIHJvcy52YWxpZGF0ZUFsbG93ZWRWYWx1ZXMpKHtcbiAgICAgICAgICBkYXRhOiBwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlclN0YXR1cyxcbiAgICAgICAgICBhbGxvd2VkVmFsdWVzOiBbXCJJbmFjdGl2ZVwiLFwiQWN0aXZlXCIsXCJQcm92aXNpb25pbmdcIixcIkNvbmZpZ3VyaW5nXCIsXCJEZWxldGluZ1wiLFwiRGVsZXRlZFwiXSxcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ2xvYWRCYWxhbmNlclN0YXR1cycsIHJvcy52YWxpZGF0ZVN0cmluZykocHJvcGVydGllcy5sb2FkQmFsYW5jZXJTdGF0dXMpKTtcbiAgICBpZihwcm9wZXJ0aWVzLnRhZ3MgJiYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcy50YWdzKSB8fCAodHlwZW9mIHByb3BlcnRpZXMudGFncykgPT09ICdzdHJpbmcnKSkge1xuICAgICAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ3RhZ3MnLCByb3MudmFsaWRhdGVMZW5ndGgpKHtcbiAgICAgICAgICAgIGRhdGE6IHByb3BlcnRpZXMudGFncy5sZW5ndGgsXG4gICAgICAgICAgICBtaW46IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG1heDogMjAsXG4gICAgICAgICAgfSkpO1xuICAgIH1cbiAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ3RhZ3MnLCByb3MubGlzdFZhbGlkYXRvcihSb3NMb2FkQmFsYW5jZXJzX1RhZ3NQcm9wZXJ0eVZhbGlkYXRvcikpKHByb3BlcnRpZXMudGFncykpO1xuICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcignaXB2NkFkZHJlc3NUeXBlJywgcm9zLnZhbGlkYXRlU3RyaW5nKShwcm9wZXJ0aWVzLmlwdjZBZGRyZXNzVHlwZSkpO1xuICAgIHJldHVybiBlcnJvcnMud3JhcCgnc3VwcGxpZWQgcHJvcGVydGllcyBub3QgY29ycmVjdCBmb3IgXCJSb3NMb2FkQmFsYW5jZXJzUHJvcHNcIicpO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgdGhlIEFsaUNsb3VkIFJPUyBSZXNvdXJjZSBwcm9wZXJ0aWVzIG9mIGFuIGBEQVRBU09VUkNFOjpOTEI6OkxvYWRCYWxhbmNlcnNgIHJlc291cmNlXG4gKlxuICogQHBhcmFtIHByb3BlcnRpZXMgLSB0aGUgVHlwZVNjcmlwdCBwcm9wZXJ0aWVzIG9mIGEgYFJvc0xvYWRCYWxhbmNlcnNQcm9wc2BcbiAqXG4gKiBAcmV0dXJucyB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIHByb3BlcnRpZXMgb2YgYW4gYERBVEFTT1VSQ0U6Ok5MQjo6TG9hZEJhbGFuY2Vyc2AgcmVzb3VyY2UuXG4gKi9cbi8vIEB0cy1pZ25vcmUgVFM2MTMzXG5mdW5jdGlvbiByb3NMb2FkQmFsYW5jZXJzUHJvcHNUb1Jvc1RlbXBsYXRlKHByb3BlcnRpZXM6IGFueSwgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6IGJvb2xlYW4pOiBhbnkge1xuICAgIGlmICghcm9zLmNhbkluc3BlY3QocHJvcGVydGllcykpIHsgcmV0dXJuIHByb3BlcnRpZXM7IH1cbiAgICBpZihlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCkge1xuICAgICAgICBSb3NMb2FkQmFsYW5jZXJzUHJvcHNWYWxpZGF0b3IocHJvcGVydGllcykuYXNzZXJ0U3VjY2VzcygpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgQWRkcmVzc0lwVmVyc2lvbjogcm9zLnN0cmluZ1RvUm9zVGVtcGxhdGUocHJvcGVydGllcy5hZGRyZXNzSXBWZXJzaW9uKSxcbiAgICAgIEFkZHJlc3NUeXBlOiByb3Muc3RyaW5nVG9Sb3NUZW1wbGF0ZShwcm9wZXJ0aWVzLmFkZHJlc3NUeXBlKSxcbiAgICAgIElwdjZBZGRyZXNzVHlwZTogcm9zLnN0cmluZ1RvUm9zVGVtcGxhdGUocHJvcGVydGllcy5pcHY2QWRkcmVzc1R5cGUpLFxuICAgICAgTG9hZEJhbGFuY2VyQnVzc2luZXNzU3RhdHVzOiByb3Muc3RyaW5nVG9Sb3NUZW1wbGF0ZShwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlckJ1c3NpbmVzc1N0YXR1cyksXG4gICAgICBMb2FkQmFsYW5jZXJJZHM6IHJvcy5saXN0TWFwcGVyKHJvcy5zdHJpbmdUb1Jvc1RlbXBsYXRlKShwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlcklkcyksXG4gICAgICBMb2FkQmFsYW5jZXJOYW1lczogcm9zLmxpc3RNYXBwZXIocm9zLnN0cmluZ1RvUm9zVGVtcGxhdGUpKHByb3BlcnRpZXMubG9hZEJhbGFuY2VyTmFtZXMpLFxuICAgICAgTG9hZEJhbGFuY2VyU3RhdHVzOiByb3Muc3RyaW5nVG9Sb3NUZW1wbGF0ZShwcm9wZXJ0aWVzLmxvYWRCYWxhbmNlclN0YXR1cyksXG4gICAgICBSZXNvdXJjZUdyb3VwSWQ6IHJvcy5zdHJpbmdUb1Jvc1RlbXBsYXRlKHByb3BlcnRpZXMucmVzb3VyY2VHcm91cElkKSxcbiAgICAgIFRhZ3M6IHJvcy5saXN0TWFwcGVyKHJvc0xvYWRCYWxhbmNlcnNUYWdzUHJvcGVydHlUb1Jvc1RlbXBsYXRlKShwcm9wZXJ0aWVzLnRhZ3MpLFxuICAgICAgVnBjSWRzOiByb3MubGlzdE1hcHBlcihyb3Muc3RyaW5nVG9Sb3NUZW1wbGF0ZSkocHJvcGVydGllcy52cGNJZHMpLFxuICAgICAgWm9uZUlkOiByb3Muc3RyaW5nVG9Sb3NUZW1wbGF0ZShwcm9wZXJ0aWVzLnpvbmVJZCksXG4gICAgfTtcbn1cblxuLyoqXG4gKiBBIFJPUyB0ZW1wbGF0ZSB0eXBlOiAgYERBVEFTT1VSQ0U6Ok5MQjo6TG9hZEJhbGFuY2Vyc2BcbiAqL1xuZXhwb3J0IGNsYXNzIFJvc0xvYWRCYWxhbmNlcnMgZXh0ZW5kcyByb3MuUm9zUmVzb3VyY2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSByZXNvdXJjZSB0eXBlIG5hbWUgZm9yIHRoaXMgcmVzb3VyY2UgY2xhc3MuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBST1NfUkVTT1VSQ0VfVFlQRV9OQU1FID0gXCJEQVRBU09VUkNFOjpOTEI6OkxvYWRCYWxhbmNlcnNcIjtcblxuICAgIC8qKlxuICAgICAqIEEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgZnJvbSBhbiBvYmplY3RcbiAgICAgKiBjb250YWluaW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgUk9TIHJlc291cmNlLlxuICAgICAqL1xuXG4gICAgLyoqXG4gICAgICogQEF0dHJpYnV0ZSBMb2FkQmFsYW5jZXJJZHM6IFRoZSBsaXN0IG9mIGxvYWQgYmFsYW5jZXIgSURzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyTG9hZEJhbGFuY2VySWRzOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBAQXR0cmlidXRlIExvYWRCYWxhbmNlcnM6IFRoZSBsaXN0IG9mIGxvYWQgYmFsYW5jZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyTG9hZEJhbGFuY2Vyczogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgcHVibGljIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50OiBib29sZWFuO1xuXG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgYWRkcmVzc0lwVmVyc2lvbjogSVAgdmVyc2lvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkcmVzc0lwVmVyc2lvbjogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IGFkZHJlc3NUeXBlOiBUaGUgYWRkcmVzcyB0eXBlIG9mIHRoZSBsb2FkIGJhbGFuY2luZyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkcmVzc1R5cGU6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZSB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSBpcHY2QWRkcmVzc1R5cGU6IElQdjYgYWRkcmVzcyB0eXBlIG9mIG5ldHdvcmsgbG9hZCBiYWxhbmNpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgaXB2NkFkZHJlc3NUeXBlOiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGUgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgbG9hZEJhbGFuY2VyQnVzc2luZXNzU3RhdHVzOiBTZXJ2aWNlIHN0YXR1cyBvZiBhcHBsaWNhdGlvbiBsb2FkIGJhbGFuY2luZ1xuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkQmFsYW5jZXJCdXNzaW5lc3NTdGF0dXM6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZSB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSBsb2FkQmFsYW5jZXJJZHM6IElEcyBvZiB0aGUgbG9hZCBiYWxhbmNlciBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZEJhbGFuY2VySWRzOiBBcnJheTxzdHJpbmcgfCByb3MuSVJlc29sdmFibGU+IHwgcm9zLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IGxvYWRCYWxhbmNlck5hbWVzOiBOYW1lcyBvZiB0aGUgbG9hZCBiYWxhbmNpbmcgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIGxvYWRCYWxhbmNlck5hbWVzOiBBcnJheTxzdHJpbmcgfCByb3MuSVJlc29sdmFibGU+IHwgcm9zLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IGxvYWRCYWxhbmNlclN0YXR1czogVGhlIHN0YXR1cyBvZiBTTEIuXG4gICAgICovXG4gICAgcHVibGljIGxvYWRCYWxhbmNlclN0YXR1czogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQFByb3BlcnR5IHJlc291cmNlR3JvdXBJZDogUmVzb3VyY2UgZ3JvdXAgaWRcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVzb3VyY2VHcm91cElkOiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGUgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgdGFnczogVGFncyBvZiBObGIuXG4gICAgICovXG4gICAgcHVibGljIHRhZ3M6IFJvc0xvYWRCYWxhbmNlcnMuVGFnc1Byb3BlcnR5W10gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBAUHJvcGVydHkgdnBjSWRzOiBWUEMgSURzXG4gICAgICovXG4gICAgcHVibGljIHZwY0lkczogQXJyYXk8c3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlPiB8IHJvcy5JUmVzb2x2YWJsZSB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEBQcm9wZXJ0eSB6b25lSWQ6IElEIG9mIHRoZSByZWFkeS10by11c2Ugem9uZSBvZiB0aGUgbG9hZCBiYWxhbmNpbmcgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHpvbmVJZDogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IGBEQVRBU09VUkNFOjpOTEI6OkxvYWRCYWxhbmNlcnNgLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAgICogQHBhcmFtIGlkICAgIC0gc2NvcGVkIGlkIG9mIHRoZSByZXNvdXJjZVxuICAgICAqIEBwYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogcm9zLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvc0xvYWRCYWxhbmNlcnNQcm9wcywgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkLCB7IHR5cGU6IFJvc0xvYWRCYWxhbmNlcnMuUk9TX1JFU09VUkNFX1RZUEVfTkFNRSwgcHJvcGVydGllczogcHJvcHMgfSk7XG4gICAgICAgIHRoaXMuYXR0ckxvYWRCYWxhbmNlcklkcyA9IHRoaXMuZ2V0QXR0KCdMb2FkQmFsYW5jZXJJZHMnKTtcbiAgICAgICAgdGhpcy5hdHRyTG9hZEJhbGFuY2VycyA9IHRoaXMuZ2V0QXR0KCdMb2FkQmFsYW5jZXJzJyk7XG5cbiAgICAgICAgdGhpcy5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCA9IGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50O1xuICAgICAgICB0aGlzLmFkZHJlc3NJcFZlcnNpb24gPSBwcm9wcy5hZGRyZXNzSXBWZXJzaW9uO1xuICAgICAgICB0aGlzLmFkZHJlc3NUeXBlID0gcHJvcHMuYWRkcmVzc1R5cGU7XG4gICAgICAgIHRoaXMuaXB2NkFkZHJlc3NUeXBlID0gcHJvcHMuaXB2NkFkZHJlc3NUeXBlO1xuICAgICAgICB0aGlzLmxvYWRCYWxhbmNlckJ1c3NpbmVzc1N0YXR1cyA9IHByb3BzLmxvYWRCYWxhbmNlckJ1c3NpbmVzc1N0YXR1cztcbiAgICAgICAgdGhpcy5sb2FkQmFsYW5jZXJJZHMgPSBwcm9wcy5sb2FkQmFsYW5jZXJJZHM7XG4gICAgICAgIHRoaXMubG9hZEJhbGFuY2VyTmFtZXMgPSBwcm9wcy5sb2FkQmFsYW5jZXJOYW1lcztcbiAgICAgICAgdGhpcy5sb2FkQmFsYW5jZXJTdGF0dXMgPSBwcm9wcy5sb2FkQmFsYW5jZXJTdGF0dXM7XG4gICAgICAgIHRoaXMucmVzb3VyY2VHcm91cElkID0gcHJvcHMucmVzb3VyY2VHcm91cElkO1xuICAgICAgICB0aGlzLnRhZ3MgPSBwcm9wcy50YWdzO1xuICAgICAgICB0aGlzLnZwY0lkcyA9IHByb3BzLnZwY0lkcztcbiAgICAgICAgdGhpcy56b25lSWQgPSBwcm9wcy56b25lSWQ7XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHJvc1Byb3BlcnRpZXMoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSAge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYWRkcmVzc0lwVmVyc2lvbjogdGhpcy5hZGRyZXNzSXBWZXJzaW9uLFxuICAgICAgICAgICAgYWRkcmVzc1R5cGU6IHRoaXMuYWRkcmVzc1R5cGUsXG4gICAgICAgICAgICBpcHY2QWRkcmVzc1R5cGU6IHRoaXMuaXB2NkFkZHJlc3NUeXBlLFxuICAgICAgICAgICAgbG9hZEJhbGFuY2VyQnVzc2luZXNzU3RhdHVzOiB0aGlzLmxvYWRCYWxhbmNlckJ1c3NpbmVzc1N0YXR1cyxcbiAgICAgICAgICAgIGxvYWRCYWxhbmNlcklkczogdGhpcy5sb2FkQmFsYW5jZXJJZHMsXG4gICAgICAgICAgICBsb2FkQmFsYW5jZXJOYW1lczogdGhpcy5sb2FkQmFsYW5jZXJOYW1lcyxcbiAgICAgICAgICAgIGxvYWRCYWxhbmNlclN0YXR1czogdGhpcy5sb2FkQmFsYW5jZXJTdGF0dXMsXG4gICAgICAgICAgICByZXNvdXJjZUdyb3VwSWQ6IHRoaXMucmVzb3VyY2VHcm91cElkLFxuICAgICAgICAgICAgdGFnczogdGhpcy50YWdzLFxuICAgICAgICAgICAgdnBjSWRzOiB0aGlzLnZwY0lkcyxcbiAgICAgICAgICAgIHpvbmVJZDogdGhpcy56b25lSWQsXG4gICAgICAgIH07XG4gICAgfVxuICAgIHByb3RlY3RlZCByZW5kZXJQcm9wZXJ0aWVzKHByb3BzOiB7W2tleTogc3RyaW5nXTogYW55fSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gIHtcbiAgICAgICAgcmV0dXJuIHJvc0xvYWRCYWxhbmNlcnNQcm9wc1RvUm9zVGVtcGxhdGUocHJvcHMsIHRoaXMuZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQpO1xuICAgIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSb3NMb2FkQmFsYW5jZXJzIHtcbiAgICAvKipcbiAgICAgKiBAc3RhYmlsaXR5IGV4dGVybmFsXG4gICAgICovXG4gICAgZXhwb3J0IGludGVyZmFjZSBUYWdzUHJvcGVydHkge1xuICAgICAgICAvKipcbiAgICAgICAgICogQFByb3BlcnR5IHZhbHVlOiB1bmRlZmluZWRcbiAgICAgICAgICovXG4gICAgICAgIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuICAgICAgICAvKipcbiAgICAgICAgICogQFByb3BlcnR5IGtleTogdW5kZWZpbmVkXG4gICAgICAgICAqL1xuICAgICAgICByZWFkb25seSBrZXk6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcbiAgICB9XG59XG4vKipcbiAqIERldGVybWluZSB3aGV0aGVyIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIG1hdGNoIHRob3NlIG9mIGEgYFRhZ3NQcm9wZXJ0eWBcbiAqXG4gKiBAcGFyYW0gcHJvcGVydGllcyAtIHRoZSBUeXBlU2NyaXB0IHByb3BlcnRpZXMgb2YgYSBgVGFnc1Byb3BlcnR5YFxuICpcbiAqIEByZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIHZhbGlkYXRpb24uXG4gKi9cbmZ1bmN0aW9uIFJvc0xvYWRCYWxhbmNlcnNfVGFnc1Byb3BlcnR5VmFsaWRhdG9yKHByb3BlcnRpZXM6IGFueSk6IHJvcy5WYWxpZGF0aW9uUmVzdWx0IHtcbiAgICBpZiAoIXJvcy5jYW5JbnNwZWN0KHByb3BlcnRpZXMpKSB7IHJldHVybiByb3MuVkFMSURBVElPTl9TVUNDRVNTOyB9XG4gICAgY29uc3QgZXJyb3JzID0gbmV3IHJvcy5WYWxpZGF0aW9uUmVzdWx0cygpO1xuICAgIGVycm9ycy5jb2xsZWN0KHJvcy5wcm9wZXJ0eVZhbGlkYXRvcigndmFsdWUnLCByb3MudmFsaWRhdGVTdHJpbmcpKHByb3BlcnRpZXMudmFsdWUpKTtcbiAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ2tleScsIHJvcy5yZXF1aXJlZFZhbGlkYXRvcikocHJvcGVydGllcy5rZXkpKTtcbiAgICBlcnJvcnMuY29sbGVjdChyb3MucHJvcGVydHlWYWxpZGF0b3IoJ2tleScsIHJvcy52YWxpZGF0ZVN0cmluZykocHJvcGVydGllcy5rZXkpKTtcbiAgICByZXR1cm4gZXJyb3JzLndyYXAoJ3N1cHBsaWVkIHByb3BlcnRpZXMgbm90IGNvcnJlY3QgZm9yIFwiVGFnc1Byb3BlcnR5XCInKTtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIHRoZSBBbGlDbG91ZCBST1MgUmVzb3VyY2UgcHJvcGVydGllcyBvZiBhbiBgREFUQVNPVVJDRTo6TkxCOjpMb2FkQmFsYW5jZXJzLlRhZ3NgIHJlc291cmNlXG4gKlxuICogQHBhcmFtIHByb3BlcnRpZXMgLSB0aGUgVHlwZVNjcmlwdCBwcm9wZXJ0aWVzIG9mIGEgYFRhZ3NQcm9wZXJ0eWBcbiAqXG4gKiBAcmV0dXJucyB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIHByb3BlcnRpZXMgb2YgYW4gYERBVEFTT1VSQ0U6Ok5MQjo6TG9hZEJhbGFuY2Vycy5UYWdzYCByZXNvdXJjZS5cbiAqL1xuLy8gQHRzLWlnbm9yZSBUUzYxMzNcbmZ1bmN0aW9uIHJvc0xvYWRCYWxhbmNlcnNUYWdzUHJvcGVydHlUb1Jvc1RlbXBsYXRlKHByb3BlcnRpZXM6IGFueSk6IGFueSB7XG4gICAgaWYgKCFyb3MuY2FuSW5zcGVjdChwcm9wZXJ0aWVzKSkgeyByZXR1cm4gcHJvcGVydGllczsgfVxuICAgIFJvc0xvYWRCYWxhbmNlcnNfVGFnc1Byb3BlcnR5VmFsaWRhdG9yKHByb3BlcnRpZXMpLmFzc2VydFN1Y2Nlc3MoKTtcbiAgICByZXR1cm4ge1xuICAgICAgVmFsdWU6IHJvcy5zdHJpbmdUb1Jvc1RlbXBsYXRlKHByb3BlcnRpZXMudmFsdWUpLFxuICAgICAgS2V5OiByb3Muc3RyaW5nVG9Sb3NUZW1wbGF0ZShwcm9wZXJ0aWVzLmtleSksXG4gICAgfTtcbn1cbiJdfQ==
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -10,9 +10,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.datasource = void 0;
|
|
13
14
|
__exportStar(require("./listener"), exports);
|
|
14
15
|
__exportStar(require("./loadbalancer"), exports);
|
|
15
16
|
__exportStar(require("./servergroup"), exports);
|
|
16
17
|
// ALIYUN::NLB Resources:
|
|
17
18
|
__exportStar(require("./nlb.generated"), exports);
|
|
18
|
-
|
|
19
|
+
const datasource = require("./datasource");
|
|
20
|
+
exports.datasource = datasource;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLGlEQUErQjtBQUMvQixnREFBOEI7QUFFOUIseUJBQXlCO0FBQ3pCLGtEQUFnQztBQUNoQywyQ0FBMkM7QUFDbEMsZ0NBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpc3RlbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGJhbGFuY2VyJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmVyZ3JvdXAnO1xuXG4vLyBBTElZVU46Ok5MQiBSZXNvdXJjZXM6XG5leHBvcnQgKiBmcm9tICcuL25sYi5nZW5lcmF0ZWQnO1xuaW1wb3J0ICogYXMgZGF0YXNvdXJjZSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuZXhwb3J0IHsgZGF0YXNvdXJjZSB9O1xuIl19
|
package/package.json
CHANGED