@go-to-k/cdkd 0.284.78 → 0.284.79

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.
@@ -1,5 +1,5 @@
1
1
  import { d as generateResourceName, f as generateResourceNameWithFallback, g as withStackName, m as looksLikeCdkdGeneratedName, n as getLogger, o as getLiveRenderer, p as getCurrentStackName, u as applyDefaultNameForFallback } from "./logger-C9-E73FI.js";
2
- import { t as getCdkdVersion } from "./version-GEIr41xq.js";
2
+ import { t as getCdkdVersion } from "./version-Hlzx3l_O.js";
3
3
  import { AsyncLocalStorage } from "node:async_hooks";
4
4
  import { randomUUID } from "node:crypto";
5
5
  import { CreateBucketCommand, DeleteObjectCommand, DeleteObjectsCommand, GetBucketLocationCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectsV2Command, NoSuchKey, PutBucketEncryptionCommand, PutBucketPolicyCommand, PutObjectCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
@@ -16125,21 +16125,71 @@ function collectReferencedParameterNames(template) {
16125
16125
  * all -- it has already failed.
16126
16126
  * - {@link IntrinsicFunctionResolver.subPlaceholderNamesADeclaredTemplateEntity}
16127
16127
  * answers for the callers that CATCH that error and resolve anyway.
16128
- * `cdkd import --migrate-from-cloudformation` is the live one: it logs the
16129
- * parameter-resolution failure and continues with an EMPTY bag, on a context
16130
- * that is NOT `bestEffort`, so `${Stage}` used to be written verbatim into
16131
- * the imported resource's persisted properties -- and from there into the
16128
+ * `cdkd import` is the live one -- EVERY mode of it, not only
16129
+ * `--migrate-from-cloudformation`: `resolveImportedProperties` sits on
16130
+ * `importCommand`'s unconditional flow, so auto / selective / hybrid all
16131
+ * reach it. It logs the parameter-resolution failure, RETRIES over the
16132
+ * template's `Default`-carrying parameters alone (issue
16133
+ * [#2321](https://github.com/go-to-k/cdkd/issues/2321)), and resolves
16134
+ * against that partial bag on a context that is NOT `bestEffort`. The
16135
+ * retry binds every parameter it can, and a parameter with no `Default` is
16136
+ * exactly what it cannot bind -- so this population still arrives here,
16137
+ * and a `${Tier}` over such a parameter used to be written verbatim into
16138
+ * the imported resource's persisted properties, and from there into the
16132
16139
  * next deploy's desired bag, which is how the literal reaches AWS.
16140
+ * (The fixtures spell that parameter `Stage`; this doc says `Tier` because
16141
+ * `import.ts`'s own #2321 comments use `Stage` for the opposite role -- the
16142
+ * parameter that DOES carry a `Default` -- and one name for both roles in
16143
+ * one change is how a reader mis-reads which population is which.)
16144
+ * Before #2321 that caller continued with an EMPTY bag instead; the note
16145
+ * below turns on the difference, and on what survives it.
16133
16146
  *
16134
16147
  * A key PRESENT with an `undefined` value is not a binding: `resolveParameters`
16135
16148
  * falls through such a key to the `Default` check, so the predicate must too.
16136
16149
  * That single edge is the reason this is shared code and not a paraphrase.
16137
16150
  *
16138
16151
  * A `Default`-carrying parameter the caller never merged is DELIBERATELY not
16139
- * in this population. `resolveParameters` merges every `Default` it sees, so
16140
- * the only way to reach the resolver with one unbound is to have discarded the
16141
- * whole bag -- and refusing there would newly hard-fail input cdkd accepts
16142
- * today, for a parameter whose value the template itself declares.
16152
+ * in this population, and issue
16153
+ * [#2321](https://github.com/go-to-k/cdkd/issues/2321) NARROWED the population
16154
+ * that reaches here without emptying it. Both halves matter, and an earlier
16155
+ * revision of this paragraph shipped only the first, claiming the exclusion
16156
+ * "describes a population that no live path produces". That was FALSE, and the
16157
+ * counter-example is in the very change that prompted the rewrite.
16158
+ *
16159
+ * What #2321 fixed is `import`'s retry SUCCESS path. `resolveParameters`
16160
+ * merges every `Default` it sees on the path that succeeds; `import` is the
16161
+ * one caller that catches its throw on a non-`bestEffort` context, and it now
16162
+ * retries over exactly the `Default`-carrying parameters instead of continuing
16163
+ * with an empty bag, so a `Default`-carrying parameter reaching the refusing
16164
+ * site from THAT path arrives BOUND. (`diff-recursive` and `scrub` also catch,
16165
+ * but both set `bestEffort: true` and `rethrowStructuralSubFailure` returns on
16166
+ * that flag BEFORE consulting this predicate, so neither reaches the refusing
16167
+ * site at all; `deploy-engine` does not catch.)
16168
+ *
16169
+ * What SURVIVES is `import`'s retry FAILURE path, and it is a live producer,
16170
+ * not a hypothetical one. When the `Default`-only retry itself throws -- an
16171
+ * SSM-typed default whose `GetParameter` is rejected is the reachable case --
16172
+ * `resolveImportedProperties` falls back to an empty bag rather than aborting
16173
+ * an import that already succeeded against AWS, and `import.ts` omits the
16174
+ * `parameters` key entirely when the bag is empty, so the context arrives with
16175
+ * `parameters: undefined`. A `Default`-carrying parameter is then unbound at
16176
+ * the refusing site, and this exclusion is the ONLY thing standing between it
16177
+ * and a refusal.
16178
+ *
16179
+ * So the clause below is PRESENT-TENSE LOAD-BEARING, not a courtesy kept for
16180
+ * some future caller: that fallback path exists right now, and the clause is
16181
+ * what keeps a `Default`-carrying parameter off the refusing site on it.
16182
+ * What removing the clause would DO downstream is deliberately not asserted
16183
+ * here -- it was not probed, and the residual note below is what carries the
16184
+ * observable consequence. It is also what
16185
+ * {@link IntrinsicFunctionResolver.subPlaceholderNamesADeclaredTemplateEntity}
16186
+ * cross-references.
16187
+ *
16188
+ * The cost of that fallback is that the #2321 defect persists on it -- the
16189
+ * placeholder is kept and written verbatim -- which is a KNOWN residual rather
16190
+ * than an oversight; `import.ts` records it at the fallback, and
16191
+ * `tests/unit/cli/import.test.ts` pins it so the residual cannot widen
16192
+ * silently.
16143
16193
  */
16144
16194
  function isUnboundTemplateParameter(name, template, boundParameters) {
16145
16195
  const declaredParameters = template?.Parameters;
@@ -17616,12 +17666,11 @@ var IntrinsicFunctionResolver = class IntrinsicFunctionResolver {
17616
17666
  * `Parameter <name> is required ...` for exactly the same population up
17617
17667
  * front -- so on a plain `cdkd deploy` this arm is unreachable by
17618
17668
  * construction, and what it actually covers is the caller that CATCHES that
17619
- * error and resolves anyway (`cdkd import --migrate-from-cloudformation`,
17620
- * on a context that is not `bestEffort`).
17669
+ * error and resolves anyway (`cdkd import`, in every mode, on a context that
17670
+ * is not `bestEffort`).
17621
17671
  *
17622
17672
  * A parameter carrying a `Default` the caller never merged stays OUT, for
17623
- * the reason recorded on the shared predicate: refusing it would newly
17624
- * hard-fail input cdkd accepts today.
17673
+ * the reason recorded on the shared predicate.
17625
17674
  *
17626
17675
  * An earlier revision excluded parameters WHOLESALE and justified that by
17627
17676
  * "the routine `cdkd scrub` case (it takes no `--parameters`)". That reason
@@ -20009,7 +20058,7 @@ var CloudControlProvider = class {
20009
20058
  await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
20010
20059
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
20011
20060
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
20012
- const { ASGProvider } = await import("./asg-provider-R60Irey3.js").then((n) => n.n);
20061
+ const { ASGProvider } = await import("./asg-provider-CujMYGki.js").then((n) => n.n);
20013
20062
  return await new ASGProvider().delete(logicalId, physicalId, resourceType, _properties, context);
20014
20063
  }
20015
20064
  const isProtectedEc2Instance = context?.removeProtection === true && resourceType === "AWS::EC2::Instance";
@@ -31903,4 +31952,4 @@ var DeployEngine = class {
31903
31952
 
31904
31953
  //#endregion
31905
31954
  export { maskerOrIdentity as $, CFN_TEMPLATE_URL_LIMIT as $n, redactSecretsForState as $t, renderStatefulReason as A, buildDockerImage as An, ResourceTimeoutError as Ar, classifyReplaySecretRegion as At, exportAliasCollisionScrubWarning as B, synthesisStatusMessage as Bn, isMarkedNonRetryable as Br, describeTypeWithThrottleRetry as Bt, isFinalSnapshotError as C, isCrossRegionRedirect as Cn, LocalMigrateError as Cr, configBooleanRefusal as Ct, extractDeploymentEventError as D, validateContainerRepoName as Dn, NestedStackChildDirectDestroyError as Dr, requireConfigArray as Dt, makeCanonicalizePropertiesFn as E, validateAssetBucketName as En, MissingCdkCliError as Er, replayWarn as Et, green as F, runDockerForeground as Fn, SynthesisError as Fr, s3BucketRegionalDomainName as Ft, IAMRoleProvider as G, resolveCaptureObservedState as Gn, retryClassificationText as Gr, STATE_SOURCED_READBACK_RULES as Gt, secretBearingStateKeyWarning as H, getLegacyStateBucketName as Hn, isThrottlingError as Hr, DagBuilder as Ht, red as I, runDockerStreaming as In, formatError as Ir, s3BucketWebsiteUrl as It, ProviderRegistry as J, resolveStateBucketWithDefaultAndSource as Jn, dynamicReferenceTokens as Jt, collectInlinePolicyNamesManagedBySiblings as K, resolveSkipPrefix as Kn, __exportAll as Kr, TEMPLATE_SOURCED_RULES as Kt, yellow as L, AssetManifestLoader as Ln, isCdkdError as Lr, applyRoleArnIfSet as Lt, bold as M, formatDockerLoginError as Mn, StackHasActiveImportsError as Mr, s3BucketArn as Mt, cyan as N, getDockerCmd as Nn, StackTerminationProtectionError as Nr, s3BucketDomainName as Nt, MULTI_REGION_RECREATE_BLOCKED_TYPES as O, buildDenyExternalAccessPolicy as On, PartialFailureError as Or, requireConfigObject as Ot, gray as P, partitionSensitiveEnv as Pn, StateError as Pr, s3BucketDualStackDomainName as Pt, maskDeep as Q, CFN_TEMPLATE_BODY_LIMIT as Qn, maskSecretsInText as Qt, collectDeclaredOutputNames as R, getDockerImageBySourceHash as Rn, normalizeAwsError as Rr, DiffCalculator as Rt, createPreDeleteFinalSnapshot as S, getBootstrapMarkerKey as Sn, LocalInvokeBuildError as Sr, coerceCfnBoolean as St, unsupportedFinalSnapshotError as T, readBootstrapMarkerBody as Tn, LockError as Tr, readConfigString as Tt, stateKeySecretExposure as U, resolveApp as Un, markNonRetryable as Ur, TemplateParser as Ut, isExportAliasCollision as V, getDefaultStateBucketName as Vn, isRetryableTransientError as Vr, withRetry as Vt, getCurrentResourceSecrets as W, resolveAutoAssetStorage as Wn, markRedactedCause as Wr, STATE_SOURCED_CROSS_GENERATION_RULES as Wt, findSilentDropProperties as X, stateBucketExistenceConfirmed as Xn, isSingleDynamicReferenceToken as Xt, findActionableSilentDrops as Y, resolveUseCdkBootstrapAssets as Yn, errorCauseChain as Yt, createMaskedRetryLogger as Z, warnDeprecatedNoPrefixCliFlag as Zn, maskSecretsInError as Zt, computeImplicitDeleteEdges as _, stripControlChars as _n, ConfigError as _r, refStateLookupFromResource as _t, DeploymentEventsStore as a, exportNamesCarriedFrom as an, canonicalizeRegion as ar, isInterruptedWaitError as at, buildFinalSnapshotIdentifier as b, assertAssetBucketRegion as bn, DeployCancelledError as br, resolveExplicitPhysicalId as bt, replayFailedOperations as c, shouldRetainResource as cn, processStackMessages as cr, slowCcOperationTimeoutMs as ct, updatePartialReason as d, WorkGraph as dn, AwsClients as dr, IntrinsicFunctionResolver as dt, scrubResourceRecord as en, MIGRATE_TMP_PREFIX as er, CUSTOM_RESOURCE_RESPONSE_PREFIX as et, UNSPECIFIED_SKIP_REASON as f, buildAssetRedirectMap as fn, getAwsClients as fr, carriesDynamicReference as ft, IMPLICIT_DELETE_DEPENDENCIES as g, escapeRegExp$1 as gn, CdkdError as gr, parameterTypeMayLoseSecretIdentity as gt, maskingRetryLogger as h, rewriteTemplateAssetReferences as hn, AssetError as hr, isUnboundTemplateParameter as ht, DeploymentEventsReader as i, rebuildClientForBucketRegion as in, PARTITION_TABLE as ir, interruptWatchListenerCount as it, formatResourceLine as j, dockerSpawnEnvWithSensitive as jn, ResourceUpdateNotSupportedError as jr, producerRegionsFromState as jt, isStatefulRecreateTargetSync as k, describeAwsFailure as kn, ProvisioningError as kr, requireConfigString as kt, replayRollback as l, AssetPublisher as ln, clearBucketRegionCache as lr, disableInstanceApiTermination as lt, withResourceDeadline as m, loadPublishableAssetManifest as mn, setAwsClients as mr, getAccountInfo as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, displaySafe as nn, uploadCfnTemplate as nr, beginCommandInterruptScope as nt, planFailedOps as o, importableOutputKeys as on, derivePartitionAndUrlSuffix as or, startInterruptWatch as ot, deleteSkipReason as p, createAssetRedirectResolver as pn, resetAwsClients as pr, cfnRefValueFromPhysicalId as pt, clearOnUpdateRemoval as q, resolveStateBucketWithDefault as qn, createSecretMasker as qt, DeployEngine as r, S3StateBackend as rn, expectedOwnerParam as rr, endCommandInterruptScope as rt, planRollback as s, importableOutputs as sn, AssemblyReader as sr, CloudControlProvider as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, LockManager as tn, findLargeInlineResources as tr, DEFAULT_STATE_PREFIX as tt, updatePartialMessage as u, stringifyValue as un, resolveBucketRegion as ur, isTerminationProtectionPropagationError as ut, ATOMIC_FINAL_SNAPSHOT_TYPES as v, AssetModeResolver as vn, CrossAccountSecretRefusalError as vr, WAFv2WebACLProvider as vt, refusesFinalSnapshot as w, parseBootstrapMarker as wn, LocalStartServiceError as wr, configStringRefusal as wt, ccRoutedFinalSnapshotError as x, ensureAssetStorage as xn, DynamicReferenceRegionAmbiguousError as xr, assertRegionMatch as xt, PRE_DELETE_SNAPSHOT_TYPES as y, BOOTSTRAP_MARKER_PREFIX as yn, DependencyError as yr, normalizeAwsTagsToCfn as yt, collectPublishedOutputNames as z, Synthesizer as zn, withErrorHandling as zr, INTRINSIC_KEYS as zt };
31906
- //# sourceMappingURL=deploy-engine-Cvkqa30x.js.map
31955
+ //# sourceMappingURL=deploy-engine-C411KMRS.js.map