@go-to-k/cdkd 0.284.4 → 0.284.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/dist/{asg-provider-C0L3_pHn.js → asg-provider-C1NtROYt.js} +2 -2
- package/dist/{asg-provider-C0L3_pHn.js.map → asg-provider-C1NtROYt.js.map} +1 -1
- package/dist/cli.js +74 -15
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-3Z7P1hKs.js → deploy-engine-BKSfYWps.js} +77 -20
- package/dist/deploy-engine-BKSfYWps.js.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-3Z7P1hKs.js.map +0 -1
|
@@ -10659,6 +10659,29 @@ function maskSecretsInText(text, secrets) {
|
|
|
10659
10659
|
if (!regex) return text;
|
|
10660
10660
|
return text.replace(regex, "***");
|
|
10661
10661
|
}
|
|
10662
|
+
/**
|
|
10663
|
+
* Bind a {@link RecordedSecretValues} bag into a {@link SecretMasker} for a
|
|
10664
|
+
* caller to hand to a provider.
|
|
10665
|
+
*
|
|
10666
|
+
* The bag is captured BY REFERENCE and read on every call, and there is
|
|
10667
|
+
* deliberately NO `secrets.size === 0` short-circuit here: collapsing an empty
|
|
10668
|
+
* bag to the identity function at BIND time would go permanently blind to
|
|
10669
|
+
* everything added afterwards. {@link maskSecretsInText} makes that check at
|
|
10670
|
+
* CALL time, where it is correct and costs a `Map.size` read.
|
|
10671
|
+
*
|
|
10672
|
+
* Stated as a property rather than a live requirement, because it is worth
|
|
10673
|
+
* being exact about: every caller today FILLS its bag before binding — the
|
|
10674
|
+
* rollback executor's arms run `resolveReplayProps` first and only then build
|
|
10675
|
+
* the masker, and the deploy engine resolves before it calls the provider — so
|
|
10676
|
+
* a bind-time short-circuit would pass every existing integration. It is the
|
|
10677
|
+
* ORDER, not the reference capture, that makes them work now, and the order is
|
|
10678
|
+
* the kind of thing a later refactor reverses without noticing. The unit test
|
|
10679
|
+
* `masks values added to the bag AFTER the masker was built` is what holds the
|
|
10680
|
+
* property up on its own.
|
|
10681
|
+
*/
|
|
10682
|
+
function createSecretMasker(secrets) {
|
|
10683
|
+
return (text) => maskSecretsInText(text, secrets);
|
|
10684
|
+
}
|
|
10662
10685
|
|
|
10663
10686
|
//#endregion
|
|
10664
10687
|
//#region src/provisioning/config-shape.ts
|
|
@@ -15595,7 +15618,7 @@ var CloudControlProvider = class {
|
|
|
15595
15618
|
if (context?.finalSnapshotIdentifier !== void 0) throw new ProvisioningError(`${logicalId} (${resourceType}) requires a final snapshot (DeletionPolicy: Snapshot), but the Cloud Control API delete route has no final-snapshot parameter. Re-run with --skip-final-snapshot after snapshotting manually, or retain the resource.`, resourceType, logicalId, physicalId);
|
|
15596
15619
|
if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
|
|
15597
15620
|
this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
|
|
15598
|
-
const { ASGProvider } = await import("./asg-provider-
|
|
15621
|
+
const { ASGProvider } = await import("./asg-provider-C1NtROYt.js").then((n) => n.n);
|
|
15599
15622
|
return await new ASGProvider().delete(logicalId, physicalId, resourceType, _properties, context);
|
|
15600
15623
|
}
|
|
15601
15624
|
const isProtectedEc2Instance = context?.removeProtection === true && resourceType === "AWS::EC2::Instance";
|
|
@@ -22201,21 +22224,52 @@ const SKIP_FINAL_SNAPSHOT_FLAG = "--skip-final-snapshot";
|
|
|
22201
22224
|
* engine's five sites (CREATE, the property-driven replacement, the
|
|
22202
22225
|
* `--recreate-via-*` destroy-then-create, the `--replace` delete-first
|
|
22203
22226
|
* fallback, and the update-failure replacement) are all driven by freshly
|
|
22204
|
-
* resolved TEMPLATE properties, so they
|
|
22205
|
-
*
|
|
22227
|
+
* resolved TEMPLATE properties, so they never set THIS FLAG and the refusal
|
|
22228
|
+
* stands where the user can edit the input. They DO pass a context — since
|
|
22229
|
+
* issue #1932 every create site REACHED FROM THE ENGINE carries a
|
|
22230
|
+
* `maskSecrets` capability — so the invariant is "no `replayingState`", not
|
|
22231
|
+
* "no context object". (A provider that re-creates inside its own `update()`
|
|
22232
|
+
* still passes none; see `CreateContext`.)
|
|
22206
22233
|
*
|
|
22207
22234
|
* The remaining call sites are the providers that re-create inside their own
|
|
22208
22235
|
* `update()` (`this.create(...)` in ACM certificate / IAM managed policy / IAM
|
|
22209
22236
|
* role / Lambda permission / SNS subscription). Those are NOT template-driven
|
|
22210
22237
|
* — this executor's `revert` arm calls `provider.update(...)` with
|
|
22211
22238
|
* `previousState.properties`, so they forward a STATE record on a replay — but
|
|
22212
|
-
* they CANNOT receive a
|
|
22239
|
+
* they CANNOT receive a `CreateContext`: `update()`'s own context is an
|
|
22240
|
+
* `UpdateContext`, which carries no `replayingState` to forward.
|
|
22213
22241
|
* The constraint that follows is on providers, not on this constant: a
|
|
22214
22242
|
* provider with a create-side pre-flight refusal must not re-create inside
|
|
22215
22243
|
* `update()`. See `CreateContext` in `src/types/resource.ts`.
|
|
22216
22244
|
*/
|
|
22217
22245
|
const REPLAYING_STATE_CREATE_CONTEXT = { replayingState: true };
|
|
22218
22246
|
/**
|
|
22247
|
+
* The rollback arms' {@link CreateContext}, with this op's secret masker bound
|
|
22248
|
+
* in (issue #1932 item 3).
|
|
22249
|
+
*
|
|
22250
|
+
* The rollback path needs this MORE than the forward deploy does, not less:
|
|
22251
|
+
* {@link resolveReplayProps} deliberately re-resolves every redacted
|
|
22252
|
+
* `{{resolve:...}}` expression back to plaintext before handing the bag to a
|
|
22253
|
+
* provider, so a replayed bag is guaranteed to carry the concrete secret
|
|
22254
|
+
* whenever the resource has one. Leaving the masker off here would have left
|
|
22255
|
+
* the contract applied at one caller and absent at the one whose bag is
|
|
22256
|
+
* provably plaintext.
|
|
22257
|
+
*
|
|
22258
|
+
* Spreads the shared constant rather than mutating it: `maskSecrets` is
|
|
22259
|
+
* per-op, and a module-level object is shared by every op in the run.
|
|
22260
|
+
*
|
|
22261
|
+
* Called AFTER `resolveReplayProps` has filled `secrets` at every call site, so
|
|
22262
|
+
* the masker sees this op's re-resolved values. `createSecretMasker` reads the
|
|
22263
|
+
* bag by reference on every call and so does not depend on that ordering, but
|
|
22264
|
+
* the ordering is what makes it correct here without relying on that.
|
|
22265
|
+
*/
|
|
22266
|
+
function replayingStateCreateContext(secrets) {
|
|
22267
|
+
return {
|
|
22268
|
+
...REPLAYING_STATE_CREATE_CONTEXT,
|
|
22269
|
+
maskSecrets: createSecretMasker(secrets)
|
|
22270
|
+
};
|
|
22271
|
+
}
|
|
22272
|
+
/**
|
|
22219
22273
|
* Which provisioning layer a delete must be judged against: the CURRENT
|
|
22220
22274
|
* state record wins (it is what state says AWS holds right now), with the
|
|
22221
22275
|
* journaled op's routing as the legacy-state fallback. Shared by both
|
|
@@ -22770,7 +22824,7 @@ async function replaySingle(op, stateResources, stackName, ctx, resolver, orphan
|
|
|
22770
22824
|
let deletedNewFirst = false;
|
|
22771
22825
|
let createResult;
|
|
22772
22826
|
try {
|
|
22773
|
-
createResult = await withRetry(() => createProvider.create(op.logicalId, op.resourceType, { ...resolvedPrevProps },
|
|
22827
|
+
createResult = await withRetry(() => createProvider.create(op.logicalId, op.resourceType, { ...resolvedPrevProps }, replayingStateCreateContext(secrets)), op.logicalId, {
|
|
22774
22828
|
...RECREATE_RETRY_SCHEDULE,
|
|
22775
22829
|
logger,
|
|
22776
22830
|
...isInterrupted && {
|
|
@@ -22793,7 +22847,7 @@ async function replaySingle(op, stateResources, stackName, ctx, resolver, orphan
|
|
|
22793
22847
|
delete stateResources[op.logicalId];
|
|
22794
22848
|
await afterOp?.(op.logicalId);
|
|
22795
22849
|
try {
|
|
22796
|
-
createResult = await withRetry(() => createProvider.create(op.logicalId, op.resourceType, { ...resolvedPrevProps },
|
|
22850
|
+
createResult = await withRetry(() => createProvider.create(op.logicalId, op.resourceType, { ...resolvedPrevProps }, replayingStateCreateContext(secrets)), op.logicalId, {
|
|
22797
22851
|
...RECREATE_RETRY_SCHEDULE,
|
|
22798
22852
|
logger,
|
|
22799
22853
|
...isInterrupted && {
|
|
@@ -22866,7 +22920,8 @@ async function replaySingle(op, stateResources, stackName, ctx, resolver, orphan
|
|
|
22866
22920
|
current.physicalId,
|
|
22867
22921
|
op.resourceType,
|
|
22868
22922
|
desiredProps ?? {},
|
|
22869
|
-
currentProps ?? {}
|
|
22923
|
+
currentProps ?? {},
|
|
22924
|
+
{ maskSecrets: createSecretMasker(secrets) }
|
|
22870
22925
|
], op.logicalId, logger, isInterrupted);
|
|
22871
22926
|
stateResources[op.logicalId] = redactRollbackRecord(recordAfterRollbackUpdate(previousState, revertResult), secrets, previousState.properties);
|
|
22872
22927
|
const rollbackPartial = updatePartialReason(revertResult);
|
|
@@ -23009,7 +23064,8 @@ async function replayFailedOperations(failedOps, stateResources, stackName, ctx,
|
|
|
23009
23064
|
current.physicalId,
|
|
23010
23065
|
op.resourceType,
|
|
23011
23066
|
desiredProps ?? {},
|
|
23012
|
-
attemptedProps ?? {}
|
|
23067
|
+
attemptedProps ?? {},
|
|
23068
|
+
{ maskSecrets: createSecretMasker(secrets) }
|
|
23013
23069
|
], op.logicalId, logger, options.isInterrupted);
|
|
23014
23070
|
stateResources[op.logicalId] = redactRollbackRecord(recordAfterRollbackUpdate(prev, revertFailedResult), secrets, prev.properties);
|
|
23015
23071
|
const revertFailedPartial = updatePartialReason(revertFailedResult);
|
|
@@ -23140,7 +23196,7 @@ const FLUSH_INTERVAL_MS = 2e3;
|
|
|
23140
23196
|
const FLUSH_EVENT_THRESHOLD = 50;
|
|
23141
23197
|
/** Build-time cdkd version, with a dev fallback for non-built contexts. */
|
|
23142
23198
|
function getCdkdVersion() {
|
|
23143
|
-
return "0.284.
|
|
23199
|
+
return "0.284.5";
|
|
23144
23200
|
}
|
|
23145
23201
|
/**
|
|
23146
23202
|
* Generate a time-sortable unique run id, e.g.
|
|
@@ -24908,7 +24964,7 @@ var DeployEngine = class {
|
|
|
24908
24964
|
* #960 follow-up) and the name-idempotent same-id guard (issue #1238) so
|
|
24909
24965
|
* the two --replace escape hatches cannot drift apart.
|
|
24910
24966
|
*/
|
|
24911
|
-
async replaceDeleteFirstAndRecreate(logicalId, resourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, updateReplacePolicy) {
|
|
24967
|
+
async replaceDeleteFirstAndRecreate(logicalId, resourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, createContext, updateReplacePolicy) {
|
|
24912
24968
|
const finalSnapshotIdentifier = await this.prepareFinalSnapshotForDelete(logicalId, resourceType, currentResource, updateReplacePolicy);
|
|
24913
24969
|
let deleteResult;
|
|
24914
24970
|
try {
|
|
@@ -24925,7 +24981,7 @@ var DeployEngine = class {
|
|
|
24925
24981
|
this.logger.info(` ${green("✓")} Old resource deleted`);
|
|
24926
24982
|
this.logger.info(` Re-creating ${logicalId}...`);
|
|
24927
24983
|
try {
|
|
24928
|
-
return await withRetry(() => this.withRetry(() => replaceProvider.create(logicalId, resourceType, replaceProps), logicalId, void 0, void 0, replaceProvider), logicalId, {
|
|
24984
|
+
return await withRetry(() => this.withRetry(() => replaceProvider.create(logicalId, resourceType, replaceProps, createContext), logicalId, void 0, void 0, replaceProvider), logicalId, {
|
|
24929
24985
|
maxRetries: 8,
|
|
24930
24986
|
initialDelayMs: 2e3,
|
|
24931
24987
|
maxDelayMs: 1e4,
|
|
@@ -24959,6 +25015,7 @@ var DeployEngine = class {
|
|
|
24959
25015
|
}, stackName);
|
|
24960
25016
|
const resolvedProps = await this.resolver.resolve(desiredProps, context);
|
|
24961
25017
|
this.perResourceTemplateProps.set(logicalId, desiredProps);
|
|
25018
|
+
const createSecrets = context.recordedSecretValues ?? /* @__PURE__ */ new Map();
|
|
24962
25019
|
if (context.recordedSecretValues) this.perResourceSecrets.set(logicalId, context.recordedSecretValues);
|
|
24963
25020
|
this.auditResolvedAssetReferences(logicalId, resourceType, resolvedProps);
|
|
24964
25021
|
this.attemptedResolvedProps.set(logicalId, resolvedProps);
|
|
@@ -24968,7 +25025,7 @@ var DeployEngine = class {
|
|
|
24968
25025
|
});
|
|
24969
25026
|
const createProvider = createDecision.provider;
|
|
24970
25027
|
const createProps = createDecision.provisionedBy === "cc-api" ? this.preparePropertiesForCcApi(resourceType, resolvedProps, logicalId) : resolvedProps;
|
|
24971
|
-
const result = await this.withRetry(() => createProvider.create(logicalId, resourceType, createProps), logicalId, void 0, void 0, createProvider);
|
|
25028
|
+
const result = await this.withRetry(() => createProvider.create(logicalId, resourceType, createProps, { maskSecrets: createSecretMasker(createSecrets) }), logicalId, void 0, void 0, createProvider);
|
|
24972
25029
|
const dependencies = this.extractAllDependencies(template, logicalId);
|
|
24973
25030
|
const templateAttrs = this.extractTemplateAttributes(template, logicalId);
|
|
24974
25031
|
stateResources[logicalId] = {
|
|
@@ -25079,7 +25136,7 @@ var DeployEngine = class {
|
|
|
25079
25136
|
this.logger.info(` ${green("✓")} Old resource deleted`);
|
|
25080
25137
|
}
|
|
25081
25138
|
this.logger.info(` Creating new ${logicalId}...`);
|
|
25082
|
-
createResult = await withRetry(() => this.withRetry(() => replaceProvider.create(logicalId, resourceType, replaceProps), logicalId, void 0, void 0, replaceProvider), logicalId, {
|
|
25139
|
+
createResult = await withRetry(() => this.withRetry(() => replaceProvider.create(logicalId, resourceType, replaceProps, { maskSecrets: createSecretMasker(updateSecrets) }), logicalId, void 0, void 0, replaceProvider), logicalId, {
|
|
25083
25140
|
maxRetries: 8,
|
|
25084
25141
|
initialDelayMs: 2e3,
|
|
25085
25142
|
maxDelayMs: 1e4,
|
|
@@ -25093,7 +25150,7 @@ var DeployEngine = class {
|
|
|
25093
25150
|
this.logger.info(` Creating new ${logicalId}...`);
|
|
25094
25151
|
let deletedOldFirst = false;
|
|
25095
25152
|
try {
|
|
25096
|
-
createResult = await this.withRetry(() => replaceProvider.create(logicalId, resourceType, replaceProps), logicalId, void 0, void 0, replaceProvider);
|
|
25153
|
+
createResult = await this.withRetry(() => replaceProvider.create(logicalId, resourceType, replaceProps, { maskSecrets: createSecretMasker(updateSecrets) }), logicalId, void 0, void 0, replaceProvider);
|
|
25097
25154
|
} catch (createError) {
|
|
25098
25155
|
const createMsg = createError instanceof Error ? createError.message : String(createError);
|
|
25099
25156
|
if (!isNameCollisionError(createMsg)) throw createError;
|
|
@@ -25102,7 +25159,7 @@ var DeployEngine = class {
|
|
|
25102
25159
|
if (this.options.replace !== true) throw new CdkdError(`${logicalId} (${resourceType}) requires replacement, but the create-first attempt collided with the existing resource: ${createMsg}. ${nameOrigin.descriptor}, so the CloudFormation-style safe replacement order (create the new resource before deleting the old) cannot reuse the occupied name — CloudFormation refuses this shape with "cannot update a stack when a custom-named resource requires replacing". ${nameOrigin.remedy}, or re-run with \`cdkd deploy --replace\` to delete the old resource FIRST and recreate it under the same name (the resource is briefly unavailable while it is recreated).`, "NAMED_REPLACEMENT_COLLISION");
|
|
25103
25160
|
this.logger.info(` Create-first collided with the existing resource's name and --replace is set — deleting old ${logicalId} (${currentResource.physicalId}) first...`);
|
|
25104
25161
|
deletedOldFirst = true;
|
|
25105
|
-
createResult = await this.replaceDeleteFirstAndRecreate(logicalId, resourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, updateReplacePolicy);
|
|
25162
|
+
createResult = await this.replaceDeleteFirstAndRecreate(logicalId, resourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, { maskSecrets: createSecretMasker(updateSecrets) }, updateReplacePolicy);
|
|
25106
25163
|
}
|
|
25107
25164
|
if (!deletedOldFirst && createResult.physicalId === currentResource.physicalId) {
|
|
25108
25165
|
const idempotentNameOrigin = this.replacementNameOrigin(logicalId, currentResource.physicalId);
|
|
@@ -25110,7 +25167,7 @@ var DeployEngine = class {
|
|
|
25110
25167
|
if (this.options.replace !== true) throw new CdkdError(`${logicalId} (${resourceType}) requires replacement, but its Create API is name-idempotent: the create-first attempt returned the EXISTING resource (${currentResource.physicalId}) instead of creating a new one, so deleting the "old" resource would silently destroy the resource the deploy just reported as created. ${idempotentNameOrigin.descriptor}; ${idempotentNameOrigin.remedy}, or re-run with \`cdkd deploy --replace\` to delete the old resource FIRST and recreate it under the same name (the resource is briefly unavailable while it is recreated). Note: this branch is also reached when the old resource was deleted out-of-band and the physical id is name-derived — there the create was a genuine fresh create; \`--replace\` converges that case too.`, "NAMED_REPLACEMENT_IDEMPOTENT_CREATE");
|
|
25111
25168
|
this.logger.info(` Create-first returned the existing resource (name-idempotent Create API) and --replace is set — deleting old ${logicalId} (${currentResource.physicalId}) first...`);
|
|
25112
25169
|
deletedOldFirst = true;
|
|
25113
|
-
createResult = await this.replaceDeleteFirstAndRecreate(logicalId, resourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, updateReplacePolicy);
|
|
25170
|
+
createResult = await this.replaceDeleteFirstAndRecreate(logicalId, resourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, { maskSecrets: createSecretMasker(updateSecrets) }, updateReplacePolicy);
|
|
25114
25171
|
}
|
|
25115
25172
|
if (deletedOldFirst) {} else if (updateReplacePolicy === "Retain") this.logger.info(` Retaining old ${logicalId} (${currentResource.physicalId}) - UpdateReplacePolicy: Retain`);
|
|
25116
25173
|
else {
|
|
@@ -25170,7 +25227,7 @@ var DeployEngine = class {
|
|
|
25170
25227
|
let result;
|
|
25171
25228
|
let resultProvisionedBy = updateDecision.provisionedBy;
|
|
25172
25229
|
try {
|
|
25173
|
-
result = await this.withRetry(() => updateProvider.update(logicalId, currentResource.physicalId, resourceType, updateProps, currentProps), logicalId, void 0, void 0, updateProvider);
|
|
25230
|
+
result = await this.withRetry(() => updateProvider.update(logicalId, currentResource.physicalId, resourceType, updateProps, currentProps, { maskSecrets: createSecretMasker(updateSecrets) }), logicalId, void 0, void 0, updateProvider);
|
|
25174
25231
|
} catch (updateError) {
|
|
25175
25232
|
const msg = updateError instanceof Error ? updateError.message : String(updateError);
|
|
25176
25233
|
const ccUnsupported = msg.includes("UnsupportedActionException") || msg.includes("does not support UPDATE");
|
|
@@ -25202,7 +25259,7 @@ var DeployEngine = class {
|
|
|
25202
25259
|
});
|
|
25203
25260
|
const replProvider = replDecision.provider;
|
|
25204
25261
|
const replProps = replDecision.provisionedBy === "cc-api" ? this.preparePropertiesForCcApi(resourceType, resolvedProps, logicalId) : resolvedProps;
|
|
25205
|
-
const createResult = await this.withRetry(() => replProvider.create(logicalId, resourceType, replProps), logicalId, void 0, void 0, replProvider);
|
|
25262
|
+
const createResult = await this.withRetry(() => replProvider.create(logicalId, resourceType, replProps, { maskSecrets: createSecretMasker(updateSecrets) }), logicalId, void 0, void 0, replProvider);
|
|
25206
25263
|
const replacementResult = {
|
|
25207
25264
|
physicalId: createResult.physicalId,
|
|
25208
25265
|
wasReplaced: true,
|
|
@@ -25607,5 +25664,5 @@ var DeployEngine = class {
|
|
|
25607
25664
|
};
|
|
25608
25665
|
|
|
25609
25666
|
//#endregion
|
|
25610
|
-
export { IntrinsicFunctionResolver as $,
|
|
25611
|
-
//# sourceMappingURL=deploy-engine-
|
|
25667
|
+
export { IntrinsicFunctionResolver as $, StackHasActiveImportsError as $n, validateContainerRepoName as $t, formatResourceLine as A, AssemblyReader as An, describeTypeWithThrottleRetry as At, isExportAliasCollision as B, ConfigError as Bn, WorkGraph as Bt, refusesFinalSnapshot as C, MIGRATE_TMP_PREFIX as Cn, s3BucketDomainName as Ct, MULTI_REGION_RECREATE_BLOCKED_TYPES as D, PARTITION_TABLE as Dn, applyRoleArnIfSet as Dt, extractDeploymentEventError as E, expectedOwnerParam as En, s3BucketWebsiteUrl as Et, red as F, getAwsClients as Fn, S3StateBackend as Ft, clearOnUpdateRemoval as G, LocalStartServiceError as Gn, escapeRegExp$1 as Gt, stateKeySecretExposure as H, DeployCancelledError as Hn, createAssetRedirectResolver as Ht, yellow as I, resetAwsClients as In, rebuildClientForBucketRegion as It, findSilentDropProperties as J, NestedStackChildDirectDestroyError as Jn, BOOTSTRAP_MARKER_PREFIX as Jt, ProviderRegistry as K, LockError as Kn, stripControlChars as Kt, collectDeclaredOutputNames as L, setAwsClients as Ln, shouldRetainResource as Lt, cyan as M, clearBucketRegionCache as Mn, DagBuilder as Mt, gray as N, resolveBucketRegion as Nn, TemplateParser as Nt, isStatefulRecreateTargetSync as O, canonicalizeRegion as On, DiffCalculator as Ot, green as P, AwsClients as Pn, LockManager as Pt, isTerminationProtectionPropagationError as Q, ResourceUpdateNotSupportedError as Qn, validateAssetBucketName as Qt, collectPublishedOutputNames as R, AssetError as Rn, AssetPublisher as Rt, isFinalSnapshotError as S, CFN_TEMPLATE_URL_LIMIT as Sn, s3BucketArn as St, makeCanonicalizePropertiesFn as T, uploadCfnTemplate as Tn, s3BucketRegionalDomainName as Tt, IAMRoleProvider as U, LocalInvokeBuildError as Un, loadPublishableAssetManifest as Ut, secretBearingStateKeyWarning as V, DependencyError as Vn, buildAssetRedirectMap as Vt, collectInlinePolicyNamesManagedBySiblings as W, LocalMigrateError as Wn, rewriteTemplateAssetReferences as Wt, slowCcOperationTimeoutMs as X, ProvisioningError as Xn, getBootstrapMarkerKey as Xt, CloudControlProvider as Y, PartialFailureError as Yn, ensureAssetStorage as Yt, disableInstanceApiTermination as Z, ResourceTimeoutError as Zn, parseBootstrapMarker as Zt, ATOMIC_FINAL_SNAPSHOT_TYPES as _, resolveStateBucketWithDefaultAndSource as _n, TEMPLATE_SOURCED_RULES as _t, DeploymentEventsStore as a, runDockerStreaming as an, normalizeAwsError as ar, resolveExplicitPhysicalId as at, ccRoutedFinalSnapshotError as b, warnDeprecatedNoPrefixCliFlag as bn, redactSecretsForState as bt, replayFailedOperations as c, Synthesizer as cn, isRetryableTransientError as cr, configBooleanRefusal as ct, updatePartialReason as d, getLegacyStateBucketName as dn, __exportAll as dr, replayWarn as dt, buildDenyExternalAccessPolicy as en, StackTerminationProtectionError as er, cfnRefValueFromPhysicalId as et, UNSPECIFIED_SKIP_REASON as f, resolveApp as fn, requireConfigArray as ft, computeImplicitDeleteEdges as g, resolveStateBucketWithDefault as gn, STATE_SOURCED_READBACK_RULES as gt, IMPLICIT_DELETE_DEPENDENCIES as h, resolveSkipPrefix as hn, STATE_SOURCED_CROSS_GENERATION_RULES as ht, DeploymentEventsReader as i, runDockerForeground as in, isCdkdError as ir, normalizeAwsTagsToCfn as it, bold as j, processStackMessages as jn, withRetry as jt, renderStatefulReason as k, derivePartitionAndUrlSuffix as kn, INTRINSIC_KEYS as kt, replayRollback as l, synthesisStatusMessage as ln, isThrottlingError as lr, configStringRefusal as lt, withResourceDeadline as m, resolveCaptureObservedState as mn, requireConfigString as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, formatDockerLoginError as nn, SynthesisError as nr, refStateLookupFromResource as nt, planFailedOps as o, AssetManifestLoader as on, withErrorHandling as or, assertRegionMatch as ot, deleteSkipReason as p, resolveAutoAssetStorage as pn, requireConfigObject as pt, findActionableSilentDrops as q, MissingCdkCliError as qn, AssetModeResolver as qt, DeployEngine as r, getDockerCmd as rn, formatError as rr, WAFv2WebACLProvider as rt, planRollback as s, getDockerImageBySourceHash as sn, isMarkedNonRetryable as sr, coerceCfnBoolean as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, buildDockerImage as tn, StateError as tr, getAccountInfo as tt, updatePartialMessage as u, getDefaultStateBucketName as un, markNonRetryable as ur, readConfigString as ut, PRE_DELETE_SNAPSHOT_TYPES as v, resolveUseCdkBootstrapAssets as vn, createSecretMasker as vt, unsupportedFinalSnapshotError as w, findLargeInlineResources as wn, s3BucketDualStackDomainName as wt, createPreDeleteFinalSnapshot as x, CFN_TEMPLATE_BODY_LIMIT as xn, scrubResourceRecord as xt, buildFinalSnapshotIdentifier as y, stateBucketExistenceConfirmed as yn, maskSecretsInText as yt, exportAliasCollisionScrubWarning as z, CdkdError as zn, stringifyValue as zt };
|
|
25668
|
+
//# sourceMappingURL=deploy-engine-BKSfYWps.js.map
|