cdk-ec2spot 0.1.68 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -3,31 +3,21 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Provider = exports.BlockDurationMinutes = exports.InstanceInterruptionBehavior = exports.SpotInstanceType = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const autoscaling = require("@aws-cdk/aws-autoscaling");
7
- const ec2 = require("@aws-cdk/aws-ec2");
8
- const iam = require("@aws-cdk/aws-iam");
9
- const cdk = require("@aws-cdk/core");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const cdk = require("aws-cdk-lib");
10
8
  const spotone = require("cdk-spot-one");
11
- /**
12
- * @stability stable
13
- */
9
+ const constructs_1 = require("constructs");
14
10
  var SpotInstanceType;
15
11
  (function (SpotInstanceType) {
16
12
  SpotInstanceType["ONE_TIME"] = "one-time";
17
13
  SpotInstanceType["PERSISTENT"] = "persistent";
18
14
  })(SpotInstanceType = exports.SpotInstanceType || (exports.SpotInstanceType = {}));
19
- /**
20
- * @stability stable
21
- */
22
15
  var InstanceInterruptionBehavior;
23
16
  (function (InstanceInterruptionBehavior) {
24
17
  InstanceInterruptionBehavior["HIBERNATE"] = "hibernate";
25
18
  InstanceInterruptionBehavior["STOP"] = "stop";
26
19
  InstanceInterruptionBehavior["TERMINATE"] = "terminate";
27
20
  })(InstanceInterruptionBehavior = exports.InstanceInterruptionBehavior || (exports.InstanceInterruptionBehavior = {}));
28
- /**
29
- * @stability stable
30
- */
31
21
  var BlockDurationMinutes;
32
22
  (function (BlockDurationMinutes) {
33
23
  BlockDurationMinutes[BlockDurationMinutes["ONE_HOUR"] = 60] = "ONE_HOUR";
@@ -37,59 +27,42 @@ var BlockDurationMinutes;
37
27
  BlockDurationMinutes[BlockDurationMinutes["FIVE_HOURS"] = 300] = "FIVE_HOURS";
38
28
  BlockDurationMinutes[BlockDurationMinutes["SIX_HOURS"] = 360] = "SIX_HOURS";
39
29
  })(BlockDurationMinutes = exports.BlockDurationMinutes || (exports.BlockDurationMinutes = {}));
40
- /**
41
- * @stability stable
42
- */
43
- class Provider extends cdk.Construct {
44
- /**
45
- * @stability stable
46
- */
30
+ class Provider extends constructs_1.Construct {
47
31
  constructor(scope, id) {
48
32
  super(scope, id);
49
- this.defaultInstanceType = new ec2.InstanceType('t3.large');
33
+ this.defaultInstanceType = new aws_cdk_lib_1.aws_ec2.InstanceType('t3.large');
50
34
  }
51
- /**
52
- * @stability stable
53
- */
54
35
  get amazonLinuxAmiImageId() {
55
- return new ec2.AmazonLinuxImage({
56
- generation: ec2.AmazonLinuxGeneration.AMAZON_LINUX_2,
36
+ return new aws_cdk_lib_1.aws_ec2.AmazonLinuxImage({
37
+ generation: aws_cdk_lib_1.aws_ec2.AmazonLinuxGeneration.AMAZON_LINUX_2,
57
38
  }).getImage(this).imageId;
58
39
  }
59
- /**
60
- * @stability stable
61
- */
62
40
  getOrCreateVpc(scope) {
63
41
  // use an existing vpc or create a new one
64
42
  return scope.node.tryGetContext('use_default_vpc') === '1' ?
65
- ec2.Vpc.fromLookup(scope, 'Vpc', { isDefault: true }) :
43
+ aws_cdk_lib_1.aws_ec2.Vpc.fromLookup(scope, 'Vpc', { isDefault: true }) :
66
44
  scope.node.tryGetContext('use_vpc_id') ?
67
- ec2.Vpc.fromLookup(scope, 'Vpc', { vpcId: scope.node.tryGetContext('use_vpc_id') }) :
68
- new ec2.Vpc(scope, 'Vpc', { maxAzs: 3, natGateways: 1 });
45
+ aws_cdk_lib_1.aws_ec2.Vpc.fromLookup(scope, 'Vpc', { vpcId: scope.node.tryGetContext('use_vpc_id') }) :
46
+ new aws_cdk_lib_1.aws_ec2.Vpc(scope, 'Vpc', { maxAzs: 3, natGateways: 1 });
69
47
  }
70
- /**
71
- * @stability stable
72
- */
73
48
  createInstanceProfile(id) {
74
- const role = new iam.Role(this, `Role${id}`, {
75
- assumedBy: new iam.ServicePrincipal('ec2.amazonaws.com'),
49
+ const role = new aws_cdk_lib_1.aws_iam.Role(this, `Role${id}`, {
50
+ assumedBy: new aws_cdk_lib_1.aws_iam.ServicePrincipal('ec2.amazonaws.com'),
76
51
  });
77
- return new iam.CfnInstanceProfile(this, `InstanceProfile${id}`, {
52
+ return new aws_cdk_lib_1.aws_iam.CfnInstanceProfile(this, `InstanceProfile${id}`, {
78
53
  roles: [role.roleName],
79
54
  });
80
55
  }
81
56
  /**
82
- * Create Launch Template.
83
- *
84
- * @param id launch template id.
85
- * @param options launch template options.
86
- * @stability stable
57
+ * Create Launch Template
58
+ * @param id launch template id
59
+ * @param options launch template options
87
60
  */
88
61
  createLaunchTemplate(id, options = {}) {
89
62
  var _b, _c, _d, _e, _f, _g, _h, _j, _k;
90
63
  const instanceProfileArn = options.instanceProfile ? options.instanceProfile.attrArn
91
64
  : this.createInstanceProfile('DefaultInstanceProfile').attrArn;
92
- return new ec2.CfnLaunchTemplate(this, id, {
65
+ return new aws_cdk_lib_1.aws_ec2.CfnLaunchTemplate(this, id, {
93
66
  launchTemplateData: {
94
67
  imageId: ((_b = options.machineImage) === null || _b === void 0 ? void 0 : _b.getImage(this).imageId) || this.amazonLinuxAmiImageId,
95
68
  instanceType: ((_c = options.instanceType) === null || _c === void 0 ? void 0 : _c.toString()) || this.defaultInstanceType.toString(),
@@ -121,11 +94,9 @@ class Provider extends cdk.Construct {
121
94
  });
122
95
  }
123
96
  /**
124
- * Create EC2 Spot Fleet.
125
- *
126
- * @param id fleet id.
127
- * @param options spot fleet options.
128
- * @stability stable
97
+ * Create EC2 Spot Fleet
98
+ * @param id fleet id
99
+ * @param options spot fleet options
129
100
  */
130
101
  createFleet(id, options) {
131
102
  var _b, _c, _d;
@@ -136,19 +107,19 @@ class Provider extends cdk.Construct {
136
107
  spotOptions: options.spotOptions,
137
108
  userData: options.userData,
138
109
  });
139
- const spotFleetRole = new iam.Role(this, 'FleetRole', {
140
- assumedBy: new iam.ServicePrincipal('spotfleet.amazonaws.com'),
110
+ const spotFleetRole = new aws_cdk_lib_1.aws_iam.Role(this, 'FleetRole', {
111
+ assumedBy: new aws_cdk_lib_1.aws_iam.ServicePrincipal('spotfleet.amazonaws.com'),
141
112
  managedPolicies: [
142
- iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AmazonEC2SpotFleetTaggingRole'),
113
+ aws_cdk_lib_1.aws_iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AmazonEC2SpotFleetTaggingRole'),
143
114
  ],
144
115
  });
145
116
  const vpcSubnetSelection = (_b = options.vpcSubnet) !== null && _b !== void 0 ? _b : {
146
- subnetType: ec2.SubnetType.PRIVATE,
117
+ subnetType: aws_cdk_lib_1.aws_ec2.SubnetType.PRIVATE,
147
118
  };
148
119
  const subnetConfig = options.vpc.selectSubnets(vpcSubnetSelection).subnets.map(s => ({
149
120
  subnetId: s.subnetId,
150
121
  }));
151
- const fleet = new ec2.CfnSpotFleet(this, `${id}Resource`, {
122
+ const fleet = new aws_cdk_lib_1.aws_ec2.CfnSpotFleet(this, `${id}Resource`, {
152
123
  spotFleetRequestConfigData: {
153
124
  launchTemplateConfigs: [
154
125
  {
@@ -169,23 +140,21 @@ class Provider extends cdk.Construct {
169
140
  return fleet;
170
141
  }
171
142
  /**
172
- * Create AutoScaling Group.
173
- *
174
- * @param id AutoScaling Group ID.
175
- * @param options AutoScaling Group options.
176
- * @stability stable
143
+ * Create AutoScaling Group
144
+ * @param id AutoScaling Group ID
145
+ * @param options AutoScaling Group options
177
146
  */
178
147
  createAutoScalingGroup(id, options) {
179
148
  var _b;
180
- const asg = new autoscaling.AutoScalingGroup(this, id, {
149
+ const asg = new aws_cdk_lib_1.aws_autoscaling.AutoScalingGroup(this, id, {
181
150
  instanceType: this.defaultInstanceType,
182
- machineImage: new ec2.AmazonLinuxImage(),
151
+ machineImage: new aws_cdk_lib_1.aws_ec2.AmazonLinuxImage(),
183
152
  vpc: options.vpc,
184
153
  minCapacity: (_b = options.defaultCapacitySize) !== null && _b !== void 0 ? _b : 1,
185
- updatePolicy: autoscaling.UpdatePolicy.replacingUpdate(),
154
+ updatePolicy: aws_cdk_lib_1.aws_autoscaling.UpdatePolicy.replacingUpdate(),
186
155
  });
187
156
  const cfnInstanceProfile = asg.node.tryFindChild('InstanceProfile');
188
- asg.role.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonSSMManagedInstanceCore'));
157
+ asg.role.addManagedPolicy(aws_cdk_lib_1.aws_iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonSSMManagedInstanceCore'));
189
158
  const lt = this.createLaunchTemplate(`LaunchTemplate${id}`, {
190
159
  instanceProfile: cfnInstanceProfile,
191
160
  instanceType: options.instanceType,
@@ -202,14 +171,11 @@ class Provider extends cdk.Construct {
202
171
  });
203
172
  return asg;
204
173
  }
205
- /**
206
- * @stability stable
207
- */
208
174
  createInstance(id, optons) {
209
175
  return new spotone.SpotInstance(this, id, optons);
210
176
  }
211
177
  }
212
178
  exports.Provider = Provider;
213
179
  _a = JSII_RTTI_SYMBOL_1;
214
- Provider[_a] = { fqn: "cdk-ec2spot.Provider", version: "0.1.68" };
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3REFBd0Q7QUFDeEQsd0NBQXdDO0FBQ3hDLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMsd0NBQXdDOzs7O0FBRXhDLElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUMxQix5Q0FBcUIsQ0FBQTtJQUNyQiw2Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsZ0JBQWdCLEdBQWhCLHdCQUFnQixLQUFoQix3QkFBZ0IsUUFHM0I7Ozs7QUFFRCxJQUFZLDRCQUlYO0FBSkQsV0FBWSw0QkFBNEI7SUFDdEMsdURBQXVCLENBQUE7SUFDdkIsNkNBQWEsQ0FBQTtJQUNiLHVEQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFKVyw0QkFBNEIsR0FBNUIsb0NBQTRCLEtBQTVCLG9DQUE0QixRQUl2Qzs7OztBQUVELElBQVksb0JBT1g7QUFQRCxXQUFZLG9CQUFvQjtJQUM5Qix3RUFBYSxDQUFBO0lBQ2IsMkVBQWUsQ0FBQTtJQUNmLCtFQUFpQixDQUFBO0lBQ2pCLDZFQUFnQixDQUFBO0lBQ2hCLDZFQUFnQixDQUFBO0lBQ2hCLDJFQUFlLENBQUE7QUFDakIsQ0FBQyxFQVBXLG9CQUFvQixHQUFwQiw0QkFBb0IsS0FBcEIsNEJBQW9CLFFBTy9COzs7O0FBb0NELE1BQWEsUUFBUyxTQUFRLEdBQUcsQ0FBQyxTQUFTOzs7O0lBRXpDLFlBQVksS0FBb0IsRUFBRSxFQUFVO1FBQzFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFGRix3QkFBbUIsR0FBcUIsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRzFGLENBQUM7Ozs7SUFDRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMscUJB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QyxZQUFZLENBQUMsaUJBQWlCLENBQTJCLENBQUM7UUFDOUYsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztRQUN0RyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxFQUFFO1lBQzFELGVBQWUsRUFBRSxrQkFBa0I7WUFDbkMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ2xDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtZQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1NBQzNCLENBQUMsQ0FBQztRQUNILG9CQUFvQjtRQUNwQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQW9DLENBQUM7UUFDL0UsTUFBTSxDQUFDLDJCQUEyQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFO1lBQzNDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxHQUFHO1lBQ3hCLE9BQU8sRUFBRSxFQUFFLENBQUMsdUJBQXVCO1NBQ3BDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7OztJQUNNLGNBQWMsQ0FBQyxFQUFVLEVBQUUsTUFBaUM7UUFDakUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDOztBQXZJSCw0QkF3SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhdXRvc2NhbGluZyBmcm9tICdAYXdzLWNkay9hd3MtYXV0b3NjYWxpbmcnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ0Bhd3MtY2RrL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ0Bhd3MtY2RrL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0ICogYXMgc3BvdG9uZSBmcm9tICdjZGstc3BvdC1vbmUnO1xuXG5leHBvcnQgZW51bSBTcG90SW5zdGFuY2VUeXBlIHtcbiAgT05FX1RJTUUgPSAnb25lLXRpbWUnLFxuICBQRVJTSVNURU5UID0gJ3BlcnNpc3RlbnQnLFxufVxuXG5leHBvcnQgZW51bSBJbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yIHtcbiAgSElCRVJOQVRFID0gJ2hpYmVybmF0ZScsXG4gIFNUT1AgPSAnc3RvcCcsXG4gIFRFUk1JTkFURSA9ICd0ZXJtaW5hdGUnLFxufVxuXG5leHBvcnQgZW51bSBCbG9ja0R1cmF0aW9uTWludXRlcyB7XG4gIE9ORV9IT1VSID0gNjAsXG4gIFRXT19IT1VSUyA9IDEyMCxcbiAgVEhSRUVfSE9VUlMgPSAxODAsXG4gIEZPVVJfSE9VUlMgPSAyNDAsXG4gIEZJVkVfSE9VUlMgPSAzMDAsXG4gIFNJWF9IT1VSUyA9IDM2MCxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90T3B0aW9ucyB7XG4gIHJlYWRvbmx5IHNwb3RJbnN0YW5jZVR5cGU/OiBTcG90SW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB2YWxpZFVudGlsPzogc3RyaW5nO1xuICByZWFkb25seSBtYXhQcmljZT86IHN0cmluZztcbiAgcmVhZG9ubHkgaW5zdGFuY2VJbnRlcnJ1cHRpb25CZWhhdmlvcj86IEluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I7XG4gIHJlYWRvbmx5IGJsb2NrRHVyYXRpb25NaW51dGVzPzogQmxvY2tEdXJhdGlvbk1pbnV0ZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF1bmNoVGVtcGxhdGVPcHRpb25zIHtcbiAgcmVhZG9ubHkgbWFjaGluZUltYWdlPzogZWMyLklNYWNoaW5lSW1hZ2U7XG4gIHJlYWRvbmx5IGluc3RhbmNlVHlwZT86IGVjMi5JbnN0YW5jZVR5cGU7XG4gIHJlYWRvbmx5IHNwb3RPcHRpb25zPzogU3BvdE9wdGlvbnM7XG4gIHJlYWRvbmx5IHVzZXJEYXRhPzogZWMyLlVzZXJEYXRhO1xuICByZWFkb25seSBpbnN0YW5jZVByb2ZpbGU/OiBpYW0uQ2ZuSW5zdGFuY2VQcm9maWxlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9TY2FsaW5nR3JvdXBPcHRpb25zIGV4dGVuZHMgTGF1bmNoVGVtcGxhdGVPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRlZmF1bHRDYXBhY2l0eVNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdEZsZWV0T3B0aW9ucyBleHRlbmRzIEF1dG9TY2FsaW5nR3JvdXBPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldD86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB2YWxpZEZyb20/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB2YWxpZFVudGlsPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFByb3ZpZGVyIGV4dGVuZHMgY2RrLkNvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZSA9IG5ldyBlYzIuSW5zdGFuY2VUeXBlKCd0My5sYXJnZScpO1xuICBjb25zdHJ1Y3RvcihzY29wZTogY2RrLkNvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gIH1cbiAgcHVibGljIGdldCBhbWF6b25MaW51eEFtaUltYWdlSWQoKSB7XG4gICAgcmV0dXJuIG5ldyBlYzIuQW1hem9uTGludXhJbWFnZSh7XG4gICAgICBnZW5lcmF0aW9uOiBlYzIuQW1hem9uTGludXhHZW5lcmF0aW9uLkFNQVpPTl9MSU5VWF8yLFxuICAgIH0pLmdldEltYWdlKHRoaXMpLmltYWdlSWQ7XG4gIH1cbiAgcHVibGljIGdldE9yQ3JlYXRlVnBjKHNjb3BlOiBjZGsuQ29uc3RydWN0KTogZWMyLklWcGMge1xuICAvLyB1c2UgYW4gZXhpc3RpbmcgdnBjIG9yIGNyZWF0ZSBhIG5ldyBvbmVcbiAgICByZXR1cm4gc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KCd1c2VfZGVmYXVsdF92cGMnKSA9PT0gJzEnID9cbiAgICAgIGVjMi5WcGMuZnJvbUxvb2t1cChzY29wZSwgJ1ZwYycsIHsgaXNEZWZhdWx0OiB0cnVlIH0pIDpcbiAgICAgIHNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dCgndXNlX3ZwY19pZCcpID9cbiAgICAgICAgZWMyLlZwYy5mcm9tTG9va3VwKHNjb3BlLCAnVnBjJywgeyB2cGNJZDogc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KCd1c2VfdnBjX2lkJykgfSkgOlxuICAgICAgICBuZXcgZWMyLlZwYyhzY29wZSwgJ1ZwYycsIHsgbWF4QXpzOiAzLCBuYXRHYXRld2F5czogMSB9KTtcbiAgfVxuICBwdWJsaWMgY3JlYXRlSW5zdGFuY2VQcm9maWxlKGlkOiBzdHJpbmcpOiBpYW0uQ2ZuSW5zdGFuY2VQcm9maWxlIHtcbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIGBSb2xlJHtpZH1gLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZWMyLmFtYXpvbmF3cy5jb20nKSxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IGlhbS5DZm5JbnN0YW5jZVByb2ZpbGUodGhpcywgYEluc3RhbmNlUHJvZmlsZSR7aWR9YCwge1xuICAgICAgcm9sZXM6IFtyb2xlLnJvbGVOYW1lXSxcbiAgICB9KTtcbiAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBjcmVhdGVMYXVuY2hUZW1wbGF0ZShpZDogc3RyaW5nLCBvcHRpb25zOiBMYXVuY2hUZW1wbGF0ZU9wdGlvbnMgPSB7fSk6IGVjMi5DZm5MYXVuY2hUZW1wbGF0ZSB7XG4gICAgY29uc3QgaW5zdGFuY2VQcm9maWxlQXJuID0gb3B0aW9ucy5pbnN0YW5jZVByb2ZpbGUgPyBvcHRpb25zLmluc3RhbmNlUHJvZmlsZS5hdHRyQXJuXG4gICAgICA6IHRoaXMuY3JlYXRlSW5zdGFuY2VQcm9maWxlKCdEZWZhdWx0SW5zdGFuY2VQcm9maWxlJykuYXR0ckFybjtcbiAgICByZXR1cm4gbmV3IGVjMi5DZm5MYXVuY2hUZW1wbGF0ZSh0aGlzLCBpZCwge1xuICAgICAgbGF1bmNoVGVtcGxhdGVEYXRhOiB7XG4gICAgICAgIGltYWdlSWQ6IG9wdGlvbnMubWFjaGluZUltYWdlPy5nZXRJbWFnZSh0aGlzKS5pbWFnZUlkIHx8IHRoaXMuYW1hem9uTGludXhBbWlJbWFnZUlkLFxuICAgICAgICBpbnN0YW5jZVR5cGU6IG9wdGlvbnMuaW5zdGFuY2VUeXBlPy50b1N0cmluZygpIHx8IHRoaXMuZGVmYXVsdEluc3RhbmNlVHlwZS50b1N0cmluZygpLFxuICAgICAgICB1c2VyRGF0YTogb3B0aW9ucy51c2VyRGF0YSA/IGNkay5Gbi5iYXNlNjQob3B0aW9ucy51c2VyRGF0YS5yZW5kZXIoKSkgOiB1bmRlZmluZWQsXG4gICAgICAgIGluc3RhbmNlTWFya2V0T3B0aW9uczoge1xuICAgICAgICAgIG1hcmtldFR5cGU6ICdzcG90JyxcbiAgICAgICAgICBzcG90T3B0aW9uczoge1xuICAgICAgICAgICAgYmxvY2tEdXJhdGlvbk1pbnV0ZXM6IG9wdGlvbnMuc3BvdE9wdGlvbnM/LmJsb2NrRHVyYXRpb25NaW51dGVzPy52YWx1ZU9mKCksXG4gICAgICAgICAgICBpbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yOiBvcHRpb25zLnNwb3RPcHRpb25zPy5pbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yPy52YWx1ZU9mKCksXG4gICAgICAgICAgICBtYXhQcmljZTogb3B0aW9ucy5zcG90T3B0aW9ucz8ubWF4UHJpY2UsXG4gICAgICAgICAgICBzcG90SW5zdGFuY2VUeXBlOiBvcHRpb25zLnNwb3RPcHRpb25zPy5zcG90SW5zdGFuY2VUeXBlPy52YWx1ZU9mKCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgaWFtSW5zdGFuY2VQcm9maWxlOiB7XG4gICAgICAgICAgYXJuOiBpbnN0YW5jZVByb2ZpbGVBcm4sXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ1NwZWNpZmljYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiAnaW5zdGFuY2UnLFxuICAgICAgICAgICAgdGFnczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiAnTmFtZScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGAke3RoaXMubm9kZS5wYXRofS8ke2lkfWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgY3JlYXRlRmxlZXQoaWQ6IHN0cmluZywgb3B0aW9uczogU3BvdEZsZWV0T3B0aW9ucyk6IGVjMi5DZm5TcG90RmxlZXQge1xuICAgIGNvbnN0IGx0ID0gdGhpcy5jcmVhdGVMYXVuY2hUZW1wbGF0ZShpZCwge1xuICAgICAgaW5zdGFuY2VQcm9maWxlOiBvcHRpb25zLmluc3RhbmNlUHJvZmlsZSxcbiAgICAgIGluc3RhbmNlVHlwZTogb3B0aW9ucy5pbnN0YW5jZVR5cGUsXG4gICAgICBtYWNoaW5lSW1hZ2U6IG9wdGlvbnMubWFjaGluZUltYWdlLFxuICAgICAgc3BvdE9wdGlvbnM6IG9wdGlvbnMuc3BvdE9wdGlvbnMsXG4gICAgICB1c2VyRGF0YTogb3B0aW9ucy51c2VyRGF0YSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNwb3RGbGVldFJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ0ZsZWV0Um9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdzcG90ZmxlZXQuYW1hem9uYXdzLmNvbScpLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbXG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FtYXpvbkVDMlNwb3RGbGVldFRhZ2dpbmdSb2xlJyksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdnBjU3VibmV0U2VsZWN0aW9uID0gb3B0aW9ucy52cGNTdWJuZXQgPz8ge1xuICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURSxcbiAgICB9O1xuXG4gICAgY29uc3Qgc3VibmV0Q29uZmlnID0gb3B0aW9ucy52cGMuc2VsZWN0U3VibmV0cyh2cGNTdWJuZXRTZWxlY3Rpb24pLnN1Ym5ldHMubWFwKHMgPT4gKHtcbiAgICAgIHN1Ym5ldElkOiBzLnN1Ym5ldElkLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IGZsZWV0ID0gbmV3IGVjMi5DZm5TcG90RmxlZXQodGhpcywgYCR7aWR9UmVzb3VyY2VgLCB7XG4gICAgICBzcG90RmxlZXRSZXF1ZXN0Q29uZmlnRGF0YToge1xuICAgICAgICBsYXVuY2hUZW1wbGF0ZUNvbmZpZ3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYXVuY2hUZW1wbGF0ZVNwZWNpZmljYXRpb246IHtcbiAgICAgICAgICAgICAgbGF1bmNoVGVtcGxhdGVJZDogbHQucmVmLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiBsdC5hdHRyTGF0ZXN0VmVyc2lvbk51bWJlcixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvdmVycmlkZXM6IHN1Ym5ldENvbmZpZyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBpYW1GbGVldFJvbGU6IHNwb3RGbGVldFJvbGUucm9sZUFybixcbiAgICAgICAgdGFyZ2V0Q2FwYWNpdHk6IG9wdGlvbnMuZGVmYXVsdENhcGFjaXR5U2l6ZSA/PyAxLFxuICAgICAgICB2YWxpZEZyb206IG9wdGlvbnMudmFsaWRGcm9tLFxuICAgICAgICB2YWxpZFVudGlsOiBvcHRpb25zLnZhbGlkVW50aWwsXG4gICAgICAgIHRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uOiBvcHRpb25zLnRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uID8/IHRydWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBmbGVldDtcbiAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBjcmVhdGVBdXRvU2NhbGluZ0dyb3VwKGlkOiBzdHJpbmcsIG9wdGlvbnM6IEF1dG9TY2FsaW5nR3JvdXBPcHRpb25zKTogYXV0b3NjYWxpbmcuQXV0b1NjYWxpbmdHcm91cCB7XG4gICAgY29uc3QgYXNnID0gbmV3IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAodGhpcywgaWQsIHtcbiAgICAgIGluc3RhbmNlVHlwZTogdGhpcy5kZWZhdWx0SW5zdGFuY2VUeXBlLFxuICAgICAgbWFjaGluZUltYWdlOiBuZXcgZWMyLkFtYXpvbkxpbnV4SW1hZ2UoKSxcbiAgICAgIHZwYzogb3B0aW9ucy52cGMsXG4gICAgICBtaW5DYXBhY2l0eTogb3B0aW9ucy5kZWZhdWx0Q2FwYWNpdHlTaXplID8/IDEsXG4gICAgICB1cGRhdGVQb2xpY3k6IGF1dG9zY2FsaW5nLlVwZGF0ZVBvbGljeS5yZXBsYWNpbmdVcGRhdGUoKSxcbiAgICB9KTtcbiAgICBjb25zdCBjZm5JbnN0YW5jZVByb2ZpbGUgPSBhc2cubm9kZS50cnlGaW5kQ2hpbGQoJ0luc3RhbmNlUHJvZmlsZScpIGFzIGlhbS5DZm5JbnN0YW5jZVByb2ZpbGU7XG4gICAgYXNnLnJvbGUuYWRkTWFuYWdlZFBvbGljeShpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ0FtYXpvblNTTU1hbmFnZWRJbnN0YW5jZUNvcmUnKSk7XG4gICAgY29uc3QgbHQgPSB0aGlzLmNyZWF0ZUxhdW5jaFRlbXBsYXRlKGBMYXVuY2hUZW1wbGF0ZSR7aWR9YCwge1xuICAgICAgaW5zdGFuY2VQcm9maWxlOiBjZm5JbnN0YW5jZVByb2ZpbGUsXG4gICAgICBpbnN0YW5jZVR5cGU6IG9wdGlvbnMuaW5zdGFuY2VUeXBlLFxuICAgICAgbWFjaGluZUltYWdlOiBvcHRpb25zLm1hY2hpbmVJbWFnZSxcbiAgICAgIHNwb3RPcHRpb25zOiBvcHRpb25zLnNwb3RPcHRpb25zLFxuICAgICAgdXNlckRhdGE6IG9wdGlvbnMudXNlckRhdGEsXG4gICAgfSk7XG4gICAgLy8gcHJvcGVydHkgb3ZlcnJpZGVcbiAgICBjb25zdCBjZm5Bc2cgPSBhc2cubm9kZS50cnlGaW5kQ2hpbGQoJ0FTRycpIGFzIGF1dG9zY2FsaW5nLkNmbkF1dG9TY2FsaW5nR3JvdXA7XG4gICAgY2ZuQXNnLmFkZFByb3BlcnR5RGVsZXRpb25PdmVycmlkZSgnTGF1bmNoQ29uZmlndXJhdGlvbk5hbWUnKTtcbiAgICBjZm5Bc2cuYWRkUHJvcGVydHlPdmVycmlkZSgnTGF1bmNoVGVtcGxhdGUnLCB7XG4gICAgICBMYXVuY2hUZW1wbGF0ZUlkOiBsdC5yZWYsXG4gICAgICBWZXJzaW9uOiBsdC5hdHRyTGF0ZXN0VmVyc2lvbk51bWJlcixcbiAgICB9KTtcbiAgICByZXR1cm4gYXNnO1xuICB9XG4gIHB1YmxpYyBjcmVhdGVJbnN0YW5jZShpZDogc3RyaW5nLCBvcHRvbnM6IHNwb3RvbmUuU3BvdEluc3RhbmNlUHJvcHMpOiBzcG90b25lLlNwb3RJbnN0YW5jZSB7XG4gICAgcmV0dXJuIG5ldyBzcG90b25lLlNwb3RJbnN0YW5jZSh0aGlzLCBpZCwgb3B0b25zKTtcbiAgfVxufVxuIl19
180
+ Provider[_a] = { fqn: "cdk-ec2spot.Provider", version: "1.0.0" };
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FJcUI7QUFDckIsbUNBQW1DO0FBQ25DLHdDQUF3QztBQUN4QywyQ0FBdUM7QUFHdkMsSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLHlDQUFxQixDQUFBO0lBQ3JCLDZDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFIVyxnQkFBZ0IsR0FBaEIsd0JBQWdCLEtBQWhCLHdCQUFnQixRQUczQjtBQUVELElBQVksNEJBSVg7QUFKRCxXQUFZLDRCQUE0QjtJQUN0Qyx1REFBdUIsQ0FBQTtJQUN2Qiw2Q0FBYSxDQUFBO0lBQ2IsdURBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUpXLDRCQUE0QixHQUE1QixvQ0FBNEIsS0FBNUIsb0NBQTRCLFFBSXZDO0FBRUQsSUFBWSxvQkFPWDtBQVBELFdBQVksb0JBQW9CO0lBQzlCLHdFQUFhLENBQUE7SUFDYiwyRUFBZSxDQUFBO0lBQ2YsK0VBQWlCLENBQUE7SUFDakIsNkVBQWdCLENBQUE7SUFDaEIsNkVBQWdCLENBQUE7SUFDaEIsMkVBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUFcsb0JBQW9CLEdBQXBCLDRCQUFvQixLQUFwQiw0QkFBb0IsUUFPL0I7QUF3REQsTUFBYSxRQUFTLFNBQVEsc0JBQVM7SUFFckMsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUZGLHdCQUFtQixHQUFxQixJQUFJLHFCQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRzFGLENBQUM7SUFDRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLElBQUkscUJBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztZQUM5QixVQUFVLEVBQUUscUJBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjO1NBQ3JELENBQUMsQ0FBQyxRQUFRLENB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QyxpQkFBaUIsQ0FBMkIsQ0FBQztRQUM5RixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFHLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztRQUN0RyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxFQUFFO1lBQzFELGVBQWUsRUFBRSxrQkFBa0I7WUFDbkMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ2xDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtZQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1NBQzNCLENBQUMsQ0FBQztRQUNILG9CQUFvQjtRQUNwQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQW9DLENBQUM7UUFDL0UsTUFBTSxDQUFDLDJCQUEyQixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFO1lBQzNDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxHQUFHO1lBQ3hCLE9BQU8sRUFBRSxFQUFFLENBQUMsdUJBQXVCO1NBQ3BDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNNLGNBQWMsQ0FBQyxFQUFVLEVBQUUsTUFBaUM7UUFDakUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDOztBQW5KSCw0QkFvSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3NfYXV0b3NjYWxpbmcgYXMgYXV0b3NjYWxpbmcsXG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3NfaWFtIGFzIGlhbSxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIHNwb3RvbmUgZnJvbSAnY2RrLXNwb3Qtb25lJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cbmV4cG9ydCBlbnVtIFNwb3RJbnN0YW5jZVR5cGUge1xuICBPTkVfVElNRSA9ICdvbmUtdGltZScsXG4gIFBFUlNJU1RFTlQgPSAncGVyc2lzdGVudCcsXG59XG5cbmV4cG9ydCBlbnVtIEluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3Ige1xuICBISUJFUk5BVEUgPSAnaGliZXJuYXRlJyxcbiAgU1RPUCA9ICdzdG9wJyxcbiAgVEVSTUlOQVRFID0gJ3Rlcm1pbmF0ZScsXG59XG5cbmV4cG9ydCBlbnVtIEJsb2NrRHVyYXRpb25NaW51dGVzIHtcbiAgT05FX0hPVVIgPSA2MCxcbiAgVFdPX0hPVVJTID0gMTIwLFxuICBUSFJFRV9IT1VSUyA9IDE4MCxcbiAgRk9VUl9IT1VSUyA9IDI0MCxcbiAgRklWRV9IT1VSUyA9IDMwMCxcbiAgU0lYX0hPVVJTID0gMzYwLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwb3RPcHRpb25zIHtcbiAgcmVhZG9ubHkgc3BvdEluc3RhbmNlVHlwZT86IFNwb3RJbnN0YW5jZVR5cGU7XG4gIHJlYWRvbmx5IHZhbGlkVW50aWw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heFByaWNlPzogc3RyaW5nO1xuICByZWFkb25seSBpbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yPzogSW5zdGFuY2VJbnRlcnJ1cHRpb25CZWhhdmlvcjtcbiAgcmVhZG9ubHkgYmxvY2tEdXJhdGlvbk1pbnV0ZXM/OiBCbG9ja0R1cmF0aW9uTWludXRlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hUZW1wbGF0ZU9wdGlvbnMge1xuICByZWFkb25seSBtYWNoaW5lSW1hZ2U/OiBlYzIuSU1hY2hpbmVJbWFnZTtcbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlPzogZWMyLkluc3RhbmNlVHlwZTtcbiAgcmVhZG9ubHkgc3BvdE9wdGlvbnM/OiBTcG90T3B0aW9ucztcbiAgcmVhZG9ubHkgdXNlckRhdGE/OiBlYzIuVXNlckRhdGE7XG4gIHJlYWRvbmx5IGluc3RhbmNlUHJvZmlsZT86IGlhbS5DZm5JbnN0YW5jZVByb2ZpbGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b1NjYWxpbmdHcm91cE9wdGlvbnMgZXh0ZW5kcyBMYXVuY2hUZW1wbGF0ZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHZwYyBmb3IgdGhlIEF1dG9TY2FsaW5nR3JvdXBcbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG4gIC8qKlxuICAgKiBkZWZhdWx0IGNhcGFjaXR5IHNpemUgZm9yIHRoZSBBdXRvIFNjYWxpbmcgR3JvdXBcbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENhcGFjaXR5U2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcG90RmxlZXRPcHRpb25zIGV4dGVuZHMgQXV0b1NjYWxpbmdHcm91cE9wdGlvbnMge1xuICAvKipcbiAgICogVlBDIHN1Ym5ldCBzZWxlY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGVjMi5TdWJuZXRUeXBlLlBSSVZBVEVcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldD86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHZhbGlkIGR1cmF0aW9uXG4gICAqIEBkZWZhdWx0IC0gbm93XG4gICAqL1xuICByZWFkb25seSB2YWxpZEZyb20/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHZhbGlkIGR1cmF0aW9uXG4gICAqIEBkZWZhdWx0IC0gdW5saW1pdGVkXG4gICAqL1xuICByZWFkb25seSB2YWxpZFVudGlsPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciB0byB0ZXJtaW5hdGUgdGhlIGZsZWV0IHdpdGggZXhwaXJhdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB0ZXJtaW5hdGVJbnN0YW5jZXNXaXRoRXhwaXJhdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBQcm92aWRlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZSA9IG5ldyBlYzIuSW5zdGFuY2VUeXBlKCd0My5sYXJnZScpO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGFtYXpvbkxpbnV4QW1pSW1hZ2VJZCgpIHtcbiAgICByZXR1cm4gbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKHtcbiAgICAgIGdlbmVyYXRpb246IGVjMi5BbWF6b25MaW51eEdlbmVyYXRpb24uQU1BWk9OX0xJTlVYXzIsXG4gICAgfSkuZ2V0SW1hZ2UodGhpcykuaW1hZ2VJZDtcbiAgfVxuICBwdWJsaWMgZ2V0T3JDcmVhdGVWcGMoc2NvcGU6IENvbnN0cnVjdCk6IGVjMi5JVnBjIHtcbiAgLy8gdXNlIGFuIGV4aXN0aW5nIHZwYyBvciBjcmVhdGUgYSBuZXcgb25lXG4gICAgcmV0dXJuIHNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dCgndXNlX2RlZmF1bHRfdnBjJykgPT09ICcxJyA/XG4gICAgICBlYzIuVnBjLmZyb21Mb29rdXAoc2NvcGUsICdWcGMnLCB7IGlzRGVmYXVsdDogdHJ1ZSB9KSA6XG4gICAgICBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoJ3VzZV92cGNfaWQnKSA/XG4gICAgICAgIGVjMi5WcGMuZnJvbUxvb2t1cChzY29wZSwgJ1ZwYycsIHsgdnBjSWQ6IHNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dCgndXNlX3ZwY19pZCcpIH0pIDpcbiAgICAgICAgbmV3IGVjMi5WcGMoc2NvcGUsICdWcGMnLCB7IG1heEF6czogMywgbmF0R2F0ZXdheXM6IDEgfSk7XG4gIH1cbiAgcHVibGljIGNyZWF0ZUluc3RhbmNlUHJvZmlsZShpZDogc3RyaW5nKTogaWFtLkNmbkluc3RhbmNlUHJvZmlsZSB7XG4gICAgY29uc3Qgcm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCBgUm9sZSR7aWR9YCwge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2VjMi5hbWF6b25hd3MuY29tJyksXG4gICAgfSk7XG4gICAgcmV0dXJuIG5ldyBpYW0uQ2ZuSW5zdGFuY2VQcm9maWxlKHRoaXMsIGBJbnN0YW5jZVByb2ZpbGUke2lkfWAsIHtcbiAgICAgIHJvbGVzOiBbcm9sZS5yb2xlTmFtZV0sXG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIENyZWF0ZSBMYXVuY2ggVGVtcGxhdGVcbiAgICogQHBhcmFtIGlkIGxhdW5jaCB0ZW1wbGF0ZSBpZFxuICAgKiBAcGFyYW0gb3B0aW9ucyBsYXVuY2ggdGVtcGxhdGUgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIGNyZWF0ZUxhdW5jaFRlbXBsYXRlKGlkOiBzdHJpbmcsIG9wdGlvbnM6IExhdW5jaFRlbXBsYXRlT3B0aW9ucyA9IHt9KTogZWMyLkNmbkxhdW5jaFRlbXBsYXRlIHtcbiAgICBjb25zdCBpbnN0YW5jZVByb2ZpbGVBcm4gPSBvcHRpb25zLmluc3RhbmNlUHJvZmlsZSA/IG9wdGlvbnMuaW5zdGFuY2VQcm9maWxlLmF0dHJBcm5cbiAgICAgIDogdGhpcy5jcmVhdGVJbnN0YW5jZVByb2ZpbGUoJ0RlZmF1bHRJbnN0YW5jZVByb2ZpbGUnKS5hdHRyQXJuO1xuICAgIHJldHVybiBuZXcgZWMyLkNmbkxhdW5jaFRlbXBsYXRlKHRoaXMsIGlkLCB7XG4gICAgICBsYXVuY2hUZW1wbGF0ZURhdGE6IHtcbiAgICAgICAgaW1hZ2VJZDogb3B0aW9ucy5tYWNoaW5lSW1hZ2U/LmdldEltYWdlKHRoaXMpLmltYWdlSWQgfHwgdGhpcy5hbWF6b25MaW51eEFtaUltYWdlSWQsXG4gICAgICAgIGluc3RhbmNlVHlwZTogb3B0aW9ucy5pbnN0YW5jZVR5cGU/LnRvU3RyaW5nKCkgfHwgdGhpcy5kZWZhdWx0SW5zdGFuY2VUeXBlLnRvU3RyaW5nKCksXG4gICAgICAgIHVzZXJEYXRhOiBvcHRpb25zLnVzZXJEYXRhID8gY2RrLkZuLmJhc2U2NChvcHRpb25zLnVzZXJEYXRhLnJlbmRlcigpKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgaW5zdGFuY2VNYXJrZXRPcHRpb25zOiB7XG4gICAgICAgICAgbWFya2V0VHlwZTogJ3Nwb3QnLFxuICAgICAgICAgIHNwb3RPcHRpb25zOiB7XG4gICAgICAgICAgICBibG9ja0R1cmF0aW9uTWludXRlczogb3B0aW9ucy5zcG90T3B0aW9ucz8uYmxvY2tEdXJhdGlvbk1pbnV0ZXM/LnZhbHVlT2YoKSxcbiAgICAgICAgICAgIGluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I6IG9wdGlvbnMuc3BvdE9wdGlvbnM/Lmluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I/LnZhbHVlT2YoKSxcbiAgICAgICAgICAgIG1heFByaWNlOiBvcHRpb25zLnNwb3RPcHRpb25zPy5tYXhQcmljZSxcbiAgICAgICAgICAgIHNwb3RJbnN0YW5jZVR5cGU6IG9wdGlvbnMuc3BvdE9wdGlvbnM/LnNwb3RJbnN0YW5jZVR5cGU/LnZhbHVlT2YoKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBpYW1JbnN0YW5jZVByb2ZpbGU6IHtcbiAgICAgICAgICBhcm46IGluc3RhbmNlUHJvZmlsZUFybixcbiAgICAgICAgfSxcbiAgICAgICAgdGFnU3BlY2lmaWNhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdpbnN0YW5jZScsXG4gICAgICAgICAgICB0YWdzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6ICdOYW1lJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogYCR7dGhpcy5ub2RlLnBhdGh9LyR7aWR9YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIENyZWF0ZSBFQzIgU3BvdCBGbGVldFxuICAgKiBAcGFyYW0gaWQgZmxlZXQgaWRcbiAgICogQHBhcmFtIG9wdGlvbnMgc3BvdCBmbGVldCBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlRmxlZXQoaWQ6IHN0cmluZywgb3B0aW9uczogU3BvdEZsZWV0T3B0aW9ucyk6IGVjMi5DZm5TcG90RmxlZXQge1xuICAgIGNvbnN0IGx0ID0gdGhpcy5jcmVhdGVMYXVuY2hUZW1wbGF0ZShpZCwge1xuICAgICAgaW5zdGFuY2VQcm9maWxlOiBvcHRpb25zLmluc3RhbmNlUHJvZmlsZSxcbiAgICAgIGluc3RhbmNlVHlwZTogb3B0aW9ucy5pbnN0YW5jZVR5cGUsXG4gICAgICBtYWNoaW5lSW1hZ2U6IG9wdGlvbnMubWFjaGluZUltYWdlLFxuICAgICAgc3BvdE9wdGlvbnM6IG9wdGlvbnMuc3BvdE9wdGlvbnMsXG4gICAgICB1c2VyRGF0YTogb3B0aW9ucy51c2VyRGF0YSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNwb3RGbGVldFJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ0ZsZWV0Um9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdzcG90ZmxlZXQuYW1hem9uYXdzLmNvbScpLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbXG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FtYXpvbkVDMlNwb3RGbGVldFRhZ2dpbmdSb2xlJyksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdnBjU3VibmV0U2VsZWN0aW9uID0gb3B0aW9ucy52cGNTdWJuZXQgPz8ge1xuICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURSxcbiAgICB9O1xuXG4gICAgY29uc3Qgc3VibmV0Q29uZmlnID0gb3B0aW9ucy52cGMuc2VsZWN0U3VibmV0cyh2cGNTdWJuZXRTZWxlY3Rpb24pLnN1Ym5ldHMubWFwKHMgPT4gKHtcbiAgICAgIHN1Ym5ldElkOiBzLnN1Ym5ldElkLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IGZsZWV0ID0gbmV3IGVjMi5DZm5TcG90RmxlZXQodGhpcywgYCR7aWR9UmVzb3VyY2VgLCB7XG4gICAgICBzcG90RmxlZXRSZXF1ZXN0Q29uZmlnRGF0YToge1xuICAgICAgICBsYXVuY2hUZW1wbGF0ZUNvbmZpZ3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYXVuY2hUZW1wbGF0ZVNwZWNpZmljYXRpb246IHtcbiAgICAgICAgICAgICAgbGF1bmNoVGVtcGxhdGVJZDogbHQucmVmLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiBsdC5hdHRyTGF0ZXN0VmVyc2lvbk51bWJlcixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvdmVycmlkZXM6IHN1Ym5ldENvbmZpZyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBpYW1GbGVldFJvbGU6IHNwb3RGbGVldFJvbGUucm9sZUFybixcbiAgICAgICAgdGFyZ2V0Q2FwYWNpdHk6IG9wdGlvbnMuZGVmYXVsdENhcGFjaXR5U2l6ZSA/PyAxLFxuICAgICAgICB2YWxpZEZyb206IG9wdGlvbnMudmFsaWRGcm9tLFxuICAgICAgICB2YWxpZFVudGlsOiBvcHRpb25zLnZhbGlkVW50aWwsXG4gICAgICAgIHRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uOiBvcHRpb25zLnRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uID8/IHRydWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBmbGVldDtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlIEF1dG9TY2FsaW5nIEdyb3VwXG4gICAqIEBwYXJhbSBpZCBBdXRvU2NhbGluZyBHcm91cCBJRFxuICAgKiBAcGFyYW0gb3B0aW9ucyBBdXRvU2NhbGluZyBHcm91cCBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlQXV0b1NjYWxpbmdHcm91cChpZDogc3RyaW5nLCBvcHRpb25zOiBBdXRvU2NhbGluZ0dyb3VwT3B0aW9ucyk6IGF1dG9zY2FsaW5nLkF1dG9TY2FsaW5nR3JvdXAge1xuICAgIGNvbnN0IGFzZyA9IG5ldyBhdXRvc2NhbGluZy5BdXRvU2NhbGluZ0dyb3VwKHRoaXMsIGlkLCB7XG4gICAgICBpbnN0YW5jZVR5cGU6IHRoaXMuZGVmYXVsdEluc3RhbmNlVHlwZSxcbiAgICAgIG1hY2hpbmVJbWFnZTogbmV3IGVjMi5BbWF6b25MaW51eEltYWdlKCksXG4gICAgICB2cGM6IG9wdGlvbnMudnBjLFxuICAgICAgbWluQ2FwYWNpdHk6IG9wdGlvbnMuZGVmYXVsdENhcGFjaXR5U2l6ZSA/PyAxLFxuICAgICAgdXBkYXRlUG9saWN5OiBhdXRvc2NhbGluZy5VcGRhdGVQb2xpY3kucmVwbGFjaW5nVXBkYXRlKCksXG4gICAgfSk7XG4gICAgY29uc3QgY2ZuSW5zdGFuY2VQcm9maWxlID0gYXNnLm5vZGUudHJ5RmluZENoaWxkKCdJbnN0YW5jZVByb2ZpbGUnKSBhcyBpYW0uQ2ZuSW5zdGFuY2VQcm9maWxlO1xuICAgIGFzZy5yb2xlLmFkZE1hbmFnZWRQb2xpY3koaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBbWF6b25TU01NYW5hZ2VkSW5zdGFuY2VDb3JlJykpO1xuICAgIGNvbnN0IGx0ID0gdGhpcy5jcmVhdGVMYXVuY2hUZW1wbGF0ZShgTGF1bmNoVGVtcGxhdGUke2lkfWAsIHtcbiAgICAgIGluc3RhbmNlUHJvZmlsZTogY2ZuSW5zdGFuY2VQcm9maWxlLFxuICAgICAgaW5zdGFuY2VUeXBlOiBvcHRpb25zLmluc3RhbmNlVHlwZSxcbiAgICAgIG1hY2hpbmVJbWFnZTogb3B0aW9ucy5tYWNoaW5lSW1hZ2UsXG4gICAgICBzcG90T3B0aW9uczogb3B0aW9ucy5zcG90T3B0aW9ucyxcbiAgICAgIHVzZXJEYXRhOiBvcHRpb25zLnVzZXJEYXRhLFxuICAgIH0pO1xuICAgIC8vIHByb3BlcnR5IG92ZXJyaWRlXG4gICAgY29uc3QgY2ZuQXNnID0gYXNnLm5vZGUudHJ5RmluZENoaWxkKCdBU0cnKSBhcyBhdXRvc2NhbGluZy5DZm5BdXRvU2NhbGluZ0dyb3VwO1xuICAgIGNmbkFzZy5hZGRQcm9wZXJ0eURlbGV0aW9uT3ZlcnJpZGUoJ0xhdW5jaENvbmZpZ3VyYXRpb25OYW1lJyk7XG4gICAgY2ZuQXNnLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ0xhdW5jaFRlbXBsYXRlJywge1xuICAgICAgTGF1bmNoVGVtcGxhdGVJZDogbHQucmVmLFxuICAgICAgVmVyc2lvbjogbHQuYXR0ckxhdGVzdFZlcnNpb25OdW1iZXIsXG4gICAgfSk7XG4gICAgcmV0dXJuIGFzZztcbiAgfVxuICBwdWJsaWMgY3JlYXRlSW5zdGFuY2UoaWQ6IHN0cmluZywgb3B0b25zOiBzcG90b25lLlNwb3RJbnN0YW5jZVByb3BzKTogc3BvdG9uZS5TcG90SW5zdGFuY2Uge1xuICAgIHJldHVybiBuZXcgc3BvdG9uZS5TcG90SW5zdGFuY2UodGhpcywgaWQsIG9wdG9ucyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
- import * as cdk from '@aws-cdk/core';
1
+ import { Stack } from 'aws-cdk-lib';
2
2
  export declare class IntegTesting {
3
- readonly stack: cdk.Stack[];
3
+ readonly stack: Stack[];
4
4
  constructor();
5
5
  }
6
+ //# sourceMappingURL=integ.default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integ.default.d.ts","sourceRoot":"","sources":["../src/integ.default.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAEN,MAAM,aAAa,CAAC;AAGrB,qBAAa,YAAY;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;;CAuCzB"}
@@ -1,30 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IntegTesting = void 0;
4
- const ec2 = require("@aws-cdk/aws-ec2");
5
- const cdk = require("@aws-cdk/core");
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
6
5
  const ec2spot = require("./index");
7
6
  class IntegTesting {
8
7
  constructor() {
9
- const app = new cdk.App();
8
+ const app = new aws_cdk_lib_1.App();
10
9
  const env = {
11
10
  region: process.env.CDK_DEFAULT_REGION || 'us-east-1',
12
11
  account: process.env.CDK_DEFAULT_ACCOUNT || '123456789012',
13
12
  };
14
- const stack = new cdk.Stack(app, 'integ-stack', { env });
13
+ const stack = new aws_cdk_lib_1.Stack(app, 'integ-stack', { env });
15
14
  const provider = new ec2spot.Provider(stack, 'Provider');
16
15
  const vpc = provider.getOrCreateVpc(stack);
17
16
  // create a autoscaling group with spot instances
18
17
  provider.createAutoScalingGroup('SpotASG', {
19
18
  vpc,
20
19
  defaultCapacitySize: 2,
21
- instanceType: new ec2.InstanceType('m5.large'),
20
+ instanceType: new aws_cdk_lib_1.aws_ec2.InstanceType('m5.large'),
22
21
  });
23
22
  // create a spot fleet
24
23
  provider.createFleet('SpotFleet', {
25
24
  vpc,
26
25
  defaultCapacitySize: 2,
27
- instanceType: new ec2.InstanceType('t3.large'),
26
+ instanceType: new aws_cdk_lib_1.aws_ec2.InstanceType('t3.large'),
28
27
  });
29
28
  // create single spot instance
30
29
  provider.createInstance('SpotInstance', { vpc });
@@ -36,4 +35,4 @@ class IntegTesting {
36
35
  }
37
36
  exports.IntegTesting = IntegTesting;
38
37
  new IntegTesting();
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMsbUNBQW1DO0FBRW5DLE1BQWEsWUFBWTtJQUd2QjtRQUNFLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRTFCLE1BQU0sR0FBRyxHQUFHO1lBQ1YsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksV0FBVztZQUNyRCxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsSUFBSSxjQUFjO1NBQzNELENBQUM7UUFFRixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV6RCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLGlEQUFpRDtRQUNqRCxRQUFRLENBQUMsc0JBQXNCLENBQUMsU0FBUyxFQUFFO1lBQ3pDLEdBQUc7WUFDSCxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RCLFlBQVksRUFBRSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1NBQy9DLENBQUMsQ0FBQztRQUVILHNCQUFzQjtRQUN0QixRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtZQUNoQyxHQUFHO1lBQ0gsbUJBQW1CLEVBQUUsQ0FBQztZQUN0QixZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztTQUMvQyxDQUFDLENBQUM7UUFFSCw4QkFBOEI7UUFDOUIsUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRWpELDRDQUE0QztRQUM1QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQzthQUNyQyxjQUFjLENBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBeENELG9DQXdDQztBQUVELElBQUksWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBlYzIgZnJvbSAnQGF3cy1jZGsvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgKiBhcyBlYzJzcG90IGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQgY2xhc3MgSW50ZWdUZXN0aW5nIHtcbiAgcmVhZG9ubHkgc3RhY2s6IGNkay5TdGFja1tdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG5cbiAgICBjb25zdCBlbnYgPSB7XG4gICAgICByZWdpb246IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTiB8fCAndXMtZWFzdC0xJyxcbiAgICAgIGFjY291bnQ6IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQgfHwgJzEyMzQ1Njc4OTAxMicsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdpbnRlZy1zdGFjaycsIHsgZW52IH0pO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgZWMyc3BvdC5Qcm92aWRlcihzdGFjaywgJ1Byb3ZpZGVyJyk7XG5cbiAgICBjb25zdCB2cGMgPSBwcm92aWRlci5nZXRPckNyZWF0ZVZwYyhzdGFjayk7XG5cbiAgICAvLyBjcmVhdGUgYSBhdXRvc2NhbGluZyBncm91cCB3aXRoIHNwb3QgaW5zdGFuY2VzXG4gICAgcHJvdmlkZXIuY3JlYXRlQXV0b1NjYWxpbmdHcm91cCgnU3BvdEFTRycsIHtcbiAgICAgIHZwYyxcbiAgICAgIGRlZmF1bHRDYXBhY2l0eVNpemU6IDIsXG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlKCdtNS5sYXJnZScpLFxuICAgIH0pO1xuXG4gICAgLy8gY3JlYXRlIGEgc3BvdCBmbGVldFxuICAgIHByb3ZpZGVyLmNyZWF0ZUZsZWV0KCdTcG90RmxlZXQnLCB7XG4gICAgICB2cGMsXG4gICAgICBkZWZhdWx0Q2FwYWNpdHlTaXplOiAyLFxuICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgZWMyLkluc3RhbmNlVHlwZSgndDMubGFyZ2UnKSxcbiAgICB9KTtcblxuICAgIC8vIGNyZWF0ZSBzaW5nbGUgc3BvdCBpbnN0YW5jZVxuICAgIHByb3ZpZGVyLmNyZWF0ZUluc3RhbmNlKCdTcG90SW5zdGFuY2UnLCB7IHZwYyB9KTtcblxuICAgIC8vIGNyZWF0ZSBhbm90aGVyIGluc3RhbmNlIHdpdGggbmV3IHByb3ZpZGVyXG4gICAgbmV3IGVjMnNwb3QuUHJvdmlkZXIoc3RhY2ssICdQcm92aWRlcjInKVxuICAgICAgLmNyZWF0ZUluc3RhbmNlKCdTcG90SW5zdGFuY2UyJywgeyB2cGMgfSk7XG5cbiAgICB0aGlzLnN0YWNrID0gW3N0YWNrXTtcbiAgfVxufVxuXG5uZXcgSW50ZWdUZXN0aW5nKCk7XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUdxQjtBQUNyQixtQ0FBbUM7QUFFbkMsTUFBYSxZQUFZO0lBR3ZCO1FBQ0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBRyxFQUFFLENBQUM7UUFFdEIsTUFBTSxHQUFHLEdBQUc7WUFDVixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxXQUFXO1lBQ3JELE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixJQUFJLGNBQWM7U0FDM0QsQ0FBQztRQUVGLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUVyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXpELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0MsaURBQWlEO1FBQ2pELFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUU7WUFDekMsR0FBRztZQUNILG1CQUFtQixFQUFFLENBQUM7WUFDdEIsWUFBWSxFQUFFLElBQUkscUJBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1NBQy9DLENBQUMsQ0FBQztRQUVILHNCQUFzQjtRQUN0QixRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtZQUNoQyxHQUFHO1lBQ0gsbUJBQW1CLEVBQUUsQ0FBQztZQUN0QixZQUFZLEVBQUUsSUFBSSxxQkFBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsOEJBQThCO1FBQzlCLFFBQVEsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUVqRCw0Q0FBNEM7UUFDNUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUM7YUFDckMsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQXhDRCxvQ0F3Q0M7QUFFRCxJQUFJLFlBQVksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU3RhY2ssIEFwcCxcbiAgYXdzX2VjMiBhcyBlYzIsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjMnNwb3QgZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCBjbGFzcyBJbnRlZ1Rlc3Rpbmcge1xuICByZWFkb25seSBzdGFjazogU3RhY2tbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbiAgICBjb25zdCBlbnYgPSB7XG4gICAgICByZWdpb246IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTiB8fCAndXMtZWFzdC0xJyxcbiAgICAgIGFjY291bnQ6IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQgfHwgJzEyMzQ1Njc4OTAxMicsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ2ludGVnLXN0YWNrJywgeyBlbnYgfSk7XG5cbiAgICBjb25zdCBwcm92aWRlciA9IG5ldyBlYzJzcG90LlByb3ZpZGVyKHN0YWNrLCAnUHJvdmlkZXInKTtcblxuICAgIGNvbnN0IHZwYyA9IHByb3ZpZGVyLmdldE9yQ3JlYXRlVnBjKHN0YWNrKTtcblxuICAgIC8vIGNyZWF0ZSBhIGF1dG9zY2FsaW5nIGdyb3VwIHdpdGggc3BvdCBpbnN0YW5jZXNcbiAgICBwcm92aWRlci5jcmVhdGVBdXRvU2NhbGluZ0dyb3VwKCdTcG90QVNHJywge1xuICAgICAgdnBjLFxuICAgICAgZGVmYXVsdENhcGFjaXR5U2l6ZTogMixcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IGVjMi5JbnN0YW5jZVR5cGUoJ201LmxhcmdlJyksXG4gICAgfSk7XG5cbiAgICAvLyBjcmVhdGUgYSBzcG90IGZsZWV0XG4gICAgcHJvdmlkZXIuY3JlYXRlRmxlZXQoJ1Nwb3RGbGVldCcsIHtcbiAgICAgIHZwYyxcbiAgICAgIGRlZmF1bHRDYXBhY2l0eVNpemU6IDIsXG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlKCd0My5sYXJnZScpLFxuICAgIH0pO1xuXG4gICAgLy8gY3JlYXRlIHNpbmdsZSBzcG90IGluc3RhbmNlXG4gICAgcHJvdmlkZXIuY3JlYXRlSW5zdGFuY2UoJ1Nwb3RJbnN0YW5jZScsIHsgdnBjIH0pO1xuXG4gICAgLy8gY3JlYXRlIGFub3RoZXIgaW5zdGFuY2Ugd2l0aCBuZXcgcHJvdmlkZXJcbiAgICBuZXcgZWMyc3BvdC5Qcm92aWRlcihzdGFjaywgJ1Byb3ZpZGVyMicpXG4gICAgICAuY3JlYXRlSW5zdGFuY2UoJ1Nwb3RJbnN0YW5jZTInLCB7IHZwYyB9KTtcblxuICAgIHRoaXMuc3RhY2sgPSBbc3RhY2tdO1xuICB9XG59XG5cbm5ldyBJbnRlZ1Rlc3RpbmcoKTtcbiJdfQ==
package/package.json CHANGED
@@ -13,15 +13,18 @@
13
13
  "compile": "npx projen compile",
14
14
  "default": "npx projen default",
15
15
  "docgen": "npx projen docgen",
16
+ "eject": "npx projen eject",
16
17
  "eslint": "npx projen eslint",
17
18
  "gitpod:prebuild": "npx projen gitpod:prebuild",
18
19
  "package": "npx projen package",
20
+ "package-all": "npx projen package-all",
21
+ "package:js": "npx projen package:js",
22
+ "package:python": "npx projen package:python",
19
23
  "post-compile": "npx projen post-compile",
24
+ "post-upgrade": "npx projen post-upgrade",
20
25
  "pre-compile": "npx projen pre-compile",
21
- "publish:github": "npx projen publish:github",
22
- "publish:npm": "npx projen publish:npm",
23
- "publish:pypi": "npx projen publish:pypi",
24
26
  "release": "npx projen release",
27
+ "release:cdkv1": "npx projen release:cdkv1",
25
28
  "test": "npx projen test",
26
29
  "test:update": "npx projen test:update",
27
30
  "test:watch": "npx projen test:watch",
@@ -36,54 +39,47 @@
36
39
  "organization": false
37
40
  },
38
41
  "devDependencies": {
39
- "@aws-cdk/assert": "^1.73.0",
40
- "@types/jest": "^27.0.3",
41
- "@types/node": "^14.17.0",
42
+ "@types/jest": "^27.5.1",
43
+ "@types/node": "^14",
42
44
  "@typescript-eslint/eslint-plugin": "^5",
43
45
  "@typescript-eslint/parser": "^5",
46
+ "aws-cdk-lib": "2.1.0",
47
+ "constructs": "10.0.5",
44
48
  "eslint": "^8",
45
49
  "eslint-import-resolver-node": "^0.3.6",
46
- "eslint-import-resolver-typescript": "^2.5.0",
47
- "eslint-plugin-import": "^2.25.3",
48
- "jest": "^27.4.3",
50
+ "eslint-import-resolver-typescript": "^2.7.1",
51
+ "eslint-plugin-import": "^2.26.0",
52
+ "jest": "^27",
49
53
  "jest-junit": "^13",
50
- "jsii": "^1.46.0",
51
- "jsii-diff": "^1.46.0",
54
+ "jsii": "^1.59.0",
55
+ "jsii-diff": "^1.59.0",
52
56
  "jsii-docgen": "^3.8.31",
53
- "jsii-pacmak": "^1.46.0",
57
+ "jsii-pacmak": "^1.59.0",
54
58
  "json-schema": "^0.4.0",
55
- "npm-check-updates": "^11",
56
- "projen": "^0.37.1",
59
+ "npm-check-updates": "^12",
60
+ "projen": "^0.56.28",
57
61
  "standard-version": "^9",
58
- "ts-jest": "^27.1.0",
59
- "typescript": "^4.5.2"
62
+ "ts-jest": "^27",
63
+ "typescript": "^4.6.4"
60
64
  },
61
65
  "peerDependencies": {
62
- "@aws-cdk/aws-autoscaling": "^1.73.0",
63
- "@aws-cdk/aws-ec2": "^1.73.0",
64
- "@aws-cdk/aws-iam": "^1.73.0",
65
- "@aws-cdk/core": "^1.73.0",
66
- "cdk-spot-one": "^0.6.346",
67
- "constructs": "^3.2.27"
66
+ "aws-cdk-lib": "^2.1.0",
67
+ "cdk-spot-one": "^2",
68
+ "constructs": "^10.0.5"
68
69
  },
69
70
  "dependencies": {
70
- "@aws-cdk/aws-autoscaling": "^1.73.0",
71
- "@aws-cdk/aws-ec2": "^1.73.0",
72
- "@aws-cdk/aws-iam": "^1.73.0",
73
- "@aws-cdk/core": "^1.73.0",
74
- "cdk-spot-one": "^0.6.346"
71
+ "cdk-spot-one": "^2"
75
72
  },
76
- "bundledDependencies": [],
77
73
  "keywords": [
78
74
  "cdk"
79
75
  ],
80
76
  "main": "lib/index.js",
81
77
  "license": "Apache-2.0",
82
- "version": "0.1.68",
78
+ "version": "1.0.0",
83
79
  "jest": {
84
80
  "testMatch": [
85
- "**/__tests__/**/*.ts?(x)",
86
- "**/?(*.)+(spec|test).ts?(x)"
81
+ "<rootDir>/src/**/__tests__/**/*.ts?(x)",
82
+ "<rootDir>/(test|src)/**/?(*.)+(spec|test).ts?(x)"
87
83
  ],
88
84
  "clearMocks": true,
89
85
  "collectCoverage": true,
@@ -91,6 +87,7 @@
91
87
  "json",
92
88
  "lcov",
93
89
  "clover",
90
+ "cobertura",
94
91
  "text"
95
92
  ],
96
93
  "coverageDirectory": "coverage",
@@ -134,5 +131,8 @@
134
131
  "rootDir": "src"
135
132
  }
136
133
  },
134
+ "resolutions": {
135
+ "@types/prettier": "2.6.0"
136
+ },
137
137
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
138
138
  }
package/releasetag.txt ADDED
@@ -0,0 +1 @@
1
+ v1.0.0
package/version.txt ADDED
@@ -0,0 +1 @@
1
+ 1.0.0