@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.
@@ -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. Cleanup failures
11538
- * are warned, not thrown — the original create error must surface.
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-BQswANyu.js").then((n) => n.n);
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.8";
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-DPphskEY.js.map
19348
+ //# sourceMappingURL=deploy-engine-CwYew49N.js.map