aws-ec2-instance-running-scheduler 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -8441,7 +8441,7 @@
8441
8441
  "stability": "stable"
8442
8442
  },
8443
8443
  "homepage": "https://github.com/gammarers-aws-cdk-constructs/aws-ec2-instance-running-scheduler.git",
8444
- "jsiiVersion": "5.9.32 (build ac92fbd)",
8444
+ "jsiiVersion": "5.9.34 (build 8773a22)",
8445
8445
  "keywords": [
8446
8446
  "auto",
8447
8447
  "aws",
@@ -8968,6 +8968,6 @@
8968
8968
  "symbolId": "src/constructs/ec2-instance-running-scheduler:TargetResource"
8969
8969
  }
8970
8970
  },
8971
- "version": "3.0.3",
8972
- "fingerprint": "QC5NDxXeLx1EWh3omXcr4UgSUL/T+854RbCMyP8300Y="
8971
+ "version": "3.0.5",
8972
+ "fingerprint": "7Oit7MkLzcMrlVVeJ61/jqwi+4HdPOsnNnjJQ4I0O3A="
8973
8973
  }
@@ -19425,6 +19425,8 @@ var StepInterruptedError = class extends Error {
19425
19425
  this.name = "StepInterruptedError";
19426
19426
  }
19427
19427
  };
19428
+ var CHECKPOINT_TERMINATION_COOLDOWN_MS = 20;
19429
+ var MAX_POLL_DURATION_MS = 15 * 60 * 1e3;
19428
19430
  var DurableOperationError = class extends Error {
19429
19431
  cause;
19430
19432
  errorData;
@@ -19935,7 +19937,8 @@ var createInvokeHandler = (context, checkpoint, createStepId, parentId, checkAnd
19935
19937
  Name: name,
19936
19938
  Payload: serializedPayload,
19937
19939
  ChainedInvokeOptions: {
19938
- FunctionName: funcId
19940
+ FunctionName: funcId,
19941
+ ...config?.tenantId && { TenantId: config.tenantId }
19939
19942
  }
19940
19943
  });
19941
19944
  }
@@ -20903,6 +20906,9 @@ var BatchResultImpl = class {
20903
20906
  }
20904
20907
  };
20905
20908
  function restoreBatchResult(data) {
20909
+ if (data instanceof BatchResultImpl) {
20910
+ return data;
20911
+ }
20906
20912
  if (data && typeof data === "object" && "all" in data && Array.isArray(data.all)) {
20907
20913
  const serializedData = data;
20908
20914
  const restoredItems = serializedData.all.map((item) => ({
@@ -21286,7 +21292,7 @@ var getStepData = (stepData, stepId) => {
21286
21292
  return stepData[hashedId];
21287
21293
  };
21288
21294
  var DurableContextImpl = class {
21289
- executionContext;
21295
+ _executionContext;
21290
21296
  lambdaContext;
21291
21297
  _stepPrefix;
21292
21298
  _stepCounter = 0;
@@ -21298,8 +21304,9 @@ var DurableContextImpl = class {
21298
21304
  modeManagement;
21299
21305
  durableExecution;
21300
21306
  logger;
21301
- constructor(executionContext, lambdaContext, durableExecutionMode, inheritedLogger, stepPrefix, durableExecution, parentId) {
21302
- this.executionContext = executionContext;
21307
+ executionContext;
21308
+ constructor(_executionContext, lambdaContext, durableExecutionMode, inheritedLogger, stepPrefix, durableExecution, parentId) {
21309
+ this._executionContext = _executionContext;
21303
21310
  this.lambdaContext = lambdaContext;
21304
21311
  this._stepPrefix = stepPrefix;
21305
21312
  this._parentId = parentId;
@@ -21307,6 +21314,9 @@ var DurableContextImpl = class {
21307
21314
  this.durableLogger = inheritedLogger;
21308
21315
  this.durableLogger.configureDurableLoggingContext?.(this.getDurableLoggingContext());
21309
21316
  this.logger = this.createModeAwareLogger(inheritedLogger);
21317
+ this.executionContext = {
21318
+ durableExecutionArn: _executionContext.durableExecutionArn
21319
+ };
21310
21320
  this.durableExecutionMode = durableExecutionMode;
21311
21321
  this.checkpoint = durableExecution.checkpointManager;
21312
21322
  this.modeManagement = new ModeManagement(this.captureExecutionState.bind(this), this.checkAndUpdateReplayMode.bind(this), this.checkForNonResolvingPromise.bind(this), () => this.durableExecutionMode, (mode) => {
@@ -21318,9 +21328,9 @@ var DurableContextImpl = class {
21318
21328
  getDurableLogData: () => {
21319
21329
  const activeContext = getActiveContext();
21320
21330
  const result = {
21321
- executionArn: this.executionContext.durableExecutionArn,
21322
- requestId: this.executionContext.requestId,
21323
- tenantId: this.executionContext.tenantId,
21331
+ executionArn: this._executionContext.durableExecutionArn,
21332
+ requestId: this._executionContext.requestId,
21333
+ tenantId: this._executionContext.tenantId,
21324
21334
  operationId: !activeContext || activeContext?.contextId === "root" ? void 0 : hashId(activeContext.contextId)
21325
21335
  };
21326
21336
  if (activeContext?.attempt !== void 0) {
@@ -21391,7 +21401,7 @@ var DurableContextImpl = class {
21391
21401
  checkAndUpdateReplayMode() {
21392
21402
  if (this.durableExecutionMode === DurableExecutionMode.ReplayMode) {
21393
21403
  const nextStepId = this.getNextStepId();
21394
- const nextStepData = this.executionContext.getStepData(nextStepId);
21404
+ const nextStepData = this._executionContext.getStepData(nextStepId);
21395
21405
  if (!nextStepData) {
21396
21406
  this.durableExecutionMode = DurableExecutionMode.ExecutionMode;
21397
21407
  }
@@ -21400,14 +21410,14 @@ var DurableContextImpl = class {
21400
21410
  captureExecutionState() {
21401
21411
  const wasInReplayMode = this.durableExecutionMode === DurableExecutionMode.ReplayMode;
21402
21412
  const nextStepId = this.getNextStepId();
21403
- const stepData = this.executionContext.getStepData(nextStepId);
21413
+ const stepData = this._executionContext.getStepData(nextStepId);
21404
21414
  const wasNotFinished = !!(stepData && stepData.Status !== import_client_lambda.OperationStatus.SUCCEEDED && stepData.Status !== import_client_lambda.OperationStatus.FAILED);
21405
21415
  return wasInReplayMode && wasNotFinished;
21406
21416
  }
21407
21417
  checkForNonResolvingPromise() {
21408
21418
  if (this.durableExecutionMode === DurableExecutionMode.ReplaySucceededContext) {
21409
21419
  const nextStepId = this.getNextStepId();
21410
- const nextStepData = this.executionContext.getStepData(nextStepId);
21420
+ const nextStepData = this._executionContext.getStepData(nextStepId);
21411
21421
  if (nextStepData && nextStepData.Status !== import_client_lambda.OperationStatus.SUCCEEDED && nextStepData.Status !== import_client_lambda.OperationStatus.FAILED) {
21412
21422
  return new Promise(() => {
21413
21423
  });
@@ -21422,16 +21432,16 @@ var DurableContextImpl = class {
21422
21432
  return this.modeManagement.withDurableModeManagement(operation);
21423
21433
  }
21424
21434
  step(nameOrFn, fnOrOptions, maybeOptions) {
21425
- validateContextUsage(this._stepPrefix, "step", this.executionContext.terminationManager);
21435
+ validateContextUsage(this._stepPrefix, "step", this._executionContext.terminationManager);
21426
21436
  return this.withDurableModeManagement(() => {
21427
- const stepHandler = createStepHandler(this.executionContext, this.checkpoint, this.lambdaContext, this.createStepId.bind(this), this.durableLogger, this._parentId);
21437
+ const stepHandler = createStepHandler(this._executionContext, this.checkpoint, this.lambdaContext, this.createStepId.bind(this), this.durableLogger, this._parentId);
21428
21438
  return stepHandler(nameOrFn, fnOrOptions, maybeOptions);
21429
21439
  });
21430
21440
  }
21431
21441
  invoke(nameOrFuncId, funcIdOrInput, inputOrConfig, maybeConfig) {
21432
- validateContextUsage(this._stepPrefix, "invoke", this.executionContext.terminationManager);
21442
+ validateContextUsage(this._stepPrefix, "invoke", this._executionContext.terminationManager);
21433
21443
  return this.withDurableModeManagement(() => {
21434
- const invokeHandler = createInvokeHandler(this.executionContext, this.checkpoint, this.createStepId.bind(this), this._parentId, this.checkAndUpdateReplayMode.bind(this));
21444
+ const invokeHandler = createInvokeHandler(this._executionContext, this.checkpoint, this.createStepId.bind(this), this._parentId, this.checkAndUpdateReplayMode.bind(this));
21435
21445
  return invokeHandler(...[
21436
21446
  nameOrFuncId,
21437
21447
  funcIdOrInput,
@@ -21441,10 +21451,10 @@ var DurableContextImpl = class {
21441
21451
  });
21442
21452
  }
21443
21453
  runInChildContext(nameOrFn, fnOrOptions, maybeOptions) {
21444
- validateContextUsage(this._stepPrefix, "runInChildContext", this.executionContext.terminationManager);
21454
+ validateContextUsage(this._stepPrefix, "runInChildContext", this._executionContext.terminationManager);
21445
21455
  return this.withDurableModeManagement(() => {
21446
21456
  const blockHandler = createRunInChildContextHandler(
21447
- this.executionContext,
21457
+ this._executionContext,
21448
21458
  this.checkpoint,
21449
21459
  this.lambdaContext,
21450
21460
  this.createStepId.bind(this),
@@ -21457,9 +21467,9 @@ var DurableContextImpl = class {
21457
21467
  });
21458
21468
  }
21459
21469
  wait(nameOrDuration, maybeDuration) {
21460
- validateContextUsage(this._stepPrefix, "wait", this.executionContext.terminationManager);
21470
+ validateContextUsage(this._stepPrefix, "wait", this._executionContext.terminationManager);
21461
21471
  return this.withDurableModeManagement(() => {
21462
- const waitHandler = createWaitHandler(this.executionContext, this.checkpoint, this.createStepId.bind(this), this._parentId, this.checkAndUpdateReplayMode.bind(this));
21472
+ const waitHandler = createWaitHandler(this._executionContext, this.checkpoint, this.createStepId.bind(this), this._parentId, this.checkAndUpdateReplayMode.bind(this));
21463
21473
  return typeof nameOrDuration === "string" ? waitHandler(nameOrDuration, maybeDuration) : waitHandler(nameOrDuration);
21464
21474
  });
21465
21475
  }
@@ -21489,44 +21499,44 @@ var DurableContextImpl = class {
21489
21499
  }
21490
21500
  }
21491
21501
  createCallback(nameOrConfig, maybeConfig) {
21492
- validateContextUsage(this._stepPrefix, "createCallback", this.executionContext.terminationManager);
21502
+ validateContextUsage(this._stepPrefix, "createCallback", this._executionContext.terminationManager);
21493
21503
  return this.withDurableModeManagement(() => {
21494
- const callbackFactory = createCallback(this.executionContext, this.checkpoint, this.createStepId.bind(this), this.checkAndUpdateReplayMode.bind(this), this._parentId);
21504
+ const callbackFactory = createCallback(this._executionContext, this.checkpoint, this.createStepId.bind(this), this.checkAndUpdateReplayMode.bind(this), this._parentId);
21495
21505
  return callbackFactory(nameOrConfig, maybeConfig);
21496
21506
  });
21497
21507
  }
21498
21508
  waitForCallback(nameOrSubmitter, submitterOrConfig, maybeConfig) {
21499
- validateContextUsage(this._stepPrefix, "waitForCallback", this.executionContext.terminationManager);
21509
+ validateContextUsage(this._stepPrefix, "waitForCallback", this._executionContext.terminationManager);
21500
21510
  return this.withDurableModeManagement(() => {
21501
- const waitForCallbackHandler = createWaitForCallbackHandler(this.executionContext, this.getNextStepId.bind(this), this.runInChildContext.bind(this));
21511
+ const waitForCallbackHandler = createWaitForCallbackHandler(this._executionContext, this.getNextStepId.bind(this), this.runInChildContext.bind(this));
21502
21512
  return waitForCallbackHandler(nameOrSubmitter, submitterOrConfig, maybeConfig);
21503
21513
  });
21504
21514
  }
21505
21515
  waitForCondition(nameOrCheckFunc, checkFuncOrConfig, maybeConfig) {
21506
- validateContextUsage(this._stepPrefix, "waitForCondition", this.executionContext.terminationManager);
21516
+ validateContextUsage(this._stepPrefix, "waitForCondition", this._executionContext.terminationManager);
21507
21517
  return this.withDurableModeManagement(() => {
21508
- const waitForConditionHandler = createWaitForConditionHandler(this.executionContext, this.checkpoint, this.createStepId.bind(this), this.durableLogger, this._parentId);
21518
+ const waitForConditionHandler = createWaitForConditionHandler(this._executionContext, this.checkpoint, this.createStepId.bind(this), this.durableLogger, this._parentId);
21509
21519
  return typeof nameOrCheckFunc === "string" || nameOrCheckFunc === void 0 ? waitForConditionHandler(nameOrCheckFunc, checkFuncOrConfig, maybeConfig) : waitForConditionHandler(nameOrCheckFunc, checkFuncOrConfig);
21510
21520
  });
21511
21521
  }
21512
21522
  map(nameOrItems, itemsOrMapFunc, mapFuncOrConfig, maybeConfig) {
21513
- validateContextUsage(this._stepPrefix, "map", this.executionContext.terminationManager);
21523
+ validateContextUsage(this._stepPrefix, "map", this._executionContext.terminationManager);
21514
21524
  return this.withDurableModeManagement(() => {
21515
- const mapHandler = createMapHandler(this.executionContext, this._executeConcurrently.bind(this));
21525
+ const mapHandler = createMapHandler(this._executionContext, this._executeConcurrently.bind(this));
21516
21526
  return mapHandler(nameOrItems, itemsOrMapFunc, mapFuncOrConfig, maybeConfig);
21517
21527
  });
21518
21528
  }
21519
21529
  parallel(nameOrBranches, branchesOrConfig, maybeConfig) {
21520
- validateContextUsage(this._stepPrefix, "parallel", this.executionContext.terminationManager);
21530
+ validateContextUsage(this._stepPrefix, "parallel", this._executionContext.terminationManager);
21521
21531
  return this.withDurableModeManagement(() => {
21522
- const parallelHandler = createParallelHandler(this.executionContext, this._executeConcurrently.bind(this));
21532
+ const parallelHandler = createParallelHandler(this._executionContext, this._executeConcurrently.bind(this));
21523
21533
  return parallelHandler(nameOrBranches, branchesOrConfig, maybeConfig);
21524
21534
  });
21525
21535
  }
21526
21536
  _executeConcurrently(nameOrItems, itemsOrExecutor, executorOrConfig, maybeConfig) {
21527
- validateContextUsage(this._stepPrefix, "_executeConcurrently", this.executionContext.terminationManager);
21537
+ validateContextUsage(this._stepPrefix, "_executeConcurrently", this._executionContext.terminationManager);
21528
21538
  return this.withDurableModeManagement(() => {
21529
- const concurrentExecutionHandler = createConcurrentExecutionHandler(this.executionContext, this.runInChildContext.bind(this), this.skipNextOperation.bind(this));
21539
+ const concurrentExecutionHandler = createConcurrentExecutionHandler(this._executionContext, this.runInChildContext.bind(this), this.skipNextOperation.bind(this));
21530
21540
  const promise = concurrentExecutionHandler(nameOrItems, itemsOrExecutor, executorOrConfig, maybeConfig);
21531
21541
  promise?.catch(() => {
21532
21542
  });
@@ -21583,7 +21593,6 @@ var CheckpointManager = class _CheckpointManager {
21583
21593
  // Termination cooldown
21584
21594
  terminationTimer = null;
21585
21595
  terminationReason = null;
21586
- TERMINATION_COOLDOWN_MS = 50;
21587
21596
  constructor(durableExecutionArn, stepData, storage, terminationManager, initialTaskToken, stepDataEmitter, logger, finishedAncestors) {
21588
21597
  this.durableExecutionArn = durableExecutionArn;
21589
21598
  this.stepData = stepData;
@@ -22019,7 +22028,7 @@ var CheckpointManager = class _CheckpointManager {
22019
22028
  this.terminationReason = reason;
22020
22029
  log("\u23F1\uFE0F", "Scheduling termination", {
22021
22030
  reason,
22022
- cooldownMs: this.TERMINATION_COOLDOWN_MS
22031
+ cooldownMs: CHECKPOINT_TERMINATION_COOLDOWN_MS
22023
22032
  });
22024
22033
  this.terminationTimer = setTimeout(() => {
22025
22034
  if (!this.shouldTerminate()) {
@@ -22028,7 +22037,7 @@ var CheckpointManager = class _CheckpointManager {
22028
22037
  return;
22029
22038
  }
22030
22039
  this.executeTermination(reason);
22031
- }, this.TERMINATION_COOLDOWN_MS);
22040
+ }, CHECKPOINT_TERMINATION_COOLDOWN_MS);
22032
22041
  }
22033
22042
  executeTermination(reason) {
22034
22043
  log("\u{1F6D1}", "Executing termination after cooldown", { reason });
@@ -22054,6 +22063,9 @@ var CheckpointManager = class _CheckpointManager {
22054
22063
  if (endTimestamp) {
22055
22064
  const timestamp = endTimestamp instanceof Date ? endTimestamp : new Date(endTimestamp);
22056
22065
  delay = Math.max(0, timestamp.getTime() - Date.now());
22066
+ if (delay > MAX_POLL_DURATION_MS) {
22067
+ return;
22068
+ }
22057
22069
  } else {
22058
22070
  delay = 1e3;
22059
22071
  }
@@ -22069,7 +22081,6 @@ var CheckpointManager = class _CheckpointManager {
22069
22081
  const op = this.operations.get(stepId);
22070
22082
  if (!op)
22071
22083
  return;
22072
- const MAX_POLL_DURATION_MS = 15 * 60 * 1e3;
22073
22084
  if (op.pollStartTime && Date.now() - op.pollStartTime > MAX_POLL_DURATION_MS) {
22074
22085
  log("\u23F1\uFE0F", `Max polling duration (15 min) exceeded for ${stepId}, stopping poll`);
22075
22086
  if (op.timer) {
@@ -22146,6 +22157,7 @@ var TerminationManager = class extends import_events.EventEmitter {
22146
22157
  };
22147
22158
  }
22148
22159
  };
22160
+ var FORMAT_OPTIONS = { breakLength: Infinity };
22149
22161
  function jsonErrorReplacer(_key, value) {
22150
22162
  if (value instanceof Error) {
22151
22163
  return Object.assign({
@@ -22178,11 +22190,11 @@ function formatDurableLogData(level, logData, ...messageParams) {
22178
22190
  try {
22179
22191
  return JSON.stringify(result, jsonErrorReplacer);
22180
22192
  } catch (_) {
22181
- result.message = import_node_util.default.format(result.message);
22193
+ result.message = import_node_util.default.formatWithOptions(FORMAT_OPTIONS, result.message);
22182
22194
  return JSON.stringify(result);
22183
22195
  }
22184
22196
  }
22185
- result.message = import_node_util.default.format(...messageParams);
22197
+ result.message = import_node_util.default.formatWithOptions(FORMAT_OPTIONS, ...messageParams);
22186
22198
  for (const param of messageParams) {
22187
22199
  if (param instanceof Error) {
22188
22200
  result.errorType = param?.constructor?.name ?? "UnknownError";
@@ -22304,6 +22316,8 @@ var DefaultLogger = class {
22304
22316
  var createDefaultLogger = (executionContext) => {
22305
22317
  return new DefaultLogger(executionContext);
22306
22318
  };
22319
+ var SDK_NAME = "@aws/durable-execution-sdk-js";
22320
+ var SDK_VERSION = "1.1.0";
22307
22321
  var defaultLambdaClient;
22308
22322
  var DurableExecutionApiClient = class {
22309
22323
  client;
@@ -22311,6 +22325,7 @@ var DurableExecutionApiClient = class {
22311
22325
  if (!client) {
22312
22326
  if (!defaultLambdaClient) {
22313
22327
  defaultLambdaClient = new import_client_lambda.LambdaClient({
22328
+ customUserAgent: [[SDK_NAME, SDK_VERSION]],
22314
22329
  requestHandler: {
22315
22330
  connectionTimeout: 5e3,
22316
22331
  socketTimeout: 5e4,
@@ -22481,7 +22496,7 @@ async function runHandler(event, context, executionContext, durableExecutionMode
22481
22496
  void 0,
22482
22497
  durableExecution
22483
22498
  );
22484
- const initialExecutionEvent = event.InitialExecutionState.Operations?.[0];
22499
+ const initialExecutionEvent = executionContext._stepData[Object.keys(executionContext._stepData)[0]];
22485
22500
  const customerHandlerEvent = JSON.parse(initialExecutionEvent?.ExecutionDetails?.InputPayload ?? "{}");
22486
22501
  try {
22487
22502
  log("\u{1F3AF}", `Starting handler execution, handler event: ${customerHandlerEvent}`);
@@ -136,5 +136,5 @@ class EC2InstanceRunningScheduler extends constructs_1.Construct {
136
136
  }
137
137
  exports.EC2InstanceRunningScheduler = EC2InstanceRunningScheduler;
138
138
  _a = JSII_RTTI_SYMBOL_1;
139
- EC2InstanceRunningScheduler[_a] = { fqn: "aws-ec2-instance-running-scheduler.EC2InstanceRunningScheduler", version: "3.0.3" };
139
+ EC2InstanceRunningScheduler[_a] = { fqn: "aws-ec2-instance-running-scheduler.EC2InstanceRunningScheduler", version: "3.0.5" };
140
140
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWMyLWluc3RhbmNlLXJ1bm5pbmctc2NoZWR1bGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvZWMyLWluc3RhbmNlLXJ1bm5pbmctc2NoZWR1bGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWdFO0FBQ2hFLDJDQUEyQztBQUMzQyxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLHVEQUF1RDtBQUN2RCw2REFBNkQ7QUFDN0QsdUVBQXdEO0FBQ3hELDJDQUF1QztBQUN2QyxvRkFBK0U7QUFrRC9FOztHQUVHO0FBQ0gsTUFBYSwyQkFBNEIsU0FBUSxzQkFBUztJQUN4RDs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVDO1FBQy9FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcsMkJBQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFaEcsbUdBQW1HO1FBQ25HLDBDQUEwQztRQUMxQyxNQUFNLHVCQUF1QixHQUFHLElBQUkscURBQXdCLENBQUMsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQzdGLFdBQVcsRUFBRSwwREFBMEQ7WUFDdkUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUN4QyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLFVBQVUsRUFBRSxHQUFHO1lBQ2YsYUFBYSxFQUFFLENBQUM7WUFDaEIsYUFBYSxFQUFFO2dCQUNiLGdCQUFnQixFQUFFLHNCQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDbkMsZUFBZSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUNsQztZQUNELFdBQVcsRUFBRTtnQkFDWCxp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O3dCQUNOLE1BQU0sRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU07d0JBQ25DLFNBQVMsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVM7d0JBQ3pDLElBQUksRUFBRSxNQUFNO3FCQUNiO2lCQUNGLENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUExSEgsa0VBMkhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIFJlbW92YWxQb2xpY3ksIFRpbWVab25lIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBzY2hlZHVsZXIgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNjaGVkdWxlcic7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zY2hlZHVsZXItdGFyZ2V0cyc7XG5pbXBvcnQgeyBTZWNyZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSdW5uaW5nU2NoZWR1bGVyRnVuY3Rpb24gfSBmcm9tICcuLi9mdW5jcy9ydW5uaW5nLXNjaGVkdWxlci1mdW5jdGlvbic7XG5cbi8qKlxuICogQ3Jvbi1zdHlsZSBzY2hlZHVsZSBjb25maWd1cmF0aW9uIGZvciBzdGFydC9zdG9wIGFjdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZWR1bGUge1xuICAvKiogVGltZSB6b25lIGZvciB0aGUgc2NoZWR1bGUgKGUuZy4gRVRDX1VUQykuICovXG4gIHJlYWRvbmx5IHRpbWV6b25lOiBUaW1lWm9uZTtcbiAgLyoqIENyb24gbWludXRlICgw4oCTNTkpLiAqL1xuICByZWFkb25seSBtaW51dGU/OiBzdHJpbmc7XG4gIC8qKiBDcm9uIGhvdXIgKDDigJMyMykuICovXG4gIHJlYWRvbmx5IGhvdXI/OiBzdHJpbmc7XG4gIC8qKiBDcm9uIGRheSBvZiB3ZWVrIChlLmcuIE1PTi1GUkkpLiAqL1xuICByZWFkb25seSB3ZWVrPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgd2hpY2ggRUMyIGluc3RhbmNlcyBhcmUgdGFyZ2V0ZWQgYnkgdGFnIGtleSBhbmQgdmFsdWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldFJlc291cmNlIHtcbiAgLyoqIFRhZyBrZXkgdXNlZCB0byBzZWxlY3QgaW5zdGFuY2VzIChlLmcuIFNjaGVkdWxlKS4gKi9cbiAgcmVhZG9ubHkgdGFnS2V5OiBzdHJpbmc7XG4gIC8qKiBUYWcgdmFsdWVzIHRoYXQgbWF0Y2ggaW5zdGFuY2VzIHRvIGluY2x1ZGUuICovXG4gIHJlYWRvbmx5IHRhZ1ZhbHVlczogc3RyaW5nW107XG59XG5cbi8qKlxuICogU2VjcmV0IGlkZW50aWZpZXJzIHJlcXVpcmVkIGJ5IHRoZSBzY2hlZHVsZXIgKGUuZy4gU2xhY2spLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3JldHMge1xuICAvKiogTmFtZSBvZiB0aGUgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBjb250YWluaW5nIFNsYWNrIHRva2VuIGFuZCBjaGFubmVsLiAqL1xuICByZWFkb25seSBzbGFja1NlY3JldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBFQzIgaW5zdGFuY2UgcnVubmluZyBzY2hlZHVsZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUMySW5zdGFuY2VSdW5uaW5nU2NoZWR1bGVyUHJvcHMge1xuICAvKiogVGFnLWJhc2VkIHRhcmdldGluZyBmb3IgRUMyIGluc3RhbmNlcyB0byBzdGFydC9zdG9wLiAqL1xuICByZWFkb25seSB0YXJnZXRSZXNvdXJjZTogVGFyZ2V0UmVzb3VyY2U7XG4gIC8qKiBXaGV0aGVyIEV2ZW50QnJpZGdlIFNjaGVkdWxlciBydWxlcyBhcmUgZW5hYmxlZC4gRGVmYXVsdHMgdG8gdHJ1ZSBpZiBvbWl0dGVkLiAqL1xuICByZWFkb25seSBlbmFibGVTY2hlZHVsaW5nPzogYm9vbGVhbjtcbiAgLyoqIFNlY3JldHMgKGUuZy4gU2xhY2spIHVzZWQgZm9yIG5vdGlmaWNhdGlvbnMuICovXG4gIHJlYWRvbmx5IHNlY3JldHM6IFNlY3JldHM7XG4gIC8qKiBDcm9uIHNjaGVkdWxlIGZvciBzdG9wcGluZyBpbnN0YW5jZXMuICovXG4gIHJlYWRvbmx5IHN0b3BTY2hlZHVsZT86IFNjaGVkdWxlO1xuICAvKiogQ3JvbiBzY2hlZHVsZSBmb3Igc3RhcnRpbmcgaW5zdGFuY2VzLiAqL1xuICByZWFkb25seSBzdGFydFNjaGVkdWxlPzogU2NoZWR1bGU7XG59XG5cbi8qKlxuICogQ29uc3RydWN0IHRoYXQgc2NoZWR1bGVzIEVDMiBpbnN0YW5jZSBzdGFydC9zdG9wIHZpYSBFdmVudEJyaWRnZSBTY2hlZHVsZXIgYW5kIGEgRHVyYWJsZSBMYW1iZGEuXG4gKi9cbmV4cG9ydCBjbGFzcyBFQzJJbnN0YW5jZVJ1bm5pbmdTY2hlZHVsZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogQ3JlYXRlcyBhbiBFQzIgaW5zdGFuY2UgcnVubmluZyBzY2hlZHVsZXIgd2l0aCBzdGFydC9zdG9wIHNjaGVkdWxlcyBhbmQgYSBEdXJhYmxlIExhbWJkYS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gUGFyZW50IGNvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIC0gQ29uc3RydWN0IGlkLlxuICAgKiBAcGFyYW0gcHJvcHMgLSBTY2hlZHVsZXIgY29uZmlndXJhdGlvbiAodGFyZ2V0IHJlc291cmNlLCBzY2hlZHVsZXMsIHNlY3JldHMpLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVDMkluc3RhbmNlUnVubmluZ1NjaGVkdWxlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHNsYWNrU2VjcmV0ID0gU2VjcmV0LmZyb21TZWNyZXROYW1lVjIodGhpcywgJ1NsYWNrU2VjcmV0JywgcHJvcHMuc2VjcmV0cy5zbGFja1NlY3JldE5hbWUpO1xuXG4gICAgLy8gRHVyYWJsZSBGdW5jdGlvbnMtYmFzZWQgUnVubmluZyBTY2hlZHVsZXIgKHByZXZpb3VzIFN0ZXAgRnVuY3Rpb25zIGxvZ2ljIGltcGxlbWVudGVkIGluIExhbWJkYSkuXG4gICAgLy8gRHVyYWJsZSBFeGVjdXRpb24gcmVxdWlyZXMgTm9kZS5qcyAyMisuXG4gICAgY29uc3QgcnVubmluZ1NjaGVkdWxlRnVuY3Rpb24gPSBuZXcgUnVubmluZ1NjaGVkdWxlckZ1bmN0aW9uKHRoaXMsICdSdW5uaW5nU2NoZWR1bGVyRnVuY3Rpb24nLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0EgZnVuY3Rpb24gdG8gcnVuIHRoZSBzY2hlZHVsZWQgUkRTIERhdGFiYXNlIG9yIENsdXN0ZXIuJyxcbiAgICAgIGFyY2hpdGVjdHVyZTogbGFtYmRhLkFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDE1KSxcbiAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICAgIHJldHJ5QXR0ZW1wdHM6IDIsXG4gICAgICBkdXJhYmxlQ29uZmlnOiB7XG4gICAgICAgIGV4ZWN1dGlvblRpbWVvdXQ6IER1cmF0aW9uLmhvdXJzKDIpLFxuICAgICAgICByZXRlbnRpb25QZXJpb2Q6IER1cmF0aW9uLmRheXMoMSksXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgU0xBQ0tfU0VDUkVUX05BTUU6IHByb3BzLnNlY3JldHMuc2xhY2tTZWNyZXROYW1lLFxuICAgICAgfSxcbiAgICAgIHBhcmFtc0FuZFNlY3JldHM6IGxhbWJkYS5QYXJhbXNBbmRTZWNyZXRzTGF5ZXJWZXJzaW9uLmZyb21WZXJzaW9uKGxhbWJkYS5QYXJhbXNBbmRTZWNyZXRzVmVyc2lvbnMuVjFfMF8xMDMsIHtcbiAgICAgICAgY2FjaGVTaXplOiA1MDAsXG4gICAgICAgIGxvZ0xldmVsOiBsYW1iZGEuUGFyYW1zQW5kU2VjcmV0c0xvZ0xldmVsLklORk8sXG4gICAgICB9KSxcbiAgICAgIHJvbGU6IG5ldyBpYW0uUm9sZSh0aGlzLCAnUnVubmluZ1NjaGVkdWxlckZ1bmN0aW9uUm9sZScsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdBIHJvbGUgdG8gY29udHJvbCB0aGUgUkRTIERhdGFiYXNlIG9yIENsdXN0ZXIuJyxcbiAgICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZScpLFxuICAgICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRHVyYWJsZUV4ZWN1dGlvblJvbGVQb2xpY3knKSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgICAgbG9nR3JvdXA6IG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsICdSdW5uaW5nU2NoZWR1bGVyRnVuY3Rpb25Mb2dHcm91cCcsIHtcbiAgICAgICAgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuVEhSRUVfTU9OVEhTLFxuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICB9KSxcbiAgICAgIGxvZ2dpbmdGb3JtYXQ6IGxhbWJkYS5Mb2dnaW5nRm9ybWF0LkpTT04sXG4gICAgICBzeXN0ZW1Mb2dMZXZlbFYyOiBsYW1iZGEuU3lzdGVtTG9nTGV2ZWwuSU5GTyxcbiAgICAgIGFwcGxpY2F0aW9uTG9nTGV2ZWxWMjogbGFtYmRhLkFwcGxpY2F0aW9uTG9nTGV2ZWwuSU5GTyxcbiAgICB9KTtcbiAgICBydW5uaW5nU2NoZWR1bGVGdW5jdGlvbi5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiAnR2V0UmVzb3VyY2VzJyxcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ3RhZzpHZXRSZXNvdXJjZXMnLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgfSkpO1xuICAgIC8vIEdyYW50IHJlYWQgYWNjZXNzIHRvIHRoZSBSRFMgQVBJXG4gICAgcnVubmluZ1NjaGVkdWxlRnVuY3Rpb24uYWRkVG9Sb2xlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIHNpZDogJ1Jkc1J1bm5pbmdDb250cm9sJyxcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ2VjMjpEZXNjcmliZUluc3RhbmNlcycsXG4gICAgICAgICdlYzI6U3RhcnRJbnN0YW5jZXMnLFxuICAgICAgICAnZWMyOlN0b3BJbnN0YW5jZXMnLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgfSkpO1xuICAgIC8vIEdyYW50IHJlYWQgYWNjZXNzIHRvIHRoZSBTbGFjayBzZWNyZXRcbiAgICBzbGFja1NlY3JldC5ncmFudFJlYWQocnVubmluZ1NjaGVkdWxlRnVuY3Rpb24pO1xuXG4gICAgLy8gU2VlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9kdXJhYmxlLWdldHRpbmctc3RhcnRlZC1pYWMuaHRtbFxuICAgIGNvbnN0IHJ1bm5pbmdTY2hlZHVsZUZ1bmN0aW9uQWxpYXMgPSBydW5uaW5nU2NoZWR1bGVGdW5jdGlvbi5hZGRBbGlhcygnbGl2ZScpO1xuXG4gICAgLy8gV2hldGhlciBzY2hlZHVsZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQgdHJ1ZSB1bmxlc3MgZXhwbGljaXRseSBkaXNhYmxlZCkuXG4gICAgY29uc3Qgc2NoZWR1bGVFbmFibGVkOiBib29sZWFuID0gKCgpID0+IHtcbiAgICAgIGlmIChwcm9wcy5lbmFibGVTY2hlZHVsaW5nID09PSB1bmRlZmluZWQgfHwgcHJvcHMuZW5hYmxlU2NoZWR1bGluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9KSgpO1xuXG4gICAgLy8gRHVyYWJsZSBGdW5jdGlvbnM6IExhbWJkYSBwZXJmb3JtcyB0YWcgbG9va3VwIGFuZCBpbnN0YW5jZSBzdGFydC9zdG9wIGluIGEgc2luZ2xlIHJ1bi5cbiAgICBuZXcgc2NoZWR1bGVyLlNjaGVkdWxlKHRoaXMsICdSdW5uaW5nU3RhcnRTY2hlZHVsZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAncnVubmluZyBzdGFydCBzY2hlZHVsZScsXG4gICAgICBlbmFibGVkOiBzY2hlZHVsZUVuYWJsZWQsXG4gICAgICBzY2hlZHVsZTogc2NoZWR1bGVyLlNjaGVkdWxlRXhwcmVzc2lvbi5jcm9uKHtcbiAgICAgICAgbWludXRlOiBwcm9wcy5zdGFydFNjaGVkdWxlPy5taW51dGUgPz8gJzUwJyxcbiAgICAgICAgaG91cjogcHJvcHMuc3RhcnRTY2hlZHVsZT8uaG91ciA/PyAnNycsXG4gICAgICAgIHdlZWtEYXk6IHByb3BzLnN0YXJ0U2NoZWR1bGU/LndlZWsgPz8gJ01PTi1GUkknLFxuICAgICAgICB0aW1lWm9uZTogcHJvcHMuc3RhcnRTY2hlZHVsZT8udGltZXpvbmUgPz8gVGltZVpvbmUuRVRDX1VUQyxcbiAgICAgIH0pLFxuICAgICAgdGFyZ2V0OiBuZXcgdGFyZ2V0cy5MYW1iZGFJbnZva2UocnVubmluZ1NjaGVkdWxlRnVuY3Rpb25BbGlhcywge1xuICAgICAgICBpbnB1dDogc2NoZWR1bGVyLlNjaGVkdWxlVGFyZ2V0SW5wdXQuZnJvbU9iamVjdCh7XG4gICAgICAgICAgUGFyYW1zOiB7XG4gICAgICAgICAgICBUYWdLZXk6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ0tleSxcbiAgICAgICAgICAgIFRhZ1ZhbHVlczogcHJvcHMudGFyZ2V0UmVzb3VyY2UudGFnVmFsdWVzLFxuICAgICAgICAgICAgTW9kZTogJ1N0YXJ0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgbmV3IHNjaGVkdWxlci5TY2hlZHVsZSh0aGlzLCAnUnVubmluZ1N0b3BTY2hlZHVsZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAncnVubmluZyBzdG9wIHNjaGVkdWxlJyxcbiAgICAgIGVuYWJsZWQ6IHNjaGVkdWxlRW5hYmxlZCxcbiAgICAgIHNjaGVkdWxlOiBzY2hlZHVsZXIuU2NoZWR1bGVFeHByZXNzaW9uLmNyb24oe1xuICAgICAgICBtaW51dGU6IHByb3BzLnN0b3BTY2hlZHVsZT8ubWludXRlID8/ICc1JyxcbiAgICAgICAgaG91cjogcHJvcHMuc3RvcFNjaGVkdWxlPy5ob3VyID8/ICcxOScsXG4gICAgICAgIHdlZWtEYXk6IHByb3BzLnN0b3BTY2hlZHVsZT8ud2VlayA/PyAnTU9OLUZSSScsXG4gICAgICAgIHRpbWVab25lOiBwcm9wcy5zdG9wU2NoZWR1bGU/LnRpbWV6b25lID8/IFRpbWVab25lLkVUQ19VVEMsXG4gICAgICB9KSxcbiAgICAgIHRhcmdldDogbmV3IHRhcmdldHMuTGFtYmRhSW52b2tlKHJ1bm5pbmdTY2hlZHVsZUZ1bmN0aW9uQWxpYXMsIHtcbiAgICAgICAgaW5wdXQ6IHNjaGVkdWxlci5TY2hlZHVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgICAgIFBhcmFtczoge1xuICAgICAgICAgICAgVGFnS2V5OiBwcm9wcy50YXJnZXRSZXNvdXJjZS50YWdLZXksXG4gICAgICAgICAgICBUYWdWYWx1ZXM6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ1ZhbHVlcyxcbiAgICAgICAgICAgIE1vZGU6ICdTdG9wJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -29,5 +29,5 @@ class EC2InstanceRunningScheduleStack extends aws_cdk_lib_1.Stack {
29
29
  }
30
30
  exports.EC2InstanceRunningScheduleStack = EC2InstanceRunningScheduleStack;
31
31
  _a = JSII_RTTI_SYMBOL_1;
32
- EC2InstanceRunningScheduleStack[_a] = { fqn: "aws-ec2-instance-running-scheduler.EC2InstanceRunningScheduleStack", version: "3.0.3" };
32
+ EC2InstanceRunningScheduleStack[_a] = { fqn: "aws-ec2-instance-running-scheduler.EC2InstanceRunningScheduleStack", version: "3.0.5" };
33
33
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWMyLWluc3RhbmNlLXJ1bm5pbmctc2NoZWR1bGUtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhY2tzL2VjMi1pbnN0YW5jZS1ydW5uaW5nLXNjaGVkdWxlLXN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWdEO0FBRWhELGlHQUE4SDtBQWtCOUg7O0dBRUc7QUFDSCxNQUFhLCtCQUFnQyxTQUFRLG1CQUFLO0lBQ3hEOzs7Ozs7T0FNRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkM7UUFDbkYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSw0REFBMkIsQ0FBQyxJQUFJLEVBQUUsNkJBQTZCLEVBQUU7WUFDbkUsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFsQkgsMEVBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEVDMkluc3RhbmNlUnVubmluZ1NjaGVkdWxlciwgVGFyZ2V0UmVzb3VyY2UsIFNlY3JldHMsIFNjaGVkdWxlIH0gZnJvbSAnLi4vY29uc3RydWN0cy9lYzItaW5zdGFuY2UtcnVubmluZy1zY2hlZHVsZXInO1xuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgRUMyIGluc3RhbmNlIHJ1bm5pbmcgc2NoZWR1bGUgQ0RLIHN0YWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDMkluc3RhbmNlUnVubmluZ1NjaGVkdWxlU3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICAvKiogVGFnLWJhc2VkIHRhcmdldCByZXNvdXJjZSBmb3IgRUMyIGluc3RhbmNlcyB0byBzdGFydC9zdG9wLiAqL1xuICByZWFkb25seSB0YXJnZXRSZXNvdXJjZTogVGFyZ2V0UmVzb3VyY2U7XG4gIC8qKiBXaGV0aGVyIHNjaGVkdWxpbmcgaXMgZW5hYmxlZC4gRGVmYXVsdHMgdG8gdHJ1ZSBpZiBvbWl0dGVkLiAqL1xuICByZWFkb25seSBlbmFibGVTY2hlZHVsaW5nPzogYm9vbGVhbjtcbiAgLyoqIFNlY3JldHMgKGUuZy4gU2xhY2spIGZvciB0aGUgc2NoZWR1bGVyLiAqL1xuICByZWFkb25seSBzZWNyZXRzOiBTZWNyZXRzO1xuICAvKiogQ3JvbiBzY2hlZHVsZSBmb3Igc3RvcHBpbmcgaW5zdGFuY2VzLiAqL1xuICByZWFkb25seSBzdG9wU2NoZWR1bGU/OiBTY2hlZHVsZTtcbiAgLyoqIENyb24gc2NoZWR1bGUgZm9yIHN0YXJ0aW5nIGluc3RhbmNlcy4gKi9cbiAgcmVhZG9ubHkgc3RhcnRTY2hlZHVsZT86IFNjaGVkdWxlO1xufVxuXG4vKipcbiAqIENESyBTdGFjayB0aGF0IGRlcGxveXMgdGhlIEVDMiBpbnN0YW5jZSBydW5uaW5nIHNjaGVkdWxlciAoRXZlbnRCcmlkZ2UgU2NoZWR1bGVyICsgRHVyYWJsZSBMYW1iZGEpLlxuICovXG5leHBvcnQgY2xhc3MgRUMySW5zdGFuY2VSdW5uaW5nU2NoZWR1bGVTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIHN0YWNrIGFuZCB0aGUgRUMySW5zdGFuY2VSdW5uaW5nU2NoZWR1bGVyIGNvbnN0cnVjdC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gUGFyZW50IGNvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIC0gU3RhY2sgaWQuXG4gICAqIEBwYXJhbSBwcm9wcyAtIFN0YWNrIHByb3BzICh0YXJnZXQgcmVzb3VyY2UsIHNjaGVkdWxlcywgc2VjcmV0cykuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRUMySW5zdGFuY2VSdW5uaW5nU2NoZWR1bGVTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBuZXcgRUMySW5zdGFuY2VSdW5uaW5nU2NoZWR1bGVyKHRoaXMsICdFQzJJbnN0YW5jZVJ1bm5pbmdTY2hlZHVsZXInLCB7XG4gICAgICB0YXJnZXRSZXNvdXJjZTogcHJvcHMudGFyZ2V0UmVzb3VyY2UsXG4gICAgICBlbmFibGVTY2hlZHVsaW5nOiBwcm9wcy5lbmFibGVTY2hlZHVsaW5nLFxuICAgICAgc2VjcmV0czogcHJvcHMuc2VjcmV0cyxcbiAgICAgIHN0b3BTY2hlZHVsZTogcHJvcHMuc3RvcFNjaGVkdWxlLFxuICAgICAgc3RhcnRTY2hlZHVsZTogcHJvcHMuc3RhcnRTY2hlZHVsZSxcbiAgICB9KTtcbiAgfVxufSJdfQ==
package/package.json CHANGED
@@ -54,7 +54,7 @@
54
54
  "aws-sdk-client-mock-jest": "^2",
55
55
  "commit-and-tag-version": "^12",
56
56
  "constructs": "10.5.1",
57
- "esbuild": "^0.27.3",
57
+ "esbuild": "^0.27.4",
58
58
  "eslint": "^9",
59
59
  "eslint-import-resolver-typescript": "^3.10.1",
60
60
  "eslint-plugin-import": "^2.32.0",
@@ -65,7 +65,7 @@
65
65
  "jsii-docgen": "^10.5.0",
66
66
  "jsii-pacmak": "^1.127.0",
67
67
  "jsii-rosetta": "5.9.x",
68
- "projen": "^0.99.19",
68
+ "projen": "^0.99.21",
69
69
  "ts-jest": "^29.4.6",
70
70
  "ts-node": "^10.9.2",
71
71
  "typescript": "5.9.x"
@@ -92,7 +92,7 @@
92
92
  "publishConfig": {
93
93
  "access": "public"
94
94
  },
95
- "version": "3.0.3",
95
+ "version": "3.0.5",
96
96
  "jest": {
97
97
  "coverageProvider": "v8",
98
98
  "testMatch": [