@cdktn/provider-time 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2810 -0
- package/LICENSE +355 -0
- package/README.md +94 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.js +14 -0
- package/lib/lazy-index.d.ts +4 -0
- package/lib/lazy-index.js +12 -0
- package/lib/offset/index.d.ts +141 -0
- package/lib/offset/index.js +276 -0
- package/lib/provider/index.d.ts +47 -0
- package/lib/provider/index.js +87 -0
- package/lib/rotating/index.d.ts +140 -0
- package/lib/rotating/index.js +275 -0
- package/lib/sleep/index.d.ts +78 -0
- package/lib/sleep/index.js +139 -0
- package/lib/static-resource/index.d.ts +74 -0
- package/lib/static-resource/index.js +149 -0
- package/package.json +152 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Rotating = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const cdktf = require("cdktf");
|
|
7
|
+
/**
|
|
8
|
+
* Represents a {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/rotating time_rotating}
|
|
9
|
+
*/
|
|
10
|
+
class Rotating extends cdktf.TerraformResource {
|
|
11
|
+
// ==============
|
|
12
|
+
// STATIC Methods
|
|
13
|
+
// ==============
|
|
14
|
+
/**
|
|
15
|
+
* Generates CDKTF code for importing a Rotating resource upon running "cdktf plan <stack-name>"
|
|
16
|
+
* @param scope The scope in which to define this construct
|
|
17
|
+
* @param importToId The construct id used in the generated config for the Rotating to import
|
|
18
|
+
* @param importFromId The id of the existing Rotating that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/rotating#import import section} in the documentation of this resource for the id to use
|
|
19
|
+
* @param provider? Optional instance of the provider where the Rotating to import is found
|
|
20
|
+
*/
|
|
21
|
+
static generateConfigForImport(scope, importToId, importFromId, provider) {
|
|
22
|
+
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "time_rotating", importId: importFromId, provider });
|
|
23
|
+
}
|
|
24
|
+
// ===========
|
|
25
|
+
// INITIALIZER
|
|
26
|
+
// ===========
|
|
27
|
+
/**
|
|
28
|
+
* Create a new {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/rotating time_rotating} Resource
|
|
29
|
+
*
|
|
30
|
+
* @param scope The scope in which to define this construct
|
|
31
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
32
|
+
* @param options RotatingConfig = {}
|
|
33
|
+
*/
|
|
34
|
+
constructor(scope, id, config = {}) {
|
|
35
|
+
super(scope, id, {
|
|
36
|
+
terraformResourceType: 'time_rotating',
|
|
37
|
+
terraformGeneratorMetadata: {
|
|
38
|
+
providerName: 'time',
|
|
39
|
+
providerVersion: '0.13.1',
|
|
40
|
+
providerVersionConstraint: '~> 0.7'
|
|
41
|
+
},
|
|
42
|
+
provider: config.provider,
|
|
43
|
+
dependsOn: config.dependsOn,
|
|
44
|
+
count: config.count,
|
|
45
|
+
lifecycle: config.lifecycle,
|
|
46
|
+
provisioners: config.provisioners,
|
|
47
|
+
connection: config.connection,
|
|
48
|
+
forEach: config.forEach
|
|
49
|
+
});
|
|
50
|
+
this._rfc3339 = config.rfc3339;
|
|
51
|
+
this._rotationDays = config.rotationDays;
|
|
52
|
+
this._rotationHours = config.rotationHours;
|
|
53
|
+
this._rotationMinutes = config.rotationMinutes;
|
|
54
|
+
this._rotationMonths = config.rotationMonths;
|
|
55
|
+
this._rotationRfc3339 = config.rotationRfc3339;
|
|
56
|
+
this._rotationYears = config.rotationYears;
|
|
57
|
+
this._triggers = config.triggers;
|
|
58
|
+
}
|
|
59
|
+
// ==========
|
|
60
|
+
// ATTRIBUTES
|
|
61
|
+
// ==========
|
|
62
|
+
// day - computed: true, optional: false, required: false
|
|
63
|
+
get day() {
|
|
64
|
+
return this.getNumberAttribute('day');
|
|
65
|
+
}
|
|
66
|
+
// hour - computed: true, optional: false, required: false
|
|
67
|
+
get hour() {
|
|
68
|
+
return this.getNumberAttribute('hour');
|
|
69
|
+
}
|
|
70
|
+
// id - computed: true, optional: false, required: false
|
|
71
|
+
get id() {
|
|
72
|
+
return this.getStringAttribute('id');
|
|
73
|
+
}
|
|
74
|
+
// minute - computed: true, optional: false, required: false
|
|
75
|
+
get minute() {
|
|
76
|
+
return this.getNumberAttribute('minute');
|
|
77
|
+
}
|
|
78
|
+
// month - computed: true, optional: false, required: false
|
|
79
|
+
get month() {
|
|
80
|
+
return this.getNumberAttribute('month');
|
|
81
|
+
}
|
|
82
|
+
get rfc3339() {
|
|
83
|
+
return this.getStringAttribute('rfc3339');
|
|
84
|
+
}
|
|
85
|
+
set rfc3339(value) {
|
|
86
|
+
this._rfc3339 = value;
|
|
87
|
+
}
|
|
88
|
+
resetRfc3339() {
|
|
89
|
+
this._rfc3339 = undefined;
|
|
90
|
+
}
|
|
91
|
+
// Temporarily expose input value. Use with caution.
|
|
92
|
+
get rfc3339Input() {
|
|
93
|
+
return this._rfc3339;
|
|
94
|
+
}
|
|
95
|
+
get rotationDays() {
|
|
96
|
+
return this.getNumberAttribute('rotation_days');
|
|
97
|
+
}
|
|
98
|
+
set rotationDays(value) {
|
|
99
|
+
this._rotationDays = value;
|
|
100
|
+
}
|
|
101
|
+
resetRotationDays() {
|
|
102
|
+
this._rotationDays = undefined;
|
|
103
|
+
}
|
|
104
|
+
// Temporarily expose input value. Use with caution.
|
|
105
|
+
get rotationDaysInput() {
|
|
106
|
+
return this._rotationDays;
|
|
107
|
+
}
|
|
108
|
+
get rotationHours() {
|
|
109
|
+
return this.getNumberAttribute('rotation_hours');
|
|
110
|
+
}
|
|
111
|
+
set rotationHours(value) {
|
|
112
|
+
this._rotationHours = value;
|
|
113
|
+
}
|
|
114
|
+
resetRotationHours() {
|
|
115
|
+
this._rotationHours = undefined;
|
|
116
|
+
}
|
|
117
|
+
// Temporarily expose input value. Use with caution.
|
|
118
|
+
get rotationHoursInput() {
|
|
119
|
+
return this._rotationHours;
|
|
120
|
+
}
|
|
121
|
+
get rotationMinutes() {
|
|
122
|
+
return this.getNumberAttribute('rotation_minutes');
|
|
123
|
+
}
|
|
124
|
+
set rotationMinutes(value) {
|
|
125
|
+
this._rotationMinutes = value;
|
|
126
|
+
}
|
|
127
|
+
resetRotationMinutes() {
|
|
128
|
+
this._rotationMinutes = undefined;
|
|
129
|
+
}
|
|
130
|
+
// Temporarily expose input value. Use with caution.
|
|
131
|
+
get rotationMinutesInput() {
|
|
132
|
+
return this._rotationMinutes;
|
|
133
|
+
}
|
|
134
|
+
get rotationMonths() {
|
|
135
|
+
return this.getNumberAttribute('rotation_months');
|
|
136
|
+
}
|
|
137
|
+
set rotationMonths(value) {
|
|
138
|
+
this._rotationMonths = value;
|
|
139
|
+
}
|
|
140
|
+
resetRotationMonths() {
|
|
141
|
+
this._rotationMonths = undefined;
|
|
142
|
+
}
|
|
143
|
+
// Temporarily expose input value. Use with caution.
|
|
144
|
+
get rotationMonthsInput() {
|
|
145
|
+
return this._rotationMonths;
|
|
146
|
+
}
|
|
147
|
+
get rotationRfc3339() {
|
|
148
|
+
return this.getStringAttribute('rotation_rfc3339');
|
|
149
|
+
}
|
|
150
|
+
set rotationRfc3339(value) {
|
|
151
|
+
this._rotationRfc3339 = value;
|
|
152
|
+
}
|
|
153
|
+
resetRotationRfc3339() {
|
|
154
|
+
this._rotationRfc3339 = undefined;
|
|
155
|
+
}
|
|
156
|
+
// Temporarily expose input value. Use with caution.
|
|
157
|
+
get rotationRfc3339Input() {
|
|
158
|
+
return this._rotationRfc3339;
|
|
159
|
+
}
|
|
160
|
+
get rotationYears() {
|
|
161
|
+
return this.getNumberAttribute('rotation_years');
|
|
162
|
+
}
|
|
163
|
+
set rotationYears(value) {
|
|
164
|
+
this._rotationYears = value;
|
|
165
|
+
}
|
|
166
|
+
resetRotationYears() {
|
|
167
|
+
this._rotationYears = undefined;
|
|
168
|
+
}
|
|
169
|
+
// Temporarily expose input value. Use with caution.
|
|
170
|
+
get rotationYearsInput() {
|
|
171
|
+
return this._rotationYears;
|
|
172
|
+
}
|
|
173
|
+
// second - computed: true, optional: false, required: false
|
|
174
|
+
get second() {
|
|
175
|
+
return this.getNumberAttribute('second');
|
|
176
|
+
}
|
|
177
|
+
get triggers() {
|
|
178
|
+
return this.getStringMapAttribute('triggers');
|
|
179
|
+
}
|
|
180
|
+
set triggers(value) {
|
|
181
|
+
this._triggers = value;
|
|
182
|
+
}
|
|
183
|
+
resetTriggers() {
|
|
184
|
+
this._triggers = undefined;
|
|
185
|
+
}
|
|
186
|
+
// Temporarily expose input value. Use with caution.
|
|
187
|
+
get triggersInput() {
|
|
188
|
+
return this._triggers;
|
|
189
|
+
}
|
|
190
|
+
// unix - computed: true, optional: false, required: false
|
|
191
|
+
get unix() {
|
|
192
|
+
return this.getNumberAttribute('unix');
|
|
193
|
+
}
|
|
194
|
+
// year - computed: true, optional: false, required: false
|
|
195
|
+
get year() {
|
|
196
|
+
return this.getNumberAttribute('year');
|
|
197
|
+
}
|
|
198
|
+
// =========
|
|
199
|
+
// SYNTHESIS
|
|
200
|
+
// =========
|
|
201
|
+
synthesizeAttributes() {
|
|
202
|
+
return {
|
|
203
|
+
rfc3339: cdktf.stringToTerraform(this._rfc3339),
|
|
204
|
+
rotation_days: cdktf.numberToTerraform(this._rotationDays),
|
|
205
|
+
rotation_hours: cdktf.numberToTerraform(this._rotationHours),
|
|
206
|
+
rotation_minutes: cdktf.numberToTerraform(this._rotationMinutes),
|
|
207
|
+
rotation_months: cdktf.numberToTerraform(this._rotationMonths),
|
|
208
|
+
rotation_rfc3339: cdktf.stringToTerraform(this._rotationRfc3339),
|
|
209
|
+
rotation_years: cdktf.numberToTerraform(this._rotationYears),
|
|
210
|
+
triggers: cdktf.hashMapper(cdktf.stringToTerraform)(this._triggers),
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
synthesizeHclAttributes() {
|
|
214
|
+
const attrs = {
|
|
215
|
+
rfc3339: {
|
|
216
|
+
value: cdktf.stringToHclTerraform(this._rfc3339),
|
|
217
|
+
isBlock: false,
|
|
218
|
+
type: "simple",
|
|
219
|
+
storageClassType: "string",
|
|
220
|
+
},
|
|
221
|
+
rotation_days: {
|
|
222
|
+
value: cdktf.numberToHclTerraform(this._rotationDays),
|
|
223
|
+
isBlock: false,
|
|
224
|
+
type: "simple",
|
|
225
|
+
storageClassType: "number",
|
|
226
|
+
},
|
|
227
|
+
rotation_hours: {
|
|
228
|
+
value: cdktf.numberToHclTerraform(this._rotationHours),
|
|
229
|
+
isBlock: false,
|
|
230
|
+
type: "simple",
|
|
231
|
+
storageClassType: "number",
|
|
232
|
+
},
|
|
233
|
+
rotation_minutes: {
|
|
234
|
+
value: cdktf.numberToHclTerraform(this._rotationMinutes),
|
|
235
|
+
isBlock: false,
|
|
236
|
+
type: "simple",
|
|
237
|
+
storageClassType: "number",
|
|
238
|
+
},
|
|
239
|
+
rotation_months: {
|
|
240
|
+
value: cdktf.numberToHclTerraform(this._rotationMonths),
|
|
241
|
+
isBlock: false,
|
|
242
|
+
type: "simple",
|
|
243
|
+
storageClassType: "number",
|
|
244
|
+
},
|
|
245
|
+
rotation_rfc3339: {
|
|
246
|
+
value: cdktf.stringToHclTerraform(this._rotationRfc3339),
|
|
247
|
+
isBlock: false,
|
|
248
|
+
type: "simple",
|
|
249
|
+
storageClassType: "string",
|
|
250
|
+
},
|
|
251
|
+
rotation_years: {
|
|
252
|
+
value: cdktf.numberToHclTerraform(this._rotationYears),
|
|
253
|
+
isBlock: false,
|
|
254
|
+
type: "simple",
|
|
255
|
+
storageClassType: "number",
|
|
256
|
+
},
|
|
257
|
+
triggers: {
|
|
258
|
+
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._triggers),
|
|
259
|
+
isBlock: false,
|
|
260
|
+
type: "map",
|
|
261
|
+
storageClassType: "stringMap",
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
// remove undefined attributes
|
|
265
|
+
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
exports.Rotating = Rotating;
|
|
269
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
270
|
+
Rotating[_a] = { fqn: "@cdktn/provider-time.rotating.Rotating", version: "11.1.0" };
|
|
271
|
+
// =================
|
|
272
|
+
// STATIC PROPERTIES
|
|
273
|
+
// =================
|
|
274
|
+
Rotating.tfResourceType = "time_rotating";
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm90YXRpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwrQkFBK0I7QUF1RC9COztFQUVFO0FBQ0YsTUFBYSxRQUFTLFNBQVEsS0FBSyxDQUFDLGlCQUFpQjtJQU9uRCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQjs7Ozs7O01BTUU7SUFDSyxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBZ0IsRUFBRSxVQUFrQixFQUFFLFlBQW9CLEVBQUUsUUFBa0M7UUFDOUgsT0FBTyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN2SSxDQUFDO0lBRUwsY0FBYztJQUNkLGNBQWM7SUFDZCxjQUFjO0lBRWQ7Ozs7OztNQU1FO0lBQ0YsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBeUIsRUFBRTtRQUMxRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLHFCQUFxQixFQUFFLGVBQWU7WUFDdEMsMEJBQTBCLEVBQUU7Z0JBQzFCLFlBQVksRUFBRSxNQUFNO2dCQUNwQixlQUFlLEVBQUUsUUFBUTtnQkFDekIseUJBQXlCLEVBQUUsUUFBUTthQUNwQztZQUNELFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7WUFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFD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QW9CO0FBQ0csdUJBQWMsR0FBRyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvdGltZS8wLjEzLjEvZG9jcy9yZXNvdXJjZXMvcm90YXRpbmdcbi8vIGdlbmVyYXRlZCBmcm9tIHRlcnJhZm9ybSByZXNvdXJjZSBzY2hlbWFcblxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tICdjZGt0Zic7XG5cbi8vIENvbmZpZ3VyYXRpb25cblxuZXhwb3J0IGludGVyZmFjZSBSb3RhdGluZ0NvbmZpZyBleHRlbmRzIGNka3RmLlRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICAvKipcbiAgKiBCYXNlIHRpbWVzdGFtcCBpbiBbUkZDMzMzOV0oaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmMzMzM5I3NlY3Rpb24tNS44KSBmb3JtYXQgKHNlZSBbUkZDMzMzOSB0aW1lIHN0cmluZ10oaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzMzMzkjc2VjdGlvbi01LjgpIGUuZy4sIGBZWVlZLU1NLUREVEhIOk1NOlNTWmApLiBEZWZhdWx0cyB0byB0aGUgY3VycmVudCB0aW1lLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3RpbWUvMC4xMy4xL2RvY3MvcmVzb3VyY2VzL3JvdGF0aW5nI3JmYzMzMzkgUm90YXRpbmcjcmZjMzMzOX1cbiAgKi9cbiAgcmVhZG9ubHkgcmZjMzMzOT86IHN0cmluZztcbiAgLyoqXG4gICogTnVtYmVyIG9mIGRheXMgdG8gYWRkIHRvIHRoZSBiYXNlIHRpbWVzdGFtcCB0byBjb25maWd1cmUgdGhlIHJvdGF0aW9uIHRpbWVzdGFtcC4gV2hlbiB0aGUgY3VycmVudCB0aW1lIGhhcyBwYXNzZWQgdGhlIHJvdGF0aW9uIHRpbWVzdGFtcCwgdGhlIHJlc291cmNlIHdpbGwgdHJpZ2dlciByZWNyZWF0aW9uLiBBdCBsZWFzdCBvbmUgb2YgdGhlICdyb3RhdGlvbl8nIGFyZ3VtZW50cyBtdXN0IGJlIGNvbmZpZ3VyZWQuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvdGltZS8wLjEzLjEvZG9jcy9yZXNvdXJjZXMvcm90YXRpbmcjcm90YXRpb25fZGF5cyBSb3RhdGluZyNyb3RhdGlvbl9kYXlzfVxuICAqL1xuICByZWFkb25seSByb3RhdGlvbkRheXM/OiBudW1iZXI7XG4gIC8qKlxuICAqIE51bWJlciBvZiBob3VycyB0byBhZGQgdG8gdGhlIGJhc2UgdGltZXN0YW1wIHRvIGNvbmZpZ3VyZSB0aGUgcm90YXRpb24gdGltZXN0YW1wLiBXaGVuIHRoZSBjdXJyZW50IHRpbWUgaGFzIHBhc3NlZCB0aGUgcm90YXRpb24gdGltZXN0YW1wLCB0aGUgcmVzb3VyY2Ugd2lsbCB0cmlnZ2VyIHJlY3JlYXRpb24uIEF0IGxlYXN0IG9uZSBvZiB0aGUgJ3JvdGF0aW9uXycgYXJndW1lbnRzIG11c3QgYmUgY29uZmlndXJlZC5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC90aW1lLzAuMTMuMS9kb2NzL3Jlc291cmNlcy9yb3RhdGluZyNyb3RhdGlvbl9ob3VycyBSb3RhdGluZyNyb3RhdGlvbl9ob3Vyc31cbiAgKi9cbiAgcmVhZG9ubHkgcm90YXRpb25Ib3Vycz86IG51bWJlcjtcbiAgLyoqXG4gICogTnVtYmVyIG9mIG1pbnV0ZXMgdG8gYWRkIHRvIHRoZSBiYXNlIHRpbWVzdGFtcCB0byBjb25maWd1cmUgdGhlIHJvdGF0aW9uIHRpbWVzdGFtcC4gV2hlbiB0aGUgY3VycmVudCB0aW1lIGhhcyBwYXNzZWQgdGhlIHJvdGF0aW9uIHRpbWVzdGFtcCwgdGhlIHJlc291cmNlIHdpbGwgdHJpZ2dlciByZWNyZWF0aW9uLiBBdCBsZWFzdCBvbmUgb2YgdGhlICdyb3RhdGlvbl8nIGFyZ3VtZW50cyBtdXN0IGJlIGNvbmZpZ3VyZWQuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvdGltZS8wLjEzLjEvZG9jcy9yZXNvdXJjZXMvcm90YXRpbmcjcm90YXRpb25fbWludXRlcyBSb3RhdGluZyNyb3RhdGlvbl9taW51dGVzfVxuICAqL1xuICByZWFkb25seSByb3RhdGlvbk1pbnV0ZXM/OiBudW1iZXI7XG4gIC8qKlxuICAqIE51bWJlciBvZiBtb250aHMgdG8gYWRkIHRvIHRoZSBiYXNlIHRpbWVzdGFtcCB0byBjb25maWd1cmUgdGhlIHJvdGF0aW9uIHRpbWVzdGFtcC4gV2hlbiB0aGUgY3VycmVudCB0aW1lIGhhcyBwYXNzZWQgdGhlIHJvdGF0aW9uIHRpbWVzdGFtcCwgdGhlIHJlc291cmNlIHdpbGwgdHJpZ2dlciByZWNyZWF0aW9uLiBBdCBsZWFzdCBvbmUgb2YgdGhlICdyb3RhdGlvbl8nIGFyZ3VtZW50cyBtdXN0IGJlIGNvbmZpZ3VyZWQuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvdGltZS8wLjEzLjEvZG9jcy9yZXNvdXJjZXMvcm90YXRpbmcjcm90YXRpb25fbW9udGhzIFJvdGF0aW5nI3JvdGF0aW9uX21vbnRoc31cbiAgKi9cbiAgcmVhZG9ubHkgcm90YXRpb25Nb250aHM/OiBudW1iZXI7XG4gIC8qKlxuICAqIENvbmZpZ3VyZSB0aGUgcm90YXRpb24gdGltZXN0YW1wIHdpdGggYW4gW1JGQzMzMzldKGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjMzMzOSNzZWN0aW9uLTUuOCkgZm9ybWF0IG9mIHRoZSBvZmZzZXQgdGltZXN0YW1wLiBXaGVuIHRoZSBjdXJyZW50IHRpbWUgaGFzIHBhc3NlZCB0aGUgcm90YXRpb24gdGltZXN0YW1wLCB0aGUgcmVzb3VyY2Ugd2lsbCB0cmlnZ2VyIHJlY3JlYXRpb24uIEF0IGxlYXN0IG9uZSBvZiB0aGUgJ3JvdGF0aW9uXycgYXJndW1lbnRzIG11c3QgYmUgY29uZmlndXJlZC5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC90aW1lLzAuMTMuMS9kb2NzL3Jlc291cmNlcy9yb3RhdGluZyNyb3RhdGlvbl9yZmMzMzM5IFJvdGF0aW5nI3JvdGF0aW9uX3JmYzMzMzl9XG4gICovXG4gIHJlYWRvbmx5IHJvdGF0aW9uUmZjMzMzOT86IHN0cmluZztcbiAgLyoqXG4gICogTnVtYmVyIG9mIHllYXJzIHRvIGFkZCB0byB0aGUgYmFzZSB0aW1lc3RhbXAgdG8gY29uZmlndXJlIHRoZSByb3RhdGlvbiB0aW1lc3RhbXAuIFdoZW4gdGhlIGN1cnJlbnQgdGltZSBoYXMgcGFzc2VkIHRoZSByb3RhdGlvbiB0aW1lc3RhbXAsIHRoZSByZXNvdXJjZSB3aWxsIHRyaWdnZXIgcmVjcmVhdGlvbi4gQXQgbGVhc3Qgb25lIG9mIHRoZSAncm90YXRpb25fJyBhcmd1bWVudHMgbXVzdCBiZSBjb25maWd1cmVkLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3RpbWUvMC4xMy4xL2RvY3MvcmVzb3VyY2VzL3JvdGF0aW5nI3JvdGF0aW9uX3llYXJzIFJvdGF0aW5nI3JvdGF0aW9uX3llYXJzfVxuICAqL1xuICByZWFkb25seSByb3RhdGlvblllYXJzPzogbnVtYmVyO1xuICAvKipcbiAgKiBBcmJpdHJhcnkgbWFwIG9mIHZhbHVlcyB0aGF0LCB3aGVuIGNoYW5nZWQsIHdpbGwgdHJpZ2dlciBhIG5ldyBiYXNlIHRpbWVzdGFtcCB2YWx1ZSB0byBiZSBzYXZlZC4gVGhlc2UgY29uZGl0aW9ucyByZWNyZWF0ZSB0aGUgcmVzb3VyY2UgaW4gYWRkaXRpb24gdG8gb3RoZXIgcm90YXRpb24gYXJndW1lbnRzLiBTZWUgW3RoZSBtYWluIHByb3ZpZGVyIGRvY3VtZW50YXRpb25dKC4uL2luZGV4Lm1kKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC90aW1lLzAuMTMuMS9kb2NzL3Jlc291cmNlcy9yb3RhdGluZyN0cmlnZ2VycyBSb3RhdGluZyN0cmlnZ2Vyc31cbiAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiogUmVwcmVzZW50cyBhIHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3RpbWUvMC4xMy4xL2RvY3MvcmVzb3VyY2VzL3JvdGF0aW5nIHRpbWVfcm90YXRpbmd9XG4qL1xuZXhwb3J0IGNsYXNzIFJvdGF0aW5nIGV4dGVuZHMgY2RrdGYuVGVycmFmb3JtUmVzb3VyY2Uge1xuXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBQUk9QRVJUSUVTXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcInRpbWVfcm90YXRpbmdcIjtcblxuICAvLyA9PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgTWV0aG9kc1xuICAvLyA9PT09PT09PT09PT09PVxuICAvKipcbiAgKiBHZW5lcmF0ZXMgQ0RLVEYgY29kZSBmb3IgaW1wb3J0aW5nIGEgUm90YXRpbmcgcmVzb3VyY2UgdXBvbiBydW5uaW5nIFwiY2RrdGYgcGxhbiA8c3RhY2stbmFtZT5cIlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGltcG9ydFRvSWQgVGhlIGNvbnN0cnVjdCBpZCB1c2VkIGluIHRoZSBnZW5lcmF0ZWQgY29uZmlnIGZvciB0aGUgUm90YXRpbmcgdG8gaW1wb3J0XG4gICogQHBhcmFtIGltcG9ydEZyb21JZCBUaGUgaWQgb2YgdGhlIGV4aXN0aW5nIFJvdGF0aW5nIHRoYXQgc2hvdWxkIGJlIGltcG9ydGVkLiBSZWZlciB0byB0aGUge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvdGltZS8wLjEzLjEvZG9jcy9yZXNvdXJjZXMvcm90YXRpbmcjaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIFJvdGF0aW5nIHRvIGltcG9ydCBpcyBmb3VuZFxuICAqL1xuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdGYuVGVycmFmb3JtUHJvdmlkZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBjZGt0Zi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcInRpbWVfcm90YXRpbmdcIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7XG4gICAgICB9XG5cbiAgLy8gPT09PT09PT09PT1cbiAgLy8gSU5JVElBTElaRVJcbiAgLy8gPT09PT09PT09PT1cblxuICAvKipcbiAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvdGltZS8wLjEzLjEvZG9jcy9yZXNvdXJjZXMvcm90YXRpbmcgdGltZV9yb3RhdGluZ30gUmVzb3VyY2VcbiAgKlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGlkIFRoZSBzY29wZWQgY29uc3RydWN0IElELiBNdXN0IGJlIHVuaXF1ZSBhbW9uZ3N0IHNpYmxpbmdzIGluIHRoZSBzYW1lIHNjb3BlXG4gICogQHBhcmFtIG9wdGlvbnMgUm90YXRpbmdDb25maWcgPSB7fVxuICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBSb3RhdGluZ0NvbmZpZyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6ICd0aW1lX3JvdGF0aW5nJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ3RpbWUnLFxuICAgICAgICBwcm92aWRlclZlcnNpb246ICcwLjEzLjEnLFxuICAgICAgICBwcm92aWRlclZlcnNpb25Db25zdHJhaW50OiAnfj4gMC43J1xuICAgICAgfSxcbiAgICAgIHByb3ZpZGVyOiBjb25maWcucHJvdmlkZXIsXG4gICAgICBkZXBlbmRzT246IGNvbmZpZy5kZXBlbmRzT24sXG4gICAgICBjb3VudDogY29uZmlnLmNvdW50LFxuICAgICAgbGlmZWN5Y2xlOiBjb25maWcubGlmZWN5Y2xlLFxuICAgICAgcHJvdmlzaW9uZXJzOiBjb25maWcucHJvdmlzaW9uZXJzLFxuICAgICAgY29ubmVjdGlvbjogY29uZmlnLmNvbm5lY3Rpb24sXG4gICAgICBmb3JFYWNoOiBjb25maWcuZm9yRWFjaFxuICAgIH0pO1xuICAgIHRoaXMuX3JmYzMzMzkgPSBjb25maWcucmZjMzMzOTtcbiAgICB0aGlzLl9yb3RhdGlvbkRheXMgPSBjb25maWcucm90YXRpb25EYXlzO1xuICAgIHRoaXMuX3JvdGF0aW9uSG91cnMgPSBjb25maWcucm90YXRpb25Ib3VycztcbiAgICB0aGlzLl9yb3RhdGlvbk1pbnV0ZXMgPSBjb25maWcucm90YXRpb25NaW51dGVzO1xuICAgIHRoaXMuX3JvdGF0aW9uTW9udGhzID0gY29uZmlnLnJvdGF0aW9uTW9udGhzO1xuICAgIHRoaXMuX3JvdGF0aW9uUmZjMzMzOSA9IGNvbmZpZy5yb3RhdGlvblJmYzMzMzk7XG4gICAgdGhpcy5fcm90YXRpb25ZZWFycyA9IGNvbmZpZy5yb3RhdGlvblllYXJzO1xuICAgIHRoaXMuX3RyaWdnZXJzID0gY29uZmlnLnRyaWdnZXJzO1xuICB9XG5cbiAgLy8gPT09PT09PT09PVxuICAvLyBBVFRSSUJVVEVTXG4gIC8vID09PT09PT09PT1cblxuICAvLyBkYXkgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBkYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdkYXknKTtcbiAgfVxuXG4gIC8vIGhvdXIgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBob3VyKCkge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlckF0dHJpYnV0ZSgnaG91cicpO1xuICB9XG5cbiAgLy8gaWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2lkJyk7XG4gIH1cblxuICAvLyBtaW51dGUgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBtaW51dGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdtaW51dGUnKTtcbiAgfVxuXG4gIC8vIG1vbnRoIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgbW9udGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdtb250aCcpO1xuICB9XG5cbiAgLy8gcmZjMzMzOSAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX3JmYzMzMzk/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IHJmYzMzMzkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdyZmMzMzM5Jyk7XG4gIH1cbiAgcHVibGljIHNldCByZmMzMzM5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZmMzMzM5ID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0UmZjMzMzOSgpIHtcbiAgICB0aGlzLl9yZmMzMzM5ID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCByZmMzMzM5SW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JmYzMzMzk7XG4gIH1cblxuICAvLyByb3RhdGlvbl9kYXlzIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX3JvdGF0aW9uRGF5cz86IG51bWJlcjsgXG4gIHB1YmxpYyBnZXQgcm90YXRpb25EYXlzKCkge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlckF0dHJpYnV0ZSgncm90YXRpb25fZGF5cycpO1xuICB9XG4gIHB1YmxpYyBzZXQgcm90YXRpb25EYXlzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9yb3RhdGlvbkRheXMgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRSb3RhdGlvbkRheXMoKSB7XG4gICAgdGhpcy5fcm90YXRpb25EYXlzID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCByb3RhdGlvbkRheXNJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm90YXRpb25EYXlzO1xuICB9XG5cbiAgLy8gcm90YXRpb25faG91cnMgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfcm90YXRpb25Ib3Vycz86IG51bWJlcjsgXG4gIHB1YmxpYyBnZXQgcm90YXRpb25Ib3VycygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJBdHRyaWJ1dGUoJ3JvdGF0aW9uX2hvdXJzJyk7XG4gIH1cbiAgcHVibGljIHNldCByb3RhdGlvbkhvdXJzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9yb3RhdGlvbkhvdXJzID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0Um90YXRpb25Ib3VycygpIHtcbiAgICB0aGlzLl9yb3RhdGlvbkhvdXJzID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCByb3RhdGlvbkhvdXJzSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JvdGF0aW9uSG91cnM7XG4gIH1cblxuICAvLyByb3RhdGlvbl9taW51dGVzIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX3JvdGF0aW9uTWludXRlcz86IG51bWJlcjsgXG4gIHB1YmxpYyBnZXQgcm90YXRpb25NaW51dGVzKCkge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlckF0dHJpYnV0ZSgncm90YXRpb25fbWludXRlcycpO1xuICB9XG4gIHB1YmxpYyBzZXQgcm90YXRpb25NaW51dGVzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9yb3RhdGlvbk1pbnV0ZXMgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRSb3RhdGlvbk1pbnV0ZXMoKSB7XG4gICAgdGhpcy5fcm90YXRpb25NaW51dGVzID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCByb3RhdGlvbk1pbnV0ZXNJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm90YXRpb25NaW51dGVzO1xuICB9XG5cbiAgLy8gcm90YXRpb25fbW9udGhzIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX3JvdGF0aW9uTW9udGhzPzogbnVtYmVyOyBcbiAgcHVibGljIGdldCByb3RhdGlvbk1vbnRocygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJBdHRyaWJ1dGUoJ3JvdGF0aW9uX21vbnRocycpO1xuICB9XG4gIHB1YmxpYyBzZXQgcm90YXRpb25Nb250aHModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3JvdGF0aW9uTW9udGhzID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0Um90YXRpb25Nb250aHMoKSB7XG4gICAgdGhpcy5fcm90YXRpb25Nb250aHMgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IHJvdGF0aW9uTW9udGhzSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JvdGF0aW9uTW9udGhzO1xuICB9XG5cbiAgLy8gcm90YXRpb25fcmZjMzMzOSAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX3JvdGF0aW9uUmZjMzMzOT86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgcm90YXRpb25SZmMzMzM5KCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgncm90YXRpb25fcmZjMzMzOScpO1xuICB9XG4gIHB1YmxpYyBzZXQgcm90YXRpb25SZmMzMzM5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yb3RhdGlvblJmYzMzMzkgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRSb3RhdGlvblJmYzMzMzkoKSB7XG4gICAgdGhpcy5fcm90YXRpb25SZmMzMzM5ID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCByb3RhdGlvblJmYzMzMzlJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm90YXRpb25SZmMzMzM5O1xuICB9XG5cbiAgLy8gcm90YXRpb25feWVhcnMgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfcm90YXRpb25ZZWFycz86IG51bWJlcjsgXG4gIHB1YmxpYyBnZXQgcm90YXRpb25ZZWFycygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJBdHRyaWJ1dGUoJ3JvdGF0aW9uX3llYXJzJyk7XG4gIH1cbiAgcHVibGljIHNldCByb3RhdGlvblllYXJzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9yb3RhdGlvblllYXJzID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0Um90YXRpb25ZZWFycygpIHtcbiAgICB0aGlzLl9yb3RhdGlvblllYXJzID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCByb3RhdGlvblllYXJzSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JvdGF0aW9uWWVhcnM7XG4gIH1cblxuICAvLyBzZWNvbmQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBzZWNvbmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdzZWNvbmQnKTtcbiAgfVxuXG4gIC8vIHRyaWdnZXJzIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX3RyaWdnZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTsgXG4gIHB1YmxpYyBnZXQgdHJpZ2dlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nTWFwQXR0cmlidXRlKCd0cmlnZ2VycycpO1xuICB9XG4gIHB1YmxpYyBzZXQgdHJpZ2dlcnModmFsdWU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLl90cmlnZ2VycyA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldFRyaWdnZXJzKCkge1xuICAgIHRoaXMuX3RyaWdnZXJzID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCB0cmlnZ2Vyc0lucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VycztcbiAgfVxuXG4gIC8vIHVuaXggLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCB1bml4KCkge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlckF0dHJpYnV0ZSgndW5peCcpO1xuICB9XG5cbiAgLy8geWVhciAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IHllYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCd5ZWFyJyk7XG4gIH1cblxuICAvLyA9PT09PT09PT1cbiAgLy8gU1lOVEhFU0lTXG4gIC8vID09PT09PT09PVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJmYzMzMzk6IGNka3RmLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX3JmYzMzMzkpLFxuICAgICAgcm90YXRpb25fZGF5czogY2RrdGYubnVtYmVyVG9UZXJyYWZvcm0odGhpcy5fcm90YXRpb25EYXlzKSxcbiAgICAgIHJvdGF0aW9uX2hvdXJzOiBjZGt0Zi5udW1iZXJUb1RlcnJhZm9ybSh0aGlzLl9yb3RhdGlvbkhvdXJzKSxcbiAgICAgIHJvdGF0aW9uX21pbnV0ZXM6IGNka3RmLm51bWJlclRvVGVycmFmb3JtKHRoaXMuX3JvdGF0aW9uTWludXRlcyksXG4gICAgICByb3RhdGlvbl9tb250aHM6IGNka3RmLm51bWJlclRvVGVycmFmb3JtKHRoaXMuX3JvdGF0aW9uTW9udGhzKSxcbiAgICAgIHJvdGF0aW9uX3JmYzMzMzk6IGNka3RmLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX3JvdGF0aW9uUmZjMzMzOSksXG4gICAgICByb3RhdGlvbl95ZWFyczogY2RrdGYubnVtYmVyVG9UZXJyYWZvcm0odGhpcy5fcm90YXRpb25ZZWFycyksXG4gICAgICB0cmlnZ2VyczogY2RrdGYuaGFzaE1hcHBlcihjZGt0Zi5zdHJpbmdUb1RlcnJhZm9ybSkodGhpcy5fdHJpZ2dlcnMpLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGF0dHJzID0ge1xuICAgICAgcmZjMzMzOToge1xuICAgICAgICB2YWx1ZTogY2RrdGYuc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5fcmZjMzMzOSksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIHJvdGF0aW9uX2RheXM6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLm51bWJlclRvSGNsVGVycmFmb3JtKHRoaXMuX3JvdGF0aW9uRGF5cyksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcIm51bWJlclwiLFxuICAgICAgfSxcbiAgICAgIHJvdGF0aW9uX2hvdXJzOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5udW1iZXJUb0hjbFRlcnJhZm9ybSh0aGlzLl9yb3RhdGlvbkhvdXJzKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwibnVtYmVyXCIsXG4gICAgICB9LFxuICAgICAgcm90YXRpb25fbWludXRlczoge1xuICAgICAgICB2YWx1ZTogY2RrdGYubnVtYmVyVG9IY2xUZXJyYWZvcm0odGhpcy5fcm90YXRpb25NaW51dGVzKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwibnVtYmVyXCIsXG4gICAgICB9LFxuICAgICAgcm90YXRpb25fbW9udGhzOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5udW1iZXJUb0hjbFRlcnJhZm9ybSh0aGlzLl9yb3RhdGlvbk1vbnRocyksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcIm51bWJlclwiLFxuICAgICAgfSxcbiAgICAgIHJvdGF0aW9uX3JmYzMzMzk6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX3JvdGF0aW9uUmZjMzMzOSksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIHJvdGF0aW9uX3llYXJzOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5udW1iZXJUb0hjbFRlcnJhZm9ybSh0aGlzLl9yb3RhdGlvblllYXJzKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwibnVtYmVyXCIsXG4gICAgICB9LFxuICAgICAgdHJpZ2dlcnM6IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLmhhc2hNYXBwZXJIY2woY2RrdGYuc3RyaW5nVG9IY2xUZXJyYWZvcm0pKHRoaXMuX3RyaWdnZXJzKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwibWFwXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nTWFwXCIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyByZW1vdmUgdW5kZWZpbmVkIGF0dHJpYnV0ZXNcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGF0dHJzKS5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUudmFsdWUgIT09IHVuZGVmaW5lZCApKVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
import * as cdktf from 'cdktf';
|
|
7
|
+
export interface SleepConfig extends cdktf.TerraformMetaArguments {
|
|
8
|
+
/**
|
|
9
|
+
* [Time duration](https://golang.org/pkg/time/#ParseDuration) to delay resource creation. For example, `30s` for 30 seconds or `5m` for 5 minutes. Updating this value by itself will not trigger a delay.
|
|
10
|
+
*
|
|
11
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/sleep#create_duration Sleep#create_duration}
|
|
12
|
+
*/
|
|
13
|
+
readonly createDuration?: string;
|
|
14
|
+
/**
|
|
15
|
+
* [Time duration](https://golang.org/pkg/time/#ParseDuration) to delay resource destroy. For example, `30s` for 30 seconds or `5m` for 5 minutes. Updating this value by itself will not trigger a delay. This value or any updates to it must be successfully applied into the Terraform state before destroying this resource to take effect.
|
|
16
|
+
*
|
|
17
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/sleep#destroy_duration Sleep#destroy_duration}
|
|
18
|
+
*/
|
|
19
|
+
readonly destroyDuration?: string;
|
|
20
|
+
/**
|
|
21
|
+
* (Optional) Arbitrary map of values that, when changed, will run any creation or destroy delays again. See [the main provider documentation](../index.md) for more information.
|
|
22
|
+
*
|
|
23
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/sleep#triggers Sleep#triggers}
|
|
24
|
+
*/
|
|
25
|
+
readonly triggers?: {
|
|
26
|
+
[key: string]: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Represents a {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/sleep time_sleep}
|
|
31
|
+
*/
|
|
32
|
+
export declare class Sleep extends cdktf.TerraformResource {
|
|
33
|
+
static readonly tfResourceType = "time_sleep";
|
|
34
|
+
/**
|
|
35
|
+
* Generates CDKTF code for importing a Sleep resource upon running "cdktf plan <stack-name>"
|
|
36
|
+
* @param scope The scope in which to define this construct
|
|
37
|
+
* @param importToId The construct id used in the generated config for the Sleep to import
|
|
38
|
+
* @param importFromId The id of the existing Sleep that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/sleep#import import section} in the documentation of this resource for the id to use
|
|
39
|
+
* @param provider? Optional instance of the provider where the Sleep to import is found
|
|
40
|
+
*/
|
|
41
|
+
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
|
|
42
|
+
/**
|
|
43
|
+
* Create a new {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/sleep time_sleep} Resource
|
|
44
|
+
*
|
|
45
|
+
* @param scope The scope in which to define this construct
|
|
46
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
47
|
+
* @param options SleepConfig = {}
|
|
48
|
+
*/
|
|
49
|
+
constructor(scope: Construct, id: string, config?: SleepConfig);
|
|
50
|
+
private _createDuration?;
|
|
51
|
+
get createDuration(): string;
|
|
52
|
+
set createDuration(value: string);
|
|
53
|
+
resetCreateDuration(): void;
|
|
54
|
+
get createDurationInput(): string | undefined;
|
|
55
|
+
private _destroyDuration?;
|
|
56
|
+
get destroyDuration(): string;
|
|
57
|
+
set destroyDuration(value: string);
|
|
58
|
+
resetDestroyDuration(): void;
|
|
59
|
+
get destroyDurationInput(): string | undefined;
|
|
60
|
+
get id(): string;
|
|
61
|
+
private _triggers?;
|
|
62
|
+
get triggers(): {
|
|
63
|
+
[key: string]: string;
|
|
64
|
+
};
|
|
65
|
+
set triggers(value: {
|
|
66
|
+
[key: string]: string;
|
|
67
|
+
});
|
|
68
|
+
resetTriggers(): void;
|
|
69
|
+
get triggersInput(): {
|
|
70
|
+
[key: string]: string;
|
|
71
|
+
} | undefined;
|
|
72
|
+
protected synthesizeAttributes(): {
|
|
73
|
+
[name: string]: any;
|
|
74
|
+
};
|
|
75
|
+
protected synthesizeHclAttributes(): {
|
|
76
|
+
[name: string]: any;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Sleep = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const cdktf = require("cdktf");
|
|
7
|
+
/**
|
|
8
|
+
* Represents a {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/sleep time_sleep}
|
|
9
|
+
*/
|
|
10
|
+
class Sleep extends cdktf.TerraformResource {
|
|
11
|
+
// ==============
|
|
12
|
+
// STATIC Methods
|
|
13
|
+
// ==============
|
|
14
|
+
/**
|
|
15
|
+
* Generates CDKTF code for importing a Sleep resource upon running "cdktf plan <stack-name>"
|
|
16
|
+
* @param scope The scope in which to define this construct
|
|
17
|
+
* @param importToId The construct id used in the generated config for the Sleep to import
|
|
18
|
+
* @param importFromId The id of the existing Sleep that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/sleep#import import section} in the documentation of this resource for the id to use
|
|
19
|
+
* @param provider? Optional instance of the provider where the Sleep to import is found
|
|
20
|
+
*/
|
|
21
|
+
static generateConfigForImport(scope, importToId, importFromId, provider) {
|
|
22
|
+
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "time_sleep", importId: importFromId, provider });
|
|
23
|
+
}
|
|
24
|
+
// ===========
|
|
25
|
+
// INITIALIZER
|
|
26
|
+
// ===========
|
|
27
|
+
/**
|
|
28
|
+
* Create a new {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/sleep time_sleep} Resource
|
|
29
|
+
*
|
|
30
|
+
* @param scope The scope in which to define this construct
|
|
31
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
32
|
+
* @param options SleepConfig = {}
|
|
33
|
+
*/
|
|
34
|
+
constructor(scope, id, config = {}) {
|
|
35
|
+
super(scope, id, {
|
|
36
|
+
terraformResourceType: 'time_sleep',
|
|
37
|
+
terraformGeneratorMetadata: {
|
|
38
|
+
providerName: 'time',
|
|
39
|
+
providerVersion: '0.13.1',
|
|
40
|
+
providerVersionConstraint: '~> 0.7'
|
|
41
|
+
},
|
|
42
|
+
provider: config.provider,
|
|
43
|
+
dependsOn: config.dependsOn,
|
|
44
|
+
count: config.count,
|
|
45
|
+
lifecycle: config.lifecycle,
|
|
46
|
+
provisioners: config.provisioners,
|
|
47
|
+
connection: config.connection,
|
|
48
|
+
forEach: config.forEach
|
|
49
|
+
});
|
|
50
|
+
this._createDuration = config.createDuration;
|
|
51
|
+
this._destroyDuration = config.destroyDuration;
|
|
52
|
+
this._triggers = config.triggers;
|
|
53
|
+
}
|
|
54
|
+
get createDuration() {
|
|
55
|
+
return this.getStringAttribute('create_duration');
|
|
56
|
+
}
|
|
57
|
+
set createDuration(value) {
|
|
58
|
+
this._createDuration = value;
|
|
59
|
+
}
|
|
60
|
+
resetCreateDuration() {
|
|
61
|
+
this._createDuration = undefined;
|
|
62
|
+
}
|
|
63
|
+
// Temporarily expose input value. Use with caution.
|
|
64
|
+
get createDurationInput() {
|
|
65
|
+
return this._createDuration;
|
|
66
|
+
}
|
|
67
|
+
get destroyDuration() {
|
|
68
|
+
return this.getStringAttribute('destroy_duration');
|
|
69
|
+
}
|
|
70
|
+
set destroyDuration(value) {
|
|
71
|
+
this._destroyDuration = value;
|
|
72
|
+
}
|
|
73
|
+
resetDestroyDuration() {
|
|
74
|
+
this._destroyDuration = undefined;
|
|
75
|
+
}
|
|
76
|
+
// Temporarily expose input value. Use with caution.
|
|
77
|
+
get destroyDurationInput() {
|
|
78
|
+
return this._destroyDuration;
|
|
79
|
+
}
|
|
80
|
+
// id - computed: true, optional: false, required: false
|
|
81
|
+
get id() {
|
|
82
|
+
return this.getStringAttribute('id');
|
|
83
|
+
}
|
|
84
|
+
get triggers() {
|
|
85
|
+
return this.getStringMapAttribute('triggers');
|
|
86
|
+
}
|
|
87
|
+
set triggers(value) {
|
|
88
|
+
this._triggers = value;
|
|
89
|
+
}
|
|
90
|
+
resetTriggers() {
|
|
91
|
+
this._triggers = undefined;
|
|
92
|
+
}
|
|
93
|
+
// Temporarily expose input value. Use with caution.
|
|
94
|
+
get triggersInput() {
|
|
95
|
+
return this._triggers;
|
|
96
|
+
}
|
|
97
|
+
// =========
|
|
98
|
+
// SYNTHESIS
|
|
99
|
+
// =========
|
|
100
|
+
synthesizeAttributes() {
|
|
101
|
+
return {
|
|
102
|
+
create_duration: cdktf.stringToTerraform(this._createDuration),
|
|
103
|
+
destroy_duration: cdktf.stringToTerraform(this._destroyDuration),
|
|
104
|
+
triggers: cdktf.hashMapper(cdktf.stringToTerraform)(this._triggers),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
synthesizeHclAttributes() {
|
|
108
|
+
const attrs = {
|
|
109
|
+
create_duration: {
|
|
110
|
+
value: cdktf.stringToHclTerraform(this._createDuration),
|
|
111
|
+
isBlock: false,
|
|
112
|
+
type: "simple",
|
|
113
|
+
storageClassType: "string",
|
|
114
|
+
},
|
|
115
|
+
destroy_duration: {
|
|
116
|
+
value: cdktf.stringToHclTerraform(this._destroyDuration),
|
|
117
|
+
isBlock: false,
|
|
118
|
+
type: "simple",
|
|
119
|
+
storageClassType: "string",
|
|
120
|
+
},
|
|
121
|
+
triggers: {
|
|
122
|
+
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._triggers),
|
|
123
|
+
isBlock: false,
|
|
124
|
+
type: "map",
|
|
125
|
+
storageClassType: "stringMap",
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
// remove undefined attributes
|
|
129
|
+
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
exports.Sleep = Sleep;
|
|
133
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
134
|
+
Sleep[_a] = { fqn: "@cdktn/provider-time.sleep.Sleep", version: "11.1.0" };
|
|
135
|
+
// =================
|
|
136
|
+
// STATIC PROPERTIES
|
|
137
|
+
// =================
|
|
138
|
+
Sleep.tfResourceType = "time_sleep";
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xlZXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwrQkFBK0I7QUF5Qi9COztFQUVFO0FBQ0YsTUFBYSxLQUFNLFNBQVEsS0FBSyxDQUFDLGlCQUFpQjtJQU9oRCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQjs7Ozs7O01BTUU7SUFDSyxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBZ0IsRUFBRSxVQUFrQixFQUFFLFlBQW9CLEVBQUUsUUFBa0M7UUFDOUgsT0FBTyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNwSSxDQUFDO0lBRUwsY0FBYztJQUNkLGNBQWM7SUFDZCxjQUFjO0lBRWQ7Ozs7OztNQU1FO0lBQ0YsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBc0IsRUFBRTtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLHFCQUFxQixFQUFFLFlBQVk7WUFDbkMsMEJBQTBCLEVBQUU7Z0JBQzFCLFlBQVksRUFBRSxNQUFNO2dCQUNwQixlQUFlLEVBQUUsUUFBUTtnQkFDekIseUJBQXlCLEVBQUUsUUFBUTthQUNwQztZQUNELFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7WUFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENB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O2dCQUNkLElBQUksRUFBRSxLQUFLO2dCQUNYLGdCQUFnQixFQUFFLFdBQVc7YUFDOUI7U0FDRixDQUFDO1FBRUYsOEJBQThCO1FBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFFLENBQUMsQ0FBQTtJQUM1SCxDQUFDOztBQWxKSCxzQkFtSkM7OztBQWpKQyxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNHLG9CQUFjLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG4vLyBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3RpbWUvMC4xMy4xL2RvY3MvcmVzb3VyY2VzL3NsZWVwXG4vLyBnZW5lcmF0ZWQgZnJvbSB0ZXJyYWZvcm0gcmVzb3VyY2Ugc2NoZW1hXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSAnY2RrdGYnO1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xlZXBDb25maWcgZXh0ZW5kcyBjZGt0Zi5UZXJyYWZvcm1NZXRhQXJndW1lbnRzIHtcbiAgLyoqXG4gICogW1RpbWUgZHVyYXRpb25dKGh0dHBzOi8vZ29sYW5nLm9yZy9wa2cvdGltZS8jUGFyc2VEdXJhdGlvbikgdG8gZGVsYXkgcmVzb3VyY2UgY3JlYXRpb24uIEZvciBleGFtcGxlLCBgMzBzYCBmb3IgMzAgc2Vjb25kcyBvciBgNW1gIGZvciA1IG1pbnV0ZXMuIFVwZGF0aW5nIHRoaXMgdmFsdWUgYnkgaXRzZWxmIHdpbGwgbm90IHRyaWdnZXIgYSBkZWxheS5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC90aW1lLzAuMTMuMS9kb2NzL3Jlc291cmNlcy9zbGVlcCNjcmVhdGVfZHVyYXRpb24gU2xlZXAjY3JlYXRlX2R1cmF0aW9ufVxuICAqL1xuICByZWFkb25seSBjcmVhdGVEdXJhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICogW1RpbWUgZHVyYXRpb25dKGh0dHBzOi8vZ29sYW5nLm9yZy9wa2cvdGltZS8jUGFyc2VEdXJhdGlvbikgdG8gZGVsYXkgcmVzb3VyY2UgZGVzdHJveS4gRm9yIGV4YW1wbGUsIGAzMHNgIGZvciAzMCBzZWNvbmRzIG9yIGA1bWAgZm9yIDUgbWludXRlcy4gVXBkYXRpbmcgdGhpcyB2YWx1ZSBieSBpdHNlbGYgd2lsbCBub3QgdHJpZ2dlciBhIGRlbGF5LiBUaGlzIHZhbHVlIG9yIGFueSB1cGRhdGVzIHRvIGl0IG11c3QgYmUgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQgaW50byB0aGUgVGVycmFmb3JtIHN0YXRlIGJlZm9yZSBkZXN0cm95aW5nIHRoaXMgcmVzb3VyY2UgdG8gdGFrZSBlZmZlY3QuXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvdGltZS8wLjEzLjEvZG9jcy9yZXNvdXJjZXMvc2xlZXAjZGVzdHJveV9kdXJhdGlvbiBTbGVlcCNkZXN0cm95X2R1cmF0aW9ufVxuICAqL1xuICByZWFkb25seSBkZXN0cm95RHVyYXRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAqIChPcHRpb25hbCkgQXJiaXRyYXJ5IG1hcCBvZiB2YWx1ZXMgdGhhdCwgd2hlbiBjaGFuZ2VkLCB3aWxsIHJ1biBhbnkgY3JlYXRpb24gb3IgZGVzdHJveSBkZWxheXMgYWdhaW4uIFNlZSBbdGhlIG1haW4gcHJvdmlkZXIgZG9jdW1lbnRhdGlvbl0oLi4vaW5kZXgubWQpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL3RpbWUvMC4xMy4xL2RvY3MvcmVzb3VyY2VzL3NsZWVwI3RyaWdnZXJzIFNsZWVwI3RyaWdnZXJzfVxuICAqL1xuICByZWFkb25seSB0cmlnZ2Vycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8qKlxuKiBSZXByZXNlbnRzIGEge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvdGltZS8wLjEzLjEvZG9jcy9yZXNvdXJjZXMvc2xlZXAgdGltZV9zbGVlcH1cbiovXG5leHBvcnQgY2xhc3MgU2xlZXAgZXh0ZW5kcyBjZGt0Zi5UZXJyYWZvcm1SZXNvdXJjZSB7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT1cbiAgLy8gU1RBVElDIFBST1BFUlRJRVNcbiAgLy8gPT09PT09PT09PT09PT09PT1cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB0ZlJlc291cmNlVHlwZSA9IFwidGltZV9zbGVlcFwiO1xuXG4gIC8vID09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09XG4gIC8qKlxuICAqIEdlbmVyYXRlcyBDREtURiBjb2RlIGZvciBpbXBvcnRpbmcgYSBTbGVlcCByZXNvdXJjZSB1cG9uIHJ1bm5pbmcgXCJjZGt0ZiBwbGFuIDxzdGFjay1uYW1lPlwiXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaW1wb3J0VG9JZCBUaGUgY29uc3RydWN0IGlkIHVzZWQgaW4gdGhlIGdlbmVyYXRlZCBjb25maWcgZm9yIHRoZSBTbGVlcCB0byBpbXBvcnRcbiAgKiBAcGFyYW0gaW1wb3J0RnJvbUlkIFRoZSBpZCBvZiB0aGUgZXhpc3RpbmcgU2xlZXAgdGhhdCBzaG91bGQgYmUgaW1wb3J0ZWQuIFJlZmVyIHRvIHRoZSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC90aW1lLzAuMTMuMS9kb2NzL3Jlc291cmNlcy9zbGVlcCNpbXBvcnQgaW1wb3J0IHNlY3Rpb259IGluIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoaXMgcmVzb3VyY2UgZm9yIHRoZSBpZCB0byB1c2VcbiAgKiBAcGFyYW0gcHJvdmlkZXI/IE9wdGlvbmFsIGluc3RhbmNlIG9mIHRoZSBwcm92aWRlciB3aGVyZSB0aGUgU2xlZXAgdG8gaW1wb3J0IGlzIGZvdW5kXG4gICovXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVDb25maWdGb3JJbXBvcnQoc2NvcGU6IENvbnN0cnVjdCwgaW1wb3J0VG9JZDogc3RyaW5nLCBpbXBvcnRGcm9tSWQ6IHN0cmluZywgcHJvdmlkZXI/OiBjZGt0Zi5UZXJyYWZvcm1Qcm92aWRlcikge1xuICAgICAgICByZXR1cm4gbmV3IGNka3RmLkltcG9ydGFibGVSZXNvdXJjZShzY29wZSwgaW1wb3J0VG9JZCwgeyB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IFwidGltZV9zbGVlcFwiLCBpbXBvcnRJZDogaW1wb3J0RnJvbUlkLCBwcm92aWRlciB9KTtcbiAgICAgIH1cblxuICAvLyA9PT09PT09PT09PVxuICAvLyBJTklUSUFMSVpFUlxuICAvLyA9PT09PT09PT09PVxuXG4gIC8qKlxuICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC90aW1lLzAuMTMuMS9kb2NzL3Jlc291cmNlcy9zbGVlcCB0aW1lX3NsZWVwfSBSZXNvdXJjZVxuICAqXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaWQgVGhlIHNjb3BlZCBjb25zdHJ1Y3QgSUQuIE11c3QgYmUgdW5pcXVlIGFtb25nc3Qgc2libGluZ3MgaW4gdGhlIHNhbWUgc2NvcGVcbiAgKiBAcGFyYW0gb3B0aW9ucyBTbGVlcENvbmZpZyA9IHt9XG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjb25maWc6IFNsZWVwQ29uZmlnID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZTogJ3RpbWVfc2xlZXAnLFxuICAgICAgdGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE6IHtcbiAgICAgICAgcHJvdmlkZXJOYW1lOiAndGltZScsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbjogJzAuMTMuMScsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQ6ICd+PiAwLjcnXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IGNvbmZpZy5wcm92aWRlcixcbiAgICAgIGRlcGVuZHNPbjogY29uZmlnLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBjb25maWcuY291bnQsXG4gICAgICBsaWZlY3ljbGU6IGNvbmZpZy5saWZlY3ljbGUsXG4gICAgICBwcm92aXNpb25lcnM6IGNvbmZpZy5wcm92aXNpb25lcnMsXG4gICAgICBjb25uZWN0aW9uOiBjb25maWcuY29ubmVjdGlvbixcbiAgICAgIGZvckVhY2g6IGNvbmZpZy5mb3JFYWNoXG4gICAgfSk7XG4gICAgdGhpcy5fY3JlYXRlRHVyYXRpb24gPSBjb25maWcuY3JlYXRlRHVyYXRpb247XG4gICAgdGhpcy5fZGVzdHJveUR1cmF0aW9uID0gY29uZmlnLmRlc3Ryb3lEdXJhdGlvbjtcbiAgICB0aGlzLl90cmlnZ2VycyA9IGNvbmZpZy50cmlnZ2VycztcbiAgfVxuXG4gIC8vID09PT09PT09PT1cbiAgLy8gQVRUUklCVVRFU1xuICAvLyA9PT09PT09PT09XG5cbiAgLy8gY3JlYXRlX2R1cmF0aW9uIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX2NyZWF0ZUR1cmF0aW9uPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBjcmVhdGVEdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2NyZWF0ZV9kdXJhdGlvbicpO1xuICB9XG4gIHB1YmxpYyBzZXQgY3JlYXRlRHVyYXRpb24odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NyZWF0ZUR1cmF0aW9uID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0Q3JlYXRlRHVyYXRpb24oKSB7XG4gICAgdGhpcy5fY3JlYXRlRHVyYXRpb24gPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGNyZWF0ZUR1cmF0aW9uSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUR1cmF0aW9uO1xuICB9XG5cbiAgLy8gZGVzdHJveV9kdXJhdGlvbiAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9kZXN0cm95RHVyYXRpb24/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGRlc3Ryb3lEdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2Rlc3Ryb3lfZHVyYXRpb24nKTtcbiAgfVxuICBwdWJsaWMgc2V0IGRlc3Ryb3lEdXJhdGlvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGVzdHJveUR1cmF0aW9uID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0RGVzdHJveUR1cmF0aW9uKCkge1xuICAgIHRoaXMuX2Rlc3Ryb3lEdXJhdGlvbiA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgZGVzdHJveUR1cmF0aW9uSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3lEdXJhdGlvbjtcbiAgfVxuXG4gIC8vIGlkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdpZCcpO1xuICB9XG5cbiAgLy8gdHJpZ2dlcnMgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfdHJpZ2dlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9OyBcbiAgcHVibGljIGdldCB0cmlnZ2VycygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdNYXBBdHRyaWJ1dGUoJ3RyaWdnZXJzJyk7XG4gIH1cbiAgcHVibGljIHNldCB0cmlnZ2Vycyh2YWx1ZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIHRoaXMuX3RyaWdnZXJzID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0VHJpZ2dlcnMoKSB7XG4gICAgdGhpcy5fdHJpZ2dlcnMgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IHRyaWdnZXJzSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJzO1xuICB9XG5cbiAgLy8gPT09PT09PT09XG4gIC8vIFNZTlRIRVNJU1xuICAvLyA9PT09PT09PT1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBjcmVhdGVfZHVyYXRpb246IGNka3RmLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX2NyZWF0ZUR1cmF0aW9uKSxcbiAgICAgIGRlc3Ryb3lfZHVyYXRpb246IGNka3RmLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX2Rlc3Ryb3lEdXJhdGlvbiksXG4gICAgICB0cmlnZ2VyczogY2RrdGYuaGFzaE1hcHBlcihjZGt0Zi5zdHJpbmdUb1RlcnJhZm9ybSkodGhpcy5fdHJpZ2dlcnMpLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGF0dHJzID0ge1xuICAgICAgY3JlYXRlX2R1cmF0aW9uOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9jcmVhdGVEdXJhdGlvbiksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIGRlc3Ryb3lfZHVyYXRpb246IHtcbiAgICAgICAgdmFsdWU6IGNka3RmLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX2Rlc3Ryb3lEdXJhdGlvbiksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIHRyaWdnZXJzOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0Zi5oYXNoTWFwcGVySGNsKGNka3RmLnN0cmluZ1RvSGNsVGVycmFmb3JtKSh0aGlzLl90cmlnZ2VycyksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcIm1hcFwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ01hcFwiLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gcmVtb3ZlIHVuZGVmaW5lZCBhdHRyaWJ1dGVzXG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhhdHRycykuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnZhbHVlICE9PSB1bmRlZmluZWQgKSlcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
import * as cdktf from 'cdktf';
|
|
7
|
+
export interface StaticResourceConfig extends cdktf.TerraformMetaArguments {
|
|
8
|
+
/**
|
|
9
|
+
* Base timestamp in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.8) format (see [RFC3339 time string](https://tools.ietf.org/html/rfc3339#section-5.8) e.g., `YYYY-MM-DDTHH:MM:SSZ`). Defaults to the current time.
|
|
10
|
+
*
|
|
11
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/static#rfc3339 StaticResource#rfc3339}
|
|
12
|
+
*/
|
|
13
|
+
readonly rfc3339?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Arbitrary map of values that, when changed, will trigger a new base timestamp value to be saved. See [the main provider documentation](../index.md) for more information.
|
|
16
|
+
*
|
|
17
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/static#triggers StaticResource#triggers}
|
|
18
|
+
*/
|
|
19
|
+
readonly triggers?: {
|
|
20
|
+
[key: string]: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Represents a {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/static time_static}
|
|
25
|
+
*/
|
|
26
|
+
export declare class StaticResource extends cdktf.TerraformResource {
|
|
27
|
+
static readonly tfResourceType = "time_static";
|
|
28
|
+
/**
|
|
29
|
+
* Generates CDKTF code for importing a StaticResource resource upon running "cdktf plan <stack-name>"
|
|
30
|
+
* @param scope The scope in which to define this construct
|
|
31
|
+
* @param importToId The construct id used in the generated config for the StaticResource to import
|
|
32
|
+
* @param importFromId The id of the existing StaticResource that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/static#import import section} in the documentation of this resource for the id to use
|
|
33
|
+
* @param provider? Optional instance of the provider where the StaticResource to import is found
|
|
34
|
+
*/
|
|
35
|
+
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
|
|
36
|
+
/**
|
|
37
|
+
* Create a new {@link https://registry.terraform.io/providers/hashicorp/time/0.13.1/docs/resources/static time_static} Resource
|
|
38
|
+
*
|
|
39
|
+
* @param scope The scope in which to define this construct
|
|
40
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
41
|
+
* @param options StaticResourceConfig = {}
|
|
42
|
+
*/
|
|
43
|
+
constructor(scope: Construct, id: string, config?: StaticResourceConfig);
|
|
44
|
+
get day(): number;
|
|
45
|
+
get hour(): number;
|
|
46
|
+
get id(): string;
|
|
47
|
+
get minute(): number;
|
|
48
|
+
get month(): number;
|
|
49
|
+
private _rfc3339?;
|
|
50
|
+
get rfc3339(): string;
|
|
51
|
+
set rfc3339(value: string);
|
|
52
|
+
resetRfc3339(): void;
|
|
53
|
+
get rfc3339Input(): string | undefined;
|
|
54
|
+
get second(): number;
|
|
55
|
+
private _triggers?;
|
|
56
|
+
get triggers(): {
|
|
57
|
+
[key: string]: string;
|
|
58
|
+
};
|
|
59
|
+
set triggers(value: {
|
|
60
|
+
[key: string]: string;
|
|
61
|
+
});
|
|
62
|
+
resetTriggers(): void;
|
|
63
|
+
get triggersInput(): {
|
|
64
|
+
[key: string]: string;
|
|
65
|
+
} | undefined;
|
|
66
|
+
get unix(): number;
|
|
67
|
+
get year(): number;
|
|
68
|
+
protected synthesizeAttributes(): {
|
|
69
|
+
[name: string]: any;
|
|
70
|
+
};
|
|
71
|
+
protected synthesizeHclAttributes(): {
|
|
72
|
+
[name: string]: any;
|
|
73
|
+
};
|
|
74
|
+
}
|