@alicloud/ros-cdk-ebs 1.4.0 → 1.6.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/lib/datasource/dedicatedblockstoragecluster.d.ts +171 -0
- package/lib/datasource/dedicatedblockstoragecluster.js +48 -0
- package/lib/datasource/dedicatedblockstorageclusters.d.ts +63 -0
- package/lib/datasource/dedicatedblockstorageclusters.js +35 -0
- package/lib/datasource/diskreplicagroup.d.ts +187 -0
- package/lib/datasource/diskreplicagroup.js +50 -0
- package/lib/datasource/diskreplicagroups.d.ts +19 -5
- package/lib/datasource/diskreplicagroups.js +2 -2
- package/lib/datasource/diskreplicapair.d.ts +155 -0
- package/lib/datasource/diskreplicapair.js +46 -0
- package/lib/datasource/diskreplicapairs.d.ts +19 -5
- package/lib/datasource/diskreplicapairs.js +2 -2
- package/lib/datasource/ebs.generated.d.ts +426 -2
- package/lib/datasource/ebs.generated.js +357 -4
- package/lib/datasource/index.d.ts +4 -0
- package/lib/datasource/index.js +5 -1
- package/lib/diskreplicagroup.d.ts +98 -20
- package/lib/diskreplicagroup.js +1 -1
- package/lib/diskreplicapair.d.ts +78 -16
- package/lib/diskreplicapair.js +1 -1
- package/lib/diskreplicapairaddition.d.ts +18 -4
- package/lib/diskreplicapairaddition.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import * as ros from '@alicloud/ros-cdk-core';
|
|
2
|
+
import { RosDedicatedBlockStorageCluster } from './ebs.generated';
|
|
3
|
+
export { RosDedicatedBlockStorageCluster as DedicatedBlockStorageClusterProperty };
|
|
4
|
+
/**
|
|
5
|
+
* Properties for defining a `DedicatedBlockStorageCluster`.
|
|
6
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-ebs-dedicatedblockstoragecluster
|
|
7
|
+
*/
|
|
8
|
+
export interface DedicatedBlockStorageClusterProps {
|
|
9
|
+
/**
|
|
10
|
+
* Property dedicatedBlockStorageClusterId: The ID of the dedicated block storage cluster.
|
|
11
|
+
*/
|
|
12
|
+
readonly dedicatedBlockStorageClusterId: string | ros.IResolvable;
|
|
13
|
+
/**
|
|
14
|
+
* Property refreshOptions: The refresh strategy for the datasource resource when the stack is updated. Valid values:
|
|
15
|
+
* - Never: Never refresh the datasource resource when the stack is updated.
|
|
16
|
+
* - Always: Always refresh the datasource resource when the stack is updated.
|
|
17
|
+
* Default is Never.
|
|
18
|
+
*/
|
|
19
|
+
readonly refreshOptions?: string | ros.IResolvable;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Represents a `DedicatedBlockStorageCluster`.
|
|
23
|
+
*/
|
|
24
|
+
export interface IDedicatedBlockStorageCluster extends ros.IResource {
|
|
25
|
+
readonly props: DedicatedBlockStorageClusterProps;
|
|
26
|
+
/**
|
|
27
|
+
* Attribute AvailableCapacity: The available capacity of the dedicated block storage cluster. Unit: GiB.
|
|
28
|
+
*/
|
|
29
|
+
readonly attrAvailableCapacity: ros.IResolvable | string;
|
|
30
|
+
/**
|
|
31
|
+
* Attribute Category: The category of disks that can be created in the dedicated block storage cluster.
|
|
32
|
+
*/
|
|
33
|
+
readonly attrCategory: ros.IResolvable | string;
|
|
34
|
+
/**
|
|
35
|
+
* Attribute CreateTime: The time when the dedicated block storage cluster was created. The value is a UNIX timestamp. Unit: seconds.
|
|
36
|
+
*/
|
|
37
|
+
readonly attrCreateTime: ros.IResolvable | string;
|
|
38
|
+
/**
|
|
39
|
+
* Attribute DedicatedBlockStorageClusterId: The ID of the dedicated block storage cluster.
|
|
40
|
+
*/
|
|
41
|
+
readonly attrDedicatedBlockStorageClusterId: ros.IResolvable | string;
|
|
42
|
+
/**
|
|
43
|
+
* Attribute DedicatedBlockStorageClusterName: The name of the dedicated block storage cluster.
|
|
44
|
+
*/
|
|
45
|
+
readonly attrDedicatedBlockStorageClusterName: ros.IResolvable | string;
|
|
46
|
+
/**
|
|
47
|
+
* Attribute DeliveryCapacity: The capacity to be delivered for the dedicated block storage cluster. Unit: GiB.
|
|
48
|
+
*/
|
|
49
|
+
readonly attrDeliveryCapacity: ros.IResolvable | string;
|
|
50
|
+
/**
|
|
51
|
+
* Attribute Description: The description of the dedicated block storage cluster.
|
|
52
|
+
*/
|
|
53
|
+
readonly attrDescription: ros.IResolvable | string;
|
|
54
|
+
/**
|
|
55
|
+
* Attribute ExpiredTime: The expiration time of the dedicated block storage cluster, in the Unix timestamp format, in seconds.
|
|
56
|
+
*/
|
|
57
|
+
readonly attrExpiredTime: ros.IResolvable | string;
|
|
58
|
+
/**
|
|
59
|
+
* Attribute PerformanceLevel: The performance level of disks.
|
|
60
|
+
*/
|
|
61
|
+
readonly attrPerformanceLevel: ros.IResolvable | string;
|
|
62
|
+
/**
|
|
63
|
+
* Attribute ResourceGroupId: The ID of the resource group.
|
|
64
|
+
*/
|
|
65
|
+
readonly attrResourceGroupId: ros.IResolvable | string;
|
|
66
|
+
/**
|
|
67
|
+
* Attribute SupportedCategory: This parameter is not supported.
|
|
68
|
+
*/
|
|
69
|
+
readonly attrSupportedCategory: ros.IResolvable | string;
|
|
70
|
+
/**
|
|
71
|
+
* Attribute Tags: The tags of the dedicated block storage cluster.
|
|
72
|
+
*/
|
|
73
|
+
readonly attrTags: ros.IResolvable | string;
|
|
74
|
+
/**
|
|
75
|
+
* Attribute TotalCapacity: The total capacity of the dedicated block storage cluster. Unit: GiB.
|
|
76
|
+
*/
|
|
77
|
+
readonly attrTotalCapacity: ros.IResolvable | string;
|
|
78
|
+
/**
|
|
79
|
+
* Attribute Type: The dedicated block storage cluster performance type.
|
|
80
|
+
*/
|
|
81
|
+
readonly attrType: ros.IResolvable | string;
|
|
82
|
+
/**
|
|
83
|
+
* Attribute UsedCapacity: The used (created disk) capacity of the current cluster, in GB.
|
|
84
|
+
*/
|
|
85
|
+
readonly attrUsedCapacity: ros.IResolvable | string;
|
|
86
|
+
/**
|
|
87
|
+
* Attribute ZoneId: The zone ID of the dedicated block storage cluster.
|
|
88
|
+
*/
|
|
89
|
+
readonly attrZoneId: ros.IResolvable | string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* This class encapsulates and extends the ROS resource type `DATASOURCE::EBS::DedicatedBlockStorageCluster`.
|
|
93
|
+
* @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosDedicatedBlockStorageCluster`for a more convenient development experience.
|
|
94
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-ebs-dedicatedblockstoragecluster
|
|
95
|
+
*/
|
|
96
|
+
export declare class DedicatedBlockStorageCluster extends ros.Resource implements IDedicatedBlockStorageCluster {
|
|
97
|
+
protected scope: ros.Construct;
|
|
98
|
+
protected id: string;
|
|
99
|
+
readonly props: DedicatedBlockStorageClusterProps;
|
|
100
|
+
protected enableResourcePropertyConstraint: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Attribute AvailableCapacity: The available capacity of the dedicated block storage cluster. Unit: GiB.
|
|
103
|
+
*/
|
|
104
|
+
readonly attrAvailableCapacity: ros.IResolvable | string;
|
|
105
|
+
/**
|
|
106
|
+
* Attribute Category: The category of disks that can be created in the dedicated block storage cluster.
|
|
107
|
+
*/
|
|
108
|
+
readonly attrCategory: ros.IResolvable | string;
|
|
109
|
+
/**
|
|
110
|
+
* Attribute CreateTime: The time when the dedicated block storage cluster was created. The value is a UNIX timestamp. Unit: seconds.
|
|
111
|
+
*/
|
|
112
|
+
readonly attrCreateTime: ros.IResolvable | string;
|
|
113
|
+
/**
|
|
114
|
+
* Attribute DedicatedBlockStorageClusterId: The ID of the dedicated block storage cluster.
|
|
115
|
+
*/
|
|
116
|
+
readonly attrDedicatedBlockStorageClusterId: ros.IResolvable | string;
|
|
117
|
+
/**
|
|
118
|
+
* Attribute DedicatedBlockStorageClusterName: The name of the dedicated block storage cluster.
|
|
119
|
+
*/
|
|
120
|
+
readonly attrDedicatedBlockStorageClusterName: ros.IResolvable | string;
|
|
121
|
+
/**
|
|
122
|
+
* Attribute DeliveryCapacity: The capacity to be delivered for the dedicated block storage cluster. Unit: GiB.
|
|
123
|
+
*/
|
|
124
|
+
readonly attrDeliveryCapacity: ros.IResolvable | string;
|
|
125
|
+
/**
|
|
126
|
+
* Attribute Description: The description of the dedicated block storage cluster.
|
|
127
|
+
*/
|
|
128
|
+
readonly attrDescription: ros.IResolvable | string;
|
|
129
|
+
/**
|
|
130
|
+
* Attribute ExpiredTime: The expiration time of the dedicated block storage cluster, in the Unix timestamp format, in seconds.
|
|
131
|
+
*/
|
|
132
|
+
readonly attrExpiredTime: ros.IResolvable | string;
|
|
133
|
+
/**
|
|
134
|
+
* Attribute PerformanceLevel: The performance level of disks.
|
|
135
|
+
*/
|
|
136
|
+
readonly attrPerformanceLevel: ros.IResolvable | string;
|
|
137
|
+
/**
|
|
138
|
+
* Attribute ResourceGroupId: The ID of the resource group.
|
|
139
|
+
*/
|
|
140
|
+
readonly attrResourceGroupId: ros.IResolvable | string;
|
|
141
|
+
/**
|
|
142
|
+
* Attribute SupportedCategory: This parameter is not supported.
|
|
143
|
+
*/
|
|
144
|
+
readonly attrSupportedCategory: ros.IResolvable | string;
|
|
145
|
+
/**
|
|
146
|
+
* Attribute Tags: The tags of the dedicated block storage cluster.
|
|
147
|
+
*/
|
|
148
|
+
readonly attrTags: ros.IResolvable | string;
|
|
149
|
+
/**
|
|
150
|
+
* Attribute TotalCapacity: The total capacity of the dedicated block storage cluster. Unit: GiB.
|
|
151
|
+
*/
|
|
152
|
+
readonly attrTotalCapacity: ros.IResolvable | string;
|
|
153
|
+
/**
|
|
154
|
+
* Attribute Type: The dedicated block storage cluster performance type.
|
|
155
|
+
*/
|
|
156
|
+
readonly attrType: ros.IResolvable | string;
|
|
157
|
+
/**
|
|
158
|
+
* Attribute UsedCapacity: The used (created disk) capacity of the current cluster, in GB.
|
|
159
|
+
*/
|
|
160
|
+
readonly attrUsedCapacity: ros.IResolvable | string;
|
|
161
|
+
/**
|
|
162
|
+
* Attribute ZoneId: The zone ID of the dedicated block storage cluster.
|
|
163
|
+
*/
|
|
164
|
+
readonly attrZoneId: ros.IResolvable | string;
|
|
165
|
+
/**
|
|
166
|
+
* Param scope - scope in which this resource is defined
|
|
167
|
+
* Param id - scoped id of the resource
|
|
168
|
+
* Param props - resource properties
|
|
169
|
+
*/
|
|
170
|
+
constructor(scope: ros.Construct, id: string, props: DedicatedBlockStorageClusterProps, enableResourcePropertyConstraint?: boolean);
|
|
171
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DedicatedBlockStorageCluster = exports.DedicatedBlockStorageClusterProperty = void 0;
|
|
4
|
+
const ros = require("@alicloud/ros-cdk-core");
|
|
5
|
+
const ebs_generated_1 = require("./ebs.generated");
|
|
6
|
+
Object.defineProperty(exports, "DedicatedBlockStorageClusterProperty", { enumerable: true, get: function () { return ebs_generated_1.RosDedicatedBlockStorageCluster; } });
|
|
7
|
+
/**
|
|
8
|
+
* This class encapsulates and extends the ROS resource type `DATASOURCE::EBS::DedicatedBlockStorageCluster`.
|
|
9
|
+
* @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosDedicatedBlockStorageCluster`for a more convenient development experience.
|
|
10
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-ebs-dedicatedblockstoragecluster
|
|
11
|
+
*/
|
|
12
|
+
class DedicatedBlockStorageCluster extends ros.Resource {
|
|
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
|
+
this.scope = scope;
|
|
21
|
+
this.id = id;
|
|
22
|
+
this.props = props;
|
|
23
|
+
this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
|
|
24
|
+
const rosDedicatedBlockStorageCluster = new ebs_generated_1.RosDedicatedBlockStorageCluster(this, id, {
|
|
25
|
+
dedicatedBlockStorageClusterId: props.dedicatedBlockStorageClusterId,
|
|
26
|
+
refreshOptions: props.refreshOptions === undefined || props.refreshOptions === null ? 'Never' : props.refreshOptions,
|
|
27
|
+
}, enableResourcePropertyConstraint && this.stack.enableResourcePropertyConstraint);
|
|
28
|
+
this.resource = rosDedicatedBlockStorageCluster;
|
|
29
|
+
this.attrAvailableCapacity = rosDedicatedBlockStorageCluster.attrAvailableCapacity;
|
|
30
|
+
this.attrCategory = rosDedicatedBlockStorageCluster.attrCategory;
|
|
31
|
+
this.attrCreateTime = rosDedicatedBlockStorageCluster.attrCreateTime;
|
|
32
|
+
this.attrDedicatedBlockStorageClusterId = rosDedicatedBlockStorageCluster.attrDedicatedBlockStorageClusterId;
|
|
33
|
+
this.attrDedicatedBlockStorageClusterName = rosDedicatedBlockStorageCluster.attrDedicatedBlockStorageClusterName;
|
|
34
|
+
this.attrDeliveryCapacity = rosDedicatedBlockStorageCluster.attrDeliveryCapacity;
|
|
35
|
+
this.attrDescription = rosDedicatedBlockStorageCluster.attrDescription;
|
|
36
|
+
this.attrExpiredTime = rosDedicatedBlockStorageCluster.attrExpiredTime;
|
|
37
|
+
this.attrPerformanceLevel = rosDedicatedBlockStorageCluster.attrPerformanceLevel;
|
|
38
|
+
this.attrResourceGroupId = rosDedicatedBlockStorageCluster.attrResourceGroupId;
|
|
39
|
+
this.attrSupportedCategory = rosDedicatedBlockStorageCluster.attrSupportedCategory;
|
|
40
|
+
this.attrTags = rosDedicatedBlockStorageCluster.attrTags;
|
|
41
|
+
this.attrTotalCapacity = rosDedicatedBlockStorageCluster.attrTotalCapacity;
|
|
42
|
+
this.attrType = rosDedicatedBlockStorageCluster.attrType;
|
|
43
|
+
this.attrUsedCapacity = rosDedicatedBlockStorageCluster.attrUsedCapacity;
|
|
44
|
+
this.attrZoneId = rosDedicatedBlockStorageCluster.attrZoneId;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.DedicatedBlockStorageCluster = DedicatedBlockStorageCluster;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVkaWNhdGVkYmxvY2tzdG9yYWdlY2x1c3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlZGljYXRlZGJsb2Nrc3RvcmFnZWNsdXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQThDO0FBQzlDLG1EQUFrRTtBQUV0QixxSEFGbkMsK0NBQStCLE9BRXdDO0FBNEdoRjs7OztHQUlHO0FBQ0gsTUFBYSw0QkFBNkIsU0FBUSxHQUFHLENBQUMsUUFBUTtJQXNGMUQ7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBd0MsRUFBRSxtQ0FBMkMsSUFBSTtRQUNuSSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLGdDQUFnQyxDQUFDO1FBRXpFLE1BQU0sK0JBQStCLEdBQUcsSUFBSSwrQ0FBK0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFHO1lBQ25GLDhCQUE4QixFQUFFLEtBQUssQ0FBQyw4QkFBOEI7WUFDcEUsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjO1NBQ3ZILEVBQUUsZ0NBQWdDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsK0JBQStCLENBQUM7UUFDaEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLCtCQUErQixDQUFDLHFCQUFxQixDQUFDO1FBQ25GLElBQUksQ0FBQyxZQUFZLEdBQUcsK0JBQStCLENBQUMsWUFBWSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxjQUFjLEdBQUcsK0JBQStCLENBQUMsY0FBYyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxrQ0FBa0MsR0FBRywrQkFBK0IsQ0FBQyxrQ0FBa0MsQ0FBQztRQUM3RyxJQUFJLENBQUMsb0NBQW9DLEdBQUcsK0JBQStCLENBQUMsb0NBQW9DLENBQUM7UUFDakgsSUFBSSxDQUFDLG9CQUFvQixHQUFHLCtCQUErQixDQUFDLG9CQUFvQixDQUFDO1FBQ2pGLElBQUksQ0FBQyxlQUFlLEdBQUcsK0JBQStCLENBQUMsZUFBZSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxlQUFlLEdBQUcsK0JBQStCLENBQUMsZUFBZSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxvQkFBb0IsR0FBRywrQkFBK0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUNqRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsK0JBQStCLENBQUMsbUJBQW1CLENBQUM7UUFDL0UsSUFBSSxDQUFDLHFCQUFxQixHQUFHLCtCQUErQixDQUFDLHFCQUFxQixDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLEdBQUcsK0JBQStCLENBQUMsUUFBUSxDQUFDO1FBQ3pELElBQUksQ0FBQyxpQkFBaUIsR0FBRywrQkFBK0IsQ0FBQyxpQkFBaUIsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxHQUFHLCtCQUErQixDQUFDLFFBQVEsQ0FBQztRQUN6RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsK0JBQStCLENBQUMsZ0JBQWdCLENBQUM7UUFDekUsSUFBSSxDQUFDLFVBQVUsR0FBRywrQkFBK0IsQ0FBQyxVQUFVLENBQUM7SUFDakUsQ0FBQztDQUNKO0FBeEhELG9FQXdIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHJvcyBmcm9tICdAYWxpY2xvdWQvcm9zLWNkay1jb3JlJztcbmltcG9ydCB7IFJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXIgfSBmcm9tICcuL2Vicy5nZW5lcmF0ZWQnO1xuLy8gR2VuZXJhdGVkIGZyb20gdGhlIEFsaUNsb3VkIFJPUyBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uXG5leHBvcnQgeyBSb3NEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyIGFzIERlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJQcm9wZXJ0eSB9O1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgYERlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJgLlxuICogU2VlIGh0dHBzOi8vd3d3LmFsaWJhYmFjbG91ZC5jb20vaGVscC9yb3MvZGV2ZWxvcGVyLXJlZmVyZW5jZS9kYXRhc291cmNlLWVicy1kZWRpY2F0ZWRibG9ja3N0b3JhZ2VjbHVzdGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlclByb3BzIHtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJJZDogVGhlIElEIG9mIHRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJJZDogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgcmVmcmVzaE9wdGlvbnM6IFRoZSByZWZyZXNoIHN0cmF0ZWd5IGZvciB0aGUgZGF0YXNvdXJjZSByZXNvdXJjZSB3aGVuIHRoZSBzdGFjayBpcyB1cGRhdGVkLiBWYWxpZCB2YWx1ZXM6XG4gICAgICogLSBOZXZlcjogTmV2ZXIgcmVmcmVzaCB0aGUgZGF0YXNvdXJjZSByZXNvdXJjZSB3aGVuIHRoZSBzdGFjayBpcyB1cGRhdGVkLlxuICAgICAqIC0gQWx3YXlzOiBBbHdheXMgcmVmcmVzaCB0aGUgZGF0YXNvdXJjZSByZXNvdXJjZSB3aGVuIHRoZSBzdGFjayBpcyB1cGRhdGVkLlxuICAgICAqIERlZmF1bHQgaXMgTmV2ZXIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVmcmVzaE9wdGlvbnM/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlciBleHRlbmRzIHJvcy5JUmVzb3VyY2Uge1xuICAgIHJlYWRvbmx5IHByb3BzOiBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyUHJvcHM7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgQXZhaWxhYmxlQ2FwYWNpdHk6IFRoZSBhdmFpbGFibGUgY2FwYWNpdHkgb2YgdGhlIGRlZGljYXRlZCBibG9jayBzdG9yYWdlIGNsdXN0ZXIuIFVuaXQ6IEdpQi5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyQXZhaWxhYmxlQ2FwYWNpdHk6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBDYXRlZ29yeTogVGhlIGNhdGVnb3J5IG9mIGRpc2tzIHRoYXQgY2FuIGJlIGNyZWF0ZWQgaW4gdGhlIGRlZGljYXRlZCBibG9jayBzdG9yYWdlIGNsdXN0ZXIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0ckNhdGVnb3J5OiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgQ3JlYXRlVGltZTogVGhlIHRpbWUgd2hlbiB0aGUgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3RlciB3YXMgY3JlYXRlZC4gVGhlIHZhbHVlIGlzIGEgVU5JWCB0aW1lc3RhbXAuIFVuaXQ6IHNlY29uZHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0ckNyZWF0ZVRpbWU6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVySWQ6IFRoZSBJRCBvZiB0aGUgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3Rlci5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlcklkOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3Rlck5hbWU6IFRoZSBuYW1lIG9mIHRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyTmFtZTogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIERlbGl2ZXJ5Q2FwYWNpdHk6IFRoZSBjYXBhY2l0eSB0byBiZSBkZWxpdmVyZWQgZm9yIHRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyLiBVbml0OiBHaUIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0ckRlbGl2ZXJ5Q2FwYWNpdHk6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZXNjcmlwdGlvbjogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJEZXNjcmlwdGlvbjogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIEV4cGlyZWRUaW1lOiBUaGUgZXhwaXJhdGlvbiB0aW1lIG9mIHRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyLCBpbiB0aGUgVW5peCB0aW1lc3RhbXAgZm9ybWF0LCBpbiBzZWNvbmRzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJFeHBpcmVkVGltZTogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFBlcmZvcm1hbmNlTGV2ZWw6IFRoZSBwZXJmb3JtYW5jZSBsZXZlbCBvZiBkaXNrcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyUGVyZm9ybWFuY2VMZXZlbDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFJlc291cmNlR3JvdXBJZDogVGhlIElEIG9mIHRoZSByZXNvdXJjZSBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyUmVzb3VyY2VHcm91cElkOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgU3VwcG9ydGVkQ2F0ZWdvcnk6IFRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzdXBwb3J0ZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0clN1cHBvcnRlZENhdGVnb3J5OiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgVGFnczogVGhlIHRhZ3Mgb2YgdGhlIGRlZGljYXRlZCBibG9jayBzdG9yYWdlIGNsdXN0ZXIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0clRhZ3M6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBUb3RhbENhcGFjaXR5OiBUaGUgdG90YWwgY2FwYWNpdHkgb2YgdGhlIGRlZGljYXRlZCBibG9jayBzdG9yYWdlIGNsdXN0ZXIuIFVuaXQ6IEdpQi5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyVG90YWxDYXBhY2l0eTogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFR5cGU6IFRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyIHBlcmZvcm1hbmNlIHR5cGUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0clR5cGU6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBVc2VkQ2FwYWNpdHk6IFRoZSB1c2VkIChjcmVhdGVkIGRpc2spIGNhcGFjaXR5IG9mIHRoZSBjdXJyZW50IGNsdXN0ZXIsIGluIEdCLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJVc2VkQ2FwYWNpdHk6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBab25lSWQ6IFRoZSB6b25lIElEIG9mIHRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJab25lSWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcbn1cbi8qKlxuICogVGhpcyBjbGFzcyBlbmNhcHN1bGF0ZXMgYW5kIGV4dGVuZHMgdGhlIFJPUyByZXNvdXJjZSB0eXBlIGBEQVRBU09VUkNFOjpFQlM6OkRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJgLlxuICogQE5vdGUgVGhpcyBjbGFzcyBtYXkgaGF2ZSBzb21lIG5ldyBmdW5jdGlvbnMgdG8gZmFjaWxpdGF0ZSBkZXZlbG9wbWVudCwgc28gaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoaXMgY2xhc3MgaW5zdGVhZCBvZiBgUm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlcmBmb3IgYSBtb3JlIGNvbnZlbmllbnQgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZS5cbiAqIFNlZSBodHRwczovL3d3dy5hbGliYWJhY2xvdWQuY29tL2hlbHAvcm9zL2RldmVsb3Blci1yZWZlcmVuY2UvZGF0YXNvdXJjZS1lYnMtZGVkaWNhdGVkYmxvY2tzdG9yYWdlY2x1c3RlclxuICovXG5leHBvcnQgY2xhc3MgRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlciBleHRlbmRzIHJvcy5SZXNvdXJjZSBpbXBsZW1lbnRzIElEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyIHtcbiAgICBwcm90ZWN0ZWQgc2NvcGU6IHJvcy5Db25zdHJ1Y3Q7XG4gICAgcHJvdGVjdGVkIGlkOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyUHJvcHM7XG4gICAgcHJvdGVjdGVkIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIEF2YWlsYWJsZUNhcGFjaXR5OiBUaGUgYXZhaWxhYmxlIGNhcGFjaXR5IG9mIHRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyLiBVbml0OiBHaUIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJBdmFpbGFibGVDYXBhY2l0eTogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIENhdGVnb3J5OiBUaGUgY2F0ZWdvcnkgb2YgZGlza3MgdGhhdCBjYW4gYmUgY3JlYXRlZCBpbiB0aGUgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3Rlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckNhdGVnb3J5OiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgQ3JlYXRlVGltZTogVGhlIHRpbWUgd2hlbiB0aGUgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3RlciB3YXMgY3JlYXRlZC4gVGhlIHZhbHVlIGlzIGEgVU5JWCB0aW1lc3RhbXAuIFVuaXQ6IHNlY29uZHMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJDcmVhdGVUaW1lOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlcklkOiBUaGUgSUQgb2YgdGhlIGRlZGljYXRlZCBibG9jayBzdG9yYWdlIGNsdXN0ZXIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVySWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyTmFtZTogVGhlIG5hbWUgb2YgdGhlIGRlZGljYXRlZCBibG9jayBzdG9yYWdlIGNsdXN0ZXIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyTmFtZTogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIERlbGl2ZXJ5Q2FwYWNpdHk6IFRoZSBjYXBhY2l0eSB0byBiZSBkZWxpdmVyZWQgZm9yIHRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyLiBVbml0OiBHaUIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJEZWxpdmVyeUNhcGFjaXR5OiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgRGVzY3JpcHRpb246IFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3Rlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckRlc2NyaXB0aW9uOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgRXhwaXJlZFRpbWU6IFRoZSBleHBpcmF0aW9uIHRpbWUgb2YgdGhlIGRlZGljYXRlZCBibG9jayBzdG9yYWdlIGNsdXN0ZXIsIGluIHRoZSBVbml4IHRpbWVzdGFtcCBmb3JtYXQsIGluIHNlY29uZHMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJFeHBpcmVkVGltZTogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFBlcmZvcm1hbmNlTGV2ZWw6IFRoZSBwZXJmb3JtYW5jZSBsZXZlbCBvZiBkaXNrcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clBlcmZvcm1hbmNlTGV2ZWw6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBSZXNvdXJjZUdyb3VwSWQ6IFRoZSBJRCBvZiB0aGUgcmVzb3VyY2UgZ3JvdXAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJSZXNvdXJjZUdyb3VwSWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBTdXBwb3J0ZWRDYXRlZ29yeTogVGhpcyBwYXJhbWV0ZXIgaXMgbm90IHN1cHBvcnRlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clN1cHBvcnRlZENhdGVnb3J5OiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgVGFnczogVGhlIHRhZ3Mgb2YgdGhlIGRlZGljYXRlZCBibG9jayBzdG9yYWdlIGNsdXN0ZXIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJUYWdzOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgVG90YWxDYXBhY2l0eTogVGhlIHRvdGFsIGNhcGFjaXR5IG9mIHRoZSBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyLiBVbml0OiBHaUIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJUb3RhbENhcGFjaXR5OiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgVHlwZTogVGhlIGRlZGljYXRlZCBibG9jayBzdG9yYWdlIGNsdXN0ZXIgcGVyZm9ybWFuY2UgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clR5cGU6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBVc2VkQ2FwYWNpdHk6IFRoZSB1c2VkIChjcmVhdGVkIGRpc2spIGNhcGFjaXR5IG9mIHRoZSBjdXJyZW50IGNsdXN0ZXIsIGluIEdCLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyVXNlZENhcGFjaXR5OiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgWm9uZUlkOiBUaGUgem9uZSBJRCBvZiB0aGUgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3Rlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clpvbmVJZDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBQYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBQYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogcm9zLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJQcm9wcywgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6Ym9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICAgICAgdGhpcy5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCA9IGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50O1xuXG4gICAgICAgIGNvbnN0IHJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXIgPSBuZXcgUm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3Rlcih0aGlzLCBpZCwgIHtcbiAgICAgICAgICAgIGRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJJZDogcHJvcHMuZGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlcklkLFxuICAgICAgICAgICAgcmVmcmVzaE9wdGlvbnM6IHByb3BzLnJlZnJlc2hPcHRpb25zID09PSB1bmRlZmluZWQgfHwgcHJvcHMucmVmcmVzaE9wdGlvbnMgPT09IG51bGwgPyAnTmV2ZXInIDogcHJvcHMucmVmcmVzaE9wdGlvbnMsXG4gICAgICAgIH0sIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ICYmIHRoaXMuc3RhY2suZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQpO1xuICAgICAgICB0aGlzLnJlc291cmNlID0gcm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlcjtcbiAgICAgICAgdGhpcy5hdHRyQXZhaWxhYmxlQ2FwYWNpdHkgPSByb3NEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyLmF0dHJBdmFpbGFibGVDYXBhY2l0eTtcbiAgICAgICAgdGhpcy5hdHRyQ2F0ZWdvcnkgPSByb3NEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyLmF0dHJDYXRlZ29yeTtcbiAgICAgICAgdGhpcy5hdHRyQ3JlYXRlVGltZSA9IHJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXIuYXR0ckNyZWF0ZVRpbWU7XG4gICAgICAgIHRoaXMuYXR0ckRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJJZCA9IHJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXIuYXR0ckRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJJZDtcbiAgICAgICAgdGhpcy5hdHRyRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3Rlck5hbWUgPSByb3NEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyLmF0dHJEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyTmFtZTtcbiAgICAgICAgdGhpcy5hdHRyRGVsaXZlcnlDYXBhY2l0eSA9IHJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXIuYXR0ckRlbGl2ZXJ5Q2FwYWNpdHk7XG4gICAgICAgIHRoaXMuYXR0ckRlc2NyaXB0aW9uID0gcm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3Rlci5hdHRyRGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuYXR0ckV4cGlyZWRUaW1lID0gcm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3Rlci5hdHRyRXhwaXJlZFRpbWU7XG4gICAgICAgIHRoaXMuYXR0clBlcmZvcm1hbmNlTGV2ZWwgPSByb3NEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyLmF0dHJQZXJmb3JtYW5jZUxldmVsO1xuICAgICAgICB0aGlzLmF0dHJSZXNvdXJjZUdyb3VwSWQgPSByb3NEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyLmF0dHJSZXNvdXJjZUdyb3VwSWQ7XG4gICAgICAgIHRoaXMuYXR0clN1cHBvcnRlZENhdGVnb3J5ID0gcm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3Rlci5hdHRyU3VwcG9ydGVkQ2F0ZWdvcnk7XG4gICAgICAgIHRoaXMuYXR0clRhZ3MgPSByb3NEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyLmF0dHJUYWdzO1xuICAgICAgICB0aGlzLmF0dHJUb3RhbENhcGFjaXR5ID0gcm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3Rlci5hdHRyVG90YWxDYXBhY2l0eTtcbiAgICAgICAgdGhpcy5hdHRyVHlwZSA9IHJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXIuYXR0clR5cGU7XG4gICAgICAgIHRoaXMuYXR0clVzZWRDYXBhY2l0eSA9IHJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXIuYXR0clVzZWRDYXBhY2l0eTtcbiAgICAgICAgdGhpcy5hdHRyWm9uZUlkID0gcm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3Rlci5hdHRyWm9uZUlkO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as ros from '@alicloud/ros-cdk-core';
|
|
2
|
+
import { RosDedicatedBlockStorageClusters } from './ebs.generated';
|
|
3
|
+
export { RosDedicatedBlockStorageClusters as DedicatedBlockStorageClustersProperty };
|
|
4
|
+
/**
|
|
5
|
+
* Properties for defining a `DedicatedBlockStorageClusters`.
|
|
6
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-ebs-dedicatedblockstorageclusters
|
|
7
|
+
*/
|
|
8
|
+
export interface DedicatedBlockStorageClustersProps {
|
|
9
|
+
/**
|
|
10
|
+
* Property dedicatedBlockStorageClusterId: The ID of the dedicated block storage cluster.
|
|
11
|
+
*/
|
|
12
|
+
readonly dedicatedBlockStorageClusterId?: string | ros.IResolvable;
|
|
13
|
+
/**
|
|
14
|
+
* Property refreshOptions: The refresh strategy for the datasource resource when the stack is updated. Valid values:
|
|
15
|
+
* - Never: Never refresh the datasource resource when the stack is updated.
|
|
16
|
+
* - Always: Always refresh the datasource resource when the stack is updated.
|
|
17
|
+
* Default is Never.
|
|
18
|
+
*/
|
|
19
|
+
readonly refreshOptions?: string | ros.IResolvable;
|
|
20
|
+
/**
|
|
21
|
+
* Property resourceGroupId: The ID of the resource group.
|
|
22
|
+
*/
|
|
23
|
+
readonly resourceGroupId?: string | ros.IResolvable;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Represents a `DedicatedBlockStorageClusters`.
|
|
27
|
+
*/
|
|
28
|
+
export interface IDedicatedBlockStorageClusters extends ros.IResource {
|
|
29
|
+
readonly props: DedicatedBlockStorageClustersProps;
|
|
30
|
+
/**
|
|
31
|
+
* Attribute DedicatedBlockStorageClusterIds: The list of dedicated block storage cluster IDs.
|
|
32
|
+
*/
|
|
33
|
+
readonly attrDedicatedBlockStorageClusterIds: ros.IResolvable | string;
|
|
34
|
+
/**
|
|
35
|
+
* Attribute DedicatedBlockStorageClusters: The list of dedicated block storage clusters.
|
|
36
|
+
*/
|
|
37
|
+
readonly attrDedicatedBlockStorageClusters: ros.IResolvable | string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* This class encapsulates and extends the ROS resource type `DATASOURCE::EBS::DedicatedBlockStorageClusters`.
|
|
41
|
+
* @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosDedicatedBlockStorageClusters`for a more convenient development experience.
|
|
42
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-ebs-dedicatedblockstorageclusters
|
|
43
|
+
*/
|
|
44
|
+
export declare class DedicatedBlockStorageClusters extends ros.Resource implements IDedicatedBlockStorageClusters {
|
|
45
|
+
protected scope: ros.Construct;
|
|
46
|
+
protected id: string;
|
|
47
|
+
readonly props: DedicatedBlockStorageClustersProps;
|
|
48
|
+
protected enableResourcePropertyConstraint: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Attribute DedicatedBlockStorageClusterIds: The list of dedicated block storage cluster IDs.
|
|
51
|
+
*/
|
|
52
|
+
readonly attrDedicatedBlockStorageClusterIds: ros.IResolvable | string;
|
|
53
|
+
/**
|
|
54
|
+
* Attribute DedicatedBlockStorageClusters: The list of dedicated block storage clusters.
|
|
55
|
+
*/
|
|
56
|
+
readonly attrDedicatedBlockStorageClusters: ros.IResolvable | string;
|
|
57
|
+
/**
|
|
58
|
+
* Param scope - scope in which this resource is defined
|
|
59
|
+
* Param id - scoped id of the resource
|
|
60
|
+
* Param props - resource properties
|
|
61
|
+
*/
|
|
62
|
+
constructor(scope: ros.Construct, id: string, props?: DedicatedBlockStorageClustersProps, enableResourcePropertyConstraint?: boolean);
|
|
63
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DedicatedBlockStorageClusters = exports.DedicatedBlockStorageClustersProperty = void 0;
|
|
4
|
+
const ros = require("@alicloud/ros-cdk-core");
|
|
5
|
+
const ebs_generated_1 = require("./ebs.generated");
|
|
6
|
+
Object.defineProperty(exports, "DedicatedBlockStorageClustersProperty", { enumerable: true, get: function () { return ebs_generated_1.RosDedicatedBlockStorageClusters; } });
|
|
7
|
+
/**
|
|
8
|
+
* This class encapsulates and extends the ROS resource type `DATASOURCE::EBS::DedicatedBlockStorageClusters`.
|
|
9
|
+
* @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosDedicatedBlockStorageClusters`for a more convenient development experience.
|
|
10
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-ebs-dedicatedblockstorageclusters
|
|
11
|
+
*/
|
|
12
|
+
class DedicatedBlockStorageClusters extends ros.Resource {
|
|
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
|
+
this.scope = scope;
|
|
21
|
+
this.id = id;
|
|
22
|
+
this.props = props;
|
|
23
|
+
this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
|
|
24
|
+
const rosDedicatedBlockStorageClusters = new ebs_generated_1.RosDedicatedBlockStorageClusters(this, id, {
|
|
25
|
+
resourceGroupId: props.resourceGroupId,
|
|
26
|
+
dedicatedBlockStorageClusterId: props.dedicatedBlockStorageClusterId,
|
|
27
|
+
refreshOptions: props.refreshOptions === undefined || props.refreshOptions === null ? 'Never' : props.refreshOptions,
|
|
28
|
+
}, enableResourcePropertyConstraint && this.stack.enableResourcePropertyConstraint);
|
|
29
|
+
this.resource = rosDedicatedBlockStorageClusters;
|
|
30
|
+
this.attrDedicatedBlockStorageClusterIds = rosDedicatedBlockStorageClusters.attrDedicatedBlockStorageClusterIds;
|
|
31
|
+
this.attrDedicatedBlockStorageClusters = rosDedicatedBlockStorageClusters.attrDedicatedBlockStorageClusters;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.DedicatedBlockStorageClusters = DedicatedBlockStorageClusters;
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVkaWNhdGVkYmxvY2tzdG9yYWdlY2x1c3RlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWRpY2F0ZWRibG9ja3N0b3JhZ2VjbHVzdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBOEM7QUFDOUMsbURBQW1FO0FBRXRCLHNIQUZwQyxnREFBZ0MsT0FFeUM7QUEyQ2xGOzs7O0dBSUc7QUFDSCxNQUFhLDZCQUE4QixTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBZ0IzRDs7OztPQUlHO0lBQ0gsWUFBWSxLQUFvQixFQUFFLEVBQVUsRUFBRSxRQUE0QyxFQUFFLEVBQUUsbUNBQTJDLElBQUk7UUFDekksS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztRQUV6RSxNQUFNLGdDQUFnQyxHQUFHLElBQUksZ0RBQWdDLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRztZQUNyRixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLDhCQUE4QjtZQUNwRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWM7U0FDdkgsRUFBRSxnQ0FBZ0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQ0FBZ0MsQ0FBQztRQUNqRCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsZ0NBQWdDLENBQUMsbUNBQW1DLENBQUM7UUFDaEgsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLGdDQUFnQyxDQUFDLGlDQUFpQyxDQUFDO0lBQ2hILENBQUM7Q0FDSjtBQXJDRCxzRUFxQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyByb3MgZnJvbSAnQGFsaWNsb3VkL3Jvcy1jZGstY29yZSc7XG5pbXBvcnQgeyBSb3NEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVycyB9IGZyb20gJy4vZWJzLmdlbmVyYXRlZCc7XG4vLyBHZW5lcmF0ZWQgZnJvbSB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIFNwZWNpZmljYXRpb25cbmV4cG9ydCB7IFJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzIGFzIERlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzUHJvcGVydHkgfTtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIGBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyc2AuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2RhdGFzb3VyY2UtZWJzLWRlZGljYXRlZGJsb2Nrc3RvcmFnZWNsdXN0ZXJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlcnNQcm9wcyB7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBkZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVySWQ6IFRoZSBJRCBvZiB0aGUgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3Rlci5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVySWQ/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSByZWZyZXNoT3B0aW9uczogVGhlIHJlZnJlc2ggc3RyYXRlZ3kgZm9yIHRoZSBkYXRhc291cmNlIHJlc291cmNlIHdoZW4gdGhlIHN0YWNrIGlzIHVwZGF0ZWQuIFZhbGlkIHZhbHVlczpcbiAgICAgKiAtIE5ldmVyOiBOZXZlciByZWZyZXNoIHRoZSBkYXRhc291cmNlIHJlc291cmNlIHdoZW4gdGhlIHN0YWNrIGlzIHVwZGF0ZWQuXG4gICAgICogLSBBbHdheXM6IEFsd2F5cyByZWZyZXNoIHRoZSBkYXRhc291cmNlIHJlc291cmNlIHdoZW4gdGhlIHN0YWNrIGlzIHVwZGF0ZWQuXG4gICAgICogRGVmYXVsdCBpcyBOZXZlci5cbiAgICAgKi9cbiAgICByZWFkb25seSByZWZyZXNoT3B0aW9ucz86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHJlc291cmNlR3JvdXBJZDogVGhlIElEIG9mIHRoZSByZXNvdXJjZSBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSByZXNvdXJjZUdyb3VwSWQ/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyc2AuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzIGV4dGVuZHMgcm9zLklSZXNvdXJjZSB7XG4gICAgcmVhZG9ubHkgcHJvcHM6IERlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzUHJvcHM7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlcklkczogVGhlIGxpc3Qgb2YgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3RlciBJRHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0ckRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJJZHM6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyczogVGhlIGxpc3Qgb2YgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3RlcnMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0ckRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG59XG4vKipcbiAqIFRoaXMgY2xhc3MgZW5jYXBzdWxhdGVzIGFuZCBleHRlbmRzIHRoZSBST1MgcmVzb3VyY2UgdHlwZSBgREFUQVNPVVJDRTo6RUJTOjpEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyc2AuXG4gKiBATm90ZSBUaGlzIGNsYXNzIG1heSBoYXZlIHNvbWUgbmV3IGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIGRldmVsb3BtZW50LCBzbyBpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBjbGFzcyBpbnN0ZWFkIG9mIGBSb3NEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyc2Bmb3IgYSBtb3JlIGNvbnZlbmllbnQgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZS5cbiAqIFNlZSBodHRwczovL3d3dy5hbGliYWJhY2xvdWQuY29tL2hlbHAvcm9zL2RldmVsb3Blci1yZWZlcmVuY2UvZGF0YXNvdXJjZS1lYnMtZGVkaWNhdGVkYmxvY2tzdG9yYWdlY2x1c3RlcnNcbiAqL1xuZXhwb3J0IGNsYXNzIERlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzIGV4dGVuZHMgcm9zLlJlc291cmNlIGltcGxlbWVudHMgSURlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzIHtcbiAgICBwcm90ZWN0ZWQgc2NvcGU6IHJvcy5Db25zdHJ1Y3Q7XG4gICAgcHJvdGVjdGVkIGlkOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyc1Byb3BzO1xuICAgIHByb3RlY3RlZCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVySWRzOiBUaGUgbGlzdCBvZiBkZWRpY2F0ZWQgYmxvY2sgc3RvcmFnZSBjbHVzdGVyIElEcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJJZHM6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyczogVGhlIGxpc3Qgb2YgZGVkaWNhdGVkIGJsb2NrIHN0b3JhZ2UgY2x1c3RlcnMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVyczogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBQYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBQYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogcm9zLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzUHJvcHMgPSB7fSwgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6Ym9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICAgICAgdGhpcy5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCA9IGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50O1xuXG4gICAgICAgIGNvbnN0IHJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzID0gbmV3IFJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzKHRoaXMsIGlkLCAge1xuICAgICAgICAgICAgcmVzb3VyY2VHcm91cElkOiBwcm9wcy5yZXNvdXJjZUdyb3VwSWQsXG4gICAgICAgICAgICBkZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVySWQ6IHByb3BzLmRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJJZCxcbiAgICAgICAgICAgIHJlZnJlc2hPcHRpb25zOiBwcm9wcy5yZWZyZXNoT3B0aW9ucyA9PT0gdW5kZWZpbmVkIHx8IHByb3BzLnJlZnJlc2hPcHRpb25zID09PSBudWxsID8gJ05ldmVyJyA6IHByb3BzLnJlZnJlc2hPcHRpb25zLFxuICAgICAgICB9LCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCAmJiB0aGlzLnN0YWNrLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50KTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHJvc0RlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzO1xuICAgICAgICB0aGlzLmF0dHJEZWRpY2F0ZWRCbG9ja1N0b3JhZ2VDbHVzdGVySWRzID0gcm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlcnMuYXR0ckRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJJZHM7XG4gICAgICAgIHRoaXMuYXR0ckRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzID0gcm9zRGVkaWNhdGVkQmxvY2tTdG9yYWdlQ2x1c3RlcnMuYXR0ckRlZGljYXRlZEJsb2NrU3RvcmFnZUNsdXN0ZXJzO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import * as ros from '@alicloud/ros-cdk-core';
|
|
2
|
+
import { RosDiskReplicaGroup } from './ebs.generated';
|
|
3
|
+
export { RosDiskReplicaGroup as DiskReplicaGroupProperty };
|
|
4
|
+
/**
|
|
5
|
+
* Properties for defining a `DiskReplicaGroup`.
|
|
6
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-ebs-diskreplicagroup
|
|
7
|
+
*/
|
|
8
|
+
export interface DiskReplicaGroupProps {
|
|
9
|
+
/**
|
|
10
|
+
* Property replicaGroupId: The ID of the consistent replication group.
|
|
11
|
+
*/
|
|
12
|
+
readonly replicaGroupId: string | ros.IResolvable;
|
|
13
|
+
/**
|
|
14
|
+
* Property refreshOptions: The refresh strategy for the datasource resource when the stack is updated. Valid values:
|
|
15
|
+
* - Never: Never refresh the datasource resource when the stack is updated.
|
|
16
|
+
* - Always: Always refresh the datasource resource when the stack is updated.
|
|
17
|
+
* Default is Never.
|
|
18
|
+
*/
|
|
19
|
+
readonly refreshOptions?: string | ros.IResolvable;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Represents a `DiskReplicaGroup`.
|
|
23
|
+
*/
|
|
24
|
+
export interface IDiskReplicaGroup extends ros.IResource {
|
|
25
|
+
readonly props: DiskReplicaGroupProps;
|
|
26
|
+
/**
|
|
27
|
+
* Attribute Description: The description of the consistent replication group.
|
|
28
|
+
*/
|
|
29
|
+
readonly attrDescription: ros.IResolvable | string;
|
|
30
|
+
/**
|
|
31
|
+
* Attribute DestinationRegionId: The ID of the region to which the disaster recovery site belongs.
|
|
32
|
+
*/
|
|
33
|
+
readonly attrDestinationRegionId: ros.IResolvable | string;
|
|
34
|
+
/**
|
|
35
|
+
* Attribute DestinationZoneId: The ID of the zone to which the disaster recovery site belongs.
|
|
36
|
+
*/
|
|
37
|
+
readonly attrDestinationZoneId: ros.IResolvable | string;
|
|
38
|
+
/**
|
|
39
|
+
* Attribute DiskReplicaGroupName: The name of the consistent replication group.
|
|
40
|
+
*/
|
|
41
|
+
readonly attrDiskReplicaGroupName: ros.IResolvable | string;
|
|
42
|
+
/**
|
|
43
|
+
* Attribute LastRecoverPoint: The time when the last asynchronous replication operation of the consistent replication group completed. This parameter provides the return value as a timestamp. Unit: seconds.
|
|
44
|
+
*/
|
|
45
|
+
readonly attrLastRecoverPoint: ros.IResolvable | string;
|
|
46
|
+
/**
|
|
47
|
+
* Attribute PairIds: List of replication pair IDs contained in a consistent replication group.
|
|
48
|
+
*/
|
|
49
|
+
readonly attrPairIds: ros.IResolvable | string;
|
|
50
|
+
/**
|
|
51
|
+
* Attribute PairNumber: The number of replication pairs contained in a consistent replication group.
|
|
52
|
+
*/
|
|
53
|
+
readonly attrPairNumber: ros.IResolvable | string;
|
|
54
|
+
/**
|
|
55
|
+
* Attribute PrimaryRegion: The initial source region of the replication group.
|
|
56
|
+
*/
|
|
57
|
+
readonly attrPrimaryRegion: ros.IResolvable | string;
|
|
58
|
+
/**
|
|
59
|
+
* Attribute PrimaryZone: The initial source available area of the replication group.
|
|
60
|
+
*/
|
|
61
|
+
readonly attrPrimaryZone: ros.IResolvable | string;
|
|
62
|
+
/**
|
|
63
|
+
* Attribute RPO: The RPO value set by the consistency group in seconds. Currently only 900 seconds are supported.
|
|
64
|
+
*/
|
|
65
|
+
readonly attrRpo: ros.IResolvable | string;
|
|
66
|
+
/**
|
|
67
|
+
* Attribute ReplicaGroupId: The ID of the consistent replication group.
|
|
68
|
+
*/
|
|
69
|
+
readonly attrReplicaGroupId: ros.IResolvable | string;
|
|
70
|
+
/**
|
|
71
|
+
* Attribute ResourceGroupId: The ID of resource group.
|
|
72
|
+
*/
|
|
73
|
+
readonly attrResourceGroupId: ros.IResolvable | string;
|
|
74
|
+
/**
|
|
75
|
+
* Attribute Site: Site information sources for replication pairs and consistent replication groups.
|
|
76
|
+
*/
|
|
77
|
+
readonly attrSite: ros.IResolvable | string;
|
|
78
|
+
/**
|
|
79
|
+
* Attribute SourceRegionId: The ID of the region to which the production site belongs.
|
|
80
|
+
*/
|
|
81
|
+
readonly attrSourceRegionId: ros.IResolvable | string;
|
|
82
|
+
/**
|
|
83
|
+
* Attribute SourceZoneId: The ID of the zone to which the production site belongs.
|
|
84
|
+
*/
|
|
85
|
+
readonly attrSourceZoneId: ros.IResolvable | string;
|
|
86
|
+
/**
|
|
87
|
+
* Attribute StandbyRegion: The initial destination region of the replication group.
|
|
88
|
+
*/
|
|
89
|
+
readonly attrStandbyRegion: ros.IResolvable | string;
|
|
90
|
+
/**
|
|
91
|
+
* Attribute StandbyZone: The initial destination zone of the replication group.
|
|
92
|
+
*/
|
|
93
|
+
readonly attrStandbyZone: ros.IResolvable | string;
|
|
94
|
+
/**
|
|
95
|
+
* Attribute Tags: The tags of the replication pair-consistent group.
|
|
96
|
+
*/
|
|
97
|
+
readonly attrTags: ros.IResolvable | string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* This class encapsulates and extends the ROS resource type `DATASOURCE::EBS::DiskReplicaGroup`.
|
|
101
|
+
* @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosDiskReplicaGroup`for a more convenient development experience.
|
|
102
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-ebs-diskreplicagroup
|
|
103
|
+
*/
|
|
104
|
+
export declare class DiskReplicaGroup extends ros.Resource implements IDiskReplicaGroup {
|
|
105
|
+
protected scope: ros.Construct;
|
|
106
|
+
protected id: string;
|
|
107
|
+
readonly props: DiskReplicaGroupProps;
|
|
108
|
+
protected enableResourcePropertyConstraint: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Attribute Description: The description of the consistent replication group.
|
|
111
|
+
*/
|
|
112
|
+
readonly attrDescription: ros.IResolvable | string;
|
|
113
|
+
/**
|
|
114
|
+
* Attribute DestinationRegionId: The ID of the region to which the disaster recovery site belongs.
|
|
115
|
+
*/
|
|
116
|
+
readonly attrDestinationRegionId: ros.IResolvable | string;
|
|
117
|
+
/**
|
|
118
|
+
* Attribute DestinationZoneId: The ID of the zone to which the disaster recovery site belongs.
|
|
119
|
+
*/
|
|
120
|
+
readonly attrDestinationZoneId: ros.IResolvable | string;
|
|
121
|
+
/**
|
|
122
|
+
* Attribute DiskReplicaGroupName: The name of the consistent replication group.
|
|
123
|
+
*/
|
|
124
|
+
readonly attrDiskReplicaGroupName: ros.IResolvable | string;
|
|
125
|
+
/**
|
|
126
|
+
* Attribute LastRecoverPoint: The time when the last asynchronous replication operation of the consistent replication group completed. This parameter provides the return value as a timestamp. Unit: seconds.
|
|
127
|
+
*/
|
|
128
|
+
readonly attrLastRecoverPoint: ros.IResolvable | string;
|
|
129
|
+
/**
|
|
130
|
+
* Attribute PairIds: List of replication pair IDs contained in a consistent replication group.
|
|
131
|
+
*/
|
|
132
|
+
readonly attrPairIds: ros.IResolvable | string;
|
|
133
|
+
/**
|
|
134
|
+
* Attribute PairNumber: The number of replication pairs contained in a consistent replication group.
|
|
135
|
+
*/
|
|
136
|
+
readonly attrPairNumber: ros.IResolvable | string;
|
|
137
|
+
/**
|
|
138
|
+
* Attribute PrimaryRegion: The initial source region of the replication group.
|
|
139
|
+
*/
|
|
140
|
+
readonly attrPrimaryRegion: ros.IResolvable | string;
|
|
141
|
+
/**
|
|
142
|
+
* Attribute PrimaryZone: The initial source available area of the replication group.
|
|
143
|
+
*/
|
|
144
|
+
readonly attrPrimaryZone: ros.IResolvable | string;
|
|
145
|
+
/**
|
|
146
|
+
* Attribute RPO: The RPO value set by the consistency group in seconds. Currently only 900 seconds are supported.
|
|
147
|
+
*/
|
|
148
|
+
readonly attrRpo: ros.IResolvable | string;
|
|
149
|
+
/**
|
|
150
|
+
* Attribute ReplicaGroupId: The ID of the consistent replication group.
|
|
151
|
+
*/
|
|
152
|
+
readonly attrReplicaGroupId: ros.IResolvable | string;
|
|
153
|
+
/**
|
|
154
|
+
* Attribute ResourceGroupId: The ID of resource group.
|
|
155
|
+
*/
|
|
156
|
+
readonly attrResourceGroupId: ros.IResolvable | string;
|
|
157
|
+
/**
|
|
158
|
+
* Attribute Site: Site information sources for replication pairs and consistent replication groups.
|
|
159
|
+
*/
|
|
160
|
+
readonly attrSite: ros.IResolvable | string;
|
|
161
|
+
/**
|
|
162
|
+
* Attribute SourceRegionId: The ID of the region to which the production site belongs.
|
|
163
|
+
*/
|
|
164
|
+
readonly attrSourceRegionId: ros.IResolvable | string;
|
|
165
|
+
/**
|
|
166
|
+
* Attribute SourceZoneId: The ID of the zone to which the production site belongs.
|
|
167
|
+
*/
|
|
168
|
+
readonly attrSourceZoneId: ros.IResolvable | string;
|
|
169
|
+
/**
|
|
170
|
+
* Attribute StandbyRegion: The initial destination region of the replication group.
|
|
171
|
+
*/
|
|
172
|
+
readonly attrStandbyRegion: ros.IResolvable | string;
|
|
173
|
+
/**
|
|
174
|
+
* Attribute StandbyZone: The initial destination zone of the replication group.
|
|
175
|
+
*/
|
|
176
|
+
readonly attrStandbyZone: ros.IResolvable | string;
|
|
177
|
+
/**
|
|
178
|
+
* Attribute Tags: The tags of the replication pair-consistent group.
|
|
179
|
+
*/
|
|
180
|
+
readonly attrTags: ros.IResolvable | string;
|
|
181
|
+
/**
|
|
182
|
+
* Param scope - scope in which this resource is defined
|
|
183
|
+
* Param id - scoped id of the resource
|
|
184
|
+
* Param props - resource properties
|
|
185
|
+
*/
|
|
186
|
+
constructor(scope: ros.Construct, id: string, props: DiskReplicaGroupProps, enableResourcePropertyConstraint?: boolean);
|
|
187
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DiskReplicaGroup = exports.DiskReplicaGroupProperty = void 0;
|
|
4
|
+
const ros = require("@alicloud/ros-cdk-core");
|
|
5
|
+
const ebs_generated_1 = require("./ebs.generated");
|
|
6
|
+
Object.defineProperty(exports, "DiskReplicaGroupProperty", { enumerable: true, get: function () { return ebs_generated_1.RosDiskReplicaGroup; } });
|
|
7
|
+
/**
|
|
8
|
+
* This class encapsulates and extends the ROS resource type `DATASOURCE::EBS::DiskReplicaGroup`.
|
|
9
|
+
* @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosDiskReplicaGroup`for a more convenient development experience.
|
|
10
|
+
* See https://www.alibabacloud.com/help/ros/developer-reference/datasource-ebs-diskreplicagroup
|
|
11
|
+
*/
|
|
12
|
+
class DiskReplicaGroup extends ros.Resource {
|
|
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
|
+
this.scope = scope;
|
|
21
|
+
this.id = id;
|
|
22
|
+
this.props = props;
|
|
23
|
+
this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
|
|
24
|
+
const rosDiskReplicaGroup = new ebs_generated_1.RosDiskReplicaGroup(this, id, {
|
|
25
|
+
replicaGroupId: props.replicaGroupId,
|
|
26
|
+
refreshOptions: props.refreshOptions === undefined || props.refreshOptions === null ? 'Never' : props.refreshOptions,
|
|
27
|
+
}, enableResourcePropertyConstraint && this.stack.enableResourcePropertyConstraint);
|
|
28
|
+
this.resource = rosDiskReplicaGroup;
|
|
29
|
+
this.attrDescription = rosDiskReplicaGroup.attrDescription;
|
|
30
|
+
this.attrDestinationRegionId = rosDiskReplicaGroup.attrDestinationRegionId;
|
|
31
|
+
this.attrDestinationZoneId = rosDiskReplicaGroup.attrDestinationZoneId;
|
|
32
|
+
this.attrDiskReplicaGroupName = rosDiskReplicaGroup.attrDiskReplicaGroupName;
|
|
33
|
+
this.attrLastRecoverPoint = rosDiskReplicaGroup.attrLastRecoverPoint;
|
|
34
|
+
this.attrPairIds = rosDiskReplicaGroup.attrPairIds;
|
|
35
|
+
this.attrPairNumber = rosDiskReplicaGroup.attrPairNumber;
|
|
36
|
+
this.attrPrimaryRegion = rosDiskReplicaGroup.attrPrimaryRegion;
|
|
37
|
+
this.attrPrimaryZone = rosDiskReplicaGroup.attrPrimaryZone;
|
|
38
|
+
this.attrRpo = rosDiskReplicaGroup.attrRpo;
|
|
39
|
+
this.attrReplicaGroupId = rosDiskReplicaGroup.attrReplicaGroupId;
|
|
40
|
+
this.attrResourceGroupId = rosDiskReplicaGroup.attrResourceGroupId;
|
|
41
|
+
this.attrSite = rosDiskReplicaGroup.attrSite;
|
|
42
|
+
this.attrSourceRegionId = rosDiskReplicaGroup.attrSourceRegionId;
|
|
43
|
+
this.attrSourceZoneId = rosDiskReplicaGroup.attrSourceZoneId;
|
|
44
|
+
this.attrStandbyRegion = rosDiskReplicaGroup.attrStandbyRegion;
|
|
45
|
+
this.attrStandbyZone = rosDiskReplicaGroup.attrStandbyZone;
|
|
46
|
+
this.attrTags = rosDiskReplicaGroup.attrTags;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.DiskReplicaGroup = DiskReplicaGroup;
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlza3JlcGxpY2Fncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRpc2tyZXBsaWNhZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQThDO0FBQzlDLG1EQUFzRDtBQUV0Qix5R0FGdkIsbUNBQW1CLE9BRTRCO0FBc0h4RDs7OztHQUlHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxHQUFHLENBQUMsUUFBUTtJQWdHOUM7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBNEIsRUFBRSxtQ0FBMkMsSUFBSTtRQUN2SCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLGdDQUFnQyxDQUFDO1FBRXpFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxtQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFHO1lBQzNELGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztZQUNwQyxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWM7U0FDdkgsRUFBRSxnQ0FBZ0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLG1CQUFtQixDQUFDLGVBQWUsQ0FBQztRQUMzRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsbUJBQW1CLENBQUMsdUJBQXVCLENBQUM7UUFDM0UsSUFBSSxDQUFDLHFCQUFxQixHQUFHLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDO1FBQ3ZFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxtQkFBbUIsQ0FBQyx3QkFBd0IsQ0FBQztRQUM3RSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsbUJBQW1CLENBQUMsb0JBQW9CLENBQUM7UUFDckUsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDO1FBQy9ELElBQUksQ0FBQyxlQUFlLEdBQUcsbUJBQW1CLENBQUMsZUFBZSxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1FBQzNDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQztRQUNqRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDO1FBQ2pFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsaUJBQWlCLENBQUM7UUFDL0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7SUFDakQsQ0FBQztDQUNKO0FBcElELDRDQW9JQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHJvcyBmcm9tICdAYWxpY2xvdWQvcm9zLWNkay1jb3JlJztcbmltcG9ydCB7IFJvc0Rpc2tSZXBsaWNhR3JvdXAgfSBmcm9tICcuL2Vicy5nZW5lcmF0ZWQnO1xuLy8gR2VuZXJhdGVkIGZyb20gdGhlIEFsaUNsb3VkIFJPUyBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uXG5leHBvcnQgeyBSb3NEaXNrUmVwbGljYUdyb3VwIGFzIERpc2tSZXBsaWNhR3JvdXBQcm9wZXJ0eSB9O1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgYERpc2tSZXBsaWNhR3JvdXBgLlxuICogU2VlIGh0dHBzOi8vd3d3LmFsaWJhYmFjbG91ZC5jb20vaGVscC9yb3MvZGV2ZWxvcGVyLXJlZmVyZW5jZS9kYXRhc291cmNlLWVicy1kaXNrcmVwbGljYWdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlza1JlcGxpY2FHcm91cFByb3BzIHtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHJlcGxpY2FHcm91cElkOiBUaGUgSUQgb2YgdGhlIGNvbnNpc3RlbnQgcmVwbGljYXRpb24gZ3JvdXAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVwbGljYUdyb3VwSWQ6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHJlZnJlc2hPcHRpb25zOiBUaGUgcmVmcmVzaCBzdHJhdGVneSBmb3IgdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC4gVmFsaWQgdmFsdWVzOlxuICAgICAqIC0gTmV2ZXI6IE5ldmVyIHJlZnJlc2ggdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC5cbiAgICAgKiAtIEFsd2F5czogQWx3YXlzIHJlZnJlc2ggdGhlIGRhdGFzb3VyY2UgcmVzb3VyY2Ugd2hlbiB0aGUgc3RhY2sgaXMgdXBkYXRlZC5cbiAgICAgKiBEZWZhdWx0IGlzIE5ldmVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlZnJlc2hPcHRpb25zPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBgRGlza1JlcGxpY2FHcm91cGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURpc2tSZXBsaWNhR3JvdXAgZXh0ZW5kcyByb3MuSVJlc291cmNlIHtcbiAgICByZWFkb25seSBwcm9wczogRGlza1JlcGxpY2FHcm91cFByb3BzO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIERlc2NyaXB0aW9uOiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGNvbnNpc3RlbnQgcmVwbGljYXRpb24gZ3JvdXAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0ckRlc2NyaXB0aW9uOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgRGVzdGluYXRpb25SZWdpb25JZDogVGhlIElEIG9mIHRoZSByZWdpb24gdG8gd2hpY2ggdGhlIGRpc2FzdGVyIHJlY292ZXJ5IHNpdGUgYmVsb25ncy5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyRGVzdGluYXRpb25SZWdpb25JZDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIERlc3RpbmF0aW9uWm9uZUlkOiBUaGUgSUQgb2YgdGhlIHpvbmUgdG8gd2hpY2ggdGhlIGRpc2FzdGVyIHJlY292ZXJ5IHNpdGUgYmVsb25ncy5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyRGVzdGluYXRpb25ab25lSWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEaXNrUmVwbGljYUdyb3VwTmFtZTogVGhlIG5hbWUgb2YgdGhlIGNvbnNpc3RlbnQgcmVwbGljYXRpb24gZ3JvdXAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0ckRpc2tSZXBsaWNhR3JvdXBOYW1lOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgTGFzdFJlY292ZXJQb2ludDogVGhlIHRpbWUgd2hlbiB0aGUgbGFzdCBhc3luY2hyb25vdXMgcmVwbGljYXRpb24gb3BlcmF0aW9uIG9mIHRoZSBjb25zaXN0ZW50IHJlcGxpY2F0aW9uIGdyb3VwIGNvbXBsZXRlZC4gVGhpcyBwYXJhbWV0ZXIgcHJvdmlkZXMgdGhlIHJldHVybiB2YWx1ZSBhcyBhIHRpbWVzdGFtcC4gVW5pdDogc2Vjb25kcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyTGFzdFJlY292ZXJQb2ludDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFBhaXJJZHM6IExpc3Qgb2YgcmVwbGljYXRpb24gcGFpciBJRHMgY29udGFpbmVkIGluIGEgY29uc2lzdGVudCByZXBsaWNhdGlvbiBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyUGFpcklkczogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFBhaXJOdW1iZXI6IFRoZSBudW1iZXIgb2YgcmVwbGljYXRpb24gcGFpcnMgY29udGFpbmVkIGluIGEgY29uc2lzdGVudCByZXBsaWNhdGlvbiBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyUGFpck51bWJlcjogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFByaW1hcnlSZWdpb246IFRoZSBpbml0aWFsIHNvdXJjZSByZWdpb24gb2YgdGhlIHJlcGxpY2F0aW9uIGdyb3VwLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJQcmltYXJ5UmVnaW9uOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUHJpbWFyeVpvbmU6IFRoZSBpbml0aWFsIHNvdXJjZSBhdmFpbGFibGUgYXJlYSBvZiB0aGUgcmVwbGljYXRpb24gZ3JvdXAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0clByaW1hcnlab25lOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUlBPOiBUaGUgUlBPIHZhbHVlIHNldCBieSB0aGUgY29uc2lzdGVuY3kgZ3JvdXAgaW4gc2Vjb25kcy4gQ3VycmVudGx5IG9ubHkgOTAwIHNlY29uZHMgYXJlIHN1cHBvcnRlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyUnBvOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUmVwbGljYUdyb3VwSWQ6IFRoZSBJRCBvZiB0aGUgY29uc2lzdGVudCByZXBsaWNhdGlvbiBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyUmVwbGljYUdyb3VwSWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBSZXNvdXJjZUdyb3VwSWQ6IFRoZSBJRCBvZiByZXNvdXJjZSBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyUmVzb3VyY2VHcm91cElkOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgU2l0ZTogU2l0ZSBpbmZvcm1hdGlvbiBzb3VyY2VzIGZvciByZXBsaWNhdGlvbiBwYWlycyBhbmQgY29uc2lzdGVudCByZXBsaWNhdGlvbiBncm91cHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0clNpdGU6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBTb3VyY2VSZWdpb25JZDogVGhlIElEIG9mIHRoZSByZWdpb24gdG8gd2hpY2ggdGhlIHByb2R1Y3Rpb24gc2l0ZSBiZWxvbmdzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJTb3VyY2VSZWdpb25JZDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFNvdXJjZVpvbmVJZDogVGhlIElEIG9mIHRoZSB6b25lIHRvIHdoaWNoIHRoZSBwcm9kdWN0aW9uIHNpdGUgYmVsb25ncy5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyU291cmNlWm9uZUlkOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgU3RhbmRieVJlZ2lvbjogVGhlIGluaXRpYWwgZGVzdGluYXRpb24gcmVnaW9uIG9mIHRoZSByZXBsaWNhdGlvbiBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyU3RhbmRieVJlZ2lvbjogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFN0YW5kYnlab25lOiBUaGUgaW5pdGlhbCBkZXN0aW5hdGlvbiB6b25lIG9mIHRoZSByZXBsaWNhdGlvbiBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyU3RhbmRieVpvbmU6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBUYWdzOiBUaGUgdGFncyBvZiB0aGUgcmVwbGljYXRpb24gcGFpci1jb25zaXN0ZW50IGdyb3VwLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJUYWdzOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG59XG4vKipcbiAqIFRoaXMgY2xhc3MgZW5jYXBzdWxhdGVzIGFuZCBleHRlbmRzIHRoZSBST1MgcmVzb3VyY2UgdHlwZSBgREFUQVNPVVJDRTo6RUJTOjpEaXNrUmVwbGljYUdyb3VwYC5cbiAqIEBOb3RlIFRoaXMgY2xhc3MgbWF5IGhhdmUgc29tZSBuZXcgZnVuY3Rpb25zIHRvIGZhY2lsaXRhdGUgZGV2ZWxvcG1lbnQsIHNvIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGlzIGNsYXNzIGluc3RlYWQgb2YgYFJvc0Rpc2tSZXBsaWNhR3JvdXBgZm9yIGEgbW9yZSBjb252ZW5pZW50IGRldmVsb3BtZW50IGV4cGVyaWVuY2UuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2RhdGFzb3VyY2UtZWJzLWRpc2tyZXBsaWNhZ3JvdXBcbiAqL1xuZXhwb3J0IGNsYXNzIERpc2tSZXBsaWNhR3JvdXAgZXh0ZW5kcyByb3MuUmVzb3VyY2UgaW1wbGVtZW50cyBJRGlza1JlcGxpY2FHcm91cCB7XG4gICAgcHJvdGVjdGVkIHNjb3BlOiByb3MuQ29uc3RydWN0O1xuICAgIHByb3RlY3RlZCBpZDogc3RyaW5nO1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9wczogRGlza1JlcGxpY2FHcm91cFByb3BzO1xuICAgIHByb3RlY3RlZCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZXNjcmlwdGlvbjogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjb25zaXN0ZW50IHJlcGxpY2F0aW9uIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyRGVzY3JpcHRpb246IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZXN0aW5hdGlvblJlZ2lvbklkOiBUaGUgSUQgb2YgdGhlIHJlZ2lvbiB0byB3aGljaCB0aGUgZGlzYXN0ZXIgcmVjb3Zlcnkgc2l0ZSBiZWxvbmdzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyRGVzdGluYXRpb25SZWdpb25JZDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIERlc3RpbmF0aW9uWm9uZUlkOiBUaGUgSUQgb2YgdGhlIHpvbmUgdG8gd2hpY2ggdGhlIGRpc2FzdGVyIHJlY292ZXJ5IHNpdGUgYmVsb25ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckRlc3RpbmF0aW9uWm9uZUlkOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgRGlza1JlcGxpY2FHcm91cE5hbWU6IFRoZSBuYW1lIG9mIHRoZSBjb25zaXN0ZW50IHJlcGxpY2F0aW9uIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyRGlza1JlcGxpY2FHcm91cE5hbWU6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBMYXN0UmVjb3ZlclBvaW50OiBUaGUgdGltZSB3aGVuIHRoZSBsYXN0IGFzeW5jaHJvbm91cyByZXBsaWNhdGlvbiBvcGVyYXRpb24gb2YgdGhlIGNvbnNpc3RlbnQgcmVwbGljYXRpb24gZ3JvdXAgY29tcGxldGVkLiBUaGlzIHBhcmFtZXRlciBwcm92aWRlcyB0aGUgcmV0dXJuIHZhbHVlIGFzIGEgdGltZXN0YW1wLiBVbml0OiBzZWNvbmRzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyTGFzdFJlY292ZXJQb2ludDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFBhaXJJZHM6IExpc3Qgb2YgcmVwbGljYXRpb24gcGFpciBJRHMgY29udGFpbmVkIGluIGEgY29uc2lzdGVudCByZXBsaWNhdGlvbiBncm91cC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clBhaXJJZHM6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBQYWlyTnVtYmVyOiBUaGUgbnVtYmVyIG9mIHJlcGxpY2F0aW9uIHBhaXJzIGNvbnRhaW5lZCBpbiBhIGNvbnNpc3RlbnQgcmVwbGljYXRpb24gZ3JvdXAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJQYWlyTnVtYmVyOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUHJpbWFyeVJlZ2lvbjogVGhlIGluaXRpYWwgc291cmNlIHJlZ2lvbiBvZiB0aGUgcmVwbGljYXRpb24gZ3JvdXAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJQcmltYXJ5UmVnaW9uOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUHJpbWFyeVpvbmU6IFRoZSBpbml0aWFsIHNvdXJjZSBhdmFpbGFibGUgYXJlYSBvZiB0aGUgcmVwbGljYXRpb24gZ3JvdXAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJQcmltYXJ5Wm9uZTogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFJQTzogVGhlIFJQTyB2YWx1ZSBzZXQgYnkgdGhlIGNvbnNpc3RlbmN5IGdyb3VwIGluIHNlY29uZHMuIEN1cnJlbnRseSBvbmx5IDkwMCBzZWNvbmRzIGFyZSBzdXBwb3J0ZWQuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJScG86IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBSZXBsaWNhR3JvdXBJZDogVGhlIElEIG9mIHRoZSBjb25zaXN0ZW50IHJlcGxpY2F0aW9uIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyUmVwbGljYUdyb3VwSWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBSZXNvdXJjZUdyb3VwSWQ6IFRoZSBJRCBvZiByZXNvdXJjZSBncm91cC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clJlc291cmNlR3JvdXBJZDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFNpdGU6IFNpdGUgaW5mb3JtYXRpb24gc291cmNlcyBmb3IgcmVwbGljYXRpb24gcGFpcnMgYW5kIGNvbnNpc3RlbnQgcmVwbGljYXRpb24gZ3JvdXBzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU2l0ZTogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFNvdXJjZVJlZ2lvbklkOiBUaGUgSUQgb2YgdGhlIHJlZ2lvbiB0byB3aGljaCB0aGUgcHJvZHVjdGlvbiBzaXRlIGJlbG9uZ3MuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJTb3VyY2VSZWdpb25JZDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFNvdXJjZVpvbmVJZDogVGhlIElEIG9mIHRoZSB6b25lIHRvIHdoaWNoIHRoZSBwcm9kdWN0aW9uIHNpdGUgYmVsb25ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clNvdXJjZVpvbmVJZDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIFN0YW5kYnlSZWdpb246IFRoZSBpbml0aWFsIGRlc3RpbmF0aW9uIHJlZ2lvbiBvZiB0aGUgcmVwbGljYXRpb24gZ3JvdXAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJTdGFuZGJ5UmVnaW9uOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgU3RhbmRieVpvbmU6IFRoZSBpbml0aWFsIGRlc3RpbmF0aW9uIHpvbmUgb2YgdGhlIHJlcGxpY2F0aW9uIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyU3RhbmRieVpvbmU6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBUYWdzOiBUaGUgdGFncyBvZiB0aGUgcmVwbGljYXRpb24gcGFpci1jb25zaXN0ZW50IGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyVGFnczogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBQYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBQYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogcm9zLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERpc2tSZXBsaWNhR3JvdXBQcm9wcywgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6Ym9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICAgICAgdGhpcy5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCA9IGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50O1xuXG4gICAgICAgIGNvbnN0IHJvc0Rpc2tSZXBsaWNhR3JvdXAgPSBuZXcgUm9zRGlza1JlcGxpY2FHcm91cCh0aGlzLCBpZCwgIHtcbiAgICAgICAgICAgIHJlcGxpY2FHcm91cElkOiBwcm9wcy5yZXBsaWNhR3JvdXBJZCxcbiAgICAgICAgICAgIHJlZnJlc2hPcHRpb25zOiBwcm9wcy5yZWZyZXNoT3B0aW9ucyA9PT0gdW5kZWZpbmVkIHx8IHByb3BzLnJlZnJlc2hPcHRpb25zID09PSBudWxsID8gJ05ldmVyJyA6IHByb3BzLnJlZnJlc2hPcHRpb25zLFxuICAgICAgICB9LCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCAmJiB0aGlzLnN0YWNrLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50KTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHJvc0Rpc2tSZXBsaWNhR3JvdXA7XG4gICAgICAgIHRoaXMuYXR0ckRlc2NyaXB0aW9uID0gcm9zRGlza1JlcGxpY2FHcm91cC5hdHRyRGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuYXR0ckRlc3RpbmF0aW9uUmVnaW9uSWQgPSByb3NEaXNrUmVwbGljYUdyb3VwLmF0dHJEZXN0aW5hdGlvblJlZ2lvbklkO1xuICAgICAgICB0aGlzLmF0dHJEZXN0aW5hdGlvblpvbmVJZCA9IHJvc0Rpc2tSZXBsaWNhR3JvdXAuYXR0ckRlc3RpbmF0aW9uWm9uZUlkO1xuICAgICAgICB0aGlzLmF0dHJEaXNrUmVwbGljYUdyb3VwTmFtZSA9IHJvc0Rpc2tSZXBsaWNhR3JvdXAuYXR0ckRpc2tSZXBsaWNhR3JvdXBOYW1lO1xuICAgICAgICB0aGlzLmF0dHJMYXN0UmVjb3ZlclBvaW50ID0gcm9zRGlza1JlcGxpY2FHcm91cC5hdHRyTGFzdFJlY292ZXJQb2ludDtcbiAgICAgICAgdGhpcy5hdHRyUGFpcklkcyA9IHJvc0Rpc2tSZXBsaWNhR3JvdXAuYXR0clBhaXJJZHM7XG4gICAgICAgIHRoaXMuYXR0clBhaXJOdW1iZXIgPSByb3NEaXNrUmVwbGljYUdyb3VwLmF0dHJQYWlyTnVtYmVyO1xuICAgICAgICB0aGlzLmF0dHJQcmltYXJ5UmVnaW9uID0gcm9zRGlza1JlcGxpY2FHcm91cC5hdHRyUHJpbWFyeVJlZ2lvbjtcbiAgICAgICAgdGhpcy5hdHRyUHJpbWFyeVpvbmUgPSByb3NEaXNrUmVwbGljYUdyb3VwLmF0dHJQcmltYXJ5Wm9uZTtcbiAgICAgICAgdGhpcy5hdHRyUnBvID0gcm9zRGlza1JlcGxpY2FHcm91cC5hdHRyUnBvO1xuICAgICAgICB0aGlzLmF0dHJSZXBsaWNhR3JvdXBJZCA9IHJvc0Rpc2tSZXBsaWNhR3JvdXAuYXR0clJlcGxpY2FHcm91cElkO1xuICAgICAgICB0aGlzLmF0dHJSZXNvdXJjZUdyb3VwSWQgPSByb3NEaXNrUmVwbGljYUdyb3VwLmF0dHJSZXNvdXJjZUdyb3VwSWQ7XG4gICAgICAgIHRoaXMuYXR0clNpdGUgPSByb3NEaXNrUmVwbGljYUdyb3VwLmF0dHJTaXRlO1xuICAgICAgICB0aGlzLmF0dHJTb3VyY2VSZWdpb25JZCA9IHJvc0Rpc2tSZXBsaWNhR3JvdXAuYXR0clNvdXJjZVJlZ2lvbklkO1xuICAgICAgICB0aGlzLmF0dHJTb3VyY2Vab25lSWQgPSByb3NEaXNrUmVwbGljYUdyb3VwLmF0dHJTb3VyY2Vab25lSWQ7XG4gICAgICAgIHRoaXMuYXR0clN0YW5kYnlSZWdpb24gPSByb3NEaXNrUmVwbGljYUdyb3VwLmF0dHJTdGFuZGJ5UmVnaW9uO1xuICAgICAgICB0aGlzLmF0dHJTdGFuZGJ5Wm9uZSA9IHJvc0Rpc2tSZXBsaWNhR3JvdXAuYXR0clN0YW5kYnlab25lO1xuICAgICAgICB0aGlzLmF0dHJUYWdzID0gcm9zRGlza1JlcGxpY2FHcm91cC5hdHRyVGFncztcbiAgICB9XG59XG4iXX0=
|