@go-to-k/cdkd 0.308.1 → 0.310.0

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.
Files changed (26) hide show
  1. package/dist/{asg-provider-B7pAjRIc.js → asg-provider-I1bFHVsO.js} +2 -2
  2. package/dist/{asg-provider-B7pAjRIc.js.map → asg-provider-I1bFHVsO.js.map} +1 -1
  3. package/dist/cli.js +2 -2
  4. package/dist/{deploy-engine-CDjAtIrn.js → deploy-engine-DZO2SOQJ.js} +1238 -248
  5. package/dist/deploy-engine-DZO2SOQJ.js.map +1 -0
  6. package/dist/iam-policy-targets-D94wh05t.js.map +1 -1
  7. package/dist/{iam-role-provider-DbtvFel_.js → iam-role-provider-BWw7I-SZ.js} +2 -2
  8. package/dist/{iam-role-provider-DbtvFel_.js.map → iam-role-provider-BWw7I-SZ.js.map} +1 -1
  9. package/dist/index.d.ts +7 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/{neptune-provider-Y3Ii8oYI.js → neptune-provider-8kjFmR1l.js} +2 -2
  13. package/dist/{neptune-provider-Y3Ii8oYI.js.map → neptune-provider-8kjFmR1l.js.map} +1 -1
  14. package/dist/{program-Ymf7svYk.js → program-CS420Kx9.js} +101 -257
  15. package/dist/program-CS420Kx9.js.map +1 -0
  16. package/dist/{provider-classes-BxfIHcea.js → provider-classes-KsrvwO_r.js} +942 -166
  17. package/dist/provider-classes-KsrvwO_r.js.map +1 -0
  18. package/dist/{rds-provider-CZhBLQgJ.js → rds-provider-BqwTQeS-.js} +27 -13
  19. package/dist/rds-provider-BqwTQeS-.js.map +1 -0
  20. package/dist/{version-BWqrjGBS.js → version-QOtLxcEo.js} +2 -2
  21. package/dist/{version-BWqrjGBS.js.map → version-QOtLxcEo.js.map} +1 -1
  22. package/package.json +9 -10
  23. package/dist/deploy-engine-CDjAtIrn.js.map +0 -1
  24. package/dist/program-Ymf7svYk.js.map +0 -1
  25. package/dist/provider-classes-BxfIHcea.js.map +0 -1
  26. package/dist/rds-provider-CZhBLQgJ.js.map +0 -1
@@ -2,8 +2,8 @@ import { a as runWithStackAwsClients, i as resetAwsClients, o as setAwsClients,
2
2
  import { $ as stringifyJsonPayload, A as isNameGeneration, B as SECRET_REF_MAX_CODE_POINTS, C as generateResourceName, F as withSkipPrefix, G as displayAwsMessage, H as UNRENDERABLE, I as withStackScope, J as displayStackName, K as displayIdent, Q as safeMsg, U as asIsMessage, V as STACK_REF_MAX_CODE_POINTS, W as cutMarker, Y as isPasteableIdent, Z as plainIdentOr, _ as PATTERN_B_RESOURCE_TYPES, a as safeStringify, b as derivesPatternBName, c as isStdoutReservedForPayload, d as runStackBuffered, et as terminalSafe, g as PATTERN_B_NAME_PROPERTIES, h as PATTERN_B_NAME_OPTIONS, l as reserveStdoutForPayload, m as getLiveRenderer, n as describeAwsFailure, q as displaySafe, s as getLogger, tt as truncateCodePoints, x as explicitNamePropertyFor, z as SAFE_MSG_ALTERED_CHAR } from "./aws-failure-text-NSBdKPYK.js";
3
3
  import { An as StateError, Cn as NestedStackChildDirectDestroyError, Cr as markNonRetryable, Dn as ResourceUpdateNotSupportedError, E as isMarkedNotGone, En as ResourceTimeoutError, Fn as normalizeAwsError, Gt as formatLockExpiry, Ht as buildForceUnlockCommand, I as remedyLogicalId, In as withErrorHandling, Jn as shellBoundedDisplay, Kn as plainOrDescribed, Kt as formatLockOperation, Ln as TIMEOUT_FLAG_RESOURCE_TYPE, Mn as formatError, O as assertRegionMatch, On as StackHasActiveImportsError, Qn as setPasteableVerbFlags, Qt as injectiveKey, Sn as MalformedProducerRecordRefusalError, Sr as isThrottlingError, T as RESOURCE_NOT_FOUND, Tn as ProvisioningError, Un as isInertUnquoted, Ut as buildLockContentionMessage, Vn as commandHole, Vt as UNREPRODUCIBLE_LOCK_CLAUSE, Wn as pasteableCommand, Wt as forceQuitRecoveryClause, Xn as withheldTargetClause, Xt as CUSTOM_RESOURCE_RESPONSE_PREFIX, Yn as shellQuote, Z as runDeleteAttempt, Zn as setPasteableRunFlags, Zt as DEFAULT_STATE_PREFIX, _n as IntrinsicResolutionRefusalError, _r as isRetryableTransientError, an as ambientCredentialConfig, bt as resourceTypeShown, cn as AccountIdUnavailableError, cr as escapeRegExp, dt as interruptWatchListenerCount, en as producerCoordinateKey, fn as CrossAccountSecretRefusalError, ft as isInterruptedWaitError, gn as DynamicReferenceRegionAmbiguousError, in as ambientClientDefaults, jn as SynthesisError, k as VALUE_NOT_SHOWN, kn as StackTerminationProtectionError, lr as stripControlChars, lt as beginCommandInterruptScope, mn as DeployCancelledError, mr as isAmbiguousOutcomeError, n as RESOLVED_PREVIOUS_PRINCIPAL_KEYS, nn as setPasteableAwsProfile, on as clientDefaultsFor, qn as quotedOrDescribed, qt as formatLockOwner, rn as withPasteableAwsProfile, rt as isAwsCliLiteral, s as readRecordedPrincipals, sn as credentialFingerprint, t as IAM_PRINCIPAL_NAME, tn as producerRecordKey, un as CdkdError, ur as stripForDisplay, ut as endCommandInterruptScope, vn as LocalInvokeBuildError$1, vr as isTransientServerError, vt as logicalIdShown, wn as PartialFailureError, xr as isMarkedNonRetryable, yn as LocalStartServiceError, yr as retryClassificationText, zn as SHELL_ACTIVE_WHY } from "./iam-policy-targets-D94wh05t.js";
4
4
  import { a as setAssumedRoleCredentials, d as formatAuthority, i as getPreAssumeEnvCredentials, n as awsClientDefaults, r as getAssumedRoleCredentials, u as runInStackAwsScope } from "./aws-client-defaults-BX9Y_fKp.js";
5
- import { $ as computeImplicitDeleteEdges, $a as AWS_NO_VALUE, $i as RollbackInlinePolicyWriters, $l as getBootstrapMarkerKey, $n as carriedExportAliasExposure, $o as refuseMalformedResourceEntriesForDeploy, $r as namingSecretsWithRecordedNoEcho, $u as StageLoadError, Aa as applyRoleArnIfSet, Ac as logOnlyValueCount, Al as hasUnverifiableParameterRefusal, Ao as malformedOrphanRowsKeptWarning, Ar as cyan, As as MULTI_REGION_RECREATE_BLOCKED_TYPES, At as displacedOpClause, Au as loadCdkJson, Ba as classifyRecordedSecretRegion, Bc as scrubResourceRecord, Bl as timePhase, Bn as retiredNameGenerationsAfter, Bo as malformedStateRefusalMessage, Br as supersededAfterRollback, Bt as getCurrentNestedStackContext, Bu as ssmResolvedValueType, Ca as resolveDynamicReferences, Cc as redactForState, Ci as extractDeploymentEventError, Cl as withStackInstanceIdWithheld, Cn as replacementNeverSwapped, Co as malformedExportNamesWarning, Cr as proposeRenames, Ct as makeSiblingClaimReader, Cu as warnFinchArgvExposure, Dc as createUnionSecretMasker, Dl as exportNamesCarriedFrom, Dn as findNestedStackTypeChanges, Do as malformedLocalResourcesWarning, Dr as withStackRecords, Ds as hasNoCloudControlHandlers, Dt as keptForRetainedRecord, Du as synthesisStatusMessage, Ea as keepHeldTokenProvenance, Ec as carryLogOnlyValues, El as describeRegionValueKind, En as orphanNeedsIdentity, Eo as malformedLocalResourceEntriesWarning, Es as NO_CC_HANDLERS_REASON, Et as resolvePendingCloudControlRequests, Eu as Synthesizer, Fa as sendableAssumeRoleCommand, Fc as unionOfSecretBags, Fi as CC_BROKEN_REASON, Fl as orphansCarriedFrom, Fn as updatePartialReason, Fo as malformedRenderedContainersWarning, Fr as addSuperseded, Ft as recordDisplacedSkips, Fu as resolveStateBucketWithDefault, Ga as isUnboundTemplateParameter, Gc as isUncertifiedBaselineMaskPosition, Gi as withPrintingSecrets, Gl as buildAssetRedirectMap, Gn as reachableDivergentParameters, Go as refuseMalformedOrphanRecordsForDestroy, Gr as noEchoAttributeNamesOf, Gt as isHandledOrphan, Gu as uploadCfnTemplate, Ha as producerRegionsFromState, Hi as readsNoEchoDeleteValues, Hl as isSensitiveAttributeName, Hn as withNameGenerationReached, Ho as refuseDivergentRecordRegionForDestroy, Hr as supersededHolderOf, Ht as deleteJournaledOrphans, Hu as CFN_TEMPLATE_URL_LIMIT, Ia as AWS_CREDENTIAL_ENV_KEYS, Ic as createSecretMasker, Ii as ProviderRegistry, Il as shouldRetainResource, In as nameGenerationCarriedFrom, Io as malformedResourceEntriesWarning, Ir as deleteSupersededEntry, Iu as resolveStateBucketWithDefaultAndSource, Ja as isImpossibleEmptyStoredAttribute, Jc as identityKeyFor, Ji as customResourceResponseExpirationWarning, Jl as rewriteTemplateAssetReferences, Jn as displayTextOrWithheld, Jo as refuseMalformedOrphansForOrphan, Jr as noEchoParameterNamesOf, Jt as makeForeignHolderScan, Ju as expectedOwnerParam, Ka as parameterTypeMayLoseSecretIdentity, Kc as pathCrossesDottedKey, Ki as CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID, Kl as createAssetRedirectResolver, Kn as resourcesNamingDeclaredParameter, Ko as refuseMalformedOrphans, Kr as noEchoComparisonForTemplate, Kt as journaledOrphanLines, Ku as CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION, La as applyCallerIdentityCredentials, Lc as errorCauseChain, Li as ccBrokenReason, Ll as stackInstanceIdCarriedFrom, Ln as nameGenerationHighWaterOf, Lo as malformedResourcePropertiesWarning, Lr as holdsSupersededResources, Lt as revertedNestedRowIds, Lu as resolveUseCdkBootstrapAssets, Ma as assertSendableRoleArn, Mc as recordLogOnlyParameterValue, Ml as importableOutputs, Mo as malformedOrphansWarning, Mr as green, Ms as isStatefulRecreateTargetSync, Mt as dropSettledNestedJournals, Mu as resolveAutoAssetStorage, Na as explicitRoleArnOrThrow, Nc as recordLogOnlyValue, Nl as isReadableBag, No as malformedOutputsRefusalMessage, Nr as red, Ns as renderStatefulReason, Nu as resolveCaptureObservedState, Oa as recordedOutputReferenceRegions, Oc as hasMaskableValues, Ol as hasReadableExportSet, Oo as malformedOrphanRecordsRefusalMessage, Os as findReplacedReadersOfRecreateTargets, Ot as recordRetainedForReadoption, Ou as getDefaultStateBucketName, Pa as isIamRoleArn, Pc as shareLogOnlyValues, Pl as orphansAfterRollback, Pn as updatePartialMessage, Po as malformedOutputsWarning, Pr as yellow, Pt as nestedChildStackName$1, Pu as resolveSkipPrefix, Q as IMPLICIT_DELETE_DEPENDENCIES, Qa as keepsSecretReferenceToken, Qc as physicalNameCopiesOf, Ql as ensureAssetStorage, Qn as secretSafeKeyDisplay, Qo as refuseMalformedResourceEntries, Qr as maskEventTextWithBoundBags, Qs as withRetry, Qu as AssemblyReader, Ra as callerEnvCredentials, Rc as maskSecretsInError, Ri as isCustomResource, Rl as PhaseClock, Rn as nameScopeOf, Ro as malformedResourcesWarning, Rr as isSupersededResourceRecord, Rt as withNestedRevertRun, Ru as stateBucketExistenceConfirmed, Si as DeploymentEventsStore, Sl as stackInstanceIdOf, Sn as recordUnderIdIsNotOwn, So as malformedDriftResourcePropertiesWarning, Sr as parseMappingFile, Ss as findActionableSilentDrops, St as makeCanonicalizePropertiesFn, Su as runDockerStreaming, Ta as refuseUnreadableCdkCrossAccountRefs, Tl as acceptedCreateOnlyDropsOf, Tn as seedsDeleteFirstGuard, To as malformedLocalOutputsWarning, Tr as destroyStackRecordsView, Tt as pendingRequestCount, Tu as getDockerImageBySourceHash, Ua as regionLessSecretName, Uc as DYNAMIC_REFERENCE_TOKEN_SCAN, Ui as isCustomResourceType$1, Ul as stringifyValue, Un as computeParameterTaint, Ur as supersededResourcesOf, Ut as dropFailedCommands, Uu as MIGRATE_TMP_PREFIX, Va as classifyReplaySecretRegion, Vc as withPhysicalNameCopies, Vi as TemplateNoEchoReresolver, Vl as AssetPublisher, Vn as retiredNameGenerationsLeaving, Vo as previewableOrphanRecords, Vr as supersededHeldByOtherTypeWarning, Vt as withNestedStackContext, Vu as CFN_TEMPLATE_BODY_LIMIT, Wa as coerceParameterTypedValue, Wc as dynamicReferenceTokens, Wl as WorkGraph, Wn as namesAnyDeclaredParameter, Wo as refuseMalformedOrphanRecords, Wr as withoutSuperseded, Wt as dropFailedHint, Wu as findLargeInlineResources, Xa as carriesFetchableDynamicReference, Xc as recordNestedStackParameterExpressions, Xi as slowCcOperationTimeoutMs, Xl as BOOTSTRAP_MARKER_PREFIX, Xn as secretBearing, Xo as refuseMalformedOutputsForDestroy, Xr as completedReplayEntries, Xs as templateResourceTypes, Xt as formatResourceLine, Xu as canonicalizeRegion, Ya as carriesDynamicReference, Yc as inheritNestedStackParameterAssociations, Yi as CloudControlProvider, Yl as AssetModeResolver, Yn as exportAliasCollisionScrubWarning, Yo as refuseMalformedOutputs, Yr as createReadOnlyAttributeHealerFactory, Ys as prefetchCreateOnlyPropertyPaths, Yt as sameJournaledOrphans, Yu as PARTITION_TABLE, Za as isNamelessDynamicReferenceError, Zl as assertAssetBucketRegion, Zn as secretBearingStateKeyWarning, Zo as refuseMalformedResourceAttributesForOrphan, Zr as journaledOrphanPrintingBag, Zs as describeTypeWithThrottleRetry, Zu as derivePartitionAndUrlSuffix, _c as readbackPathFor, _d as resolveBucketRegion, _i as ledgerForStack, _l as CrossPrefixScanCache, _n as isJournaledOrphan, _o as hasReadableOrphans, _r as rollbackOrphanIds, _s as repairMalformedResourcesForReadOnly, _t as withResourceDeadline, _u as partitionSensitiveEnv, a as isProtectionValueActive, aa as isWaitAbandonedError, ac as DagBuilder, ad as hasOwnKey, ai as stateSecretNameNeedles, al as recordMaskOnlyValuesIn, an as refuseRefactorMarker, ao as withSharedDrainBudget, ar as collectPublishedOutputNames, as as refuseMalformedResourcePropertiesForDrift, at as childTemplateLoader, au as buildDenyExternalAccessPolicy, bc as valueAtCoordinate, bl as isAccessDenied, bn as planRollback, bo as isReadableOrphanRecord, br as looselyEqual, bs as unreadableResourceEntries, bt as keptWholeReasonText, bu as redactedDockerCause, cc as isMarkedCoordinate, cd as ownValue, ci as PRE_DELETE_SNAPSHOT_TYPES, cl as recordProvenPublicExpression, cn as hasPendingMovesOut, co as declaresNoEcho, cr as DEFAULT_RESOURCE_TIMEOUT_MS, cs as refuseMalformedResourcesForDeploy, ct as listNestedTemplateRows, cu as describeDockerCapturedOutput, dc as maskWholeValue, dd as displayAssemblyPath, di as createPreDeleteFinalSnapshot, dl as isSingleDynamicReferenceToken, dn as refusePendingMovesOut, do as STATE_RESOURCES_MALFORMED, dr as constructPathOf$1, ds as refuseMalformedState, dt as conditionFingerprint, du as dockerSpawnEnvWithSensitive, ea as UNSPECIFIED_SKIP_REASON, ed as processStackMessages, ei as orphanRecordsPrintingBag, el as recordPhysicalNameCopy, eo as cfnRefValueFromPhysicalId, er as exportNameNoEchoParameters, es as refuseMalformedResourceEntriesForDestroy, et as crossStackOutputProvenanceSource, eu as isCrossRegionRedirect, fc as maskedLeafCoordinatesOf, fd as renderAssemblyPathEscape, fi as effectiveDeletionPolicy, fl as LockManager, fn as replayFailedOperations, fo as UNREADABLE_ORPHANS_CONTAINER_ROW, fr as findDestructiveChanges, fs as repairMalformedOrphanRecordsForReadOnly, ft as conditionInputsFrom, fu as finchSecretArgvRefusal, ga as poisonRenderedSpellingsCollidingIn, gl as CrossPrefixReadError, gn as demoteSupersededOrphans, go as displayLogicalId, gr as movedToHint, gs as repairMalformedResourcePropertiesForReadOnly, gu as isMalformedEnvKey, ha as IntrinsicFunctionResolver, hc as noEchoOutputsComparison, hd as injectedAwsRegionValue, hi as unsupportedFinalSnapshotError, hl as rebuildClientForBucketRegion, hn as recordAfterRollbackUpdate, ho as deployRefusesOrphanRowsReason, hr as hintSidesOf, hs as repairMalformedResourceEntriesForReadOnly, hu as isDockerClientEnvKey, i as PROTECTION_PROPERTY_BY_TYPE, id as defineOwnKey, ii as secretNamedRecordNeedles, il as recordMaskOnlyValue, in as refactorMarkerRefusalMessage, ir as collectDeclaredOutputNames, is as refuseMalformedResourcePropertiesForDestroy, it as serviceTokenBlockingReason, iu as validateContainerRepoName, ja as assertFlagRoleArn, jc as printingCorpusOf, jl as importableOutputKeys, jo as malformedOrphansRefusalMessage, jr as gray, js as isStatefulRecreateTargetForReplace, jt as displacedPhysicalIdShown, ju as resolveApp, ka as recordedReferenceRegions, kc as literalSplitDelimitersOf, kl as hasReasonlessBaselineRefusal, kn as inheritProducerRegions, ko as malformedOrphanRecordsWarning, kr as bold, ks as shownType, kt as NESTED_PENDING_PARENT_REASON, ku as getLegacyStateBucketName, lc as maskAtCoordinates, ld as absoluteAssemblyPathEscape, li as buildFinalSnapshotIdentifier, ll as wholeStringLeavesOf, ln as pendingMovesOutOf, lo as JSON_LISTING_HOLE_VALUE, lr as DEFAULT_RESOURCE_WARN_AFTER_MS, ls as refuseMalformedResourcesForDestroy, lt as renderNestedTemplateTreeDefect, lu as describeDockerExecFailure, ma as INTRINSIC_KEYS, mc as noEchoLeavesOf, md as injectAwsRegion, mi as refusesFinalSnapshot, ml as S3StateBackend, mn as removeProtectionTypeList, mo as accountArgs, mr as findRefactorHints, ms as repairMalformedOutputsForReadOnly, mt as readRecordedConditionVerdicts, mu as getDockerCmd, n as recordedProtectionEvidence, na as deleteLeftInPlace, nd as parseFailureDebugDetail, ni as secretNamePrintingBags, nl as carriesSecretMask, nn as readRefactorMarkerOnce, no as lacksRecordedTableArn, nr as isWholeDynamicReferenceValue, ns as refuseMalformedResourceEntriesForImportSave, nt as deferredServiceTokenWarning, nu as readBootstrapMarkerBody, o as perType, oc as TemplateParser, od as hasPlainPrototype, oi as storedSecretNameNeedles, ol as recordNoEchoAttributeValues, on as sameMove, oo as parameterInputsFor, or as isExportAliasCollision, os as refuseMalformedResourcePropertiesForExport, ot as findNestedTemplateTreeDefect, ou as buildDockerImage, pa as DiffCalculator, pc as noEchoCoordinatesOf, pd as resolveAssemblyPath, pi as isFinalSnapshotError, pl as isLockInfoExpired, pn as replayRollback, po as UNREADABLE_RESOURCES_MAP_ROW, pr as formatDestructiveChange, ps as repairMalformedOrphansForReadOnly, pt as parentSuppliedValues, pu as formatDockerLoginError, qa as getAccountInfo, qc as spelledKeysOf, qi as applyCustomResourceResponseExpiration, ql as loadPublishableAssetManifest, qn as WITHHELD_NAME_DISPLAY, qo as refuseMalformedOrphansForDestroy, qr as noEchoExactEchoLeavesOf, qt as loadJournaledOrphans, qu as decodeListingKey, r as recordedProtectionNote, ra as deleteSkipReason, rd as utf8ByteLength, rl as provenPublicValue, rn as refactorMarkerMovesOf, ro as refStateLookupFromResource, rr as noEchoParameterValueSeed, rs as refuseMalformedResourceEntriesForOrphan, rt as findServiceTokenRefusals, ru as validateAssetBucketName, s as readProtection, sc as canonicalCoordinates, sd as nullPrototypeRecord, si as ATOMIC_FINAL_SNAPSHOT_TYPES, sl as recordNoEchoParameterFreshValue, sn as updateRefactorMarker, sr as bindingSkippedOutputs, ss as refuseMalformedResourcePropertiesForOrphan, st as isAbsoluteAssetPath, su as resolveDockerContextDirectory, t as DeployEngine, ta as deleteIndeterminateGuards, td as describeJsonParseFailure, ti as secretNamePrintingBag, tl as splitGetAttStringForm, tn as readRefactorMarker, to as isStalePlaceholderArnAttribute, tr as exportNameSecretExposure, ts as refuseMalformedResourceEntriesForImport, tt as inheritedProvenanceForChildDiff, tu as parseBootstrapMarker, uc as maskReadbackAtCoordinates, ud as describeFileReadFailure, ui as ccRoutedFinalSnapshotError, ul as WHOLE_DYNAMIC_REFERENCE_PATTERN, un as pendingMovesRefusalMessage, uo as STATE_REGION_DIVERGED, ur as maskingRetryLogger, us as refuseMalformedResourcesForExport, ut as templateIdentity, uu as describeDockerFailure, vc as readsNoEchoSource, vl as applyCrossPrefixScan, vn as isReplacementOrphan, vo as hasReadableOutputs, vr as withMovedTo, vs as unpreviewableOrphanRecords, vt as diffSecurity, vu as redactDockerArgvValues, wa as producerLookupOver, wl as splitImportedOps, wn as resolveReplacementOldType, wo as malformedExportSourceWarning, ws as unwrittenCreateOnlyReplacement, wt as planOrphanAdoption, wu as AssetManifestLoader, xc as liveMatchesUnresolvedTokenFrame, xi as DeploymentEventsReader, xl as isNotImplemented, xn as recheckFailedPlan, xo as isReadableResourceEntry, xr as mappingPairs, xs as withheldAccountClause, xt as mergeNoChangeOutputs, xu as runDockerForeground, yc as recordedNoEchoValuesOf, yi as withCreateTokenLedger, yl as crossPrefixDeniedWarning, yn as planFailedOps, yo as hasReadableResources, yr as isPairableType, ys as unreadableOrphanRecords, yt as isSecretBearingReferenceString, yu as redactedCause, za as envCredentialsAreAssumedRole, zc as maskSecretsInText, zi as wouldReturnToSdkProvider, zl as renderPhaseTimings, zn as retiredAfterRollback, zo as malformedScrubResourceEntriesRefusalMessage, zr as removeSuperseded, zt as collectNestedChildUnaddressed, zu as warnDeprecatedNoPrefixCliFlag } from "./deploy-engine-CDjAtIrn.js";
6
- import { t as getCdkdVersion } from "./version-BWqrjGBS.js";
5
+ import { $ as computeImplicitDeleteEdges, $a as coerceParameterTypedValue, $c as DYNAMIC_REFERENCE_TOKEN_SCAN, $i as applyCustomResourceResponseExpiration, $l as stringifyValue, $n as WITHHELD_NAME_DISPLAY, $o as refuseMalformedOrphanRecords, $r as noEchoExactEchoLeavesOf, $u as MIGRATE_TMP_PREFIX, Ac as valueAtCoordinate, Al as isAccessDenied, An as resolveReplacementOldType, Ao as isReadableResourceEntry, As as withheldAccountClause, At as displacedOpClause, Au as redactedDockerCause, Ba as assertFlagRoleArn, Bc as logOnlyValueCount, Bl as hasUnverifiableParameterRefusal, Bn as updatePartialMessage, Bo as malformedOrphansRefusalMessage, Br as yellow, Bs as isStatefulRecreateTargetForReplace, Bt as getCurrentNestedStackContext, Bu as loadCdkJson, Ca as withoutUnsettledProperties, Cc as noEchoCoordinatesOf, Cd as resolveAssemblyPath, Ci as ledgerForStack, Cl as isLockInfoExpired, Cn as isJournaledOrphan, Co as accountArgs, Cr as rollbackOrphanIds, Cs as repairMalformedOutputsForReadOnly, Ct as makeSiblingClaimReader, Cu as formatDockerLoginError, Dc as readbackPathFor, Dd as resolveBucketRegion, Di as DeploymentEventsReader, Dl as CrossPrefixScanCache, Dn as recheckFailedPlan, Do as hasReadableOutputs, Dr as mappingPairs, Ds as unpreviewableOrphanRecords, Dt as keptForRetainedRecord, Du as partitionSensitiveEnv, El as CrossPrefixReadError, En as planRollback, Eo as hasReadableOrphans, Er as looselyEqual, Es as repairMalformedResourcesForReadOnly, Et as resolvePendingCloudControlRequests, Eu as isMalformedEnvKey, Fa as keepHeldTokenProvenance, Fl as acceptedCreateOnlyDropsOf, Fn as inheritProducerRegions, Fo as malformedLocalResourceEntriesWarning, Fr as bold, Fs as NO_CC_HANDLERS_REASON, Ft as recordDisplacedSkips, Fu as getDockerImageBySourceHash, Ga as AWS_CREDENTIAL_ENV_KEYS, Gc as unionOfSecretBags, Gi as wouldReturnToSdkProvider, Gl as orphansCarriedFrom, Gn as retiredAfterRollback, Go as malformedResourceEntriesWarning, Gr as removeSuperseded, Gt as isHandledOrphan, Gu as resolveStateBucketWithDefault, Ha as explicitRoleArnOrThrow, Hc as recordLogOnlyParameterValue, Hi as ProviderRegistry, Hl as importableOutputs, Hn as nameGenerationCarriedFrom, Ho as malformedOutputsRefusalMessage, Hr as deleteSupersededEntry, Hs as renderStatefulReason, Ht as deleteJournaledOrphans, Hu as resolveAutoAssetStorage, Ic as carryLogOnlyValues, Il as describeRegionValueKind, Io as malformedLocalResourcesWarning, Ir as cyan, Is as hasNoCloudControlHandlers, Iu as Synthesizer, Ja as envCredentialsAreAssumedRole, Jc as maskSecretsInError, Ji as readsNoEchoDeleteValues, Jl as PhaseClock, Jn as withNameGenerationReached, Jo as malformedScrubResourceEntriesRefusalMessage, Jr as supersededHolderOf, Jt as makeForeignHolderScan, Ju as stateBucketExistenceConfirmed, Ka as applyCallerIdentityCredentials, Kc as createSecretMasker, Kl as shouldRetainResource, Kn as retiredNameGenerationsAfter, Ko as malformedResourcePropertiesWarning, Kr as supersededAfterRollback, Kt as journaledOrphanLines, Ku as resolveStateBucketWithDefaultAndSource, La as recordedOutputReferenceRegions, Lc as createUnionSecretMasker, Ll as exportNamesCarriedFrom, Lo as malformedOrphanRecordsRefusalMessage, Lr as gray, Ls as findReplacedReadersOfRecreateTargets, Lt as revertedNestedRowIds, Lu as synthesisStatusMessage, Ma as resolveDynamicReferences, Ml as stackInstanceIdOf, Mn as orphanNeedsIdentity, Mo as malformedExportNamesWarning, Mt as dropSettledNestedJournals, Mu as runDockerStreaming, Na as producerLookupOver, Nc as redactForState, Nl as withStackInstanceIdWithheld, Nn as findNestedStackTypeChanges, No as malformedExportSourceWarning, Nr as withStackRecords, Ns as unwrittenCreateOnlyReplacement, Nu as warnFinchArgvExposure, Oc as readsNoEchoSource, Oi as DeploymentEventsStore, Ol as applyCrossPrefixScan, On as recordUnderIdIsNotOwn, Oo as hasReadableResources, Or as parseMappingFile, Os as unreadableOrphanRecords, Ot as recordRetainedForReadoption, Ou as redactDockerArgvValues, Pa as refuseUnreadableCdkCrossAccountRefs, Pl as splitImportedOps, Po as malformedLocalOutputsWarning, Pt as nestedChildStackName$1, Pu as AssetManifestLoader, Q as IMPLICIT_DELETE_DEPENDENCIES, Qa as regionLessSecretName, Qi as CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID, Ql as isSensitiveAttributeName, Qn as resourcesNamingDeclaredParameter, Qr as noEchoComparisonForTemplate, Qu as CFN_TEMPLATE_URL_LIMIT, Ra as recordedReferenceRegions, Rc as hasMaskableValues, Rl as hasReadableExportSet, Ro as malformedOrphanRecordsWarning, Rr as green, Rs as shownType, Rt as withNestedRevertRun, Ru as getDefaultStateBucketName, Sa as withUnsettledProperties, Sc as maskedLeafCoordinatesOf, Sd as renderAssemblyPathEscape, Sl as LockManager, Sn as demoteSupersededOrphans, So as UNREADABLE_RESOURCES_MAP_ROW, Sr as movedToHint, Ss as repairMalformedOrphansForReadOnly, St as makeCanonicalizePropertiesFn, Su as finchSecretArgvRefusal, Ta as poisonRenderedSpellingsCollidingIn, Tc as noEchoOutputsComparison, Td as injectedAwsRegionValue, Ti as withCreateTokenLedger, Tl as rebuildClientForBucketRegion, Tn as planFailedOps, To as displayLogicalId, Tr as isPairableType, Ts as repairMalformedResourcePropertiesForReadOnly, Tt as pendingRequestCount, Tu as isDockerClientEnvKey, Ua as isIamRoleArn, Uc as recordLogOnlyValue, Ui as ccBrokenReason, Ul as isReadableBag, Un as nameGenerationHighWaterOf, Uo as malformedOutputsWarning, Ur as holdsSupersededResources, Ut as dropFailedCommands, Uu as resolveCaptureObservedState, Va as assertSendableRoleArn, Vc as printingCorpusOf, Vi as CC_BROKEN_REASON, Vl as importableOutputKeys, Vn as updatePartialReason, Vo as malformedOrphansWarning, Vr as addSuperseded, Vs as isStatefulRecreateTargetSync, Vt as withNestedStackContext, Vu as resolveApp, Wa as sendableAssumeRoleCommand, Wc as shareLogOnlyValues, Wi as isCustomResource, Wl as orphansAfterRollback, Wn as nameScopeOf, Wo as malformedRenderedContainersWarning, Wr as isSupersededResourceRecord, Wt as dropFailedHint, Wu as resolveSkipPrefix, Xa as classifyReplaySecretRegion, Xc as scrubResourceRecord, Xl as timePhase, Xn as namesAnyDeclaredParameter, Xo as previewableOrphanRecords, Xr as withoutSuperseded, Xt as formatResourceLine, Xu as ssmResolvedValueType, Ya as classifyRecordedSecretRegion, Yc as maskSecretsInText, Yi as isCustomResourceType$1, Yl as renderPhaseTimings, Yn as computeParameterTaint, Yo as malformedStateRefusalMessage, Yr as supersededResourcesOf, Yt as sameJournaledOrphans, Yu as warnDeprecatedNoPrefixCliFlag, Za as producerRegionsFromState, Zc as withPhysicalNameCopies, Zi as withPrintingSecrets, Zl as AssetPublisher, Zn as reachableDivergentParameters, Zo as refuseDivergentRecordRegionForDestroy, Zr as noEchoAttributeNamesOf, Zu as CFN_TEMPLATE_BODY_LIMIT, _c as canonicalCoordinates, _d as nullPrototypeRecord, _i as createPreDeleteFinalSnapshot, _l as recordNoEchoParameterFreshValue, _n as withUnprovenUnsettled, _o as declaresNoEcho, _r as constructPathOf$1, _s as refuseMalformedResourcesForDeploy, _t as withResourceDeadline, _u as resolveDockerContextDirectory, a as isProtectionValueActive, aa as RollbackInlinePolicyWriters, ac as templateResourceTypes, ad as PARTITION_TABLE, ai as namingSecretsWithRecordedNoEcho, al as inheritNestedStackParameterAssociations, an as refuseRefactorMarker, ao as carriesFetchableDynamicReference, ar as carriedExportAliasExposure, as as refuseMalformedOutputsForDestroy, at as childTemplateLoader, au as AssetModeResolver, ba as INTRINSIC_KEYS, bc as maskReadbackAtCoordinates, bd as describeFileReadFailure, bi as refusesFinalSnapshot, bl as WHOLE_DYNAMIC_REFERENCE_PATTERN, bn as equalModuloMask, bo as STATE_RESOURCES_MALFORMED, br as findRefactorHints, bs as refuseMalformedState, bt as keptWholeReasonText, bu as describeDockerFailure, ca as deleteLeftInPlace, cd as AssemblyReader, ci as secretNamePrintingBags, cl as physicalNameCopiesOf, cn as hasPendingMovesOut, co as AWS_NO_VALUE, cr as isWholeDynamicReferenceValue, cs as refuseMalformedResourceEntriesForDeploy, ct as listNestedTemplateRows, cu as ensureAssetStorage, da as isWaitAbandonedError, dd as describeJsonParseFailure, di as stateSecretNameNeedles, dl as splitGetAttStringForm, dn as refusePendingMovesOut, do as lacksRecordedTableArn, dr as collectPublishedOutputNames, ds as refuseMalformedResourceEntriesForImportSave, dt as conditionFingerprint, du as parseBootstrapMarker, ea as customResourceResponseExpirationWarning, ed as findLargeInlineResources, ei as noEchoParameterNamesOf, el as dynamicReferenceTokens, eo as isUnboundTemplateParameter, er as displayTextOrWithheld, es as refuseMalformedOrphanRecordsForDestroy, et as crossStackOutputProvenanceSource, eu as WorkGraph, fd as parseFailureDebugDetail, fi as storedSecretNameNeedles, fl as carriesSecretMask, fn as replayFailedOperations, fo as refStateLookupFromResource, fr as isExportAliasCollision, fs as refuseMalformedResourceEntriesForOrphan, ft as conditionInputsFrom, fu as readBootstrapMarkerBody, gc as TemplateParser, gd as hasPlainPrototype, gi as ccRoutedFinalSnapshotError, gl as recordNoEchoAttributeValues, gn as settleUnsettledPrevious, gr as maskingRetryLogger, gs as refuseMalformedResourcePropertiesForOrphan, gu as buildDockerImage, hc as DagBuilder, hd as hasOwnKey, hi as buildFinalSnapshotIdentifier, hl as recordMaskOnlyValuesIn, hn as recordAfterRollbackUpdate, ho as parameterInputsFor, hr as DEFAULT_RESOURCE_WARN_AFTER_MS, hs as refuseMalformedResourcePropertiesForExport, hu as buildDenyExternalAccessPolicy, i as PROTECTION_PROPERTY_BY_TYPE, ic as prefetchCreateOnlyPropertyPaths, id as expectedOwnerParam, ii as maskEventTextWithBoundBags, il as identityKeyFor, in as refactorMarkerRefusalMessage, io as carriesDynamicReference, ir as secretSafeKeyDisplay, is as refuseMalformedOutputs, it as serviceTokenBlockingReason, iu as rewriteTemplateAssetReferences, jc as liveMatchesUnresolvedTokenFrame, jl as isNotImplemented, jn as seedsDeleteFirstGuard, jo as malformedDriftResourcePropertiesWarning, jr as destroyStackRecordsView, js as findActionableSilentDrops, jt as displacedPhysicalIdShown, ju as runDockerForeground, kc as recordedNoEchoValuesOf, ki as extractDeploymentEventError, kl as crossPrefixDeniedWarning, kn as replacementNeverSwapped, ko as isReadableOrphanRecord, kr as proposeRenames, ks as unreadableResourceEntries, kt as NESTED_PENDING_PARENT_REASON, ku as redactedCause, la as deleteSkipReason, ld as StageLoadError, ln as pendingMovesOutOf, lo as cfnRefValueFromPhysicalId, lr as noEchoParameterValueSeed, ls as refuseMalformedResourceEntriesForDestroy, lt as renderNestedTemplateTreeDefect, lu as getBootstrapMarkerKey, md as defineOwnKey, mi as PRE_DELETE_SNAPSHOT_TYPES, ml as recordMaskOnlyValue, mn as removeProtectionTypeList, mo as withSharedDrainBudget, mr as DEFAULT_RESOURCE_TIMEOUT_MS, ms as refuseMalformedResourcePropertiesForDrift, mt as readRecordedConditionVerdicts, mu as validateContainerRepoName, n as recordedProtectionEvidence, na as slowCcOperationTimeoutMs, nd as CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION, ni as completedReplayEntries, nl as pathCrossesDottedKey, nn as readRefactorMarkerOnce, no as getAccountInfo, nr as secretBearing, ns as refuseMalformedOrphansForDestroy, nt as deferredServiceTokenWarning, nu as createAssetRedirectResolver, o as perType, oa as UNSPECIFIED_SKIP_REASON, oc as describeTypeWithThrottleRetry, od as canonicalizeRegion, oi as orphanRecordsPrintingBag, ol as recordNestedStackParameterExpressions, on as sameMove, oo as isNamelessDynamicReferenceError, or as exportNameNoEchoParameters, os as refuseMalformedResourceAttributesForOrphan, ot as findNestedTemplateTreeDefect, ou as BOOTSTRAP_MARKER_PREFIX, pd as utf8ByteLength, pi as ATOMIC_FINAL_SNAPSHOT_TYPES, pl as provenPublicValue, pn as replayRollback, pr as bindingSkippedOutputs, ps as refuseMalformedResourcePropertiesForDestroy, pt as parentSuppliedValues, pu as validateAssetBucketName, qa as callerEnvCredentials, qc as errorCauseChain, qi as TemplateNoEchoReresolver, ql as stackInstanceIdCarriedFrom, qn as retiredNameGenerationsLeaving, qo as malformedResourcesWarning, qr as supersededHeldByOtherTypeWarning, qt as loadJournaledOrphans, qu as resolveUseCdkBootstrapAssets, r as recordedProtectionNote, rd as decodeListingKey, ri as journaledOrphanPrintingBag, rl as spelledKeysOf, rn as refactorMarkerMovesOf, ro as isImpossibleEmptyStoredAttribute, rr as secretBearingStateKeyWarning, rs as refuseMalformedOrphansForOrphan, rt as findServiceTokenRefusals, ru as loadPublishableAssetManifest, s as readProtection, sa as deleteIndeterminateGuards, sc as withRetry, sd as derivePartitionAndUrlSuffix, si as secretNamePrintingBag, sn as updateRefactorMarker, so as keepsSecretReferenceToken, sr as exportNameSecretExposure, ss as refuseMalformedResourceEntries, st as isAbsoluteAssetPath, su as assertAssetBucketRegion, t as DeployEngine, ta as CloudControlProvider, td as uploadCfnTemplate, ti as createReadOnlyAttributeHealerFactory, tl as isUncertifiedBaselineMaskPosition, tn as readRefactorMarker, to as parameterTypeMayLoseSecretIdentity, tr as exportAliasCollisionScrubWarning, ts as refuseMalformedOrphans, tt as inheritedProvenanceForChildDiff, tu as buildAssetRedirectMap, ud as processStackMessages, ui as secretNamedRecordNeedles, ul as recordPhysicalNameCopy, un as pendingMovesRefusalMessage, uo as isStalePlaceholderArnAttribute, ur as collectDeclaredOutputNames, us as refuseMalformedResourceEntriesForImport, ut as templateIdentity, uu as isCrossRegionRedirect, vc as isMarkedCoordinate, vd as ownValue, vi as effectiveDeletionPolicy, vl as recordProvenPublicExpression, vn as calculateResourceDrift, vo as JSON_LISTING_HOLE_VALUE, vr as findDestructiveChanges, vs as refuseMalformedResourcesForDestroy, vt as diffSecurity, vu as describeDockerCapturedOutput, wa as IntrinsicFunctionResolver, wc as noEchoLeavesOf, wd as injectAwsRegion, wl as S3StateBackend, wn as isReplacementOrphan, wo as deployRefusesOrphanRowsReason, wr as withMovedTo, ws as repairMalformedResourceEntriesForReadOnly, wt as planOrphanAdoption, wu as getDockerCmd, xa as unsettledPropertiesOf, xc as maskWholeValue, xd as displayAssemblyPath, xi as unsupportedFinalSnapshotError, xl as isSingleDynamicReferenceToken, xn as undeclaredEmptyObservedKeys, xo as UNREADABLE_ORPHANS_CONTAINER_ROW, xr as hintSidesOf, xs as repairMalformedOrphanRecordsForReadOnly, xt as mergeNoChangeOutputs, xu as dockerSpawnEnvWithSensitive, ya as DiffCalculator, yc as maskAtCoordinates, yd as absoluteAssemblyPathEscape, yi as isFinalSnapshotError, yl as wholeStringLeavesOf, yn as equalModuloMarkedMask, yo as STATE_REGION_DIVERGED, yr as formatDestructiveChange, ys as refuseMalformedResourcesForExport, yt as isSecretBearingReferenceString, yu as describeDockerExecFailure, za as applyRoleArnIfSet, zc as literalSplitDelimitersOf, zl as hasReasonlessBaselineRefusal, zo as malformedOrphanRowsKeptWarning, zr as red, zs as MULTI_REGION_RECREATE_BLOCKED_TYPES, zt as collectNestedChildUnaddressed, zu as getLegacyStateBucketName } from "./deploy-engine-DZO2SOQJ.js";
6
+ import { t as getCdkdVersion } from "./version-QOtLxcEo.js";
7
7
  import { randomBytes, randomUUID } from "node:crypto";
8
8
  import { CopyObjectCommand, CreateBucketCommand, DeleteBucketCommand, DeleteObjectsCommand, GetBucketLocationCommand, GetObjectCommand, HeadBucketCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchBucket, NotFound, PutBucketEncryptionCommand, PutBucketPolicyCommand, PutBucketVersioningCommand, PutObjectCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
9
9
  import { GetRoleCommand, GetUserCommand } from "@aws-sdk/client-iam";
@@ -2710,7 +2710,7 @@ function collectCrossStackRefs(node, onRef, unconditional) {
2710
2710
  //#region src/provisioning/register-providers.ts
2711
2711
  let providerClasses;
2712
2712
  function loadProviderClasses() {
2713
- providerClasses ??= import("./provider-classes-BxfIHcea.js");
2713
+ providerClasses ??= import("./provider-classes-KsrvwO_r.js");
2714
2714
  return providerClasses;
2715
2715
  }
2716
2716
  function registerAllProviders(registry, classes) {
@@ -3557,7 +3557,7 @@ Force-quit: stack locks may not be released. If the next run reports a lock, run
3557
3557
  const syncValidation = validateRecreateTargets({
3558
3558
  template: stackInfo.template,
3559
3559
  state: stateForRecreateCheck?.state ?? {
3560
- version: 13,
3560
+ version: 14,
3561
3561
  stackName: stackInfo.stackName,
3562
3562
  region: stackRegion,
3563
3563
  resources: {},
@@ -3592,7 +3592,7 @@ Force-quit: stack locks may not be released. If the next run reports a lock, run
3592
3592
  const replacedReaders = await findReplacedReadersOfRecreateTargets({
3593
3593
  template: stackInfo.template,
3594
3594
  state: stateForRecreateCheck?.state ?? {
3595
- version: 13,
3595
+ version: 14,
3596
3596
  stackName: stackInfo.stackName,
3597
3597
  region: stackRegion,
3598
3598
  resources: {},
@@ -5001,7 +5001,7 @@ async function loadStateOrEmpty(stackName, region, stateBackend, refusalRecovery
5001
5001
  region,
5002
5002
  resources: {},
5003
5003
  outputs: {},
5004
- version: 13,
5004
+ version: 14,
5005
5005
  lastModified: Date.now()
5006
5006
  },
5007
5007
  unreadable: [],
@@ -6146,7 +6146,7 @@ function renderChangeLines(changes, logFn, ccApiRoutes, adoptedOrphans, refactor
6146
6146
  logFn(` [~] ${logicalId} (${change.resourceType})${annotateAdoption(logicalId)}${annotateRouting(logicalId)}`);
6147
6147
  if (change.propertyChanges && change.propertyChanges.length > 0) for (const propChange of change.propertyChanges) {
6148
6148
  const requiresReplace = propChange.requiresReplacement && (propChange.inPlacePropagated === true || propChange.replacementPropagated === true) ? " [may require replacement]" : propChange.requiresReplacement ? " [requires replacement]" : "";
6149
- const propagated = propChange.replacementPropagated ? " [replacement propagated]" : propChange.readProvenancePromoted === true ? " [read value moved upstream]" : propChange.inPlacePropagated ? " [attribute propagated]" : propChange.maskedExpressionChanged === true ? " [masked input or expression changed]" : "";
6149
+ const propagated = propChange.replacementPropagated ? " [replacement propagated]" : propChange.readProvenancePromoted === true ? " [read value moved upstream]" : propChange.inPlacePropagated ? " [attribute propagated]" : propChange.maskedExpressionChanged === true ? " [masked input or expression changed]" : propChange.unsettled === true ? " [unsettled after a failed update; sent again]" : "";
6150
6150
  const indent = " ";
6151
6151
  const [oldFiltered, newFiltered] = stripUnchangedValuePair(propChange.oldValue, propChange.newValue);
6152
6152
  const oldStr = renderDiffValue(propChange.oldValue, oldFiltered, indent, false);
@@ -9071,244 +9071,6 @@ function copiesOfParentRow(bag) {
9071
9071
  return copies === void 0 || copies.size === 0 ? {} : { inheritedPhysicalNameCopies: copies };
9072
9072
  }
9073
9073
 
9074
- //#endregion
9075
- //#region src/analyzer/drift-normalize.ts
9076
- function canonicalizeTagListsDeep(v) {
9077
- if (Array.isArray(v)) {
9078
- const mapped = v.map(canonicalizeTagListsDeep);
9079
- if (mapped.length > 0 && mapped.every((t) => t && typeof t === "object" && typeof t.Key === "string")) return [...mapped].sort((a, b) => {
9080
- const ka = a.Key;
9081
- const kb = b.Key;
9082
- if (ka !== kb) return ka < kb ? -1 : 1;
9083
- return JSON.stringify(a) < JSON.stringify(b) ? -1 : 1;
9084
- });
9085
- return mapped;
9086
- }
9087
- if (v && typeof v === "object") {
9088
- if (!hasPlainPrototype(v)) return v;
9089
- const out = nullPrototypeRecord();
9090
- for (const [k, val] of Object.entries(v)) out[k] = canonicalizeTagListsDeep(val);
9091
- return out;
9092
- }
9093
- return v;
9094
- }
9095
- const ID_RE = /^[a-z][a-z0-9]*-[0-9a-f]{6,}$/;
9096
- const isIdLike = (s) => typeof s === "string" && (s.startsWith("arn:") || ID_RE.test(s));
9097
- function canonicalizeIdArraysDeep(v) {
9098
- if (Array.isArray(v)) {
9099
- const mapped = v.map(canonicalizeIdArraysDeep);
9100
- if (mapped.length > 1 && mapped.every(isIdLike)) return [...mapped].sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
9101
- return mapped;
9102
- }
9103
- if (v && typeof v === "object") {
9104
- if (!hasPlainPrototype(v)) return v;
9105
- const out = nullPrototypeRecord();
9106
- for (const [k, val] of Object.entries(v)) out[k] = canonicalizeIdArraysDeep(val);
9107
- return out;
9108
- }
9109
- return v;
9110
- }
9111
- const LEAF_ONLY_PATH_SUFFIX = "[]";
9112
- function matchesPathPrefix(path, entries) {
9113
- for (const entry of entries) {
9114
- if (entry.endsWith("[]")) {
9115
- const leaf = entry.slice(0, -2);
9116
- if (leaf !== "" && path === leaf) return true;
9117
- continue;
9118
- }
9119
- if (path === entry) return true;
9120
- if (path.startsWith(`${entry}.`)) return true;
9121
- }
9122
- return false;
9123
- }
9124
- function canonicalizeUnorderedArraysAtPaths(v, paths) {
9125
- if (paths.length === 0) return v;
9126
- return walkUnordered(v, "", paths);
9127
- }
9128
- function canonicalJson(v) {
9129
- if (Array.isArray(v)) return `[${v.map(canonicalJson).join(",")}]`;
9130
- if (v && typeof v === "object") {
9131
- const bag = v;
9132
- return `{${Object.keys(bag).filter((k) => bag[k] !== void 0).sort().map((k) => `${JSON.stringify(k)}:${canonicalJson(bag[k])}`).join(",")}}`;
9133
- }
9134
- return JSON.stringify(v) ?? "null";
9135
- }
9136
- const isPlainObjectElement = (el) => el !== null && typeof el === "object" && !Array.isArray(el);
9137
- function walkUnordered(v, path, paths) {
9138
- if (Array.isArray(v)) {
9139
- const mapped = v.map((el) => Array.isArray(el) ? el : walkUnordered(el, path, paths));
9140
- if (mapped.length > 1 && matchesPathPrefix(path, paths)) {
9141
- if (mapped.every((el) => typeof el === "string")) return [...mapped].sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
9142
- if (mapped.every(isPlainObjectElement)) {
9143
- const keyed = mapped.map((el) => ({
9144
- el,
9145
- key: canonicalJson(el)
9146
- }));
9147
- keyed.sort((a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0);
9148
- return keyed.map((k) => k.el);
9149
- }
9150
- }
9151
- return mapped;
9152
- }
9153
- if (v && typeof v === "object") {
9154
- if (!hasPlainPrototype(v)) return v;
9155
- const out = nullPrototypeRecord();
9156
- for (const [k, val] of Object.entries(v)) out[k] = walkUnordered(val, path === "" ? k : `${path}.${k}`, paths);
9157
- return out;
9158
- }
9159
- return v;
9160
- }
9161
-
9162
- //#endregion
9163
- //#region src/analyzer/drift-calculator.ts
9164
- function calculateResourceDrift(stateProperties, awsProperties, options) {
9165
- const drifts = [];
9166
- const ignore = options?.ignorePaths ?? [];
9167
- const union = options?.unionWalkObjects ?? false;
9168
- const unordered = options?.unorderedPaths ?? [];
9169
- stateProperties = canonicalizeUnorderedArraysAtPaths(canonicalizeIdArraysDeep(canonicalizeTagListsDeep(stateProperties)), unordered);
9170
- awsProperties = canonicalizeUnorderedArraysAtPaths(canonicalizeIdArraysDeep(canonicalizeTagListsDeep(awsProperties)), unordered);
9171
- for (const key of Object.keys(stateProperties)) {
9172
- if (isIgnoredPath(key, ignore)) continue;
9173
- diffAt(key, stateProperties[key], awsProperties[key], drifts, ignore, union);
9174
- }
9175
- return drifts;
9176
- }
9177
- function undeclaredEmptyObservedKeys(observed, declared) {
9178
- const keys = [];
9179
- for (const key of Object.keys(observed)) {
9180
- if (Object.hasOwn(declared, key)) continue;
9181
- const value = observed[key];
9182
- if (value === null || value === void 0 || Array.isArray(value) && value.length === 0 || isPlainObject(value) && Object.keys(value).length === 0) keys.push(key);
9183
- }
9184
- return keys;
9185
- }
9186
- function isIgnoredPath(path, ignorePaths) {
9187
- return matchesPathPrefix(path, ignorePaths);
9188
- }
9189
- function diffAt(path, stateValue, awsValue, out, ignorePaths, unionWalkObjects) {
9190
- const stateForm = jsonForm(stateValue);
9191
- const awsForm = jsonForm(awsValue);
9192
- if (deepEqual(stateForm, awsForm)) return;
9193
- if (typeof stateValue === "string" && stateValue.includes("{{resolve:")) return;
9194
- if (isPlainObject(stateForm) && isPlainObject(awsForm) && !Array.isArray(stateForm) && !Array.isArray(awsForm)) {
9195
- const keys = unionWalkObjects ? /* @__PURE__ */ new Set([...Object.keys(stateForm), ...Object.keys(awsForm)]) : Object.keys(stateForm);
9196
- for (const key of keys) {
9197
- const childPath = `${path}.${key}`;
9198
- if (isIgnoredPath(childPath, ignorePaths)) continue;
9199
- diffAt(childPath, stateForm[key], awsForm[key], out, ignorePaths, unionWalkObjects);
9200
- }
9201
- return;
9202
- }
9203
- out.push({
9204
- path,
9205
- stateValue,
9206
- awsValue
9207
- });
9208
- }
9209
- function jsonForm(value) {
9210
- if (value === null || typeof value !== "object" || hasPlainPrototype(value)) return value;
9211
- const toJSON = value.toJSON;
9212
- return typeof toJSON === "function" ? toJSON.call(value) : value;
9213
- }
9214
- function deepEqual(a, b) {
9215
- a = jsonForm(a);
9216
- b = jsonForm(b);
9217
- if (a === b) return true;
9218
- if (a === null || b === null || a === void 0 || b === void 0) return a === b;
9219
- if (typeof a !== typeof b) return false;
9220
- if (typeof a !== "object") return false;
9221
- if (Array.isArray(a) || Array.isArray(b)) {
9222
- if (!Array.isArray(a) || !Array.isArray(b)) return false;
9223
- if (a.length !== b.length) return false;
9224
- return a.every((v, i) => deepEqual(v, b[i]));
9225
- }
9226
- const aObj = a;
9227
- const bObj = b;
9228
- const aKeys = Object.keys(aObj);
9229
- const bKeys = Object.keys(bObj);
9230
- if (aKeys.length !== bKeys.length) return false;
9231
- for (const key of aKeys) {
9232
- if (!Object.prototype.hasOwnProperty.call(bObj, key)) return false;
9233
- if (!deepEqual(aObj[key], bObj[key])) return false;
9234
- }
9235
- return true;
9236
- }
9237
- function equalModuloMask(state, aws, mask) {
9238
- const a = jsonForm(state);
9239
- const b = jsonForm(aws);
9240
- if (a === mask && b !== null && b !== void 0) return true;
9241
- if (a === b) return true;
9242
- if (a === null || b === null || a === void 0 || b === void 0) return a === b;
9243
- if (typeof a !== typeof b || typeof a !== "object") return false;
9244
- if (Array.isArray(a) || Array.isArray(b)) {
9245
- if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;
9246
- return a.every((v, i) => equalModuloMask(v, b[i], mask));
9247
- }
9248
- const aObj = a;
9249
- const bObj = b;
9250
- const aKeys = Object.keys(aObj);
9251
- if (aKeys.length !== Object.keys(bObj).length) return false;
9252
- return aKeys.every((key) => Object.prototype.hasOwnProperty.call(bObj, key) && equalModuloMask(aObj[key], bObj[key], mask));
9253
- }
9254
- function equalModuloMarkedMask(state, aws, mask, coordinate, isMarked, isWithinMarked = isMarked) {
9255
- const a = jsonForm(state);
9256
- const b = jsonForm(aws);
9257
- if (isMarked(coordinate) && b !== void 0 && b !== null) {
9258
- if (a === mask) return true;
9259
- if (isWithinMarked(coordinate) ? isWhollyMask(a, mask) : sameJson(a, wholeMaskOf(b, mask))) return holdsMask(a, mask);
9260
- }
9261
- if (a === mask && (typeof b === "string" || typeof b === "number" || typeof b === "boolean")) return true;
9262
- if (a === b) return true;
9263
- if (a === null || b === null || a === void 0 || b === void 0) return a === b;
9264
- if (typeof a !== typeof b || typeof a !== "object") return false;
9265
- if (Array.isArray(a) || Array.isArray(b)) {
9266
- if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;
9267
- return a.every((v, i) => equalModuloMarkedMask(v, b[i], mask, [...coordinate, i], isMarked, isWithinMarked));
9268
- }
9269
- const aObj = a;
9270
- const bObj = b;
9271
- const aKeys = Object.keys(aObj);
9272
- if (aKeys.length !== Object.keys(bObj).length) return false;
9273
- return aKeys.every((key) => Object.prototype.hasOwnProperty.call(bObj, key) && equalModuloMarkedMask(aObj[key], bObj[key], mask, [...coordinate, key], isMarked, isWithinMarked));
9274
- }
9275
- function wholeMaskOf(value, mask) {
9276
- if (value === null || value === void 0) return value;
9277
- if (Array.isArray(value)) return value.map((v) => wholeMaskOf(v, mask));
9278
- if (isPlainObject(value)) return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, wholeMaskOf(v, mask)]));
9279
- return mask;
9280
- }
9281
- function isWhollyMask(value, mask) {
9282
- const walk = (node) => {
9283
- if (node === mask || node === null) return true;
9284
- if (Array.isArray(node)) return node.every(walk);
9285
- if (isPlainObject(node)) return Object.values(node).every(walk);
9286
- return false;
9287
- };
9288
- return walk(value) && holdsMask(value, mask);
9289
- }
9290
- function holdsMask(value, mask) {
9291
- if (value === mask) return true;
9292
- if (Array.isArray(value)) return value.some((v) => holdsMask(v, mask));
9293
- if (isPlainObject(value)) return Object.values(value).some((v) => holdsMask(v, mask));
9294
- return false;
9295
- }
9296
- function sameJson(a, b) {
9297
- if (a === b) return true;
9298
- if (a === null || b === null || typeof a !== "object" || typeof b !== "object") return false;
9299
- if (Array.isArray(a) || Array.isArray(b)) {
9300
- if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;
9301
- return a.every((v, i) => sameJson(v, b[i]));
9302
- }
9303
- const aObj = a;
9304
- const bObj = b;
9305
- const keys = Object.keys(aObj);
9306
- return keys.length === Object.keys(bObj).length && keys.every((k) => Object.prototype.hasOwnProperty.call(bObj, k) && sameJson(aObj[k], bObj[k]));
9307
- }
9308
- function isPlainObject(value) {
9309
- return typeof value === "object" && value !== null;
9310
- }
9311
-
9312
9074
  //#endregion
9313
9075
  //#region src/analyzer/drift-principal-normalize.ts
9314
9076
  const PRINCIPAL_UNIQUE_ID_RE = /^A(?:ROA|IDA)[A-Z0-9]{6,}$/;
@@ -9832,7 +9594,7 @@ async function driftCommand(stacks, options) {
9832
9594
  return;
9833
9595
  }
9834
9596
  let outcome;
9835
- if (options.accept) outcome = await runAccept(reports, stateBackend, stateConfig, awsClients, options);
9597
+ if (options.accept) outcome = await runAccept(reports, stackRegionScope, stateBackend, stateConfig, awsClients, options);
9836
9598
  else try {
9837
9599
  outcome = await runRevert(reports, stackRegionScope, stateBackend, stateConfig, awsClients, options);
9838
9600
  } catch (err) {
@@ -10685,7 +10447,7 @@ function setAtPath(target, path, value) {
10685
10447
  }
10686
10448
  defineOwnKey(cursor, segments[segments.length - 1], value);
10687
10449
  }
10688
- async function runAccept(reports, stateBackend, stateConfig, awsClients, options) {
10450
+ async function runAccept(reports, regionScope, stateBackend, stateConfig, awsClients, options) {
10689
10451
  const logger = getLogger();
10690
10452
  const out = humanTextSink(options.json);
10691
10453
  const lockRecovery = {
@@ -10761,11 +10523,15 @@ async function runAccept(reports, stateBackend, stateConfig, awsClients, options
10761
10523
  }
10762
10524
  if (recordedChanges > 0) acceptedResourceCount++;
10763
10525
  const written = maskMarkedNoEchoBaselineWithLeaves(redactedBaseline, existing, hasObserved);
10526
+ const settled = await settleUnsettled(existing, outcome.logicalId, () => regionScope(report.region).registry.getProviderFor({
10527
+ resourceType: outcome.resourceType,
10528
+ provisionedBy: existing.provisionedBy
10529
+ }).provider);
10764
10530
  resources[outcome.logicalId] = hasObserved ? {
10765
- ...existing,
10531
+ ...settled,
10766
10532
  observedProperties: written.baseline
10767
10533
  } : {
10768
- ...existing,
10534
+ ...settled,
10769
10535
  properties: written.baseline,
10770
10536
  ...written.noEchoLeaves !== void 0 && { noEchoLeaves: written.noEchoLeaves }
10771
10537
  };
@@ -11263,6 +11029,7 @@ async function runRevert(reports, regionScope, stateBackend, stateConfig, awsCli
11263
11029
  }));
11264
11030
  const narrowedByLogicalId = /* @__PURE__ */ new Map();
11265
11031
  const reRecordedByLogicalId = /* @__PURE__ */ new Map();
11032
+ const settledByRevert = /* @__PURE__ */ new Map();
11266
11033
  try {
11267
11034
  const revertSecretResolvers = new DriftSecretResolvers(report.region);
11268
11035
  const revertProducerRegions = report.producerRegions;
@@ -11352,7 +11119,17 @@ async function runRevert(reports, regionScope, stateBackend, stateConfig, awsCli
11352
11119
  return;
11353
11120
  }
11354
11121
  try {
11355
- const updateResult = await withRetry(() => provider.update(outcome.logicalId, stateResource.physicalId, outcome.resourceType, newProperties, outcome.awsProperties, {
11122
+ const revertPrevious = await settleUnsettledPrevious({
11123
+ provider,
11124
+ logicalId: outcome.logicalId,
11125
+ physicalId: stateResource.physicalId,
11126
+ resourceType: outcome.resourceType,
11127
+ recordedProperties: stateResource.properties ?? {},
11128
+ names: unsettledPropertiesOf(stateResource),
11129
+ previous: outcome.awsProperties,
11130
+ desired: newProperties
11131
+ });
11132
+ const updateResult = await withRetry(() => provider.update(outcome.logicalId, stateResource.physicalId, outcome.resourceType, newProperties, revertPrevious, {
11356
11133
  desiredFromAwsReadback: true,
11357
11134
  declaredEmptyProperties: declaredEmptyProperties(stateResource.properties),
11358
11135
  maskSecrets: createSecretMasker(secrets),
@@ -11361,6 +11138,19 @@ async function runRevert(reports, regionScope, stateBackend, stateConfig, awsCli
11361
11138
  removedProperties: /* @__PURE__ */ new Set()
11362
11139
  }), outcome.logicalId, { logger: maskingRetryLogger(logger, secrets) });
11363
11140
  totalSucceeded++;
11141
+ const unsettledNames = unsettledPropertiesOf(stateResource);
11142
+ if (unsettledNames.size > 0) {
11143
+ const settled = await withUnprovenUnsettled(withoutUnsettledProperties(stateResource), {
11144
+ provider,
11145
+ logicalId: outcome.logicalId,
11146
+ physicalId: stateResource.physicalId,
11147
+ resourceType: outcome.resourceType,
11148
+ recordedProperties: stateResource.properties ?? {},
11149
+ names: unsettledNames,
11150
+ desired: newProperties
11151
+ }, (message) => logger.warn(maskSecretsInText(message, secrets)));
11152
+ if (unsettledPropertiesOf(settled).size < unsettledNames.size) settledByRevert.set(outcome.logicalId, settled);
11153
+ }
11364
11154
  const revertPartial = updatePartialReason(updateResult);
11365
11155
  if (revertPartial !== void 0) logger.warn(` ✓ ${report.stackName}/${outcome.logicalId} (${outcome.resourceType}): reverted, ${maskSecretsInText(updatePartialMessage(revertPartial), secrets)}`);
11366
11156
  else logger.info(` ✓ ${report.stackName}/${outcome.logicalId} (${outcome.resourceType}): reverted.`);
@@ -11405,8 +11195,15 @@ async function runRevert(reports, regionScope, stateBackend, stateConfig, awsCli
11405
11195
  logger.error(` ✗ ${report.stackName}/${outcome.logicalId} (${outcome.resourceType}): AWS update failed — ${msg}`);
11406
11196
  }
11407
11197
  })), concurrency);
11408
- if (narrowedByLogicalId.size > 0 || reRecordedByLogicalId.size > 0) {
11198
+ if (narrowedByLogicalId.size > 0 || reRecordedByLogicalId.size > 0 || settledByRevert.size > 0) {
11409
11199
  const resources = { ...report.state.resources };
11200
+ let settledCount = 0;
11201
+ for (const [logicalId, settled] of settledByRevert) {
11202
+ const existing = resources[logicalId];
11203
+ if (!existing) continue;
11204
+ resources[logicalId] = withUnsettledProperties(withoutUnsettledProperties(existing), unsettledPropertiesOf(settled));
11205
+ settledCount++;
11206
+ }
11410
11207
  let recordedCount = 0;
11411
11208
  for (const [logicalId, delta] of narrowedByLogicalId) {
11412
11209
  const existing = resources[logicalId];
@@ -11449,10 +11246,11 @@ async function runRevert(reports, regionScope, stateBackend, stateConfig, awsCli
11449
11246
  ...identity.attributes !== void 0 && { attributes: identity.attributes }
11450
11247
  };
11451
11248
  }
11452
- if (recordedCount === 0 && reRecordedCount === 0) return;
11249
+ if (recordedCount === 0 && reRecordedCount === 0 && settledCount === 0) return;
11453
11250
  const recordedParts = [];
11454
11251
  if (recordedCount > 0) recordedParts.push(`the value the provider actually applied on ${recordedCount} resource(s)`);
11455
11252
  if (reRecordedCount > 0) recordedParts.push(`the identity the revert returned on ${reRecordedCount} resource(s)`);
11253
+ if (settledCount > 0) recordedParts.push(`that a failed deploy's unsettled properties are settled on ${settledCount} resource(s)`);
11456
11254
  const recordedWhat = recordedParts.join(" and ");
11457
11255
  const { skippedOutputs: _droppedByRevert, ...carriedState } = report.state;
11458
11256
  const newState = {
@@ -11468,7 +11266,11 @@ async function runRevert(reports, regionScope, stateBackend, stateConfig, awsCli
11468
11266
  logger.info(`✓ State updated for ${report.stackName} (${report.region}): recorded ${recordedWhat}.`);
11469
11267
  } catch (err) {
11470
11268
  const revertAgain = revertCommandLine(report.stackName, report.region);
11471
- const unrecorded = [...recordedCount > 0 ? ["the value the provider actually applied"] : [], ...reRecordedCount > 0 ? ["the identity the revert returned"] : []].join(" and ");
11269
+ const unrecorded = [
11270
+ ...recordedCount > 0 ? ["the value the provider actually applied"] : [],
11271
+ ...reRecordedCount > 0 ? ["the identity the revert returned"] : [],
11272
+ ...settledCount > 0 ? ["that a failed deploy's unsettled properties are settled"] : []
11273
+ ].join(" and ");
11472
11274
  logger.warn(`Reverted ${report.stackName} (${report.region}), but could not record ${unrecorded}: ${describeAwsFailure(err).detail}.` + (reRecordedCount > 0 ? " The state record still holds the physical id and attributes from before the revert, which a later 'Fn::GetAtt' and 'cdkd export' read. Re-running the revert does not repair it, since the revert landed; a later deploy that updates this resource records the identity its update returns." : "") + (recordedCount > 0 ? ` The next 'cdkd drift' will report the same difference — ` + (revertAgain === void 0 ? `re-run 'cdkd drift --revert' for this stack once the state write can succeed.` : `re-run the command below once the state write can succeed.\nRevert with: ${revertAgain}`) : ""));
11473
11275
  }
11474
11276
  }
@@ -11624,8 +11426,38 @@ async function confirmPrompt$5(prompt, out) {
11624
11426
  refusal: "The cdkd drift confirmation prompt cannot run in a non-interactive environment. Pass -y / --yes to confirm, or run the command from a real terminal."
11625
11427
  });
11626
11428
  }
11429
+ async function settleUnsettled(record, logicalId, providerOf) {
11430
+ const names = unsettledPropertiesOf(record);
11431
+ if (names.size === 0) return record;
11432
+ let kept = /* @__PURE__ */ new Set();
11433
+ try {
11434
+ const provider = providerOf();
11435
+ if (provider?.unsettledInTransition !== void 0) kept = await provider.unsettledInTransition(record.physicalId, logicalId, record.resourceType, names, record.properties);
11436
+ } catch {
11437
+ kept = names;
11438
+ }
11439
+ const keep = [...names].filter((name) => kept.has(name));
11440
+ if (keep.length === names.size) return record;
11441
+ return withUnsettledProperties(withoutUnsettledProperties(record), keep);
11442
+ }
11443
+ function unsettledRowsOf(report) {
11444
+ const rows = [];
11445
+ const resources = report.state.resources ?? {};
11446
+ for (const logicalId of Object.keys(resources).sort()) {
11447
+ const record = resources[logicalId];
11448
+ const names = unsettledPropertiesOf(record);
11449
+ if (names.size === 0) continue;
11450
+ rows.push({
11451
+ logicalId,
11452
+ type: typeof record?.resourceType === "string" ? record.resourceType : "unknown",
11453
+ properties: [...names].sort()
11454
+ });
11455
+ }
11456
+ return rows;
11457
+ }
11627
11458
  function writeJsonReport(reports) {
11628
11459
  const payload = reports.map((r) => {
11460
+ const unsettled = unsettledRowsOf(r);
11629
11461
  const drifted = [];
11630
11462
  const clean = [];
11631
11463
  const deleted = [];
@@ -11683,6 +11515,7 @@ function writeJsonReport(reports) {
11683
11515
  stack: r.stackName,
11684
11516
  region: r.region,
11685
11517
  ...r.warnings.length > 0 && { warnings: r.warnings },
11518
+ ...unsettled.length > 0 && { unsettled },
11686
11519
  drifted,
11687
11520
  deleted,
11688
11521
  clean,
@@ -11809,6 +11642,17 @@ function writeHumanReport(reports) {
11809
11642
  process.stdout.write("\n");
11810
11643
  }
11811
11644
  }
11645
+ const unsettledRows = unsettledRowsOf(report);
11646
+ if (unsettledRows.length > 0) {
11647
+ process.stdout.write(`\n! ${reportHeading(report)}: a failed deploy left properties unsettled on ${unsettledRows.length} resource${unsettledRows.length === 1 ? "" : "s"} (AWS may hold the recorded value or the attempted one). The next 'cdkd deploy' sends them again; a successful --accept or --revert of the resource clears them.\n`);
11648
+ for (const row of unsettledRows) {
11649
+ const names = row.properties.map((name) => safeMsg`${reportIdent(name, 255)}`).join(", ");
11650
+ process.stdout.write(` ! ${reportResource({
11651
+ logicalId: row.logicalId,
11652
+ resourceType: row.type
11653
+ })}: ${names}\n`);
11654
+ }
11655
+ }
11812
11656
  if (notCompared.length > 0) {
11813
11657
  const notComparedAtAll = notCompared.filter((n) => !ANY_OF_IT_COMPARED[n.cause]).length;
11814
11658
  const referenceCaused = notCompared.length - notComparedAtAll;
@@ -20167,7 +20011,7 @@ async function rollbackCommand(stackArg, options) {
20167
20011
  ...carriedState,
20168
20012
  ...stackInstanceIdCarriedFrom(baseState),
20169
20013
  ...supersededAfterRollback(baseState, supersededHost),
20170
- version: 13,
20014
+ version: 14,
20171
20015
  region,
20172
20016
  resources: { ...stateResources },
20173
20017
  ...orphansAfterRollback(baseState, mintedOrphans),
@@ -23735,7 +23579,7 @@ function buildStackState(stackName, region, rows, templateParser, template, exis
23735
23579
  }
23736
23580
  if (namesParameter?.failedClosed !== void 0) getLogger().debug(`The template's parameter dependence could not be judged (${namesParameter.failedClosed}): every prior observed-baseline refusal recorded without a reason is carried as an unverifiable-parameter refusal.`);
23737
23581
  return {
23738
- version: 13,
23582
+ version: 14,
23739
23583
  stackName,
23740
23584
  region,
23741
23585
  resources,
@@ -30954,7 +30798,7 @@ function createLocalStartCloudFrontCommand$1() {
30954
30798
  extraStateProviders: cdkdExtraStateProviders,
30955
30799
  synthesizer: cdkdHostSynthesizer(() => cmd.opts())
30956
30800
  });
30957
- cmd.addOption(new Option("--from-state", "Read cdkd's S3 state for the target stack: resolve a deployed S3 origin's bucket and the KeyValueStores cf.kvs() reads, and substitute Ref / Fn::GetAtt / Fn::Sub / Fn::ImportValue / Fn::GetStackOutput intrinsics in the Function URL origin and Lambda@Edge environment variables. Mutually exclusive with --from-cfn-stack.").default(false));
30801
+ cmd.addOption(new Option("--from-state", "Read cdkd's S3 state for the target stack: resolve a deployed S3 origin's bucket and the KeyValueStores cf.kvs() reads, and substitute Ref / Fn::GetAtt / Fn::Sub / Fn::ImportValue / Fn::GetStackOutput intrinsics in the Function URL origin, Web Function endpoint origin and Lambda@Edge environment variables. Mutually exclusive with --from-cfn-stack.").default(false));
30958
30802
  cmd.addOption(new Option("--state-bucket <bucket>", "S3 bucket for --from-state. Falls back to CDKD_STATE_BUCKET env or cdk.json context.cdkd.stateBucket. Also receives the transient upload of a CloudFormation-macro template too large to expand inline."));
30959
30803
  cmd.addOption(new Option("--state-prefix <prefix>", "S3 key prefix for --from-state state files.").default("cdkd"));
30960
30804
  cmd.addOption(new Option("--no-assume-role", "Explicitly opt out of assuming the deployed execution role: forward your ambient AWS credentials (or the --profile overlay) unchanged, and suppress the \"re-run with --assume-role\" hint that omitting the flag prints when deployed state is loaded."));
@@ -31741,4 +31585,4 @@ function collectVerbFlags(program) {
31741
31585
 
31742
31586
  //#endregion
31743
31587
  export { resolveSecretDerivedPrincipals as a, buildProgram, isResolvableSecretPrincipalList as i, runDestroyForStack as n, canonicalizeIpProtocolValue as o, holdsUnprovenSecretPrincipalToken as r, resolvedResourceTimeoutMs as s, canonicalizeIpv4Cidr as t };
31744
- //# sourceMappingURL=program-Ymf7svYk.js.map
31588
+ //# sourceMappingURL=program-CS420Kx9.js.map