@go-to-k/cdkd 0.300.0 → 0.300.1
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-COcKVcvZ.js → asg-provider-BS5i71bK.js} +3 -3
- package/dist/{asg-provider-COcKVcvZ.js.map → asg-provider-BS5i71bK.js.map} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{deploy-engine-C-4ho8TJ.js → deploy-engine-BK4gG_5A.js} +296 -62
- package/dist/deploy-engine-BK4gG_5A.js.map +1 -0
- package/dist/{iam-policy-targets-BxP3yqlr.js → iam-policy-targets-DAs3w7QW.js} +43 -2
- package/dist/{iam-policy-targets-BxP3yqlr.js.map → iam-policy-targets-DAs3w7QW.js.map} +1 -1
- package/dist/{iam-role-provider-a-8z7Dpm.js → iam-role-provider-SmvPHPLC.js} +15 -10
- package/dist/iam-role-provider-SmvPHPLC.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/{neptune-provider-Bnr2VC6V.js → neptune-provider-CqZ1FaqT.js} +3 -3
- package/dist/{neptune-provider-Bnr2VC6V.js.map → neptune-provider-CqZ1FaqT.js.map} +1 -1
- package/dist/{program-BHjdsRtD.js → program-DVPHKsxv.js} +6 -6
- package/dist/{program-BHjdsRtD.js.map → program-DVPHKsxv.js.map} +1 -1
- package/dist/{provider-classes-CVC9_-km.js → provider-classes-CDzT2xg0.js} +227 -68
- package/dist/provider-classes-CDzT2xg0.js.map +1 -0
- package/dist/{rds-provider-QKN-WHF3.js → rds-provider-DraxDuQq.js} +13 -7
- package/dist/rds-provider-DraxDuQq.js.map +1 -0
- package/dist/{version-CXGQKplb.js → version-DTSDiQcV.js} +2 -2
- package/dist/{version-CXGQKplb.js.map → version-DTSDiQcV.js.map} +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-C-4ho8TJ.js.map +0 -1
- package/dist/iam-role-provider-a-8z7Dpm.js.map +0 -1
- package/dist/provider-classes-CVC9_-km.js.map +0 -1
- package/dist/rds-provider-QKN-WHF3.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { r as getAwsClients, s as __exportAll } from "./aws-clients-B_CEQGE1.js";
|
|
2
2
|
import { A as UNRENDERABLE, B as safeMsg, C as looksLikeCdkdGeneratedName, D as SAFE_MSG_ALTERED_CHAR, E as withoutGeneratedFallbackName, F as displaySafe, H as terminalSafe, I as displayStackName, L as isPasteableIdent, N as displayAwsMessage, O as SECRET_REF_MAX_CODE_POINTS, P as displayIdent, S as getCurrentStackName, T as withStackName, U as truncateCodePoints, a as getLogger, b as generateResourceNameWithFallback, d as installLogLineMaskerSource, f as getLiveRenderer, g as applyDefaultNameForFallback, j as asIsMessage, k as STACK_REF_MAX_CODE_POINTS, o as isStdoutReservedForPayload, r as safeStringify$1, t as describeAwsFailure, u as currentLogLineMasker, v as explicitNamePropertyFor, w as withSkipPrefix, x as getCurrentSkipPrefix, y as generateResourceName, z as plainIdentOr } from "./aws-failure-text-BEQfs6za.js";
|
|
3
|
-
import { $ as protectedReplacementAdvice, $n as
|
|
3
|
+
import { $ as protectedReplacementAdvice, $n as formatRetryClassificationSignals, $t as ambientCredentialConfig, A as isQuotableImportValue, An as SHELL_ACTIVE, At as isAuxiliaryMarkOf, B as isTerminalDeleteFailure, Bn as shellBoundedDisplay, Bt as formatLockOperation, Cn as StateError, Ct as RETRY_AUXILIARY_OWNER, Dn as normalizeAwsError, Dt as createdResourceIdentityBeforeFailure, E as assertRegionMatch, Et as createdBeforeFailure, F as resolveExplicitPhysicalId, Fn as isInertUnquoted, Ft as UNREPRODUCIBLE_LOCK_CLAUSE, G as runDeleteAttempt, Gn as isUpdateUnsupportedError, Gt as DEFAULT_STATE_PREFIX, H as observeThenDisableProtection, Hn as withheldTargetClause, Ht as recoveryCommandFlags, In as pasteableCommand, It as buildForceUnlockCommand, J as DELETION_PROTECTION_DOC_POINTER, Jn as isNameCooldownError, Kn as hasReplayMayCollide, Kt as injectiveKey, L as ProtectionFlipRegistry, Ln as physicalIdShownBesideCommand, M as quotedRemedyLogicalId, Mn as UNSHOWABLE_VALUE, Mt as markCreatedBeforeFailure, N as refusalTypeShown, Nn as commandHole, Ot as hasCreatedBeforeFailure, Pt as replayMadeAnotherResource, Q as pasteableAwsCommand, Qn as markReplayMayCollide, Qt as ambientClientDefaults, R as compensateProtectionFlip, Rn as plainOrDescribed, St as withDerivedNameMasks, T as RESOURCE_NOT_FOUND, U as protectionFlipKey, Ut as sanitizeRecoveryValue, Vn as shellQuote, Vt as formatLockOwner, Wt as CUSTOM_RESOURCE_RESPONSE_PREFIX, Xn as isReplayedNameCollisionFrom, Yn as isRecreateRetryableError, Yt as producerRecordKey, Zt as withPasteableAwsProfile, _t as createMaskedLogSinks, ar as retryClassificationText, at as startInterruptWatch, bn as ResourceUpdateNotSupportedError, bt as maskDeep, cr as isThrottlingError, ct as canonicalizeRoute53QueryName, d as prepareRemovalForUpdate, dr as wrapMaskedAwsError, en as clientDefaultsFor, er as isAmbiguousCcHandlerErrorCode, f as removalWarning, ft as logicalIdShown, gt as stateOrphanRecordRemedy, hn as MalformedProducerRecordRefusalError, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, in as CdkdError, ir as isTransientServerError, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jn as SHELL_ACTIVE_WHY, jt as markAuxiliaryFailure, kt as isAuxiliaryFailure, l as withUnchangedSecretPrincipalLists, ln as DynamicReferenceRegionAmbiguousError, lr as markNonRetryable, m as withoutInjectedRemovals, mn as MacroExpansionError, mt as resourceTypeShown, nn as AccountIdUnavailableError, nr as isIamPropagationError, on as CrossAccountSecretRefusalError, ot as ElapsedBudgetRegistry, pn as LockError, qn as isNameCollisionErrorFrom, rn as AssetError, rr as isRetryableTransientError, sn as DependencyError, sr as isMarkedNonRetryable, st as monotonicNowMs, tn as credentialFingerprint, tr as isAmbiguousOutcomeError, un as IntrinsicResolutionRefusalError, ur as markRedactedCause, ut as compositeIdSeparatorRefusal, vn as ProvisioningError, vt as createMaskedRetryLogger, w as withoutServerErrorRetries, wn as SynthesisError, wt as carryCreatedBeforeFailure, xt as maskerOrIdentity, yn as ResourceTimeoutError, yt as isSecretDerivedValue, z as deleteWithProtectionCompensation, zn as quotedOrDescribed, zt as formatLockExpiry } from "./iam-policy-targets-DAs3w7QW.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-DBXBcg0J.js";
|
|
5
|
-
import { t as getCdkdVersion } from "./version-
|
|
5
|
+
import { t as getCdkdVersion } from "./version-DTSDiQcV.js";
|
|
6
6
|
import { createHash, randomUUID } from "node:crypto";
|
|
7
7
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
8
8
|
import { CreateBucketCommand, DeleteObjectCommand, DeleteObjectsCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketReplicationCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchKey, PutBucketEncryptionCommand, PutBucketLifecycleConfigurationCommand, PutBucketPolicyCommand, PutObjectCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
|
|
@@ -8051,9 +8051,16 @@ function parameterReadsFor(childSecrets, parentSecrets) {
|
|
|
8051
8051
|
}
|
|
8052
8052
|
return reads;
|
|
8053
8053
|
}
|
|
8054
|
-
function recordInheritedParameterValue(childSecrets, parentSecrets, parameterName, value) {
|
|
8054
|
+
function recordInheritedParameterValue(childSecrets, parentSecrets, parameterName, value, declared) {
|
|
8055
8055
|
const reads = parameterReadsFor(childSecrets, parentSecrets);
|
|
8056
8056
|
if (reads === void 0) return;
|
|
8057
|
+
if (declared !== void 0) {
|
|
8058
|
+
if (reads.declared === void 0) reads.declared = declared;
|
|
8059
|
+
else if (reads.declared.size !== declared.size || [...declared].some((name) => !reads.declared.has(name))) {
|
|
8060
|
+
inheritedParameterReads.set(childSecrets, POISONED_PARAMETER_READS);
|
|
8061
|
+
return;
|
|
8062
|
+
}
|
|
8063
|
+
}
|
|
8057
8064
|
if (reads.values.has(parameterName)) {
|
|
8058
8065
|
if (!deepEqualJsonValue(reads.values.get(parameterName), value)) inheritedParameterReads.set(childSecrets, POISONED_PARAMETER_READS);
|
|
8059
8066
|
return;
|
|
@@ -8079,8 +8086,14 @@ function positionByInheritedParameter(bag, source, secrets) {
|
|
|
8079
8086
|
if (!deepEqualJsonValue(redactSecretsForState(answer, secrets), answer)) return void 0;
|
|
8080
8087
|
return answer;
|
|
8081
8088
|
}
|
|
8082
|
-
const REREAD_TRIGGERS = /* @__PURE__ */ new Set([
|
|
8089
|
+
const REREAD_TRIGGERS = /* @__PURE__ */ new Set([
|
|
8090
|
+
"Fn::Select",
|
|
8091
|
+
"Fn::Split",
|
|
8092
|
+
"Fn::If"
|
|
8093
|
+
]);
|
|
8083
8094
|
const MAX_REREAD_DEPTH = 16;
|
|
8095
|
+
const MAX_REREAD_CONDITIONS = 4;
|
|
8096
|
+
const REREAD_NO_VALUE = Symbol("cdkd.reread.no-value");
|
|
8084
8097
|
function splitOutsideDynamicReferences(text, delimiter, standsForSecret) {
|
|
8085
8098
|
if (delimiter === "") return text.split(delimiter);
|
|
8086
8099
|
const spans = dynamicReferenceSpans(text).filter((span) => {
|
|
@@ -8111,14 +8124,15 @@ function standsForInheritedSecret(parentSecrets, token) {
|
|
|
8111
8124
|
return parentSecrets !== void 0 && resolvedPlaintextOf(parentSecrets, token) !== void 0;
|
|
8112
8125
|
}
|
|
8113
8126
|
const plainSplit = (text, delimiter) => text.split(delimiter);
|
|
8114
|
-
function evaluatePureRead(node, bind, split, depth = 0) {
|
|
8127
|
+
function evaluatePureRead(node, bind, split, choose, depth = 0) {
|
|
8115
8128
|
if (depth > MAX_REREAD_DEPTH) return void 0;
|
|
8129
|
+
const evaluate = (child) => evaluatePureRead(child, bind, split, choose, depth + 1);
|
|
8116
8130
|
if (typeof node === "string") return node.includes("{{resolve:") ? void 0 : { value: node };
|
|
8117
8131
|
if (Array.isArray(node)) {
|
|
8118
8132
|
const out = [];
|
|
8119
8133
|
for (const element of node) {
|
|
8120
|
-
const evaluated =
|
|
8121
|
-
if (evaluated === void 0) return void 0;
|
|
8134
|
+
const evaluated = evaluate(element);
|
|
8135
|
+
if (evaluated === void 0 || evaluated.value === REREAD_NO_VALUE) return void 0;
|
|
8122
8136
|
out.push(evaluated.value);
|
|
8123
8137
|
}
|
|
8124
8138
|
return { value: out };
|
|
@@ -8128,30 +8142,77 @@ function evaluatePureRead(node, bind, split, depth = 0) {
|
|
|
8128
8142
|
if (keys.length !== 1) return void 0;
|
|
8129
8143
|
const key = keys[0];
|
|
8130
8144
|
const args = node[key];
|
|
8131
|
-
if (key === "Ref")
|
|
8145
|
+
if (key === "Ref") {
|
|
8146
|
+
if (args === "AWS::NoValue") return { value: REREAD_NO_VALUE };
|
|
8147
|
+
return typeof args === "string" ? bind(args) : void 0;
|
|
8148
|
+
}
|
|
8149
|
+
if (key === "Fn::If") {
|
|
8150
|
+
if (!Array.isArray(args) || args.length !== 3 || typeof args[0] !== "string") return void 0;
|
|
8151
|
+
return evaluate(choose(args[0]) ? args[1] : args[2]);
|
|
8152
|
+
}
|
|
8153
|
+
if (key === "Fn::Sub") return evaluatePureSub(args, bind, evaluate);
|
|
8132
8154
|
if (!Array.isArray(args) || args.length !== 2) return void 0;
|
|
8133
8155
|
if (key === "Fn::Select") {
|
|
8134
8156
|
const index = args[0];
|
|
8135
8157
|
const position = typeof index === "number" ? index : typeof index === "string" && /^(0|[1-9][0-9]*)$/.test(index) ? Number(index) : void 0;
|
|
8136
8158
|
if (position === void 0 || !Number.isSafeInteger(position) || position < 0) return void 0;
|
|
8137
|
-
const list =
|
|
8159
|
+
const list = evaluate(args[1]);
|
|
8138
8160
|
if (list === void 0 || !Array.isArray(list.value) || position >= list.value.length) return;
|
|
8139
8161
|
return { value: list.value[position] };
|
|
8140
8162
|
}
|
|
8141
8163
|
const delimiter = args[0];
|
|
8142
8164
|
if (typeof delimiter !== "string") return void 0;
|
|
8143
8165
|
if (key === "Fn::Split") {
|
|
8144
|
-
const value =
|
|
8166
|
+
const value = evaluate(args[1]);
|
|
8145
8167
|
if (value === void 0 || typeof value.value !== "string") return void 0;
|
|
8146
8168
|
return { value: split(value.value, delimiter) };
|
|
8147
8169
|
}
|
|
8148
8170
|
if (key === "Fn::Join") {
|
|
8149
|
-
const parts =
|
|
8171
|
+
const parts = evaluate(args[1]);
|
|
8150
8172
|
if (parts === void 0 || !Array.isArray(parts.value)) return void 0;
|
|
8151
8173
|
if (!parts.value.every((part) => typeof part === "string")) return void 0;
|
|
8152
8174
|
return { value: parts.value.join(delimiter) };
|
|
8153
8175
|
}
|
|
8154
8176
|
}
|
|
8177
|
+
function evaluatePureSub(args, bind, evaluate) {
|
|
8178
|
+
const [text, variables] = typeof args === "string" ? [args, {}] : Array.isArray(args) && args.length === 2 ? [args[0], args[1]] : [void 0, void 0];
|
|
8179
|
+
if (typeof text !== "string" || text.includes("{{resolve:") || !isPlainObject$7(variables)) return;
|
|
8180
|
+
const bound = /* @__PURE__ */ new Map();
|
|
8181
|
+
for (const [name, variable] of Object.entries(variables)) {
|
|
8182
|
+
const evaluated = evaluate(variable);
|
|
8183
|
+
if (evaluated === void 0 || typeof evaluated.value !== "string") return void 0;
|
|
8184
|
+
bound.set(name, evaluated.value);
|
|
8185
|
+
}
|
|
8186
|
+
let out = "";
|
|
8187
|
+
let cursor = 0;
|
|
8188
|
+
for (const match of text.matchAll(/\$\{(!)?([^}]*)\}/g)) {
|
|
8189
|
+
const name = match[2] ?? "";
|
|
8190
|
+
let replacement;
|
|
8191
|
+
if (match[1] === "!") replacement = `\${${name}}`;
|
|
8192
|
+
else if (name === "") replacement = match[0];
|
|
8193
|
+
else if (bound.has(name)) replacement = bound.get(name);
|
|
8194
|
+
else {
|
|
8195
|
+
if (name.startsWith("AWS::") || name.includes(".")) return void 0;
|
|
8196
|
+
const value = bind(name);
|
|
8197
|
+
if (value === void 0 || typeof value.value !== "string") return void 0;
|
|
8198
|
+
replacement = value.value;
|
|
8199
|
+
}
|
|
8200
|
+
out += text.slice(cursor, match.index) + replacement;
|
|
8201
|
+
cursor = match.index + match[0].length;
|
|
8202
|
+
}
|
|
8203
|
+
return { value: out + text.slice(cursor) };
|
|
8204
|
+
}
|
|
8205
|
+
function collectRereadConditions(node, names, depth = 0) {
|
|
8206
|
+
if (depth > MAX_REREAD_DEPTH) return false;
|
|
8207
|
+
if (Array.isArray(node)) return node.every((element) => collectRereadConditions(element, names, depth + 1));
|
|
8208
|
+
if (!isPlainObject$7(node)) return true;
|
|
8209
|
+
if (Object.hasOwn(node, "Fn::If")) {
|
|
8210
|
+
const args = node["Fn::If"];
|
|
8211
|
+
if (!Array.isArray(args) || typeof args[0] !== "string") return false;
|
|
8212
|
+
names.add(args[0]);
|
|
8213
|
+
}
|
|
8214
|
+
return Object.values(node).every((child) => collectRereadConditions(child, names, depth + 1));
|
|
8215
|
+
}
|
|
8155
8216
|
function holdsRereadTrigger(node, depth = 0) {
|
|
8156
8217
|
if (depth > MAX_REREAD_DEPTH) return false;
|
|
8157
8218
|
if (Array.isArray(node)) return node.some((element) => holdsRereadTrigger(element, depth + 1));
|
|
@@ -8166,29 +8227,61 @@ function rendersReadTo(spelling, parentSecrets, value) {
|
|
|
8166
8227
|
if (Array.isArray(spelling) && Array.isArray(value) && spelling.length === value.length) return spelling.every((element, i) => rendersReadTo(element, parentSecrets, value[i]));
|
|
8167
8228
|
return false;
|
|
8168
8229
|
}
|
|
8169
|
-
|
|
8230
|
+
const REREAD_UNBOUND = Symbol("cdkd.reread.unbound");
|
|
8231
|
+
function rereadAssignments(source, bind, parentSecrets, untakenWhenUnbound = () => false) {
|
|
8170
8232
|
if (!holdsRereadTrigger(source)) return void 0;
|
|
8171
|
-
const
|
|
8172
|
-
if (
|
|
8173
|
-
|
|
8233
|
+
const conditions = /* @__PURE__ */ new Set();
|
|
8234
|
+
if (!collectRereadConditions(source, conditions)) return void 0;
|
|
8235
|
+
if (conditions.size > MAX_REREAD_CONDITIONS) return void 0;
|
|
8236
|
+
const names = [...conditions];
|
|
8237
|
+
const redactedBind = (name) => {
|
|
8174
8238
|
const bound = bind(name);
|
|
8175
8239
|
return bound && { value: redactInheritedParameterValue(parentSecrets, name, bound.value) };
|
|
8176
|
-
}, (text, delimiter) => splitOutsideDynamicReferences(text, delimiter, (token) => standsForInheritedSecret(parentSecrets, token)));
|
|
8177
|
-
if (redacted === void 0) return void 0;
|
|
8178
|
-
if (!rendersReadTo(redacted.value, parentSecrets, resolved.value)) return void 0;
|
|
8179
|
-
return {
|
|
8180
|
-
resolved: resolved.value,
|
|
8181
|
-
redacted: redacted.value
|
|
8182
8240
|
};
|
|
8241
|
+
const tokenSplit = (text, delimiter) => splitOutsideDynamicReferences(text, delimiter, (token) => standsForInheritedSecret(parentSecrets, token));
|
|
8242
|
+
const out = [];
|
|
8243
|
+
for (let assignment = 0; assignment < 2 ** names.length; assignment++) {
|
|
8244
|
+
const choose = (condition) => Math.floor(assignment / 2 ** names.indexOf(condition)) % 2 === 1;
|
|
8245
|
+
let unbound = false;
|
|
8246
|
+
const tracked = (name) => {
|
|
8247
|
+
const bound = bind(name);
|
|
8248
|
+
if (bound === void 0 && untakenWhenUnbound(name)) unbound = true;
|
|
8249
|
+
return bound;
|
|
8250
|
+
};
|
|
8251
|
+
const resolved = evaluatePureRead(source, tracked, plainSplit, choose);
|
|
8252
|
+
const redacted = resolved && evaluatePureRead(source, redactedBind, tokenSplit, choose);
|
|
8253
|
+
if (unbound) out.push(REREAD_UNBOUND);
|
|
8254
|
+
else if (resolved === void 0 || redacted === void 0) out.push(void 0);
|
|
8255
|
+
else if (resolved.value === REREAD_NO_VALUE || redacted.value === REREAD_NO_VALUE) out.push(resolved.value === redacted.value ? REREAD_NO_VALUE : void 0);
|
|
8256
|
+
else if (!rendersReadTo(redacted.value, parentSecrets, resolved.value)) out.push(void 0);
|
|
8257
|
+
else out.push({
|
|
8258
|
+
resolved: resolved.value,
|
|
8259
|
+
redacted: redacted.value
|
|
8260
|
+
});
|
|
8261
|
+
}
|
|
8262
|
+
return out;
|
|
8263
|
+
}
|
|
8264
|
+
function rereadParameterExpression(source, bind, parentSecrets) {
|
|
8265
|
+
const assignments = rereadAssignments(source, bind, parentSecrets);
|
|
8266
|
+
if (assignments === void 0 || assignments.includes(void 0) || assignments.includes(REREAD_UNBOUND)) return;
|
|
8267
|
+
const rereads = assignments.filter((entry) => entry !== void 0 && entry !== REREAD_NO_VALUE && entry !== REREAD_UNBOUND);
|
|
8268
|
+
if (rereads.length === 0 || ambiguousRereads(rereads)) return void 0;
|
|
8269
|
+
return rereads[0];
|
|
8270
|
+
}
|
|
8271
|
+
function ambiguousRereads(rereads) {
|
|
8272
|
+
return rereads.some((a, i) => rereads.slice(i + 1).some((b) => deepEqualJsonValue(a.resolved, b.resolved) && !deepEqualJsonValue(a.redacted, b.redacted)));
|
|
8183
8273
|
}
|
|
8184
8274
|
function positionByParameterReread(bag, source, secrets) {
|
|
8185
8275
|
const reads = inheritedParameterReads.get(secrets);
|
|
8186
8276
|
if (reads === void 0 || typeof reads === "symbol") return void 0;
|
|
8187
8277
|
if (typeof bag !== "string" && !Array.isArray(bag)) return void 0;
|
|
8188
|
-
const
|
|
8189
|
-
|
|
8278
|
+
const declared = reads.declared;
|
|
8279
|
+
const assignments = rereadAssignments(source, (name) => reads.values.has(name) ? { value: reads.values.get(name) } : void 0, reads.parent, (name) => declared?.has(name) === true);
|
|
8280
|
+
if (assignments === void 0 || assignments.includes(void 0)) return void 0;
|
|
8281
|
+
const matching = assignments.filter((entry) => entry !== void 0 && entry !== REREAD_NO_VALUE && entry !== REREAD_UNBOUND && deepEqualJsonValue(entry.resolved, bag));
|
|
8282
|
+
if (matching.length === 0 || ambiguousRereads(matching)) return void 0;
|
|
8190
8283
|
if (carriesChildOnlyPlaintext(bag, secrets, reads.parent)) return void 0;
|
|
8191
|
-
const answer =
|
|
8284
|
+
const answer = matching[0].redacted;
|
|
8192
8285
|
if (!deepEqualJsonValue(redactSecretsForState(answer, secrets), answer)) return void 0;
|
|
8193
8286
|
return answer;
|
|
8194
8287
|
}
|
|
@@ -8425,6 +8518,78 @@ function positionListByCrossStackSource(bag, source, secrets) {
|
|
|
8425
8518
|
|
|
8426
8519
|
//#endregion
|
|
8427
8520
|
//#region src/deployment/secret-redaction/redact-path.ts
|
|
8521
|
+
const NEVER_DROPPING_INTRINSICS = /* @__PURE__ */ new Set([
|
|
8522
|
+
"Fn::Join",
|
|
8523
|
+
"Fn::Sub",
|
|
8524
|
+
"Fn::Select",
|
|
8525
|
+
"Fn::Split",
|
|
8526
|
+
"Fn::GetAtt"
|
|
8527
|
+
]);
|
|
8528
|
+
function arrayElementDrop(element, depth = 0) {
|
|
8529
|
+
if (depth > 16) return "unknown";
|
|
8530
|
+
if (!isPlainObject$7(element)) return "never";
|
|
8531
|
+
if (Object.hasOwn(element, "Ref")) return element["Ref"] === "AWS::NoValue" ? "always" : "never";
|
|
8532
|
+
const keys = Object.keys(element);
|
|
8533
|
+
if (keys.filter((key) => key.startsWith("Fn::") || key === "Condition").length === 0) return "never";
|
|
8534
|
+
if (keys.length !== 1) return "unknown";
|
|
8535
|
+
if (NEVER_DROPPING_INTRINSICS.has(keys[0])) return "never";
|
|
8536
|
+
if (keys[0] !== "Fn::If") return "unknown";
|
|
8537
|
+
const args = element["Fn::If"];
|
|
8538
|
+
if (!Array.isArray(args) || args.length !== 3) return "unknown";
|
|
8539
|
+
const branches = [arrayElementDrop(args[1], depth + 1), arrayElementDrop(args[2], depth + 1)];
|
|
8540
|
+
if (branches.includes("unknown")) return "unknown";
|
|
8541
|
+
if (branches.every((branch) => branch === "never")) return "never";
|
|
8542
|
+
if (branches.every((branch) => branch === "always")) return "always";
|
|
8543
|
+
return "maybe";
|
|
8544
|
+
}
|
|
8545
|
+
function sourceElementsKeptFor(source, bagLength) {
|
|
8546
|
+
const drops = source.map((element) => arrayElementDrop(element));
|
|
8547
|
+
if (drops.includes("unknown")) return void 0;
|
|
8548
|
+
const always = drops.filter((drop) => drop === "always").length;
|
|
8549
|
+
const maybe = drops.filter((drop) => drop === "maybe").length;
|
|
8550
|
+
const dropped = source.length - bagLength;
|
|
8551
|
+
let dropMaybe;
|
|
8552
|
+
if (dropped === always) dropMaybe = false;
|
|
8553
|
+
else if (dropped === always + maybe) dropMaybe = true;
|
|
8554
|
+
else return void 0;
|
|
8555
|
+
return source.filter((_, i) => drops[i] === "never" || drops[i] === "maybe" && !dropMaybe);
|
|
8556
|
+
}
|
|
8557
|
+
function keptLiteralsCorroborate(kept, bag, secrets) {
|
|
8558
|
+
return kept.every((element, i) => keptElementCorroborates(element, bag[i], secrets));
|
|
8559
|
+
}
|
|
8560
|
+
function isIntrinsicNode(value) {
|
|
8561
|
+
if (!isPlainObject$7(value)) return false;
|
|
8562
|
+
const keys = Object.keys(value);
|
|
8563
|
+
return keys.length === 1 && (keys[0] === "Ref" || keys[0].startsWith("Fn::"));
|
|
8564
|
+
}
|
|
8565
|
+
function keptElementCorroborates(source, bag, secrets, depth = 0) {
|
|
8566
|
+
if (depth > 16) return false;
|
|
8567
|
+
if (typeof source === "string") {
|
|
8568
|
+
if (!source.includes("{{resolve:")) return source === bag;
|
|
8569
|
+
return isSingleDynamicReferenceToken(source) && resolvedPlaintextOf(secrets, source) === bag;
|
|
8570
|
+
}
|
|
8571
|
+
if (source === null || typeof source !== "object") return source === bag;
|
|
8572
|
+
if (isIntrinsicNode(source)) return true;
|
|
8573
|
+
if (Array.isArray(source)) return Array.isArray(bag) && bag.length === source.length && source.every((element, i) => keptElementCorroborates(element, bag[i], secrets, depth + 1));
|
|
8574
|
+
if (!isPlainObject$7(source) || !isPlainObject$7(bag)) return false;
|
|
8575
|
+
if (Object.keys(bag).some((key) => !Object.hasOwn(source, key))) return false;
|
|
8576
|
+
return Object.entries(source).every(([key, value]) => Object.hasOwn(bag, key) ? keptElementCorroborates(value, bag[key], secrets, depth + 1) : arrayElementDrop(value) === "always" || arrayElementDrop(value) === "maybe");
|
|
8577
|
+
}
|
|
8578
|
+
function corroboratesWhateverResolves(source, depth = 0) {
|
|
8579
|
+
if (depth > 16) return false;
|
|
8580
|
+
if (typeof source === "string") return !source.includes("{{resolve:");
|
|
8581
|
+
if (source === null || typeof source !== "object") return true;
|
|
8582
|
+
if (isIntrinsicNode(source)) return true;
|
|
8583
|
+
if (Array.isArray(source)) return source.every((element) => arrayElementDrop(element) === "never" && corroboratesWhateverResolves(element, depth + 1));
|
|
8584
|
+
if (!isPlainObject$7(source)) return false;
|
|
8585
|
+
if (Object.keys(source).some((key) => key === "Ref" || key.startsWith("Fn::"))) return false;
|
|
8586
|
+
return Object.values(source).every((value) => arrayElementDrop(value) !== "unknown" && corroboratesWhateverResolves(value, depth + 1));
|
|
8587
|
+
}
|
|
8588
|
+
function arrayPairsWhateverDrops(source) {
|
|
8589
|
+
if (!source.some((element) => isPlainObject$7(element) && (Object.hasOwn(element, "Fn::If") || element["Ref"] === "AWS::NoValue" || Array.isArray(element["Fn::FindInMap"]) && element["Fn::FindInMap"].length > 3))) return true;
|
|
8590
|
+
const drops = source.map((element) => arrayElementDrop(element));
|
|
8591
|
+
return !drops.includes("unknown") && drops.filter((drop) => drop === "maybe").length <= 1 && source.every((element) => corroboratesWhateverResolves(element));
|
|
8592
|
+
}
|
|
8428
8593
|
function redactByPath(bag, source, secrets, rules, secretExpressions, bagIsSameGeneration) {
|
|
8429
8594
|
if (isDynamicReferenceString(source) && typeof bag === "string") {
|
|
8430
8595
|
if (isSingleDynamicReferenceToken(source) && (rules.trustAnyExpression || isKnownSecretExpression(source, secretExpressions))) {
|
|
@@ -8479,6 +8644,10 @@ function redactByPath(bag, source, secrets, rules, secretExpressions, bagIsSameG
|
|
|
8479
8644
|
});
|
|
8480
8645
|
}
|
|
8481
8646
|
if (rules.descendArrays && bag.length === source.length) return bag.map((item, i) => redactByPath(item, source[i], secrets, rules, secretExpressions, bagIsSameGeneration));
|
|
8647
|
+
if (rules.descendArrays && bag.length < source.length) {
|
|
8648
|
+
const kept = sourceElementsKeptFor(source, bag.length);
|
|
8649
|
+
if (kept !== void 0 && keptLiteralsCorroborate(kept, bag, secrets)) return bag.map((item, i) => redactByPath(item, kept[i], secrets, rules, secretExpressions, bagIsSameGeneration));
|
|
8650
|
+
}
|
|
8482
8651
|
}
|
|
8483
8652
|
if (isPlainObject$7(bag) && hasPlainPrototype(bag) && isPlainObject$7(source)) {
|
|
8484
8653
|
const out = Object.create(null);
|
|
@@ -11332,12 +11501,19 @@ async function withRetry(operation, logicalId, opts = {}) {
|
|
|
11332
11501
|
return await operation();
|
|
11333
11502
|
} catch (error) {
|
|
11334
11503
|
lastError = error;
|
|
11504
|
+
const replayMadeAnother = replayMadeAnotherResource(previousError, error);
|
|
11335
11505
|
const carried = carryCreatedBeforeFailure(previousError, error);
|
|
11336
11506
|
if (hasCreatedBeforeFailure(carried) || !hasCreatedBeforeFailure(previousError)) previousError = carried;
|
|
11337
11507
|
if (isAuxiliaryFailure(error) || hasReplayMayCollide(error) || isAmbiguousOutcomeError(error)) replayMayCollide = true;
|
|
11338
11508
|
const message = describeAwsFailure(error).detail;
|
|
11339
11509
|
const classifyText = retryClassificationText(error);
|
|
11340
11510
|
if (isMarkedNonRetryable(error)) throw settle(error);
|
|
11511
|
+
if (replayMadeAnother) {
|
|
11512
|
+
try {
|
|
11513
|
+
opts.logger?.warn?.(safeMsg`${shownId}: not retrying - a retried create made another resource instead of resuming the one an earlier attempt left behind, and only the latest is recorded for \`cdkd rollback --revert-failed\`. Find the earlier one and delete it by hand`);
|
|
11514
|
+
} catch {}
|
|
11515
|
+
throw settle(error);
|
|
11516
|
+
}
|
|
11341
11517
|
const retryable = opts.isRetryable ? opts.isRetryable(classifyText, error) : isRetryableTransientError(error, classifyText);
|
|
11342
11518
|
const propagation = defaultSchedule && isIamPropagationError(classifyText);
|
|
11343
11519
|
if (propagation) sawPropagation = true;
|
|
@@ -23339,8 +23515,9 @@ function recordInheritedParameterSecrets(parameterName, value, context) {
|
|
|
23339
23515
|
if (inherited && recorded) recordInheritedNoEchoListElements(this, inherited, recorded, value, context);
|
|
23340
23516
|
if (!inherited || inherited.size === 0 || !recorded) return;
|
|
23341
23517
|
const mirror = parameterReadMirrors.get(recorded);
|
|
23342
|
-
|
|
23343
|
-
|
|
23518
|
+
const declared = declaredParameterNames(context);
|
|
23519
|
+
recordInheritedParameterValue(recorded, inherited, parameterName, value, declared);
|
|
23520
|
+
if (mirror) recordInheritedParameterValue(mirror, inherited, parameterName, value, declared);
|
|
23344
23521
|
for (const [plaintext, expression] of inheritedSecretsCarriedBy(value, inherited)) {
|
|
23345
23522
|
const carried = carriedExpressionFor(inherited, parameterName, value, plaintext, expression);
|
|
23346
23523
|
recorded.set(plaintext, carried);
|
|
@@ -23351,6 +23528,17 @@ function recordInheritedParameterSecrets(parameterName, value, context) {
|
|
|
23351
23528
|
carryFreshNoEchoMark(inherited, recorded, plaintext);
|
|
23352
23529
|
}
|
|
23353
23530
|
}
|
|
23531
|
+
function declaredParameterNames(context) {
|
|
23532
|
+
const declared = context.template?.Parameters;
|
|
23533
|
+
if (declared === null || typeof declared !== "object") return void 0;
|
|
23534
|
+
let names = declaredNamesCache.get(declared);
|
|
23535
|
+
if (names === void 0) {
|
|
23536
|
+
names = new Set(Object.keys(declared));
|
|
23537
|
+
declaredNamesCache.set(declared, names);
|
|
23538
|
+
}
|
|
23539
|
+
return names;
|
|
23540
|
+
}
|
|
23541
|
+
const declaredNamesCache = /* @__PURE__ */ new WeakMap();
|
|
23354
23542
|
const parameterReadMirrors = /* @__PURE__ */ new WeakMap();
|
|
23355
23543
|
function mirrorInheritedParameterReads(passSecrets, persistSecrets) {
|
|
23356
23544
|
if (passSecrets !== persistSecrets) parameterReadMirrors.set(passSecrets, persistSecrets);
|
|
@@ -23437,7 +23625,7 @@ function parameterReadsOf(node, names, reread, positionsArrays) {
|
|
|
23437
23625
|
};
|
|
23438
23626
|
const visit = (value, slotRead, atLeaf) => {
|
|
23439
23627
|
if (Array.isArray(value)) {
|
|
23440
|
-
const mayShrink = atLeaf
|
|
23628
|
+
const mayShrink = atLeaf ? !positionsArrays || !arrayPairsWhateverDrops(value) : value.some((element) => element !== null && typeof element === "object" && !Array.isArray(element) && (Object.hasOwn(element, "Fn::If") || element["Ref"] === "AWS::NoValue"));
|
|
23441
23629
|
for (const element of value) visit(element, slotRead || mayShrink, atLeaf && !mayShrink);
|
|
23442
23630
|
return;
|
|
23443
23631
|
}
|
|
@@ -23526,6 +23714,12 @@ function refNamesIn(node, names) {
|
|
|
23526
23714
|
if (value === null || typeof value !== "object") return;
|
|
23527
23715
|
const record = value;
|
|
23528
23716
|
if (typeof record["Ref"] === "string" && names.has(record["Ref"])) found.add(record["Ref"]);
|
|
23717
|
+
const sub = record["Fn::Sub"];
|
|
23718
|
+
const text = typeof sub === "string" ? sub : Array.isArray(sub) ? sub[0] : void 0;
|
|
23719
|
+
if (typeof text === "string") for (const match of text.matchAll(/\$\{([^}!][^}]*)\}/g)) {
|
|
23720
|
+
const name = match[1].trim();
|
|
23721
|
+
if (names.has(name)) found.add(name);
|
|
23722
|
+
}
|
|
23529
23723
|
for (const child of Object.values(record)) visit(child);
|
|
23530
23724
|
};
|
|
23531
23725
|
visit(node);
|
|
@@ -26331,7 +26525,7 @@ var CloudControlProvider = class {
|
|
|
26331
26525
|
const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
|
|
26332
26526
|
if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
|
|
26333
26527
|
this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
|
|
26334
|
-
const { ASGProvider } = await import("./asg-provider-
|
|
26528
|
+
const { ASGProvider } = await import("./asg-provider-BS5i71bK.js");
|
|
26335
26529
|
const delegateRegion = ambientRegion();
|
|
26336
26530
|
let asgProvider = this.asgDeleteDelegates.get(delegateRegion);
|
|
26337
26531
|
if (asgProvider === void 0) {
|
|
@@ -26437,7 +26631,7 @@ var CloudControlProvider = class {
|
|
|
26437
26631
|
const family = SDK_DELETE_FAMILIES.get(resourceType);
|
|
26438
26632
|
const cached = this.sdkDeleteDelegates.get(family);
|
|
26439
26633
|
if (cached !== void 0 && cached.region === ccRegion) return cached.provider;
|
|
26440
|
-
const provider = family === "rds" ? new (await (import("./rds-provider-
|
|
26634
|
+
const provider = family === "rds" ? new (await (import("./rds-provider-DraxDuQq.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-CqZ1FaqT.js"))).NeptuneProvider({ region: ccRegion });
|
|
26441
26635
|
this.sdkDeleteDelegates.set(family, {
|
|
26442
26636
|
region: ccRegion,
|
|
26443
26637
|
provider
|
|
@@ -30914,6 +31108,58 @@ function recordedTagsUnreadableWarning(resourceType, id, applied) {
|
|
|
30914
31108
|
return safeMsg`The recorded Tags of ${resourceType} ${id} is not a list cdkd can read, so cdkd removed no tag and applied the ${applied} desired tag(s) only. Untag any key the template no longer names yourself.`;
|
|
30915
31109
|
}
|
|
30916
31110
|
|
|
31111
|
+
//#endregion
|
|
31112
|
+
//#region src/provisioning/delete-started.ts
|
|
31113
|
+
const DELETE_STARTED = Symbol.for("cdkd.deleteStarted");
|
|
31114
|
+
const MAX_DEPTH = 10;
|
|
31115
|
+
function markDeleteStarted(error) {
|
|
31116
|
+
try {
|
|
31117
|
+
if (typeof error !== "object" || error === null || !Object.isExtensible(error)) return error;
|
|
31118
|
+
Object.defineProperty(error, DELETE_STARTED, {
|
|
31119
|
+
value: true,
|
|
31120
|
+
enumerable: false,
|
|
31121
|
+
writable: false,
|
|
31122
|
+
configurable: true
|
|
31123
|
+
});
|
|
31124
|
+
} catch {}
|
|
31125
|
+
return error;
|
|
31126
|
+
}
|
|
31127
|
+
function isDeleteStarted(error) {
|
|
31128
|
+
try {
|
|
31129
|
+
let current = error;
|
|
31130
|
+
for (let depth = 0; depth < MAX_DEPTH && typeof current === "object" && current !== null; depth++) {
|
|
31131
|
+
if (current[DELETE_STARTED] === true) return true;
|
|
31132
|
+
current = current.cause;
|
|
31133
|
+
}
|
|
31134
|
+
} catch {}
|
|
31135
|
+
return false;
|
|
31136
|
+
}
|
|
31137
|
+
const REFUSAL_NAMES = /* @__PURE__ */ new Set([
|
|
31138
|
+
"AccessDenied",
|
|
31139
|
+
"AccessDeniedException",
|
|
31140
|
+
"UnauthorizedOperation",
|
|
31141
|
+
"AuthorizationError",
|
|
31142
|
+
"DependencyViolation",
|
|
31143
|
+
"DeleteConflict",
|
|
31144
|
+
"DeleteConflictException"
|
|
31145
|
+
]);
|
|
31146
|
+
function isRefusedByName(error) {
|
|
31147
|
+
try {
|
|
31148
|
+
let current = error;
|
|
31149
|
+
for (let depth = 0; depth < MAX_DEPTH && current != null; depth++) {
|
|
31150
|
+
if (typeof current !== "object") break;
|
|
31151
|
+
const link = current;
|
|
31152
|
+
for (const name of [
|
|
31153
|
+
link.name,
|
|
31154
|
+
link.Code,
|
|
31155
|
+
link.code
|
|
31156
|
+
]) if (typeof name === "string" && REFUSAL_NAMES.has(name)) return true;
|
|
31157
|
+
current = link.cause;
|
|
31158
|
+
}
|
|
31159
|
+
} catch {}
|
|
31160
|
+
return false;
|
|
31161
|
+
}
|
|
31162
|
+
|
|
30917
31163
|
//#endregion
|
|
30918
31164
|
//#region src/provisioning/providers/idempotency-token.ts
|
|
30919
31165
|
const PROCESS_NONCE = randomUUID();
|
|
@@ -34757,28 +35003,9 @@ async function replayRevert(s) {
|
|
|
34757
35003
|
|
|
34758
35004
|
//#endregion
|
|
34759
35005
|
//#region src/deployment/rollback-executor/replaced-survivor.ts
|
|
34760
|
-
const DELETE_REFUSAL_NAMES = /* @__PURE__ */ new Set([
|
|
34761
|
-
"AccessDenied",
|
|
34762
|
-
"AccessDeniedException",
|
|
34763
|
-
"UnauthorizedOperation",
|
|
34764
|
-
"AuthorizationError",
|
|
34765
|
-
"DependencyViolation",
|
|
34766
|
-
"DeleteConflict",
|
|
34767
|
-
"DeleteConflictException"
|
|
34768
|
-
]);
|
|
34769
35006
|
function replacedDeleteFailureVerdict(error) {
|
|
34770
|
-
|
|
34771
|
-
|
|
34772
|
-
if (typeof current !== "object") break;
|
|
34773
|
-
const link = current;
|
|
34774
|
-
for (const name of [
|
|
34775
|
-
link.name,
|
|
34776
|
-
link.Code,
|
|
34777
|
-
link.code
|
|
34778
|
-
]) if (typeof name === "string" && DELETE_REFUSAL_NAMES.has(name)) return "kept";
|
|
34779
|
-
current = link.cause;
|
|
34780
|
-
}
|
|
34781
|
-
return "unconfirmed";
|
|
35007
|
+
if (isDeleteStarted(error)) return "unconfirmed";
|
|
35008
|
+
return isRefusedByName(error) ? "kept" : "unconfirmed";
|
|
34782
35009
|
}
|
|
34783
35010
|
const REPLACED_SURVIVOR_PROBE_TIMEOUT_MS = 3e4;
|
|
34784
35011
|
const INTERRUPT_POLL_MS = 250;
|
|
@@ -35098,7 +35325,7 @@ function survivorUnprovenRefusal(s, oldType, verdict) {
|
|
|
35098
35325
|
const oldId = op.previousState?.physicalId;
|
|
35099
35326
|
const oldShown = hasAddressablePhysicalId({ physicalId: oldId }) ? refusalPhysicalId(mask(String(oldId))) : "no recorded id";
|
|
35100
35327
|
const rerun = rerunRollbackPhrase(ctx, "cdkd rollback");
|
|
35101
|
-
const why = verdict === "unreadable" ? "cdkd has no read for this resource type that can tell whether it does. Re-creating it could duplicate it or collide with it" : verdict === "interrupted" ? `the rollback was interrupted before cdkd could read whether it does; re-running ${rerun} reads it` : verdict === "unknown" ? `cdkd could not read whether it does (the read failed or did not answer in time); re-running ${rerun} reads it again. Re-creating it could duplicate it or collide with it` : `AWS still reports it, but its failed delete may have been accepted and still be running, or only partly ran. Re-adopting it could leave neither resource once a running delete finishes, or one that delete already stripped; once AWS reports it gone, re-running ${rerun} re-creates it`;
|
|
35328
|
+
const why = verdict === "unreadable" ? "cdkd has no read for this resource type that can tell whether it does. Re-creating it could duplicate it or collide with it" : verdict === "interrupted" ? `the rollback was interrupted before cdkd could read whether it does; re-running ${rerun} reads it` : verdict === "unknown" ? `cdkd could not read whether it does (the read failed or did not answer in time); re-running ${rerun} reads it again. Re-creating it could duplicate it or collide with it` : `AWS still reports it, but its failed delete may have been accepted and still be running, or only partly ran. Re-adopting it could leave neither resource once a running delete finishes, or one that delete already stripped; once AWS reports it gone, re-running ${rerun} re-creates it. A refused delete is not running, so waiting does not help: if its delete was refused, delete it by hand, then re-run ${rerun}`;
|
|
35102
35329
|
return ownRemedyError(markNonRetryable(new CdkdError(`Cannot reverse the replacement of ${refusalLogicalId(op.logicalId)} (${refusalResourceType(oldType)}): the deploy did not confirm that it deleted the old resource (${oldShown}), so it may still exist, and ${why}. Nothing was sent and the journal is kept.` + (remedy.offered ? " To keep the new resource in its place instead, re-run with the command below, then delete the old resource by hand if it still exists." : "") + `${remedy.clause}${describedPhysicalIdPointer(oldShown)}` + remedy.line, "REPLACED_SURVIVOR_UNPROVEN")));
|
|
35103
35330
|
}
|
|
35104
35331
|
|
|
@@ -39609,7 +39836,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
39609
39836
|
this.logger.debug(maskSecrets(`Added/updated ${tagsToAdd.length} tag(s) on DynamoDB GlobalTable ${tableArn}`));
|
|
39610
39837
|
}
|
|
39611
39838
|
}
|
|
39612
|
-
async applyAutoScalingDiff(tableName, dimension, oldSettings, newSettings, client, indexName, budget, maskSecrets = (text) => text) {
|
|
39839
|
+
async applyAutoScalingDiff(tableName, dimension, oldSettings, newSettings, client, indexName, budget, maskSecrets = (text) => text, progress) {
|
|
39613
39840
|
const warn = (message) => this.logger.warn(maskSecrets(message));
|
|
39614
39841
|
const asMaxRetries = autoScalingRetriesWithinDeleteBudget(budget, 8);
|
|
39615
39842
|
const metricType = dimension.endsWith("WriteCapacityUnits") ? "DynamoDBWriteCapacityUtilization" : "DynamoDBReadCapacityUtilization";
|
|
@@ -39709,8 +39936,10 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
39709
39936
|
onInterrupted: watch.onInterrupted,
|
|
39710
39937
|
...autoScalingRetryDelays.sleep ? { sleep: autoScalingRetryDelays.sleep } : {}
|
|
39711
39938
|
});
|
|
39939
|
+
if (progress) progress.stripped = true;
|
|
39712
39940
|
} catch (err) {
|
|
39713
39941
|
if (isInterruptedWaitError(err)) throw err;
|
|
39942
|
+
if (progress && !isObjectNotFound(err) && !isRefusedByName(err)) progress.stripped = true;
|
|
39714
39943
|
if (!isObjectNotFound(err)) warn(`Could not delete auto-scaling policy on ${tableName} (${dimension}): ${describeAwsFailure(err).detail}. Run: ${pasteableAwsCommand(maskSecrets)`aws application-autoscaling delete-scaling-policy --policy-name ${policyName} --service-namespace dynamodb --resource-id ${resourceId} --scalable-dimension ${dimension}`.render()}`);
|
|
39715
39944
|
}
|
|
39716
39945
|
try {
|
|
@@ -39725,9 +39954,11 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
39725
39954
|
onInterrupted: watch.onInterrupted,
|
|
39726
39955
|
...autoScalingRetryDelays.sleep ? { sleep: autoScalingRetryDelays.sleep } : {}
|
|
39727
39956
|
});
|
|
39957
|
+
if (progress) progress.stripped = true;
|
|
39728
39958
|
this.logger.debug(maskSecrets(`Deregistered auto-scaling target ${resourceId} (${dimension})`));
|
|
39729
39959
|
} catch (err) {
|
|
39730
39960
|
if (isInterruptedWaitError(err)) throw err;
|
|
39961
|
+
if (progress && !isObjectNotFound(err) && !isRefusedByName(err)) progress.stripped = true;
|
|
39731
39962
|
if (!isObjectNotFound(err)) warn(`Could not deregister auto-scaling target on ${tableName} (${dimension}): ${describeAwsFailure(err).detail}. Run: ${pasteableAwsCommand(maskSecrets)`aws application-autoscaling deregister-scalable-target --service-namespace dynamodb --resource-id ${resourceId} --scalable-dimension ${dimension}`.render()}`);
|
|
39732
39963
|
}
|
|
39733
39964
|
} finally {
|
|
@@ -39815,9 +40046,11 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
39815
40046
|
}
|
|
39816
40047
|
async delete(logicalId, physicalId, resourceType, _properties, context) {
|
|
39817
40048
|
const flip = this.protectionFlips.acquire(deleteBudgetKey(physicalId, context?.expectedRegion), DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, resolveDynamoDbDeleteBudgetClock());
|
|
40049
|
+
const progress = { stripped: false };
|
|
39818
40050
|
try {
|
|
39819
|
-
await this.deleteGlobalTableResource(logicalId, physicalId, resourceType, context, flip);
|
|
40051
|
+
await this.deleteGlobalTableResource(logicalId, physicalId, resourceType, context, flip, progress);
|
|
39820
40052
|
} catch (error) {
|
|
40053
|
+
if (progress.stripped) markDeleteStarted(error);
|
|
39821
40054
|
let outcome = "failed";
|
|
39822
40055
|
try {
|
|
39823
40056
|
outcome = await compensateRemovedDeletionProtection({
|
|
@@ -39840,7 +40073,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
39840
40073
|
throw error;
|
|
39841
40074
|
}
|
|
39842
40075
|
}
|
|
39843
|
-
async deleteGlobalTableResource(logicalId, physicalId, resourceType, context, flip) {
|
|
40076
|
+
async deleteGlobalTableResource(logicalId, physicalId, resourceType, context, flip, progress) {
|
|
39844
40077
|
const deleteMask = context?.maskSecrets ?? ((text) => text);
|
|
39845
40078
|
const shownTable = deleteMask(physicalId);
|
|
39846
40079
|
this.logger.debug(deleteMask(`Deleting DynamoDB GlobalTable ${logicalId}: ${shownTable}`));
|
|
@@ -39883,23 +40116,24 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
39883
40116
|
const region = replica.RegionName;
|
|
39884
40117
|
if (!region || region === currentRegion) continue;
|
|
39885
40118
|
try {
|
|
39886
|
-
await this.applyAutoScalingDiff(physicalId, "dynamodb:table:ReadCapacityUnits", {}, void 0, this.getRegionalAutoScalingClient(region), void 0, budget);
|
|
39887
|
-
for (const indexName of tableIndexNames) await this.applyAutoScalingDiff(physicalId, "dynamodb:index:ReadCapacityUnits", {}, void 0, this.getRegionalAutoScalingClient(region), indexName, budget);
|
|
40119
|
+
await this.applyAutoScalingDiff(physicalId, "dynamodb:table:ReadCapacityUnits", {}, void 0, this.getRegionalAutoScalingClient(region), void 0, budget, void 0, progress);
|
|
40120
|
+
for (const indexName of tableIndexNames) await this.applyAutoScalingDiff(physicalId, "dynamodb:index:ReadCapacityUnits", {}, void 0, this.getRegionalAutoScalingClient(region), indexName, budget, void 0, progress);
|
|
39888
40121
|
await this.dynamoDBClient.send(new UpdateTableCommand({
|
|
39889
40122
|
TableName: physicalId,
|
|
39890
40123
|
ReplicaUpdates: [{ Delete: { RegionName: region } }]
|
|
39891
40124
|
}));
|
|
40125
|
+
progress.stripped = true;
|
|
39892
40126
|
await this.waitForReplicaGone(physicalId, region, logicalId, REPLICA_GONE_WAIT_ATTEMPTS, budget, context?.maskSecrets);
|
|
39893
40127
|
} catch (replicaErr) {
|
|
39894
40128
|
if (!(replicaErr instanceof ResourceNotFoundException$1)) throw replicaErr;
|
|
39895
40129
|
}
|
|
39896
40130
|
}
|
|
39897
40131
|
const localAsClient = await this.getLocalAutoScalingClient();
|
|
39898
|
-
await this.applyAutoScalingDiff(physicalId, "dynamodb:table:ReadCapacityUnits", {}, void 0, localAsClient, void 0, budget);
|
|
39899
|
-
await this.applyAutoScalingDiff(physicalId, "dynamodb:table:WriteCapacityUnits", {}, void 0, localAsClient, void 0, budget);
|
|
40132
|
+
await this.applyAutoScalingDiff(physicalId, "dynamodb:table:ReadCapacityUnits", {}, void 0, localAsClient, void 0, budget, void 0, progress);
|
|
40133
|
+
await this.applyAutoScalingDiff(physicalId, "dynamodb:table:WriteCapacityUnits", {}, void 0, localAsClient, void 0, budget, void 0, progress);
|
|
39900
40134
|
for (const indexName of tableIndexNames) {
|
|
39901
|
-
await this.applyAutoScalingDiff(physicalId, "dynamodb:index:WriteCapacityUnits", {}, void 0, localAsClient, indexName, budget);
|
|
39902
|
-
await this.applyAutoScalingDiff(physicalId, "dynamodb:index:ReadCapacityUnits", {}, void 0, localAsClient, indexName, budget);
|
|
40135
|
+
await this.applyAutoScalingDiff(physicalId, "dynamodb:index:WriteCapacityUnits", {}, void 0, localAsClient, indexName, budget, void 0, progress);
|
|
40136
|
+
await this.applyAutoScalingDiff(physicalId, "dynamodb:index:ReadCapacityUnits", {}, void 0, localAsClient, indexName, budget, void 0, progress);
|
|
39903
40137
|
}
|
|
39904
40138
|
} catch (describeErr) {
|
|
39905
40139
|
if (describeErr instanceof ProvisioningError) throw describeErr;
|
|
@@ -47616,5 +47850,5 @@ DeployEngine.prototype.replacementNameOrigin = replacementNameOrigin;
|
|
|
47616
47850
|
DeployEngine.prototype.orphanedNameCollisionAdvice = orphanedNameCollisionAdvice;
|
|
47617
47851
|
|
|
47618
47852
|
//#endregion
|
|
47619
|
-
export { S3_AUTO_DELETE_OBJECTS_TAG as $, findSilentDropProperties as $a, synthesisStatusMessage as $c, malformedExportNamesWarning as $i, findDestructiveChanges as $n, printingCorpusOf as $o, assertSendableRoleArn as $r, describeRegionValueKind as $s, recordUnderIdIsNotOwn as $t, diffSecurity as A, refuseMalformedResourceEntriesForDestroy as Aa, resolveDockerContextDirectory as Ac, AWS_NO_VALUE as Ai, nullPrototypeRecord as Al, DEFAULT_RESOURCE_TIMEOUT_MS as An, lambdaFunctionNameForMask as Ao, unchangedBehindSecretReference as Ar, recordMaskOnlyValuesIn as As, withNestedStackContext as At, readProtection as B, refuseMalformedResourcesForExport as Ba, partitionSensitiveEnv as Bc, STATE_REGION_DIVERGED as Bi, resolveBucketRegion as Bl, storedSecretNameNeedles as Bn, noEchoCoordinatesOf as Bo, ec2InstanceProtectionSite as Br, isSingleDynamicReferenceToken as Bs, awaitInFlightSibling as Bt, withApiLimit as C, refuseMalformedOrphansForDestroy as Ca, isCrossRegionRedirect as Cc, parameterTypeMayLoseSecretIdentity as Ci, derivePartitionAndUrlSuffix as Cl, exportNameSecretExposure as Cn, requireConfigObject as Co, getCurrentResourceSecrets as Cr, physicalNameCopiesOf as Cs, nestedChildStackName as Ct, findServiceTokenRefusals as D, refuseMalformedResourceAttributesForOrphan as Da, validateContainerRepoName as Dc, carriesFetchableDynamicReference as Di, defineOwnKey as Dl, collectPublishedOutputNames as Dn, describeTypeWithThrottleRetry as Do, customResourceResponseExpirationWarning as Dr, carriesSecretMask as Ds, withNestedRevertRun as Dt, deferredServiceTokenWarning as E, refuseMalformedOutputsForDestroy as Ea, validateAssetBucketName as Ec, carriesDynamicReference as Ei, processStackMessages as El, collectDeclaredOutputNames as En, templateResourceTypes as Eo, applyCustomResourceResponseExpiration as Er, splitGetAttStringForm as Es, revertedNestedRowIds as Et, recordedProtectionEvidence as F, refuseMalformedResourcePropertiesForDrift as Fa, finchSecretArgvRefusal as Fc, withSharedDrainBudget as Fi, renderAssemblyPathEscape as Fl, orphanRecordsPrintingBag as Fn, isMarkedCoordinate as Fo, deleteSkipReason as Fr, STATE_SOURCED_BASELINE_RULES as Fs, loadJournaledOrphans as Ft, deleteBudgetKey as G, repairMalformedResourceEntriesForReadOnly as Ga, runDockerStreaming as Gc, deployRefusesOrphanRowsReason as Gi, ccRoutedFinalSnapshotError as Gn, readsNoEchoSource as Go, DiffCalculator as Gr, CrossPrefixReadError as Gs, replacedDeleteFailureVerdict as Gt, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as H, repairMalformedOrphanRecordsForReadOnly as Ha, redactedCause as Hc, UNREADABLE_ORPHANS_CONTAINER_ROW as Hi, ATOMIC_FINAL_SNAPSHOT_TYPES as Hn, noEchoOutputsComparison as Ho, observeThenDisableInstanceApiTermination as Hr, isLockInfoExpired as Hs, getStackRecords as Ht, recordedProtectionNote as I, refuseMalformedResourcePropertiesForExport as Ia, formatDockerLoginError as Ic, parameterInputsFor as Ii, resolveAssemblyPath as Il, secretNamePrintingBag as In, maskAtCoordinates as Io, withIndeterminateGuard as Ir, STATE_SOURCED_CROSS_GENERATION_RULES as Is, makeForeignHolderScan as It, DELETE_INDEX_WAIT_PROCEED_NOTE as J, unpreviewableOrphanRecords as Ja, stripControlChars as Jc, hasReadableOutputs as Ji, isFinalSnapshotError as Jn, carryLogOnlyValues as Jo, poisonRenderedSpellingsCollidingIn as Jr, crossPrefixDeniedWarning as Js, isJournaledOrphan as Jt, resolveDynamoDbDeleteBudgetClock as K, repairMalformedResourcePropertiesForReadOnly as Ka, warnFinchArgvExposure as Kc, displayLogicalId as Ki, createPreDeleteFinalSnapshot as Kn, valueAtCoordinate as Ko, INTRINSIC_KEYS as Kr, CrossPrefixScanCache as Ks, recordAfterRollbackUpdate as Kt, PROTECTION_PROPERTY_BY_TYPE as L, refuseMalformedResourcePropertiesForOrphan as La, getDockerCmd as Lc, passedParameterClassesOf as Li, injectAwsRegion as Ll, secretNamePrintingBags as Ln, maskReadbackAtCoordinates as Lo, isWaitAbandonedError as Lr, STATE_SOURCED_READBACK_RULES as Ls, sameJournaledOrphans as Lt, noEchoComparisonForTemplate as M, refuseMalformedResourceEntriesForImportSave as Ma, describeDockerExecFailure as Mc, isStalePlaceholderArnAttribute as Mi, absoluteAssemblyPathEscape as Ml, completedReplayEntries as Mn, DagBuilder as Mo, UNSPECIFIED_SKIP_REASON as Mr, recordNoEchoParameterFreshValue as Ms, dropFailedHint as Mt, noEchoExactEchoLeavesOf as N, refuseMalformedResourceEntriesForOrphan as Na, describeDockerFailure as Nc, refStateLookupFromResource as Ni, describeFileReadFailure as Nl, journaledOrphanPrintingBag as Nn, TemplateParser as No, deleteIndeterminateGuards as Nr, recordProvenPublicExpression as Ns, isHandledOrphan as Nt, serviceTokenBlockingReason as O, refuseMalformedResourceEntries as Oa, buildDenyExternalAccessPolicy as Oc, isNamelessDynamicReferenceError as Oi, hasOwnKey as Ol, isExportAliasCollision as On, withRetry as Oo, CloudControlProvider as Or, provenPublicValue as Os, collectNestedChildUnaddressed as Ot, noEchoParameterNamesOf as P, refuseMalformedResourcePropertiesForDestroy as Pa, dockerSpawnEnvWithSensitive as Pc, parseWebACLArn as Pi, displayAssemblyPath as Pl, maskEventTextWithBoundBags as Pn, canonicalCoordinates as Po, deleteLeftInPlace as Pr, wholeStringLeavesOf as Ps, journaledOrphanLines as Pt, ECR_AUTO_DELETE_IMAGES_TAG as Q, findActionableSilentDrops as Qa, Synthesizer as Qc, malformedDriftResourcePropertiesWarning as Qi, constructPathOf as Qn, logOnlyValueCount as Qo, assertFlagRoleArn as Qr, acceptedCreateOnlyDropsOf as Qs, recheckFailedPlan as Qt, isProtectionValueActive as R, refuseMalformedResourcesForDeploy as Ra, isDockerClientEnvKey as Rc, declaresNoEcho as Ri, injectedAwsRegionValue as Rl, secretNamedRecordNeedles as Rn, maskWholeValue as Ro, markWaitAbandoned as Rr, TEMPLATE_SOURCED_RULES as Rs, replayFailedOperations as Rt, lookupEachName as S, refuseMalformedOrphans as Sa, getBootstrapMarkerKey as Sc, isUnboundTemplateParameter as Si, canonicalizeRegion as Sl, exportNameNoEchoParameters as Sn, requireConfigArray as So, isCustomResourceType as Sr, recoverMaskedOutput as Ss, getNestedRevertRun as St, recordRetainedForReadoption as T, refuseMalformedOutputs as Ta, readBootstrapMarkerBody as Tc, isImpossibleEmptyStoredAttribute as Ti, StageLoadError as Tl, noEchoParameterValueSeed as Tn, prefetchCreateOnlyPropertyPaths as To, CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID as Tr, recordPhysicalNameCopy as Ts, revertNestedChildFromJournal as Tt, beginDeleteWait as U, repairMalformedOrphansForReadOnly as Ua, redactedDockerCause as Uc, UNREADABLE_RESOURCES_MAP_ROW as Ui, PRE_DELETE_SNAPSHOT_TYPES as Un, passedNoEchoParametersOf as Uo, reDisableInstanceApiTermination as Ur, S3StateBackend as Us, withStackRecords as Ut, DynamoDBGlobalTableProvider as V, refuseMalformedState as Va, redactDockerArgvValues as Vc, STATE_RESOURCES_MALFORMED as Vi, extractDeploymentEventError as Vn, noEchoLeavesOf as Vo, isTerminationProtectionPropagationError as Vr, LockManager as Vs, destroyStackRecordsView as Vt, compensateRemovedDeletionProtection as W, repairMalformedOutputsForReadOnly as Wa, runDockerForeground as Wc, accountArgs as Wi, buildFinalSnapshotIdentifier as Wn, readbackPathFor as Wo, reEnableInstanceApiTermination as Wr, rebuildClientForBucketRegion as Ws, removeProtectionTypeList as Wt, deleteTableWithIndexBusyRetry as X, unreadableResourceEntries as Xa, AssetManifestLoader as Xc, isReadableOrphanRecord as Xi, unsupportedFinalSnapshotError as Xn, hasMaskableValues as Xo, refuseUnreadableCdkCrossAccountRefs as Xr, isNotImplemented as Xs, planFailedOps as Xt, INDEX_SETTLE_POLL_INTERVAL_MS as Y, unreadableOrphanRecords as Ya, stripForDisplay as Yc, hasReadableResources as Yi, refusesFinalSnapshot as Yn, createUnionSecretMasker as Yo, producerLookupOver as Yr, isAccessDenied$1 as Ys, isReplacementOrphan as Yt, waitForIndexesSettled as Z, withheldAccountClause as Za, getDockerImageBySourceHash as Zc, isReadableResourceEntry as Zi, maskingRetryLogger as Zn, literalSplitDelimitersOf as Zo, applyRoleArnIfSet as Zr, splitImportedOps as Zs, planRollback as Zt, keptWholeReasonText as _, previewableOrphanRecords as _a, rewriteTemplateAssetReferences as _c, classifyRecordedSecretRegion as _i, uploadCfnTemplate as _l, exportAliasCollisionScrubWarning as _n, configBooleanRefusal as _o, ccBrokenReason as _r, isUncertifiedBaselineMaskPosition as _s, planOrphanAdoption as _t, inheritedProvenanceForChildDiff as a, malformedOrphanRecordsWarning as aa, importableOutputs as ac, callerEnvCredentials as ai, resolveCaptureObservedState as al, getCurrentProducerRegions as an, shownType as ao, acquireIdempotencyToken as ar, errorCauseChain as as, createReadOnlyAttributeHealerFactory as at, chunks as b, refuseMalformedOrphanRecords as ba, assertAssetBucketRegion as bc, regionLessSecretName as bi, expectedOwnerParam as bl, secretSafeKeyDisplay as bn, readConfigString as bo, TemplateNoEchoReresolver as br, inheritNestedStackParameterAssociations as bs, displacedPhysicalIdShown as bt, isAbsoluteAssetPath as c, malformedOrphansWarning as ca, orphansCarriedFrom as cc, keepHeldTokenProvenance as ci, resolveStateBucketWithDefaultAndSource as cl, isRedactedRecordedValue as cn, isStatefulRecreateTargetSync as co, planTagDiff as cr, markSameGenerationBag as cs, gray as ct, templateIdentity as d, malformedRenderedContainersWarning as da, isSensitiveAttributeName as dc, recordedReferenceRegions as di, warnDeprecatedNoPrefixCliFlag as dl, updatePartialMessage as dn, coerceWarmThroughput as do, tagMapAsList as dr, redactSecretsForState as ds, yellow as dt, malformedExportSourceWarning as ea, exportNamesCarriedFrom as ec, explicitRoleArnOrThrow as ei, getDefaultStateBucketName as el, replacementNeverSwapped as en, unwrittenCreateOnlyReplacement as eo, formatDestructiveChange as er, recordLogOnlyParameterValue as es, hasCdkAutoDeleteTag as et, conditionFingerprint as f, malformedResourceEntriesWarning as fa, stringifyValue as fc, s3BucketArn as fi, ssmResolvedValueType as fl, updatePartialReason as fn, isWarmThroughputDecrease as fo, tagPlanWarning as fr, scrubResourceRecord as fs, computeParameterTaint as ft, isSecretBearingReferenceString as g, malformedStateRefusalMessage as ga, loadPublishableAssetManifest as gc, s3BucketWebsiteUrl as gi, findLargeInlineResources as gl, displayTextOrWithheld as gn, coerceCfnInteger as go, ProviderRegistry as gr, dynamicReferenceTokens as gs, makeSiblingClaimReader as gt, readRecordedConditionVerdicts as h, malformedScrubResourceEntriesRefusalMessage as ha, createAssetRedirectResolver as hc, s3BucketRegionalDomainName as hi, MIGRATE_TMP_PREFIX as hl, WITHHELD_NAME_DISPLAY as hn, coerceCfnBoolean as ho, CC_BROKEN_REASON as hr, DYNAMIC_REFERENCE_TOKEN_SCAN as hs, resourcesNamingDeclaredParameter as ht, crossStackOutputProvenanceSource as i, malformedOrphanRecordsRefusalMessage as ia, importableOutputKeys as ic, applyCallerIdentityCredentials as ii, resolveAutoAssetStorage as il, findNestedStackTypeChanges as in, findReplacedReadersOfRecreateTargets as io, withCreateTokenLedger as ir, createSecretMasker as is, formatResourceLine as it, noEchoAttributeNamesOf as j, refuseMalformedResourceEntriesForImport as ja, describeDockerCapturedOutput as jc, cfnRefValueFromPhysicalId as ji, ownValue as jl, DEFAULT_RESOURCE_WARN_AFTER_MS as jn, sameLambdaFunctionAddress as jo, RollbackInlinePolicyWriters as jr, recordNoEchoAttributeValues as js, deleteJournaledOrphans as jt, withResourceDeadline as k, refuseMalformedResourceEntriesForDeploy as ka, buildDockerImage as kc, keepsSecretReferenceToken as ki, hasPlainPrototype$1 as kl, bindingSkippedOutputs as kn, canonicalLambdaFunctionName as ko, slowCcOperationTimeoutMs as kr, recordMaskOnlyValue as ks, getCurrentNestedStackContext as kt, listNestedTemplateRows as l, malformedOutputsRefusalMessage as la, shouldRetainResource as lc, outputReferenceProvenanceOf as li, resolveUseCdkBootstrapAssets as ll, redactedDeleteAddressFields as ln, renderStatefulReason as lo, readTagList as lr, recordReferenceProvenanceEntry as ls, green as lt, parentSuppliedValues as m, malformedResourcesWarning as ma, buildAssetRedirectMap as mc, s3BucketDualStackDomainName as mi, CFN_TEMPLATE_URL_LIMIT as ml, DeploymentEventsStore as mn, toFiniteNumber as mo, stringifyIfAssigned as mr, withoutPhysicalNameCopies as ms, reachableDivergentParameters as mt, IMPLICIT_DELETE_DEPENDENCIES as n, malformedLocalResourceEntriesWarning as na, hasReasonlessBaselineRefusal as nc, sendableAssumeRoleCommand as ni, loadCdkJson as nl, seedsDeleteFirstGuard as nn, NO_CC_HANDLERS_REASON as no, ledgerForStack as nr, shareLogOnlyValues as ns, getPriorAttempts as nt, childTemplateLoader as o, malformedOrphanRowsKeptWarning as oa, isReadableBag as oc, envCredentialsAreAssumedRole as oi, resolveSkipPrefix as ol, inheritProducerRegions as on, MULTI_REGION_RECREATE_BLOCKED_TYPES as oo, DBPROXY_TAGS_WHAT as or, maskSecretsInError as os, bold as ot, conditionInputsFrom as p, malformedResourcePropertiesWarning as pa, WorkGraph as pc, s3BucketDomainName as pi, CFN_TEMPLATE_BODY_LIMIT as pl, DeploymentEventsReader as pn, toCfnInteger as po, definedAttributes as pr, withPhysicalNameCopies as ps, namesAnyDeclaredParameter as pt, resolveDynamoDbDeleteBudgetMs as q, repairMalformedResourcesForReadOnly as qa, escapeRegExp$3 as qc, hasReadableOrphans as qi, effectiveDeletionPolicy as qn, liveMatchesUnresolvedTokenFrame as qo, IntrinsicFunctionResolver as qr, applyCrossPrefixScan as qs, demoteSupersededOrphans as qt, computeImplicitDeleteEdges as r, malformedLocalResourcesWarning as ra, hasUnverifiableParameterRefusal as rc, AWS_CREDENTIAL_ENV_KEYS as ri, resolveApp as rl, orphanDeleteNeedsIdentity as rn, hasNoCloudControlHandlers as ro, reserveStackCreateToken as rr, unionOfSecretBags as rs, markRefusedBeforeApplying as rt, findNestedTemplateTreeDefect as s, malformedOrphansRefusalMessage as sa, orphansAfterRollback as sc, isSettledInstanceState as si, resolveStateBucketWithDefault as sl, REDACTED_DELETE_ADDRESS_SKIP_REASON as sn, isStatefulRecreateTargetForReplace as so, DBPROXY_TAG_OPTIONS as sr, maskSecretsInText as ss, cyan as st, DeployEngine as t, malformedLocalOutputsWarning as ta, hasReadableExportSet as tc, isIamRoleArn as ti, getLegacyStateBucketName as tl, resolveReplacementOldType as tn, withoutSilentDropProperties as to, earliestDefined as tr, recordLogOnlyValue as ts, isTruthyCfnBoolean as tt, renderNestedTemplateTreeDefect as u, malformedOutputsWarning as ua, AssetPublisher as uc, recordedOutputReferenceRegions as ui, stateBucketExistenceConfirmed as ul, redactedDeleteAddressSkip as un, WARM_THROUGHPUT_MEMBERS as uo, refuseMalformedDesiredTags as ur, snapshotPassProvenance as us, red as ut, mergeNoChangeOutputs as v, refuseDivergentRecordRegionForDestroy as va, AssetModeResolver as vc, classifyReplaySecretRegion as vi, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as vl, secretBearing as vn, configIntegerRefusal as vo, isCustomResource as vr, pathCrossesDottedKey as vs, NESTED_PENDING_PARENT_REASON as vt, keptForReadoption as w, refuseMalformedOrphansForOrphan as wa, parseBootstrapMarker as wc, getAccountInfo as wi, AssemblyReader as wl, isWholeDynamicReferenceValue as wn, requireConfigString as wo, withPrintingSecrets as wr, recordAttributeIdCopy as ws, recordDisplacedSkips as wt, isAccessDeniedError as x, refuseMalformedOrphanRecordsForDestroy as xa, ensureAssetStorage as xc, coerceParameterTypedValue as xi, PARTITION_TABLE as xl, carriedExportAliasExposure as xn, replayWarn as xo, readsNoEchoDeleteValues as xr, recordNestedStackParameterExpressions as xs, dropSettledNestedJournals as xt, makeCanonicalizePropertiesFn as y, refuseMalformedNestedChildOutputs as ya, BOOTSTRAP_MARKER_PREFIX as yc, producerRegionsFromState as yi, decodeListingKey as yl, secretBearingStateKeyWarning as yn, configStringRefusal as yo, wouldReturnToSdkProvider as yr, identityKeyFor as ys, displacedOpClause as yt, perType as z, refuseMalformedResourcesForDestroy as za, isMalformedEnvKey as zc, JSON_LISTING_HOLE_VALUE as zi, clearBucketRegionCache as zl, stateSecretNameNeedles as zn, maskedLeafCoordinatesOf as zo, disableInstanceApiTermination as zr, WHOLE_DYNAMIC_REFERENCE_PATTERN as zs, replayRollback as zt };
|
|
47620
|
-
//# sourceMappingURL=deploy-engine-
|
|
47853
|
+
export { S3_AUTO_DELETE_OBJECTS_TAG as $, withheldAccountClause as $a, getDockerImageBySourceHash as $c, isReadableResourceEntry as $i, findDestructiveChanges as $n, literalSplitDelimitersOf as $o, applyRoleArnIfSet as $r, splitImportedOps as $s, recordUnderIdIsNotOwn as $t, diffSecurity as A, refuseMalformedResourceEntries as Aa, buildDenyExternalAccessPolicy as Ac, isNamelessDynamicReferenceError as Ai, hasOwnKey as Al, DEFAULT_RESOURCE_TIMEOUT_MS as An, withRetry as Ao, CloudControlProvider as Ar, provenPublicValue as As, withNestedStackContext as At, readProtection as B, refuseMalformedResourcesForDeploy as Ba, isDockerClientEnvKey as Bc, declaresNoEcho as Bi, injectedAwsRegionValue as Bl, storedSecretNameNeedles as Bn, maskWholeValue as Bo, markWaitAbandoned as Br, TEMPLATE_SOURCED_RULES as Bs, awaitInFlightSibling as Bt, withApiLimit as C, refuseMalformedOrphanRecordsForDestroy as Ca, ensureAssetStorage as Cc, coerceParameterTypedValue as Ci, PARTITION_TABLE as Cl, exportNameSecretExposure as Cn, replayWarn as Co, readsNoEchoDeleteValues as Cr, recordNestedStackParameterExpressions as Cs, nestedChildStackName as Ct, findServiceTokenRefusals as D, refuseMalformedOutputs as Da, readBootstrapMarkerBody as Dc, isImpossibleEmptyStoredAttribute as Di, StageLoadError as Dl, collectPublishedOutputNames as Dn, prefetchCreateOnlyPropertyPaths as Do, CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID as Dr, recordPhysicalNameCopy as Ds, withNestedRevertRun as Dt, deferredServiceTokenWarning as E, refuseMalformedOrphansForOrphan as Ea, parseBootstrapMarker as Ec, getAccountInfo as Ei, AssemblyReader as El, collectDeclaredOutputNames as En, requireConfigString as Eo, withPrintingSecrets as Er, recordAttributeIdCopy as Es, revertedNestedRowIds as Et, recordedProtectionEvidence as F, refuseMalformedResourceEntriesForOrphan as Fa, describeDockerFailure as Fc, refStateLookupFromResource as Fi, describeFileReadFailure as Fl, orphanRecordsPrintingBag as Fn, TemplateParser as Fo, deleteIndeterminateGuards as Fr, recordProvenPublicExpression as Fs, loadJournaledOrphans as Ft, deleteBudgetKey as G, repairMalformedOrphansForReadOnly as Ga, redactedDockerCause as Gc, UNREADABLE_RESOURCES_MAP_ROW as Gi, ccRoutedFinalSnapshotError as Gn, passedNoEchoParametersOf as Go, reDisableInstanceApiTermination as Gr, S3StateBackend as Gs, replacedDeleteFailureVerdict as Gt, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as H, refuseMalformedResourcesForExport as Ha, partitionSensitiveEnv as Hc, STATE_REGION_DIVERGED as Hi, resolveBucketRegion as Hl, ATOMIC_FINAL_SNAPSHOT_TYPES as Hn, noEchoCoordinatesOf as Ho, ec2InstanceProtectionSite as Hr, isSingleDynamicReferenceToken as Hs, getStackRecords as Ht, recordedProtectionNote as I, refuseMalformedResourcePropertiesForDestroy as Ia, dockerSpawnEnvWithSensitive as Ic, parseWebACLArn as Ii, displayAssemblyPath as Il, secretNamePrintingBag as In, canonicalCoordinates as Io, deleteLeftInPlace as Ir, wholeStringLeavesOf as Is, makeForeignHolderScan as It, DELETE_INDEX_WAIT_PROCEED_NOTE as J, repairMalformedResourcePropertiesForReadOnly as Ja, warnFinchArgvExposure as Jc, displayLogicalId as Ji, isFinalSnapshotError as Jn, valueAtCoordinate as Jo, INTRINSIC_KEYS as Jr, CrossPrefixScanCache as Js, isJournaledOrphan as Jt, resolveDynamoDbDeleteBudgetClock as K, repairMalformedOutputsForReadOnly as Ka, runDockerForeground as Kc, accountArgs as Ki, createPreDeleteFinalSnapshot as Kn, readbackPathFor as Ko, reEnableInstanceApiTermination as Kr, rebuildClientForBucketRegion as Ks, recordAfterRollbackUpdate as Kt, PROTECTION_PROPERTY_BY_TYPE as L, refuseMalformedResourcePropertiesForDrift as La, finchSecretArgvRefusal as Lc, withSharedDrainBudget as Li, renderAssemblyPathEscape as Ll, secretNamePrintingBags as Ln, isMarkedCoordinate as Lo, deleteSkipReason as Lr, STATE_SOURCED_BASELINE_RULES as Ls, sameJournaledOrphans as Lt, noEchoComparisonForTemplate as M, refuseMalformedResourceEntriesForDestroy as Ma, resolveDockerContextDirectory as Mc, AWS_NO_VALUE as Mi, nullPrototypeRecord as Ml, completedReplayEntries as Mn, lambdaFunctionNameForMask as Mo, unchangedBehindSecretReference as Mr, recordMaskOnlyValuesIn as Ms, dropFailedHint as Mt, noEchoExactEchoLeavesOf as N, refuseMalformedResourceEntriesForImport as Na, describeDockerCapturedOutput as Nc, cfnRefValueFromPhysicalId as Ni, ownValue as Nl, journaledOrphanPrintingBag as Nn, sameLambdaFunctionAddress as No, RollbackInlinePolicyWriters as Nr, recordNoEchoAttributeValues as Ns, isHandledOrphan as Nt, serviceTokenBlockingReason as O, refuseMalformedOutputsForDestroy as Oa, validateAssetBucketName as Oc, carriesDynamicReference as Oi, processStackMessages as Ol, isExportAliasCollision as On, templateResourceTypes as Oo, applyCustomResourceResponseExpiration as Or, splitGetAttStringForm as Os, collectNestedChildUnaddressed as Ot, noEchoParameterNamesOf as P, refuseMalformedResourceEntriesForImportSave as Pa, describeDockerExecFailure as Pc, isStalePlaceholderArnAttribute as Pi, absoluteAssemblyPathEscape as Pl, maskEventTextWithBoundBags as Pn, DagBuilder as Po, UNSPECIFIED_SKIP_REASON as Pr, recordNoEchoParameterFreshValue as Ps, journaledOrphanLines as Pt, ECR_AUTO_DELETE_IMAGES_TAG as Q, unreadableResourceEntries as Qa, AssetManifestLoader as Qc, isReadableOrphanRecord as Qi, constructPathOf as Qn, hasMaskableValues as Qo, refuseUnreadableCdkCrossAccountRefs as Qr, isNotImplemented as Qs, recheckFailedPlan as Qt, isProtectionValueActive as R, refuseMalformedResourcePropertiesForExport as Ra, formatDockerLoginError as Rc, parameterInputsFor as Ri, resolveAssemblyPath as Rl, secretNamedRecordNeedles as Rn, maskAtCoordinates as Ro, withIndeterminateGuard as Rr, STATE_SOURCED_CROSS_GENERATION_RULES as Rs, replayFailedOperations as Rt, lookupEachName as S, refuseMalformedOrphanRecords as Sa, assertAssetBucketRegion as Sc, regionLessSecretName as Si, expectedOwnerParam as Sl, exportNameNoEchoParameters as Sn, readConfigString as So, TemplateNoEchoReresolver as Sr, inheritNestedStackParameterAssociations as Ss, getNestedRevertRun as St, recordRetainedForReadoption as T, refuseMalformedOrphansForDestroy as Ta, isCrossRegionRedirect as Tc, parameterTypeMayLoseSecretIdentity as Ti, derivePartitionAndUrlSuffix as Tl, noEchoParameterValueSeed as Tn, requireConfigObject as To, getCurrentResourceSecrets as Tr, physicalNameCopiesOf as Ts, revertNestedChildFromJournal as Tt, beginDeleteWait as U, refuseMalformedState as Ua, redactDockerArgvValues as Uc, STATE_RESOURCES_MALFORMED as Ui, PRE_DELETE_SNAPSHOT_TYPES as Un, noEchoLeavesOf as Uo, isTerminationProtectionPropagationError as Ur, LockManager as Us, withStackRecords as Ut, DynamoDBGlobalTableProvider as V, refuseMalformedResourcesForDestroy as Va, isMalformedEnvKey as Vc, JSON_LISTING_HOLE_VALUE as Vi, clearBucketRegionCache as Vl, extractDeploymentEventError as Vn, maskedLeafCoordinatesOf as Vo, disableInstanceApiTermination as Vr, WHOLE_DYNAMIC_REFERENCE_PATTERN as Vs, destroyStackRecordsView as Vt, compensateRemovedDeletionProtection as W, repairMalformedOrphanRecordsForReadOnly as Wa, redactedCause as Wc, UNREADABLE_ORPHANS_CONTAINER_ROW as Wi, buildFinalSnapshotIdentifier as Wn, noEchoOutputsComparison as Wo, observeThenDisableInstanceApiTermination as Wr, isLockInfoExpired as Ws, removeProtectionTypeList as Wt, deleteTableWithIndexBusyRetry as X, unpreviewableOrphanRecords as Xa, stripControlChars as Xc, hasReadableOutputs as Xi, unsupportedFinalSnapshotError as Xn, carryLogOnlyValues as Xo, poisonRenderedSpellingsCollidingIn as Xr, crossPrefixDeniedWarning as Xs, planFailedOps as Xt, INDEX_SETTLE_POLL_INTERVAL_MS as Y, repairMalformedResourcesForReadOnly as Ya, escapeRegExp$3 as Yc, hasReadableOrphans as Yi, refusesFinalSnapshot as Yn, liveMatchesUnresolvedTokenFrame as Yo, IntrinsicFunctionResolver as Yr, applyCrossPrefixScan as Ys, isReplacementOrphan as Yt, waitForIndexesSettled as Z, unreadableOrphanRecords as Za, stripForDisplay as Zc, hasReadableResources as Zi, maskingRetryLogger as Zn, createUnionSecretMasker as Zo, producerLookupOver as Zr, isAccessDenied$1 as Zs, planRollback as Zt, keptWholeReasonText as _, malformedScrubResourceEntriesRefusalMessage as _a, createAssetRedirectResolver as _c, s3BucketRegionalDomainName as _i, MIGRATE_TMP_PREFIX as _l, exportAliasCollisionScrubWarning as _n, coerceCfnBoolean as _o, CC_BROKEN_REASON as _r, DYNAMIC_REFERENCE_TOKEN_SCAN as _s, planOrphanAdoption as _t, inheritedProvenanceForChildDiff as a, malformedLocalResourcesWarning as aa, hasUnverifiableParameterRefusal as ac, AWS_CREDENTIAL_ENV_KEYS as ai, resolveApp as al, getCurrentProducerRegions as an, hasNoCloudControlHandlers as ao, acquireIdempotencyToken as ar, unionOfSecretBags as as, createReadOnlyAttributeHealerFactory as at, chunks as b, refuseDivergentRecordRegionForDestroy as ba, AssetModeResolver as bc, classifyReplaySecretRegion as bi, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as bl, secretSafeKeyDisplay as bn, configIntegerRefusal as bo, isCustomResource as br, pathCrossesDottedKey as bs, displacedPhysicalIdShown as bt, isAbsoluteAssetPath as c, malformedOrphanRowsKeptWarning as ca, isReadableBag as cc, envCredentialsAreAssumedRole as ci, resolveSkipPrefix as cl, isRedactedRecordedValue as cn, MULTI_REGION_RECREATE_BLOCKED_TYPES as co, DBPROXY_TAGS_WHAT as cr, maskSecretsInError as cs, gray as ct, templateIdentity as d, malformedOutputsRefusalMessage as da, shouldRetainResource as dc, outputReferenceProvenanceOf as di, resolveUseCdkBootstrapAssets as dl, updatePartialMessage as dn, renderStatefulReason as do, readTagList as dr, recordReferenceProvenanceEntry as ds, yellow as dt, malformedDriftResourcePropertiesWarning as ea, acceptedCreateOnlyDropsOf as ec, assertFlagRoleArn as ei, Synthesizer as el, replacementNeverSwapped as en, findActionableSilentDrops as eo, formatDestructiveChange as er, logOnlyValueCount as es, hasCdkAutoDeleteTag as et, conditionFingerprint as f, malformedOutputsWarning as fa, AssetPublisher as fc, recordedOutputReferenceRegions as fi, stateBucketExistenceConfirmed as fl, updatePartialReason as fn, WARM_THROUGHPUT_MEMBERS as fo, refuseMalformedDesiredTags as fr, snapshotPassProvenance as fs, computeParameterTaint as ft, isSecretBearingReferenceString as g, malformedResourcesWarning as ga, buildAssetRedirectMap as gc, s3BucketDualStackDomainName as gi, CFN_TEMPLATE_URL_LIMIT as gl, displayTextOrWithheld as gn, toFiniteNumber as go, stringifyIfAssigned as gr, withoutPhysicalNameCopies as gs, makeSiblingClaimReader as gt, readRecordedConditionVerdicts as h, malformedResourcePropertiesWarning as ha, WorkGraph as hc, s3BucketDomainName as hi, CFN_TEMPLATE_BODY_LIMIT as hl, WITHHELD_NAME_DISPLAY as hn, toCfnInteger as ho, definedAttributes as hr, withPhysicalNameCopies as hs, resourcesNamingDeclaredParameter as ht, crossStackOutputProvenanceSource as i, malformedLocalResourceEntriesWarning as ia, hasReasonlessBaselineRefusal as ic, sendableAssumeRoleCommand as ii, loadCdkJson as il, findNestedStackTypeChanges as in, NO_CC_HANDLERS_REASON as io, withCreateTokenLedger as ir, shareLogOnlyValues as is, formatResourceLine as it, noEchoAttributeNamesOf as j, refuseMalformedResourceEntriesForDeploy as ja, buildDockerImage as jc, keepsSecretReferenceToken as ji, hasPlainPrototype$1 as jl, DEFAULT_RESOURCE_WARN_AFTER_MS as jn, canonicalLambdaFunctionName as jo, slowCcOperationTimeoutMs as jr, recordMaskOnlyValue as js, deleteJournaledOrphans as jt, withResourceDeadline as k, refuseMalformedResourceAttributesForOrphan as ka, validateContainerRepoName as kc, carriesFetchableDynamicReference as ki, defineOwnKey as kl, bindingSkippedOutputs as kn, describeTypeWithThrottleRetry as ko, customResourceResponseExpirationWarning as kr, carriesSecretMask as ks, getCurrentNestedStackContext as kt, listNestedTemplateRows as l, malformedOrphansRefusalMessage as la, orphansAfterRollback as lc, isSettledInstanceState as li, resolveStateBucketWithDefault as ll, redactedDeleteAddressFields as ln, isStatefulRecreateTargetForReplace as lo, DBPROXY_TAG_OPTIONS as lr, maskSecretsInText as ls, green as lt, parentSuppliedValues as m, malformedResourceEntriesWarning as ma, stringifyValue as mc, s3BucketArn as mi, ssmResolvedValueType as ml, DeploymentEventsStore as mn, isWarmThroughputDecrease as mo, tagPlanWarning as mr, scrubResourceRecord as ms, reachableDivergentParameters as mt, IMPLICIT_DELETE_DEPENDENCIES as n, malformedExportSourceWarning as na, exportNamesCarriedFrom as nc, explicitRoleArnOrThrow as ni, getDefaultStateBucketName as nl, seedsDeleteFirstGuard as nn, unwrittenCreateOnlyReplacement as no, ledgerForStack as nr, recordLogOnlyParameterValue as ns, getPriorAttempts as nt, childTemplateLoader as o, malformedOrphanRecordsRefusalMessage as oa, importableOutputKeys as oc, applyCallerIdentityCredentials as oi, resolveAutoAssetStorage as ol, inheritProducerRegions as on, findReplacedReadersOfRecreateTargets as oo, isRefusedByName as or, createSecretMasker as os, bold as ot, conditionInputsFrom as p, malformedRenderedContainersWarning as pa, isSensitiveAttributeName as pc, recordedReferenceRegions as pi, warnDeprecatedNoPrefixCliFlag as pl, DeploymentEventsReader as pn, coerceWarmThroughput as po, tagMapAsList as pr, redactSecretsForState as ps, namesAnyDeclaredParameter as pt, resolveDynamoDbDeleteBudgetMs as q, repairMalformedResourceEntriesForReadOnly as qa, runDockerStreaming as qc, deployRefusesOrphanRowsReason as qi, effectiveDeletionPolicy as qn, readsNoEchoSource as qo, DiffCalculator as qr, CrossPrefixReadError as qs, demoteSupersededOrphans as qt, computeImplicitDeleteEdges as r, malformedLocalOutputsWarning as ra, hasReadableExportSet as rc, isIamRoleArn as ri, getLegacyStateBucketName as rl, orphanDeleteNeedsIdentity as rn, withoutSilentDropProperties as ro, reserveStackCreateToken as rr, recordLogOnlyValue as rs, markRefusedBeforeApplying as rt, findNestedTemplateTreeDefect as s, malformedOrphanRecordsWarning as sa, importableOutputs as sc, callerEnvCredentials as si, resolveCaptureObservedState as sl, REDACTED_DELETE_ADDRESS_SKIP_REASON as sn, shownType as so, markDeleteStarted as sr, errorCauseChain as ss, cyan as st, DeployEngine as t, malformedExportNamesWarning as ta, describeRegionValueKind as tc, assertSendableRoleArn as ti, synthesisStatusMessage as tl, resolveReplacementOldType as tn, findSilentDropProperties as to, earliestDefined as tr, printingCorpusOf as ts, isTruthyCfnBoolean as tt, renderNestedTemplateTreeDefect as u, malformedOrphansWarning as ua, orphansCarriedFrom as uc, keepHeldTokenProvenance as ui, resolveStateBucketWithDefaultAndSource as ul, redactedDeleteAddressSkip as un, isStatefulRecreateTargetSync as uo, planTagDiff as ur, markSameGenerationBag as us, red as ut, mergeNoChangeOutputs as v, malformedStateRefusalMessage as va, loadPublishableAssetManifest as vc, s3BucketWebsiteUrl as vi, findLargeInlineResources as vl, secretBearing as vn, coerceCfnInteger as vo, ProviderRegistry as vr, dynamicReferenceTokens as vs, NESTED_PENDING_PARENT_REASON as vt, keptForReadoption as w, refuseMalformedOrphans as wa, getBootstrapMarkerKey as wc, isUnboundTemplateParameter as wi, canonicalizeRegion as wl, isWholeDynamicReferenceValue as wn, requireConfigArray as wo, isCustomResourceType as wr, recoverMaskedOutput as ws, recordDisplacedSkips as wt, isAccessDeniedError as x, refuseMalformedNestedChildOutputs as xa, BOOTSTRAP_MARKER_PREFIX as xc, producerRegionsFromState as xi, decodeListingKey as xl, carriedExportAliasExposure as xn, configStringRefusal as xo, wouldReturnToSdkProvider as xr, identityKeyFor as xs, dropSettledNestedJournals as xt, makeCanonicalizePropertiesFn as y, previewableOrphanRecords as ya, rewriteTemplateAssetReferences as yc, classifyRecordedSecretRegion as yi, uploadCfnTemplate as yl, secretBearingStateKeyWarning as yn, configBooleanRefusal as yo, ccBrokenReason as yr, isUncertifiedBaselineMaskPosition as ys, displacedOpClause as yt, perType as z, refuseMalformedResourcePropertiesForOrphan as za, getDockerCmd as zc, passedParameterClassesOf as zi, injectAwsRegion as zl, stateSecretNameNeedles as zn, maskReadbackAtCoordinates as zo, isWaitAbandonedError as zr, STATE_SOURCED_READBACK_RULES as zs, replayRollback as zt };
|
|
47854
|
+
//# sourceMappingURL=deploy-engine-BK4gG_5A.js.map
|