@go-to-k/cdkd 0.296.5 → 0.296.6

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.
@@ -2,7 +2,7 @@ import { r as getAwsClients, s as __exportAll } from "./aws-clients-CnmtbrxD.js"
2
2
  import { A as displayIdent, C as withoutGeneratedFallbackName, D as UNRENDERABLE, E as STACK_REF_MAX_CODE_POINTS, F as plainIdentOr, I as safeMsg, M as displayStackName, N as isPasteableIdent, R as truncateCodePoints, S as withStackName, T as SECRET_REF_MAX_CODE_POINTS, _ as generateResourceNameWithFallback, b as looksLikeCdkdGeneratedName, c as installLogLineMaskerSource, g as generateResourceName, h as explicitNamePropertyFor, j as displaySafe, k as displayAwsMessage, l as getLiveRenderer, n as getLogger, p as applyDefaultNameForFallback, r as isStdoutReservedForPayload, s as currentLogLineMasker, v as getCurrentSkipPrefix, x as withSkipPrefix, y as getCurrentStackName } from "./logger-DAaB7GFO.js";
3
3
  import { $n as markRedactedCause, $t as LockError, A as isTerminalDeleteFailure, At as CUSTOM_RESOURCE_RESPONSE_PREFIX, Bn as isAmbiguousCcHandlerErrorCode, Bt as clientDefaultsFor, C as refusalTypeShown, Cn as physicalIdShownBesideCommand, Ct as buildForceUnlockCommand, D as ProtectionFlipRegistry, Dn as shellQuote, Dt as formatLockOperation, En as shellBoundedDisplay, Et as formatLockExpiry, Fn as isRecreateRetryableError, Ft as producerRecordKey, Gn as retryClassificationText, H as pasteableAwsCommand, Hn as isIamPropagationError, Ht as AccountIdUnavailableError, In as isReplayedNameCollisionFrom, J as isInterruptedWaitError, Jn as safeStringify$1, Kn as describeAwsFailure, Kt as CrossAccountSecretRefusalError, Lt as withPasteableAwsProfile, M as observeThenDisableProtection, Mn as hasReplayMayCollide, Mt as injectiveKey, N as protectionFlipKey, Nn as isNameCollisionErrorFrom, O as compensateProtectionFlip, On as withheldTargetClause, Ot as formatLockOwner, Pn as isNameCooldownError, Q as canonicalizeRoute53QueryName, Qn as markNonRetryable, R as DELETION_PROTECTION_DOC_POINTER, Rn as markReplayMayCollide, Rt as ambientClientDefaults, S as quotedRemedyLogicalId, Sn as pasteableCommand, St as UNREPRODUCIBLE_LOCK_CLAUSE, T as resolveExplicitPhysicalId, Tn as quotedOrDescribed, U as protectedReplacementAdvice, Un as isRetryableTransientError, Ut as AssetError, Vn as isAmbiguousOutcomeError, Vt as credentialFingerprint, Wn as isTransientServerError, Wt as CdkdError, X as ElapsedBudgetRegistry, Xn as isMarkedNonRetryable, Xt as IntrinsicResolutionRefusalError, Y as startInterruptWatch, Yt as DynamicReferenceRegionAmbiguousError, Z as monotonicNowMs, Zn as isThrottlingError, _n as SHELL_ACTIVE_WHY, _t as hasCreatedBeforeFailure, an as ResourceTimeoutError, at as segmentAfterAnchor, b as isQuotableImportValue, bt as markAuxiliaryFailure, ct as createMaskedRetryLogger, d as prepareRemovalForUpdate, dt as maskerOrIdentity, en as MacroExpansionError, er as wrapMaskedAwsError, et as compositeIdSeparatorRefusal, f as removalWarning, ft as withDerivedNameMasks, g as assertRegionMatch, gn as SHELL_ACTIVE, gt as createdBeforeFailure, h as RESOURCE_NOT_FOUND, i as holdsSecretDerivedEntry, in as ProvisioningError, it as resourceTypeShown, jn as isUpdateUnsupportedError, jt as DEFAULT_STATE_PREFIX, k as deleteWithProtectionCompensation, kt as sanitizeRecoveryValue, l as withUnchangedSecretPrincipalLists, ln as StateError, lt as isSecretDerivedValue, m as withoutInjectedRemovals, mt as carryCreatedBeforeFailure, nt as logicalIdShown, on as ResourceUpdateNotSupportedError, ot as stateOrphanRecordRemedy, pn as normalizeAwsError, pt as RETRY_AUXILIARY_OWNER, qt as DependencyError, st as createMaskedLogSinks, tn as MalformedProducerRecordRefusalError, un as SynthesisError, ut as maskDeep, vn as UNSHOWABLE_VALUE, vt as isAuxiliaryFailure, wn as plainOrDescribed, x as normalizeAwsTagsToCfn, xn as isInertUnquoted, xt as markCreatedBeforeFailure, yn as commandHole, yt as isAuxiliaryMarkOf, zn as formatRetryClassificationSignals, zt as ambientCredentialConfig } from "./iam-policy-targets-td1X_kKN.js";
4
4
  import { a as setAssumedRoleCredentials, i as getPreAssumeEnvCredentials, n as awsClientDefaults, o as setPreAssumeEnvCredentials, r as getAssumedRoleCredentials, s as ambientRegion, t as SECOND_ROLE_PUBLISH_REFUSAL } from "./aws-client-defaults-D0q0z4dG.js";
5
- import { t as getCdkdVersion } from "./version-CjMP26Dj.js";
5
+ import { t as getCdkdVersion } from "./version-BgqcIKdb.js";
6
6
  import { createHash, randomUUID } from "node:crypto";
7
7
  import { AsyncLocalStorage } from "node:async_hooks";
8
8
  import { CreateBucketCommand, DeleteObjectCommand, DeleteObjectsCommand, GetBucketLocationCommand, GetBucketReplicationCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchKey, PutBucketEncryptionCommand, PutBucketPolicyCommand, PutObjectCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
@@ -22050,7 +22050,7 @@ var CloudControlProvider = class {
22050
22050
  const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
22051
22051
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
22052
22052
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
22053
- const { ASGProvider } = await import("./asg-provider-DhyYUns2.js");
22053
+ const { ASGProvider } = await import("./asg-provider-C1TlpooI.js");
22054
22054
  const delegateRegion = ambientRegion();
22055
22055
  let asgProvider = this.asgDeleteDelegates.get(delegateRegion);
22056
22056
  if (asgProvider === void 0) {
@@ -22156,7 +22156,7 @@ var CloudControlProvider = class {
22156
22156
  const family = SDK_DELETE_FAMILIES.get(resourceType);
22157
22157
  const cached = this.sdkDeleteDelegates.get(family);
22158
22158
  if (cached !== void 0 && cached.region === ccRegion) return cached.provider;
22159
- const provider = family === "rds" ? new (await (import("./rds-provider-B0JrOskT.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-DCgJR2NX.js"))).NeptuneProvider({ region: ccRegion });
22159
+ const provider = family === "rds" ? new (await (import("./rds-provider-DeGFzOUc.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-CvY6ekmg.js"))).NeptuneProvider({ region: ccRegion });
22160
22160
  this.sdkDeleteDelegates.set(family, {
22161
22161
  region: ccRegion,
22162
22162
  provider
@@ -27446,44 +27446,6 @@ var DeploymentEventsReader = class {
27446
27446
  }
27447
27447
  };
27448
27448
 
27449
- //#endregion
27450
- //#region src/deployment/update-outcome.ts
27451
- function updatePartialReason(result) {
27452
- if (!result || result.outcome !== "partial") return void 0;
27453
- if (typeof result.reason !== "string") return UNSPECIFIED_PARTIAL_REASON;
27454
- const trimmed = result.reason.trim();
27455
- return trimmed === "" ? UNSPECIFIED_PARTIAL_REASON : trimmed;
27456
- }
27457
- const UNSPECIFIED_PARTIAL_REASON = "provider reported a partial update without a reason";
27458
- function updatePartialMessage(reason) {
27459
- return `partial (${reason})`;
27460
- }
27461
-
27462
- //#endregion
27463
- //#region src/provisioning/redacted-delete-address.ts
27464
- function isRedactedRecordedValue(value) {
27465
- if (carriesSecretMask(value)) return true;
27466
- let text;
27467
- try {
27468
- text = typeof value === "string" ? value : JSON.stringify(value);
27469
- } catch {
27470
- return false;
27471
- }
27472
- return text !== void 0 && dynamicReferenceTokens(text).length > 0;
27473
- }
27474
- const REDACTED_DELETE_ADDRESS_SKIP_REASON = "redacted address property in state — no delete issued";
27475
- function redactedDeleteAddressFields(fields) {
27476
- return Object.keys(fields).filter((key) => isRedactedRecordedValue(fields[key]));
27477
- }
27478
- function redactedDeleteAddressSkip(logger, logicalId, what, redactedFields, context) {
27479
- if (redactedFields.length === 0) return void 0;
27480
- logger.warn(safeMsg`${what} ${logicalId} is recorded in state with ${redactedFields.join(", ")} ` + "redacted (the '***' mask of a NoEcho value it read, or a secret '{{resolve:...}}' reference), which names nothing in AWS; skipping deletion — no AWS call is issued, so the resource is LEFT IN PLACE unless a parent resource this run also deletes removes it (then only the record is stale). Re-deploying records the same redaction again. The state record is KEPT and the run reports the skip: on 'cdkd destroy' / 'cdkd state destroy' (which exits non-zero) and, since issue 1762, on the plain DELETE of a resource removed from the template during cdkd deploy. Remove the resource by hand, " + safeMsg`then drop the record with ${stateOrphanRecordRemedy(context, logicalId)}. ` + "NOTE a deploy-side REPLACEMENT or rollback delete instead FAILS the resource (https://github.com/go-to-k/cdkd/issues/1762) — the old resource is left untracked there, so remove it by hand.");
27481
- return {
27482
- outcome: "skipped",
27483
- reason: REDACTED_DELETE_ADDRESS_SKIP_REASON
27484
- };
27485
- }
27486
-
27487
27449
  //#endregion
27488
27450
  //#region src/provisioning/final-snapshot.ts
27489
27451
  const ATOMIC_FINAL_SNAPSHOT_TYPES = /* @__PURE__ */ new Set([
@@ -28129,6 +28091,172 @@ async function prepareCreateRollbackFinalSnapshot(op, provisionedBy, ctx, mask)
28129
28091
  }
28130
28092
  }
28131
28093
 
28094
+ //#endregion
28095
+ //#region src/deployment/secret-name-needles.ts
28096
+ function secretNameNeedlesOf(logicalId, record, secrets, options) {
28097
+ const physicalId = typeof record?.physicalId === "string" && record.physicalId !== "" ? record.physicalId : void 0;
28098
+ const bag = secrets !== void 0 && hasMaskableValues(secrets) ? secrets : void 0;
28099
+ const mask = (text) => bag === void 0 ? text : maskSecretsInText(text, bag);
28100
+ const unresolved = (value) => value.includes("{{resolve:") || value === "***";
28101
+ const named = {
28102
+ resourceType: record?.resourceType,
28103
+ properties: record?.properties,
28104
+ logicalId
28105
+ };
28106
+ const needles = /* @__PURE__ */ new Set();
28107
+ const add = (needle) => {
28108
+ if (typeof needle === "string" && needle !== "") needles.add(needle);
28109
+ };
28110
+ for (const [raw, derived] of secretDerivedNamePairs({
28111
+ ...named,
28112
+ physicalIds: []
28113
+ })) if (typeof raw === "string" && !unresolved(raw) && isSecretDerivedValue(raw, mask)) add(derived);
28114
+ for (const [raw, spelling] of secretDerivedNamePairs({
28115
+ ...named,
28116
+ physicalIds: [physicalId ?? "cdkd-no-physical-id-yet"]
28117
+ })) {
28118
+ if (!isSecretDerivedValue(raw, mask)) continue;
28119
+ if (unresolved(raw)) {
28120
+ if (physicalId === void 0) continue;
28121
+ add(spelling);
28122
+ } else {
28123
+ add(raw);
28124
+ if (raw.toLowerCase() !== raw && raw.length >= 4) add(raw.toLowerCase());
28125
+ }
28126
+ }
28127
+ const properties = record?.properties;
28128
+ const path = properties !== null && typeof properties === "object" && Object.hasOwn(properties, "Path") ? properties["Path"] : void 0;
28129
+ if (physicalId !== void 0 && isSecretDerivedValue(path, mask)) add(physicalId);
28130
+ const embedded = options === void 0 ? secrets : options.embedded;
28131
+ const embeddedBag = embedded !== void 0 && hasMaskableValues(embedded) ? embedded : void 0;
28132
+ if (embeddedBag !== void 0 && physicalId !== void 0) {
28133
+ for (const needle of printingCorpusOf(embeddedBag).keys()) if (needle !== "" && (needle === physicalId || needle.length >= 4 && physicalId.includes(needle))) add(needle);
28134
+ }
28135
+ return needles.size > 0 ? needles : void 0;
28136
+ }
28137
+ function secretNamesReadBy(logicalId, record, resources, judge = () => ({
28138
+ secrets: void 0,
28139
+ embedded: void 0
28140
+ })) {
28141
+ const read = /* @__PURE__ */ new Set();
28142
+ const leaves = [...wholeStringLeavesOf(record?.properties)].filter((leaf) => leaf !== "");
28143
+ if (leaves.length === 0) return read;
28144
+ for (const [otherId, other] of Object.entries(resources)) {
28145
+ if (otherId === logicalId) continue;
28146
+ const bags = judge(otherId);
28147
+ const needles = secretNameNeedlesOf(otherId, other, bags.secrets, { embedded: bags.embedded });
28148
+ if (needles === void 0) continue;
28149
+ for (const needle of needles) if (leaves.some((leaf) => leaf === needle || needle.length >= 4 && leaf.includes(needle))) read.add(needle);
28150
+ }
28151
+ return read;
28152
+ }
28153
+ function stateSecretNameNeedles(resources, secrets) {
28154
+ return (logicalId) => secretNameNeedlesOf(logicalId, Object.hasOwn(resources, logicalId) ? resources[logicalId] : void 0, secrets, { embedded: void 0 });
28155
+ }
28156
+ function secretNamePrintingBag(logicalId, resources) {
28157
+ const bag = /* @__PURE__ */ new Map();
28158
+ const record = Object.hasOwn(resources, logicalId) ? resources[logicalId] : void 0;
28159
+ for (const needle of secretNameNeedlesOf(logicalId, record, void 0) ?? []) recordLogOnlyValue(bag, needle);
28160
+ for (const needle of secretNamesReadBy(logicalId, record, resources)) recordLogOnlyValue(bag, needle);
28161
+ return bag;
28162
+ }
28163
+ function journaledOrphanPrintingBag(ops, stateResources) {
28164
+ const bag = /* @__PURE__ */ new Map();
28165
+ for (const op of ops) {
28166
+ const record = {
28167
+ resourceType: op.resourceType,
28168
+ physicalId: op.physicalId,
28169
+ properties: op.attemptedProperties
28170
+ };
28171
+ const replaced = Object.hasOwn(stateResources, op.logicalId) ? stateResources[op.logicalId] : void 0;
28172
+ for (const needle of [
28173
+ ...secretNameNeedlesOf(op.logicalId, record, void 0) ?? [],
28174
+ ...secretNameNeedlesOf(op.logicalId, replaced, void 0) ?? [],
28175
+ ...secretNamesReadBy(op.logicalId, record, stateResources)
28176
+ ]) recordLogOnlyValue(bag, needle);
28177
+ }
28178
+ return bag;
28179
+ }
28180
+ function completedReplayEntries(ops) {
28181
+ return ops.flatMap((op) => [{
28182
+ logicalId: op.logicalId,
28183
+ resourceType: op.resourceType,
28184
+ physicalId: op.physicalId,
28185
+ properties: op.properties,
28186
+ attemptedProperties: op.properties
28187
+ }, ...op.previousState === void 0 ? [] : [{
28188
+ logicalId: op.logicalId,
28189
+ resourceType: op.previousState.resourceType,
28190
+ physicalId: op.previousState.physicalId,
28191
+ properties: op.previousState.properties,
28192
+ attemptedProperties: op.previousState.properties
28193
+ }]]);
28194
+ }
28195
+ function orphanRecordsPrintingBag(records) {
28196
+ const bag = /* @__PURE__ */ new Map();
28197
+ for (const entry of records) {
28198
+ if (entry === null || typeof entry !== "object") continue;
28199
+ const { logicalId, state } = entry;
28200
+ if (typeof logicalId !== "string" || state === null || typeof state !== "object") continue;
28201
+ for (const needle of secretNameNeedlesOf(logicalId, state, void 0) ?? []) recordLogOnlyValue(bag, needle);
28202
+ }
28203
+ return bag;
28204
+ }
28205
+ const ORPHAN_COMMAND_LABEL = "To orphan it: ";
28206
+ function maskEventTextWithBoundBags(event) {
28207
+ if (event.reason === void 0 && event.error === void 0) return event;
28208
+ const mask = currentLogLineMasker();
28209
+ if (mask === void 0) return event;
28210
+ const masked = { ...event };
28211
+ if (masked.error?.message) {
28212
+ const message = masked.error.ownLines === true ? masked.error.message.split("\n").map((line) => line.startsWith(ORPHAN_COMMAND_LABEL) ? line : mask(line)).join("\n") : mask(masked.error.message);
28213
+ masked.error = {
28214
+ ...masked.error,
28215
+ message
28216
+ };
28217
+ }
28218
+ if (masked.reason) masked.reason = mask(masked.reason);
28219
+ return masked;
28220
+ }
28221
+
28222
+ //#endregion
28223
+ //#region src/deployment/update-outcome.ts
28224
+ function updatePartialReason(result) {
28225
+ if (!result || result.outcome !== "partial") return void 0;
28226
+ if (typeof result.reason !== "string") return UNSPECIFIED_PARTIAL_REASON;
28227
+ const trimmed = result.reason.trim();
28228
+ return trimmed === "" ? UNSPECIFIED_PARTIAL_REASON : trimmed;
28229
+ }
28230
+ const UNSPECIFIED_PARTIAL_REASON = "provider reported a partial update without a reason";
28231
+ function updatePartialMessage(reason) {
28232
+ return `partial (${reason})`;
28233
+ }
28234
+
28235
+ //#endregion
28236
+ //#region src/provisioning/redacted-delete-address.ts
28237
+ function isRedactedRecordedValue(value) {
28238
+ if (carriesSecretMask(value)) return true;
28239
+ let text;
28240
+ try {
28241
+ text = typeof value === "string" ? value : JSON.stringify(value);
28242
+ } catch {
28243
+ return false;
28244
+ }
28245
+ return text !== void 0 && dynamicReferenceTokens(text).length > 0;
28246
+ }
28247
+ const REDACTED_DELETE_ADDRESS_SKIP_REASON = "redacted address property in state — no delete issued";
28248
+ function redactedDeleteAddressFields(fields) {
28249
+ return Object.keys(fields).filter((key) => isRedactedRecordedValue(fields[key]));
28250
+ }
28251
+ function redactedDeleteAddressSkip(logger, logicalId, what, redactedFields, context) {
28252
+ if (redactedFields.length === 0) return void 0;
28253
+ logger.warn(safeMsg`${what} ${logicalId} is recorded in state with ${redactedFields.join(", ")} ` + "redacted (the '***' mask of a NoEcho value it read, or a secret '{{resolve:...}}' reference), which names nothing in AWS; skipping deletion — no AWS call is issued, so the resource is LEFT IN PLACE unless a parent resource this run also deletes removes it (then only the record is stale). Re-deploying records the same redaction again. The state record is KEPT and the run reports the skip: on 'cdkd destroy' / 'cdkd state destroy' (which exits non-zero) and, since issue 1762, on the plain DELETE of a resource removed from the template during cdkd deploy. Remove the resource by hand, " + safeMsg`then drop the record with ${stateOrphanRecordRemedy(context, logicalId)}. ` + "NOTE a deploy-side REPLACEMENT or rollback delete instead FAILS the resource (https://github.com/go-to-k/cdkd/issues/1762) — the old resource is left untracked there, so remove it by hand.");
28254
+ return {
28255
+ outcome: "skipped",
28256
+ reason: REDACTED_DELETE_ADDRESS_SKIP_REASON
28257
+ };
28258
+ }
28259
+
28132
28260
  //#endregion
28133
28261
  //#region src/deployment/rollback-executor/replay-inline-policy-restore.ts
28134
28262
  async function restoreHeldInlinePolicies(writers, stateResources, stackName, ctx, result, options = {}) {
@@ -29861,7 +29989,7 @@ async function revertNestedChildFromJournal(args) {
29861
29989
  providerRegistry: ctx.providerRegistry,
29862
29990
  region,
29863
29991
  logger,
29864
- ...ctx.options?.eventRecorder && { recordEvent: (event) => ctx.options.eventRecorder.record(event) },
29992
+ ...ctx.options?.eventRecorder && { recordEvent: (event) => ctx.options.eventRecorder.record(maskEventTextWithBoundBags(event)) },
29865
29993
  finalSnapshotClients: ctx.options?.finalSnapshotClients,
29866
29994
  skipFinalSnapshot: ctx.options?.skipFinalSnapshot === true || ctx.destroyOptions?.skipFinalSnapshot === true,
29867
29995
  importedProducerRegions: producerRegions.regions,
@@ -29883,11 +30011,11 @@ async function revertNestedChildFromJournal(args) {
29883
30011
  const skipPrefix = segment.skipPrefix ?? getCurrentSkipPrefix();
29884
30012
  const split = splitImportedOps(segment.operations, segment);
29885
30013
  const result = await withNestedStackContext(childCtx, () => withSkipPrefix(skipPrefix, () => withStackName(childStackName, () => withCreateTokenLedger(ledgerForStack(ctx.stateBackend, childStackName, region), () => withNestedRevertRun(runId, async (inner) => {
29886
- const replayed = await replayRollback(split.replay, stateResources, childStackName, execCtx, {
30014
+ const replayed = await withPrintingSecrets(journaledOrphanPrintingBag(completedReplayEntries(split.replay), stateResources), () => replayRollback(split.replay, stateResources, childStackName, execCtx, {
29887
30015
  afterOp: save,
29888
30016
  onOrphan: (record) => mintedOrphans.push(record),
29889
30017
  inlinePolicyWriters
29890
- });
30018
+ }));
29891
30019
  for (const [id, below] of inner.settled) settledBelow.set(id, below);
29892
30020
  return {
29893
30021
  ...replayed,
@@ -30053,105 +30181,6 @@ function makeSiblingClaimReader(params) {
30053
30181
  };
30054
30182
  }
30055
30183
 
30056
- //#endregion
30057
- //#region src/deployment/secret-name-needles.ts
30058
- function secretNameNeedlesOf(logicalId, record, secrets, options) {
30059
- const physicalId = typeof record?.physicalId === "string" && record.physicalId !== "" ? record.physicalId : void 0;
30060
- const bag = secrets !== void 0 && hasMaskableValues(secrets) ? secrets : void 0;
30061
- const mask = (text) => bag === void 0 ? text : maskSecretsInText(text, bag);
30062
- const unresolved = (value) => value.includes("{{resolve:") || value === "***";
30063
- const named = {
30064
- resourceType: record?.resourceType,
30065
- properties: record?.properties,
30066
- logicalId
30067
- };
30068
- const needles = /* @__PURE__ */ new Set();
30069
- const add = (needle) => {
30070
- if (typeof needle === "string" && needle !== "") needles.add(needle);
30071
- };
30072
- for (const [raw, derived] of secretDerivedNamePairs({
30073
- ...named,
30074
- physicalIds: []
30075
- })) if (typeof raw === "string" && !unresolved(raw) && isSecretDerivedValue(raw, mask)) add(derived);
30076
- for (const [raw, spelling] of secretDerivedNamePairs({
30077
- ...named,
30078
- physicalIds: [physicalId ?? "cdkd-no-physical-id-yet"]
30079
- })) {
30080
- if (!isSecretDerivedValue(raw, mask)) continue;
30081
- if (unresolved(raw)) {
30082
- if (physicalId === void 0) continue;
30083
- add(spelling);
30084
- } else {
30085
- add(raw);
30086
- if (raw.toLowerCase() !== raw && raw.length >= 4) add(raw.toLowerCase());
30087
- }
30088
- }
30089
- const properties = record?.properties;
30090
- const path = properties !== null && typeof properties === "object" && Object.hasOwn(properties, "Path") ? properties["Path"] : void 0;
30091
- if (physicalId !== void 0 && isSecretDerivedValue(path, mask)) add(physicalId);
30092
- const embedded = options === void 0 ? secrets : options.embedded;
30093
- const embeddedBag = embedded !== void 0 && hasMaskableValues(embedded) ? embedded : void 0;
30094
- if (embeddedBag !== void 0 && physicalId !== void 0) {
30095
- for (const needle of printingCorpusOf(embeddedBag).keys()) if (needle !== "" && (needle === physicalId || needle.length >= 4 && physicalId.includes(needle))) add(needle);
30096
- }
30097
- return needles.size > 0 ? needles : void 0;
30098
- }
30099
- function secretNamesReadBy(logicalId, record, resources, judge = () => ({
30100
- secrets: void 0,
30101
- embedded: void 0
30102
- })) {
30103
- const read = /* @__PURE__ */ new Set();
30104
- const leaves = [...wholeStringLeavesOf(record?.properties)].filter((leaf) => leaf !== "");
30105
- if (leaves.length === 0) return read;
30106
- for (const [otherId, other] of Object.entries(resources)) {
30107
- if (otherId === logicalId) continue;
30108
- const bags = judge(otherId);
30109
- const needles = secretNameNeedlesOf(otherId, other, bags.secrets, { embedded: bags.embedded });
30110
- if (needles === void 0) continue;
30111
- for (const needle of needles) if (leaves.some((leaf) => leaf === needle || needle.length >= 4 && leaf.includes(needle))) read.add(needle);
30112
- }
30113
- return read;
30114
- }
30115
- function stateSecretNameNeedles(resources, secrets) {
30116
- return (logicalId) => secretNameNeedlesOf(logicalId, Object.hasOwn(resources, logicalId) ? resources[logicalId] : void 0, secrets, { embedded: void 0 });
30117
- }
30118
- function secretNamePrintingBag(logicalId, resources) {
30119
- const bag = /* @__PURE__ */ new Map();
30120
- const record = Object.hasOwn(resources, logicalId) ? resources[logicalId] : void 0;
30121
- for (const needle of secretNameNeedlesOf(logicalId, record, void 0) ?? []) recordLogOnlyValue(bag, needle);
30122
- for (const needle of secretNamesReadBy(logicalId, record, resources)) recordLogOnlyValue(bag, needle);
30123
- return bag;
30124
- }
30125
- function journaledOrphanPrintingBag(ops, stateResources) {
30126
- const bag = /* @__PURE__ */ new Map();
30127
- for (const op of ops) {
30128
- const record = {
30129
- resourceType: op.resourceType,
30130
- physicalId: op.physicalId,
30131
- properties: op.attemptedProperties
30132
- };
30133
- const replaced = Object.hasOwn(stateResources, op.logicalId) ? stateResources[op.logicalId] : void 0;
30134
- for (const needle of [
30135
- ...secretNameNeedlesOf(op.logicalId, record, void 0) ?? [],
30136
- ...secretNameNeedlesOf(op.logicalId, replaced, void 0) ?? [],
30137
- ...secretNamesReadBy(op.logicalId, record, stateResources)
30138
- ]) recordLogOnlyValue(bag, needle);
30139
- }
30140
- return bag;
30141
- }
30142
- function maskEventTextWithBoundBags(event) {
30143
- if (event.reason === void 0 && event.error === void 0) return event;
30144
- const mask = currentLogLineMasker();
30145
- if (mask === void 0) return event;
30146
- const masked = { ...event };
30147
- if (masked.error?.message && masked.error.ownLines !== true) masked.error = {
30148
- ...masked.error,
30149
- message: mask(masked.error.message)
30150
- };
30151
- if (masked.reason) masked.reason = mask(masked.reason);
30152
- return masked;
30153
- }
30154
-
30155
30184
  //#endregion
30156
30185
  //#region src/deployment/rollback-executor/journaled-orphans.ts
30157
30186
  const NONE = {
@@ -30493,7 +30522,8 @@ function redactOperationsForJournal(operations) {
30493
30522
  }
30494
30523
  async function adoptRollbackOrphans(currentState, effectiveTemplate) {
30495
30524
  const records = currentState.orphans ?? [];
30496
- const plan = await planOrphanAdoption({
30525
+ const named = orphanRecordsPrintingBag(records);
30526
+ const plan = await withPrintingSecrets(named, () => planOrphanAdoption({
30497
30527
  records,
30498
30528
  managedLogicalIds: new Set(Object.keys(currentState.resources)),
30499
30529
  template: effectiveTemplate,
@@ -30514,14 +30544,7 @@ async function adoptRollbackOrphans(currentState, effectiveTemplate) {
30514
30544
  logger: this.logger
30515
30545
  }),
30516
30546
  logger: { debug: (m) => this.logger.debug(m) }
30517
- });
30518
- const named = /* @__PURE__ */ new Map();
30519
- for (const entry of records) {
30520
- if (entry === null || typeof entry !== "object") continue;
30521
- const { logicalId, state } = entry;
30522
- if (typeof logicalId !== "string" || state === null || typeof state !== "object") continue;
30523
- for (const needle of secretNameNeedlesOf(logicalId, state, void 0) ?? []) recordLogOnlyValue(named, needle);
30524
- }
30547
+ }));
30525
30548
  for (const notice of plan.notices) this.logger.info(maskSecretsInText(notice, named));
30526
30549
  if (plan.refusals.length > 0) throw new Error(`Deploy refused — cdkd left ${plan.refusals.length} resource(s) in AWS that it cannot safely re-adopt:\n ${plan.refusals.map((r) => maskSecretsInText(r, named)).join("\n ")}`);
30527
30550
  for (const [logicalId, record] of Object.entries(plan.adopted)) {
@@ -30531,26 +30554,26 @@ async function adoptRollbackOrphans(currentState, effectiveTemplate) {
30531
30554
  if (records.length > 0) currentState.orphans = plan.remaining;
30532
30555
  return plan;
30533
30556
  }
30534
- function orphanReplayPrintingBag(engine, orphanOps, stateResources) {
30557
+ function replayPrintingBag(engine, entries, stateResources) {
30535
30558
  const read = /* @__PURE__ */ new Map();
30536
- for (const op of orphanOps) {
30537
- const names = secretNamesReadBy(op.logicalId, { properties: op.attemptedProperties }, stateResources, (otherId) => ({
30559
+ for (const entry of entries) {
30560
+ const names = secretNamesReadBy(entry.logicalId, { properties: entry.properties }, stateResources, (otherId) => ({
30538
30561
  secrets: engine.namingSecretsFor(otherId),
30539
30562
  embedded: engine.perResourceSecrets.get(otherId)
30540
30563
  }));
30541
30564
  for (const needle of names) recordLogOnlyValue(read, needle);
30542
30565
  }
30543
30566
  const own = /* @__PURE__ */ new Map();
30544
- for (const op of orphanOps) {
30545
- const needles = secretNameNeedlesOf(op.logicalId, {
30546
- resourceType: op.resourceType,
30547
- physicalId: op.physicalId,
30548
- properties: op.attemptedProperties
30549
- }, engine.namingSecretsFor(op.logicalId), { embedded: engine.perResourceSecrets.get(op.logicalId) });
30567
+ for (const entry of entries) {
30568
+ const needles = secretNameNeedlesOf(entry.logicalId, {
30569
+ resourceType: entry.resourceType,
30570
+ physicalId: entry.physicalId,
30571
+ properties: entry.properties
30572
+ }, engine.namingSecretsFor(entry.logicalId), { embedded: engine.perResourceSecrets.get(entry.logicalId) });
30550
30573
  for (const needle of needles ?? []) recordLogOnlyValue(own, needle);
30551
30574
  }
30552
30575
  return unionOfSecretBags([
30553
- ...orphanOps.map((op) => engine.printingSecretsFor(op.logicalId)),
30576
+ ...entries.map((entry) => engine.printingSecretsFor(entry.logicalId)),
30554
30577
  own,
30555
30578
  read
30556
30579
  ]);
@@ -30572,11 +30595,14 @@ async function performRollback(completedOperations, stateResources, stackName, p
30572
30595
  const runId = this.options.eventRecorder?.runId;
30573
30596
  const { result, failed, run } = await withNestedRevertRun(runId, async (scope) => {
30574
30597
  return {
30575
- failed: orphanOps.length > 0 ? await withPrintingSecrets(orphanReplayPrintingBag(this, orphanOps, stateResources), () => replayFailedOperations(orphanOps, stateResources, stackName, ctx, {
30598
+ failed: orphanOps.length > 0 ? await withPrintingSecrets(replayPrintingBag(this, orphanOps.map((op) => ({
30599
+ ...op,
30600
+ properties: op.attemptedProperties
30601
+ })), stateResources), () => replayFailedOperations(orphanOps, stateResources, stackName, ctx, {
30576
30602
  emitEnvelope: completedOperations.length === 0,
30577
30603
  inlinePolicyWriters
30578
30604
  })) : void 0,
30579
- result: await replayRollback(completedOperations, stateResources, stackName, ctx, { inlinePolicyWriters }),
30605
+ result: await withPrintingSecrets(replayPrintingBag(this, completedReplayEntries(completedOperations), stateResources), () => replayRollback(completedOperations, stateResources, stackName, ctx, { inlinePolicyWriters })),
30580
30606
  run: scope
30581
30607
  };
30582
30608
  });
@@ -37921,5 +37947,5 @@ DeployEngine.prototype.replacementNameOrigin = replacementNameOrigin;
37921
37947
  DeployEngine.prototype.orphanedNameCollisionAdvice = orphanedNameCollisionAdvice;
37922
37948
 
37923
37949
  //#endregion
37924
- export { resourcesNamingDeclaredParameter as $, maskSecretsInError as $a, repairMalformedResourcesForReadOnly as $i, isWaitAbandonedError as $n, isCrossRegionRedirect as $o, hasReadableOrphans as $r, StageLoadError as $s, updatePartialMessage as $t, resolveDynamoDbDeleteBudgetClock as A, prefetchCreateOnlyPropertyPaths as Aa, refuseMalformedOrphansForOrphan as Ai, DBPROXY_TAG_OPTIONS as An, exportNamesCarriedFrom as Ao, isUnboundTemplateParameter as Ar, loadCdkJson as As, demoteSupersededOrphans as At, getPriorAttempts as B, inheritNestedStackParameterAssociations as Ba, refuseMalformedResourcePropertiesForDestroy as Bi, ccBrokenReason as Bn, AssetPublisher as Bo, isStalePlaceholderArnAttribute as Br, ssmResolvedValueType as Bs, ATOMIC_FINAL_SNAPSHOT_TYPES as Bt, perType as C, configIntegerRefusal as Ca, previewableOrphanRecords as Ci, RollbackInlinePolicyWriters as Cn, LockManager as Co, isSettledInstanceState as Cr, stripControlChars as Cs, replayFailedOperations as Ct, beginDeleteWait as D, requireConfigArray as Da, refuseMalformedOrphanRecordsForDestroy as Di, withCreateTokenLedger as Dn, splitImportedOps as Do, s3BucketRegionalDomainName as Dr, synthesisStatusMessage as Ds, getStackRecords as Dt, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as E, replayWarn as Ea, refuseMalformedOrphanRecords as Ei, reserveStackCreateToken as En, rebuildClientForBucketRegion as Eo, s3BucketDualStackDomainName as Er, Synthesizer as Es, destroyStackRecordsView as Et, waitForIndexesSettled as F, lambdaFunctionNameForMask as Fa, refuseMalformedResourceEntriesForDeploy as Fi, tagPlanWarning as Fn, importableOutputs as Fo, carriesFetchableDynamicReference as Fr, resolveStateBucketWithDefault as Fs, replacementNeverSwapped as Ft, cyan as G, literalSplitDelimitersOf as Ga, refuseMalformedResourcesForDestroy as Gi, CloudControlProvider as Gn, createAssetRedirectResolver as Go, passedParameterClassesOf as Gr, uploadCfnTemplate as Gs, effectiveDeletionPolicy as Gt, formatResourceLine as H, carryLogOnlyValues as Ha, refuseMalformedResourcePropertiesForExport as Hi, isCustomResourceType as Hn, stringifyValue as Ho, parseWebACLArn as Hr, CFN_TEMPLATE_URL_LIMIT as Hs, buildFinalSnapshotIdentifier as Ht, ECR_AUTO_DELETE_IMAGES_TAG as I, sameLambdaFunctionAddress as Ia, refuseMalformedResourceEntriesForDestroy as Ii, definedAttributes as In, isReadableBag as Io, isNamelessDynamicReferenceError as Ir, resolveStateBucketWithDefaultAndSource as Is, resolveReplacementOldType as It, red as J, recordLogOnlyParameterValue as Ja, repairMalformedOrphanRecordsForReadOnly as Ji, unchangedBehindSecretReference as Jn, AssetModeResolver as Jo, STATE_RESOURCES_MALFORMED as Jr, expectedOwnerParam as Js, unsupportedFinalSnapshotError as Jt, gray as K, logOnlyValueCount as Ka, refuseMalformedResourcesForExport as Ki, slowCcOperationTimeoutMs as Kn, loadPublishableAssetManifest as Ko, JSON_LISTING_HOLE_VALUE as Kr, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as Ks, isFinalSnapshotError as Kt, S3_AUTO_DELETE_OBJECTS_TAG as L, DagBuilder as La, refuseMalformedResourceEntriesForImport as Li, stringifyIfAssigned as Ln, orphansAfterRollback as Lo, keepsSecretReferenceToken as Lr, resolveUseCdkBootstrapAssets as Ls, findNestedStackTypeChanges as Lt, DELETE_INDEX_WAIT_PROCEED_NOTE as M, describeTypeWithThrottleRetry as Ma, refuseMalformedOutputsForDestroy as Mi, readTagList as Mn, hasReasonlessBaselineRefusal as Mo, getAccountInfo as Mr, resolveAutoAssetStorage as Ms, isReplacementOrphan as Mt, INDEX_SETTLE_POLL_INTERVAL_MS as N, withRetry as Na, refuseMalformedResourceAttributesForOrphan as Ni, refuseMalformedDesiredTags as Nn, hasUnverifiableParameterRefusal as No, isImpossibleEmptyStoredAttribute as Nr, resolveCaptureObservedState as Ns, planFailedOps as Nt, compensateRemovedDeletionProtection as O, requireConfigObject as Oa, refuseMalformedOrphans as Oi, acquireIdempotencyToken as On, acceptedCreateOnlyDropsOf as Oo, s3BucketWebsiteUrl as Or, getDefaultStateBucketName as Os, withStackRecords as Ot, deleteTableWithIndexBusyRetry as P, canonicalLambdaFunctionName as Pa, refuseMalformedResourceEntries as Pi, tagMapAsList as Pn, importableOutputKeys as Po, carriesDynamicReference as Pr, resolveSkipPrefix as Ps, planRollback as Pt, reachableDivergentParameters as Q, errorCauseChain as Qa, repairMalformedResourcePropertiesForReadOnly as Qi, withIndeterminateGuard as Qn, getBootstrapMarkerKey as Qo, displayLogicalId as Qr, AssemblyReader as Qs, redactedDeleteAddressSkip as Qt, hasCdkAutoDeleteTag as R, TemplateParser as Ra, refuseMalformedResourceEntriesForImportSave as Ri, CC_BROKEN_REASON as Rn, orphansCarriedFrom as Ro, AWS_NO_VALUE as Rr, stateBucketExistenceConfirmed as Rs, getCurrentProducerRegions as Rt, isProtectionValueActive as S, configBooleanRefusal as Sa, malformedStateRefusalMessage as Si, formatDestructiveChange as Sn, isSingleDynamicReferenceToken as So, envCredentialsAreAssumedRole as Sr, escapeRegExp$3 as Ss, withNestedStackContext as St, DynamoDBGlobalTableProvider as T, readConfigString as Ta, refuseMalformedNestedChildOutputs as Ti, ledgerForStack as Tn, S3StateBackend as To, s3BucketDomainName as Tr, getDockerImageBySourceHash as Ts, awaitInFlightSibling as Tt, createReadOnlyAttributeHealerFactory as U, createUnionSecretMasker as Ua, refuseMalformedResourcePropertiesForOrphan as Ui, getCurrentResourceSecrets as Un, WorkGraph as Uo, withSharedDrainBudget as Ur, MIGRATE_TMP_PREFIX as Us, ccRoutedFinalSnapshotError as Ut, markRefusedBeforeApplying as V, recordNestedStackParameterExpressions as Va, refuseMalformedResourcePropertiesForDrift as Vi, wouldReturnToSdkProvider as Vn, isSensitiveAttributeName as Vo, refStateLookupFromResource as Vr, CFN_TEMPLATE_BODY_LIMIT as Vs, PRE_DELETE_SNAPSHOT_TYPES as Vt, bold as W, hasMaskableValues as Wa, refuseMalformedResourcesForDeploy as Wi, withPrintingSecrets as Wn, buildAssetRedirectMap as Wo, parameterInputsFor as Wr, findLargeInlineResources as Ws, createPreDeleteFinalSnapshot as Wt, computeParameterTaint as X, shareLogOnlyValues as Xa, repairMalformedOutputsForReadOnly as Xi, deleteIndeterminateGuards as Xn, assertAssetBucketRegion as Xo, UNREADABLE_RESOURCES_MAP_ROW as Xr, canonicalizeRegion as Xs, isRedactedRecordedValue as Xt, yellow as Y, recordLogOnlyValue as Ya, repairMalformedOrphansForReadOnly as Yi, UNSPECIFIED_SKIP_REASON as Yn, BOOTSTRAP_MARKER_PREFIX as Yo, UNREADABLE_ORPHANS_CONTAINER_ROW as Yr, PARTITION_TABLE as Ys, REDACTED_DELETE_ADDRESS_SKIP_REASON as Yt, namesAnyDeclaredParameter as Z, createSecretMasker as Za, repairMalformedResourceEntriesForReadOnly as Zi, deleteSkipReason as Zn, ensureAssetStorage as Zo, deployRefusesOrphanRowsReason as Zr, derivePartitionAndUrlSuffix as Zs, redactedDeleteAddressFields as Zt, makeCanonicalizePropertiesFn as _, isWarmThroughputDecrease as _a, malformedRenderedContainersWarning as _i, DEFAULT_RESOURCE_TIMEOUT_MS as _n, STATE_SOURCED_BASELINE_RULES as _o, isIamRoleArn as _r, redactDockerArgvValues as _s, recordDisplacedSkips as _t, findNestedTemplateTreeDefect as a, unwrittenCreateOnlyReplacement as aa, ownValue as ac, malformedExportNamesWarning as ai, displayTextOrWithheld as an, DYNAMIC_REFERENCE_TOKEN_SCAN as ao, reDisableInstanceApiTermination as ar, buildDockerImage as as, journaledOrphanPrintingBag as at, recordedProtectionNote as b, coerceCfnBoolean as ba, malformedResourcesWarning as bi, constructPathOf as bn, TEMPLATE_SOURCED_RULES as bo, applyCallerIdentityCredentials as br, runDockerStreaming as bs, withNestedRevertRun as bt, renderNestedTemplateTreeDefect as c, hasNoCloudControlHandlers as ca, displayAssemblyPath as cc, malformedLocalResourceEntriesWarning as ci, secretBearingStateKeyWarning as cn, pathCrossesDottedKey as co, INTRINSIC_KEYS as cr, describeDockerExecFailure as cs, stateSecretNameNeedles as ct, conditionInputsFrom as d, MULTI_REGION_RECREATE_BLOCKED_TYPES as da, clearBucketRegionCache as dc, malformedOrphanRecordsWarning as di, isWholeDynamicReferenceValue as dn, provenPublicValue as do, producerRegionsFromState as dr, finchSecretArgvRefusal as ds, NESTED_PENDING_PARENT_REASON as dt, unpreviewableOrphanRecords as ea, processStackMessages as ec, hasReadableOutputs as ei, updatePartialReason as en, maskSecretsInText as eo, markWaitAbandoned as er, parseBootstrapMarker as es, deleteJournaledOrphans as et, parentSuppliedValues as f, isStatefulRecreateTargetForReplace as fa, resolveBucketRegion as fc, malformedOrphanRowsKeptWarning as fi, noEchoParameterValueSeed as fn, recordMaskOnlyValue as fo, regionLessSecretName as fr, formatDockerLoginError as fs, displacedOpClause as ft, mergeNoChangeOutputs as g, coerceWarmThroughput as ga, malformedOutputsWarning as gi, bindingSkippedOutputs as gn, wholeStringLeavesOf as go, explicitRoleArnOrThrow as gr, partitionSensitiveEnv as gs, nestedChildStackName as gt, keptWholeReasonText as h, WARM_THROUGHPUT_MEMBERS as ha, malformedOutputsRefusalMessage as hi, isExportAliasCollision as hn, recordProvenPublicExpression as ho, assertSendableRoleArn as hr, isMalformedEnvKey as hs, getNestedRevertRun as ht, childTemplateLoader as i, findSilentDropProperties as ia, nullPrototypeRecord as ic, malformedDriftResourcePropertiesWarning as ii, WITHHELD_NAME_DISPLAY as in, recoverMaskedOutput as io, observeThenDisableInstanceApiTermination as ir, buildDenyExternalAccessPolicy as is, sameJournaledOrphans as it, resolveDynamoDbDeleteBudgetMs as j, templateResourceTypes as ja, refuseMalformedOutputs as ji, planTagDiff as jn, hasReadableExportSet as jo, parameterTypeMayLoseSecretIdentity as jr, resolveApp as js, isJournaledOrphan as jt, deleteBudgetKey as k, requireConfigString as ka, refuseMalformedOrphansForDestroy as ki, DBPROXY_TAGS_WHAT as kn, describeRegionValueKind as ko, coerceParameterTypedValue as kr, getLegacyStateBucketName as ks, recordAfterRollbackUpdate as kt, templateIdentity as l, findReplacedReadersOfRecreateTargets as la, renderAssemblyPathEscape as lc, malformedLocalResourcesWarning as li, secretSafeKeyDisplay as ln, identityKeyFor as lo, IntrinsicFunctionResolver as lr, describeDockerFailure as ls, makeSiblingClaimReader as lt, isSecretBearingReferenceString as m, renderStatefulReason as ma, malformedOrphansWarning as mi, collectPublishedOutputNames as mn, recordNoEchoAttributeValues as mo, assertFlagRoleArn as mr, isDockerClientEnvKey as ms, dropSettledNestedJournals as mt, IMPLICIT_DELETE_DEPENDENCIES as n, unreadableResourceEntries as na, hasOwnKey as nc, isReadableOrphanRecord as ni, DeploymentEventsStore as nn, redactSecretsForState as no, ec2InstanceProtectionSite as nr, validateAssetBucketName as ns, journaledOrphanLines as nt, isAbsoluteAssetPath as o, withoutSilentDropProperties as oa, absoluteAssemblyPathEscape as oc, malformedExportSourceWarning as oi, exportAliasCollisionScrubWarning as on, dynamicReferenceTokens as oo, reEnableInstanceApiTermination as or, resolveDockerContextDirectory as os, maskEventTextWithBoundBags as ot, readRecordedConditionVerdicts as p, isStatefulRecreateTargetSync as pa, malformedOrphansRefusalMessage as pi, collectDeclaredOutputNames as pn, recordMaskOnlyValuesIn as po, applyRoleArnIfSet as pr, getDockerCmd as ps, displacedPhysicalIdShown as pt, green as q, printingCorpusOf as qa, refuseMalformedState as qi, ccProtectionRegistryTypes as qn, rewriteTemplateAssetReferences as qo, STATE_REGION_DIVERGED as qr, decodeListingKey as qs, refusesFinalSnapshot as qt, computeImplicitDeleteEdges as r, findActionableSilentDrops as ra, hasPlainPrototype$1 as rc, isReadableResourceEntry as ri, extractDeploymentEventError as rn, scrubResourceRecord as ro, isTerminationProtectionPropagationError as rr, validateContainerRepoName as rs, loadJournaledOrphans as rt, listNestedTemplateRows as s, NO_CC_HANDLERS_REASON as sa, describeFileReadFailure as sc, malformedLocalOutputsWarning as si, secretBearing as sn, isUncertifiedBaselineMaskPosition as so, DiffCalculator as sr, describeDockerCapturedOutput as ss, secretNamePrintingBag as st, DeployEngine as t, unreadableOrphanRecords as ta, defineOwnKey as tc, hasReadableResources as ti, DeploymentEventsReader as tn, markSameGenerationBag as to, disableInstanceApiTermination as tr, readBootstrapMarkerBody as ts, isHandledOrphan as tt, conditionFingerprint as u, shownType as ua, resolveAssemblyPath as uc, malformedOrphanRecordsRefusalMessage as ui, exportNameSecretExposure as un, carriesSecretMask as uo, classifyReplaySecretRegion as ur, dockerSpawnEnvWithSensitive as us, planOrphanAdoption as ut, withResourceDeadline as v, toCfnInteger as va, malformedResourceEntriesWarning as vi, DEFAULT_RESOURCE_WARN_AFTER_MS as vn, STATE_SOURCED_CROSS_GENERATION_RULES as vo, sendableAssumeRoleCommand as vr, redactedDockerCause as vs, revertNestedChildFromJournal as vt, readProtection as w, configStringRefusal as wa, refuseDivergentRecordRegionForDestroy as wi, earliestDefined as wn, isLockInfoExpired as wo, s3BucketArn as wr, AssetManifestLoader as ws, replayRollback as wt, PROTECTION_PROPERTY_BY_TYPE as x, coerceCfnInteger as xa, malformedScrubResourceEntriesRefusalMessage as xi, findDestructiveChanges as xn, WHOLE_DYNAMIC_REFERENCE_PATTERN as xo, callerEnvCredentials as xr, warnFinchArgvExposure as xs, getCurrentNestedStackContext as xt, recordedProtectionEvidence as y, toFiniteNumber as ya, malformedResourcePropertiesWarning as yi, maskingRetryLogger as yn, STATE_SOURCED_READBACK_RULES as yo, AWS_CREDENTIAL_ENV_KEYS as yr, runDockerForeground as ys, revertedNestedRowIds as yt, isTruthyCfnBoolean as z, liveMatchesUnresolvedTokenFrame as za, refuseMalformedResourceEntriesForOrphan as zi, ProviderRegistry as zn, shouldRetainResource as zo, cfnRefValueFromPhysicalId as zr, warnDeprecatedNoPrefixCliFlag as zs, inheritProducerRegions as zt };
37925
- //# sourceMappingURL=deploy-engine-Cm7z6aQk.js.map
37950
+ export { resourcesNamingDeclaredParameter as $, createSecretMasker as $a, repairMalformedResourceEntriesForReadOnly as $i, deleteSkipReason as $n, ensureAssetStorage as $o, deployRefusesOrphanRowsReason as $r, derivePartitionAndUrlSuffix as $s, effectiveDeletionPolicy as $t, resolveDynamoDbDeleteBudgetClock as A, requireConfigObject as Aa, refuseMalformedOrphans as Ai, acquireIdempotencyToken as An, acceptedCreateOnlyDropsOf as Ao, s3BucketWebsiteUrl as Ar, getDefaultStateBucketName as As, planRollback as At, getPriorAttempts as B, TemplateParser as Ba, refuseMalformedResourceEntriesForImportSave as Bi, CC_BROKEN_REASON as Bn, orphansCarriedFrom as Bo, AWS_NO_VALUE as Br, stateBucketExistenceConfirmed as Bs, updatePartialMessage as Bt, perType as C, coerceCfnInteger as Ca, malformedScrubResourceEntriesRefusalMessage as Ci, findDestructiveChanges as Cn, WHOLE_DYNAMIC_REFERENCE_PATTERN as Co, callerEnvCredentials as Cr, warnFinchArgvExposure as Cs, getStackRecords as Ct, beginDeleteWait as D, readConfigString as Da, refuseMalformedNestedChildOutputs as Di, ledgerForStack as Dn, S3StateBackend as Do, s3BucketDomainName as Dr, getDockerImageBySourceHash as Ds, isJournaledOrphan as Dt, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as E, configStringRefusal as Ea, refuseDivergentRecordRegionForDestroy as Ei, earliestDefined as En, isLockInfoExpired as Eo, s3BucketArn as Er, AssetManifestLoader as Es, demoteSupersededOrphans as Et, waitForIndexesSettled as F, withRetry as Fa, refuseMalformedResourceAttributesForOrphan as Fi, refuseMalformedDesiredTags as Fn, hasUnverifiableParameterRefusal as Fo, isImpossibleEmptyStoredAttribute as Fr, resolveCaptureObservedState as Fs, inheritProducerRegions as Ft, cyan as G, createUnionSecretMasker as Ga, refuseMalformedResourcePropertiesForOrphan as Gi, getCurrentResourceSecrets as Gn, WorkGraph as Go, withSharedDrainBudget as Gr, MIGRATE_TMP_PREFIX as Gs, orphanRecordsPrintingBag as Gt, formatResourceLine as H, inheritNestedStackParameterAssociations as Ha, refuseMalformedResourcePropertiesForDestroy as Hi, ccBrokenReason as Hn, AssetPublisher as Ho, isStalePlaceholderArnAttribute as Hr, ssmResolvedValueType as Hs, completedReplayEntries as Ht, ECR_AUTO_DELETE_IMAGES_TAG as I, canonicalLambdaFunctionName as Ia, refuseMalformedResourceEntries as Ii, tagMapAsList as In, importableOutputKeys as Io, carriesDynamicReference as Ir, resolveSkipPrefix as Is, REDACTED_DELETE_ADDRESS_SKIP_REASON as It, red as J, logOnlyValueCount as Ja, refuseMalformedResourcesForExport as Ji, slowCcOperationTimeoutMs as Jn, loadPublishableAssetManifest as Jo, JSON_LISTING_HOLE_VALUE as Jr, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as Js, ATOMIC_FINAL_SNAPSHOT_TYPES as Jt, gray as K, hasMaskableValues as Ka, refuseMalformedResourcesForDeploy as Ki, withPrintingSecrets as Kn, buildAssetRedirectMap as Ko, parameterInputsFor as Kr, findLargeInlineResources as Ks, secretNamePrintingBag as Kt, S3_AUTO_DELETE_OBJECTS_TAG as L, lambdaFunctionNameForMask as La, refuseMalformedResourceEntriesForDeploy as Li, tagPlanWarning as Ln, importableOutputs as Lo, carriesFetchableDynamicReference as Lr, resolveStateBucketWithDefault as Ls, isRedactedRecordedValue as Lt, DELETE_INDEX_WAIT_PROCEED_NOTE as M, prefetchCreateOnlyPropertyPaths as Ma, refuseMalformedOrphansForOrphan as Mi, DBPROXY_TAG_OPTIONS as Mn, exportNamesCarriedFrom as Mo, isUnboundTemplateParameter as Mr, loadCdkJson as Ms, resolveReplacementOldType as Mt, INDEX_SETTLE_POLL_INTERVAL_MS as N, templateResourceTypes as Na, refuseMalformedOutputs as Ni, planTagDiff as Nn, hasReadableExportSet as No, parameterTypeMayLoseSecretIdentity as Nr, resolveApp as Ns, findNestedStackTypeChanges as Nt, compensateRemovedDeletionProtection as O, replayWarn as Oa, refuseMalformedOrphanRecords as Oi, reserveStackCreateToken as On, rebuildClientForBucketRegion as Oo, s3BucketDualStackDomainName as Or, Synthesizer as Os, isReplacementOrphan as Ot, deleteTableWithIndexBusyRetry as P, describeTypeWithThrottleRetry as Pa, refuseMalformedOutputsForDestroy as Pi, readTagList as Pn, hasReasonlessBaselineRefusal as Po, getAccountInfo as Pr, resolveAutoAssetStorage as Ps, getCurrentProducerRegions as Pt, reachableDivergentParameters as Q, shareLogOnlyValues as Qa, repairMalformedOutputsForReadOnly as Qi, deleteIndeterminateGuards as Qn, assertAssetBucketRegion as Qo, UNREADABLE_RESOURCES_MAP_ROW as Qr, canonicalizeRegion as Qs, createPreDeleteFinalSnapshot as Qt, hasCdkAutoDeleteTag as R, sameLambdaFunctionAddress as Ra, refuseMalformedResourceEntriesForDestroy as Ri, definedAttributes as Rn, isReadableBag as Ro, isNamelessDynamicReferenceError as Rr, resolveStateBucketWithDefaultAndSource as Rs, redactedDeleteAddressFields as Rt, isProtectionValueActive as S, coerceCfnBoolean as Sa, malformedResourcesWarning as Si, constructPathOf as Sn, TEMPLATE_SOURCED_RULES as So, applyCallerIdentityCredentials as Sr, runDockerStreaming as Ss, destroyStackRecordsView as St, DynamoDBGlobalTableProvider as T, configIntegerRefusal as Ta, previewableOrphanRecords as Ti, RollbackInlinePolicyWriters as Tn, LockManager as To, isSettledInstanceState as Tr, stripControlChars as Ts, recordAfterRollbackUpdate as Tt, createReadOnlyAttributeHealerFactory as U, recordNestedStackParameterExpressions as Ua, refuseMalformedResourcePropertiesForDrift as Ui, wouldReturnToSdkProvider as Un, isSensitiveAttributeName as Uo, refStateLookupFromResource as Ur, CFN_TEMPLATE_BODY_LIMIT as Us, journaledOrphanPrintingBag as Ut, markRefusedBeforeApplying as V, liveMatchesUnresolvedTokenFrame as Va, refuseMalformedResourceEntriesForOrphan as Vi, ProviderRegistry as Vn, shouldRetainResource as Vo, cfnRefValueFromPhysicalId as Vr, warnDeprecatedNoPrefixCliFlag as Vs, updatePartialReason as Vt, bold as W, carryLogOnlyValues as Wa, refuseMalformedResourcePropertiesForExport as Wi, isCustomResourceType as Wn, stringifyValue as Wo, parseWebACLArn as Wr, CFN_TEMPLATE_URL_LIMIT as Ws, maskEventTextWithBoundBags as Wt, computeParameterTaint as X, recordLogOnlyParameterValue as Xa, repairMalformedOrphanRecordsForReadOnly as Xi, unchangedBehindSecretReference as Xn, AssetModeResolver as Xo, STATE_RESOURCES_MALFORMED as Xr, expectedOwnerParam as Xs, buildFinalSnapshotIdentifier as Xt, yellow as Y, printingCorpusOf as Ya, refuseMalformedState as Yi, ccProtectionRegistryTypes as Yn, rewriteTemplateAssetReferences as Yo, STATE_REGION_DIVERGED as Yr, decodeListingKey as Ys, PRE_DELETE_SNAPSHOT_TYPES as Yt, namesAnyDeclaredParameter as Z, recordLogOnlyValue as Za, repairMalformedOrphansForReadOnly as Zi, UNSPECIFIED_SKIP_REASON as Zn, BOOTSTRAP_MARKER_PREFIX as Zo, UNREADABLE_ORPHANS_CONTAINER_ROW as Zr, PARTITION_TABLE as Zs, ccRoutedFinalSnapshotError as Zt, makeCanonicalizePropertiesFn as _, WARM_THROUGHPUT_MEMBERS as _a, malformedOutputsRefusalMessage as _i, isExportAliasCollision as _n, recordProvenPublicExpression as _o, assertSendableRoleArn as _r, isMalformedEnvKey as _s, getCurrentNestedStackContext as _t, findNestedTemplateTreeDefect as a, findActionableSilentDrops as aa, hasPlainPrototype$1 as ac, isReadableResourceEntry as ai, extractDeploymentEventError as an, scrubResourceRecord as ao, isTerminationProtectionPropagationError as ar, validateContainerRepoName as as, makeSiblingClaimReader as at, recordedProtectionNote as b, toCfnInteger as ba, malformedResourceEntriesWarning as bi, DEFAULT_RESOURCE_WARN_AFTER_MS as bn, STATE_SOURCED_CROSS_GENERATION_RULES as bo, sendableAssumeRoleCommand as br, redactedDockerCause as bs, replayRollback as bt, renderNestedTemplateTreeDefect as c, withoutSilentDropProperties as ca, absoluteAssemblyPathEscape as cc, malformedExportSourceWarning as ci, exportAliasCollisionScrubWarning as cn, dynamicReferenceTokens as co, reEnableInstanceApiTermination as cr, resolveDockerContextDirectory as cs, displacedOpClause as ct, conditionInputsFrom as d, findReplacedReadersOfRecreateTargets as da, renderAssemblyPathEscape as dc, malformedLocalResourcesWarning as di, secretSafeKeyDisplay as dn, identityKeyFor as do, IntrinsicFunctionResolver as dr, describeDockerFailure as ds, getNestedRevertRun as dt, repairMalformedResourcePropertiesForReadOnly as ea, AssemblyReader as ec, displayLogicalId as ei, isFinalSnapshotError as en, errorCauseChain as eo, withIndeterminateGuard as er, getBootstrapMarkerKey as es, deleteJournaledOrphans as et, parentSuppliedValues as f, shownType as fa, resolveAssemblyPath as fc, malformedOrphanRecordsRefusalMessage as fi, exportNameSecretExposure as fn, carriesSecretMask as fo, classifyReplaySecretRegion as fr, dockerSpawnEnvWithSensitive as fs, nestedChildStackName as ft, mergeNoChangeOutputs as g, renderStatefulReason as ga, malformedOrphansWarning as gi, collectPublishedOutputNames as gn, recordNoEchoAttributeValues as go, assertFlagRoleArn as gr, isDockerClientEnvKey as gs, withNestedRevertRun as gt, keptWholeReasonText as h, isStatefulRecreateTargetSync as ha, malformedOrphansRefusalMessage as hi, collectDeclaredOutputNames as hn, recordMaskOnlyValuesIn as ho, applyRoleArnIfSet as hr, getDockerCmd as hs, revertedNestedRowIds as ht, childTemplateLoader as i, unreadableResourceEntries as ia, hasOwnKey as ic, isReadableOrphanRecord as ii, DeploymentEventsStore as in, redactSecretsForState as io, ec2InstanceProtectionSite as ir, validateAssetBucketName as is, sameJournaledOrphans as it, resolveDynamoDbDeleteBudgetMs as j, requireConfigString as ja, refuseMalformedOrphansForDestroy as ji, DBPROXY_TAGS_WHAT as jn, describeRegionValueKind as jo, coerceParameterTypedValue as jr, getLegacyStateBucketName as js, replacementNeverSwapped as jt, deleteBudgetKey as k, requireConfigArray as ka, refuseMalformedOrphanRecordsForDestroy as ki, withCreateTokenLedger as kn, splitImportedOps as ko, s3BucketRegionalDomainName as kr, synthesisStatusMessage as ks, planFailedOps as kt, templateIdentity as l, NO_CC_HANDLERS_REASON as la, describeFileReadFailure as lc, malformedLocalOutputsWarning as li, secretBearing as ln, isUncertifiedBaselineMaskPosition as lo, DiffCalculator as lr, describeDockerCapturedOutput as ls, displacedPhysicalIdShown as lt, isSecretBearingReferenceString as m, isStatefulRecreateTargetForReplace as ma, resolveBucketRegion as mc, malformedOrphanRowsKeptWarning as mi, noEchoParameterValueSeed as mn, recordMaskOnlyValue as mo, regionLessSecretName as mr, formatDockerLoginError as ms, revertNestedChildFromJournal as mt, IMPLICIT_DELETE_DEPENDENCIES as n, unpreviewableOrphanRecords as na, processStackMessages as nc, hasReadableOutputs as ni, unsupportedFinalSnapshotError as nn, maskSecretsInText as no, markWaitAbandoned as nr, parseBootstrapMarker as ns, journaledOrphanLines as nt, isAbsoluteAssetPath as o, findSilentDropProperties as oa, nullPrototypeRecord as oc, malformedDriftResourcePropertiesWarning as oi, WITHHELD_NAME_DISPLAY as on, recoverMaskedOutput as oo, observeThenDisableInstanceApiTermination as or, buildDenyExternalAccessPolicy as os, planOrphanAdoption as ot, readRecordedConditionVerdicts as p, MULTI_REGION_RECREATE_BLOCKED_TYPES as pa, clearBucketRegionCache as pc, malformedOrphanRecordsWarning as pi, isWholeDynamicReferenceValue as pn, provenPublicValue as po, producerRegionsFromState as pr, finchSecretArgvRefusal as ps, recordDisplacedSkips as pt, green as q, literalSplitDelimitersOf as qa, refuseMalformedResourcesForDestroy as qi, CloudControlProvider as qn, createAssetRedirectResolver as qo, passedParameterClassesOf as qr, uploadCfnTemplate as qs, stateSecretNameNeedles as qt, computeImplicitDeleteEdges as r, unreadableOrphanRecords as ra, defineOwnKey as rc, hasReadableResources as ri, DeploymentEventsReader as rn, markSameGenerationBag as ro, disableInstanceApiTermination as rr, readBootstrapMarkerBody as rs, loadJournaledOrphans as rt, listNestedTemplateRows as s, unwrittenCreateOnlyReplacement as sa, ownValue as sc, malformedExportNamesWarning as si, displayTextOrWithheld as sn, DYNAMIC_REFERENCE_TOKEN_SCAN as so, reDisableInstanceApiTermination as sr, buildDockerImage as ss, NESTED_PENDING_PARENT_REASON as st, DeployEngine as t, repairMalformedResourcesForReadOnly as ta, StageLoadError as tc, hasReadableOrphans as ti, refusesFinalSnapshot as tn, maskSecretsInError as to, isWaitAbandonedError as tr, isCrossRegionRedirect as ts, isHandledOrphan as tt, conditionFingerprint as u, hasNoCloudControlHandlers as ua, displayAssemblyPath as uc, malformedLocalResourceEntriesWarning as ui, secretBearingStateKeyWarning as un, pathCrossesDottedKey as uo, INTRINSIC_KEYS as ur, describeDockerExecFailure as us, dropSettledNestedJournals as ut, withResourceDeadline as v, coerceWarmThroughput as va, malformedOutputsWarning as vi, bindingSkippedOutputs as vn, wholeStringLeavesOf as vo, explicitRoleArnOrThrow as vr, partitionSensitiveEnv as vs, withNestedStackContext as vt, readProtection as w, configBooleanRefusal as wa, malformedStateRefusalMessage as wi, formatDestructiveChange as wn, isSingleDynamicReferenceToken as wo, envCredentialsAreAssumedRole as wr, escapeRegExp$3 as ws, withStackRecords as wt, PROTECTION_PROPERTY_BY_TYPE as x, toFiniteNumber as xa, malformedResourcePropertiesWarning as xi, maskingRetryLogger as xn, STATE_SOURCED_READBACK_RULES as xo, AWS_CREDENTIAL_ENV_KEYS as xr, runDockerForeground as xs, awaitInFlightSibling as xt, recordedProtectionEvidence as y, isWarmThroughputDecrease as ya, malformedRenderedContainersWarning as yi, DEFAULT_RESOURCE_TIMEOUT_MS as yn, STATE_SOURCED_BASELINE_RULES as yo, isIamRoleArn as yr, redactDockerArgvValues as ys, replayFailedOperations as yt, isTruthyCfnBoolean as z, DagBuilder as za, refuseMalformedResourceEntriesForImport as zi, stringifyIfAssigned as zn, orphansAfterRollback as zo, keepsSecretReferenceToken as zr, resolveUseCdkBootstrapAssets as zs, redactedDeleteAddressSkip as zt };
37951
+ //# sourceMappingURL=deploy-engine-BPcBCyUE.js.map