@go-to-k/cdkd 0.267.8 → 0.267.10
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-BQswANyu.js → asg-provider-1vYQwqgn.js} +2 -2
- package/dist/{asg-provider-BQswANyu.js.map → asg-provider-1vYQwqgn.js.map} +1 -1
- package/dist/cli.js +23 -9
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-DPphskEY.js → deploy-engine-CwYew49N.js} +28 -6
- package/dist/{deploy-engine-DPphskEY.js.map → deploy-engine-CwYew49N.js.map} +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -11469,6 +11469,19 @@ var CloudControlOperationFailedError = class CloudControlOperationFailedError ex
|
|
|
11469
11469
|
Object.setPrototypeOf(this, CloudControlOperationFailedError.prototype);
|
|
11470
11470
|
}
|
|
11471
11471
|
};
|
|
11472
|
+
/**
|
|
11473
|
+
* Matches service-worded "the resource is gone" failure messages, including
|
|
11474
|
+
* shapes whose wording lacks the canonical `not found` substring (CodeDeploy:
|
|
11475
|
+
* "No Deployment Group found for name: ..."). Deliberately scoped to the
|
|
11476
|
+
* failed-CREATE remnant-cleanup path, where a false positive only downgrades
|
|
11477
|
+
* a warning to an info — it is NOT used for the main DELETE idempotency
|
|
11478
|
+
* decision, which relies on the structured `ErrorCode: NotFound` /
|
|
11479
|
+
* `ResourceNotFoundException` signals plus the long-standing narrow
|
|
11480
|
+
* substrings (issue #1252).
|
|
11481
|
+
*/
|
|
11482
|
+
function isNotFoundMessage(message) {
|
|
11483
|
+
return /not\s*found|does\s*not\s*exist|no\s*such|non\s*existent|\bno\b[^.;:]{0,80}\bfound\b/i.test(message);
|
|
11484
|
+
}
|
|
11472
11485
|
var CloudControlProvider = class {
|
|
11473
11486
|
cloudControlClient;
|
|
11474
11487
|
logger = getLogger().child("CloudControlProvider");
|
|
@@ -11534,8 +11547,13 @@ var CloudControlProvider = class {
|
|
|
11534
11547
|
* deleting it would destroy a user's pre-existing resource. Handlers may
|
|
11535
11548
|
* also stuff a speculative identifier into a FAILED event without having
|
|
11536
11549
|
* materialized anything (observed on `AWS::CodeDeploy::DeploymentGroup`);
|
|
11537
|
-
* the delete then no-ops via the NotFound-idempotent path
|
|
11538
|
-
*
|
|
11550
|
+
* the delete then no-ops via the NotFound-idempotent path (structured
|
|
11551
|
+
* `ErrorCode: NotFound` or the canonical message substrings), and a
|
|
11552
|
+
* service-worded not-found the delete path cannot recognize (CodeDeploy's
|
|
11553
|
+
* "No Deployment Group found for name: ...") is downgraded here to an
|
|
11554
|
+
* already-gone info instead of the misleading "remove it manually" warning
|
|
11555
|
+
* (issue #1252). Real cleanup failures are warned, not thrown — the
|
|
11556
|
+
* original create error must surface.
|
|
11539
11557
|
*/
|
|
11540
11558
|
async cleanupFailedCreateRemnant(error, resourceType, logicalId) {
|
|
11541
11559
|
if (!(error instanceof CloudControlOperationFailedError)) return;
|
|
@@ -11548,6 +11566,10 @@ var CloudControlProvider = class {
|
|
|
11548
11566
|
this.logger.debug(`Removed failed-create remnant ${error.physicalId} for ${logicalId}`);
|
|
11549
11567
|
} catch (cleanupError) {
|
|
11550
11568
|
const message = cleanupError instanceof Error ? cleanupError.message : String(cleanupError);
|
|
11569
|
+
if (isNotFoundMessage(message)) {
|
|
11570
|
+
this.logger.info(`The remnant ${error.physicalId} left by the failed CREATE of ${logicalId} was already gone (not found); nothing to clean up`);
|
|
11571
|
+
return;
|
|
11572
|
+
}
|
|
11551
11573
|
this.logger.warn(`Failed to delete the remnant ${error.physicalId} left by the failed CREATE of ${logicalId}: ${message} — a retry may fail with AlreadyExists until it is removed manually`);
|
|
11552
11574
|
}
|
|
11553
11575
|
}
|
|
@@ -11609,7 +11631,7 @@ var CloudControlProvider = class {
|
|
|
11609
11631
|
this.logger.debug(`Deleting resource ${logicalId} (${resourceType}), physical ID: ${physicalId}`);
|
|
11610
11632
|
if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
|
|
11611
11633
|
this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
|
|
11612
|
-
const { ASGProvider } = await import("./asg-provider-
|
|
11634
|
+
const { ASGProvider } = await import("./asg-provider-1vYQwqgn.js").then((n) => n.n);
|
|
11613
11635
|
await new ASGProvider().delete(logicalId, physicalId, resourceType, _properties, context);
|
|
11614
11636
|
return;
|
|
11615
11637
|
}
|
|
@@ -11628,7 +11650,7 @@ var CloudControlProvider = class {
|
|
|
11628
11650
|
return;
|
|
11629
11651
|
} catch (error) {
|
|
11630
11652
|
const err = error;
|
|
11631
|
-
if (err.name === "ResourceNotFoundException" || err.message?.includes("does not exist") || err.message?.includes("not found") || err.message?.includes("NotFound")) {
|
|
11653
|
+
if (error instanceof CloudControlOperationFailedError && error.ccOperation === "DELETE" && error.ccErrorCode === "NotFound" || err.name === "ResourceNotFoundException" || err.message?.includes("does not exist") || err.message?.includes("not found") || err.message?.includes("NotFound")) {
|
|
11632
11654
|
assertRegionMatch(await this.cloudControlClient.config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
11633
11655
|
this.logger.debug(`Resource ${logicalId} already deleted (not found), treating as success`);
|
|
11634
11656
|
return;
|
|
@@ -17317,7 +17339,7 @@ const FLUSH_INTERVAL_MS = 2e3;
|
|
|
17317
17339
|
const FLUSH_EVENT_THRESHOLD = 50;
|
|
17318
17340
|
/** Build-time cdkd version, with a dev fallback for non-built contexts. */
|
|
17319
17341
|
function getCdkdVersion() {
|
|
17320
|
-
return "0.267.
|
|
17342
|
+
return "0.267.10";
|
|
17321
17343
|
}
|
|
17322
17344
|
/**
|
|
17323
17345
|
* Generate a time-sortable unique run id, e.g.
|
|
@@ -19323,4 +19345,4 @@ var DeployEngine = class {
|
|
|
19323
19345
|
|
|
19324
19346
|
//#endregion
|
|
19325
19347
|
export { WorkGraph as $, NestedStackChildDirectDestroyError as $t, slowCcOperationTimeoutMs as A, CFN_TEMPLATE_BODY_LIMIT as At, applyRoleArnIfSet as B, AwsClients as Bt, yellow as C, resolveAutoAssetStorage as Ct, ProviderRegistry as D, resolveStateBucketWithDefaultAndSource as Dt, clearOnUpdateRemoval as E, resolveStateBucketWithDefault as Et, refStateLookupFromResource as F, expectedOwnerParam as Ft, DagBuilder as G, CdkdError as Gt, describeTypeWithThrottleRetry as H, resetAwsClients as Ht, WAFv2WebACLProvider as I, AssemblyReader as It, S3StateBackend as J, LocalInvokeBuildError as Jt, TemplateParser as K, ConfigError as Kt, normalizeAwsTagsToCfn as L, processStackMessages as Lt, isTerminationProtectionPropagationError as M, MIGRATE_TMP_PREFIX as Mt, IntrinsicFunctionResolver as N, findLargeInlineResources as Nt, findActionableSilentDrops as O, resolveUseCdkBootstrapAssets as Ot, cfnRefValueFromPhysicalId as P, uploadCfnTemplate as Pt, stringifyValue as Q, MissingCdkCliError as Qt, resolveExplicitPhysicalId as R, clearBucketRegionCache as Rt, red as S, resolveApp as St, collectInlinePolicyNamesManagedBySiblings as T, resolveSkipPrefix as Tt, withRetry as U, setAwsClients as Ut, DiffCalculator as V, getAwsClients as Vt, isRetryableTransientError as W, AssetError as Wt, shouldRetainResource as X, LocalStartServiceError as Xt, rebuildClientForBucketRegion as Y, LocalMigrateError as Yt, AssetPublisher as Z, LockError as Zt, formatResourceLine as _, getDockerImageBySourceHash as _t, DeploymentEventsStore as a, StackTerminationProtectionError as an, BOOTSTRAP_MARKER_PREFIX as at, gray as b, getDefaultStateBucketName as bt, replayFailedOperations as c, formatError as cn, parseBootstrapMarker as ct, IMPLICIT_DELETE_DEPENDENCIES as d, withErrorHandling as dn, buildDockerImage as dt, PartialFailureError as en, buildAssetRedirectMap as et, computeImplicitDeleteEdges as f, __exportAll as fn, formatDockerLoginError as ft, renderStatefulReason as g, AssetManifestLoader as gt, isStatefulRecreateTargetSync as h, runDockerStreaming as ht, DeploymentEventsReader as i, StackHasActiveImportsError as in, AssetModeResolver as it, disableInstanceApiTermination as j, CFN_TEMPLATE_URL_LIMIT as jt, CloudControlProvider as k, warnDeprecatedNoPrefixCliFlag as kt, replayRollback as l, isCdkdError as ln, validateAssetBucketName as lt, MULTI_REGION_RECREATE_BLOCKED_TYPES as m, runDockerForeground as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, ResourceTimeoutError as nn, loadPublishableAssetManifest as nt, planFailedOps as o, StateError as on, ensureAssetStorage as ot, extractDeploymentEventError as p, getDockerCmd as pt, LockManager as q, DependencyError as qt, DeployEngine as r, ResourceUpdateNotSupportedError as rn, rewriteTemplateAssetReferences as rt, planRollback as s, SynthesisError as sn, getBootstrapMarkerKey as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, ProvisioningError as tn, createAssetRedirectResolver as tt, withResourceDeadline as u, normalizeAwsError 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, resolveBucketRegion as zt };
|
|
19326
|
-
//# sourceMappingURL=deploy-engine-
|
|
19348
|
+
//# sourceMappingURL=deploy-engine-CwYew49N.js.map
|