@go-to-k/cdkd 0.294.11 → 0.294.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{asg-provider-CbHiTBaE.js → asg-provider-m6f7Veu0.js} +2 -2
- package/dist/{asg-provider-CbHiTBaE.js.map → asg-provider-m6f7Veu0.js.map} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{deploy-engine-CMRU0DTu.js → deploy-engine-C35Ctso3.js} +139 -36
- package/dist/deploy-engine-C35Ctso3.js.map +1 -0
- package/dist/{iam-role-provider-DOKKlLrC.js → iam-role-provider-RxwjP_RR.js} +2 -2
- package/dist/{iam-role-provider-DOKKlLrC.js.map → iam-role-provider-RxwjP_RR.js.map} +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/{neptune-provider-CS-r4Ufj.js → neptune-provider-B_OxkCXj.js} +2 -2
- package/dist/{neptune-provider-CS-r4Ufj.js.map → neptune-provider-B_OxkCXj.js.map} +1 -1
- package/dist/{program-dQFaGjL1.js → program-DYHFlQNn.js} +4 -4
- package/dist/{program-dQFaGjL1.js.map → program-DYHFlQNn.js.map} +1 -1
- package/dist/{provider-classes-5NUmLSTV.js → provider-classes-ijSUb9a0.js} +7 -7
- package/dist/{provider-classes-5NUmLSTV.js.map → provider-classes-ijSUb9a0.js.map} +1 -1
- package/dist/{rds-provider-l9F4Y8YY.js → rds-provider-DAe7XFvF.js} +2 -2
- package/dist/{rds-provider-l9F4Y8YY.js.map → rds-provider-DAe7XFvF.js.map} +1 -1
- package/dist/{version-DIQcU8CA.js → version-D_N3IrrJ.js} +2 -2
- package/dist/{version-DIQcU8CA.js.map → version-D_N3IrrJ.js.map} +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-CMRU0DTu.js.map +0 -1
|
@@ -2,7 +2,7 @@ import { r as getAwsClients, s as __exportAll } from "./aws-clients-CnmtbrxD.js"
|
|
|
2
2
|
import { A as displaySafe, E as UNRENDERABLE, F as safeMsg, L as truncateCodePoints, M as isPasteableIdent, O as displayAwsMessage, P as plainIdentOr, S as withoutGeneratedFallbackName, T as STACK_REF_MAX_CODE_POINTS, _ as getCurrentSkipPrefix, b as withSkipPrefix, c as getLiveRenderer, f as applyDefaultNameForFallback, g as generateResourceNameWithFallback, h as generateResourceName, j as displayStackName, k as displayIdent, m as explicitNamePropertyFor, n as getLogger, r as isStdoutReservedForPayload, s as installLogLineMaskerSource, v as getCurrentStackName, w as SECRET_REF_MAX_CODE_POINTS, x as withStackName, y as looksLikeCdkdGeneratedName } from "./logger-B46YMG0h.js";
|
|
3
3
|
import { $t as StateError, A as isTerminalDeleteFailure, An as isAmbiguousCcHandlerErrorCode, At as clientDefaultsFor, Bn as isMarkedNonRetryable, Bt as IntrinsicResolutionRefusalError, C as refusalTypeShown, Cn as isNameCollisionErrorFrom, D as ProtectionFlipRegistry, Dt as withPasteableAwsProfile, En as isReplayedNameCollisionFrom, Fn as retryClassificationText, Gt as MalformedProducerRecordRefusalError, H as pasteableAwsCommand, Hn as markNonRetryable, In as describeAwsFailure, It as CrossAccountSecretRefusalError, J as isInterruptedWaitError, Jt as ProvisioningError, Lt as DependencyError, M as observeThenDisableProtection, Mn as isIamPropagationError, Mt as AccountIdUnavailableError, N as protectionFlipKey, Nn as isRetryableTransientError, Nt as AssetError, O as compensateProtectionFlip, On as markReplayMayCollide, Ot as ambientClientDefaults, Pn as isTransientServerError, Pt as CdkdError, Q as canonicalizeRoute53QueryName, R as DELETION_PROTECTION_DOC_POINTER, Rn as safeStringify$1, S as quotedRemedyLogicalId, Sn as hasReplayMayCollide, St as injectiveKey, T as resolveExplicitPhysicalId, Tn as isRecreateRetryableError, Tt as producerRecordKey, U as protectedReplacementAdvice, Un as markRedactedCause, Ut as LockError, Vn as isThrottlingError, Wn as wrapMaskedAwsError, Wt as MacroExpansionError, X as ElapsedBudgetRegistry, Xt as ResourceUpdateNotSupportedError, Y as startInterruptWatch, Yt as ResourceTimeoutError, Z as monotonicNowMs, _n as shellQuote, _t as formatLockOperation, at as segmentAfterAnchor, b as isQuotableImportValue, bt as CUSTOM_RESOURCE_RESPONSE_PREFIX, cn as UNSHOWABLE_VALUE, ct as isSecretDerivedValue, d as prepareRemovalForUpdate, dn as isInertUnquoted, dt as withDerivedNameMasks, en as SynthesisError, et as compositeIdSeparatorRefusal, f as removalWarning, fn as pasteableCommand, ft as UNREPRODUCIBLE_LOCK_CLAUSE, g as assertRegionMatch, gn as shellBoundedDisplay, gt as formatLockExpiry, h as RESOURCE_NOT_FOUND, hn as quotedOrDescribed, i as holdsSecretDerivedEntry, it as resourceTypeShown, jn as isAmbiguousOutcomeError, jt as credentialFingerprint, k as deleteWithProtectionCompensation, kn as formatRetryClassificationSignals, kt as ambientCredentialConfig, l as withUnchangedSecretPrincipalLists, ln as commandHole, lt as maskDeep, m as withoutInjectedRemovals, mn as plainOrDescribed, nt as logicalIdShown, on as SHELL_ACTIVE, ot as createMaskedLogSinks, pn as physicalIdShownBesideCommand, pt as buildForceUnlockCommand, rn as normalizeAwsError, sn as SHELL_ACTIVE_WHY, st as createMaskedRetryLogger, ut as maskerOrIdentity, vn as withheldTargetClause, vt as formatLockOwner, wn as isNameCooldownError, x as normalizeAwsTagsToCfn, xn as isUpdateUnsupportedError, xt as DEFAULT_STATE_PREFIX, yt as sanitizeRecoveryValue, zt as DynamicReferenceRegionAmbiguousError } from "./iam-policy-targets-CMSQGQnm.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-
|
|
5
|
+
import { t as getCdkdVersion } from "./version-D_N3IrrJ.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";
|
|
@@ -21828,7 +21828,7 @@ var CloudControlProvider = class {
|
|
|
21828
21828
|
const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
|
|
21829
21829
|
if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
|
|
21830
21830
|
this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
|
|
21831
|
-
const { ASGProvider } = await import("./asg-provider-
|
|
21831
|
+
const { ASGProvider } = await import("./asg-provider-m6f7Veu0.js");
|
|
21832
21832
|
const delegateRegion = ambientRegion();
|
|
21833
21833
|
let asgProvider = this.asgDeleteDelegates.get(delegateRegion);
|
|
21834
21834
|
if (asgProvider === void 0) {
|
|
@@ -21934,7 +21934,7 @@ var CloudControlProvider = class {
|
|
|
21934
21934
|
const family = SDK_DELETE_FAMILIES.get(resourceType);
|
|
21935
21935
|
const cached = this.sdkDeleteDelegates.get(family);
|
|
21936
21936
|
if (cached !== void 0 && cached.region === ccRegion) return cached.provider;
|
|
21937
|
-
const provider = family === "rds" ? new (await (import("./rds-provider-
|
|
21937
|
+
const provider = family === "rds" ? new (await (import("./rds-provider-DAe7XFvF.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-B_OxkCXj.js"))).NeptuneProvider({ region: ccRegion });
|
|
21938
21938
|
this.sdkDeleteDelegates.set(family, {
|
|
21939
21939
|
region: ccRegion,
|
|
21940
21940
|
provider
|
|
@@ -27397,11 +27397,25 @@ const nonEmptyString = (v) => typeof v === "string" && v.length > 0;
|
|
|
27397
27397
|
|
|
27398
27398
|
//#endregion
|
|
27399
27399
|
//#region src/deployment/rollback-executor/messages.ts
|
|
27400
|
-
function throwIfDeleteSkipped(result, logicalId, physicalId, duringClause) {
|
|
27400
|
+
function throwIfDeleteSkipped(result, logicalId, physicalId, duringClause, guardScope) {
|
|
27401
|
+
recordRollbackDeleteGuards(result, logicalId, physicalId, guardScope);
|
|
27401
27402
|
const reason = deleteSkipReason(result);
|
|
27402
27403
|
if (reason === void 0) return;
|
|
27403
27404
|
throw new Error(deleteSkippedMessage(logicalId, physicalId, reason, duringClause));
|
|
27404
27405
|
}
|
|
27406
|
+
function recordRollbackDeleteGuards(result, logicalId, physicalId, scope) {
|
|
27407
|
+
for (const guard of deleteIndeterminateGuards(result)) scope.ctx.recordEvent?.({
|
|
27408
|
+
eventType: "RESOURCE_GUARD_INDETERMINATE",
|
|
27409
|
+
stackName: scope.stackName,
|
|
27410
|
+
operation: "DELETE",
|
|
27411
|
+
logicalId,
|
|
27412
|
+
resourceType: scope.resourceType,
|
|
27413
|
+
...scope.provisionedBy && { provisionedBy: scope.provisionedBy },
|
|
27414
|
+
...physicalId && { physicalId: scope.mask(physicalId) },
|
|
27415
|
+
guard: guard.guard,
|
|
27416
|
+
reason: scope.mask(guard.reason)
|
|
27417
|
+
});
|
|
27418
|
+
}
|
|
27405
27419
|
const SKIP_FINAL_SNAPSHOT_FLAG = "--skip-final-snapshot";
|
|
27406
27420
|
const REPLAYING_STATE_CREATE_CONTEXT = { replayingState: true };
|
|
27407
27421
|
function replayingStateCreateContext(secrets) {
|
|
@@ -28286,7 +28300,7 @@ async function replayDelete(s) {
|
|
|
28286
28300
|
let finalSnapshotIdentifier;
|
|
28287
28301
|
if (takeFinalSnapshot) finalSnapshotIdentifier = await prepareCreateRollbackFinalSnapshot(op, deleteProvisionedBy, ctx, mask);
|
|
28288
28302
|
logger.info(` Rollback: Deleting created resource ${safe(op.logicalId)} (${safe(op.resourceType)})` + (takeFinalSnapshot ? " — DeletionPolicy: Snapshot" : "") + (snapshotPolicy && !takeFinalSnapshot ? " — DeletionPolicy: Snapshot NOT taken (--skip-final-snapshot)" : ""));
|
|
28289
|
-
const { provider } = ctx.providerRegistry.getProviderFor({
|
|
28303
|
+
const { provider, provisionedBy: deleteRoutedVia } = ctx.providerRegistry.getProviderFor({
|
|
28290
28304
|
resourceType: op.resourceType,
|
|
28291
28305
|
provisionedBy: deleteProvisionedBy
|
|
28292
28306
|
});
|
|
@@ -28299,7 +28313,13 @@ async function replayDelete(s) {
|
|
|
28299
28313
|
deletionPolicy: snapshotPolicy ? "Snapshot" : "Delete",
|
|
28300
28314
|
recordedAttributes: stateResources[op.logicalId]?.attributes
|
|
28301
28315
|
});
|
|
28302
|
-
throwIfDeleteSkipped(createRollbackDelete, op.logicalId, op.physicalId, "while rolling back its CREATE"
|
|
28316
|
+
throwIfDeleteSkipped(createRollbackDelete, op.logicalId, op.physicalId, "while rolling back its CREATE", {
|
|
28317
|
+
ctx,
|
|
28318
|
+
stackName,
|
|
28319
|
+
resourceType: op.resourceType,
|
|
28320
|
+
provisionedBy: deleteRoutedVia,
|
|
28321
|
+
mask
|
|
28322
|
+
});
|
|
28303
28323
|
delete stateResources[op.logicalId];
|
|
28304
28324
|
logger.info(` Rollback: ${safe(op.logicalId)} deleted successfully`);
|
|
28305
28325
|
await afterOp?.(op.logicalId);
|
|
@@ -28327,7 +28347,7 @@ async function replayReadopt(s) {
|
|
|
28327
28347
|
survivorReason = survivorMessages.reason;
|
|
28328
28348
|
result.warnings++;
|
|
28329
28349
|
} else {
|
|
28330
|
-
const { provider: newDeleteProvider } = ctx.providerRegistry.getProviderFor({
|
|
28350
|
+
const { provider: newDeleteProvider, provisionedBy: newDeleteVia } = ctx.providerRegistry.getProviderFor({
|
|
28331
28351
|
resourceType: op.resourceType,
|
|
28332
28352
|
provisionedBy: current.provisionedBy ?? op.provisionedBy
|
|
28333
28353
|
});
|
|
@@ -28340,7 +28360,13 @@ async function replayReadopt(s) {
|
|
|
28340
28360
|
deletionPolicy: replacementDeletePolicy(current.updateReplacePolicy),
|
|
28341
28361
|
recordedAttributes: current.attributes
|
|
28342
28362
|
});
|
|
28343
|
-
throwIfDeleteSkipped(readoptDelete, op.logicalId, current.physicalId, "while reversing its replacement (re-adopting the retained old resource)"
|
|
28363
|
+
throwIfDeleteSkipped(readoptDelete, op.logicalId, current.physicalId, "while reversing its replacement (re-adopting the retained old resource)", {
|
|
28364
|
+
ctx,
|
|
28365
|
+
stackName,
|
|
28366
|
+
resourceType: op.resourceType,
|
|
28367
|
+
provisionedBy: newDeleteVia,
|
|
28368
|
+
mask
|
|
28369
|
+
});
|
|
28344
28370
|
}
|
|
28345
28371
|
stateResources[op.logicalId] = prev;
|
|
28346
28372
|
logger.info(` Rollback: ${safe(op.logicalId)} restored to the retained old resource`);
|
|
@@ -28485,10 +28511,17 @@ async function replayReverseReplacement(s) {
|
|
|
28485
28511
|
physicalId: prev.physicalId,
|
|
28486
28512
|
via: createProvisionedBy
|
|
28487
28513
|
}, logger, mask, true);
|
|
28488
|
-
const
|
|
28514
|
+
const resolveNewDeleteRoute = () => ctx.providerRegistry.getProviderFor({
|
|
28489
28515
|
resourceType: op.resourceType,
|
|
28490
28516
|
provisionedBy: current.provisionedBy ?? op.provisionedBy
|
|
28491
|
-
})
|
|
28517
|
+
});
|
|
28518
|
+
const newDeleteGuardScope = (provisionedBy) => ({
|
|
28519
|
+
ctx,
|
|
28520
|
+
stackName,
|
|
28521
|
+
resourceType: op.resourceType,
|
|
28522
|
+
provisionedBy,
|
|
28523
|
+
mask
|
|
28524
|
+
});
|
|
28492
28525
|
const newCopyClaimed = inlinePolicyWriters.claimedFor(op.resourceType, op.logicalId, stateResources);
|
|
28493
28526
|
let deletedNewFirst = false;
|
|
28494
28527
|
let createResult;
|
|
@@ -28526,13 +28559,14 @@ async function replayReverseReplacement(s) {
|
|
|
28526
28559
|
logger.info(` Rollback: re-create collided with the new resource's name — deleting the new resource (${displaySafe(mask(current.physicalId))}) first...` + (typeChanged ? ` (this op changed the resource's Type, ${safe(op.resourceType)} -> ${safe(oldType)}, which share a name space)` : ""));
|
|
28527
28560
|
{
|
|
28528
28561
|
const finalSnapshotIdentifier = rollbackFinalSnapshotId(op.resourceType, current, op.provisionedBy);
|
|
28529
|
-
const
|
|
28562
|
+
const deleteNewFirstRoute = resolveNewDeleteRoute();
|
|
28563
|
+
const deleteNewFirst = await deleteNewFirstRoute.provider.delete(op.logicalId, current.physicalId, op.resourceType, current.properties, {
|
|
28530
28564
|
expectedRegion: ctx.region,
|
|
28531
28565
|
...finalSnapshotIdentifier !== void 0 && { finalSnapshotIdentifier },
|
|
28532
28566
|
deletionPolicy: replacementDeletePolicy(current.updateReplacePolicy),
|
|
28533
28567
|
recordedAttributes: current.attributes
|
|
28534
28568
|
});
|
|
28535
|
-
throwIfDeleteSkipped(deleteNewFirst, op.logicalId, current.physicalId, "while clearing the new resource so the old one could be re-created");
|
|
28569
|
+
throwIfDeleteSkipped(deleteNewFirst, op.logicalId, current.physicalId, "while clearing the new resource so the old one could be re-created", newDeleteGuardScope(deleteNewFirstRoute.provisionedBy));
|
|
28536
28570
|
}
|
|
28537
28571
|
deletedNewFirst = true;
|
|
28538
28572
|
delete stateResources[op.logicalId];
|
|
@@ -28591,14 +28625,15 @@ async function replayReverseReplacement(s) {
|
|
|
28591
28625
|
await noteRetainedResource(op.resourceType, op.logicalId);
|
|
28592
28626
|
} else if (!deletedNewFirst && !adoptedLiveNewResource) try {
|
|
28593
28627
|
const finalSnapshotIdentifier = rollbackFinalSnapshotId(op.resourceType, current, op.provisionedBy);
|
|
28594
|
-
const
|
|
28628
|
+
const deleteNewAfterRecreateRoute = resolveNewDeleteRoute();
|
|
28629
|
+
const deleteNewAfterRecreate = await deleteNewAfterRecreateRoute.provider.delete(op.logicalId, current.physicalId, op.resourceType, current.properties, {
|
|
28595
28630
|
expectedRegion: ctx.region,
|
|
28596
28631
|
...newCopyClaimed && { inlinePolicyClaimed: newCopyClaimed },
|
|
28597
28632
|
...finalSnapshotIdentifier !== void 0 && { finalSnapshotIdentifier },
|
|
28598
28633
|
deletionPolicy: replacementDeletePolicy(current.updateReplacePolicy),
|
|
28599
28634
|
recordedAttributes: current.attributes
|
|
28600
28635
|
});
|
|
28601
|
-
throwIfDeleteSkipped(deleteNewAfterRecreate, op.logicalId, current.physicalId, "while deleting the new resource after re-creating the old one");
|
|
28636
|
+
throwIfDeleteSkipped(deleteNewAfterRecreate, op.logicalId, current.physicalId, "while deleting the new resource after re-creating the old one", newDeleteGuardScope(deleteNewAfterRecreateRoute.provisionedBy));
|
|
28602
28637
|
} catch (deleteError) {
|
|
28603
28638
|
logger.warn(mask(` Rollback: old ${safe(op.logicalId)} re-created, but deleting the new resource (${displaySafe(mask(current.physicalId))}) failed: ${displaySafe(deleteError instanceof Error ? deleteError.message : String(deleteError))}. Delete it manually — it is no longer tracked in state.`));
|
|
28604
28639
|
survivorReason = `The replacement's new ${op.resourceType} (${current.physicalId}) could not be deleted after the old resource was re-created: ${deleteError instanceof Error ? deleteError.message : String(deleteError)}. It is live, still billing, and no longer tracked by cdkd — delete it yourself.`;
|
|
@@ -28891,7 +28926,7 @@ async function replayFailedOperationsUnbound(failedOps, stateResources, stackNam
|
|
|
28891
28926
|
let finalSnapshotIdentifier;
|
|
28892
28927
|
if (takeFinalSnapshot) finalSnapshotIdentifier = await prepareCreateRollbackFinalSnapshot(op, deleteProvisionedBy, ctx, mask);
|
|
28893
28928
|
logger.info(` Rollback: deleting partially-created ${safe(op.logicalId)} (${safe(op.resourceType)}) (--revert-failed)` + (takeFinalSnapshot ? " — DeletionPolicy: Snapshot" : "") + (snapshotPolicy && !takeFinalSnapshot ? " — DeletionPolicy: Snapshot NOT taken (--skip-final-snapshot)" : ""));
|
|
28894
|
-
const { provider } = ctx.providerRegistry.getProviderFor({
|
|
28929
|
+
const { provider, provisionedBy: deleteRoutedVia } = ctx.providerRegistry.getProviderFor({
|
|
28895
28930
|
resourceType: op.resourceType,
|
|
28896
28931
|
provisionedBy: deleteProvisionedBy
|
|
28897
28932
|
});
|
|
@@ -28904,7 +28939,13 @@ async function replayFailedOperationsUnbound(failedOps, stateResources, stackNam
|
|
|
28904
28939
|
deletionPolicy: snapshotPolicy ? "Snapshot" : "Delete",
|
|
28905
28940
|
recordedAttributes: stateResources[op.logicalId]?.attributes
|
|
28906
28941
|
});
|
|
28907
|
-
throwIfDeleteSkipped(failedCreateDelete, op.logicalId, op.physicalId, "while deleting the partially-created resource (--revert-failed)"
|
|
28942
|
+
throwIfDeleteSkipped(failedCreateDelete, op.logicalId, op.physicalId, "while deleting the partially-created resource (--revert-failed)", {
|
|
28943
|
+
ctx,
|
|
28944
|
+
stackName,
|
|
28945
|
+
resourceType: op.resourceType,
|
|
28946
|
+
provisionedBy: deleteRoutedVia,
|
|
28947
|
+
mask
|
|
28948
|
+
});
|
|
28908
28949
|
delete stateResources[op.logicalId];
|
|
28909
28950
|
await options.afterOp?.(op.logicalId);
|
|
28910
28951
|
ctx.recordEvent?.({
|
|
@@ -29024,22 +29065,22 @@ async function replayFailedOperations(...args) {
|
|
|
29024
29065
|
|
|
29025
29066
|
//#endregion
|
|
29026
29067
|
//#region src/provisioning/nested-stack-context.ts
|
|
29027
|
-
const storage = new AsyncLocalStorage();
|
|
29068
|
+
const storage$1 = new AsyncLocalStorage();
|
|
29028
29069
|
function withNestedStackContext(ctx, fn) {
|
|
29029
|
-
return storage.run(ctx, fn);
|
|
29070
|
+
return storage$1.run(ctx, fn);
|
|
29030
29071
|
}
|
|
29031
29072
|
function getCurrentNestedStackContext() {
|
|
29032
|
-
return storage.getStore();
|
|
29073
|
+
return storage$1.getStore();
|
|
29033
29074
|
}
|
|
29034
29075
|
async function collectNestedChildUnaddressed(fn) {
|
|
29035
|
-
const ctx = storage.getStore();
|
|
29076
|
+
const ctx = storage$1.getStore();
|
|
29036
29077
|
if (!ctx) return {
|
|
29037
29078
|
value: await fn(),
|
|
29038
29079
|
unaddressed: void 0
|
|
29039
29080
|
};
|
|
29040
29081
|
const slot = {};
|
|
29041
29082
|
return {
|
|
29042
|
-
value: await storage.run({
|
|
29083
|
+
value: await storage$1.run({
|
|
29043
29084
|
...ctx,
|
|
29044
29085
|
childUnaddressed: slot
|
|
29045
29086
|
}, fn),
|
|
@@ -30292,6 +30333,24 @@ const cyan = (s) => `${codes.cyan}${s}${codes.reset}`;
|
|
|
30292
30333
|
const gray = (s) => `${codes.gray}${s}${codes.reset}`;
|
|
30293
30334
|
const bold = (s) => `${codes.bright}${s}${codes.reset}`;
|
|
30294
30335
|
|
|
30336
|
+
//#endregion
|
|
30337
|
+
//#region src/deployment/delete-guard-scope.ts
|
|
30338
|
+
const storage = new AsyncLocalStorage();
|
|
30339
|
+
function collectDeleteGuards(sink, fn) {
|
|
30340
|
+
return storage.run(sink, fn);
|
|
30341
|
+
}
|
|
30342
|
+
function reportDeleteGuards(result, target) {
|
|
30343
|
+
const sink = storage.getStore();
|
|
30344
|
+
if (!sink) return;
|
|
30345
|
+
for (const guard of deleteIndeterminateGuards(result)) sink.push({
|
|
30346
|
+
guard: guard.guard,
|
|
30347
|
+
reason: guard.reason,
|
|
30348
|
+
physicalId: target.physicalId,
|
|
30349
|
+
resourceType: target.resourceType,
|
|
30350
|
+
...target.provisionedBy && { provisionedBy: target.provisionedBy }
|
|
30351
|
+
});
|
|
30352
|
+
}
|
|
30353
|
+
|
|
30295
30354
|
//#endregion
|
|
30296
30355
|
//#region src/deployment/deploy-engine/replacement.ts
|
|
30297
30356
|
function replacementDeleteContext(updateReplacePolicy) {
|
|
@@ -30310,7 +30369,7 @@ async function prepareFinalSnapshotForDelete(logicalId, resourceType, currentRes
|
|
|
30310
30369
|
}
|
|
30311
30370
|
throw unsupportedFinalSnapshotError(logicalId, resourceType, "--skip-final-snapshot");
|
|
30312
30371
|
}
|
|
30313
|
-
async function replaceDeleteFirstAndRecreate(logicalId, resourceType, oldResourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, secrets, updateReplacePolicy) {
|
|
30372
|
+
async function replaceDeleteFirstAndRecreate(logicalId, resourceType, oldResourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, secrets, updateReplacePolicy, oldDeleteProvisionedBy) {
|
|
30314
30373
|
const createContext = { maskSecrets: createSecretMasker(secrets) };
|
|
30315
30374
|
const finalSnapshotIdentifier = await this.prepareFinalSnapshotForDelete(logicalId, oldResourceType, currentResource, updateReplacePolicy);
|
|
30316
30375
|
let deleteResult;
|
|
@@ -30325,6 +30384,11 @@ async function replaceDeleteFirstAndRecreate(logicalId, resourceType, oldResourc
|
|
|
30325
30384
|
} catch (deleteError) {
|
|
30326
30385
|
throw new Error(maskSecretsInText(`Failed to delete old resource ${logicalId} (${currentResource.physicalId}) during the --replace delete-first fallback: ${deleteError instanceof Error ? deleteError.message : String(deleteError)}`, secrets));
|
|
30327
30386
|
}
|
|
30387
|
+
reportDeleteGuards(deleteResult, {
|
|
30388
|
+
physicalId: currentResource.physicalId,
|
|
30389
|
+
resourceType: oldResourceType,
|
|
30390
|
+
provisionedBy: oldDeleteProvisionedBy
|
|
30391
|
+
});
|
|
30328
30392
|
const replaceSkipReason = deleteSkipReason(deleteResult);
|
|
30329
30393
|
if (replaceSkipReason !== void 0) throw new Error(deleteSkippedMessage(logicalId, currentResource.physicalId, replaceSkipReason, "during the --replace delete-first fallback"));
|
|
30330
30394
|
this.logger.info(` ${green("✓")} Old resource deleted`);
|
|
@@ -30429,10 +30493,10 @@ async function createFirstThenDeleteOld(input) {
|
|
|
30429
30493
|
if (input.equalIdIsSameResource && createResult.physicalId === currentResource.physicalId) throw markNonRetryable(new CdkdError(maskName(`${displaySafe(logicalId)} (${displaySafe(resourceType)}) requires replacement (${input.trigger}) under a new name, but the create returned the resource being replaced (${displaySafe(currentResource.physicalId)}) instead of a new one, so cdkd cannot tell which name it holds. Nothing was deleted. Delete that resource by hand if it is yours, then re-run the deploy.`), "NAMED_REPLACEMENT_IDEMPOTENT_CREATE"));
|
|
30430
30494
|
if (retainOld) return createResult;
|
|
30431
30495
|
this.logger.info(safeMsg` Deleting old ${logicalId} (${currentResource.physicalId})...`);
|
|
30432
|
-
await this.deleteReplacedAfterCreate(logicalId, input.oldResourceType, currentResource, input.deleteProvider, input.deleteProperties, finalSnapshotIdentifier, input.deletePolicy, secrets);
|
|
30496
|
+
await this.deleteReplacedAfterCreate(logicalId, input.oldResourceType, currentResource, input.deleteProvider, input.deleteProperties, finalSnapshotIdentifier, input.deletePolicy, secrets, input.deleteProvisionedBy);
|
|
30433
30497
|
return createResult;
|
|
30434
30498
|
}
|
|
30435
|
-
async function deleteReplacedAfterCreate(logicalId, oldResourceType, currentResource, deleteProvider, deleteProperties, finalSnapshotIdentifier, updateReplacePolicy, secrets) {
|
|
30499
|
+
async function deleteReplacedAfterCreate(logicalId, oldResourceType, currentResource, deleteProvider, deleteProperties, finalSnapshotIdentifier, updateReplacePolicy, secrets, deleteProvisionedBy) {
|
|
30436
30500
|
let deleteResult = void 0;
|
|
30437
30501
|
let deleteFailed = false;
|
|
30438
30502
|
try {
|
|
@@ -30448,6 +30512,11 @@ async function deleteReplacedAfterCreate(logicalId, oldResourceType, currentReso
|
|
|
30448
30512
|
deleteFailed = true;
|
|
30449
30513
|
this.logger.warn(safeMsg` ⚠ Failed to delete old resource ${logicalId} (${currentResource.physicalId}): ${deleteMsg}`);
|
|
30450
30514
|
}
|
|
30515
|
+
reportDeleteGuards(deleteResult, {
|
|
30516
|
+
physicalId: currentResource.physicalId,
|
|
30517
|
+
resourceType: oldResourceType,
|
|
30518
|
+
provisionedBy: deleteProvisionedBy
|
|
30519
|
+
});
|
|
30451
30520
|
const skipReason = deleteSkipReason(deleteResult);
|
|
30452
30521
|
if (skipReason !== void 0) this.logger.warn(` ⚠ ${deleteSkippedMessage(logicalId, currentResource.physicalId, skipReason, "while cleaning up the replaced resource", { commandFreeLine: true })}. Delete it manually — it is no longer tracked in state.`);
|
|
30453
30522
|
else if (!deleteFailed) this.logger.info(` ${green("✓")} Old resource deleted`);
|
|
@@ -33842,10 +33911,11 @@ async function updateByReplacement({ change, counts, currentProps, currentResour
|
|
|
33842
33911
|
});
|
|
33843
33912
|
const replaceProvider = replaceDecision.provider;
|
|
33844
33913
|
const replaceProps = replaceDecision.provisionedBy === "cc-api" ? this.preparePropertiesForCcApi(resourceType, resolvedProps, logicalId) : resolvedProps;
|
|
33845
|
-
const
|
|
33914
|
+
const oldDeleteRoute = this.providerRegistry.getProviderFor({
|
|
33846
33915
|
resourceType: oldResourceType,
|
|
33847
33916
|
provisionedBy: currentResource.provisionedBy
|
|
33848
|
-
})
|
|
33917
|
+
});
|
|
33918
|
+
const oldDeleteProvider = oldDeleteRoute.provider;
|
|
33849
33919
|
const equalIdIsSameResource = equalIdNamesSameResource({
|
|
33850
33920
|
oldType: oldResourceType,
|
|
33851
33921
|
newType: resourceType,
|
|
@@ -33884,6 +33954,7 @@ async function updateByReplacement({ change, counts, currentProps, currentResour
|
|
|
33884
33954
|
createProvider: replaceProvider,
|
|
33885
33955
|
createProps: replaceProps,
|
|
33886
33956
|
deleteProvider: oldDeleteProvider,
|
|
33957
|
+
deleteProvisionedBy: oldDeleteRoute.provisionedBy,
|
|
33887
33958
|
deleteProperties: currentResource.properties,
|
|
33888
33959
|
secrets: updateSecrets,
|
|
33889
33960
|
change: nameChange,
|
|
@@ -33913,6 +33984,11 @@ async function updateByReplacement({ change, counts, currentProps, currentResour
|
|
|
33913
33984
|
} catch (deleteError) {
|
|
33914
33985
|
throw new Error(`Failed to destroy old resource ${logicalId} (${currentResource.physicalId}) during ${recreateFlagName}: ${deleteError instanceof Error ? deleteError.message : String(deleteError)}`);
|
|
33915
33986
|
}
|
|
33987
|
+
reportDeleteGuards(recreateDeleteResult, {
|
|
33988
|
+
physicalId: currentResource.physicalId,
|
|
33989
|
+
resourceType: oldResourceType,
|
|
33990
|
+
provisionedBy: oldDeleteRoute.provisionedBy
|
|
33991
|
+
});
|
|
33916
33992
|
const recreateSkipReason = deleteSkipReason(recreateDeleteResult);
|
|
33917
33993
|
if (recreateSkipReason !== void 0) throw new Error(deleteSkippedMessage(logicalId, currentResource.physicalId, recreateSkipReason, `during ${recreateFlagName}`));
|
|
33918
33994
|
this.logger.info(` ${green("✓")} Old resource deleted`);
|
|
@@ -33968,7 +34044,7 @@ async function updateByReplacement({ change, counts, currentProps, currentResour
|
|
|
33968
34044
|
if (this.options.replace !== true) throw new CdkdError(`${logicalId} (${resourceType}) requires replacement, but the create-first attempt collided with the existing resource: ${createMsg}. ${nameOrigin.descriptor}, so the CloudFormation-style safe replacement order (create the new resource before deleting the old) cannot reuse the occupied name — CloudFormation refuses this shape with "cannot update a stack when a custom-named resource requires replacing". ${nameOrigin.remedy}, or re-run with \`cdkd deploy --replace\` to delete the old resource FIRST and recreate it under the same name (the resource is briefly unavailable while it is recreated).`, "NAMED_REPLACEMENT_COLLISION");
|
|
33969
34045
|
this.logger.info(` Create-first collided with the existing resource's name and --replace is set — deleting old ${logicalId} (${currentResource.physicalId}) first...`);
|
|
33970
34046
|
deletedOldFirst = true;
|
|
33971
|
-
createResult = await this.replaceDeleteFirstAndRecreate(logicalId, resourceType, oldResourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, updateSecrets, updateReplacePolicy);
|
|
34047
|
+
createResult = await this.replaceDeleteFirstAndRecreate(logicalId, resourceType, oldResourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, updateSecrets, updateReplacePolicy, oldDeleteRoute.provisionedBy);
|
|
33972
34048
|
}
|
|
33973
34049
|
if (equalIdIsSameResource && !deletedOldFirst && createResult.physicalId === currentResource.physicalId) {
|
|
33974
34050
|
const idempotentNameOrigin = this.replacementNameOrigin(logicalId, currentResource.physicalId);
|
|
@@ -33976,7 +34052,7 @@ async function updateByReplacement({ change, counts, currentProps, currentResour
|
|
|
33976
34052
|
if (this.options.replace !== true) throw new CdkdError(`${logicalId} (${resourceType}) requires replacement, but its Create API is name-idempotent: the create-first attempt returned the EXISTING resource (${currentResource.physicalId}) instead of creating a new one, so deleting the "old" resource would silently destroy the resource the deploy just reported as created. ${idempotentNameOrigin.descriptor}; ${idempotentNameOrigin.remedy}, or re-run with \`cdkd deploy --replace\` to delete the old resource FIRST and recreate it under the same name (the resource is briefly unavailable while it is recreated). Note: this branch is also reached when the old resource was deleted out-of-band and the physical id is name-derived — there the create was a genuine fresh create; \`--replace\` converges that case too.`, "NAMED_REPLACEMENT_IDEMPOTENT_CREATE");
|
|
33977
34053
|
this.logger.info(` Create-first returned the existing resource (name-idempotent Create API) and --replace is set — deleting old ${logicalId} (${currentResource.physicalId}) first...`);
|
|
33978
34054
|
deletedOldFirst = true;
|
|
33979
|
-
createResult = await this.replaceDeleteFirstAndRecreate(logicalId, resourceType, oldResourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, updateSecrets, updateReplacePolicy);
|
|
34055
|
+
createResult = await this.replaceDeleteFirstAndRecreate(logicalId, resourceType, oldResourceType, currentResource, oldDeleteProvider, replaceProvider, replaceProps, updateSecrets, updateReplacePolicy, oldDeleteRoute.provisionedBy);
|
|
33980
34056
|
}
|
|
33981
34057
|
if (deletedOldFirst) {} else if (updateReplacePolicy === "Retain") {
|
|
33982
34058
|
this.retainedOldOnReplacement.add(logicalId);
|
|
@@ -33993,7 +34069,7 @@ async function updateByReplacement({ change, counts, currentProps, currentResour
|
|
|
33993
34069
|
snapshotBlockedDelete = true;
|
|
33994
34070
|
this.logger.warn(` ⚠ Final snapshot for old ${logicalId} (${currentResource.physicalId}) failed: ${snapshotError instanceof Error ? snapshotError.message : String(snapshotError)}. The old resource was NOT deleted (UpdateReplacePolicy: Snapshot) — delete it manually once you have a snapshot; it is no longer tracked in state.`);
|
|
33995
34071
|
}
|
|
33996
|
-
if (!snapshotBlockedDelete) await this.deleteReplacedAfterCreate(logicalId, oldResourceType, currentResource, oldDeleteProvider, currentResource.properties, cleanupFinalSnapshotId, updateReplacePolicy, updateSecrets);
|
|
34072
|
+
if (!snapshotBlockedDelete) await this.deleteReplacedAfterCreate(logicalId, oldResourceType, currentResource, oldDeleteProvider, currentResource.properties, cleanupFinalSnapshotId, updateReplacePolicy, updateSecrets, oldDeleteRoute.provisionedBy);
|
|
33997
34073
|
}
|
|
33998
34074
|
}
|
|
33999
34075
|
this.registerNoEchoAttributes(logicalId, createResult, updateSecrets, resolvedProps);
|
|
@@ -34129,6 +34205,11 @@ async function updateInPlace({ conditions, counts, currentProps, currentPropsAsW
|
|
|
34129
34205
|
if (!isWaitAbandonedError(deleteError) && !isInterruptedWaitError(deleteError) && !isMarkedNonRetryable(deleteError) && (deleteMsg.includes("does not exist") || deleteMsg.includes("not found") || deleteMsg.includes("NotFound"))) this.logger.debug(`Old resource ${logicalId} already gone, proceeding with CREATE`);
|
|
34130
34206
|
else throw deleteError;
|
|
34131
34207
|
}
|
|
34208
|
+
reportDeleteGuards(fallbackDeleteResult, {
|
|
34209
|
+
physicalId: currentResource.physicalId,
|
|
34210
|
+
resourceType,
|
|
34211
|
+
provisionedBy: updateDecision.provisionedBy
|
|
34212
|
+
});
|
|
34132
34213
|
const fallbackSkipReason = deleteSkipReason(fallbackDeleteResult);
|
|
34133
34214
|
if (fallbackSkipReason !== void 0) throw new Error(deleteSkippedMessage(logicalId, currentResource.physicalId, fallbackSkipReason, "during the UPDATE-not-supported replacement"));
|
|
34134
34215
|
}
|
|
@@ -34143,6 +34224,7 @@ async function updateInPlace({ conditions, counts, currentProps, currentPropsAsW
|
|
|
34143
34224
|
createProvider: replProvider,
|
|
34144
34225
|
createProps: replProps,
|
|
34145
34226
|
deleteProvider: updateProvider,
|
|
34227
|
+
deleteProvisionedBy: updateDecision.provisionedBy,
|
|
34146
34228
|
deleteProperties: currentProps,
|
|
34147
34229
|
secrets: updateSecrets,
|
|
34148
34230
|
change: fallbackNameChange,
|
|
@@ -34272,10 +34354,11 @@ async function provisionDelete(logicalId, change, stateResources, stackName, tem
|
|
|
34272
34354
|
}
|
|
34273
34355
|
const governingPolicy = effectiveDeletionPolicy(resourceType, deletionPolicy, currentResource.properties);
|
|
34274
34356
|
const finalSnapshotIdentifier = await this.prepareFinalSnapshotForDelete(logicalId, resourceType, currentResource, governingPolicy);
|
|
34275
|
-
const
|
|
34357
|
+
const deleteRoute = this.providerRegistry.getProviderFor({
|
|
34276
34358
|
resourceType,
|
|
34277
34359
|
provisionedBy: currentResource.provisionedBy
|
|
34278
|
-
})
|
|
34360
|
+
});
|
|
34361
|
+
const deleteProvider = deleteRoute.provider;
|
|
34279
34362
|
this.logger.debug(`Deleting ${logicalId} (${resourceType})`);
|
|
34280
34363
|
let deleteResult = void 0;
|
|
34281
34364
|
const inlinePolicyClaimed = this.inlinePolicyClaimedFor(resourceType, logicalId, stateResources);
|
|
@@ -34293,6 +34376,11 @@ async function provisionDelete(logicalId, change, stateResources, stackName, tem
|
|
|
34293
34376
|
if (!isInterruptedWaitError(deleteError) && !isMarkedNonRetryable(deleteError) && !isWaitAbandonedError(deleteError) && (msg.includes("does not exist") || msg.includes("was not found") || msg.includes("not found") || msg.includes("No policy found") || msg.includes("NoSuchEntity") || msg.includes("NotFoundException") || msg.includes("ResourceNotFoundException"))) this.logger.debug(`Resource ${logicalId} already deleted (${msg}), removing from state`);
|
|
34294
34377
|
else throw deleteError;
|
|
34295
34378
|
}
|
|
34379
|
+
reportDeleteGuards(deleteResult, {
|
|
34380
|
+
physicalId: currentResource.physicalId,
|
|
34381
|
+
resourceType,
|
|
34382
|
+
provisionedBy: deleteRoute.provisionedBy
|
|
34383
|
+
});
|
|
34296
34384
|
const deleteSkipped = deleteSkipReason(deleteResult);
|
|
34297
34385
|
if (deleteSkipped !== void 0) {
|
|
34298
34386
|
if (progress) progress.current++;
|
|
@@ -34415,12 +34503,27 @@ async function provisionResource(logicalId, change, stateResources, stackName, t
|
|
|
34415
34503
|
const physicalIdBeforeUpdate = stateResources[logicalId]?.physicalId;
|
|
34416
34504
|
const provisionedByBeforeUpdate = stateResources[logicalId]?.provisionedBy;
|
|
34417
34505
|
let nestedChildUnaddressed;
|
|
34506
|
+
const deleteGuards = [];
|
|
34418
34507
|
try {
|
|
34419
34508
|
await withResourceDeadline(async () => {
|
|
34420
|
-
|
|
34421
|
-
|
|
34422
|
-
|
|
34423
|
-
|
|
34509
|
+
try {
|
|
34510
|
+
const { value: bodyResult, unaddressed } = await collectDeleteGuards(deleteGuards, () => collectNestedChildUnaddressed(() => this.provisionResourceBody(logicalId, change, stateResources, stackName, template, parameterValues, conditions, counts, progress)));
|
|
34511
|
+
deleteSkipped = bodyResult?.deleteSkipped;
|
|
34512
|
+
updatePartial = bodyResult?.updatePartial;
|
|
34513
|
+
nestedChildUnaddressed = unaddressed;
|
|
34514
|
+
} finally {
|
|
34515
|
+
for (const guard of deleteGuards.splice(0)) this.recordEvent({
|
|
34516
|
+
eventType: "RESOURCE_GUARD_INDETERMINATE",
|
|
34517
|
+
stackName,
|
|
34518
|
+
operation: "DELETE",
|
|
34519
|
+
logicalId,
|
|
34520
|
+
resourceType: guard.resourceType,
|
|
34521
|
+
...guard.provisionedBy && { provisionedBy: guard.provisionedBy },
|
|
34522
|
+
...guard.physicalId && { physicalId: this.maskForResource(logicalId, guard.physicalId) },
|
|
34523
|
+
guard: guard.guard,
|
|
34524
|
+
reason: guard.reason
|
|
34525
|
+
});
|
|
34526
|
+
}
|
|
34424
34527
|
}, {
|
|
34425
34528
|
warnAfterMs,
|
|
34426
34529
|
timeoutMs,
|
|
@@ -36433,4 +36536,4 @@ DeployEngine.prototype.orphanedNameCollisionAdvice = orphanedNameCollisionAdvice
|
|
|
36433
36536
|
|
|
36434
36537
|
//#endregion
|
|
36435
36538
|
export { resourcesNamingDeclaredParameter as $, STATE_SOURCED_READBACK_RULES as $a, isWarmThroughputDecrease as $i, explicitRoleArnOrThrow as $n, runDockerForeground as $o, malformedOutputsWarning as $r, noEchoParameterValueSeed as $t, resolveDynamoDbDeleteBudgetClock as A, printingCorpusOf as Aa, repairMalformedOrphanRecordsForReadOnly as Ai, ccProtectionRegistryTypes as An, assertAssetBucketRegion as Ao, STATE_REGION_DIVERGED as Ar, derivePartitionAndUrlSuffix as As, ccRoutedFinalSnapshotError as At, getPriorAttempts as B, scrubResourceRecord as Ba, findSilentDropProperties as Bi, isTerminationProtectionPropagationError as Bn, resolveDockerContextDirectory as Bo, isReadableResourceEntry as Br, describeFileReadFailure as Bs, updatePartialMessage as Bt, perType as C, inheritNestedStackParameterAssociations as Ca, refuseMalformedResourcePropertiesForDrift as Ci, ProviderRegistry as Cn, WorkGraph as Co, isStalePlaceholderArnAttribute as Cr, findLargeInlineResources as Cs, resolveReplacementOldType as Ct, beginDeleteWait as D, hasMaskableValues as Da, refuseMalformedResourcesForDestroy as Di, getCurrentResourceSecrets as Dn, rewriteTemplateAssetReferences as Do, parameterInputsFor as Dr, expectedOwnerParam as Ds, ATOMIC_FINAL_SNAPSHOT_TYPES as Dt, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as E, createUnionSecretMasker as Ea, refuseMalformedResourcesForDeploy as Ei, isCustomResourceType as En, loadPublishableAssetManifest as Eo, withSharedDrainBudget as Er, decodeListingKey as Es, inheritProducerRegions as Et, waitForIndexesSettled as F, errorCauseChain as Fa, repairMalformedResourcesForReadOnly as Fi, withIndeterminateGuard as Fn, readBootstrapMarkerBody as Fo, displayLogicalId as Fr, hasOwnKey as Fs, unsupportedFinalSnapshotError as Ft, cyan as G, pathCrossesDottedKey as Ga, findReplacedReadersOfRecreateTargets as Gi, INTRINSIC_KEYS as Gn, finchSecretArgvRefusal as Go, malformedLocalResourceEntriesWarning as Gr, resolveBucketRegion as Gs, WITHHELD_NAME_DISPLAY as Gt, formatResourceLine as H, DYNAMIC_REFERENCE_TOKEN_SCAN as Ha, withoutSilentDropProperties as Hi, reDisableInstanceApiTermination as Hn, describeDockerExecFailure as Ho, malformedExportNamesWarning as Hr, renderAssemblyPathEscape as Hs, DeploymentEventsReader as Ht, ECR_AUTO_DELETE_IMAGES_TAG as I, maskSecretsInError as Ia, unpreviewableOrphanRecords as Ii, isWaitAbandonedError as In, validateAssetBucketName as Io, hasReadableOrphans as Ir, hasPlainPrototype$1 as Is, REDACTED_DELETE_ADDRESS_SKIP_REASON as It, red as J, recordMaskOnlyValue as Ja, isStatefulRecreateTargetForReplace as Ji, producerRegionsFromState as Jn, isDockerClientEnvKey as Jo, malformedOrphanRecordsWarning as Jr, secretBearing as Jt, gray as K, identityKeyFor as Ka, shownType as Ki, IntrinsicFunctionResolver as Kn, formatDockerLoginError as Ko, malformedLocalResourcesWarning as Kr, displayTextOrWithheld as Kt, S3_AUTO_DELETE_OBJECTS_TAG as L, maskSecretsInText as La, unreadableOrphanRecords as Li, markWaitAbandoned as Ln, validateContainerRepoName as Lo, hasReadableOutputs as Lr, nullPrototypeRecord as Ls, isRedactedRecordedValue as Lt, DELETE_INDEX_WAIT_PROCEED_NOTE as M, recordLogOnlyValue as Ma, repairMalformedOutputsForReadOnly as Mi, UNSPECIFIED_SKIP_REASON as Mn, getBootstrapMarkerKey as Mo, UNREADABLE_ORPHANS_CONTAINER_ROW as Mr, StageLoadError as Ms, effectiveDeletionPolicy as Mt, INDEX_SETTLE_POLL_INTERVAL_MS as N, shareLogOnlyValues as Na, repairMalformedResourceEntriesForReadOnly as Ni, deleteIndeterminateGuards as Nn, isCrossRegionRedirect as No, UNREADABLE_RESOURCES_MAP_ROW as Nr, processStackMessages as Ns, isFinalSnapshotError as Nt, compensateRemovedDeletionProtection as O, literalSplitDelimitersOf as Oa, refuseMalformedResourcesForExport as Oi, CloudControlProvider as On, AssetModeResolver as Oo, passedParameterClassesOf as Or, PARTITION_TABLE as Os, PRE_DELETE_SNAPSHOT_TYPES as Ot, deleteTableWithIndexBusyRetry as P, createSecretMasker as Pa, repairMalformedResourcePropertiesForReadOnly as Pi, deleteSkipReason as Pn, parseBootstrapMarker as Po, deployRefusesOrphanRowsReason as Pr, defineOwnKey as Ps, refusesFinalSnapshot as Pt, reachableDivergentParameters as Q, STATE_SOURCED_CROSS_GENERATION_RULES as Qa, coerceWarmThroughput as Qi, assertSendableRoleArn as Qn, redactedDockerCause as Qo, malformedOutputsRefusalMessage as Qr, isWholeDynamicReferenceValue as Qt, hasCdkAutoDeleteTag as R, markSameGenerationBag as Ra, unreadableResourceEntries as Ri, disableInstanceApiTermination as Rn, buildDenyExternalAccessPolicy as Ro, hasReadableResources as Rr, ownValue as Rs, redactedDeleteAddressFields as Rt, isProtectionValueActive as S, liveMatchesUnresolvedTokenFrame as Sa, refuseMalformedResourceEntriesForOrphan as Si, CC_BROKEN_REASON as Sn, stringifyValue as So, cfnRefValueFromPhysicalId as Sr, MIGRATE_TMP_PREFIX as Ss, planRollback as St, DynamoDBGlobalTableProvider as T, carryLogOnlyValues as Ta, refuseMalformedResourcePropertiesForOrphan as Ti, wouldReturnToSdkProvider as Tn, createAssetRedirectResolver as To, parseWebACLArn as Tr, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as Ts, getCurrentProducerRegions as Tt, createReadOnlyAttributeHealerFactory as U, dynamicReferenceTokens as Ua, NO_CC_HANDLERS_REASON as Ui, reEnableInstanceApiTermination as Un, describeDockerFailure as Uo, malformedExportSourceWarning as Ur, resolveAssemblyPath as Us, DeploymentEventsStore as Ut, markRefusedBeforeApplying as V, recoverMaskedOutput as Va, unwrittenCreateOnlyReplacement as Vi, observeThenDisableInstanceApiTermination as Vn, describeDockerCapturedOutput as Vo, malformedDriftResourcePropertiesWarning as Vr, displayAssemblyPath as Vs, updatePartialReason as Vt, bold as W, isUncertifiedBaselineMaskPosition as Wa, hasNoCloudControlHandlers as Wi, DiffCalculator as Wn, dockerSpawnEnvWithSensitive as Wo, malformedLocalOutputsWarning as Wr, clearBucketRegionCache as Ws, extractDeploymentEventError as Wt, computeParameterTaint as X, recordNoEchoAttributeValues as Xa, renderStatefulReason as Xi, applyRoleArnIfSet as Xn, partitionSensitiveEnv as Xo, malformedOrphansRefusalMessage as Xr, secretSafeKeyDisplay as Xt, yellow as Y, recordMaskOnlyValuesIn as Ya, isStatefulRecreateTargetSync as Yi, regionLessSecretName as Yn, isMalformedEnvKey as Yo, malformedOrphanRowsKeptWarning as Yr, secretBearingStateKeyWarning as Yt, namesAnyDeclaredParameter as Z, STATE_SOURCED_BASELINE_RULES as Za, WARM_THROUGHPUT_MEMBERS as Zi, assertFlagRoleArn as Zn, redactDockerArgvValues as Zo, malformedOrphansWarning as Zr, exportNameSecretExposure as Zt, makeCanonicalizePropertiesFn as _, canonicalLambdaFunctionName as _a, refuseMalformedResourceEntries as _i, refuseMalformedDesiredTags as _n, orphansAfterRollback as _o, carriesDynamicReference as _r, stateBucketExistenceConfirmed as _s, destroyStackRecordsView as _t, findNestedTemplateTreeDefect as a, configIntegerRefusal as aa, malformedStateRefusalMessage as ai, DEFAULT_RESOURCE_WARN_AFTER_MS as an, S3StateBackend as ao, envCredentialsAreAssumedRole as ar, getDockerImageBySourceHash as as, dropSettledNestedJournals as at, recordedProtectionNote as b, DagBuilder as ba, refuseMalformedResourceEntriesForImport as bi, definedAttributes as bn, AssetPublisher as bo, keepsSecretReferenceToken as br, CFN_TEMPLATE_BODY_LIMIT as bs, recordAfterRollbackUpdate as bt, renderNestedTemplateTreeDefect as c, replayWarn as ca, refuseMalformedNestedChildOutputs as ci, earliestDefined as cn, acceptedCreateOnlyDropsOf as co, s3BucketDomainName as cr, getDefaultStateBucketName as cs, recordDisplacedSkips as ct, conditionInputsFrom as d, requireConfigString as da, refuseMalformedOrphans as di, withCreateTokenLedger as dn, hasReadableExportSet as do, s3BucketWebsiteUrl as dr, resolveAutoAssetStorage as ds, withNestedRevertRun as dt, toCfnInteger as ea, malformedRenderedContainersWarning as ei, collectDeclaredOutputNames as en, TEMPLATE_SOURCED_RULES as eo, isIamRoleArn as er, runDockerStreaming as es, makeSiblingClaimReader as et, parentSuppliedValues as f, prefetchCreateOnlyPropertyPaths as fa, refuseMalformedOrphansForDestroy as fi, acquireIdempotencyToken as fn, hasReasonlessBaselineRefusal as fo, coerceParameterTypedValue as fr, resolveCaptureObservedState as fs, getCurrentNestedStackContext as ft, mergeNoChangeOutputs as g, markAuxiliaryFailure as ga, refuseMalformedResourceAttributesForOrphan as gi, readTagList as gn, isReadableBag as go, isImpossibleEmptyStoredAttribute as gr, resolveUseCdkBootstrapAssets as gs, awaitInFlightSibling as gt, keptWholeReasonText as h, withRetry as ha, refuseMalformedOutputsForDestroy as hi, planTagDiff as hn, importableOutputs as ho, getAccountInfo as hr, resolveStateBucketWithDefaultAndSource as hs, replayRollback as ht, childTemplateLoader as i, configBooleanRefusal as ia, malformedScrubResourceEntriesRefusalMessage as ii, DEFAULT_RESOURCE_TIMEOUT_MS as in, isLockInfoExpired as io, callerEnvCredentials as ir, AssetManifestLoader as is, displacedPhysicalIdShown as it, resolveDynamoDbDeleteBudgetMs as j, recordLogOnlyParameterValue as ja, repairMalformedOrphansForReadOnly as ji, unchangedBehindSecretReference as jn, ensureAssetStorage as jo, STATE_RESOURCES_MALFORMED as jr, AssemblyReader as js, createPreDeleteFinalSnapshot as jt, deleteBudgetKey as k, logOnlyValueCount as ka, refuseMalformedState as ki, slowCcOperationTimeoutMs as kn, BOOTSTRAP_MARKER_PREFIX as ko, JSON_LISTING_HOLE_VALUE as kr, canonicalizeRegion as ks, buildFinalSnapshotIdentifier as kt, templateIdentity as l, requireConfigArray as la, refuseMalformedOrphanRecords as li, ledgerForStack as ln, describeRegionValueKind as lo, s3BucketDualStackDomainName as lr, getLegacyStateBucketName as ls, revertNestedChildFromJournal as lt, isSecretBearingReferenceString as m, describeTypeWithThrottleRetry as ma, refuseMalformedOutputs as mi, DBPROXY_TAG_OPTIONS as mn, importableOutputKeys as mo, parameterTypeMayLoseSecretIdentity as mr, resolveStateBucketWithDefault as ms, replayFailedOperations as mt, IMPLICIT_DELETE_DEPENDENCIES as n, coerceCfnBoolean as na, malformedResourcePropertiesWarning as ni, isExportAliasCollision as nn, isSingleDynamicReferenceToken as no, AWS_CREDENTIAL_ENV_KEYS as nr, escapeRegExp$2 as ns, NESTED_PENDING_PARENT_REASON as nt, isAbsoluteAssetPath as o, configStringRefusal as oa, previewableOrphanRecords as oi, maskingRetryLogger as on, rebuildClientForBucketRegion as oo, isSettledInstanceState as or, Synthesizer as os, getNestedRevertRun as ot, readRecordedConditionVerdicts as p, templateResourceTypes as pa, refuseMalformedOrphansForOrphan as pi, DBPROXY_TAGS_WHAT as pn, hasUnverifiableParameterRefusal as po, isUnboundTemplateParameter as pr, resolveSkipPrefix as ps, withNestedStackContext as pt, green as q, carriesSecretMask as qa, MULTI_REGION_RECREATE_BLOCKED_TYPES as qi, classifyReplaySecretRegion as qn, getDockerCmd as qo, malformedOrphanRecordsRefusalMessage as qr, exportAliasCollisionScrubWarning as qt, computeImplicitDeleteEdges as r, coerceCfnInteger as ra, malformedResourcesWarning as ri, bindingSkippedOutputs as rn, LockManager as ro, applyCallerIdentityCredentials as rr, stripControlChars as rs, displacedOpClause as rt, listNestedTemplateRows as s, readConfigString as sa, refuseDivergentRecordRegionForDestroy as si, RollbackInlinePolicyWriters as sn, splitImportedOps as so, s3BucketArn as sr, synthesisStatusMessage as ss, nestedChildStackName as st, DeployEngine as t, toFiniteNumber as ta, malformedResourceEntriesWarning as ti, collectPublishedOutputNames as tn, WHOLE_DYNAMIC_REFERENCE_PATTERN as to, sendableAssumeRoleCommand as tr, warnFinchArgvExposure as ts, planOrphanAdoption as tt, conditionFingerprint as u, requireConfigObject as ua, refuseMalformedOrphanRecordsForDestroy as ui, reserveStackCreateToken as un, exportNamesCarriedFrom as uo, s3BucketRegionalDomainName as ur, resolveApp as us, revertedNestedRowIds as ut, withResourceDeadline as v, lambdaFunctionNameForMask as va, refuseMalformedResourceEntriesForDeploy as vi, tagMapAsList as vn, orphansCarriedFrom as vo, carriesFetchableDynamicReference as vr, warnDeprecatedNoPrefixCliFlag as vs, getStackRecords as vt, readProtection as w, recordNestedStackParameterExpressions as wa, refuseMalformedResourcePropertiesForExport as wi, ccBrokenReason as wn, buildAssetRedirectMap as wo, refStateLookupFromResource as wr, uploadCfnTemplate as ws, findNestedStackTypeChanges as wt, PROTECTION_PROPERTY_BY_TYPE as x, TemplateParser as xa, refuseMalformedResourceEntriesForImportSave as xi, stringifyIfAssigned as xn, isSensitiveAttributeName as xo, AWS_NO_VALUE as xr, CFN_TEMPLATE_URL_LIMIT as xs, planFailedOps as xt, recordedProtectionEvidence as y, sameLambdaFunctionAddress as ya, refuseMalformedResourceEntriesForDestroy as yi, tagPlanWarning as yn, shouldRetainResource as yo, isNamelessDynamicReferenceError as yr, ssmResolvedValueType as ys, withStackRecords as yt, isTruthyCfnBoolean as z, redactSecretsForState as za, findActionableSilentDrops as zi, ec2InstanceProtectionSite as zn, buildDockerImage as zo, isReadableOrphanRecord as zr, absoluteAssemblyPathEscape as zs, redactedDeleteAddressSkip as zt };
|
|
36436
|
-
//# sourceMappingURL=deploy-engine-
|
|
36539
|
+
//# sourceMappingURL=deploy-engine-C35Ctso3.js.map
|