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.
Files changed (4) hide show
  1. package/.jsii +4 -4
  2. package/API.md +437 -172
  3. package/lib/index.js +1 -1
  4. 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.270",
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.34.0 (build 9b72778)",
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.61",
1643
- "fingerprint": "C9ZznjAq6yvPa2BihlTwdQJzdIeSBb0kdMhNd9DhmYQ="
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
- **Classes**
3
+ ## Constructs <a name="Constructs"></a>
4
4
 
5
- Name|Description
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
- **Structs**
9
+ ```typescript
10
+ import { Provider } from 'cdk-ec2spot'
11
11
 
12
- Name|Description
13
- ----|-----------
14
- [AutoScalingGroupOptions](#cdk-ec2spot-autoscalinggroupoptions)|*No description*
15
- [LaunchTemplateOptions](#cdk-ec2spot-launchtemplateoptions)|*No description*
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
- **Enums**
19
+ ---
21
20
 
22
- Name|Description
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
- ## class Provider <a id="cdk-ec2spot-provider"></a>
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
- __Implements__: [IConstruct](#constructs-iconstruct), [IConstruct](#aws-cdk-core-iconstruct), [IConstruct](#constructs-iconstruct), [IDependable](#aws-cdk-core-idependable)
35
- __Extends__: [Construct](#aws-cdk-core-construct)
35
+ ###### `id`<sup>Required</sup> <a name="cdk-ec2spot.Provider.parameter.id"></a>
36
36
 
37
- ### Initializer
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
- ```ts
43
- new Provider(scope: Construct, id: string)
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
- * **scope** (<code>[Construct](#aws-cdk-core-construct)</code>) *No description*
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
- ### Properties
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
- Name | Type | Description
55
- -----|------|-------------
56
- **amazonLinuxAmiImageId** | <code>string</code> | <span></span>
298
+ ### SpotFleetOptions <a name="cdk-ec2spot.SpotFleetOptions"></a>
57
299
 
58
- ### Methods
300
+ #### Initializer <a name="[object Object].Initializer"></a>
59
301
 
302
+ ```typescript
303
+ import { SpotFleetOptions } from 'cdk-ec2spot'
60
304
 
61
- #### createAutoScalingGroup(id, options) <a id="cdk-ec2spot-provider-createautoscalinggroup"></a>
305
+ const spotFleetOptions: SpotFleetOptions = { ... }
306
+ ```
62
307
 
63
- Create AutoScaling Group.
308
+ ##### `instanceProfile`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.instanceProfile"></a>
64
309
 
65
- ```ts
66
- createAutoScalingGroup(id: string, options: AutoScalingGroupOptions): AutoScalingGroup
310
+ ```typescript
311
+ public readonly instanceProfile: CfnInstanceProfile;
67
312
  ```
68
313
 
69
- * **id** (<code>string</code>) AutoScaling Group ID.
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
- __Returns__:
80
- * <code>[AutoScalingGroup](#aws-cdk-aws-autoscaling-autoscalinggroup)</code>
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
- #### createFleet(id, options) <a id="cdk-ec2spot-provider-createfleet"></a>
324
+ - *Type:* [`@aws-cdk/aws-ec2.InstanceType`](#@aws-cdk/aws-ec2.InstanceType)
83
325
 
84
- Create EC2 Spot Fleet.
326
+ ---
85
327
 
86
- ```ts
87
- createFleet(id: string, options: SpotFleetOptions): CfnSpotFleet
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
- * **id** (<code>string</code>) fleet id.
91
- * **options** (<code>[SpotFleetOptions](#cdk-ec2spot-spotfleetoptions)</code>) spot fleet options.
92
- * **instanceProfile** (<code>[CfnInstanceProfile](#aws-cdk-aws-iam-cfninstanceprofile)</code>) *No description* __*Optional*__
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
- __Returns__:
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
- #### createInstance(id, optons) <a id="cdk-ec2spot-provider-createinstance"></a>
340
+ ```typescript
341
+ public readonly spotOptions: SpotOptions;
342
+ ```
108
343
 
344
+ - *Type:* [`cdk-ec2spot.SpotOptions`](#cdk-ec2spot.SpotOptions)
109
345
 
346
+ ---
110
347
 
111
- ```ts
112
- createInstance(id: string, optons: SpotInstanceProps): SpotInstance
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
- * **id** (<code>string</code>) *No description*
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
- __Returns__:
134
- * <code>[SpotInstance](#cdk-spot-one-spotinstance)</code>
356
+ ---
135
357
 
136
- #### createInstanceProfile(id) <a id="cdk-ec2spot-provider-createinstanceprofile"></a>
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
- ```ts
141
- createInstanceProfile(id: string): CfnInstanceProfile
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
- * **id** (<code>string</code>) *No description*
376
+ - *Type:* `number`
377
+ - *Default:* 1
145
378
 
146
- __Returns__:
147
- * <code>[CfnInstanceProfile](#aws-cdk-aws-iam-cfninstanceprofile)</code>
379
+ default capacity size for the Auto Scaling Group.
148
380
 
149
- #### createLaunchTemplate(id, options?) <a id="cdk-ec2spot-provider-createlaunchtemplate"></a>
381
+ ---
150
382
 
151
- Create Launch Template.
383
+ ##### `terminateInstancesWithExpiration`<sup>Optional</sup> <a name="cdk-ec2spot.SpotFleetOptions.property.terminateInstancesWithExpiration"></a>
152
384
 
153
- ```ts
154
- createLaunchTemplate(id: string, options?: LaunchTemplateOptions): CfnLaunchTemplate
385
+ ```typescript
386
+ public readonly terminateInstancesWithExpiration: boolean;
155
387
  ```
156
388
 
157
- * **id** (<code>string</code>) launch template id.
158
- * **options** (<code>[LaunchTemplateOptions](#cdk-ec2spot-launchtemplateoptions)</code>) launch template options.
159
- * **instanceProfile** (<code>[CfnInstanceProfile](#aws-cdk-aws-iam-cfninstanceprofile)</code>) *No description* __*Optional*__
160
- * **instanceType** (<code>[InstanceType](#aws-cdk-aws-ec2-instancetype)</code>) *No description* __*Optional*__
161
- * **machineImage** (<code>[IMachineImage](#aws-cdk-aws-ec2-imachineimage)</code>) *No description* __*Optional*__
162
- * **spotOptions** (<code>[SpotOptions](#cdk-ec2spot-spotoptions)</code>) *No description* __*Optional*__
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
- __Returns__:
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
- #### getOrCreateVpc(scope) <a id="cdk-ec2spot-provider-getorcreatevpc"></a>
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
- ```ts
173
- getOrCreateVpc(scope: Construct): IVpc
411
+ ```typescript
412
+ public readonly validUntil: string;
174
413
  ```
175
414
 
176
- * **scope** (<code>[Construct](#aws-cdk-core-construct)</code>) *No description*
415
+ - *Type:* `string`
416
+ - *Default:* unlimited
177
417
 
178
- __Returns__:
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
- ## struct AutoScalingGroupOptions <a id="cdk-ec2spot-autoscalinggroupoptions"></a>
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
- Name | Type | Description
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
- ## struct LaunchTemplateOptions <a id="cdk-ec2spot-launchtemplateoptions"></a>
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
- Name | Type | Description
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
- ## struct SpotFleetOptions <a id="cdk-ec2spot-spotfleetoptions"></a>
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
- Name | Type | Description
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
- ## struct SpotOptions <a id="cdk-ec2spot-spotoptions"></a>
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
- Name | Type | Description
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
- ## enum BlockDurationMinutes <a id="cdk-ec2spot-blockdurationminutes"></a>
533
+ #### `HIBERNATE` <a name="cdk-ec2spot.InstanceInterruptionBehavior.HIBERNATE"></a>
260
534
 
535
+ ---
261
536
 
262
537
 
263
- Name | Description
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
- ## enum SpotInstanceType <a id="cdk-ec2spot-spotinstancetype"></a>
550
+ #### `ONE_TIME` <a name="cdk-ec2spot.SpotInstanceType.ONE_TIME"></a>
285
551
 
552
+ ---
286
553
 
287
554
 
288
- Name | Description
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.61" };
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": "^26.0.24",
39
+ "@types/jest": "^27.0.2",
40
40
  "@types/node": "^14.17.0",
41
- "@typescript-eslint/eslint-plugin": "^4.31.2",
42
- "@typescript-eslint/parser": "^4.31.2",
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": "^26.6.3",
47
+ "jest": "^27.2.4",
48
48
  "jest-junit": "^12",
49
- "jsii": "^1.34.0",
50
- "jsii-diff": "^1.34.0",
51
- "jsii-docgen": "^1.8.110",
52
- "jsii-pacmak": "^1.34.0",
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.31",
55
+ "projen": "^0.28.34",
56
56
  "standard-version": "^9",
57
- "ts-jest": "^26.5.6",
58
- "typescript": "^3.9.10"
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.270",
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.270"
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.61",
81
+ "version": "0.1.62",
82
82
  "jest": {
83
83
  "testMatch": [
84
84
  "**/__tests__/**/*.ts?(x)",