@go-to-k/cdkd 0.275.0 → 0.275.2
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/README.md +68 -65
- package/dist/{asg-provider-BfdF-bjF.js → asg-provider-2hct1hkv.js} +2 -2
- package/dist/{asg-provider-BfdF-bjF.js.map → asg-provider-2hct1hkv.js.map} +1 -1
- package/dist/cli.js +88 -17
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-DkdxZIwS.js → deploy-engine-D30XI_UX.js} +37 -12
- package/dist/deploy-engine-D30XI_UX.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-DkdxZIwS.js.map +0 -1
|
@@ -9827,6 +9827,18 @@ function collectReferencedParameterNames(template) {
|
|
|
9827
9827
|
}
|
|
9828
9828
|
return referenced;
|
|
9829
9829
|
}
|
|
9830
|
+
/**
|
|
9831
|
+
* Render a parameter VALUE for a debug log line, honoring the definition's
|
|
9832
|
+
* `NoEcho` flag (issue #1329). `NoEcho: true` is the template author's
|
|
9833
|
+
* explicit "this value is sensitive" declaration — CloudFormation masks such
|
|
9834
|
+
* values everywhere it echoes them, so cdkd's `--verbose` output must not
|
|
9835
|
+
* print them either. Sibling of `stringifyAttributeForLog` (which redacts
|
|
9836
|
+
* `Fn::GetAtt` ATTRIBUTE values by name heuristic; here the author told us).
|
|
9837
|
+
*/
|
|
9838
|
+
function stringifyParameterForLog(paramDef, value) {
|
|
9839
|
+
if (paramDef?.NoEcho === true) return "<redacted>";
|
|
9840
|
+
return stringifyValue(value);
|
|
9841
|
+
}
|
|
9830
9842
|
var IntrinsicFunctionResolver = class {
|
|
9831
9843
|
logger = getLogger().child("IntrinsicFunctionResolver");
|
|
9832
9844
|
resolverRegion;
|
|
@@ -9883,7 +9895,7 @@ var IntrinsicFunctionResolver = class {
|
|
|
9883
9895
|
const userValue = userParameters[name];
|
|
9884
9896
|
if (userValue !== void 0) {
|
|
9885
9897
|
parameters[name] = this.coerceParameterValue(userValue, paramDef.Type);
|
|
9886
|
-
this.logger.debug(`Parameter ${name}: using user-provided value ${userValue}`);
|
|
9898
|
+
this.logger.debug(`Parameter ${name}: using user-provided value ${stringifyParameterForLog(paramDef, userValue)}`);
|
|
9887
9899
|
continue;
|
|
9888
9900
|
}
|
|
9889
9901
|
}
|
|
@@ -9898,11 +9910,11 @@ var IntrinsicFunctionResolver = class {
|
|
|
9898
9910
|
this.logger.debug(`Parameter ${name}: resolving SSM parameter path ${ssmPath}`);
|
|
9899
9911
|
const resolved = await this.resolveSSMParameter(ssmPath);
|
|
9900
9912
|
parameters[name] = resolved;
|
|
9901
|
-
this.logger.debug(`Parameter ${name}: resolved SSM value ${resolved}`);
|
|
9913
|
+
this.logger.debug(`Parameter ${name}: resolved SSM value ${stringifyParameterForLog(paramDef, resolved)}`);
|
|
9902
9914
|
continue;
|
|
9903
9915
|
}
|
|
9904
9916
|
parameters[name] = paramDef.Default;
|
|
9905
|
-
this.logger.debug(`Parameter ${name}: using default value ${
|
|
9917
|
+
this.logger.debug(`Parameter ${name}: using default value ${stringifyParameterForLog(paramDef, paramDef.Default)}`);
|
|
9906
9918
|
continue;
|
|
9907
9919
|
}
|
|
9908
9920
|
throw new Error(`Parameter ${name} is required but no value was provided and no default exists`);
|
|
@@ -10031,7 +10043,8 @@ var IntrinsicFunctionResolver = class {
|
|
|
10031
10043
|
}
|
|
10032
10044
|
if (context.parameters && logicalId in context.parameters) {
|
|
10033
10045
|
const value = context.parameters[logicalId];
|
|
10034
|
-
|
|
10046
|
+
const paramDef = context.template.Parameters?.[logicalId];
|
|
10047
|
+
this.logger.debug(`Resolved Ref to parameter: ${logicalId} -> ${stringifyParameterForLog(paramDef, value)}`);
|
|
10035
10048
|
return value;
|
|
10036
10049
|
}
|
|
10037
10050
|
const pseudoValue = await this.resolvePseudoParameter(logicalId, context);
|
|
@@ -12027,7 +12040,7 @@ var CloudControlProvider = class {
|
|
|
12027
12040
|
this.logger.debug(`Deleting resource ${logicalId} (${resourceType}), physical ID: ${physicalId}`);
|
|
12028
12041
|
if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
|
|
12029
12042
|
this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
|
|
12030
|
-
const { ASGProvider } = await import("./asg-provider-
|
|
12043
|
+
const { ASGProvider } = await import("./asg-provider-2hct1hkv.js").then((n) => n.n);
|
|
12031
12044
|
await new ASGProvider().delete(logicalId, physicalId, resourceType, _properties, context);
|
|
12032
12045
|
return;
|
|
12033
12046
|
}
|
|
@@ -17654,7 +17667,7 @@ async function replayFailedOperations(failedOps, stateResources, stackName, ctx,
|
|
|
17654
17667
|
resourceType: op.resourceType,
|
|
17655
17668
|
provisionedBy: op.provisionedBy
|
|
17656
17669
|
});
|
|
17657
|
-
await provider.delete(op.logicalId, op.physicalId, op.resourceType,
|
|
17670
|
+
await provider.delete(op.logicalId, op.physicalId, op.resourceType, op.attemptedProperties, { expectedRegion: ctx.region });
|
|
17658
17671
|
delete stateResources[op.logicalId];
|
|
17659
17672
|
await options.afterOp?.(op.logicalId);
|
|
17660
17673
|
ctx.recordEvent?.({
|
|
@@ -17804,7 +17817,7 @@ const FLUSH_INTERVAL_MS = 2e3;
|
|
|
17804
17817
|
const FLUSH_EVENT_THRESHOLD = 50;
|
|
17805
17818
|
/** Build-time cdkd version, with a dev fallback for non-built contexts. */
|
|
17806
17819
|
function getCdkdVersion() {
|
|
17807
|
-
return "0.275.
|
|
17820
|
+
return "0.275.2";
|
|
17808
17821
|
}
|
|
17809
17822
|
/**
|
|
17810
17823
|
* Generate a time-sortable unique run id, e.g.
|
|
@@ -19331,7 +19344,10 @@ var DeployEngine = class {
|
|
|
19331
19344
|
*/
|
|
19332
19345
|
async replaceDeleteFirstAndRecreate(logicalId, resourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps) {
|
|
19333
19346
|
try {
|
|
19334
|
-
await oldDeleteProvider.delete(logicalId, currentResource.physicalId, resourceType, currentResource.properties, {
|
|
19347
|
+
await oldDeleteProvider.delete(logicalId, currentResource.physicalId, resourceType, currentResource.properties, {
|
|
19348
|
+
expectedRegion: this.stackRegion,
|
|
19349
|
+
forceDataDelete: this.options.forceStatefulRecreation === true
|
|
19350
|
+
});
|
|
19335
19351
|
} catch (deleteError) {
|
|
19336
19352
|
throw new Error(`Failed to delete old resource ${logicalId} (${currentResource.physicalId}) during the --replace delete-first fallback: ${deleteError instanceof Error ? deleteError.message : String(deleteError)}`);
|
|
19337
19353
|
}
|
|
@@ -19472,7 +19488,10 @@ var DeployEngine = class {
|
|
|
19472
19488
|
else {
|
|
19473
19489
|
this.logger.info(` Destroying old ${logicalId} (${currentResource.physicalId}) before recreate...`);
|
|
19474
19490
|
try {
|
|
19475
|
-
await oldDeleteProvider.delete(logicalId, currentResource.physicalId, resourceType, currentResource.properties, {
|
|
19491
|
+
await oldDeleteProvider.delete(logicalId, currentResource.physicalId, resourceType, currentResource.properties, {
|
|
19492
|
+
expectedRegion: this.stackRegion,
|
|
19493
|
+
forceDataDelete: this.options.forceStatefulRecreation === true
|
|
19494
|
+
});
|
|
19476
19495
|
this.logger.info(` ${green("✓")} Old resource deleted`);
|
|
19477
19496
|
} catch (deleteError) {
|
|
19478
19497
|
throw new Error(`Failed to destroy old resource ${logicalId} (${currentResource.physicalId}) during ${recreateFlagName}: ${deleteError instanceof Error ? deleteError.message : String(deleteError)}`);
|
|
@@ -19514,7 +19533,10 @@ var DeployEngine = class {
|
|
|
19514
19533
|
else {
|
|
19515
19534
|
this.logger.info(` Deleting old ${logicalId} (${currentResource.physicalId})...`);
|
|
19516
19535
|
try {
|
|
19517
|
-
await oldDeleteProvider.delete(logicalId, currentResource.physicalId, resourceType, currentResource.properties, {
|
|
19536
|
+
await oldDeleteProvider.delete(logicalId, currentResource.physicalId, resourceType, currentResource.properties, {
|
|
19537
|
+
expectedRegion: this.stackRegion,
|
|
19538
|
+
forceDataDelete: this.options.forceStatefulRecreation === true
|
|
19539
|
+
});
|
|
19518
19540
|
this.logger.info(` ${green("✓")} Old resource deleted`);
|
|
19519
19541
|
} catch (deleteError) {
|
|
19520
19542
|
this.logger.warn(` ⚠ Failed to delete old resource ${logicalId} (${currentResource.physicalId}): ${deleteError instanceof Error ? deleteError.message : String(deleteError)}`);
|
|
@@ -19560,7 +19582,10 @@ var DeployEngine = class {
|
|
|
19560
19582
|
}
|
|
19561
19583
|
this.logger.info(`UPDATE not supported for ${logicalId} (${resourceType}), replacing (DELETE → CREATE)`);
|
|
19562
19584
|
try {
|
|
19563
|
-
await updateProvider.delete(logicalId, currentResource.physicalId, resourceType, currentProps, {
|
|
19585
|
+
await updateProvider.delete(logicalId, currentResource.physicalId, resourceType, currentProps, {
|
|
19586
|
+
expectedRegion: this.stackRegion,
|
|
19587
|
+
forceDataDelete: this.options.forceStatefulRecreation === true
|
|
19588
|
+
});
|
|
19564
19589
|
} catch (deleteError) {
|
|
19565
19590
|
const deleteMsg = deleteError instanceof Error ? deleteError.message : String(deleteError);
|
|
19566
19591
|
if (deleteMsg.includes("does not exist") || deleteMsg.includes("not found") || deleteMsg.includes("NotFound")) this.logger.debug(`Old resource ${logicalId} already gone, proceeding with CREATE`);
|
|
@@ -19850,4 +19875,4 @@ var DeployEngine = class {
|
|
|
19850
19875
|
|
|
19851
19876
|
//#endregion
|
|
19852
19877
|
export { WorkGraph as $, LockError as $t, slowCcOperationTimeoutMs as A, warnDeprecatedNoPrefixCliFlag as At, applyRoleArnIfSet as B, resolveBucketRegion as Bt, yellow as C, resolveAutoAssetStorage as Ct, ProviderRegistry as D, resolveStateBucketWithDefaultAndSource as Dt, clearOnUpdateRemoval as E, resolveStateBucketWithDefault as Et, refStateLookupFromResource as F, uploadCfnTemplate as Ft, DagBuilder as G, AssetError as Gt, describeTypeWithThrottleRetry as H, getAwsClients as Ht, WAFv2WebACLProvider as I, expectedOwnerParam as It, S3StateBackend as J, DependencyError as Jt, TemplateParser as K, CdkdError as Kt, normalizeAwsTagsToCfn as L, AssemblyReader as Lt, isTerminationProtectionPropagationError as M, CFN_TEMPLATE_URL_LIMIT as Mt, IntrinsicFunctionResolver as N, MIGRATE_TMP_PREFIX as Nt, findActionableSilentDrops as O, resolveUseCdkBootstrapAssets as Ot, cfnRefValueFromPhysicalId as P, findLargeInlineResources as Pt, stringifyValue as Q, LocalStartServiceError as Qt, resolveExplicitPhysicalId as R, processStackMessages as Rt, red as S, resolveApp as St, collectInlinePolicyNamesManagedBySiblings as T, resolveSkipPrefix as Tt, withRetry as U, resetAwsClients as Ut, DiffCalculator as V, AwsClients as Vt, isRetryableTransientError as W, setAwsClients as Wt, shouldRetainResource as X, LocalInvokeBuildError as Xt, rebuildClientForBucketRegion as Y, DeployCancelledError as Yt, AssetPublisher as Z, LocalMigrateError as Zt, formatResourceLine as _, getDockerImageBySourceHash as _t, DeploymentEventsStore as a, ResourceUpdateNotSupportedError as an, BOOTSTRAP_MARKER_PREFIX as at, gray as b, getDefaultStateBucketName as bt, replayFailedOperations as c, StateError as cn, parseBootstrapMarker as ct, IMPLICIT_DELETE_DEPENDENCIES as d, isCdkdError as dn, buildDockerImage as dt, MissingCdkCliError as en, buildAssetRedirectMap as et, computeImplicitDeleteEdges as f, normalizeAwsError as fn, formatDockerLoginError as ft, renderStatefulReason as g, AssetManifestLoader as gt, isStatefulRecreateTargetSync as h, runDockerStreaming as ht, DeploymentEventsReader as i, ResourceTimeoutError as in, AssetModeResolver as it, disableInstanceApiTermination as j, CFN_TEMPLATE_BODY_LIMIT as jt, CloudControlProvider as k, stateBucketExistenceConfirmed as kt, replayRollback as l, SynthesisError as ln, validateAssetBucketName as lt, MULTI_REGION_RECREATE_BLOCKED_TYPES as m, __exportAll as mn, runDockerForeground as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, PartialFailureError as nn, loadPublishableAssetManifest as nt, planFailedOps as o, StackHasActiveImportsError as on, ensureAssetStorage as ot, extractDeploymentEventError as p, withErrorHandling as pn, getDockerCmd as pt, LockManager as q, ConfigError as qt, DeployEngine as r, ProvisioningError as rn, rewriteTemplateAssetReferences as rt, planRollback as s, StackTerminationProtectionError as sn, getBootstrapMarkerKey as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, NestedStackChildDirectDestroyError as tn, createAssetRedirectResolver as tt, withResourceDeadline as u, formatError as un, validateContainerRepoName as ut, bold as v, Synthesizer as vt, IAMRoleProvider as w, resolveCaptureObservedState as wt, green as x, getLegacyStateBucketName as xt, cyan as y, synthesisStatusMessage as yt, assertRegionMatch as z, clearBucketRegionCache as zt };
|
|
19853
|
-
//# sourceMappingURL=deploy-engine-
|
|
19878
|
+
//# sourceMappingURL=deploy-engine-D30XI_UX.js.map
|