cdk-ec2spot 0.1.61 → 0.1.62
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 +4 -4
- package/API.md +437 -172
- package/lib/index.js +1 -1
- package/package.json +14 -14
package/.jsii
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"@aws-cdk/aws-ec2": "^1.73.0",
|
|
12
12
|
"@aws-cdk/aws-iam": "^1.73.0",
|
|
13
13
|
"@aws-cdk/core": "^1.73.0",
|
|
14
|
-
"cdk-spot-one": "^0.6.
|
|
14
|
+
"cdk-spot-one": "^0.6.276",
|
|
15
15
|
"constructs": "^3.2.27"
|
|
16
16
|
},
|
|
17
17
|
"dependencyClosure": {
|
|
@@ -921,7 +921,7 @@
|
|
|
921
921
|
"stability": "stable"
|
|
922
922
|
},
|
|
923
923
|
"homepage": "https://github.com/pahud/cdk-ec2spot.git",
|
|
924
|
-
"jsiiVersion": "1.
|
|
924
|
+
"jsiiVersion": "1.35.0 (build 6ebef96)",
|
|
925
925
|
"keywords": [
|
|
926
926
|
"cdk"
|
|
927
927
|
],
|
|
@@ -1639,6 +1639,6 @@
|
|
|
1639
1639
|
]
|
|
1640
1640
|
}
|
|
1641
1641
|
},
|
|
1642
|
-
"version": "0.1.
|
|
1643
|
-
"fingerprint": "
|
|
1642
|
+
"version": "0.1.62",
|
|
1643
|
+
"fingerprint": "bH0vdT1Lan1l4AE9LvOH+ADnopDAcqutmNlp21qiCTs="
|
|
1644
1644
|
}
|
package/API.md
CHANGED
|
@@ -1,293 +1,558 @@
|
|
|
1
|
-
# API Reference
|
|
1
|
+
# API Reference <a name="API Reference"></a>
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Constructs <a name="Constructs"></a>
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
----|-----------
|
|
7
|
-
[Provider](#cdk-ec2spot-provider)|*No description*
|
|
5
|
+
### Provider <a name="cdk-ec2spot.Provider"></a>
|
|
8
6
|
|
|
7
|
+
#### Initializers <a name="cdk-ec2spot.Provider.Initializer"></a>
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
```typescript
|
|
10
|
+
import { Provider } from 'cdk-ec2spot'
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
[SpotFleetOptions](#cdk-ec2spot-spotfleetoptions)|*No description*
|
|
17
|
-
[SpotOptions](#cdk-ec2spot-spotoptions)|*No description*
|
|
12
|
+
new Provider(scope: Construct, id: string)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
##### `scope`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.scope"></a>
|
|
18
16
|
|
|
17
|
+
- *Type:* [`@aws-cdk/core.Construct`](#@aws-cdk/core.Construct)
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
---
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
----|-----------
|
|
24
|
-
[BlockDurationMinutes](#cdk-ec2spot-blockdurationminutes)|*No description*
|
|
25
|
-
[InstanceInterruptionBehavior](#cdk-ec2spot-instanceinterruptionbehavior)|*No description*
|
|
26
|
-
[SpotInstanceType](#cdk-ec2spot-spotinstancetype)|*No description*
|
|
21
|
+
##### `id`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.id"></a>
|
|
27
22
|
|
|
23
|
+
- *Type:* `string`
|
|
28
24
|
|
|
25
|
+
---
|
|
29
26
|
|
|
30
|
-
|
|
27
|
+
#### Methods <a name="Methods"></a>
|
|
31
28
|
|
|
29
|
+
##### `createAutoScalingGroup` <a name="cdk-ec2spot.Provider.createAutoScalingGroup"></a>
|
|
32
30
|
|
|
31
|
+
```typescript
|
|
32
|
+
public createAutoScalingGroup(id: string, options: AutoScalingGroupOptions)
|
|
33
|
+
```
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
__Extends__: [Construct](#aws-cdk-core-construct)
|
|
35
|
+
###### `id`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.id"></a>
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
- *Type:* `string`
|
|
38
38
|
|
|
39
|
+
AutoScaling Group ID.
|
|
39
40
|
|
|
41
|
+
---
|
|
40
42
|
|
|
43
|
+
###### `options`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.options"></a>
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
- *Type:* [`cdk-ec2spot.AutoScalingGroupOptions`](#cdk-ec2spot.AutoScalingGroupOptions)
|
|
46
|
+
|
|
47
|
+
AutoScaling Group options.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
##### `createFleet` <a name="cdk-ec2spot.Provider.createFleet"></a>
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
public createFleet(id: string, options: SpotFleetOptions)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
###### `id`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.id"></a>
|
|
58
|
+
|
|
59
|
+
- *Type:* `string`
|
|
60
|
+
|
|
61
|
+
fleet id.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
###### `options`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.options"></a>
|
|
66
|
+
|
|
67
|
+
- *Type:* [`cdk-ec2spot.SpotFleetOptions`](#cdk-ec2spot.SpotFleetOptions)
|
|
68
|
+
|
|
69
|
+
spot fleet options.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
##### `createInstance` <a name="cdk-ec2spot.Provider.createInstance"></a>
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
public createInstance(id: string, optons: SpotInstanceProps)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
###### `id`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.id"></a>
|
|
80
|
+
|
|
81
|
+
- *Type:* `string`
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
###### `optons`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.optons"></a>
|
|
86
|
+
|
|
87
|
+
- *Type:* [`cdk-spot-one.SpotInstanceProps`](#cdk-spot-one.SpotInstanceProps)
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
##### `createInstanceProfile` <a name="cdk-ec2spot.Provider.createInstanceProfile"></a>
|
|
92
|
+
|
|
93
|
+
```typescript
|
|
94
|
+
public createInstanceProfile(id: string)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
###### `id`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.id"></a>
|
|
98
|
+
|
|
99
|
+
- *Type:* `string`
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
##### `createLaunchTemplate` <a name="cdk-ec2spot.Provider.createLaunchTemplate"></a>
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
public createLaunchTemplate(id: string, options?: LaunchTemplateOptions)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
###### `id`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.id"></a>
|
|
110
|
+
|
|
111
|
+
- *Type:* `string`
|
|
112
|
+
|
|
113
|
+
launch template id.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
###### `options`<sup>Optional</sup> <a name="cdk-ec2spot.Provider.parameter.options"></a>
|
|
118
|
+
|
|
119
|
+
- *Type:* [`cdk-ec2spot.LaunchTemplateOptions`](#cdk-ec2spot.LaunchTemplateOptions)
|
|
120
|
+
|
|
121
|
+
launch template options.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
##### `getOrCreateVpc` <a name="cdk-ec2spot.Provider.getOrCreateVpc"></a>
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
public getOrCreateVpc(scope: Construct)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
###### `scope`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.scope"></a>
|
|
132
|
+
|
|
133
|
+
- *Type:* [`@aws-cdk/core.Construct`](#@aws-cdk/core.Construct)
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
#### Properties <a name="Properties"></a>
|
|
139
|
+
|
|
140
|
+
##### `amazonLinuxAmiImageId`<sup>Required</sup> <a name="cdk-ec2spot.Provider.property.amazonLinuxAmiImageId"></a>
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
public readonly amazonLinuxAmiImageId: string;
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
- *Type:* `string`
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
## Structs <a name="Structs"></a>
|
|
152
|
+
|
|
153
|
+
### AutoScalingGroupOptions <a name="cdk-ec2spot.AutoScalingGroupOptions"></a>
|
|
154
|
+
|
|
155
|
+
#### Initializer <a name="[object Object].Initializer"></a>
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
import { AutoScalingGroupOptions } from 'cdk-ec2spot'
|
|
159
|
+
|
|
160
|
+
const autoScalingGroupOptions: AutoScalingGroupOptions = { ... }
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
##### `instanceProfile`<sup>Optional</sup> <a name="cdk-ec2spot.AutoScalingGroupOptions.property.instanceProfile"></a>
|
|
164
|
+
|
|
165
|
+
```typescript
|
|
166
|
+
public readonly instanceProfile: CfnInstanceProfile;
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
- *Type:* [`@aws-cdk/aws-iam.CfnInstanceProfile`](#@aws-cdk/aws-iam.CfnInstanceProfile)
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
##### `instanceType`<sup>Optional</sup> <a name="cdk-ec2spot.AutoScalingGroupOptions.property.instanceType"></a>
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
public readonly instanceType: InstanceType;
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
- *Type:* [`@aws-cdk/aws-ec2.InstanceType`](#@aws-cdk/aws-ec2.InstanceType)
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
##### `machineImage`<sup>Optional</sup> <a name="cdk-ec2spot.AutoScalingGroupOptions.property.machineImage"></a>
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
public readonly machineImage: IMachineImage;
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
- *Type:* [`@aws-cdk/aws-ec2.IMachineImage`](#@aws-cdk/aws-ec2.IMachineImage)
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
##### `spotOptions`<sup>Optional</sup> <a name="cdk-ec2spot.AutoScalingGroupOptions.property.spotOptions"></a>
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
public readonly spotOptions: SpotOptions;
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
- *Type:* [`cdk-ec2spot.SpotOptions`](#cdk-ec2spot.SpotOptions)
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
##### `userData`<sup>Optional</sup> <a name="cdk-ec2spot.AutoScalingGroupOptions.property.userData"></a>
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
public readonly userData: UserData;
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
- *Type:* [`@aws-cdk/aws-ec2.UserData`](#@aws-cdk/aws-ec2.UserData)
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
##### `vpc`<sup>Required</sup> <a name="cdk-ec2spot.AutoScalingGroupOptions.property.vpc"></a>
|
|
214
|
+
|
|
215
|
+
```typescript
|
|
216
|
+
public readonly vpc: IVpc;
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
- *Type:* [`@aws-cdk/aws-ec2.IVpc`](#@aws-cdk/aws-ec2.IVpc)
|
|
220
|
+
|
|
221
|
+
The vpc for the AutoScalingGroup.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
##### `defaultCapacitySize`<sup>Optional</sup> <a name="cdk-ec2spot.AutoScalingGroupOptions.property.defaultCapacitySize"></a>
|
|
226
|
+
|
|
227
|
+
```typescript
|
|
228
|
+
public readonly defaultCapacitySize: number;
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
- *Type:* `number`
|
|
232
|
+
- *Default:* 1
|
|
233
|
+
|
|
234
|
+
default capacity size for the Auto Scaling Group.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
### LaunchTemplateOptions <a name="cdk-ec2spot.LaunchTemplateOptions"></a>
|
|
239
|
+
|
|
240
|
+
#### Initializer <a name="[object Object].Initializer"></a>
|
|
241
|
+
|
|
242
|
+
```typescript
|
|
243
|
+
import { LaunchTemplateOptions } from 'cdk-ec2spot'
|
|
244
|
+
|
|
245
|
+
const launchTemplateOptions: LaunchTemplateOptions = { ... }
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
##### `instanceProfile`<sup>Optional</sup> <a name="cdk-ec2spot.LaunchTemplateOptions.property.instanceProfile"></a>
|
|
249
|
+
|
|
250
|
+
```typescript
|
|
251
|
+
public readonly instanceProfile: CfnInstanceProfile;
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
- *Type:* [`@aws-cdk/aws-iam.CfnInstanceProfile`](#@aws-cdk/aws-iam.CfnInstanceProfile)
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
##### `instanceType`<sup>Optional</sup> <a name="cdk-ec2spot.LaunchTemplateOptions.property.instanceType"></a>
|
|
259
|
+
|
|
260
|
+
```typescript
|
|
261
|
+
public readonly instanceType: InstanceType;
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
- *Type:* [`@aws-cdk/aws-ec2.InstanceType`](#@aws-cdk/aws-ec2.InstanceType)
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
##### `machineImage`<sup>Optional</sup> <a name="cdk-ec2spot.LaunchTemplateOptions.property.machineImage"></a>
|
|
269
|
+
|
|
270
|
+
```typescript
|
|
271
|
+
public readonly machineImage: IMachineImage;
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
- *Type:* [`@aws-cdk/aws-ec2.IMachineImage`](#@aws-cdk/aws-ec2.IMachineImage)
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
##### `spotOptions`<sup>Optional</sup> <a name="cdk-ec2spot.LaunchTemplateOptions.property.spotOptions"></a>
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
public readonly spotOptions: SpotOptions;
|
|
44
282
|
```
|
|
45
283
|
|
|
46
|
-
*
|
|
47
|
-
* **id** (<code>string</code>) *No description*
|
|
284
|
+
- *Type:* [`cdk-ec2spot.SpotOptions`](#cdk-ec2spot.SpotOptions)
|
|
48
285
|
|
|
286
|
+
---
|
|
49
287
|
|
|
288
|
+
##### `userData`<sup>Optional</sup> <a name="cdk-ec2spot.LaunchTemplateOptions.property.userData"></a>
|
|
50
289
|
|
|
51
|
-
|
|
290
|
+
```typescript
|
|
291
|
+
public readonly userData: UserData;
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
- *Type:* [`@aws-cdk/aws-ec2.UserData`](#@aws-cdk/aws-ec2.UserData)
|
|
52
295
|
|
|
296
|
+
---
|
|
53
297
|
|
|
54
|
-
|
|
55
|
-
-----|------|-------------
|
|
56
|
-
**amazonLinuxAmiImageId** | <code>string</code> | <span></span>
|
|
298
|
+
### SpotFleetOptions <a name="cdk-ec2spot.SpotFleetOptions"></a>
|
|
57
299
|
|
|
58
|
-
|
|
300
|
+
#### Initializer <a name="[object Object].Initializer"></a>
|
|
59
301
|
|
|
302
|
+
```typescript
|
|
303
|
+
import { SpotFleetOptions } from 'cdk-ec2spot'
|
|
60
304
|
|
|
61
|
-
|
|
305
|
+
const spotFleetOptions: SpotFleetOptions = { ... }
|
|
306
|
+
```
|
|
62
307
|
|
|
63
|
-
|
|
308
|
+
##### `instanceProfile`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.instanceProfile"></a>
|
|
64
309
|
|
|
65
|
-
```
|
|
66
|
-
|
|
310
|
+
```typescript
|
|
311
|
+
public readonly instanceProfile: CfnInstanceProfile;
|
|
67
312
|
```
|
|
68
313
|
|
|
69
|
-
*
|
|
70
|
-
* **options** (<code>[AutoScalingGroupOptions](#cdk-ec2spot-autoscalinggroupoptions)</code>) AutoScaling Group options.
|
|
71
|
-
* **instanceProfile** (<code>[CfnInstanceProfile](#aws-cdk-aws-iam-cfninstanceprofile)</code>) *No description* __*Optional*__
|
|
72
|
-
* **instanceType** (<code>[InstanceType](#aws-cdk-aws-ec2-instancetype)</code>) *No description* __*Optional*__
|
|
73
|
-
* **machineImage** (<code>[IMachineImage](#aws-cdk-aws-ec2-imachineimage)</code>) *No description* __*Optional*__
|
|
74
|
-
* **spotOptions** (<code>[SpotOptions](#cdk-ec2spot-spotoptions)</code>) *No description* __*Optional*__
|
|
75
|
-
* **userData** (<code>[UserData](#aws-cdk-aws-ec2-userdata)</code>) *No description* __*Optional*__
|
|
76
|
-
* **vpc** (<code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code>) The vpc for the AutoScalingGroup.
|
|
77
|
-
* **defaultCapacitySize** (<code>number</code>) default capacity size for the Auto Scaling Group. __*Default*__: 1
|
|
314
|
+
- *Type:* [`@aws-cdk/aws-iam.CfnInstanceProfile`](#@aws-cdk/aws-iam.CfnInstanceProfile)
|
|
78
315
|
|
|
79
|
-
|
|
80
|
-
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
##### `instanceType`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.instanceType"></a>
|
|
319
|
+
|
|
320
|
+
```typescript
|
|
321
|
+
public readonly instanceType: InstanceType;
|
|
322
|
+
```
|
|
81
323
|
|
|
82
|
-
|
|
324
|
+
- *Type:* [`@aws-cdk/aws-ec2.InstanceType`](#@aws-cdk/aws-ec2.InstanceType)
|
|
83
325
|
|
|
84
|
-
|
|
326
|
+
---
|
|
85
327
|
|
|
86
|
-
|
|
87
|
-
|
|
328
|
+
##### `machineImage`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.machineImage"></a>
|
|
329
|
+
|
|
330
|
+
```typescript
|
|
331
|
+
public readonly machineImage: IMachineImage;
|
|
88
332
|
```
|
|
89
333
|
|
|
90
|
-
*
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
* **instanceType** (<code>[InstanceType](#aws-cdk-aws-ec2-instancetype)</code>) *No description* __*Optional*__
|
|
94
|
-
* **machineImage** (<code>[IMachineImage](#aws-cdk-aws-ec2-imachineimage)</code>) *No description* __*Optional*__
|
|
95
|
-
* **spotOptions** (<code>[SpotOptions](#cdk-ec2spot-spotoptions)</code>) *No description* __*Optional*__
|
|
96
|
-
* **userData** (<code>[UserData](#aws-cdk-aws-ec2-userdata)</code>) *No description* __*Optional*__
|
|
97
|
-
* **vpc** (<code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code>) The vpc for the AutoScalingGroup.
|
|
98
|
-
* **defaultCapacitySize** (<code>number</code>) default capacity size for the Auto Scaling Group. __*Default*__: 1
|
|
99
|
-
* **terminateInstancesWithExpiration** (<code>boolean</code>) Whether to terminate the fleet with expiration. __*Default*__: true
|
|
100
|
-
* **validFrom** (<code>string</code>) The timestamp of the beginning of the valid duration. __*Default*__: now
|
|
101
|
-
* **validUntil** (<code>string</code>) The timestamp of the beginning of the valid duration. __*Default*__: unlimited
|
|
102
|
-
* **vpcSubnet** (<code>[SubnetSelection](#aws-cdk-aws-ec2-subnetselection)</code>) VPC subnet selection. __*Default*__: ec2.SubnetType.PRIVATE
|
|
334
|
+
- *Type:* [`@aws-cdk/aws-ec2.IMachineImage`](#@aws-cdk/aws-ec2.IMachineImage)
|
|
335
|
+
|
|
336
|
+
---
|
|
103
337
|
|
|
104
|
-
|
|
105
|
-
* <code>[CfnSpotFleet](#aws-cdk-aws-ec2-cfnspotfleet)</code>
|
|
338
|
+
##### `spotOptions`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.spotOptions"></a>
|
|
106
339
|
|
|
107
|
-
|
|
340
|
+
```typescript
|
|
341
|
+
public readonly spotOptions: SpotOptions;
|
|
342
|
+
```
|
|
108
343
|
|
|
344
|
+
- *Type:* [`cdk-ec2spot.SpotOptions`](#cdk-ec2spot.SpotOptions)
|
|
109
345
|
|
|
346
|
+
---
|
|
110
347
|
|
|
111
|
-
|
|
112
|
-
|
|
348
|
+
##### `userData`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.userData"></a>
|
|
349
|
+
|
|
350
|
+
```typescript
|
|
351
|
+
public readonly userData: UserData;
|
|
113
352
|
```
|
|
114
353
|
|
|
115
|
-
*
|
|
116
|
-
* **optons** (<code>[SpotInstanceProps](#cdk-spot-one-spotinstanceprops)</code>) *No description*
|
|
117
|
-
* **additionalUserData** (<code>Array<string></code>) Additional commands for user data. __*Default*__: no additional user data
|
|
118
|
-
* **assignEip** (<code>boolean</code>) Auto assign a new EIP on this instance if `eipAllocationId` is not defined. __*Default*__: true
|
|
119
|
-
* **customAmiId** (<code>string</code>) custom AMI ID. __*Default*__: The latest Amaozn Linux 2 AMI ID
|
|
120
|
-
* **defaultInstanceType** (<code>[InstanceType](#aws-cdk-aws-ec2-instancetype)</code>) default EC2 instance type. __*Default*__: t3.large
|
|
121
|
-
* **ebsVolumeSize** (<code>number</code>) default EBS volume size for the spot instance. __*Default*__: 60;
|
|
122
|
-
* **eipAllocationId** (<code>string</code>) Allocation ID for your existing Elastic IP Address. __*Optional*__
|
|
123
|
-
* **instanceInterruptionBehavior** (<code>[InstanceInterruptionBehavior](#cdk-spot-one-instanceinterruptionbehavior)</code>) The behavior when a Spot Instance is interrupted. __*Default*__: InstanceInterruptionBehavior.TERMINATE
|
|
124
|
-
* **instanceProfile** (<code>[CfnInstanceProfile](#aws-cdk-aws-iam-cfninstanceprofile)</code>) instance profile for the resource. __*Default*__: create a new one
|
|
125
|
-
* **instanceRole** (<code>[IRole](#aws-cdk-aws-iam-irole)</code>) IAM role for the spot instance. __*Optional*__
|
|
126
|
-
* **keyName** (<code>string</code>) SSH key name. __*Default*__: no ssh key will be assigned
|
|
127
|
-
* **securityGroup** (<code>[SecurityGroup](#aws-cdk-aws-ec2-securitygroup)</code>) Security group for the spot fleet. __*Default*__: allows TCP 22 SSH ingress rule
|
|
128
|
-
* **targetCapacity** (<code>number</code>) number of the target capacity. __*Default*__: 1
|
|
129
|
-
* **vpc** (<code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code>) VPC for the spot fleet. __*Default*__: new VPC will be created
|
|
130
|
-
* **vpcSubnet** (<code>[SubnetSelection](#aws-cdk-aws-ec2-subnetselection)</code>) VPC subnet for the spot fleet. __*Default*__: public subnet
|
|
131
|
-
* **blockDeviceMappings** (<code>Array<[CfnLaunchTemplate.BlockDeviceMappingProperty](#aws-cdk-aws-ec2-cfnlaunchtemplate-blockdevicemappingproperty)></code>) blockDeviceMappings for config instance. __*Default*__: from ami config.
|
|
354
|
+
- *Type:* [`@aws-cdk/aws-ec2.UserData`](#@aws-cdk/aws-ec2.UserData)
|
|
132
355
|
|
|
133
|
-
|
|
134
|
-
* <code>[SpotInstance](#cdk-spot-one-spotinstance)</code>
|
|
356
|
+
---
|
|
135
357
|
|
|
136
|
-
|
|
358
|
+
##### `vpc`<sup>Required</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.vpc"></a>
|
|
137
359
|
|
|
360
|
+
```typescript
|
|
361
|
+
public readonly vpc: IVpc;
|
|
362
|
+
```
|
|
138
363
|
|
|
364
|
+
- *Type:* [`@aws-cdk/aws-ec2.IVpc`](#@aws-cdk/aws-ec2.IVpc)
|
|
139
365
|
|
|
140
|
-
|
|
141
|
-
|
|
366
|
+
The vpc for the AutoScalingGroup.
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
##### `defaultCapacitySize`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.defaultCapacitySize"></a>
|
|
371
|
+
|
|
372
|
+
```typescript
|
|
373
|
+
public readonly defaultCapacitySize: number;
|
|
142
374
|
```
|
|
143
375
|
|
|
144
|
-
|
|
376
|
+
- *Type:* `number`
|
|
377
|
+
- *Default:* 1
|
|
145
378
|
|
|
146
|
-
|
|
147
|
-
* <code>[CfnInstanceProfile](#aws-cdk-aws-iam-cfninstanceprofile)</code>
|
|
379
|
+
default capacity size for the Auto Scaling Group.
|
|
148
380
|
|
|
149
|
-
|
|
381
|
+
---
|
|
150
382
|
|
|
151
|
-
|
|
383
|
+
##### `terminateInstancesWithExpiration`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.terminateInstancesWithExpiration"></a>
|
|
152
384
|
|
|
153
|
-
```
|
|
154
|
-
|
|
385
|
+
```typescript
|
|
386
|
+
public readonly terminateInstancesWithExpiration: boolean;
|
|
155
387
|
```
|
|
156
388
|
|
|
157
|
-
*
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
* **userData** (<code>[UserData](#aws-cdk-aws-ec2-userdata)</code>) *No description* __*Optional*__
|
|
389
|
+
- *Type:* `boolean`
|
|
390
|
+
- *Default:* true
|
|
391
|
+
|
|
392
|
+
Whether to terminate the fleet with expiration.
|
|
393
|
+
|
|
394
|
+
---
|
|
164
395
|
|
|
165
|
-
|
|
166
|
-
* <code>[CfnLaunchTemplate](#aws-cdk-aws-ec2-cfnlaunchtemplate)</code>
|
|
396
|
+
##### `validFrom`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.validFrom"></a>
|
|
167
397
|
|
|
168
|
-
|
|
398
|
+
```typescript
|
|
399
|
+
public readonly validFrom: string;
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
- *Type:* `string`
|
|
403
|
+
- *Default:* now
|
|
404
|
+
|
|
405
|
+
The timestamp of the beginning of the valid duration.
|
|
169
406
|
|
|
407
|
+
---
|
|
170
408
|
|
|
409
|
+
##### `validUntil`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.validUntil"></a>
|
|
171
410
|
|
|
172
|
-
```
|
|
173
|
-
|
|
411
|
+
```typescript
|
|
412
|
+
public readonly validUntil: string;
|
|
174
413
|
```
|
|
175
414
|
|
|
176
|
-
|
|
415
|
+
- *Type:* `string`
|
|
416
|
+
- *Default:* unlimited
|
|
177
417
|
|
|
178
|
-
|
|
179
|
-
* <code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code>
|
|
418
|
+
The timestamp of the beginning of the valid duration.
|
|
180
419
|
|
|
420
|
+
---
|
|
181
421
|
|
|
422
|
+
##### `vpcSubnet`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.vpcSubnet"></a>
|
|
182
423
|
|
|
183
|
-
|
|
424
|
+
```typescript
|
|
425
|
+
public readonly vpcSubnet: SubnetSelection;
|
|
426
|
+
```
|
|
184
427
|
|
|
428
|
+
- *Type:* [`@aws-cdk/aws-ec2.SubnetSelection`](#@aws-cdk/aws-ec2.SubnetSelection)
|
|
429
|
+
- *Default:* ec2.SubnetType.PRIVATE
|
|
185
430
|
|
|
431
|
+
VPC subnet selection.
|
|
186
432
|
|
|
433
|
+
---
|
|
187
434
|
|
|
435
|
+
### SpotOptions <a name="cdk-ec2spot.SpotOptions"></a>
|
|
188
436
|
|
|
437
|
+
#### Initializer <a name="[object Object].Initializer"></a>
|
|
189
438
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
**vpc** | <code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code> | The vpc for the AutoScalingGroup.
|
|
193
|
-
**defaultCapacitySize**? | <code>number</code> | default capacity size for the Auto Scaling Group.<br/>__*Default*__: 1
|
|
194
|
-
**instanceProfile**? | <code>[CfnInstanceProfile](#aws-cdk-aws-iam-cfninstanceprofile)</code> | __*Optional*__
|
|
195
|
-
**instanceType**? | <code>[InstanceType](#aws-cdk-aws-ec2-instancetype)</code> | __*Optional*__
|
|
196
|
-
**machineImage**? | <code>[IMachineImage](#aws-cdk-aws-ec2-imachineimage)</code> | __*Optional*__
|
|
197
|
-
**spotOptions**? | <code>[SpotOptions](#cdk-ec2spot-spotoptions)</code> | __*Optional*__
|
|
198
|
-
**userData**? | <code>[UserData](#aws-cdk-aws-ec2-userdata)</code> | __*Optional*__
|
|
439
|
+
```typescript
|
|
440
|
+
import { SpotOptions } from 'cdk-ec2spot'
|
|
199
441
|
|
|
442
|
+
const spotOptions: SpotOptions = { ... }
|
|
443
|
+
```
|
|
200
444
|
|
|
445
|
+
##### `blockDurationMinutes`<sup>Optional</sup> <a name="cdk-ec2spot.SpotOptions.property.blockDurationMinutes"></a>
|
|
201
446
|
|
|
202
|
-
|
|
447
|
+
```typescript
|
|
448
|
+
public readonly blockDurationMinutes: BlockDurationMinutes;
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
- *Type:* [`cdk-ec2spot.BlockDurationMinutes`](#cdk-ec2spot.BlockDurationMinutes)
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
##### `instanceInterruptionBehavior`<sup>Optional</sup> <a name="cdk-ec2spot.SpotOptions.property.instanceInterruptionBehavior"></a>
|
|
456
|
+
|
|
457
|
+
```typescript
|
|
458
|
+
public readonly instanceInterruptionBehavior: InstanceInterruptionBehavior;
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
- *Type:* [`cdk-ec2spot.InstanceInterruptionBehavior`](#cdk-ec2spot.InstanceInterruptionBehavior)
|
|
462
|
+
|
|
463
|
+
---
|
|
464
|
+
|
|
465
|
+
##### `maxPrice`<sup>Optional</sup> <a name="cdk-ec2spot.SpotOptions.property.maxPrice"></a>
|
|
466
|
+
|
|
467
|
+
```typescript
|
|
468
|
+
public readonly maxPrice: string;
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
- *Type:* `string`
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
##### `spotInstanceType`<sup>Optional</sup> <a name="cdk-ec2spot.SpotOptions.property.spotInstanceType"></a>
|
|
476
|
+
|
|
477
|
+
```typescript
|
|
478
|
+
public readonly spotInstanceType: SpotInstanceType;
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
- *Type:* [`cdk-ec2spot.SpotInstanceType`](#cdk-ec2spot.SpotInstanceType)
|
|
482
|
+
|
|
483
|
+
---
|
|
203
484
|
|
|
485
|
+
##### `validUntil`<sup>Optional</sup> <a name="cdk-ec2spot.SpotOptions.property.validUntil"></a>
|
|
486
|
+
|
|
487
|
+
```typescript
|
|
488
|
+
public readonly validUntil: string;
|
|
489
|
+
```
|
|
204
490
|
|
|
491
|
+
- *Type:* `string`
|
|
205
492
|
|
|
493
|
+
---
|
|
206
494
|
|
|
207
495
|
|
|
208
496
|
|
|
209
|
-
|
|
210
|
-
-----|------|-------------
|
|
211
|
-
**instanceProfile**? | <code>[CfnInstanceProfile](#aws-cdk-aws-iam-cfninstanceprofile)</code> | __*Optional*__
|
|
212
|
-
**instanceType**? | <code>[InstanceType](#aws-cdk-aws-ec2-instancetype)</code> | __*Optional*__
|
|
213
|
-
**machineImage**? | <code>[IMachineImage](#aws-cdk-aws-ec2-imachineimage)</code> | __*Optional*__
|
|
214
|
-
**spotOptions**? | <code>[SpotOptions](#cdk-ec2spot-spotoptions)</code> | __*Optional*__
|
|
215
|
-
**userData**? | <code>[UserData](#aws-cdk-aws-ec2-userdata)</code> | __*Optional*__
|
|
497
|
+
## Enums <a name="Enums"></a>
|
|
216
498
|
|
|
499
|
+
### BlockDurationMinutes <a name="BlockDurationMinutes"></a>
|
|
217
500
|
|
|
501
|
+
#### `ONE_HOUR` <a name="cdk-ec2spot.BlockDurationMinutes.ONE_HOUR"></a>
|
|
218
502
|
|
|
219
|
-
|
|
503
|
+
---
|
|
220
504
|
|
|
221
505
|
|
|
506
|
+
#### `TWO_HOURS` <a name="cdk-ec2spot.BlockDurationMinutes.TWO_HOURS"></a>
|
|
222
507
|
|
|
508
|
+
---
|
|
223
509
|
|
|
224
510
|
|
|
511
|
+
#### `THREE_HOURS` <a name="cdk-ec2spot.BlockDurationMinutes.THREE_HOURS"></a>
|
|
225
512
|
|
|
226
|
-
|
|
227
|
-
-----|------|-------------
|
|
228
|
-
**vpc** | <code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code> | The vpc for the AutoScalingGroup.
|
|
229
|
-
**defaultCapacitySize**? | <code>number</code> | default capacity size for the Auto Scaling Group.<br/>__*Default*__: 1
|
|
230
|
-
**instanceProfile**? | <code>[CfnInstanceProfile](#aws-cdk-aws-iam-cfninstanceprofile)</code> | __*Optional*__
|
|
231
|
-
**instanceType**? | <code>[InstanceType](#aws-cdk-aws-ec2-instancetype)</code> | __*Optional*__
|
|
232
|
-
**machineImage**? | <code>[IMachineImage](#aws-cdk-aws-ec2-imachineimage)</code> | __*Optional*__
|
|
233
|
-
**spotOptions**? | <code>[SpotOptions](#cdk-ec2spot-spotoptions)</code> | __*Optional*__
|
|
234
|
-
**terminateInstancesWithExpiration**? | <code>boolean</code> | Whether to terminate the fleet with expiration.<br/>__*Default*__: true
|
|
235
|
-
**userData**? | <code>[UserData](#aws-cdk-aws-ec2-userdata)</code> | __*Optional*__
|
|
236
|
-
**validFrom**? | <code>string</code> | The timestamp of the beginning of the valid duration.<br/>__*Default*__: now
|
|
237
|
-
**validUntil**? | <code>string</code> | The timestamp of the beginning of the valid duration.<br/>__*Default*__: unlimited
|
|
238
|
-
**vpcSubnet**? | <code>[SubnetSelection](#aws-cdk-aws-ec2-subnetselection)</code> | VPC subnet selection.<br/>__*Default*__: ec2.SubnetType.PRIVATE
|
|
513
|
+
---
|
|
239
514
|
|
|
240
515
|
|
|
516
|
+
#### `FOUR_HOURS` <a name="cdk-ec2spot.BlockDurationMinutes.FOUR_HOURS"></a>
|
|
241
517
|
|
|
242
|
-
|
|
518
|
+
---
|
|
243
519
|
|
|
244
520
|
|
|
521
|
+
#### `FIVE_HOURS` <a name="cdk-ec2spot.BlockDurationMinutes.FIVE_HOURS"></a>
|
|
245
522
|
|
|
523
|
+
---
|
|
246
524
|
|
|
247
525
|
|
|
526
|
+
#### `SIX_HOURS` <a name="cdk-ec2spot.BlockDurationMinutes.SIX_HOURS"></a>
|
|
248
527
|
|
|
249
|
-
|
|
250
|
-
-----|------|-------------
|
|
251
|
-
**blockDurationMinutes**? | <code>[BlockDurationMinutes](#cdk-ec2spot-blockdurationminutes)</code> | __*Optional*__
|
|
252
|
-
**instanceInterruptionBehavior**? | <code>[InstanceInterruptionBehavior](#cdk-ec2spot-instanceinterruptionbehavior)</code> | __*Optional*__
|
|
253
|
-
**maxPrice**? | <code>string</code> | __*Optional*__
|
|
254
|
-
**spotInstanceType**? | <code>[SpotInstanceType](#cdk-ec2spot-spotinstancetype)</code> | __*Optional*__
|
|
255
|
-
**validUntil**? | <code>string</code> | __*Optional*__
|
|
528
|
+
---
|
|
256
529
|
|
|
257
530
|
|
|
531
|
+
### InstanceInterruptionBehavior <a name="InstanceInterruptionBehavior"></a>
|
|
258
532
|
|
|
259
|
-
|
|
533
|
+
#### `HIBERNATE` <a name="cdk-ec2spot.InstanceInterruptionBehavior.HIBERNATE"></a>
|
|
260
534
|
|
|
535
|
+
---
|
|
261
536
|
|
|
262
537
|
|
|
263
|
-
|
|
264
|
-
-----|-----
|
|
265
|
-
**ONE_HOUR** |
|
|
266
|
-
**TWO_HOURS** |
|
|
267
|
-
**THREE_HOURS** |
|
|
268
|
-
**FOUR_HOURS** |
|
|
269
|
-
**FIVE_HOURS** |
|
|
270
|
-
**SIX_HOURS** |
|
|
538
|
+
#### `STOP` <a name="cdk-ec2spot.InstanceInterruptionBehavior.STOP"></a>
|
|
271
539
|
|
|
540
|
+
---
|
|
272
541
|
|
|
273
|
-
## enum InstanceInterruptionBehavior <a id="cdk-ec2spot-instanceinterruptionbehavior"></a>
|
|
274
542
|
|
|
543
|
+
#### `TERMINATE` <a name="cdk-ec2spot.InstanceInterruptionBehavior.TERMINATE"></a>
|
|
275
544
|
|
|
545
|
+
---
|
|
276
546
|
|
|
277
|
-
Name | Description
|
|
278
|
-
-----|-----
|
|
279
|
-
**HIBERNATE** |
|
|
280
|
-
**STOP** |
|
|
281
|
-
**TERMINATE** |
|
|
282
547
|
|
|
548
|
+
### SpotInstanceType <a name="SpotInstanceType"></a>
|
|
283
549
|
|
|
284
|
-
|
|
550
|
+
#### `ONE_TIME` <a name="cdk-ec2spot.SpotInstanceType.ONE_TIME"></a>
|
|
285
551
|
|
|
552
|
+
---
|
|
286
553
|
|
|
287
554
|
|
|
288
|
-
|
|
289
|
-
-----|-----
|
|
290
|
-
**ONE_TIME** |
|
|
291
|
-
**PERSISTENT** |
|
|
555
|
+
#### `PERSISTENT` <a name="cdk-ec2spot.SpotInstanceType.PERSISTENT"></a>
|
|
292
556
|
|
|
557
|
+
---
|
|
293
558
|
|
package/lib/index.js
CHANGED
|
@@ -211,5 +211,5 @@ class Provider extends cdk.Construct {
|
|
|
211
211
|
}
|
|
212
212
|
exports.Provider = Provider;
|
|
213
213
|
_a = JSII_RTTI_SYMBOL_1;
|
|
214
|
-
Provider[_a] = { fqn: "cdk-ec2spot.Provider", version: "0.1.
|
|
214
|
+
Provider[_a] = { fqn: "cdk-ec2spot.Provider", version: "0.1.62" };
|
|
215
215
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3REFBd0Q7QUFDeEQsd0NBQXdDO0FBQ3hDLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMsd0NBQXdDOzs7O0FBRXhDLElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUMxQix5Q0FBcUIsQ0FBQTtJQUNyQiw2Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsZ0JBQWdCLEdBQWhCLHdCQUFnQixLQUFoQix3QkFBZ0IsUUFHM0I7Ozs7QUFFRCxJQUFZLDRCQUlYO0FBSkQsV0FBWSw0QkFBNEI7SUFDdEMsdURBQXVCLENBQUE7SUFDdkIsNkNBQWEsQ0FBQTtJQUNiLHVEQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFKVyw0QkFBNEIsR0FBNUIsb0NBQTRCLEtBQTVCLG9DQUE0QixRQUl2Qzs7OztBQUVELElBQVksb0JBT1g7QUFQRCxXQUFZLG9CQUFvQjtJQUM5Qix3RUFBYSxDQUFBO0lBQ2IsMkVBQWUsQ0FBQTtJQUNmLCtFQUFpQixDQUFBO0lBQ2pCLDZFQUFnQixDQUFBO0lBQ2hCLDZFQUFnQixDQUFBO0lBQ2hCLDJFQUFlLENBQUE7QUFDakIsQ0FBQyxFQVBXLG9CQUFvQixHQUFwQiw0QkFBb0IsS0FBcEIsNEJBQW9CLFFBTy9COzs7O0FBb0NELE1BQWEsUUFBUyxTQUFRLEdBQUcsQ0FBQyxTQUFTOzs7O0lBRXpDLFlBQVksS0FBb0IsRUFBRSxFQUFVO1FBQzFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFGRix3QkFBbUIsR0FBcUIsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRzFGLENBQUM7Ozs7SUFDRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMscUJB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QyxZQUFZLENBQUMsaUJBQWlCLENBQTJCLENBQUM7UUFDOUYsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztRQUN0RyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxFQUFFO1lBQzFELGVBQWUsRUFBRSxrQkFBa0I7WUFDbkMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ2xDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtZQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1NBQzNCLENBQUMsQ0FBQztRQUNILG9CQUFvQjtRQUNwQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQW9DLENBQUM7UUFDL0UsTUFBTSxDQUFDLDJCQUEyQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFO1lBQzNDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxHQUFHO1lBQ3hCLE9BQU8sRUFBRSxFQUFFLENBQUMsdUJBQXVCO1NBQ3BDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7OztJQUNNLGNBQWMsQ0FBQyxFQUFVLEVBQUUsTUFBaUM7UUFDakUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDOztBQXZJSCw0QkF3SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhdXRvc2NhbGluZyBmcm9tICdAYXdzLWNkay9hd3MtYXV0b3NjYWxpbmcnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ0Bhd3MtY2RrL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ0Bhd3MtY2RrL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0ICogYXMgc3BvdG9uZSBmcm9tICdjZGstc3BvdC1vbmUnO1xuXG5leHBvcnQgZW51bSBTcG90SW5zdGFuY2VUeXBlIHtcbiAgT05FX1RJTUUgPSAnb25lLXRpbWUnLFxuICBQRVJTSVNURU5UID0gJ3BlcnNpc3RlbnQnLFxufVxuXG5leHBvcnQgZW51bSBJbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yIHtcbiAgSElCRVJOQVRFID0gJ2hpYmVybmF0ZScsXG4gIFNUT1AgPSAnc3RvcCcsXG4gIFRFUk1JTkFURSA9ICd0ZXJtaW5hdGUnLFxufVxuXG5leHBvcnQgZW51bSBCbG9ja0R1cmF0aW9uTWludXRlcyB7XG4gIE9ORV9IT1VSID0gNjAsXG4gIFRXT19IT1VSUyA9IDEyMCxcbiAgVEhSRUVfSE9VUlMgPSAxODAsXG4gIEZPVVJfSE9VUlMgPSAyNDAsXG4gIEZJVkVfSE9VUlMgPSAzMDAsXG4gIFNJWF9IT1VSUyA9IDM2MCxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90T3B0aW9ucyB7XG4gIHJlYWRvbmx5IHNwb3RJbnN0YW5jZVR5cGU/OiBTcG90SW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB2YWxpZFVudGlsPzogc3RyaW5nO1xuICByZWFkb25seSBtYXhQcmljZT86IHN0cmluZztcbiAgcmVhZG9ubHkgaW5zdGFuY2VJbnRlcnJ1cHRpb25CZWhhdmlvcj86IEluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I7XG4gIHJlYWRvbmx5IGJsb2NrRHVyYXRpb25NaW51dGVzPzogQmxvY2tEdXJhdGlvbk1pbnV0ZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF1bmNoVGVtcGxhdGVPcHRpb25zIHtcbiAgcmVhZG9ubHkgbWFjaGluZUltYWdlPzogZWMyLklNYWNoaW5lSW1hZ2U7XG4gIHJlYWRvbmx5IGluc3RhbmNlVHlwZT86IGVjMi5JbnN0YW5jZVR5cGU7XG4gIHJlYWRvbmx5IHNwb3RPcHRpb25zPzogU3BvdE9wdGlvbnM7XG4gIHJlYWRvbmx5IHVzZXJEYXRhPzogZWMyLlVzZXJEYXRhO1xuICByZWFkb25seSBpbnN0YW5jZVByb2ZpbGU/OiBpYW0uQ2ZuSW5zdGFuY2VQcm9maWxlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9TY2FsaW5nR3JvdXBPcHRpb25zIGV4dGVuZHMgTGF1bmNoVGVtcGxhdGVPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRlZmF1bHRDYXBhY2l0eVNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdEZsZWV0T3B0aW9ucyBleHRlbmRzIEF1dG9TY2FsaW5nR3JvdXBPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldD86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB2YWxpZEZyb20/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB2YWxpZFVudGlsPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFByb3ZpZGVyIGV4dGVuZHMgY2RrLkNvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZSA9IG5ldyBlYzIuSW5zdGFuY2VUeXBlKCd0My5sYXJnZScpO1xuICBjb25zdHJ1Y3RvcihzY29wZTogY2RrLkNvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gIH1cbiAgcHVibGljIGdldCBhbWF6b25MaW51eEFtaUltYWdlSWQoKSB7XG4gICAgcmV0dXJuIG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSh7XG4gICAgICBnZW5lcmF0aW9uOiBlYzIuQW1hem9uTGludXhHZW5lcmF0aW9uLkFNQVpPTl9MSU5VWF8yLFxuICAgIH0pLmdldEltYWdlKHRoaXMpLmltYWdlSWQ7XG4gIH1cbiAgcHVibGljIGdldE9yQ3JlYXRlVnBjKHNjb3BlOiBjZGsuQ29uc3RydWN0KTogZWMyLklWcGMge1xuICAvLyB1c2UgYW4gZXhpc3RpbmcgdnBjIG9yIGNyZWF0ZSBhIG5ldyBvbmVcbiAgICByZXR1cm4gc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KCd1c2VfZGVmYXVsdF92cGMnKSA9PT0gJzEnID9cbiAgICAgIGVjMi5WcGMuZnJvbUxvb2t1cChzY29wZSwgJ1ZwYycsIHsgaXNEZWZhdWx0OiB0cnVlIH0pIDpcbiAgICAgIHNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dCgndXNlX3ZwY19pZCcpID9cbiAgICAgICAgZWMyLlZwYy5mcm9tTG9va3VwKHNjb3BlLCAnVnBjJywgeyB2cGNJZDogc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KCd1c2VfdnBjX2lkJykgfSkgOlxuICAgICAgICBuZXcgZWMyLlZwYyhzY29wZSwgJ1ZwYycsIHsgbWF4QXpzOiAzLCBuYXRHYXRld2F5czogMSB9KTtcbiAgfVxuICBwdWJsaWMgY3JlYXRlSW5zdGFuY2VQcm9maWxlKGlkOiBzdHJpbmcpOiBpYW0uQ2ZuSW5zdGFuY2VQcm9maWxlIHtcbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIGBSb2xlJHtpZH1gLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZWMyLmFtYXpvbmF3cy5jb20nKSxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IGlhbS5DZm5JbnN0YW5jZVByb2ZpbGUodGhpcywgYEluc3RhbmNlUHJvZmlsZSR7aWR9YCwge1xuICAgICAgcm9sZXM6IFtyb2xlLnJvbGVOYW1lXSxcbiAgICB9KTtcbiAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBjcmVhdGVMYXVuY2hUZW1wbGF0ZShpZDogc3RyaW5nLCBvcHRpb25zOiBMYXVuY2hUZW1wbGF0ZU9wdGlvbnMgPSB7fSk6IGVjMi5DZm5MYXVuY2hUZW1wbGF0ZSB7XG4gICAgY29uc3QgaW5zdGFuY2VQcm9maWxlQXJuID0gb3B0aW9ucy5pbnN0YW5jZVByb2ZpbGUgPyBvcHRpb25zLmluc3RhbmNlUHJvZmlsZS5hdHRyQXJuXG4gICAgICA6IHRoaXMuY3JlYXRlSW5zdGFuY2VQcm9maWxlKCdEZWZhdWx0SW5zdGFuY2VQcm9maWxlJykuYXR0ckFybjtcbiAgICByZXR1cm4gbmV3IGVjMi5DZm5MYXVuY2hUZW1wbGF0ZSh0aGlzLCBpZCwge1xuICAgICAgbGF1bmNoVGVtcGxhdGVEYXRhOiB7XG4gICAgICAgIGltYWdlSWQ6IG9wdGlvbnMubWFjaGluZUltYWdlPy5nZXRJbWFnZSh0aGlzKS5pbWFnZUlkIHx8IHRoaXMuYW1hem9uTGludXhBbWlJbWFnZUlkLFxuICAgICAgICBpbnN0YW5jZVR5cGU6IG9wdGlvbnMuaW5zdGFuY2VUeXBlPy50b1N0cmluZygpIHx8IHRoaXMuZGVmYXVsdEluc3RhbmNlVHlwZS50b1N0cmluZygpLFxuICAgICAgICB1c2VyRGF0YTogb3B0aW9ucy51c2VyRGF0YSA/IGNkay5Gbi5iYXNlNjQob3B0aW9ucy51c2VyRGF0YS5yZW5kZXIoKSkgOiB1bmRlZmluZWQsXG4gICAgICAgIGluc3RhbmNlTWFya2V0T3B0aW9uczoge1xuICAgICAgICAgIG1hcmtldFR5cGU6ICdzcG90JyxcbiAgICAgICAgICBzcG90T3B0aW9uczoge1xuICAgICAgICAgICAgYmxvY2tEdXJhdGlvbk1pbnV0ZXM6IG9wdGlvbnMuc3BvdE9wdGlvbnM/LmJsb2NrRHVyYXRpb25NaW51dGVzPy52YWx1ZU9mKCksXG4gICAgICAgICAgICBpbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yOiBvcHRpb25zLnNwb3RPcHRpb25zPy5pbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yPy52YWx1ZU9mKCksXG4gICAgICAgICAgICBtYXhQcmljZTogb3B0aW9ucy5zcG90T3B0aW9ucz8ubWF4UHJpY2UsXG4gICAgICAgICAgICBzcG90SW5zdGFuY2VUeXBlOiBvcHRpb25zLnNwb3RPcHRpb25zPy5zcG90SW5zdGFuY2VUeXBlPy52YWx1ZU9mKCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgaWFtSW5zdGFuY2VQcm9maWxlOiB7XG4gICAgICAgICAgYXJuOiBpbnN0YW5jZVByb2ZpbGVBcm4sXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ1NwZWNpZmljYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiAnaW5zdGFuY2UnLFxuICAgICAgICAgICAgdGFnczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiAnTmFtZScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGAke3RoaXMubm9kZS5wYXRofS8ke2lkfWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgY3JlYXRlRmxlZXQoaWQ6IHN0cmluZywgb3B0aW9uczogU3BvdEZsZWV0T3B0aW9ucyk6IGVjMi5DZm5TcG90RmxlZXQge1xuICAgIGNvbnN0IGx0ID0gdGhpcy5jcmVhdGVMYXVuY2hUZW1wbGF0ZShpZCwge1xuICAgICAgaW5zdGFuY2VQcm9maWxlOiBvcHRpb25zLmluc3RhbmNlUHJvZmlsZSxcbiAgICAgIGluc3RhbmNlVHlwZTogb3B0aW9ucy5pbnN0YW5jZVR5cGUsXG4gICAgICBtYWNoaW5lSW1hZ2U6IG9wdGlvbnMubWFjaGluZUltYWdlLFxuICAgICAgc3BvdE9wdGlvbnM6IG9wdGlvbnMuc3BvdE9wdGlvbnMsXG4gICAgICB1c2VyRGF0YTogb3B0aW9ucy51c2VyRGF0YSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNwb3RGbGVldFJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ0ZsZWV0Um9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdzcG90ZmxlZXQuYW1hem9uYXdzLmNvbScpLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbXG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FtYXpvbkVDMlNwb3RGbGVldFRhZ2dpbmdSb2xlJyksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdnBjU3VibmV0U2VsZWN0aW9uID0gb3B0aW9ucy52cGNTdWJuZXQgPz8ge1xuICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURSxcbiAgICB9O1xuXG4gICAgY29uc3Qgc3VibmV0Q29uZmlnID0gb3B0aW9ucy52cGMuc2VsZWN0U3VibmV0cyh2cGNTdWJuZXRTZWxlY3Rpb24pLnN1Ym5ldHMubWFwKHMgPT4gKHtcbiAgICAgIHN1Ym5ldElkOiBzLnN1Ym5ldElkLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IGZsZWV0ID0gbmV3IGVjMi5DZm5TcG90RmxlZXQodGhpcywgYCR7aWR9UmVzb3VyY2VgLCB7XG4gICAgICBzcG90RmxlZXRSZXF1ZXN0Q29uZmlnRGF0YToge1xuICAgICAgICBsYXVuY2hUZW1wbGF0ZUNvbmZpZ3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYXVuY2hUZW1wbGF0ZVNwZWNpZmljYXRpb246IHtcbiAgICAgICAgICAgICAgbGF1bmNoVGVtcGxhdGVJZDogbHQucmVmLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiBsdC5hdHRyTGF0ZXN0VmVyc2lvbk51bWJlcixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvdmVycmlkZXM6IHN1Ym5ldENvbmZpZyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBpYW1GbGVldFJvbGU6IHNwb3RGbGVldFJvbGUucm9sZUFybixcbiAgICAgICAgdGFyZ2V0Q2FwYWNpdHk6IG9wdGlvbnMuZGVmYXVsdENhcGFjaXR5U2l6ZSA/PyAxLFxuICAgICAgICB2YWxpZEZyb206IG9wdGlvbnMudmFsaWRGcm9tLFxuICAgICAgICB2YWxpZFVudGlsOiBvcHRpb25zLnZhbGlkVW50aWwsXG4gICAgICAgIHRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uOiBvcHRpb25zLnRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uID8/IHRydWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBmbGVldDtcbiAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBjcmVhdGVBdXRvU2NhbGluZ0dyb3VwKGlkOiBzdHJpbmcsIG9wdGlvbnM6IEF1dG9TY2FsaW5nR3JvdXBPcHRpb25zKTogYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cCB7XG4gICAgY29uc3QgYXNnID0gbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAodGhpcywgaWQsIHtcbiAgICAgIGluc3RhbmNlVHlwZTogdGhpcy5kZWZhdWx0SW5zdGFuY2VUeXBlLFxuICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgIHZwYzogb3B0aW9ucy52cGMsXG4gICAgICBtaW5DYXBhY2l0eTogb3B0aW9ucy5kZWZhdWx0Q2FwYWNpdHlTaXplID8/IDEsXG4gICAgICB1cGRhdGVQb2xpY3k6IGF1dG9zY2FsaW5nLlVwZGF0ZVBvbGljeS5yZXBsYWNpbmdVcGRhdGUoKSxcbiAgICB9KTtcbiAgICBjb25zdCBjZm5JbnN0YW5jZVByb2ZpbGUgPSBhc2cubm9kZS50cnlGaW5kQ2hpbGQoJ0luc3RhbmNlUHJvZmlsZScpIGFzIGlhbS5DZm5JbnN0YW5jZVByb2ZpbGU7XG4gICAgYXNnLnJvbGUuYWRkTWFuYWdlZFBvbGljeShpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ0FtYXpvblNTTU1hbmFnZWRJbnN0YW5jZUNvcmUnKSk7XG4gICAgY29uc3QgbHQgPSB0aGlzLmNyZWF0ZUxhdW5jaFRlbXBsYXRlKGBMYXVuY2hUZW1wbGF0ZSR7aWR9YCwge1xuICAgICAgaW5zdGFuY2VQcm9maWxlOiBjZm5JbnN0YW5jZVByb2ZpbGUsXG4gICAgICBpbnN0YW5jZVR5cGU6IG9wdGlvbnMuaW5zdGFuY2VUeXBlLFxuICAgICAgbWFjaGluZUltYWdlOiBvcHRpb25zLm1hY2hpbmVJbWFnZSxcbiAgICAgIHNwb3RPcHRpb25zOiBvcHRpb25zLnNwb3RPcHRpb25zLFxuICAgICAgdXNlckRhdGE6IG9wdGlvbnMudXNlckRhdGEsXG4gICAgfSk7XG4gICAgLy8gcHJvcGVydHkgb3ZlcnJpZGVcbiAgICBjb25zdCBjZm5Bc2cgPSBhc2cubm9kZS50cnlGaW5kQ2hpbGQoJ0FTRycpIGFzIGF1dG9zY2FsaW5nLkNmbkF1dG9TY2FsaW5nR3JvdXA7XG4gICAgY2ZuQXNnLmFkZFByb3BlcnR5RGVsZXRpb25PdmVycmlkZSgnTGF1bmNoQ29uZmlndXJhdGlvbk5hbWUnKTtcbiAgICBjZm5Bc2cuYWRkUHJvcGVydHlPdmVycmlkZSgnTGF1bmNoVGVtcGxhdGUnLCB7XG4gICAgICBMYXVuY2hUZW1wbGF0ZUlkOiBsdC5yZWYsXG4gICAgICBWZXJzaW9uOiBsdC5hdHRyTGF0ZXN0VmVyc2lvbk51bWJlcixcbiAgICB9KTtcbiAgICByZXR1cm4gYXNnO1xuICB9XG4gIHB1YmxpYyBjcmVhdGVJbnN0YW5jZShpZDogc3RyaW5nLCBvcHRvbnM6IHNwb3RvbmUuU3BvdEluc3RhbmNlUHJvcHMpOiBzcG90b25lLlNwb3RJbnN0YW5jZSB7XG4gICAgcmV0dXJuIG5ldyBzcG90b25lLlNwb3RJbnN0YW5jZSh0aGlzLCBpZCwgb3B0b25zKTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -36,33 +36,33 @@
|
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@aws-cdk/assert": "^1.73.0",
|
|
39
|
-
"@types/jest": "^
|
|
39
|
+
"@types/jest": "^27.0.2",
|
|
40
40
|
"@types/node": "^14.17.0",
|
|
41
|
-
"@typescript-eslint/eslint-plugin": "^4.
|
|
42
|
-
"@typescript-eslint/parser": "^4.
|
|
41
|
+
"@typescript-eslint/eslint-plugin": "^4.32.0",
|
|
42
|
+
"@typescript-eslint/parser": "^4.32.0",
|
|
43
43
|
"eslint": "^7.32.0",
|
|
44
44
|
"eslint-import-resolver-node": "^0.3.6",
|
|
45
45
|
"eslint-import-resolver-typescript": "^2.5.0",
|
|
46
46
|
"eslint-plugin-import": "^2.24.2",
|
|
47
|
-
"jest": "^
|
|
47
|
+
"jest": "^27.2.4",
|
|
48
48
|
"jest-junit": "^12",
|
|
49
|
-
"jsii": "^1.
|
|
50
|
-
"jsii-diff": "^1.
|
|
51
|
-
"jsii-docgen": "^
|
|
52
|
-
"jsii-pacmak": "^1.
|
|
49
|
+
"jsii": "^1.35.0",
|
|
50
|
+
"jsii-diff": "^1.35.0",
|
|
51
|
+
"jsii-docgen": "^3.6.3",
|
|
52
|
+
"jsii-pacmak": "^1.35.0",
|
|
53
53
|
"json-schema": "^0.3.0",
|
|
54
54
|
"npm-check-updates": "^11",
|
|
55
|
-
"projen": "^0.28.
|
|
55
|
+
"projen": "^0.28.34",
|
|
56
56
|
"standard-version": "^9",
|
|
57
|
-
"ts-jest": "^
|
|
58
|
-
"typescript": "^
|
|
57
|
+
"ts-jest": "^27.0.5",
|
|
58
|
+
"typescript": "^4.4.3"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@aws-cdk/aws-autoscaling": "^1.73.0",
|
|
62
62
|
"@aws-cdk/aws-ec2": "^1.73.0",
|
|
63
63
|
"@aws-cdk/aws-iam": "^1.73.0",
|
|
64
64
|
"@aws-cdk/core": "^1.73.0",
|
|
65
|
-
"cdk-spot-one": "^0.6.
|
|
65
|
+
"cdk-spot-one": "^0.6.276",
|
|
66
66
|
"constructs": "^3.2.27"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@aws-cdk/aws-ec2": "^1.73.0",
|
|
71
71
|
"@aws-cdk/aws-iam": "^1.73.0",
|
|
72
72
|
"@aws-cdk/core": "^1.73.0",
|
|
73
|
-
"cdk-spot-one": "^0.6.
|
|
73
|
+
"cdk-spot-one": "^0.6.276"
|
|
74
74
|
},
|
|
75
75
|
"bundledDependencies": [],
|
|
76
76
|
"keywords": [
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
],
|
|
79
79
|
"main": "lib/index.js",
|
|
80
80
|
"license": "Apache-2.0",
|
|
81
|
-
"version": "0.1.
|
|
81
|
+
"version": "0.1.62",
|
|
82
82
|
"jest": {
|
|
83
83
|
"testMatch": [
|
|
84
84
|
"**/__tests__/**/*.ts?(x)",
|