@go-to-k/cdkd 0.314.0 → 0.316.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{asg-provider-_nun2Jda.js → asg-provider-DOLuhiky.js} +6 -7
- package/dist/{asg-provider-_nun2Jda.js.map → asg-provider-DOLuhiky.js.map} +1 -1
- package/dist/{aws-client-defaults-BX9Y_fKp.js → aws-client-defaults-BLXFsfMa.js} +6 -11
- package/dist/aws-client-defaults-BLXFsfMa.js.map +1 -0
- package/dist/{aws-clients-Bu9EMILF.js → aws-clients-CGZAQ1gS.js} +5 -8
- package/dist/aws-clients-CGZAQ1gS.js.map +1 -0
- package/dist/{aws-failure-text-agWtoyga.js → aws-failure-text-DiHodi76.js} +8 -15
- package/dist/aws-failure-text-DiHodi76.js.map +1 -0
- package/dist/cli.js +6 -10
- package/dist/cli.js.map +1 -1
- package/dist/{created-resource-sink-QECX8C-Z.js → created-resource-sink-B9OCHRr_.js} +35 -66
- package/dist/created-resource-sink-B9OCHRr_.js.map +1 -0
- package/dist/db-instance-modify-retry-DQTozL4b.js +43 -0
- package/dist/db-instance-modify-retry-DQTozL4b.js.map +1 -0
- package/dist/{deploy-engine-ClIUqDQL.js → deploy-engine-NYjdxQWe.js} +445 -673
- package/dist/deploy-engine-NYjdxQWe.js.map +1 -0
- package/dist/{iam-role-provider-DJep3uns.js → iam-role-provider-Ddo7WwEs.js} +7 -9
- package/dist/iam-role-provider-Ddo7WwEs.js.map +1 -0
- package/dist/index.d.ts +2 -103
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/{neptune-provider-CGZ_G4Vz.js → neptune-provider-CuZbMn9R.js} +377 -23
- package/dist/neptune-provider-CuZbMn9R.js.map +1 -0
- package/dist/{program-Du6jOw1-.js → program-DSq5150i.js} +118 -228
- package/dist/program-DSq5150i.js.map +1 -0
- package/dist/{provider-classes-ZqxIefLl.js → provider-classes-ushrO6ri.js} +468 -212
- package/dist/provider-classes-ushrO6ri.js.map +1 -0
- package/dist/{rds-provider-C2fHUNSE.js → rds-provider-VigGKsxO.js} +77 -20
- package/dist/rds-provider-VigGKsxO.js.map +1 -0
- package/dist/{version-B2PvJ12r.js → version-9_dvIw-h.js} +3 -4
- package/dist/{version-B2PvJ12r.js.map → version-9_dvIw-h.js.map} +1 -1
- package/package.json +8 -8
- package/dist/aws-client-defaults-BX9Y_fKp.js.map +0 -1
- package/dist/aws-clients-Bu9EMILF.js.map +0 -1
- package/dist/aws-failure-text-agWtoyga.js.map +0 -1
- package/dist/created-resource-sink-QECX8C-Z.js.map +0 -1
- package/dist/db-instance-modify-retry-By0_BFNO.js +0 -38
- package/dist/db-instance-modify-retry-By0_BFNO.js.map +0 -1
- package/dist/deploy-engine-ClIUqDQL.js.map +0 -1
- package/dist/iam-role-provider-DJep3uns.js.map +0 -1
- package/dist/neptune-provider-CGZ_G4Vz.js.map +0 -1
- package/dist/program-Du6jOw1-.js.map +0 -1
- package/dist/provider-classes-ZqxIefLl.js.map +0 -1
- package/dist/rds-provider-C2fHUNSE.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as __exportAll, r as getAwsClients } from "./aws-clients-
|
|
2
|
-
import { $ as safeMsg, B as SAFE_MSG_ALTERED_CHAR, C as fallbackNamePropertyFor, D as getCurrentSkipPrefix, E as generatedNameFor, F as withNameGeneration, H as STACK_REF_MAX_CODE_POINTS, I as withSkipPrefix, J as displaySafe, K as displayAwsMessage, L as withStackScope, M as looksLikeCdkdGeneratedName, O as getCurrentStackInstanceId, P as stackInstanceNameSuffix, Q as plainIdentOr, R as withStackScopeBeforeStateRead, S as explicitNamePropertyFor, T as generateResourceNameWithFallback, U as UNRENDERABLE, V as SECRET_REF_MAX_CODE_POINTS, W as asIsMessage, X as isPasteableIdent, Y as displayStackName, a as safeStringify$1, b as currentNameGeneration, c as isStdoutReservedForPayload, f as currentLogLineMasker, j as isNameGeneration, k as getCurrentStackName, m as getLiveRenderer, n as describeAwsFailure, nt as truncateCodePoints, p as installLogLineMaskerSource, q as displayIdent, s as getLogger, t as VERBOSE_POINTER, tt as terminalSafe, v as alternateNamePropertiesFor, y as applyDefaultNameForFallback, z as withoutGeneratedFallbackName } from "./aws-failure-text-
|
|
3
|
-
import { $n as plainOrDescribed, $t as formatLockOperation, A as withoutServerErrorRetries, Ar as markNonRetryable, At as createMaskedLogSinks, B as quotedRemedyLogicalId, Bt as createdResourceIdentityBeforeFailure, Cn as DynamicReferenceRegionAmbiguousError, Cr as isIamPropagationError, Ct as compositeIdSeparatorRefusal, Dn as LockError, Dt as resourceTypeShown, Er as retryClassificationText, Ft as withDerivedNameMasks, G as ProtectionFlipRegistry, Gn as SHELL_ACTIVE, Gt as markCreatedBeforeFailure, Hn as normalizeAwsError, Ht as isAuxiliaryFailure, It as RETRY_AUXILIARY_OWNER, J as deleteWithProtectionCompensation, Jn as commandHole, Jt as UNREPRODUCIBLE_LOCK_CLAUSE, K as compensateProtectionFlip, Kn as SHELL_ACTIVE_WHY, Ln as StateError, Lt as carryCreatedBeforeFailure, M as isMarkedNotGone, Mn as ProvisioningError, Mr as wrapMaskedAwsError, Mt as isSecretDerivedValue, N as markNotGone, Nn as ResourceTimeoutError, Nt as maskDeep, On as MacroExpansionError, Or as isMarkedNonRetryable, Ot as segmentAfterAnchor, P as assertRegionMatch, Pn as ResourceUpdateNotSupportedError, Pt as maskerOrIdentity, Q as isTerminalDeleteFailure, Qn as physicalIdShownBesideCommand, Qt as formatLockExpiry, R as isQuotableImportValue, Rn as SynthesisError, Sn as DeploymentNotApprovedError, Tr as isTransientServerError, Tt as logicalIdShown, U as resolveExplicitPhysicalId, Ut as isAuxiliaryMarkOf, V as refusalTypeShown, Vn as isSoftAbort, Vt as hasCreatedBeforeFailure, Wt as markAuxiliaryFailure, Xn as isInertUnquoted, Yt as buildForceUnlockCommand, Zn as pasteableCommand, _ as removalWarning, _n as CdkdError, a as retractCreatedResource, an as injectiveKey, b as withoutInjectedRemovals, bn as DependencyError, br as isAmbiguousCcHandlerErrorCode, bt as startInterruptWatch, cn as producerRecordKey, cr as isNameCollisionErrorFrom, dn as ambientClientDefaults, dr as isReplayedNameCollisionFrom, dt as protectedReplacementAdvice, en as formatLockOwner, er as quotedOrDescribed, et as observeThenDisableProtection, fn as ambientCredentialConfig, g as prepareRemovalForUpdate, gn as AssetError, gr as stripControlChars, hn as AccountIdUnavailableError, hr as escapeRegExp$3, ht as monotonicNowMs, i as reportCreatedResource, in as DEFAULT_STATE_PREFIX, j as RESOURCE_NOT_FOUND, jr as markRedactedCause, jt as createMaskedRetryLogger, kn as MalformedProducerRecordRefusalError, kr as isThrottlingError, kt as stateOrphanRecordRemedy, l as holdsSecretDerivedEntry, lr as isNameCooldownError, m as withUnchangedSecretPrincipalLists, mn as credentialFingerprint, mr as relayedNameCollision, mt as ElapsedBudgetRegistry, n as clearCreatedReport, nn as sanitizeRecoveryValue, nr as shellQuote, or as isUpdateUnsupportedError, ot as DELETION_PROTECTION_DOC_POINTER, pn as clientDefaultsFor, pr as markReplayMayCollide, pt as ElapsedBudget, qn as UNSHOWABLE_VALUE, qt as replayMadeAnotherResource, r as collectCreatedResources, rn as CUSTOM_RESOURCE_RESPONSE_PREFIX, rr as withheldTargetClause, rt as runDeleteAttempt, sr as hasReplayMayCollide, t as CreatedResourceSink, tn as recoveryCommandFlags, tr as shellBoundedDisplay, tt as protectionFlipKey, un as withPasteableAwsProfile, ur as isRecreateRetryableError, ut as pasteableAwsCommand, wn as IntrinsicResolutionRefusalError, wr as isRetryableTransientError, xr as isAmbiguousOutcomeError, xt as canonicalizeRoute53QueryName, yn as CrossAccountSecretRefusalError, yr as formatRetryClassificationSignals, yt as isInterruptedWaitError, z as normalizeAwsTagsToCfn, zt as createdBeforeFailure } from "./created-resource-sink-
|
|
4
|
-
import { a as setAssumedRoleCredentials, c as ambientRegion, i as getPreAssumeEnvCredentials, n as awsClientDefaults, o as setPreAssumeEnvCredentials, r as getAssumedRoleCredentials, s as quietS3Logger, t as SECOND_ROLE_PUBLISH_REFUSAL } from "./aws-client-defaults-
|
|
5
|
-
import { t as getCdkdVersion } from "./version-
|
|
1
|
+
import { c as __exportAll, r as getAwsClients } from "./aws-clients-CGZAQ1gS.js";
|
|
2
|
+
import { $ as safeMsg, B as SAFE_MSG_ALTERED_CHAR, C as fallbackNamePropertyFor, D as getCurrentSkipPrefix, E as generatedNameFor, F as withNameGeneration, H as STACK_REF_MAX_CODE_POINTS, I as withSkipPrefix, J as displaySafe, K as displayAwsMessage, L as withStackScope, M as looksLikeCdkdGeneratedName, O as getCurrentStackInstanceId, P as stackInstanceNameSuffix, Q as plainIdentOr, R as withStackScopeBeforeStateRead, S as explicitNamePropertyFor, T as generateResourceNameWithFallback, U as UNRENDERABLE, V as SECRET_REF_MAX_CODE_POINTS, W as asIsMessage, X as isPasteableIdent, Y as displayStackName, a as safeStringify$1, b as currentNameGeneration, c as isStdoutReservedForPayload, f as currentLogLineMasker, j as isNameGeneration, k as getCurrentStackName, m as getLiveRenderer, n as describeAwsFailure, nt as truncateCodePoints, p as installLogLineMaskerSource, q as displayIdent, s as getLogger, t as VERBOSE_POINTER, tt as terminalSafe, v as alternateNamePropertiesFor, y as applyDefaultNameForFallback, z as withoutGeneratedFallbackName } from "./aws-failure-text-DiHodi76.js";
|
|
3
|
+
import { $n as plainOrDescribed, $t as formatLockOperation, A as withoutServerErrorRetries, Ar as markNonRetryable, At as createMaskedLogSinks, B as quotedRemedyLogicalId, Bt as createdResourceIdentityBeforeFailure, Cn as DynamicReferenceRegionAmbiguousError, Cr as isIamPropagationError, Ct as compositeIdSeparatorRefusal, Dn as LockError, Dt as resourceTypeShown, Er as retryClassificationText, Ft as withDerivedNameMasks, G as ProtectionFlipRegistry, Gn as SHELL_ACTIVE, Gt as markCreatedBeforeFailure, Hn as normalizeAwsError, Ht as isAuxiliaryFailure, It as RETRY_AUXILIARY_OWNER, J as deleteWithProtectionCompensation, Jn as commandHole, Jt as UNREPRODUCIBLE_LOCK_CLAUSE, K as compensateProtectionFlip, Kn as SHELL_ACTIVE_WHY, Ln as StateError, Lt as carryCreatedBeforeFailure, M as isMarkedNotGone, Mn as ProvisioningError, Mr as wrapMaskedAwsError, Mt as isSecretDerivedValue, N as markNotGone, Nn as ResourceTimeoutError, Nt as maskDeep, On as MacroExpansionError, Or as isMarkedNonRetryable, Ot as segmentAfterAnchor, P as assertRegionMatch, Pn as ResourceUpdateNotSupportedError, Pt as maskerOrIdentity, Q as isTerminalDeleteFailure, Qn as physicalIdShownBesideCommand, Qt as formatLockExpiry, R as isQuotableImportValue, Rn as SynthesisError, Sn as DeploymentNotApprovedError, Tr as isTransientServerError, Tt as logicalIdShown, U as resolveExplicitPhysicalId, Ut as isAuxiliaryMarkOf, V as refusalTypeShown, Vn as isSoftAbort, Vt as hasCreatedBeforeFailure, Wt as markAuxiliaryFailure, Xn as isInertUnquoted, Yt as buildForceUnlockCommand, Zn as pasteableCommand, _ as removalWarning, _n as CdkdError, a as retractCreatedResource, an as injectiveKey, b as withoutInjectedRemovals, bn as DependencyError, br as isAmbiguousCcHandlerErrorCode, bt as startInterruptWatch, cn as producerRecordKey, cr as isNameCollisionErrorFrom, dn as ambientClientDefaults, dr as isReplayedNameCollisionFrom, dt as protectedReplacementAdvice, en as formatLockOwner, er as quotedOrDescribed, et as observeThenDisableProtection, fn as ambientCredentialConfig, g as prepareRemovalForUpdate, gn as AssetError, gr as stripControlChars, hn as AccountIdUnavailableError, hr as escapeRegExp$3, ht as monotonicNowMs, i as reportCreatedResource, in as DEFAULT_STATE_PREFIX, j as RESOURCE_NOT_FOUND, jr as markRedactedCause, jt as createMaskedRetryLogger, kn as MalformedProducerRecordRefusalError, kr as isThrottlingError, kt as stateOrphanRecordRemedy, l as holdsSecretDerivedEntry, lr as isNameCooldownError, m as withUnchangedSecretPrincipalLists, mn as credentialFingerprint, mr as relayedNameCollision, mt as ElapsedBudgetRegistry, n as clearCreatedReport, nn as sanitizeRecoveryValue, nr as shellQuote, or as isUpdateUnsupportedError, ot as DELETION_PROTECTION_DOC_POINTER, pn as clientDefaultsFor, pr as markReplayMayCollide, pt as ElapsedBudget, qn as UNSHOWABLE_VALUE, qt as replayMadeAnotherResource, r as collectCreatedResources, rn as CUSTOM_RESOURCE_RESPONSE_PREFIX, rr as withheldTargetClause, rt as runDeleteAttempt, sr as hasReplayMayCollide, t as CreatedResourceSink, tn as recoveryCommandFlags, tr as shellBoundedDisplay, tt as protectionFlipKey, un as withPasteableAwsProfile, ur as isRecreateRetryableError, ut as pasteableAwsCommand, wn as IntrinsicResolutionRefusalError, wr as isRetryableTransientError, xr as isAmbiguousOutcomeError, xt as canonicalizeRoute53QueryName, yn as CrossAccountSecretRefusalError, yr as formatRetryClassificationSignals, yt as isInterruptedWaitError, z as normalizeAwsTagsToCfn, zt as createdBeforeFailure } from "./created-resource-sink-B9OCHRr_.js";
|
|
4
|
+
import { a as setAssumedRoleCredentials, c as ambientRegion, i as getPreAssumeEnvCredentials, n as awsClientDefaults, o as setPreAssumeEnvCredentials, r as getAssumedRoleCredentials, s as quietS3Logger, t as SECOND_ROLE_PUBLISH_REFUSAL } from "./aws-client-defaults-BLXFsfMa.js";
|
|
5
|
+
import { t as getCdkdVersion } from "./version-9_dvIw-h.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";
|
|
@@ -40,7 +40,7 @@ import { DescribeDomainCommand, OpenSearchClient } from "@aws-sdk/client-opensea
|
|
|
40
40
|
import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
|
|
41
41
|
import { ApplicationAutoScalingClient, DeleteScalingPolicyCommand, DeregisterScalableTargetCommand, DescribeScalableTargetsCommand, DescribeScalingPoliciesCommand, PutScalingPolicyCommand, RegisterScalableTargetCommand } from "@aws-sdk/client-application-auto-scaling";
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
// src/utils/aws-region-resolver.ts
|
|
44
44
|
const cache = /* @__PURE__ */ new Map();
|
|
45
45
|
async function readClientRegion(client) {
|
|
46
46
|
try {
|
|
@@ -106,8 +106,7 @@ async function resolveCrossAccountStateBucket(accountId, credentials) {
|
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
|
|
110
|
-
//#region src/utils/injected-aws-region.ts
|
|
109
|
+
// src/utils/injected-aws-region.ts
|
|
111
110
|
let injected;
|
|
112
111
|
function injectAwsRegion(region) {
|
|
113
112
|
injected ??= {
|
|
@@ -132,8 +131,7 @@ function injectedAwsRegionOverride() {
|
|
|
132
131
|
return { AWS_REGION: injected.original };
|
|
133
132
|
}
|
|
134
133
|
|
|
135
|
-
|
|
136
|
-
//#region src/synthesis/app-executor.ts
|
|
134
|
+
// src/synthesis/app-executor.ts
|
|
137
135
|
const CDK_ASM_VERSION = "38.0.0";
|
|
138
136
|
const CONTEXT_OVERFLOW_LIMIT = 32768;
|
|
139
137
|
function stripSurroundingQuotes(token) {
|
|
@@ -228,8 +226,7 @@ var AppExecutor = class {
|
|
|
228
226
|
}
|
|
229
227
|
};
|
|
230
228
|
|
|
231
|
-
|
|
232
|
-
//#region src/types/assembly.ts
|
|
229
|
+
// src/types/assembly.ts
|
|
233
230
|
const ASSEMBLY_REGION_PREFIX = /^[a-z0-9-]+/;
|
|
234
231
|
const CDK_ENVIRONMENT_PATTERN = /aws:\/\/([a-zA-Z0-9@._-]+)\/([a-z0-9-]+)/;
|
|
235
232
|
const CANONICAL_ASSEMBLY_REGION = /^[a-z0-9-]+$/;
|
|
@@ -262,8 +259,7 @@ function unparsableRegionMessage(region, stackName) {
|
|
|
262
259
|
return `${head}\nIf an earlier cdkd version deployed this stack from such an assembly, it recorded the stack's state under that raw region spelling, and a deploy using the canonical spelling will not find that state: it starts the stack from no state at all. 'cdkd state show' and 'cdkd state orphan' still reach that record when '--stack-region' is given the exact raw spelling; 'state orphan' removes the record and leaves its AWS resources in place, unmanaged by cdkd.`;
|
|
263
260
|
}
|
|
264
261
|
|
|
265
|
-
|
|
266
|
-
//#region src/utils/assembly-path.ts
|
|
262
|
+
// src/utils/assembly-path.ts
|
|
267
263
|
function isInside(base, candidate) {
|
|
268
264
|
const rel = path.relative(base, candidate);
|
|
269
265
|
if (rel === "" || rel === "..") return false;
|
|
@@ -408,8 +404,7 @@ function renderAssemblyPathEscape(escape, dir, action = "load", provenanceOverri
|
|
|
408
404
|
return `resolves to ${shownPath}, outside ${shownBase}. ${provenance}`;
|
|
409
405
|
}
|
|
410
406
|
|
|
411
|
-
|
|
412
|
-
//#region src/utils/own-keys.ts
|
|
407
|
+
// src/utils/own-keys.ts
|
|
413
408
|
function hasOwnKey(target, key) {
|
|
414
409
|
return Object.prototype.hasOwnProperty.call(target, key);
|
|
415
410
|
}
|
|
@@ -432,8 +427,7 @@ function nullPrototypeRecord() {
|
|
|
432
427
|
return Object.create(null);
|
|
433
428
|
}
|
|
434
429
|
|
|
435
|
-
|
|
436
|
-
//#region src/utils/json-parse-failure.ts
|
|
430
|
+
// src/utils/json-parse-failure.ts
|
|
437
431
|
function describeJsonParseFailure(err, bytes) {
|
|
438
432
|
const raw = describeAwsFailure(err).detail;
|
|
439
433
|
const at = / (?:in|after) JSON at position (\d+)(?: \(line \d+ column \d+\))?$/.exec(raw);
|
|
@@ -457,8 +451,7 @@ function parseJsonNamingNoBody(body, subject, debug) {
|
|
|
457
451
|
}
|
|
458
452
|
}
|
|
459
453
|
|
|
460
|
-
|
|
461
|
-
//#region src/synthesis/stack-messages.ts
|
|
454
|
+
// src/synthesis/stack-messages.ts
|
|
462
455
|
const MESSAGE_ENTRY_TYPES = {
|
|
463
456
|
"aws:cdk:error": "error",
|
|
464
457
|
"aws:cdk:warning": "warning",
|
|
@@ -518,8 +511,7 @@ function processStackMessages(stacks, logger, options = {}) {
|
|
|
518
511
|
if (hasWarnings && failAt === "warn") throw new SynthesisError("Found warnings (--strict mode)");
|
|
519
512
|
}
|
|
520
513
|
|
|
521
|
-
|
|
522
|
-
//#region src/synthesis/failed-stages.ts
|
|
514
|
+
// src/synthesis/failed-stages.ts
|
|
523
515
|
var StageLoadError = class StageLoadError extends SynthesisError {
|
|
524
516
|
constructor(message) {
|
|
525
517
|
super(message);
|
|
@@ -557,8 +549,7 @@ function renderStagePath(stagePath) {
|
|
|
557
549
|
return displayIdent(stagePath, { maxCodePoints: STACK_REF_MAX_CODE_POINTS });
|
|
558
550
|
}
|
|
559
551
|
|
|
560
|
-
|
|
561
|
-
//#region src/synthesis/assembly-reader.ts
|
|
552
|
+
// src/synthesis/assembly-reader.ts
|
|
562
553
|
function manifestReadFailureText(error) {
|
|
563
554
|
const cause = error instanceof CdkdError ? error.cause : error;
|
|
564
555
|
const code = cause?.code;
|
|
@@ -716,8 +707,7 @@ var AssemblyReader = class {
|
|
|
716
707
|
}
|
|
717
708
|
};
|
|
718
709
|
|
|
719
|
-
|
|
720
|
-
//#region src/synthesis/context-store.ts
|
|
710
|
+
// src/synthesis/context-store.ts
|
|
721
711
|
const CDK_CONTEXT_FILE = "cdk.context.json";
|
|
722
712
|
var ContextStore = class {
|
|
723
713
|
logger = getLogger().child("ContextStore");
|
|
@@ -762,8 +752,7 @@ var ContextStore = class {
|
|
|
762
752
|
}
|
|
763
753
|
};
|
|
764
754
|
|
|
765
|
-
|
|
766
|
-
//#region src/synthesis/context-providers/az-provider.ts
|
|
755
|
+
// src/synthesis/context-providers/az-provider.ts
|
|
767
756
|
var AZContextProvider = class {
|
|
768
757
|
logger = getLogger().child("AZContextProvider");
|
|
769
758
|
awsConfig;
|
|
@@ -787,8 +776,7 @@ var AZContextProvider = class {
|
|
|
787
776
|
}
|
|
788
777
|
};
|
|
789
778
|
|
|
790
|
-
|
|
791
|
-
//#region src/synthesis/context-providers/ssm-provider.ts
|
|
779
|
+
// src/synthesis/context-providers/ssm-provider.ts
|
|
792
780
|
var SSMContextProvider = class {
|
|
793
781
|
logger = getLogger().child("SSMContextProvider");
|
|
794
782
|
awsConfig;
|
|
@@ -821,8 +809,7 @@ var SSMContextProvider = class {
|
|
|
821
809
|
}
|
|
822
810
|
};
|
|
823
811
|
|
|
824
|
-
|
|
825
|
-
//#region src/synthesis/context-providers/hosted-zone-provider.ts
|
|
812
|
+
// src/synthesis/context-providers/hosted-zone-provider.ts
|
|
826
813
|
var HostedZoneContextProvider = class {
|
|
827
814
|
logger = getLogger().child("HostedZoneContextProvider");
|
|
828
815
|
awsConfig;
|
|
@@ -869,8 +856,7 @@ var HostedZoneContextProvider = class {
|
|
|
869
856
|
}
|
|
870
857
|
};
|
|
871
858
|
|
|
872
|
-
|
|
873
|
-
//#region src/synthesis/context-providers/vpc-provider.ts
|
|
859
|
+
// src/synthesis/context-providers/vpc-provider.ts
|
|
874
860
|
var VpcContextProvider = class {
|
|
875
861
|
logger = getLogger().child("VpcContextProvider");
|
|
876
862
|
awsConfig;
|
|
@@ -1017,8 +1003,7 @@ var VpcContextProvider = class {
|
|
|
1017
1003
|
}
|
|
1018
1004
|
};
|
|
1019
1005
|
|
|
1020
|
-
|
|
1021
|
-
//#region src/synthesis/context-providers/cc-api-provider.ts
|
|
1006
|
+
// src/synthesis/context-providers/cc-api-provider.ts
|
|
1022
1007
|
function parseResourceModel(body, typeName) {
|
|
1023
1008
|
try {
|
|
1024
1009
|
return JSON.parse(body);
|
|
@@ -1134,8 +1119,7 @@ var CcApiContextProvider = class {
|
|
|
1134
1119
|
}
|
|
1135
1120
|
};
|
|
1136
1121
|
|
|
1137
|
-
|
|
1138
|
-
//#region src/synthesis/context-providers/ami-provider.ts
|
|
1122
|
+
// src/synthesis/context-providers/ami-provider.ts
|
|
1139
1123
|
var AmiContextProvider = class {
|
|
1140
1124
|
logger = getLogger().child("AmiContextProvider");
|
|
1141
1125
|
awsConfig;
|
|
@@ -1170,8 +1154,7 @@ var AmiContextProvider = class {
|
|
|
1170
1154
|
}
|
|
1171
1155
|
};
|
|
1172
1156
|
|
|
1173
|
-
|
|
1174
|
-
//#region src/synthesis/context-providers/security-group-provider.ts
|
|
1157
|
+
// src/synthesis/context-providers/security-group-provider.ts
|
|
1175
1158
|
var SecurityGroupContextProvider = class {
|
|
1176
1159
|
logger = getLogger().child("SecurityGroupContextProvider");
|
|
1177
1160
|
awsConfig;
|
|
@@ -1219,8 +1202,7 @@ var SecurityGroupContextProvider = class {
|
|
|
1219
1202
|
}
|
|
1220
1203
|
};
|
|
1221
1204
|
|
|
1222
|
-
|
|
1223
|
-
//#region src/synthesis/context-providers/load-balancer-provider.ts
|
|
1205
|
+
// src/synthesis/context-providers/load-balancer-provider.ts
|
|
1224
1206
|
var LoadBalancerContextProvider = class {
|
|
1225
1207
|
logger = getLogger().child("LoadBalancerContextProvider");
|
|
1226
1208
|
awsConfig;
|
|
@@ -1293,8 +1275,7 @@ var LoadBalancerListenerContextProvider = class {
|
|
|
1293
1275
|
}
|
|
1294
1276
|
};
|
|
1295
1277
|
|
|
1296
|
-
|
|
1297
|
-
//#region src/synthesis/context-providers/key-provider.ts
|
|
1278
|
+
// src/synthesis/context-providers/key-provider.ts
|
|
1298
1279
|
var KeyContextProvider = class {
|
|
1299
1280
|
logger = getLogger().child("KeyContextProvider");
|
|
1300
1281
|
awsConfig;
|
|
@@ -1330,8 +1311,7 @@ var KeyContextProvider = class {
|
|
|
1330
1311
|
}
|
|
1331
1312
|
};
|
|
1332
1313
|
|
|
1333
|
-
|
|
1334
|
-
//#region src/synthesis/context-providers/index.ts
|
|
1314
|
+
// src/synthesis/context-providers/index.ts
|
|
1335
1315
|
const PROVIDER_ERROR_KEY = "$providerError";
|
|
1336
1316
|
const TRANSIENT_CONTEXT_KEY = "$dontSaveContext";
|
|
1337
1317
|
var ContextProviderRegistry = class {
|
|
@@ -1384,8 +1364,7 @@ var ContextProviderRegistry = class {
|
|
|
1384
1364
|
}
|
|
1385
1365
|
};
|
|
1386
1366
|
|
|
1387
|
-
|
|
1388
|
-
//#region src/synthesis/macro-detector.ts
|
|
1367
|
+
// src/synthesis/macro-detector.ts
|
|
1389
1368
|
function containsMacro(template) {
|
|
1390
1369
|
if (!template || typeof template !== "object" || Array.isArray(template)) return false;
|
|
1391
1370
|
const t = template;
|
|
@@ -1474,8 +1453,7 @@ function collectFnTransformNames(value, seen, out) {
|
|
|
1474
1453
|
}
|
|
1475
1454
|
}
|
|
1476
1455
|
|
|
1477
|
-
|
|
1478
|
-
//#region src/utils/aws-partition.ts
|
|
1456
|
+
// src/utils/aws-partition.ts
|
|
1479
1457
|
const PARTITION_TABLE = [
|
|
1480
1458
|
{
|
|
1481
1459
|
prefix: "cn-",
|
|
@@ -1531,8 +1509,7 @@ function derivePartitionAndUrlSuffix(region) {
|
|
|
1531
1509
|
};
|
|
1532
1510
|
}
|
|
1533
1511
|
|
|
1534
|
-
|
|
1535
|
-
//#region src/utils/expected-bucket-owner.ts
|
|
1512
|
+
// src/utils/expected-bucket-owner.ts
|
|
1536
1513
|
var expected_bucket_owner_exports = /* @__PURE__ */ __exportAll({
|
|
1537
1514
|
expectedOwnerParam: () => expectedOwnerParam,
|
|
1538
1515
|
recordResolvedAccountId: () => recordResolvedAccountId,
|
|
@@ -1614,8 +1591,7 @@ async function expectedOwnerParam(client) {
|
|
|
1614
1591
|
return owner ? { ExpectedBucketOwner: owner } : {};
|
|
1615
1592
|
}
|
|
1616
1593
|
|
|
1617
|
-
|
|
1618
|
-
//#region src/utils/s3-listing-keys.ts
|
|
1594
|
+
// src/utils/s3-listing-keys.ts
|
|
1619
1595
|
function decodeListingKey(value) {
|
|
1620
1596
|
if (value === void 0) return void 0;
|
|
1621
1597
|
try {
|
|
@@ -1625,8 +1601,7 @@ function decodeListingKey(value) {
|
|
|
1625
1601
|
}
|
|
1626
1602
|
}
|
|
1627
1603
|
|
|
1628
|
-
|
|
1629
|
-
//#region src/state/s3-replication-purge-gap.ts
|
|
1604
|
+
// src/state/s3-replication-purge-gap.ts
|
|
1630
1605
|
const DEFAULT_PURGED_OBJECT_DESCRIPTION = "the body of an object cdkd has just reported as removed";
|
|
1631
1606
|
const replicationProbeCache = /* @__PURE__ */ new Map();
|
|
1632
1607
|
const warnedWarnings = /* @__PURE__ */ new Set();
|
|
@@ -1758,8 +1733,7 @@ async function warnIfPurgeIsReplicated(s3Client, bucket, keys, options = {}) {
|
|
|
1758
1733
|
} catch {}
|
|
1759
1734
|
}
|
|
1760
1735
|
|
|
1761
|
-
|
|
1762
|
-
//#region src/state/s3-noncurrent-version-purge.ts
|
|
1736
|
+
// src/state/s3-noncurrent-version-purge.ts
|
|
1763
1737
|
const CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION = "a custom-resource response object, which is the handler's full cfn-response body including `Data`";
|
|
1764
1738
|
const DELETE_BATCH_SIZE = 1e3;
|
|
1765
1739
|
const MAX_NAMED_FAILURES = 5;
|
|
@@ -1933,8 +1907,7 @@ async function purgeUnderPrefix(s3Client, bucket, prefix, scope, requestFields,
|
|
|
1933
1907
|
} while (keyMarker !== void 0);
|
|
1934
1908
|
}
|
|
1935
1909
|
|
|
1936
|
-
|
|
1937
|
-
//#region src/cli/upload-cfn-template.ts
|
|
1910
|
+
// src/cli/upload-cfn-template.ts
|
|
1938
1911
|
const CFN_TEMPLATE_BODY_LIMIT = 51200;
|
|
1939
1912
|
const CFN_TEMPLATE_URL_LIMIT = 1048576;
|
|
1940
1913
|
const MIGRATE_TMP_PREFIX = "cdkd-migrate-tmp";
|
|
@@ -2020,8 +1993,7 @@ function findLargeInlineResources(template, threshold = LARGE_INLINE_RESOURCE_TH
|
|
|
2020
1993
|
return result;
|
|
2021
1994
|
}
|
|
2022
1995
|
|
|
2023
|
-
|
|
2024
|
-
//#region src/utils/parameter-types.ts
|
|
1996
|
+
// src/utils/parameter-types.ts
|
|
2025
1997
|
function isListParameterType(type) {
|
|
2026
1998
|
if (type === "CommaDelimitedList") return true;
|
|
2027
1999
|
return type.length > 6 && type.startsWith("List<") && type.endsWith(">");
|
|
@@ -2033,8 +2005,7 @@ function ssmResolvedValueType(type) {
|
|
|
2033
2005
|
return inner.length > 0 ? inner : void 0;
|
|
2034
2006
|
}
|
|
2035
2007
|
|
|
2036
|
-
|
|
2037
|
-
//#region src/synthesis/macro-expander.ts
|
|
2008
|
+
// src/synthesis/macro-expander.ts
|
|
2038
2009
|
function displaySafeTransforms(names) {
|
|
2039
2010
|
return names.map((name) => displaySafe(name)).join(", ");
|
|
2040
2011
|
}
|
|
@@ -2259,8 +2230,7 @@ function formatErr(err) {
|
|
|
2259
2230
|
return displayAwsMessage(describeAwsFailure(err).detail);
|
|
2260
2231
|
}
|
|
2261
2232
|
|
|
2262
|
-
|
|
2263
|
-
//#region src/cli/config-loader.ts
|
|
2233
|
+
// src/cli/config-loader.ts
|
|
2264
2234
|
function loadJsonConfig(filePath) {
|
|
2265
2235
|
const logger = getLogger();
|
|
2266
2236
|
if (!existsSync(filePath)) return null;
|
|
@@ -2360,7 +2330,7 @@ async function resolveStateBucketWithDefaultAndSource(cliBucket, region, legacyF
|
|
|
2360
2330
|
logger.debug("No state bucket specified, resolving default from account...");
|
|
2361
2331
|
const { GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
|
|
2362
2332
|
const { S3Client, HeadBucketCommand, ListObjectsV2Command } = await import("@aws-sdk/client-s3");
|
|
2363
|
-
const { getAwsClients } = await import("./aws-clients-
|
|
2333
|
+
const { getAwsClients } = await import("./aws-clients-CGZAQ1gS.js").then((n) => n.n);
|
|
2364
2334
|
const { expectedOwnerParam, recordResolvedAccountId } = await Promise.resolve().then(() => expected_bucket_owner_exports);
|
|
2365
2335
|
const probeDeps = {
|
|
2366
2336
|
HeadBucketCommand,
|
|
@@ -2471,8 +2441,7 @@ async function probeBucket(client, bucketName, deps) {
|
|
|
2471
2441
|
}
|
|
2472
2442
|
}
|
|
2473
2443
|
|
|
2474
|
-
|
|
2475
|
-
//#region src/synthesis/synthesizer.ts
|
|
2444
|
+
// src/synthesis/synthesizer.ts
|
|
2476
2445
|
function isPreSynthesizedAssembly(app) {
|
|
2477
2446
|
const appPath = resolve(app);
|
|
2478
2447
|
return existsSync(appPath) && statSync(appPath).isDirectory();
|
|
@@ -2634,8 +2603,7 @@ function setsEqual(a, b) {
|
|
|
2634
2603
|
return true;
|
|
2635
2604
|
}
|
|
2636
2605
|
|
|
2637
|
-
|
|
2638
|
-
//#region src/assets/absolute-asset-path-warning.ts
|
|
2606
|
+
// src/assets/absolute-asset-path-warning.ts
|
|
2639
2607
|
function warnWholeAssemblyAsSource(w) {
|
|
2640
2608
|
getLogger().child("assets").warn(`${w.subject} has ${w.field} naming the output directory ITSELF: ${displayAssemblyPath(w.outdir)}. cdkd will ${w.sink} — that is the WHOLE assembly, every template and every staged asset, not one asset directory. No CDK synth emits this, so treat this assembly as untrusted unless you wrote that path yourself.`);
|
|
2641
2609
|
}
|
|
@@ -2643,8 +2611,7 @@ function warnAbsoluteAssetPath(w) {
|
|
|
2643
2611
|
getLogger().child("assets").warn(`${w.subject} has an absolute ${w.field} pointing outside the assembly: ${displayAssemblyPath(w.absolute)}` + (w.escape.escape === "symlink" ? ` (through a symbolic link to ${displayAssemblyPath(w.escape.realPath)})` : "") + `. cdkd will ${w.sink}. This is what cdk synth --no-staging emits, and is expected for it; if you did not synthesize with that flag, treat this assembly as untrusted: an absolute source path is honoured as written, so nothing but this line stands between it and that step.`);
|
|
2644
2612
|
}
|
|
2645
2613
|
|
|
2646
|
-
|
|
2647
|
-
//#region src/assets/asset-manifest-loader.ts
|
|
2614
|
+
// src/assets/asset-manifest-loader.ts
|
|
2648
2615
|
function resolveFileAssetSourcePath(manifestDir, asset, opts) {
|
|
2649
2616
|
const { assetOutdir, sink } = opts;
|
|
2650
2617
|
if (isAbsolute$1(asset.source.path)) {
|
|
@@ -2758,8 +2725,7 @@ function extractHashFromImageUri(imageUri) {
|
|
|
2758
2725
|
return /:([a-f0-9]{8,})$/.exec(imageUri)?.[1];
|
|
2759
2726
|
}
|
|
2760
2727
|
|
|
2761
|
-
|
|
2762
|
-
//#region src/assets/file-asset-publisher.ts
|
|
2728
|
+
// src/assets/file-asset-publisher.ts
|
|
2763
2729
|
var FileAssetPublisher = class {
|
|
2764
2730
|
logger = getLogger().child("FileAssetPublisher");
|
|
2765
2731
|
async publish(assetHash, asset, cdkOutputDir, accountId, region, assetOutdir) {
|
|
@@ -2838,8 +2804,7 @@ var FileAssetPublisher = class {
|
|
|
2838
2804
|
}
|
|
2839
2805
|
};
|
|
2840
2806
|
|
|
2841
|
-
|
|
2842
|
-
//#region src/utils/docker-cmd.ts
|
|
2807
|
+
// src/utils/docker-cmd.ts
|
|
2843
2808
|
function getDockerCmd() {
|
|
2844
2809
|
const override = process.env["CDK_DOCKER"];
|
|
2845
2810
|
return override && override.length > 0 ? override : "docker";
|
|
@@ -3477,16 +3442,14 @@ function describeDockerCapturedOutput(error, args, fallback) {
|
|
|
3477
3442
|
return redactDockerArgvInText(capturedStreamText(error, "stderr") || capturedStreamText(error, "stdout") || fallback, args);
|
|
3478
3443
|
}
|
|
3479
3444
|
|
|
3480
|
-
|
|
3481
|
-
//#region src/assets/docker-cache-option.ts
|
|
3445
|
+
// src/assets/docker-cache-option.ts
|
|
3482
3446
|
function cacheOptionToFlag(option) {
|
|
3483
3447
|
let flag = `type=${option.type}`;
|
|
3484
3448
|
if (option.params) for (const [k, v] of Object.entries(option.params)) flag += `,${k}=${v}`;
|
|
3485
3449
|
return flag;
|
|
3486
3450
|
}
|
|
3487
3451
|
|
|
3488
|
-
|
|
3489
|
-
//#region src/assets/manifest-passthrough-warnings.ts
|
|
3452
|
+
// src/assets/manifest-passthrough-warnings.ts
|
|
3490
3453
|
function candidateHostPaths(value, opts) {
|
|
3491
3454
|
const out = [];
|
|
3492
3455
|
for (const part of value.split(",")) {
|
|
@@ -3599,8 +3562,7 @@ function warnUnrecognizedAssetDestination(opts) {
|
|
|
3599
3562
|
getLogger().child("assets").warn(`Asset destination ${opts.kind} ${displayIdent(opts.name)} is not a CDK-bootstrap or cdkd-managed name, so cdkd uploads there exactly as this asset manifest wrote it, with your credentials. That is what a custom bootstrap looks like and is expected for one; if you did not configure it, the manifest chose where your assets go.`);
|
|
3600
3563
|
}
|
|
3601
3564
|
|
|
3602
|
-
|
|
3603
|
-
//#region src/assets/docker-build.ts
|
|
3565
|
+
// src/assets/docker-build.ts
|
|
3604
3566
|
function resolveDockerContextDirectory(opts) {
|
|
3605
3567
|
const { manifestDir, directory, wrapError, assetOutdir, sink, assetId } = opts;
|
|
3606
3568
|
if (isAbsolute$1(directory)) {
|
|
@@ -3722,8 +3684,7 @@ function buildDockerBuildCommand(source, tag, platformOverride) {
|
|
|
3722
3684
|
return args;
|
|
3723
3685
|
}
|
|
3724
3686
|
|
|
3725
|
-
|
|
3726
|
-
//#region src/assets/docker-asset-publisher.ts
|
|
3687
|
+
// src/assets/docker-asset-publisher.ts
|
|
3727
3688
|
function ecrUrlSuffix(region) {
|
|
3728
3689
|
return derivePartitionAndUrlSuffix(region).urlSuffix;
|
|
3729
3690
|
}
|
|
@@ -3881,8 +3842,7 @@ var DockerAssetPublisher = class {
|
|
|
3881
3842
|
}
|
|
3882
3843
|
};
|
|
3883
3844
|
|
|
3884
|
-
|
|
3885
|
-
//#region src/utils/deny-external-access-policy.ts
|
|
3845
|
+
// src/utils/deny-external-access-policy.ts
|
|
3886
3846
|
function buildDenyExternalAccessPolicy(bucketName, accountId, region) {
|
|
3887
3847
|
const { partition } = derivePartitionAndUrlSuffix(region);
|
|
3888
3848
|
return {
|
|
@@ -3898,8 +3858,7 @@ function buildDenyExternalAccessPolicy(bucketName, accountId, region) {
|
|
|
3898
3858
|
};
|
|
3899
3859
|
}
|
|
3900
3860
|
|
|
3901
|
-
|
|
3902
|
-
//#region src/assets/asset-storage.ts
|
|
3861
|
+
// src/assets/asset-storage.ts
|
|
3903
3862
|
const ASSET_SUPPORT_VERSION = 1;
|
|
3904
3863
|
const BOOTSTRAP_MARKER_PREFIX = "cdkd-bootstrap/";
|
|
3905
3864
|
function getCdkdAssetBucketName(accountId, region) {
|
|
@@ -4325,8 +4284,7 @@ var AssetModeResolver = class {
|
|
|
4325
4284
|
}
|
|
4326
4285
|
};
|
|
4327
4286
|
|
|
4328
|
-
|
|
4329
|
-
//#region src/assets/asset-redirect.ts
|
|
4287
|
+
// src/assets/asset-redirect.ts
|
|
4330
4288
|
function flattenAssetPlaceholders(value, accountId, region, partition = "aws") {
|
|
4331
4289
|
return value.replace(/\$\{AWS::AccountId\}/g, accountId).replace(/\$\{AWS::Region\}/g, region).replace(/\$\{AWS::Partition\}/g, partition);
|
|
4332
4290
|
}
|
|
@@ -4596,8 +4554,7 @@ function createAssetRedirectResolver(opts) {
|
|
|
4596
4554
|
};
|
|
4597
4555
|
}
|
|
4598
4556
|
|
|
4599
|
-
|
|
4600
|
-
//#region src/deployment/work-graph.ts
|
|
4557
|
+
// src/deployment/work-graph.ts
|
|
4601
4558
|
var WorkGraph = class {
|
|
4602
4559
|
nodes = /* @__PURE__ */ new Map();
|
|
4603
4560
|
logger = getLogger().child("WorkGraph");
|
|
@@ -4688,8 +4645,7 @@ var WorkGraph = class {
|
|
|
4688
4645
|
}
|
|
4689
4646
|
};
|
|
4690
4647
|
|
|
4691
|
-
|
|
4692
|
-
//#region src/utils/stringify.ts
|
|
4648
|
+
// src/utils/stringify.ts
|
|
4693
4649
|
const SENSITIVE_ATTRIBUTE_NAME = /secret|password|credential/i;
|
|
4694
4650
|
const NON_SENSITIVE_SUFFIX = /(arn|id|name|url|alias|status)$/i;
|
|
4695
4651
|
function isSensitiveAttributeName(attributeName) {
|
|
@@ -4718,8 +4674,7 @@ function stringifyValue(value) {
|
|
|
4718
4674
|
}
|
|
4719
4675
|
}
|
|
4720
4676
|
|
|
4721
|
-
|
|
4722
|
-
//#region src/assets/asset-publisher.ts
|
|
4677
|
+
// src/assets/asset-publisher.ts
|
|
4723
4678
|
var AssetPublisher = class {
|
|
4724
4679
|
logger = getLogger().child("AssetPublisher");
|
|
4725
4680
|
filePublisher = new FileAssetPublisher();
|
|
@@ -4865,8 +4820,7 @@ var AssetPublisher = class {
|
|
|
4865
4820
|
}
|
|
4866
4821
|
};
|
|
4867
4822
|
|
|
4868
|
-
|
|
4869
|
-
//#region src/utils/phase-timings.ts
|
|
4823
|
+
// src/utils/phase-timings.ts
|
|
4870
4824
|
const now = () => globalThis.performance.now();
|
|
4871
4825
|
const PHASE_TIMINGS_ENV = "CDKD_PHASE_TIMINGS";
|
|
4872
4826
|
function phaseTimingsEnabled() {
|
|
@@ -4971,8 +4925,7 @@ function renderPhaseTimings() {
|
|
|
4971
4925
|
return lines;
|
|
4972
4926
|
}
|
|
4973
4927
|
|
|
4974
|
-
|
|
4975
|
-
//#region src/types/state.ts
|
|
4928
|
+
// src/types/state.ts
|
|
4976
4929
|
const STATE_SCHEMA_VERSIONS_READABLE = [
|
|
4977
4930
|
1,
|
|
4978
4931
|
2,
|
|
@@ -5059,8 +5012,7 @@ function orphansAfterRollback(previous, newlyOrphaned) {
|
|
|
5059
5012
|
return { orphans: [...byLogicalId.values()] };
|
|
5060
5013
|
}
|
|
5061
5014
|
|
|
5062
|
-
|
|
5063
|
-
//#region src/types/rollback-journal.ts
|
|
5015
|
+
// src/types/rollback-journal.ts
|
|
5064
5016
|
const ROLLBACK_JOURNAL_VERSION = 1;
|
|
5065
5017
|
function splitImportedOps(ops, segment, except = /* @__PURE__ */ new Set()) {
|
|
5066
5018
|
const marks = segment.importedResources ?? [];
|
|
@@ -5242,8 +5194,7 @@ function parseRollbackJournal(bodyString, stackName) {
|
|
|
5242
5194
|
};
|
|
5243
5195
|
}
|
|
5244
5196
|
|
|
5245
|
-
|
|
5246
|
-
//#region src/state/create-token-ledger.ts
|
|
5197
|
+
// src/state/create-token-ledger.ts
|
|
5247
5198
|
const CREATE_TOKEN_LEDGER_VERSION = 1;
|
|
5248
5199
|
function emptyCreateTokenLedger(nonce) {
|
|
5249
5200
|
return {
|
|
@@ -5294,8 +5245,7 @@ async function notifyStateSaved(stackName, region) {
|
|
|
5294
5245
|
await stateSavedObserver.getStore()?.(stackName, region);
|
|
5295
5246
|
}
|
|
5296
5247
|
|
|
5297
|
-
|
|
5298
|
-
//#region src/state/stack-instance-id.ts
|
|
5248
|
+
// src/state/stack-instance-id.ts
|
|
5299
5249
|
const STACK_INSTANCE_SIBLING_VERSION = 1;
|
|
5300
5250
|
const STACK_INSTANCE_SIBLING_FILE = "stack-instance.json";
|
|
5301
5251
|
const STACK_INSTANCE_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
@@ -5341,8 +5291,7 @@ function withStackInstanceIdWithheld(state) {
|
|
|
5341
5291
|
};
|
|
5342
5292
|
}
|
|
5343
5293
|
|
|
5344
|
-
|
|
5345
|
-
//#region src/state/cross-prefix-stack-scan.ts
|
|
5294
|
+
// src/state/cross-prefix-stack-scan.ts
|
|
5346
5295
|
function journalCanOwnResources(journal) {
|
|
5347
5296
|
return recordCanOwnResources({ resources: {} }, journal);
|
|
5348
5297
|
}
|
|
@@ -5704,8 +5653,7 @@ function applyCrossPrefixScan(result, s, action, warn, info) {
|
|
|
5704
5653
|
}
|
|
5705
5654
|
}
|
|
5706
5655
|
|
|
5707
|
-
|
|
5708
|
-
//#region src/state/earlier-state-versions.ts
|
|
5656
|
+
// src/state/earlier-state-versions.ts
|
|
5709
5657
|
async function readEarlierStateResources(s3, bucket, owner, key, max) {
|
|
5710
5658
|
const versions = ((await s3.send(new ListObjectVersionsCommand({
|
|
5711
5659
|
Bucket: bucket,
|
|
@@ -5775,8 +5723,7 @@ async function listVersionedSubdirectories(s3, bucket, owner, prefix) {
|
|
|
5775
5723
|
}
|
|
5776
5724
|
}
|
|
5777
5725
|
|
|
5778
|
-
|
|
5779
|
-
//#region src/state/retained-time.ts
|
|
5726
|
+
// src/state/retained-time.ts
|
|
5780
5727
|
var RetainedTimeUnconfirmedError = class extends Error {
|
|
5781
5728
|
cause;
|
|
5782
5729
|
constructor(cause) {
|
|
@@ -5786,8 +5733,7 @@ var RetainedTimeUnconfirmedError = class extends Error {
|
|
|
5786
5733
|
}
|
|
5787
5734
|
};
|
|
5788
5735
|
|
|
5789
|
-
|
|
5790
|
-
//#region src/utils/bucket-region-client.ts
|
|
5736
|
+
// src/utils/bucket-region-client.ts
|
|
5791
5737
|
async function rebuildClientForBucketRegion(client, bucket, opts = {}) {
|
|
5792
5738
|
const config = client.config;
|
|
5793
5739
|
if (!config || typeof config.region !== "function") {
|
|
@@ -5825,8 +5771,7 @@ async function rebuildClientForBucketRegion(client, bucket, opts = {}) {
|
|
|
5825
5771
|
return replacement;
|
|
5826
5772
|
}
|
|
5827
5773
|
|
|
5828
|
-
|
|
5829
|
-
//#region src/state/token-free-state.ts
|
|
5774
|
+
// src/state/token-free-state.ts
|
|
5830
5775
|
const tokenFreeStates = /* @__PURE__ */ new WeakSet();
|
|
5831
5776
|
function bodyMayCarryReferences(body) {
|
|
5832
5777
|
return body.includes("{{resolve:") || body.includes("\"referenceProvenance\"") || body.includes("\"outputReferenceProvenance\"");
|
|
@@ -5838,8 +5783,7 @@ function isKnownTokenFreeState(state) {
|
|
|
5838
5783
|
return state !== void 0 && tokenFreeStates.has(state);
|
|
5839
5784
|
}
|
|
5840
5785
|
|
|
5841
|
-
|
|
5842
|
-
//#region src/state/s3-state-backend.ts
|
|
5786
|
+
// src/state/s3-state-backend.ts
|
|
5843
5787
|
function errorDetail$2(error) {
|
|
5844
5788
|
return displaySafe(error instanceof Error ? error.message : error, { asciiOnly: true }) || "<unrenderable>";
|
|
5845
5789
|
}
|
|
@@ -7240,8 +7184,7 @@ function addSupersededIds(segment, ids) {
|
|
|
7240
7184
|
if (merged.size > 0) segment.supersededLogicalIds = [...merged];
|
|
7241
7185
|
}
|
|
7242
7186
|
|
|
7243
|
-
|
|
7244
|
-
//#region src/state/lock-manager.ts
|
|
7187
|
+
// src/state/lock-manager.ts
|
|
7245
7188
|
const MAX_RENEWAL_INTERVAL_MS = 12e4;
|
|
7246
7189
|
const RENEWAL_TTL_FRACTION = 4;
|
|
7247
7190
|
const MIN_RENEWAL_INTERVAL_MS = 1e3;
|
|
@@ -7755,8 +7698,7 @@ function nanIfUncoercible(value) {
|
|
|
7755
7698
|
}
|
|
7756
7699
|
}
|
|
7757
7700
|
|
|
7758
|
-
|
|
7759
|
-
//#region src/deployment/secret-redaction/rules.ts
|
|
7701
|
+
// src/deployment/secret-redaction/rules.ts
|
|
7760
7702
|
const MIN_NEEDLE_LENGTH = 4;
|
|
7761
7703
|
function printingNeedles(values) {
|
|
7762
7704
|
const out = /* @__PURE__ */ new Set();
|
|
@@ -7851,8 +7793,7 @@ function isPlainObject$11(value) {
|
|
|
7851
7793
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
7852
7794
|
}
|
|
7853
7795
|
|
|
7854
|
-
|
|
7855
|
-
//#region src/deployment/secret-redaction/mask-only.ts
|
|
7796
|
+
// src/deployment/secret-redaction/mask-only.ts
|
|
7856
7797
|
const recordedSecretExpressions = /* @__PURE__ */ new Set();
|
|
7857
7798
|
const secretVerdictScopes = /* @__PURE__ */ new Map();
|
|
7858
7799
|
function pinScopedSecretVerdict(scope, expression, secret) {
|
|
@@ -8076,8 +8017,7 @@ function isSecretExpressionByVerdictOrSpelling(expression) {
|
|
|
8076
8017
|
return expression.startsWith("{{resolve:secretsmanager:") || expression.startsWith("{{resolve:ssm-secure:") || isRecordedSecretExpression(expression);
|
|
8077
8018
|
}
|
|
8078
8019
|
|
|
8079
|
-
|
|
8080
|
-
//#region src/deployment/secret-redaction/cross-stack.ts
|
|
8020
|
+
// src/deployment/secret-redaction/cross-stack.ts
|
|
8081
8021
|
const crossStackAssociations = /* @__PURE__ */ new WeakMap();
|
|
8082
8022
|
const CONFLICTING_CROSS_STACK = Symbol("conflicting cross-stack association");
|
|
8083
8023
|
const CROSS_STACK_KEY_SEPARATOR = "\0";
|
|
@@ -8195,8 +8135,7 @@ function storeAssociation(associations, key, expression, plaintext) {
|
|
|
8195
8135
|
if (seen.expression !== expression || seen.plaintext !== plaintext) associations.set(key, CONFLICTING_CROSS_STACK);
|
|
8196
8136
|
}
|
|
8197
8137
|
|
|
8198
|
-
|
|
8199
|
-
//#region src/deployment/secret-redaction/certified-positions.ts
|
|
8138
|
+
// src/deployment/secret-redaction/certified-positions.ts
|
|
8200
8139
|
function plaintextIndexOf(secrets) {
|
|
8201
8140
|
const plaintextOf = /* @__PURE__ */ new Map();
|
|
8202
8141
|
for (const [plaintext, expression] of secrets) plaintextOf.set(expression, plaintextOf.has(expression) ? CONFLICTING_PLAINTEXT : plaintext);
|
|
@@ -8233,8 +8172,7 @@ function positionByCrossStackSource(bag, source, secrets) {
|
|
|
8233
8172
|
return certifiedExpressionForLeaf(secrets, association, bag);
|
|
8234
8173
|
}
|
|
8235
8174
|
|
|
8236
|
-
|
|
8237
|
-
//#region src/deployment/secret-redaction/resolver-outcomes.ts
|
|
8175
|
+
// src/deployment/secret-redaction/resolver-outcomes.ts
|
|
8238
8176
|
const CONFLICTING = Symbol("cdkd.resolver-outcome.conflicting");
|
|
8239
8177
|
const takenBranches = /* @__PURE__ */ new WeakMap();
|
|
8240
8178
|
function recordTakenIfBranch(secrets, source, tookTrueBranch) {
|
|
@@ -8267,8 +8205,7 @@ function droppedArrayElementsOf(secrets, source) {
|
|
|
8267
8205
|
return dropped === CONFLICTING ? void 0 : dropped;
|
|
8268
8206
|
}
|
|
8269
8207
|
|
|
8270
|
-
|
|
8271
|
-
//#region src/deployment/secret-redaction/physical-name-copies.ts
|
|
8208
|
+
// src/deployment/secret-redaction/physical-name-copies.ts
|
|
8272
8209
|
const physicalNameCopiesOf = /* @__PURE__ */ new WeakMap();
|
|
8273
8210
|
function recordPhysicalNameCopy(secrets, physicalId) {
|
|
8274
8211
|
if (physicalId === "") return;
|
|
@@ -8289,8 +8226,7 @@ function physicalNameSpans(names, value) {
|
|
|
8289
8226
|
return spans;
|
|
8290
8227
|
}
|
|
8291
8228
|
|
|
8292
|
-
|
|
8293
|
-
//#region src/deployment/secret-redaction/fresh-noecho.ts
|
|
8229
|
+
// src/deployment/secret-redaction/fresh-noecho.ts
|
|
8294
8230
|
function embedsFreshNoEchoValue(text, secrets, freshClass) {
|
|
8295
8231
|
const fresh = freshNoEchoValuesOf.get(secrets);
|
|
8296
8232
|
if (fresh === void 0) return false;
|
|
@@ -8434,8 +8370,7 @@ function recoverMaskedOutput(identity, stackName, region, outputKey) {
|
|
|
8434
8370
|
return recoverableMaskedOutputs.get(maskedOutputKey(identity, stackName, region, outputKey));
|
|
8435
8371
|
}
|
|
8436
8372
|
|
|
8437
|
-
|
|
8438
|
-
//#region src/deployment/secret-redaction/nested-stack.ts
|
|
8373
|
+
// src/deployment/secret-redaction/nested-stack.ts
|
|
8439
8374
|
const NESTED_STACK_RESOURCE_TYPE$4 = "AWS::CloudFormation::Stack";
|
|
8440
8375
|
const nestedStackParameterExpressions = /* @__PURE__ */ new WeakMap();
|
|
8441
8376
|
const renderedParameterSpellings = /* @__PURE__ */ new WeakMap();
|
|
@@ -9056,8 +8991,7 @@ function carriesChildOnlyPlaintext(value, childSecrets, parentSecrets) {
|
|
|
9056
8991
|
return visit(value);
|
|
9057
8992
|
}
|
|
9058
8993
|
|
|
9059
|
-
|
|
9060
|
-
//#region src/deployment/secret-redaction/placeholder-positions.ts
|
|
8994
|
+
// src/deployment/secret-redaction/placeholder-positions.ts
|
|
9061
8995
|
function keyedPart(source) {
|
|
9062
8996
|
const key = crossStackSourceKey(source);
|
|
9063
8997
|
return key === void 0 ? UNKNOWN_PART : { key };
|
|
@@ -9263,8 +9197,7 @@ function positionByRecordedParameterSpans(bag, source, secrets, associations) {
|
|
|
9263
9197
|
return acceptedPlaceholderRendering(bag, persisted, certified, secrets);
|
|
9264
9198
|
}
|
|
9265
9199
|
|
|
9266
|
-
|
|
9267
|
-
//#region src/deployment/secret-redaction/identity-keys.ts
|
|
9200
|
+
// src/deployment/secret-redaction/identity-keys.ts
|
|
9268
9201
|
const ARRAY_IDENTITY_KEYS = ["Name", "Key"];
|
|
9269
9202
|
function isUniquelyKeyedBy(items, key) {
|
|
9270
9203
|
if (items.length === 0) return false;
|
|
@@ -9287,8 +9220,7 @@ function positionListByCrossStackSource(bag, source, secrets) {
|
|
|
9287
9220
|
return certifiedListForLeaf(secrets, association, bag);
|
|
9288
9221
|
}
|
|
9289
9222
|
|
|
9290
|
-
|
|
9291
|
-
//#region src/deployment/secret-redaction/redact-path.ts
|
|
9223
|
+
// src/deployment/secret-redaction/redact-path.ts
|
|
9292
9224
|
const NEVER_DROPPING_INTRINSICS = /* @__PURE__ */ new Set([
|
|
9293
9225
|
"Fn::Join",
|
|
9294
9226
|
"Fn::Sub",
|
|
@@ -9740,8 +9672,7 @@ function deepEqualJsonValue(a, b) {
|
|
|
9740
9672
|
return false;
|
|
9741
9673
|
}
|
|
9742
9674
|
|
|
9743
|
-
|
|
9744
|
-
//#region src/deployment/secret-redaction/readback-certification.ts
|
|
9675
|
+
// src/deployment/secret-redaction/readback-certification.ts
|
|
9745
9676
|
function renderedDefinitionLiterals(source) {
|
|
9746
9677
|
const keep = /* @__PURE__ */ new Set();
|
|
9747
9678
|
const scalarKeep = /* @__PURE__ */ new Set();
|
|
@@ -9912,8 +9843,7 @@ function refuseUncertifiedReadbackPositions(bag, source, secrets, failClosed, le
|
|
|
9912
9843
|
return refuseAgainstSource(bag, source, failClosed, mark);
|
|
9913
9844
|
}
|
|
9914
9845
|
|
|
9915
|
-
|
|
9916
|
-
//#region src/deployment/secret-redaction/anchors.ts
|
|
9846
|
+
// src/deployment/secret-redaction/anchors.ts
|
|
9917
9847
|
function isDistinguishingAnchor(value) {
|
|
9918
9848
|
if (typeof value === "string") return value !== "";
|
|
9919
9849
|
if (Array.isArray(value)) return value.some(isDistinguishingAnchor);
|
|
@@ -10063,8 +9993,7 @@ function deriveReadbackNeedles(bag, source, secrets, rules) {
|
|
|
10063
9993
|
};
|
|
10064
9994
|
}
|
|
10065
9995
|
|
|
10066
|
-
|
|
10067
|
-
//#region src/deployment/secret-redaction/redact-state.ts
|
|
9996
|
+
// src/deployment/secret-redaction/redact-state.ts
|
|
10068
9997
|
function redactSecretsForState(bag, secrets, source, rules = TEMPLATE_DERIVED_RULES, bagIsSameGeneration = false) {
|
|
10069
9998
|
return flattenEmbeddedNoEchoLeaves(redactSecretsForStatePasses(bag, secrets, source, rules, bagIsSameGeneration), secrets);
|
|
10070
9999
|
}
|
|
@@ -10418,8 +10347,7 @@ function repairEmbeddedPhysicalNamesTowards(stored, target, pairs) {
|
|
|
10418
10347
|
return stored;
|
|
10419
10348
|
}
|
|
10420
10349
|
|
|
10421
|
-
|
|
10422
|
-
//#region src/deployment/secret-redaction/mask-errors.ts
|
|
10350
|
+
// src/deployment/secret-redaction/mask-errors.ts
|
|
10423
10351
|
function maskSecretsInText(text, secrets) {
|
|
10424
10352
|
const logOnly = logOnlyValuesOf.get(secrets);
|
|
10425
10353
|
const noLogOnly = logOnly === void 0 || logOnly.size === 0;
|
|
@@ -10620,8 +10548,7 @@ function createSecretMasker(secrets) {
|
|
|
10620
10548
|
return (text) => maskSecretsInText(text, secrets);
|
|
10621
10549
|
}
|
|
10622
10550
|
|
|
10623
|
-
|
|
10624
|
-
//#region src/deployment/secret-redaction/log-only.ts
|
|
10551
|
+
// src/deployment/secret-redaction/log-only.ts
|
|
10625
10552
|
const logOnlyValuesOf = /* @__PURE__ */ new WeakMap();
|
|
10626
10553
|
function recordLogOnlyValue(secrets, plaintext) {
|
|
10627
10554
|
if (plaintext === "") return;
|
|
@@ -10810,8 +10737,7 @@ function hasMaskableValues(secrets) {
|
|
|
10810
10737
|
return logOnly !== void 0 && logOnly.size > 0;
|
|
10811
10738
|
}
|
|
10812
10739
|
|
|
10813
|
-
|
|
10814
|
-
//#region src/deployment/secret-redaction/reference-provenance.ts
|
|
10740
|
+
// src/deployment/secret-redaction/reference-provenance.ts
|
|
10815
10741
|
const passProvenanceOf = /* @__PURE__ */ new WeakMap();
|
|
10816
10742
|
const MAX_REFERENCE_VERSIONS = 8;
|
|
10817
10743
|
function provenanceTableFor(secrets) {
|
|
@@ -10911,8 +10837,7 @@ function snapshotPassProvenance(secrets) {
|
|
|
10911
10837
|
return out;
|
|
10912
10838
|
}
|
|
10913
10839
|
|
|
10914
|
-
|
|
10915
|
-
//#region src/deployment/secret-redaction/recording.ts
|
|
10840
|
+
// src/deployment/secret-redaction/recording.ts
|
|
10916
10841
|
const scopeMaps = /* @__PURE__ */ new WeakSet();
|
|
10917
10842
|
var WriteThroughSecrets = class extends Map {
|
|
10918
10843
|
pass;
|
|
@@ -10974,8 +10899,7 @@ function recordSecretResolution(secrets, expression, plaintext, options) {
|
|
|
10974
10899
|
if (options.pairEvidence) recordResolvedPair(secrets, expression, plaintext);
|
|
10975
10900
|
}
|
|
10976
10901
|
|
|
10977
|
-
|
|
10978
|
-
//#region src/deployment/secret-redaction/context.ts
|
|
10902
|
+
// src/deployment/secret-redaction/context.ts
|
|
10979
10903
|
const RULES_BY_PROVENANCE = {
|
|
10980
10904
|
"template-derived": TEMPLATE_DERIVED_RULES,
|
|
10981
10905
|
"template-sourced": TEMPLATE_SOURCED_RULES,
|
|
@@ -11010,8 +10934,7 @@ function shallowCopy(bag) {
|
|
|
11010
10934
|
return Array.isArray(bag) ? [...bag] : { ...bag };
|
|
11011
10935
|
}
|
|
11012
10936
|
|
|
11013
|
-
|
|
11014
|
-
//#region src/deployment/secret-redaction/positions.ts
|
|
10937
|
+
// src/deployment/secret-redaction/positions.ts
|
|
11015
10938
|
const SKELETON_WILDCARD = `${DYNAMIC_REFERENCE_INNER_CHAR}*`;
|
|
11016
10939
|
const MAX_SKELETON_WILDCARDS = 3;
|
|
11017
10940
|
const MAX_SKELETON_CANDIDATE_LENGTH = 512;
|
|
@@ -11303,8 +11226,7 @@ function positionByIntrinsicFrame(bag, source, secrets, secretExpressions, bagIs
|
|
|
11303
11226
|
}, bagIsSameGeneration);
|
|
11304
11227
|
}
|
|
11305
11228
|
|
|
11306
|
-
|
|
11307
|
-
//#region src/deployment/secret-redaction/pairs.ts
|
|
11229
|
+
// src/deployment/secret-redaction/pairs.ts
|
|
11308
11230
|
const resolvedPairsOf = /* @__PURE__ */ new WeakMap();
|
|
11309
11231
|
const CONFLICTING_PLAINTEXT = Symbol("conflicting plaintext");
|
|
11310
11232
|
function pairsFor(secrets) {
|
|
@@ -11435,8 +11357,7 @@ function carryRedactionMarks(from, to) {
|
|
|
11435
11357
|
return to;
|
|
11436
11358
|
}
|
|
11437
11359
|
|
|
11438
|
-
|
|
11439
|
-
//#region src/deployment/secret-redaction/unresolved-token-frame.ts
|
|
11360
|
+
// src/deployment/secret-redaction/unresolved-token-frame.ts
|
|
11440
11361
|
function liveMatchesUnresolvedTokenFrame(send, live, unresolvedTokens, secrets) {
|
|
11441
11362
|
const wildcards = dynamicReferenceSpans(send).filter((span) => unresolvedTokens.has(send.slice(span.start, span.end)));
|
|
11442
11363
|
if (wildcards.length === 0) return false;
|
|
@@ -11473,8 +11394,7 @@ function wildcardOverlapsResolvedPlaintext(send, wildcards, secrets) {
|
|
|
11473
11394
|
return false;
|
|
11474
11395
|
}
|
|
11475
11396
|
|
|
11476
|
-
|
|
11477
|
-
//#region src/deployment/secret-redaction/noecho-leaves.ts
|
|
11397
|
+
// src/deployment/secret-redaction/noecho-leaves.ts
|
|
11478
11398
|
const SUB_VARIABLE$2 = /\$\{([^}!][^}]*)\}/g;
|
|
11479
11399
|
function intrinsicKeyOf(node) {
|
|
11480
11400
|
const keys = Object.keys(node);
|
|
@@ -12004,8 +11924,7 @@ function passedNoEchoParametersOf(bag) {
|
|
|
12004
11924
|
return bag === void 0 ? void 0 : passedNoEchoParameters.get(bag);
|
|
12005
11925
|
}
|
|
12006
11926
|
|
|
12007
|
-
|
|
12008
|
-
//#region src/analyzer/template-parser.ts
|
|
11927
|
+
// src/analyzer/template-parser.ts
|
|
12009
11928
|
var TemplateParser = class {
|
|
12010
11929
|
logger = getLogger().child("TemplateParser");
|
|
12011
11930
|
getResourceIds(template) {
|
|
@@ -12179,8 +12098,7 @@ var TemplateParser = class {
|
|
|
12179
12098
|
}
|
|
12180
12099
|
};
|
|
12181
12100
|
|
|
12182
|
-
|
|
12183
|
-
//#region src/analyzer/lambda-vpc-deps.ts
|
|
12101
|
+
// src/analyzer/lambda-vpc-deps.ts
|
|
12184
12102
|
function extractLambdaVpcDeleteDeps(resources) {
|
|
12185
12103
|
const edges = [];
|
|
12186
12104
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -12227,8 +12145,7 @@ function collectRefIds(value, out) {
|
|
|
12227
12145
|
}
|
|
12228
12146
|
}
|
|
12229
12147
|
|
|
12230
|
-
|
|
12231
|
-
//#region src/analyzer/cdk-defensive-deps.ts
|
|
12148
|
+
// src/analyzer/cdk-defensive-deps.ts
|
|
12232
12149
|
const DEFENSIVE_DEPENDS_ON_TYPE_PAIRS = [
|
|
12233
12150
|
{
|
|
12234
12151
|
fromType: "AWS::IAM::Role",
|
|
@@ -12287,8 +12204,7 @@ function defensiveDependsOnToSkip(resource, template) {
|
|
|
12287
12204
|
return skip;
|
|
12288
12205
|
}
|
|
12289
12206
|
|
|
12290
|
-
|
|
12291
|
-
//#region src/analyzer/dag-builder.ts
|
|
12207
|
+
// src/analyzer/dag-builder.ts
|
|
12292
12208
|
const { Graph, alg } = graphlib;
|
|
12293
12209
|
const IAM_ROLE_POLICY_TYPES = /* @__PURE__ */ new Set([
|
|
12294
12210
|
"AWS::IAM::Policy",
|
|
@@ -12531,8 +12447,7 @@ var DagBuilder = class {
|
|
|
12531
12447
|
}
|
|
12532
12448
|
};
|
|
12533
12449
|
|
|
12534
|
-
|
|
12535
|
-
//#region src/utils/lambda-function-name.ts
|
|
12450
|
+
// src/utils/lambda-function-name.ts
|
|
12536
12451
|
function parseLambdaFunctionAddress(value) {
|
|
12537
12452
|
const full = /^arn:([^:]+):lambda:([^:]+):(\d{12}):function:([^:]+)$/.exec(value);
|
|
12538
12453
|
if (full) return {
|
|
@@ -12562,8 +12477,7 @@ function lambdaFunctionNameForMask(value) {
|
|
|
12562
12477
|
return /^(?:arn:[^:]+:lambda:[^:]+:\d{12}:function:|\d{12}:function:)?([A-Za-z0-9_-]+)(?::[^:]+)?$/.exec(value)?.[1] ?? canonicalLambdaFunctionName(value);
|
|
12563
12478
|
}
|
|
12564
12479
|
|
|
12565
|
-
|
|
12566
|
-
//#region src/analyzer/replacement-rules.ts
|
|
12480
|
+
// src/analyzer/replacement-rules.ts
|
|
12567
12481
|
function vpcInstanceTenancyChangeReplaces(oldValue, newValue) {
|
|
12568
12482
|
const tenancyOf = (v) => v == null ? "default" : String(v);
|
|
12569
12483
|
return tenancyOf(newValue) !== "default" && tenancyOf(newValue) !== tenancyOf(oldValue);
|
|
@@ -13156,8 +13070,7 @@ var ReplacementRulesRegistry = class {
|
|
|
13156
13070
|
}
|
|
13157
13071
|
};
|
|
13158
13072
|
|
|
13159
|
-
|
|
13160
|
-
//#region src/deployment/retry.ts
|
|
13073
|
+
// src/deployment/retry.ts
|
|
13161
13074
|
const IAM_PROPAGATION_INITIAL_DELAY_MS = 250;
|
|
13162
13075
|
const IAM_PROPAGATION_MAX_DELAY_MS = 2e3;
|
|
13163
13076
|
const IAM_PROPAGATION_MAX_RETRIES = 26;
|
|
@@ -13253,8 +13166,7 @@ function retryErrorClass(error) {
|
|
|
13253
13166
|
return parts.length > 0 ? `${name} (${parts.join(", ")})` : name;
|
|
13254
13167
|
}
|
|
13255
13168
|
|
|
13256
|
-
|
|
13257
|
-
//#region src/utils/concurrency-limiter.ts
|
|
13169
|
+
// src/utils/concurrency-limiter.ts
|
|
13258
13170
|
var BackgroundTaskCancelledError = class extends Error {
|
|
13259
13171
|
constructor() {
|
|
13260
13172
|
super("Background task cancelled");
|
|
@@ -13378,8 +13290,7 @@ function createConcurrencyLimiter(limit) {
|
|
|
13378
13290
|
};
|
|
13379
13291
|
}
|
|
13380
13292
|
|
|
13381
|
-
|
|
13382
|
-
//#region src/provisioning/describe-type.ts
|
|
13293
|
+
// src/provisioning/describe-type.ts
|
|
13383
13294
|
const describeTypeRetryDelays = {};
|
|
13384
13295
|
const MAX_THROTTLE_RETRIES = 4;
|
|
13385
13296
|
const DESCRIBE_TYPE_MAX_IN_FLIGHT = 20;
|
|
@@ -13436,8 +13347,7 @@ function hasNoRegistrySchema(resourceType) {
|
|
|
13436
13347
|
return resourceType === "AWS::CDK::Metadata" || resourceType === "AWS::CloudFormation::CustomResource" || resourceType.startsWith("Custom::");
|
|
13437
13348
|
}
|
|
13438
13349
|
|
|
13439
|
-
|
|
13440
|
-
//#region src/provisioning/create-only-paths.ts
|
|
13350
|
+
// src/provisioning/create-only-paths.ts
|
|
13441
13351
|
function parseCreateOnlyPropertyPointers(createOnly) {
|
|
13442
13352
|
const result = [];
|
|
13443
13353
|
if (!Array.isArray(createOnly)) return result;
|
|
@@ -13453,8 +13363,7 @@ function unescapeJsonPointerSegment$2(segment) {
|
|
|
13453
13363
|
return segment.replace(/~1/g, "/").replace(/~0/g, "~");
|
|
13454
13364
|
}
|
|
13455
13365
|
|
|
13456
|
-
|
|
13457
|
-
//#region src/provisioning/create-only-snapshot.generated.ts
|
|
13366
|
+
// src/provisioning/create-only-snapshot.generated.ts
|
|
13458
13367
|
const CREATE_ONLY_PATHS_SNAPSHOT = /* @__PURE__ */ new Map([
|
|
13459
13368
|
["AWS::ApiGateway::Account", []],
|
|
13460
13369
|
["AWS::ApiGateway::Authorizer", [["RestApiId"]]],
|
|
@@ -14047,8 +13956,7 @@ const CREATE_ONLY_PATHS_SNAPSHOT = /* @__PURE__ */ new Map([
|
|
|
14047
13956
|
["AWS::WAFv2::WebACL", [["Name"], ["Scope"]]]
|
|
14048
13957
|
]);
|
|
14049
13958
|
|
|
14050
|
-
|
|
14051
|
-
//#region src/provisioning/create-only-properties.ts
|
|
13959
|
+
// src/provisioning/create-only-properties.ts
|
|
14052
13960
|
const createOnlyPropertiesCache = /* @__PURE__ */ new Map();
|
|
14053
13961
|
const inFlightLookups = /* @__PURE__ */ new Map();
|
|
14054
13962
|
function getCreateOnlyPropertyPaths(resourceType) {
|
|
@@ -14168,8 +14076,7 @@ function parseCreateOnlyResponse(resourceType, schema) {
|
|
|
14168
14076
|
return result;
|
|
14169
14077
|
}
|
|
14170
14078
|
|
|
14171
|
-
|
|
14172
|
-
//#region src/provisioning/write-only-properties.ts
|
|
14079
|
+
// src/provisioning/write-only-properties.ts
|
|
14173
14080
|
const writeOnlyPropertiesCache = /* @__PURE__ */ new Map();
|
|
14174
14081
|
const settledWriteOnlyProperties = /* @__PURE__ */ new Map();
|
|
14175
14082
|
const settledUnreadableCreateOnlyPaths = /* @__PURE__ */ new Map();
|
|
@@ -14248,8 +14155,7 @@ function parseRegistrySchema(resourceType, schema) {
|
|
|
14248
14155
|
return parseJsonNamingNoBody(schema, "the DescribeType schema", (line) => getLogger().child("WriteOnlyProperties").debug(safeMsg`${resourceType}: ${line}`));
|
|
14249
14156
|
}
|
|
14250
14157
|
|
|
14251
|
-
|
|
14252
|
-
//#region src/deployment/replacement-name-holder/name-keys.ts
|
|
14158
|
+
// src/deployment/replacement-name-holder/name-keys.ts
|
|
14253
14159
|
const flat = (property) => ({ name: [[property]] });
|
|
14254
14160
|
function ownEntry$1(table, key) {
|
|
14255
14161
|
return Object.hasOwn(table, key) ? table[key] : void 0;
|
|
@@ -14446,8 +14352,7 @@ const SENT_NAME_REWRITTEN = {
|
|
|
14446
14352
|
}
|
|
14447
14353
|
};
|
|
14448
14354
|
|
|
14449
|
-
|
|
14450
|
-
//#region src/deployment/replacement-name-holder/holder-probe.ts
|
|
14355
|
+
// src/deployment/replacement-name-holder/holder-probe.ts
|
|
14451
14356
|
const SHARED_NAME_SPACES = [
|
|
14452
14357
|
/* @__PURE__ */ new Set(["AWS::DynamoDB::Table", "AWS::DynamoDB::GlobalTable"]),
|
|
14453
14358
|
/* @__PURE__ */ new Set([
|
|
@@ -14585,8 +14490,7 @@ const DERIVED_GENERATED_NAMES = {
|
|
|
14585
14490
|
"AWS::SSM::Parameter": derivedEntry("AWS::SSM::Parameter", "ssm-parameter-provider.ts")
|
|
14586
14491
|
};
|
|
14587
14492
|
|
|
14588
|
-
|
|
14589
|
-
//#region src/deployment/replacement-name-holder/rewritten.ts
|
|
14493
|
+
// src/deployment/replacement-name-holder/rewritten.ts
|
|
14590
14494
|
function replayPrefixChoice(input) {
|
|
14591
14495
|
const rewrite = ownEntry$1(SENT_NAME_REWRITTEN, input.resourceType);
|
|
14592
14496
|
if (rewrite === void 0 || input.via === "cc-api") return { kind: "not-applicable" };
|
|
@@ -14739,8 +14643,7 @@ function reverseReplacementTrustsGeneratedName(resourceType) {
|
|
|
14739
14643
|
return GENERATED_NAME_VERBATIM.has(resourceType);
|
|
14740
14644
|
}
|
|
14741
14645
|
|
|
14742
|
-
|
|
14743
|
-
//#region src/deployment/replacement-name-holder/holder.ts
|
|
14646
|
+
// src/deployment/replacement-name-holder/holder.ts
|
|
14744
14647
|
function recordSetHolds(requested, recorded, observed, newPhysicalId, r, v) {
|
|
14745
14648
|
const newRecord = `${v.holderRecord} (${r.shown(newPhysicalId)})`;
|
|
14746
14649
|
const wantName = valueAt(requested, ["Name"]);
|
|
@@ -14879,8 +14782,7 @@ function isPlainName(value) {
|
|
|
14879
14782
|
return !/\s/.test(value) && displayIdent(value, { maxCodePoints: 1152 }) === value;
|
|
14880
14783
|
}
|
|
14881
14784
|
|
|
14882
|
-
|
|
14883
|
-
//#region src/deployment/replacement-name-holder/deploy-name.ts
|
|
14785
|
+
// src/deployment/replacement-name-holder/deploy-name.ts
|
|
14884
14786
|
function nameValue(bag, property) {
|
|
14885
14787
|
const value = bag?.[property];
|
|
14886
14788
|
if (typeof value !== "string" || value === "" || value === "***") return void 0;
|
|
@@ -15028,8 +14930,7 @@ function probeFoundSameId(resourceType, a, b) {
|
|
|
15028
14930
|
return pa !== void 0 && pa === path(b);
|
|
15029
14931
|
}
|
|
15030
14932
|
|
|
15031
|
-
|
|
15032
|
-
//#region src/provisioning/config-shape.ts
|
|
14933
|
+
// src/provisioning/config-shape.ts
|
|
15033
14934
|
function readConfigString(container, key, fallback, containerPath, options) {
|
|
15034
14935
|
if (container === void 0 || container === null) return fallback;
|
|
15035
14936
|
if (!isPlainObject$10(container) || isUnresolvedIntrinsicContainer(container)) {
|
|
@@ -15162,8 +15063,7 @@ function describe(value) {
|
|
|
15162
15063
|
return typeof value === "object" ? "an object" : `a ${typeof value}`;
|
|
15163
15064
|
}
|
|
15164
15065
|
|
|
15165
|
-
|
|
15166
|
-
//#region src/provisioning/dynamodb-warm-throughput.ts
|
|
15066
|
+
// src/provisioning/dynamodb-warm-throughput.ts
|
|
15167
15067
|
const WARM_THROUGHPUT_MEMBERS = ["ReadUnitsPerSecond", "WriteUnitsPerSecond"];
|
|
15168
15068
|
function toFiniteNumber(value) {
|
|
15169
15069
|
if (typeof value === "number") return Number.isFinite(value) ? value : void 0;
|
|
@@ -15209,8 +15109,7 @@ function isWarmThroughputDecrease(desired, live) {
|
|
|
15209
15109
|
return sawDecrease;
|
|
15210
15110
|
}
|
|
15211
15111
|
|
|
15212
|
-
|
|
15213
|
-
//#region src/provisioning/stateful-types.ts
|
|
15112
|
+
// src/provisioning/stateful-types.ts
|
|
15214
15113
|
const STATEFUL_TYPES = /* @__PURE__ */ new Set([
|
|
15215
15114
|
"AWS::RDS::DBInstance",
|
|
15216
15115
|
"AWS::RDS::DBCluster",
|
|
@@ -15372,8 +15271,7 @@ function renderStatefulReason(reason) {
|
|
|
15372
15271
|
}
|
|
15373
15272
|
}
|
|
15374
15273
|
|
|
15375
|
-
|
|
15376
|
-
//#region src/deployment/recreate-target-readers.ts
|
|
15274
|
+
// src/deployment/recreate-target-readers.ts
|
|
15377
15275
|
async function findReplacedReadersOfRecreateTargets(input) {
|
|
15378
15276
|
const conditions = input.conditions;
|
|
15379
15277
|
const resources = Object.create(null);
|
|
@@ -15584,8 +15482,7 @@ function readsOnlyId(value, id) {
|
|
|
15584
15482
|
return !other && ids > 0;
|
|
15585
15483
|
}
|
|
15586
15484
|
|
|
15587
|
-
|
|
15588
|
-
//#region src/deployment/child-of-recreated-parent.ts
|
|
15485
|
+
// src/deployment/child-of-recreated-parent.ts
|
|
15589
15486
|
const LAMBDA_FUNCTION = "AWS::Lambda::Function";
|
|
15590
15487
|
const IAM_ROLE = "AWS::IAM::Role";
|
|
15591
15488
|
const IAM_USER = "AWS::IAM::User";
|
|
@@ -15910,8 +15807,7 @@ function withRecreatedAttachmentsDropped(input) {
|
|
|
15910
15807
|
} : void 0;
|
|
15911
15808
|
}
|
|
15912
15809
|
|
|
15913
|
-
|
|
15914
|
-
//#region src/provisioning/property-coverage.generated.ts
|
|
15810
|
+
// src/provisioning/property-coverage.generated.ts
|
|
15915
15811
|
const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
15916
15812
|
["AWS::ApiGateway::Account", {
|
|
15917
15813
|
handled: /* @__PURE__ */ new Set(["CloudWatchRoleArn"]),
|
|
@@ -16630,44 +16526,40 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
16630
16526
|
}],
|
|
16631
16527
|
["AWS::DocDB::DBCluster", {
|
|
16632
16528
|
handled: /* @__PURE__ */ new Set([
|
|
16529
|
+
"AvailabilityZones",
|
|
16633
16530
|
"BackupRetentionPeriod",
|
|
16531
|
+
"CopyTagsToSnapshot",
|
|
16634
16532
|
"DBClusterIdentifier",
|
|
16635
16533
|
"DBClusterParameterGroupName",
|
|
16636
16534
|
"DBSubnetGroupName",
|
|
16637
16535
|
"DeletionProtection",
|
|
16536
|
+
"EnableCloudwatchLogsExports",
|
|
16638
16537
|
"EngineVersion",
|
|
16639
16538
|
"KmsKeyId",
|
|
16539
|
+
"ManageMasterUserPassword",
|
|
16640
16540
|
"MasterUsername",
|
|
16641
16541
|
"MasterUserPassword",
|
|
16542
|
+
"MasterUserSecretKmsKeyId",
|
|
16543
|
+
"NetworkType",
|
|
16642
16544
|
"Port",
|
|
16643
16545
|
"PreferredBackupWindow",
|
|
16644
16546
|
"PreferredMaintenanceWindow",
|
|
16547
|
+
"RotateMasterUserPassword",
|
|
16548
|
+
"ServerlessV2ScalingConfiguration",
|
|
16645
16549
|
"StorageEncrypted",
|
|
16550
|
+
"StorageType",
|
|
16646
16551
|
"Tags",
|
|
16647
16552
|
"VpcSecurityGroupIds"
|
|
16648
16553
|
]),
|
|
16649
16554
|
silentDrop: /* @__PURE__ */ new Map([
|
|
16650
|
-
["AvailabilityZones", "not yet implemented by cdkd"],
|
|
16651
|
-
["CopyTagsToSnapshot", "not yet implemented by cdkd"],
|
|
16652
|
-
["EnableCloudwatchLogsExports", "not yet implemented by cdkd"],
|
|
16653
16555
|
["GlobalClusterIdentifier", "not yet implemented by cdkd"],
|
|
16654
|
-
["ManageMasterUserPassword", "not yet implemented by cdkd"],
|
|
16655
|
-
["MasterUserSecretKmsKeyId", "not yet implemented by cdkd"],
|
|
16656
|
-
["NetworkType", "not yet implemented by cdkd"],
|
|
16657
16556
|
["RestoreToTime", "not yet implemented by cdkd"],
|
|
16658
16557
|
["RestoreType", "not yet implemented by cdkd"],
|
|
16659
|
-
["RotateMasterUserPassword", "not yet implemented by cdkd"],
|
|
16660
|
-
["ServerlessV2ScalingConfiguration", "not yet implemented by cdkd"],
|
|
16661
16558
|
["SnapshotIdentifier", "not yet implemented by cdkd"],
|
|
16662
16559
|
["SourceDBClusterIdentifier", "not yet implemented by cdkd"],
|
|
16663
|
-
["StorageType", "not yet implemented by cdkd"],
|
|
16664
16560
|
["UseLatestRestorableTime", "not yet implemented by cdkd"]
|
|
16665
16561
|
]),
|
|
16666
|
-
createOnlyDrops: /* @__PURE__ */ new Set([
|
|
16667
|
-
"AvailabilityZones",
|
|
16668
|
-
"SnapshotIdentifier",
|
|
16669
|
-
"SourceDBClusterIdentifier"
|
|
16670
|
-
]),
|
|
16562
|
+
createOnlyDrops: /* @__PURE__ */ new Set(["SnapshotIdentifier", "SourceDBClusterIdentifier"]),
|
|
16671
16563
|
readOnly: /* @__PURE__ */ new Set([
|
|
16672
16564
|
"ClusterResourceId",
|
|
16673
16565
|
"Endpoint",
|
|
@@ -16681,17 +16573,16 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
16681
16573
|
handled: /* @__PURE__ */ new Set([
|
|
16682
16574
|
"AutoMinorVersionUpgrade",
|
|
16683
16575
|
"AvailabilityZone",
|
|
16576
|
+
"CACertificateIdentifier",
|
|
16577
|
+
"CertificateRotationRestart",
|
|
16684
16578
|
"DBClusterIdentifier",
|
|
16685
16579
|
"DBInstanceClass",
|
|
16686
16580
|
"DBInstanceIdentifier",
|
|
16581
|
+
"EnablePerformanceInsights",
|
|
16687
16582
|
"PreferredMaintenanceWindow",
|
|
16688
16583
|
"Tags"
|
|
16689
16584
|
]),
|
|
16690
|
-
silentDrop: /* @__PURE__ */ new Map(
|
|
16691
|
-
["CACertificateIdentifier", "not yet implemented by cdkd"],
|
|
16692
|
-
["CertificateRotationRestart", "not yet implemented by cdkd"],
|
|
16693
|
-
["EnablePerformanceInsights", "not yet implemented by cdkd"]
|
|
16694
|
-
]),
|
|
16585
|
+
silentDrop: /* @__PURE__ */ new Map(),
|
|
16695
16586
|
createOnlyDrops: /* @__PURE__ */ new Set(),
|
|
16696
16587
|
readOnly: /* @__PURE__ */ new Set([
|
|
16697
16588
|
"Endpoint",
|
|
@@ -17747,6 +17638,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
17747
17638
|
"DeliveryStreamEncryptionConfigurationInput",
|
|
17748
17639
|
"DeliveryStreamName",
|
|
17749
17640
|
"DeliveryStreamType",
|
|
17641
|
+
"DirectPutSourceConfiguration",
|
|
17750
17642
|
"ElasticsearchDestinationConfiguration",
|
|
17751
17643
|
"ExtendedS3DestinationConfiguration",
|
|
17752
17644
|
"HttpEndpointDestinationConfiguration",
|
|
@@ -17758,16 +17650,11 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
17758
17650
|
]),
|
|
17759
17651
|
silentDrop: /* @__PURE__ */ new Map([
|
|
17760
17652
|
["DatabaseSourceConfiguration", "not yet implemented by cdkd"],
|
|
17761
|
-
["DirectPutSourceConfiguration", "not yet implemented by cdkd"],
|
|
17762
17653
|
["IcebergDestinationConfiguration", "not yet implemented by cdkd"],
|
|
17763
17654
|
["MSKSourceConfiguration", "not yet implemented by cdkd"],
|
|
17764
17655
|
["SnowflakeDestinationConfiguration", "not yet implemented by cdkd"]
|
|
17765
17656
|
]),
|
|
17766
|
-
createOnlyDrops: /* @__PURE__ */ new Set([
|
|
17767
|
-
"DatabaseSourceConfiguration",
|
|
17768
|
-
"DirectPutSourceConfiguration",
|
|
17769
|
-
"MSKSourceConfiguration"
|
|
17770
|
-
]),
|
|
17657
|
+
createOnlyDrops: /* @__PURE__ */ new Set(["DatabaseSourceConfiguration", "MSKSourceConfiguration"]),
|
|
17771
17658
|
readOnly: /* @__PURE__ */ new Set(["Arn"]),
|
|
17772
17659
|
ccRouteUnavailable: false
|
|
17773
17660
|
}],
|
|
@@ -18044,39 +17931,38 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18044
17931
|
}],
|
|
18045
17932
|
["AWS::Neptune::DBCluster", {
|
|
18046
17933
|
handled: /* @__PURE__ */ new Set([
|
|
17934
|
+
"AssociatedRoles",
|
|
17935
|
+
"AvailabilityZones",
|
|
18047
17936
|
"BackupRetentionPeriod",
|
|
17937
|
+
"CopyTagsToSnapshot",
|
|
18048
17938
|
"DBClusterIdentifier",
|
|
18049
17939
|
"DBClusterParameterGroupName",
|
|
17940
|
+
"DBInstanceParameterGroupName",
|
|
18050
17941
|
"DBPort",
|
|
18051
17942
|
"DBSubnetGroupName",
|
|
18052
17943
|
"DeletionProtection",
|
|
17944
|
+
"EnableCloudwatchLogsExports",
|
|
18053
17945
|
"EngineVersion",
|
|
18054
17946
|
"IamAuthEnabled",
|
|
18055
17947
|
"KmsKeyId",
|
|
17948
|
+
"NetworkType",
|
|
18056
17949
|
"Port",
|
|
18057
17950
|
"PreferredBackupWindow",
|
|
18058
17951
|
"PreferredMaintenanceWindow",
|
|
17952
|
+
"ServerlessScalingConfiguration",
|
|
18059
17953
|
"StorageEncrypted",
|
|
18060
17954
|
"Tags",
|
|
18061
17955
|
"VpcSecurityGroupIds"
|
|
18062
17956
|
]),
|
|
18063
17957
|
silentDrop: /* @__PURE__ */ new Map([
|
|
18064
|
-
["
|
|
18065
|
-
["AvailabilityZones", "not yet implemented by cdkd"],
|
|
18066
|
-
["CopyTagsToSnapshot", "not yet implemented by cdkd"],
|
|
18067
|
-
["DBInstanceParameterGroupName", "not yet implemented by cdkd"],
|
|
18068
|
-
["EnableCloudwatchLogsExports", "not yet implemented by cdkd"],
|
|
18069
|
-
["GlobalClusterIdentifier", "not yet implemented by cdkd"],
|
|
18070
|
-
["NetworkType", "not yet implemented by cdkd"],
|
|
17958
|
+
["GlobalClusterIdentifier", "Cloud Control owns a global-cluster member: NeptuneProvider has no detach, and a member cannot be deleted while attached (deletesThroughSdkProvider keeps its delete there too)"],
|
|
18071
17959
|
["RestoreToTime", "not yet implemented by cdkd"],
|
|
18072
17960
|
["RestoreType", "not yet implemented by cdkd"],
|
|
18073
|
-
["ServerlessScalingConfiguration", "not yet implemented by cdkd"],
|
|
18074
17961
|
["SnapshotIdentifier", "not yet implemented by cdkd"],
|
|
18075
17962
|
["SourceDBClusterIdentifier", "not yet implemented by cdkd"],
|
|
18076
17963
|
["UseLatestRestorableTime", "not yet implemented by cdkd"]
|
|
18077
17964
|
]),
|
|
18078
17965
|
createOnlyDrops: /* @__PURE__ */ new Set([
|
|
18079
|
-
"AvailabilityZones",
|
|
18080
17966
|
"GlobalClusterIdentifier",
|
|
18081
17967
|
"RestoreToTime",
|
|
18082
17968
|
"RestoreType",
|
|
@@ -18094,6 +17980,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18094
17980
|
}],
|
|
18095
17981
|
["AWS::Neptune::DBInstance", {
|
|
18096
17982
|
handled: /* @__PURE__ */ new Set([
|
|
17983
|
+
"AllowMajorVersionUpgrade",
|
|
18097
17984
|
"AutoMinorVersionUpgrade",
|
|
18098
17985
|
"AvailabilityZone",
|
|
18099
17986
|
"DBClusterIdentifier",
|
|
@@ -18103,13 +17990,10 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18103
17990
|
"DBSubnetGroupName",
|
|
18104
17991
|
"DeletionProtection",
|
|
18105
17992
|
"PreferredMaintenanceWindow",
|
|
17993
|
+
"PubliclyAccessible",
|
|
18106
17994
|
"Tags"
|
|
18107
17995
|
]),
|
|
18108
|
-
silentDrop: /* @__PURE__ */ new Map([
|
|
18109
|
-
["AllowMajorVersionUpgrade", "not yet implemented by cdkd"],
|
|
18110
|
-
["DBSnapshotIdentifier", "not yet implemented by cdkd"],
|
|
18111
|
-
["PubliclyAccessible", "not yet implemented by cdkd"]
|
|
18112
|
-
]),
|
|
17996
|
+
silentDrop: /* @__PURE__ */ new Map([["DBSnapshotIdentifier", "The CloudFormation schema documents it as not supported, and CreateDBInstance has no such member: a Neptune instance is not restored from a snapshot, its cluster is"]]),
|
|
18113
17997
|
createOnlyDrops: /* @__PURE__ */ new Set(["DBSnapshotIdentifier"]),
|
|
18114
17998
|
readOnly: /* @__PURE__ */ new Set(["Endpoint", "Port"]),
|
|
18115
17999
|
ccRouteUnavailable: false
|
|
@@ -18156,8 +18040,10 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18156
18040
|
["AWS::RDS::DBCluster", {
|
|
18157
18041
|
handled: /* @__PURE__ */ new Set([
|
|
18158
18042
|
"BackupRetentionPeriod",
|
|
18043
|
+
"CopyTagsToSnapshot",
|
|
18159
18044
|
"DatabaseName",
|
|
18160
18045
|
"DBClusterIdentifier",
|
|
18046
|
+
"DBClusterParameterGroupName",
|
|
18161
18047
|
"DBSubnetGroupName",
|
|
18162
18048
|
"DeletionProtection",
|
|
18163
18049
|
"EnableIAMDatabaseAuthentication",
|
|
@@ -18171,9 +18057,12 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18171
18057
|
"MonitoringInterval",
|
|
18172
18058
|
"MonitoringRoleArn",
|
|
18173
18059
|
"Port",
|
|
18060
|
+
"PreferredBackupWindow",
|
|
18061
|
+
"PreferredMaintenanceWindow",
|
|
18174
18062
|
"PubliclyAccessible",
|
|
18175
18063
|
"ServerlessV2ScalingConfiguration",
|
|
18176
18064
|
"StorageEncrypted",
|
|
18065
|
+
"StorageType",
|
|
18177
18066
|
"Tags",
|
|
18178
18067
|
"VpcSecurityGroupIds"
|
|
18179
18068
|
]),
|
|
@@ -18184,10 +18073,8 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18184
18073
|
["AvailabilityZones", "not yet implemented by cdkd"],
|
|
18185
18074
|
["BacktrackWindow", "not yet implemented by cdkd"],
|
|
18186
18075
|
["ClusterScalabilityType", "not yet implemented by cdkd"],
|
|
18187
|
-
["CopyTagsToSnapshot", "not yet implemented by cdkd"],
|
|
18188
18076
|
["DatabaseInsightsMode", "not yet implemented by cdkd"],
|
|
18189
18077
|
["DBClusterInstanceClass", "not yet implemented by cdkd"],
|
|
18190
|
-
["DBClusterParameterGroupName", "not yet implemented by cdkd"],
|
|
18191
18078
|
["DBInstanceParameterGroupName", "not yet implemented by cdkd"],
|
|
18192
18079
|
["DBSystemId", "not yet implemented by cdkd"],
|
|
18193
18080
|
["DeleteAutomatedBackups", "delete-time flag, sent on the delete when the record carries it; kept unhandled so a template declaring it keeps its Cloud Control route. Final snapshots are governed by DeletionPolicy: Snapshot, which this flag does not control"],
|
|
@@ -18206,8 +18093,6 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18206
18093
|
["PerformanceInsightsEnabled", "not yet implemented by cdkd"],
|
|
18207
18094
|
["PerformanceInsightsKmsKeyId", "not yet implemented by cdkd"],
|
|
18208
18095
|
["PerformanceInsightsRetentionPeriod", "not yet implemented by cdkd"],
|
|
18209
|
-
["PreferredBackupWindow", "not yet implemented by cdkd"],
|
|
18210
|
-
["PreferredMaintenanceWindow", "not yet implemented by cdkd"],
|
|
18211
18096
|
["ReplicationSourceIdentifier", "not yet implemented by cdkd"],
|
|
18212
18097
|
["RestoreToTime", "not yet implemented by cdkd"],
|
|
18213
18098
|
["RestoreType", "not yet implemented by cdkd"],
|
|
@@ -18216,7 +18101,6 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18216
18101
|
["SourceDBClusterIdentifier", "not yet implemented by cdkd"],
|
|
18217
18102
|
["SourceDbClusterResourceId", "not yet implemented by cdkd"],
|
|
18218
18103
|
["SourceRegion", "not yet implemented by cdkd"],
|
|
18219
|
-
["StorageType", "not yet implemented by cdkd"],
|
|
18220
18104
|
["UseLatestRestorableTime", "not yet implemented by cdkd"],
|
|
18221
18105
|
["WithExpressConfiguration", "not yet implemented by cdkd"]
|
|
18222
18106
|
]),
|
|
@@ -18246,14 +18130,18 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18246
18130
|
["AWS::RDS::DBInstance", {
|
|
18247
18131
|
handled: /* @__PURE__ */ new Set([
|
|
18248
18132
|
"AllocatedStorage",
|
|
18133
|
+
"AllowMajorVersionUpgrade",
|
|
18249
18134
|
"AutoMinorVersionUpgrade",
|
|
18250
18135
|
"BackupRetentionPeriod",
|
|
18251
18136
|
"CACertificateIdentifier",
|
|
18137
|
+
"CertificateRotationRestart",
|
|
18252
18138
|
"CopyTagsToSnapshot",
|
|
18139
|
+
"DatabaseInsightsMode",
|
|
18253
18140
|
"DBClusterIdentifier",
|
|
18254
18141
|
"DBInstanceClass",
|
|
18255
18142
|
"DBInstanceIdentifier",
|
|
18256
18143
|
"DBSubnetGroupName",
|
|
18144
|
+
"DedicatedLogVolume",
|
|
18257
18145
|
"DeletionProtection",
|
|
18258
18146
|
"EnableIAMDatabaseAuthentication",
|
|
18259
18147
|
"EnablePerformanceInsights",
|
|
@@ -18261,6 +18149,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18261
18149
|
"EngineVersion",
|
|
18262
18150
|
"Iops",
|
|
18263
18151
|
"KmsKeyId",
|
|
18152
|
+
"LicenseModel",
|
|
18264
18153
|
"ManageMasterUserPassword",
|
|
18265
18154
|
"MasterUsername",
|
|
18266
18155
|
"MasterUserPassword",
|
|
@@ -18269,12 +18158,14 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18269
18158
|
"MonitoringInterval",
|
|
18270
18159
|
"MonitoringRoleArn",
|
|
18271
18160
|
"MultiAZ",
|
|
18161
|
+
"NetworkType",
|
|
18272
18162
|
"OptionGroupName",
|
|
18273
18163
|
"PerformanceInsightsKMSKeyId",
|
|
18274
18164
|
"PerformanceInsightsRetentionPeriod",
|
|
18275
18165
|
"Port",
|
|
18276
18166
|
"PreferredBackupWindow",
|
|
18277
18167
|
"PreferredMaintenanceWindow",
|
|
18168
|
+
"PromotionTier",
|
|
18278
18169
|
"PubliclyAccessible",
|
|
18279
18170
|
"StorageEncrypted",
|
|
18280
18171
|
"StorageThroughput",
|
|
@@ -18284,7 +18175,6 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18284
18175
|
]),
|
|
18285
18176
|
silentDrop: /* @__PURE__ */ new Map([
|
|
18286
18177
|
["AdditionalStorageVolumes", "not yet implemented by cdkd"],
|
|
18287
|
-
["AllowMajorVersionUpgrade", "not yet implemented by cdkd"],
|
|
18288
18178
|
["ApplyImmediately", "cdkd always applies modifications immediately (rds:ModifyDBInstance.ApplyImmediately=true is hardcoded); users wanting maintenance-window deferral should run aws rds modify-db-instance directly"],
|
|
18289
18179
|
["AssociatedRoles", "not yet implemented by cdkd"],
|
|
18290
18180
|
["AutomaticBackupReplicationKmsKeyId", "not yet implemented by cdkd"],
|
|
@@ -18292,17 +18182,14 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18292
18182
|
["AutomaticBackupReplicationRetentionPeriod", "not yet implemented by cdkd"],
|
|
18293
18183
|
["AvailabilityZone", "not yet implemented by cdkd"],
|
|
18294
18184
|
["BackupTarget", "not yet implemented by cdkd"],
|
|
18295
|
-
["CertificateRotationRestart", "not yet implemented by cdkd"],
|
|
18296
18185
|
["CharacterSetName", "not yet implemented by cdkd"],
|
|
18297
18186
|
["CustomIAMInstanceProfile", "not yet implemented by cdkd"],
|
|
18298
|
-
["DatabaseInsightsMode", "not yet implemented by cdkd"],
|
|
18299
18187
|
["DBClusterSnapshotIdentifier", "not yet implemented by cdkd"],
|
|
18300
18188
|
["DBName", "not yet implemented by cdkd"],
|
|
18301
18189
|
["DBParameterGroupName", "not yet implemented by cdkd"],
|
|
18302
18190
|
["DBSecurityGroups", "EC2-Classic-only feature retired by AWS (2022-08-15); new accounts cannot use this — use VPCSecurityGroups instead"],
|
|
18303
18191
|
["DBSnapshotIdentifier", "not yet implemented by cdkd"],
|
|
18304
18192
|
["DBSystemId", "not yet implemented by cdkd"],
|
|
18305
|
-
["DedicatedLogVolume", "not yet implemented by cdkd"],
|
|
18306
18193
|
["DeleteAutomatedBackups", "delete-time flag, sent on the delete when the record carries it; kept unhandled so a template declaring it keeps its Cloud Control route. Final snapshots are governed by DeletionPolicy: Snapshot, which this flag does not control"],
|
|
18307
18194
|
["Domain", "not yet implemented by cdkd"],
|
|
18308
18195
|
["DomainAuthSecretArn", "not yet implemented by cdkd"],
|
|
@@ -18312,12 +18199,9 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18312
18199
|
["DomainOu", "not yet implemented by cdkd"],
|
|
18313
18200
|
["EnableCloudwatchLogsExports", "not yet implemented by cdkd"],
|
|
18314
18201
|
["EngineLifecycleSupport", "not yet implemented by cdkd"],
|
|
18315
|
-
["LicenseModel", "not yet implemented by cdkd"],
|
|
18316
18202
|
["MasterUserAuthenticationType", "not yet implemented by cdkd"],
|
|
18317
18203
|
["NcharCharacterSetName", "not yet implemented by cdkd"],
|
|
18318
|
-
["NetworkType", "not yet implemented by cdkd"],
|
|
18319
18204
|
["ProcessorFeatures", "not yet implemented by cdkd"],
|
|
18320
|
-
["PromotionTier", "not yet implemented by cdkd"],
|
|
18321
18205
|
["ReplicaMode", "not yet implemented by cdkd"],
|
|
18322
18206
|
["RestoreTime", "not yet implemented by cdkd"],
|
|
18323
18207
|
["SourceDBClusterIdentifier", "not yet implemented by cdkd"],
|
|
@@ -18836,8 +18720,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18836
18720
|
}]
|
|
18837
18721
|
]);
|
|
18838
18722
|
|
|
18839
|
-
|
|
18840
|
-
//#region src/provisioning/unsupported-types.generated.ts
|
|
18723
|
+
// src/provisioning/unsupported-types.generated.ts
|
|
18841
18724
|
const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
|
|
18842
18725
|
"Alexa::ASK::Skill",
|
|
18843
18726
|
"AWS::AmazonMQ::ConfigurationAssociation",
|
|
@@ -19170,8 +19053,7 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
|
|
|
19170
19053
|
"AWS::WorkSpaces::WorkspaceImage"
|
|
19171
19054
|
]);
|
|
19172
19055
|
|
|
19173
|
-
|
|
19174
|
-
//#region src/provisioning/unsupported-types.ts
|
|
19056
|
+
// src/provisioning/unsupported-types.ts
|
|
19175
19057
|
function isNonProvisionable(resourceType) {
|
|
19176
19058
|
return NON_PROVISIONABLE_TYPES.has(resourceType);
|
|
19177
19059
|
}
|
|
@@ -19204,8 +19086,7 @@ function unsupportedTypeIssueUrl(resourceType) {
|
|
|
19204
19086
|
return `https://github.com/go-to-k/cdkd/issues/new?title=${encodeURIComponent(`Support resource type ${resourceType}`)}&labels=resource-support`;
|
|
19205
19087
|
}
|
|
19206
19088
|
|
|
19207
|
-
|
|
19208
|
-
//#region src/provisioning/property-coverage.ts
|
|
19089
|
+
// src/provisioning/property-coverage.ts
|
|
19209
19090
|
function getPropertyCoverage(resourceType) {
|
|
19210
19091
|
return PROPERTY_COVERAGE_BY_TYPE.get(resourceType);
|
|
19211
19092
|
}
|
|
@@ -19347,8 +19228,7 @@ function findUnrecognizedProperties(resourceType, templateProperties) {
|
|
|
19347
19228
|
return unrecognized.sort((a, b) => a.localeCompare(b));
|
|
19348
19229
|
}
|
|
19349
19230
|
|
|
19350
|
-
|
|
19351
|
-
//#region src/state/malformed-resources-bag.ts
|
|
19231
|
+
// src/state/malformed-resources-bag.ts
|
|
19352
19232
|
const UNREADABLE_RESOURCES_MAP_ROW = "(resources map)";
|
|
19353
19233
|
const STATE_RESOURCES_MALFORMED = "STATE_RESOURCES_MALFORMED";
|
|
19354
19234
|
function hasReadableResources(state) {
|
|
@@ -20157,8 +20037,7 @@ function malformedOrphansForOrphanRefusalMessage(rawStackName, rawRegion, logica
|
|
|
20157
20037
|
return orphanRefusal(stackName, region, recovery, `${stackClause(stackName, region)} holds ${logicalIds.length} rollback-orphan record(s) in 'orphans' that cannot be read — ${namedOrphanRows(logicalIds)} — because the record has no string 'logicalId' or shares it with another row, or its 'state' is not an object, names no resource type, has no non-empty string 'physicalId', or holds a 'properties' or 'attributes' map that is not an object. The record is malformed or truncated. ${verbatim} Those records are not inert: they are what the next 'cdkd deploy' may re-adopt into 'resources' and what 'cdkd diff' previews for adoption, so continuing would report success over damage the next command meets.`, "'cdkd orphan' cannot remove such a record itself: it is not in 'resources', so it has no construct path. Repair the record by hand rather than deleting it — it is the only record that an earlier failed deploy left its resource live in AWS.", ORPHANS_DROP_CAVEAT);
|
|
20158
20038
|
}
|
|
20159
20039
|
|
|
20160
|
-
|
|
20161
|
-
//#region src/deployment/assumed-conditions.ts
|
|
20040
|
+
// src/deployment/assumed-conditions.ts
|
|
20162
20041
|
const assumedConditionNames = /* @__PURE__ */ new WeakMap();
|
|
20163
20042
|
function recordAssumedConditions(conditions, assumed) {
|
|
20164
20043
|
assumedConditionNames.set(conditions, assumed);
|
|
@@ -20167,8 +20046,7 @@ function conditionsAssumedFalse(conditions) {
|
|
|
20167
20046
|
return assumedConditionNames.get(conditions) ?? /* @__PURE__ */ new Set();
|
|
20168
20047
|
}
|
|
20169
20048
|
|
|
20170
|
-
|
|
20171
|
-
//#region src/deployment/noecho-declared.ts
|
|
20049
|
+
// src/deployment/noecho-declared.ts
|
|
20172
20050
|
function isNoEchoDeclared(noEcho) {
|
|
20173
20051
|
return noEcho === true || noEcho === "true";
|
|
20174
20052
|
}
|
|
@@ -20176,8 +20054,7 @@ function declaresNoEcho(definition) {
|
|
|
20176
20054
|
return definition !== null && typeof definition === "object" && isNoEchoDeclared(definition.NoEcho);
|
|
20177
20055
|
}
|
|
20178
20056
|
|
|
20179
|
-
|
|
20180
|
-
//#region src/deployment/masked-property-fingerprints.ts
|
|
20057
|
+
// src/deployment/masked-property-fingerprints.ts
|
|
20181
20058
|
const FINGERPRINT_LAYOUT$1 = 1;
|
|
20182
20059
|
const INPUT_FINGERPRINT_LAYOUT = 2;
|
|
20183
20060
|
function canonicalJson$4(value) {
|
|
@@ -21090,8 +20967,7 @@ function backfillMaskedPropertyFingerprints(resources, template, noEchoParameter
|
|
|
21090
20967
|
return stamped;
|
|
21091
20968
|
}
|
|
21092
20969
|
|
|
21093
|
-
|
|
21094
|
-
//#region src/deployment/drain-budget.ts
|
|
20970
|
+
// src/deployment/drain-budget.ts
|
|
21095
20971
|
const drainDeadlines = new AsyncLocalStorage();
|
|
21096
20972
|
async function withSharedDrainBudget(fn) {
|
|
21097
20973
|
if (drainDeadlines.getStore() !== void 0) return await fn();
|
|
@@ -21102,8 +20978,7 @@ async function withSharedDrainBudget(fn) {
|
|
|
21102
20978
|
}, fn);
|
|
21103
20979
|
}
|
|
21104
20980
|
|
|
21105
|
-
|
|
21106
|
-
//#region src/provisioning/providers/wafv2-arn.ts
|
|
20981
|
+
// src/provisioning/providers/wafv2-arn.ts
|
|
21107
20982
|
function parseWebACLArn(arn) {
|
|
21108
20983
|
const segments = arn.split(":").slice(5).join(":").split("/");
|
|
21109
20984
|
const scopeRaw = segments[0];
|
|
@@ -21115,8 +20990,7 @@ function parseWebACLArn(arn) {
|
|
|
21115
20990
|
};
|
|
21116
20991
|
}
|
|
21117
20992
|
|
|
21118
|
-
|
|
21119
|
-
//#region src/deployment/intrinsic-resolver/ref-values.ts
|
|
20993
|
+
// src/deployment/intrinsic-resolver/ref-values.ts
|
|
21120
20994
|
const AWS_NO_VALUE = Symbol("AWS::NoValue");
|
|
21121
20995
|
const REF_RETURNS_SEGMENT_AFTER_PIPE = /* @__PURE__ */ new Set([
|
|
21122
20996
|
"AWS::ApiGateway::Model",
|
|
@@ -21339,8 +21213,7 @@ function buildUnknownIntrinsicError(key) {
|
|
|
21339
21213
|
return /* @__PURE__ */ new Error(`Unsupported CloudFormation intrinsic function ${shown}: cdkd does not support resolving it yet. Deploying this template would produce a broken value. Please request support by opening an issue: ${issueUrl}`);
|
|
21340
21214
|
}
|
|
21341
21215
|
|
|
21342
|
-
|
|
21343
|
-
//#region src/deployment/stale-attribute-heal.ts
|
|
21216
|
+
// src/deployment/stale-attribute-heal.ts
|
|
21344
21217
|
var StaleAttributeMissSignal = class StaleAttributeMissSignal extends Error {
|
|
21345
21218
|
constructor() {
|
|
21346
21219
|
super("stale attribute miss (internal control flow — must not escape resolveGetAtt)");
|
|
@@ -21385,8 +21258,7 @@ function mergeHealedAttributes(recorded, healed, isStaleValue) {
|
|
|
21385
21258
|
return merged ?? recorded;
|
|
21386
21259
|
}
|
|
21387
21260
|
|
|
21388
|
-
|
|
21389
|
-
//#region src/deployment/intrinsic-resolver/context.ts
|
|
21261
|
+
// src/deployment/intrinsic-resolver/context.ts
|
|
21390
21262
|
function withoutProducerRegions(context) {
|
|
21391
21263
|
if (context?.producerRegions === void 0) return context;
|
|
21392
21264
|
const { producerRegions: _stripped, ...rest } = context;
|
|
@@ -21485,8 +21357,7 @@ const cachedVpcDefaultSecurityGroups = Object.create(null);
|
|
|
21485
21357
|
const cachedCloudFrontDomainNames = Object.create(null);
|
|
21486
21358
|
const cachedSecurityGroupVpcIds = Object.create(null);
|
|
21487
21359
|
|
|
21488
|
-
|
|
21489
|
-
//#region src/deployment/intrinsic-resolver/account-drain.ts
|
|
21360
|
+
// src/deployment/intrinsic-resolver/account-drain.ts
|
|
21490
21361
|
function effectiveAccountInfoRegion(overrideRegion) {
|
|
21491
21362
|
return canonicalizeRegion(overrideRegion || process.env["AWS_REGION"]) || "us-east-1";
|
|
21492
21363
|
}
|
|
@@ -21669,8 +21540,7 @@ function embedsAccountId(value, accountId) {
|
|
|
21669
21540
|
return false;
|
|
21670
21541
|
}
|
|
21671
21542
|
|
|
21672
|
-
|
|
21673
|
-
//#region src/deployment/intrinsic-resolver/support.ts
|
|
21543
|
+
// src/deployment/intrinsic-resolver/support.ts
|
|
21674
21544
|
function collectReferencedParameterNames(template) {
|
|
21675
21545
|
const parser = new TemplateParser();
|
|
21676
21546
|
const referenced = /* @__PURE__ */ new Set();
|
|
@@ -21756,8 +21626,7 @@ function quotedRender(rendered, quote, described = "(not shown: it is not a plai
|
|
|
21756
21626
|
return QUOTABLE_RENDER.test(rendered) ? `${quote}${rendered}${quote}` : described;
|
|
21757
21627
|
}
|
|
21758
21628
|
|
|
21759
|
-
|
|
21760
|
-
//#region src/deployment/intrinsic-resolver/masking.ts
|
|
21629
|
+
// src/deployment/intrinsic-resolver/masking.ts
|
|
21761
21630
|
function maskSecretsRaw(resolver, text, context) {
|
|
21762
21631
|
const registered = registeredLogTwin(resolver, text, context);
|
|
21763
21632
|
const needled = maskNeedlesForLog(resolver, text, context);
|
|
@@ -21927,8 +21796,7 @@ function rememberLogTwin(resolver, context, result, twin) {
|
|
|
21927
21796
|
twins.set(result, existing === void 0 || existing === twin ? twin : "***");
|
|
21928
21797
|
}
|
|
21929
21798
|
|
|
21930
|
-
|
|
21931
|
-
//#region src/deployment/intrinsic-resolver/masking-display.ts
|
|
21799
|
+
// src/deployment/intrinsic-resolver/masking-display.ts
|
|
21932
21800
|
function maskValueLeaves(masker, value, context) {
|
|
21933
21801
|
const done = /* @__PURE__ */ new Map();
|
|
21934
21802
|
const walk = (node) => {
|
|
@@ -21972,8 +21840,7 @@ function displayLeaf(resolver, value, context) {
|
|
|
21972
21840
|
return displayMasked(resolver, logTextOfLeaf(resolver, value, context), context);
|
|
21973
21841
|
}
|
|
21974
21842
|
|
|
21975
|
-
|
|
21976
|
-
//#region src/deployment/secret-region-classification.ts
|
|
21843
|
+
// src/deployment/secret-region-classification.ts
|
|
21977
21844
|
const REPLAY_SECRET_SERVICES = /* @__PURE__ */ new Set([
|
|
21978
21845
|
"secretsmanager",
|
|
21979
21846
|
"ssm",
|
|
@@ -22054,8 +21921,7 @@ function classifyRecordedSecretRegion(expression, consumerRegion, importedProduc
|
|
|
22054
21921
|
};
|
|
22055
21922
|
}
|
|
22056
21923
|
|
|
22057
|
-
|
|
22058
|
-
//#region src/deployment/intrinsic-resolver/cfn-fallback.ts
|
|
21924
|
+
// src/deployment/intrinsic-resolver/cfn-fallback.ts
|
|
22059
21925
|
var CfnFallbackCache = class {
|
|
22060
21926
|
cfnExportsPromises = /* @__PURE__ */ new Map();
|
|
22061
21927
|
cfnStackOutputsCache = /* @__PURE__ */ new Map();
|
|
@@ -22138,8 +22004,7 @@ function describeAvailableOutputs(masker, keys, context) {
|
|
|
22138
22004
|
return hidden > 0 ? `${rendered} (+${hidden} more)` : rendered;
|
|
22139
22005
|
}
|
|
22140
22006
|
|
|
22141
|
-
|
|
22142
|
-
//#region src/utils/caller-credentials.ts
|
|
22007
|
+
// src/utils/caller-credentials.ts
|
|
22143
22008
|
const AWS_CREDENTIAL_ENV_KEYS = [
|
|
22144
22009
|
"AWS_ACCESS_KEY_ID",
|
|
22145
22010
|
"AWS_SECRET_ACCESS_KEY",
|
|
@@ -22176,8 +22041,7 @@ function applyCallerIdentityCredentials(env) {
|
|
|
22176
22041
|
else delete env["AWS_SESSION_TOKEN"];
|
|
22177
22042
|
}
|
|
22178
22043
|
|
|
22179
|
-
|
|
22180
|
-
//#region src/utils/role-arn.ts
|
|
22044
|
+
// src/utils/role-arn.ts
|
|
22181
22045
|
const crossAccountCredentialsCache = /* @__PURE__ */ new Map();
|
|
22182
22046
|
const CRED_EXPIRY_SAFETY_MS = 6e4;
|
|
22183
22047
|
const IAM_ROLE_ARN_RE = /^arn:(aws[a-z0-9-]*):iam::(\d{12}):role\/[\w+=,.@-]+(?:\/[\w+=,.@-]+)*$/;
|
|
@@ -22310,8 +22174,7 @@ async function applyRoleArnIfSet(opts) {
|
|
|
22310
22174
|
}
|
|
22311
22175
|
}
|
|
22312
22176
|
|
|
22313
|
-
|
|
22314
|
-
//#region src/deployment/intrinsic-resolver/stack-state.ts
|
|
22177
|
+
// src/deployment/intrinsic-resolver/stack-state.ts
|
|
22315
22178
|
async function getSameAccountStackState(stackName, region, context) {
|
|
22316
22179
|
if (!context.stateBackend) throw markNonRetryable(/* @__PURE__ */ new Error("Fn::GetStackOutput: state backend is required for cross-stack references"));
|
|
22317
22180
|
return context.stateBackend.getState(stackName, region);
|
|
@@ -22350,8 +22213,7 @@ async function getCrossAccountStackState(roleArn, stackName, region, context) {
|
|
|
22350
22213
|
}).getState(stackName, region);
|
|
22351
22214
|
}
|
|
22352
22215
|
|
|
22353
|
-
|
|
22354
|
-
//#region src/deployment/reference-provenance-record.ts
|
|
22216
|
+
// src/deployment/reference-provenance-record.ts
|
|
22355
22217
|
const SSM_VERSION = /^[0-9]{1,10}$/;
|
|
22356
22218
|
const SECRETS_MANAGER_VERSION = /^[A-Za-z0-9_+=.@/-]{32,64}$/;
|
|
22357
22219
|
function referenceTokensIn(value, into = /* @__PURE__ */ new Set()) {
|
|
@@ -22550,8 +22412,7 @@ function withReferenceProvenance(record, field) {
|
|
|
22550
22412
|
};
|
|
22551
22413
|
}
|
|
22552
22414
|
|
|
22553
|
-
|
|
22554
|
-
//#region src/deployment/intrinsic-resolver/recorded-reference-routes.ts
|
|
22415
|
+
// src/deployment/intrinsic-resolver/recorded-reference-routes.ts
|
|
22555
22416
|
function tokensOf(value) {
|
|
22556
22417
|
const out = /* @__PURE__ */ new Set();
|
|
22557
22418
|
for (const leaf of wholeStringLeavesOf(value)) for (const token of dynamicReferenceTokens(leaf)) out.add(token);
|
|
@@ -22699,8 +22560,7 @@ async function rebuildByToken(value, resolveToken) {
|
|
|
22699
22560
|
return value;
|
|
22700
22561
|
}
|
|
22701
22562
|
|
|
22702
|
-
|
|
22703
|
-
//#region src/deployment/intrinsic-resolver/cross-stack.ts
|
|
22563
|
+
// src/deployment/intrinsic-resolver/cross-stack.ts
|
|
22704
22564
|
async function reresolveCrossStackValue(resolver, value, producerRegion, context, origin, sourceKey, producerOutput, producerRegionLogText) {
|
|
22705
22565
|
if (context.crossStackReads !== void 0 && producerOutput !== void 0 && producerOutput.crossAccount !== true && sourceKey !== void 0) context.crossStackReads.set(sourceKey, {
|
|
22706
22566
|
stackName: producerOutput.stackName,
|
|
@@ -22938,8 +22798,7 @@ function physicalIdsOf(state) {
|
|
|
22938
22798
|
return ids;
|
|
22939
22799
|
}
|
|
22940
22800
|
|
|
22941
|
-
|
|
22942
|
-
//#region src/deployment/intrinsic-resolver/cdk-cross-account-ref.ts
|
|
22801
|
+
// src/deployment/intrinsic-resolver/cdk-cross-account-ref.ts
|
|
22943
22802
|
function producerLookupOver(stacks) {
|
|
22944
22803
|
return (stackName, account, region) => stacks.find((s) => s.stackName === stackName && s.account === account && sameRegion(s.region, region));
|
|
22945
22804
|
}
|
|
@@ -23109,8 +22968,7 @@ function refuseUnreadableCdkCrossAccountRefs(refs, deployed, consumerOf, lookup)
|
|
|
23109
22968
|
}
|
|
23110
22969
|
}
|
|
23111
22970
|
|
|
23112
|
-
|
|
23113
|
-
//#region src/deployment/intrinsic-resolver/stack-output.ts
|
|
22971
|
+
// src/deployment/intrinsic-resolver/stack-output.ts
|
|
23114
22972
|
async function resolveGetStackOutput(resolver, arg, context) {
|
|
23115
22973
|
if (!arg || typeof arg !== "object" || Array.isArray(arg)) throw markNonRetryable(/* @__PURE__ */ new Error(`Fn::GetStackOutput: argument must be an object with StackName/OutputName/Region/RoleArn, got ${arg === null ? "null" : Array.isArray(arg) ? "array" : typeof arg}`));
|
|
23116
22974
|
const args = arg;
|
|
@@ -23297,8 +23155,7 @@ function namedRequestMasks(resolver, pairs, context) {
|
|
|
23297
23155
|
};
|
|
23298
23156
|
}
|
|
23299
23157
|
|
|
23300
|
-
|
|
23301
|
-
//#region src/deployment/intrinsic-resolver/dynamic-ref-lookups.ts
|
|
23158
|
+
// src/deployment/intrinsic-resolver/dynamic-ref-lookups.ts
|
|
23302
23159
|
async function resolveSecretsManagerReference(resolver, inner, context, nameLogText, versionOut, pinVersion) {
|
|
23303
23160
|
const afterService = inner.substring(15);
|
|
23304
23161
|
let secretId;
|
|
@@ -23407,8 +23264,7 @@ function withoutSsmSelector(parameterName) {
|
|
|
23407
23264
|
return selector < 0 ? parameterName : parameterName.slice(0, selector);
|
|
23408
23265
|
}
|
|
23409
23266
|
|
|
23410
|
-
|
|
23411
|
-
//#region src/deployment/intrinsic-resolver/dynamic-refs.ts
|
|
23267
|
+
// src/deployment/intrinsic-resolver/dynamic-refs.ts
|
|
23412
23268
|
var DynamicReferenceCache = class {
|
|
23413
23269
|
cachedDynamicReferences = /* @__PURE__ */ new Map();
|
|
23414
23270
|
warnedUnrecognizedSsmTypes = /* @__PURE__ */ new Set();
|
|
@@ -23608,8 +23464,7 @@ async function resolveDynamicReferencesWithLogTwin(resolver, value, logTwin, con
|
|
|
23608
23464
|
};
|
|
23609
23465
|
}
|
|
23610
23466
|
|
|
23611
|
-
|
|
23612
|
-
//#region src/utils/s3-endpoints.ts
|
|
23467
|
+
// src/utils/s3-endpoints.ts
|
|
23613
23468
|
const S3_WEBSITE_ENDPOINT_LEGACY_DASH_REGIONS = /* @__PURE__ */ new Set([
|
|
23614
23469
|
"ap-northeast-1",
|
|
23615
23470
|
"ap-southeast-1",
|
|
@@ -23641,8 +23496,7 @@ function s3BucketWebsiteUrl(bucketName, region) {
|
|
|
23641
23496
|
return `http://${bucketName}.s3-website${S3_WEBSITE_ENDPOINT_LEGACY_DASH_REGIONS.has(folded) ? "-" : "."}${folded}.${urlSuffix}`;
|
|
23642
23497
|
}
|
|
23643
23498
|
|
|
23644
|
-
|
|
23645
|
-
//#region src/deployment/intrinsic-resolver/getatt-heal.ts
|
|
23499
|
+
// src/deployment/intrinsic-resolver/getatt-heal.ts
|
|
23646
23500
|
function staleRecordRemedy(resolver, outcome, context) {
|
|
23647
23501
|
const touch = "change any property of the resource so its next update re-records the attributes, or re-import it with 'cdkd import'";
|
|
23648
23502
|
if (outcome === void 0) return `Run 'cdkd deploy': it re-reads a stale record's attributes from AWS and heals the record. Otherwise ${touch}.`;
|
|
@@ -23773,8 +23627,7 @@ function healMaskedOwnIdAttribute(resolver, logicalId, resource, attributeName,
|
|
|
23773
23627
|
})();
|
|
23774
23628
|
}
|
|
23775
23629
|
|
|
23776
|
-
|
|
23777
|
-
//#region src/deployment/intrinsic-resolver/getatt-refusals.ts
|
|
23630
|
+
// src/deployment/intrinsic-resolver/getatt-refusals.ts
|
|
23778
23631
|
function refuseUnservedAttribute(resolver, site) {
|
|
23779
23632
|
const { logicalId, attributeName, resourceType, physicalId, context, observed, remedy } = site;
|
|
23780
23633
|
throw new IntrinsicResolutionRefusalError(`Cannot resolve Fn::GetAtt [${displayMasked(resolver, logicalId, context)}, ${displayMasked(resolver, attributeName, context)}] for ${displayMasked(resolver, resourceType, context)}: ${observed}. The physical id ${quotedRender(displayMasked(resolver, physicalId, context), "\"")} is not a usable ${displayMasked(resolver, attributeName, context)}, so cdkd refuses to substitute it. ${remedy}`);
|
|
@@ -23819,8 +23672,7 @@ function guardedPhysicalIdFallback(resolver, logicalId, attributeName, resourceT
|
|
|
23819
23672
|
return physicalId;
|
|
23820
23673
|
}
|
|
23821
23674
|
|
|
23822
|
-
|
|
23823
|
-
//#region src/deployment/intrinsic-resolver/getatt-construct-core.ts
|
|
23675
|
+
// src/deployment/intrinsic-resolver/getatt-construct-core.ts
|
|
23824
23676
|
const NOT_CONSTRUCTED = Symbol("NOT_CONSTRUCTED");
|
|
23825
23677
|
async function constructAttributeForCoreTypes(resolver, resource, attributeName, context, logicalId, resourceType, physicalId, accountId, partition, region) {
|
|
23826
23678
|
if (resourceType === "AWS::DynamoDB::Table" || resourceType === "AWS::DynamoDB::GlobalTable") switch (attributeName) {
|
|
@@ -23973,8 +23825,7 @@ async function constructAttributeForCoreTypes(resolver, resource, attributeName,
|
|
|
23973
23825
|
return NOT_CONSTRUCTED;
|
|
23974
23826
|
}
|
|
23975
23827
|
|
|
23976
|
-
|
|
23977
|
-
//#region src/deployment/intrinsic-resolver/getatt-construct-app.ts
|
|
23828
|
+
// src/deployment/intrinsic-resolver/getatt-construct-app.ts
|
|
23978
23829
|
async function constructAttributeForAppTypes(resolver, resource, attributeName, context, logicalId, resourceType, physicalId, accountId, partition, region) {
|
|
23979
23830
|
if (resourceType === "AWS::Events::Rule") switch (attributeName) {
|
|
23980
23831
|
case "Arn": {
|
|
@@ -24112,14 +23963,12 @@ async function constructAttributeForAppTypes(resolver, resource, attributeName,
|
|
|
24112
23963
|
return NOT_CONSTRUCTED;
|
|
24113
23964
|
}
|
|
24114
23965
|
|
|
24115
|
-
|
|
24116
|
-
//#region src/provisioning/ec2-instance-state.ts
|
|
23966
|
+
// src/provisioning/ec2-instance-state.ts
|
|
24117
23967
|
function isSettledInstanceState(stateName) {
|
|
24118
23968
|
return stateName !== void 0 && stateName !== "pending";
|
|
24119
23969
|
}
|
|
24120
23970
|
|
|
24121
|
-
|
|
24122
|
-
//#region src/deployment/intrinsic-resolver/getatt-construct-compute.ts
|
|
23971
|
+
// src/deployment/intrinsic-resolver/getatt-construct-compute.ts
|
|
24123
23972
|
async function constructAttributeForComputeTypes(resolver, attributeName, context, logicalId, resourceType, physicalId, accountId, partition, region) {
|
|
24124
23973
|
if (resourceType === "AWS::Logs::LogGroup") switch (attributeName) {
|
|
24125
23974
|
case "Arn": return `arn:${partition}:logs:${region}:${accountId}:log-group:${physicalId}:*`;
|
|
@@ -24389,8 +24238,7 @@ const natGatewayAttributeWait = {
|
|
|
24389
24238
|
sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms))
|
|
24390
24239
|
};
|
|
24391
24240
|
|
|
24392
|
-
|
|
24393
|
-
//#region src/deployment/intrinsic-resolver/functions.ts
|
|
24241
|
+
// src/deployment/intrinsic-resolver/functions.ts
|
|
24394
24242
|
async function resolveIf(resolver, ifArgs, context, source) {
|
|
24395
24243
|
const [conditionName, valueIfTrue, valueIfFalse] = ifArgs;
|
|
24396
24244
|
const resolveBranch = async (branch) => {
|
|
@@ -24649,8 +24497,7 @@ function bigIntToIPv6(_resolver, n) {
|
|
|
24649
24497
|
return parts.join(":");
|
|
24650
24498
|
}
|
|
24651
24499
|
|
|
24652
|
-
|
|
24653
|
-
//#region src/deployment/intrinsic-resolver/parameter-secrets.ts
|
|
24500
|
+
// src/deployment/intrinsic-resolver/parameter-secrets.ts
|
|
24654
24501
|
function recordInheritedParameterSecrets(resolver, parameterName, value, context) {
|
|
24655
24502
|
const inherited = context.inheritedSecrets;
|
|
24656
24503
|
const recorded = context.recordedSecretValues;
|
|
@@ -24929,8 +24776,7 @@ function refuseCoercedInheritedSecret(resolver, name, paramDef, userValue, inher
|
|
|
24929
24776
|
throw markNonRetryable(new IntrinsicResolutionRefusalError(`Nested-stack parameter ${quotedRender(loggedName, "'")} is declared ${QUOTABLE_RENDER.test(loggedType) ? `'Type: ${loggedType}'` : "with a Type that is not a plain identifier"}, but the parent stack resolved a SECRET dynamic reference into it. cdkd keeps a resolved secret out of persisted state by rewriting STRING leaves back to their {{resolve:...}} expression; coercing this value to ${quotedRender(loggedType, "'", "that Type")} destroys the plaintext cdkd would have matched on, so the DECRYPTED secret would be left in the child stack's state.json with nothing to redact it back to. Declare ${quotedRender(loggedName, "'", "the parameter")} as 'Type: String' in the nested stack's template (CDK does this by default for cross-stack references), or stop passing a secret reference into it.`, void 0, "NESTED_STACK_SECRET_PARAMETER_TYPE"));
|
|
24930
24777
|
}
|
|
24931
24778
|
|
|
24932
|
-
|
|
24933
|
-
//#region src/deployment/intrinsic-resolver/refs.ts
|
|
24779
|
+
// src/deployment/intrinsic-resolver/refs.ts
|
|
24934
24780
|
function nameIsNeverAResource(_resolver, logicalId, context) {
|
|
24935
24781
|
if (logicalId.startsWith("AWS::")) return true;
|
|
24936
24782
|
const declared = context.template?.Parameters;
|
|
@@ -25006,8 +24852,7 @@ function noteRefStateMask(resolver, logicalId, key, context) {
|
|
|
25006
24852
|
});
|
|
25007
24853
|
}
|
|
25008
24854
|
|
|
25009
|
-
|
|
25010
|
-
//#region src/deployment/intrinsic-resolver/getatt.ts
|
|
24855
|
+
// src/deployment/intrinsic-resolver/getatt.ts
|
|
25011
24856
|
function pushRedactedAttributeRead(_resolver, context, read) {
|
|
25012
24857
|
const bag = context.redactedAttributeReads;
|
|
25013
24858
|
if (bag === void 0) return;
|
|
@@ -25294,8 +25139,7 @@ async function constructAttribute(resolver, resource, attributeName, context, lo
|
|
|
25294
25139
|
return guardedPhysicalIdFallback(resolver, logicalId, attributeName, resourceType, physicalId, context);
|
|
25295
25140
|
}
|
|
25296
25141
|
|
|
25297
|
-
|
|
25298
|
-
//#region src/deployment/intrinsic-resolver/string-functions.ts
|
|
25142
|
+
// src/deployment/intrinsic-resolver/string-functions.ts
|
|
25299
25143
|
function partParameterSpans(context, part, resolved) {
|
|
25300
25144
|
if (context.recordedSecretValues === void 0) return [];
|
|
25301
25145
|
if (typeof part !== "object" || part === null) return [];
|
|
@@ -25505,8 +25349,7 @@ async function resolveSplit(resolver, splitArgs, context) {
|
|
|
25505
25349
|
return result;
|
|
25506
25350
|
}
|
|
25507
25351
|
|
|
25508
|
-
|
|
25509
|
-
//#region src/deployment/intrinsic-resolver/params-conditions.ts
|
|
25352
|
+
// src/deployment/intrinsic-resolver/params-conditions.ts
|
|
25510
25353
|
async function resolveParameters(resolver, template, userParameters, options) {
|
|
25511
25354
|
const inheritedSecrets = options?.inheritedSecrets;
|
|
25512
25355
|
if (inheritedSecrets && options?.recordPseudoParameters !== false) await recordInheritedPseudoParameterValues(resolver, inheritedSecrets, template);
|
|
@@ -25617,8 +25460,7 @@ async function resolveKeyUnit(resolver, key, val, context, abandoned) {
|
|
|
25617
25460
|
}
|
|
25618
25461
|
}
|
|
25619
25462
|
|
|
25620
|
-
|
|
25621
|
-
//#region src/deployment/intrinsic-resolver/sub.ts
|
|
25463
|
+
// src/deployment/intrinsic-resolver/sub.ts
|
|
25622
25464
|
function subPlaceholderWarning(_resolver, varName, error) {
|
|
25623
25465
|
return `Fn::Sub variable ${varName} could not be resolved (${describeAwsFailure(error).detail}), keeping placeholder`;
|
|
25624
25466
|
}
|
|
@@ -25817,8 +25659,7 @@ async function resolveSub(resolver, subArgs, context, source) {
|
|
|
25817
25659
|
return result;
|
|
25818
25660
|
}
|
|
25819
25661
|
|
|
25820
|
-
|
|
25821
|
-
//#region src/deployment/intrinsic-resolver/clients.ts
|
|
25662
|
+
// src/deployment/intrinsic-resolver/clients.ts
|
|
25822
25663
|
var ResolverClients = class {
|
|
25823
25664
|
regionScopedClients = /* @__PURE__ */ new Map();
|
|
25824
25665
|
serviceDiscoveryClients = /* @__PURE__ */ new Map();
|
|
@@ -25879,8 +25720,7 @@ var ResolverClients = class {
|
|
|
25879
25720
|
}
|
|
25880
25721
|
};
|
|
25881
25722
|
|
|
25882
|
-
|
|
25883
|
-
//#region src/deployment/intrinsic-function-resolver.ts
|
|
25723
|
+
// src/deployment/intrinsic-function-resolver.ts
|
|
25884
25724
|
var IntrinsicFunctionResolver = class IntrinsicFunctionResolver {
|
|
25885
25725
|
logger = getLogger().child("IntrinsicFunctionResolver");
|
|
25886
25726
|
resolverRegion;
|
|
@@ -26046,8 +25886,7 @@ var IntrinsicFunctionResolver = class IntrinsicFunctionResolver {
|
|
|
26046
25886
|
}
|
|
26047
25887
|
};
|
|
26048
25888
|
|
|
26049
|
-
|
|
26050
|
-
//#region src/state/unsettled-properties.ts
|
|
25889
|
+
// src/state/unsettled-properties.ts
|
|
26051
25890
|
function unsettledPropertiesOf(record) {
|
|
26052
25891
|
if (record === null || typeof record !== "object") return /* @__PURE__ */ new Set();
|
|
26053
25892
|
const value = record.unsettledProperties;
|
|
@@ -26142,8 +25981,7 @@ function unsettledContextOf(...records) {
|
|
|
26142
25981
|
};
|
|
26143
25982
|
}
|
|
26144
25983
|
|
|
26145
|
-
|
|
26146
|
-
//#region src/analyzer/read-provenance-promotion.ts
|
|
25984
|
+
// src/analyzer/read-provenance-promotion.ts
|
|
26147
25985
|
function isPlainObject$7(value) {
|
|
26148
25986
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
26149
25987
|
}
|
|
@@ -26237,8 +26075,7 @@ async function readProvenancePromotions(args) {
|
|
|
26237
26075
|
return out;
|
|
26238
26076
|
}
|
|
26239
26077
|
|
|
26240
|
-
|
|
26241
|
-
//#region src/analyzer/diff-calculator.ts
|
|
26078
|
+
// src/analyzer/diff-calculator.ts
|
|
26242
26079
|
const INTRINSIC_KEYS = /* @__PURE__ */ new Set([
|
|
26243
26080
|
"Ref",
|
|
26244
26081
|
"Fn::Sub",
|
|
@@ -26891,8 +26728,7 @@ var DiffCalculator = class DiffCalculator {
|
|
|
26891
26728
|
}
|
|
26892
26729
|
};
|
|
26893
26730
|
|
|
26894
|
-
|
|
26895
|
-
//#region src/provisioning/ec2-termination-protection.ts
|
|
26731
|
+
// src/provisioning/ec2-termination-protection.ts
|
|
26896
26732
|
async function disableInstanceApiTermination(client, instanceId, logger) {
|
|
26897
26733
|
try {
|
|
26898
26734
|
await client.send(new ModifyInstanceAttributeCommand({
|
|
@@ -26960,8 +26796,7 @@ function ec2InstanceProtectionSite(instanceId, region) {
|
|
|
26960
26796
|
};
|
|
26961
26797
|
}
|
|
26962
26798
|
|
|
26963
|
-
|
|
26964
|
-
//#region src/provisioning/wait-abandoned.ts
|
|
26799
|
+
// src/provisioning/wait-abandoned.ts
|
|
26965
26800
|
const WAIT_ABANDONED_MARKER = Symbol.for("cdkd.waitAbandoned");
|
|
26966
26801
|
const ABANDONED_REQUEST = Symbol.for("cdkd.waitAbandoned.request");
|
|
26967
26802
|
const MAX_CAUSE_CHAIN_DEPTH = 5;
|
|
@@ -26998,8 +26833,7 @@ function abandonedRequestOf(error) {
|
|
|
26998
26833
|
}
|
|
26999
26834
|
}
|
|
27000
26835
|
|
|
27001
|
-
|
|
27002
|
-
//#region src/provisioning/ec2-volume-delete.ts
|
|
26836
|
+
// src/provisioning/ec2-volume-delete.ts
|
|
27003
26837
|
async function deleteEc2VolumeDirect(client, volumeId, logicalId, opts) {
|
|
27004
26838
|
const now = opts.now ?? Date.now;
|
|
27005
26839
|
try {
|
|
@@ -27065,8 +26899,7 @@ function errorName(error) {
|
|
|
27065
26899
|
return typeof name === "string" ? name : "";
|
|
27066
26900
|
}
|
|
27067
26901
|
|
|
27068
|
-
|
|
27069
|
-
//#region src/deployment/delete-outcome.ts
|
|
26902
|
+
// src/deployment/delete-outcome.ts
|
|
27070
26903
|
function deleteSkipReason(result) {
|
|
27071
26904
|
if (!result || result.outcome !== "skipped") return void 0;
|
|
27072
26905
|
if (typeof result.reason !== "string") return UNSPECIFIED_SKIP_REASON;
|
|
@@ -27121,8 +26954,7 @@ function deleteIndeterminateGuards(result) {
|
|
|
27121
26954
|
return out;
|
|
27122
26955
|
}
|
|
27123
26956
|
|
|
27124
|
-
|
|
27125
|
-
//#region src/deployment/inline-policy-claims.ts
|
|
26957
|
+
// src/deployment/inline-policy-claims.ts
|
|
27126
26958
|
function isInlinePolicyClaimedByCompletedWriter(args, kind, principal, policyName) {
|
|
27127
26959
|
const { selfLogicalId, writers, changes, stateResources } = args;
|
|
27128
26960
|
for (const [lid, write] of writers) {
|
|
@@ -27626,8 +27458,7 @@ function ownPoliciesChange(change) {
|
|
|
27626
27458
|
return (change?.propertyChanges ?? []).some((c) => c.path === "Policies" && c.inPlacePropagated !== true && c.replacementPropagated !== true);
|
|
27627
27459
|
}
|
|
27628
27460
|
|
|
27629
|
-
|
|
27630
|
-
//#region src/provisioning/json-patch-generator.ts
|
|
27461
|
+
// src/provisioning/json-patch-generator.ts
|
|
27631
27462
|
var JsonPatchGenerator = class {
|
|
27632
27463
|
logger = getLogger().child("JsonPatchGenerator");
|
|
27633
27464
|
generatePatch(previousProperties, desiredProperties) {
|
|
@@ -27682,8 +27513,7 @@ var JsonPatchGenerator = class {
|
|
|
27682
27513
|
}
|
|
27683
27514
|
};
|
|
27684
27515
|
|
|
27685
|
-
|
|
27686
|
-
//#region src/provisioning/guardduty-detector-patch.ts
|
|
27516
|
+
// src/provisioning/guardduty-detector-patch.ts
|
|
27687
27517
|
const DETECTOR_TYPE = "AWS::GuardDuty::Detector";
|
|
27688
27518
|
const READ_BACK_KEYS = ["Features", "DataSources"];
|
|
27689
27519
|
function withGuardDutyDetectorReadBackOps(resourceType, patch, desired, readback) {
|
|
@@ -27738,8 +27568,7 @@ function featureName(entry) {
|
|
|
27738
27568
|
return typeof name === "string" ? name : void 0;
|
|
27739
27569
|
}
|
|
27740
27570
|
|
|
27741
|
-
|
|
27742
|
-
//#region src/provisioning/apigwv2-body-import-patch.ts
|
|
27571
|
+
// src/provisioning/apigwv2-body-import-patch.ts
|
|
27743
27572
|
const API_TYPE = "AWS::ApiGatewayV2::Api";
|
|
27744
27573
|
const DEFINITION_KEYS = ["Body", "BodyS3Location"];
|
|
27745
27574
|
const IMPORT_KEYS = [
|
|
@@ -27790,8 +27619,7 @@ function apiGatewayV2DefinitionObject(location) {
|
|
|
27790
27619
|
};
|
|
27791
27620
|
}
|
|
27792
27621
|
|
|
27793
|
-
|
|
27794
|
-
//#region src/provisioning/secret-reference-immutable.ts
|
|
27622
|
+
// src/provisioning/secret-reference-immutable.ts
|
|
27795
27623
|
const IDENTITY = maskerOrIdentity(void 0);
|
|
27796
27624
|
async function unchangedBehindSecretReference(evidence) {
|
|
27797
27625
|
const { resourceType, key, desired, previous, physicalName, maskSecrets } = evidence;
|
|
@@ -27851,8 +27679,7 @@ function escapeRegExp$1(text) {
|
|
|
27851
27679
|
return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
27852
27680
|
}
|
|
27853
27681
|
|
|
27854
|
-
|
|
27855
|
-
//#region src/provisioning/getatt-attributes.generated.ts
|
|
27682
|
+
// src/provisioning/getatt-attributes.generated.ts
|
|
27856
27683
|
const WRITABLE_GETATT_ATTRIBUTES = {
|
|
27857
27684
|
"AWS::Amplify::Branch": ["BranchName"],
|
|
27858
27685
|
"AWS::Amplify::Domain": [
|
|
@@ -28006,8 +27833,7 @@ const SHAPE_MISMATCHED_GETATT_ATTRIBUTES = {
|
|
|
28006
27833
|
"AWS::MediaLive::Input": ["Destinations", "Sources"]
|
|
28007
27834
|
};
|
|
28008
27835
|
|
|
28009
|
-
|
|
28010
|
-
//#region src/provisioning/read-only-properties.ts
|
|
27836
|
+
// src/provisioning/read-only-properties.ts
|
|
28011
27837
|
function isDefinitiveRefusal(error) {
|
|
28012
27838
|
if (isThrottlingError(error)) return false;
|
|
28013
27839
|
let current = error;
|
|
@@ -28074,8 +27900,7 @@ function unescapeJsonPointerSegment(segment) {
|
|
|
28074
27900
|
return segment.replace(/~1/g, "/").replace(/~0/g, "~");
|
|
28075
27901
|
}
|
|
28076
27902
|
|
|
28077
|
-
|
|
28078
|
-
//#region src/provisioning/cc-import-identifier.ts
|
|
27903
|
+
// src/provisioning/cc-import-identifier.ts
|
|
28079
27904
|
const primaryIdentifierCache = /* @__PURE__ */ new Map();
|
|
28080
27905
|
function getPrimaryIdentifierFields(resourceType) {
|
|
28081
27906
|
if (hasNoRegistrySchema(resourceType)) return Promise.resolve(void 0);
|
|
@@ -28136,8 +27961,7 @@ function toCloudControlIdentifier(input) {
|
|
|
28136
27961
|
return identifier;
|
|
28137
27962
|
}
|
|
28138
27963
|
|
|
28139
|
-
|
|
28140
|
-
//#region src/provisioning/cc-protection-properties.ts
|
|
27964
|
+
// src/provisioning/cc-protection-properties.ts
|
|
28141
27965
|
const CC_PROTECTION_PROPERTIES = {
|
|
28142
27966
|
"AWS::DSQL::Cluster": {
|
|
28143
27967
|
property: "DeletionProtectionEnabled",
|
|
@@ -28212,8 +28036,7 @@ function ccProtectionSite(resourceType, physicalId, entry, region) {
|
|
|
28212
28036
|
};
|
|
28213
28037
|
}
|
|
28214
28038
|
|
|
28215
|
-
|
|
28216
|
-
//#region src/provisioning/slow-cc-operation-timeouts.ts
|
|
28039
|
+
// src/provisioning/slow-cc-operation-timeouts.ts
|
|
28217
28040
|
const MINUTE_MS = 6e4;
|
|
28218
28041
|
const SLOW_CC_OPERATION_TIMEOUTS = {
|
|
28219
28042
|
"AWS::OpenSearchService::Domain": {
|
|
@@ -28264,8 +28087,7 @@ function slowCcOperationTimeoutMs(resourceType, operation) {
|
|
|
28264
28087
|
}
|
|
28265
28088
|
}
|
|
28266
28089
|
|
|
28267
|
-
|
|
28268
|
-
//#region src/provisioning/cloud-control-provider.ts
|
|
28090
|
+
// src/provisioning/cloud-control-provider.ts
|
|
28269
28091
|
const JSON_STRING_PROPERTIES = { "AWS::Events::Rule": /* @__PURE__ */ new Set(["EventPattern"]) };
|
|
28270
28092
|
function stringifyJsonProperties(resourceType, properties) {
|
|
28271
28093
|
const jsonProps = JSON_STRING_PROPERTIES[resourceType];
|
|
@@ -28797,7 +28619,7 @@ var CloudControlProvider = class {
|
|
|
28797
28619
|
const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
|
|
28798
28620
|
if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
|
|
28799
28621
|
this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
|
|
28800
|
-
const { ASGProvider } = await import("./asg-provider-
|
|
28622
|
+
const { ASGProvider } = await import("./asg-provider-DOLuhiky.js");
|
|
28801
28623
|
const delegateRegion = ambientRegion();
|
|
28802
28624
|
let asgProvider = this.asgDeleteDelegates.get(delegateRegion);
|
|
28803
28625
|
if (asgProvider === void 0) {
|
|
@@ -28906,7 +28728,7 @@ var CloudControlProvider = class {
|
|
|
28906
28728
|
const family = SDK_DELETE_FAMILIES.get(resourceType);
|
|
28907
28729
|
const cached = this.sdkDeleteDelegates.get(family);
|
|
28908
28730
|
if (cached !== void 0 && cached.region === ccRegion) return cached.provider;
|
|
28909
|
-
const provider = family === "rds" ? new (await (import("./rds-provider-
|
|
28731
|
+
const provider = family === "rds" ? new (await (import("./rds-provider-VigGKsxO.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-CuZbMn9R.js"))).NeptuneProvider({ region: ccRegion });
|
|
28910
28732
|
this.sdkDeleteDelegates.set(family, {
|
|
28911
28733
|
region: ccRegion,
|
|
28912
28734
|
provider
|
|
@@ -29843,8 +29665,7 @@ function maskLeavesDeep(value) {
|
|
|
29843
29665
|
return "***";
|
|
29844
29666
|
}
|
|
29845
29667
|
|
|
29846
|
-
|
|
29847
|
-
//#region src/state/state-bucket-lifecycle.ts
|
|
29668
|
+
// src/state/state-bucket-lifecycle.ts
|
|
29848
29669
|
const CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID = "cdkd-custom-resource-responses-expiration";
|
|
29849
29670
|
const CUSTOM_RESOURCE_RESPONSE_EXPIRATION_DAYS = 1;
|
|
29850
29671
|
const CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_PREFIX = `${CUSTOM_RESOURCE_RESPONSE_PREFIX}/cdkd-1`;
|
|
@@ -29961,8 +29782,7 @@ function ensureCustomResourceResponseExpirationOnce(s3, bucket, log) {
|
|
|
29961
29782
|
return run;
|
|
29962
29783
|
}
|
|
29963
29784
|
|
|
29964
|
-
|
|
29965
|
-
//#region src/deployment/resource-secrets-scope.ts
|
|
29785
|
+
// src/deployment/resource-secrets-scope.ts
|
|
29966
29786
|
const currentResourceSecretsStore = new AsyncLocalStorage();
|
|
29967
29787
|
const boundSecretBagsStore = new AsyncLocalStorage();
|
|
29968
29788
|
installLogLineMaskerSource(() => {
|
|
@@ -29982,8 +29802,7 @@ function getCurrentResourceSecrets() {
|
|
|
29982
29802
|
return currentResourceSecretsStore.getStore();
|
|
29983
29803
|
}
|
|
29984
29804
|
|
|
29985
|
-
|
|
29986
|
-
//#region src/provisioning/custom-resource-secure-references.ts
|
|
29805
|
+
// src/provisioning/custom-resource-secure-references.ts
|
|
29987
29806
|
function isCustomResourceType(resourceType) {
|
|
29988
29807
|
return resourceType === "AWS::CloudFormation::CustomResource" || resourceType.startsWith("Custom::");
|
|
29989
29808
|
}
|
|
@@ -30045,8 +29864,7 @@ function findResolvedSecretPaths(properties, secrets) {
|
|
|
30045
29864
|
return paths;
|
|
30046
29865
|
}
|
|
30047
29866
|
|
|
30048
|
-
|
|
30049
|
-
//#region src/deployment/noecho-delete-reresolution.ts
|
|
29867
|
+
// src/deployment/noecho-delete-reresolution.ts
|
|
30050
29868
|
function readsNoEchoDeleteValues(resourceType) {
|
|
30051
29869
|
return resourceType === "AWS::CloudFormation::CustomResource" || resourceType.startsWith("Custom::") || resourceType === "AWS::CloudFormation::Stack";
|
|
30052
29870
|
}
|
|
@@ -30374,8 +30192,7 @@ var TemplateNoEchoReresolver = class TemplateNoEchoReresolver {
|
|
|
30374
30192
|
}
|
|
30375
30193
|
};
|
|
30376
30194
|
|
|
30377
|
-
|
|
30378
|
-
//#region src/provisioning/providers/custom-resource-provider.ts
|
|
30195
|
+
// src/provisioning/providers/custom-resource-provider.ts
|
|
30379
30196
|
function deletePathMasker(callerMask, noEchoMask) {
|
|
30380
30197
|
if (callerMask === void 0) return noEchoMask;
|
|
30381
30198
|
if (noEchoMask === void 0) return callerMask;
|
|
@@ -31418,8 +31235,7 @@ var CustomResourceProvider = class CustomResourceProvider {
|
|
|
31418
31235
|
}
|
|
31419
31236
|
};
|
|
31420
31237
|
|
|
31421
|
-
|
|
31422
|
-
//#region src/provisioning/mutually-exclusive-properties.ts
|
|
31238
|
+
// src/provisioning/mutually-exclusive-properties.ts
|
|
31423
31239
|
const MUTUALLY_EXCLUSIVE_PROPERTIES = /* @__PURE__ */ new Map([["AWS::EC2::Route", [{
|
|
31424
31240
|
properties: [
|
|
31425
31241
|
"DestinationCidrBlock",
|
|
@@ -31465,8 +31281,7 @@ function buildMutuallyExclusiveMessage(logicalId, violation) {
|
|
|
31465
31281
|
return ` - ${logicalId} (${resourceType}) declares ${declared.join(" and ")}\n ${rule.rationale}${winnerNote}\n Declare at most one of: ${rule.properties.join(" / ")}`;
|
|
31466
31282
|
}
|
|
31467
31283
|
|
|
31468
|
-
|
|
31469
|
-
//#region src/provisioning/nested-required.generated.ts
|
|
31284
|
+
// src/provisioning/nested-required.generated.ts
|
|
31470
31285
|
const NESTED_REQUIRED = /* @__PURE__ */ new Map([
|
|
31471
31286
|
["AWS::ApiGateway::Deployment", /* @__PURE__ */ new Map([["StageDescription.Tags", ["Key", "Value"]]])],
|
|
31472
31287
|
["AWS::ApiGateway::Method", /* @__PURE__ */ new Map([
|
|
@@ -32850,8 +32665,7 @@ const NESTED_REQUIRED = /* @__PURE__ */ new Map([
|
|
|
32850
32665
|
])]
|
|
32851
32666
|
]);
|
|
32852
32667
|
|
|
32853
|
-
|
|
32854
|
-
//#region src/provisioning/nested-required.ts
|
|
32668
|
+
// src/provisioning/nested-required.ts
|
|
32855
32669
|
const CFN_ENFORCED_TYPES = /* @__PURE__ */ new Set([
|
|
32856
32670
|
"AWS::ApiGateway::Deployment",
|
|
32857
32671
|
"AWS::ApiGateway::Method",
|
|
@@ -32980,8 +32794,7 @@ function buildNestedRequiredMessage(logicalId, violation) {
|
|
|
32980
32794
|
return ` - ${logicalId} (${violation.resourceType}): ${violation.path} is missing required ${violation.missing.length === 1 ? "member" : "members"} ${violation.missing.join(", ")}`;
|
|
32981
32795
|
}
|
|
32982
32796
|
|
|
32983
|
-
|
|
32984
|
-
//#region src/provisioning/property-shape.generated.ts
|
|
32797
|
+
// src/provisioning/property-shape.generated.ts
|
|
32985
32798
|
const PROPERTY_SHAPES = /* @__PURE__ */ new Map([
|
|
32986
32799
|
["AWS::ApiGateway::Authorizer", "{\"ProviderARNs\":\"array\"}"],
|
|
32987
32800
|
["AWS::ApiGateway::Deployment", "{\"DeploymentCanarySettings\":\"object\",\"DeploymentCanarySettings.StageVariableOverrides\":\"object\",\"StageDescription\":\"object\",\"StageDescription.AccessLogSetting\":\"object\",\"StageDescription.CanarySetting\":\"object\",\"StageDescription.CanarySetting.StageVariableOverrides\":\"object\",\"StageDescription.MethodSettings\":\"array\",\"StageDescription.MethodSettings[]\":\"object\",\"StageDescription.Tags\":\"array\",\"StageDescription.Tags[]\":\"object\",\"StageDescription.Variables\":\"object\"}"],
|
|
@@ -33099,8 +32912,7 @@ const PROPERTY_SHAPES = /* @__PURE__ */ new Map([
|
|
|
33099
32912
|
["AWS::WAFv2::WebACL", "{\"ApplicationConfig\":\"object\",\"ApplicationConfig.Attributes\":\"array\",\"ApplicationConfig.Attributes[]\":\"object\",\"ApplicationConfig.Attributes[].Values\":\"array\",\"AssociationConfig\":\"object\",\"AssociationConfig.RequestBody\":\"object\",\"CaptchaConfig\":\"object\",\"CaptchaConfig.ImmunityTimeProperty\":\"object\",\"ChallengeConfig\":\"object\",\"ChallengeConfig.ImmunityTimeProperty\":\"object\",\"CustomResponseBodies\":\"object\",\"DataProtectionConfig\":\"object\",\"DataProtectionConfig.DataProtections\":\"array\",\"DataProtectionConfig.DataProtections[]\":\"object\",\"DataProtectionConfig.DataProtections[].Field\":\"object\",\"DataProtectionConfig.DataProtections[].Field.FieldKeys\":\"array\",\"DefaultAction\":\"object\",\"DefaultAction.Allow\":\"object\",\"DefaultAction.Allow.CustomRequestHandling\":\"object\",\"DefaultAction.Allow.CustomRequestHandling.InsertHeaders\":\"array\",\"DefaultAction.Allow.CustomRequestHandling.InsertHeaders[]\":\"object\",\"DefaultAction.Block\":\"object\",\"DefaultAction.Block.CustomResponse\":\"object\",\"DefaultAction.Block.CustomResponse.ResponseHeaders\":\"array\",\"DefaultAction.Block.CustomResponse.ResponseHeaders[]\":\"object\",\"MonetizationConfig\":\"object\",\"MonetizationConfig.CryptoConfig\":\"object\",\"MonetizationConfig.CryptoConfig.PaymentNetworks\":\"array\",\"MonetizationConfig.CryptoConfig.PaymentNetworks[]\":\"object\",\"MonetizationConfig.CryptoConfig.PaymentNetworks[].Prices\":\"array\",\"MonetizationConfig.CryptoConfig.PaymentNetworks[].Prices[]\":\"object\",\"OnSourceDDoSProtectionConfig\":\"object\",\"Rules\":\"array\",\"Rules[]\":\"object\",\"Rules[].Action\":\"object\",\"Rules[].Action.Allow\":\"object\",\"Rules[].Action.Allow.CustomRequestHandling\":\"object\",\"Rules[].Action.Allow.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Action.Allow.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Action.Block\":\"object\",\"Rules[].Action.Block.CustomResponse\":\"object\",\"Rules[].Action.Block.CustomResponse.ResponseHeaders\":\"array\",\"Rules[].Action.Block.CustomResponse.ResponseHeaders[]\":\"object\",\"Rules[].Action.Captcha\":\"object\",\"Rules[].Action.Captcha.CustomRequestHandling\":\"object\",\"Rules[].Action.Captcha.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Action.Captcha.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Action.Challenge\":\"object\",\"Rules[].Action.Challenge.CustomRequestHandling\":\"object\",\"Rules[].Action.Challenge.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Action.Challenge.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Action.Count\":\"object\",\"Rules[].Action.Count.CustomRequestHandling\":\"object\",\"Rules[].Action.Count.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Action.Count.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Action.Monetize\":\"object\",\"Rules[].CaptchaConfig\":\"object\",\"Rules[].CaptchaConfig.ImmunityTimeProperty\":\"object\",\"Rules[].ChallengeConfig\":\"object\",\"Rules[].ChallengeConfig.ImmunityTimeProperty\":\"object\",\"Rules[].OverrideAction\":\"object\",\"Rules[].OverrideAction.Count\":\"object\",\"Rules[].OverrideAction.None\":\"object\",\"Rules[].RuleLabels\":\"array\",\"Rules[].RuleLabels[]\":\"object\",\"Rules[].Statement\":\"object\",\"Rules[].Statement.AndStatement\":\"object\",\"Rules[].Statement.AndStatement.Statements\":\"array\",\"Rules[].Statement.AsnMatchStatement\":\"object\",\"Rules[].Statement.AsnMatchStatement.AsnList\":\"array\",\"Rules[].Statement.AsnMatchStatement.ForwardedIPConfig\":\"object\",\"Rules[].Statement.ByteMatchStatement\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.AllQueryArguments\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Body\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Cookies\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.All\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies\":\"array\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies\":\"array\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.HeaderOrder\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Headers\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.All\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders\":\"array\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders\":\"array\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.JA3Fingerprint\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.JA4Fingerprint\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.JsonBody\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.All\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths\":\"array\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.Method\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.QueryString\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.SingleHeader\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.SingleQueryArgument\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.UriFragment\":\"object\",\"Rules[].Statement.ByteMatchStatement.FieldToMatch.UriPath\":\"object\",\"Rules[].Statement.ByteMatchStatement.PreParseTextTransformations\":\"array\",\"Rules[].Statement.ByteMatchStatement.PreParseTextTransformations[]\":\"object\",\"Rules[].Statement.ByteMatchStatement.TextTransformations\":\"array\",\"Rules[].Statement.ByteMatchStatement.TextTransformations[]\":\"object\",\"Rules[].Statement.GeoMatchStatement\":\"object\",\"Rules[].Statement.GeoMatchStatement.CountryCodes\":\"array\",\"Rules[].Statement.GeoMatchStatement.ForwardedIPConfig\":\"object\",\"Rules[].Statement.IPSetReferenceStatement\":\"object\",\"Rules[].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig\":\"object\",\"Rules[].Statement.LabelMatchStatement\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ExcludedRules\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ExcludedRules[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.RequestInspection\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.RequestInspection.AddressFields\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.RequestInspection.AddressFields[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.RequestInspection.EmailField\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.RequestInspection.PasswordField\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.RequestInspection.PhoneNumberFields\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.RequestInspection.PhoneNumberFields[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.RequestInspection.UsernameField\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.FailureStrings\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.SuccessStrings\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.Header\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.FailureValues\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.SuccessValues\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.Json\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.FailureValues\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.SuccessValues\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.FailureCodes\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.SuccessCodes\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.RequestInspection\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.RequestInspection.PasswordField\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.RequestInspection.UsernameField\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.FailureStrings\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.SuccessStrings\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.Header\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.Header.FailureValues\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.Header.SuccessValues\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.Json\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.Json.FailureValues\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.Json.SuccessValues\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.FailureCodes\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.SuccessCodes\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesAntiDDoSRuleSet\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesAntiDDoSRuleSet.ClientSideActionConfig\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesAntiDDoSRuleSet.ClientSideActionConfig.Challenge\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesAntiDDoSRuleSet.ClientSideActionConfig.Challenge.ExemptUriRegularExpressions\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesAntiDDoSRuleSet.ClientSideActionConfig.Challenge.ExemptUriRegularExpressions[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].AWSManagedRulesBotControlRuleSet\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].PasswordField\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[].UsernameField\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Allow\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Allow.CustomRequestHandling\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Allow.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Block\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Block.CustomResponse\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Block.CustomResponse.ResponseHeaders\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Block.CustomResponse.ResponseHeaders[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Captcha\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Captcha.CustomRequestHandling\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Challenge\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Challenge.CustomRequestHandling\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Count\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Count.CustomRequestHandling\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Count.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Count.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Statement.ManagedRuleGroupStatement.RuleActionOverrides[].ActionToUse.Monetize\":\"object\",\"Rules[].Statement.NotStatement\":\"object\",\"Rules[].Statement.OrStatement\":\"object\",\"Rules[].Statement.OrStatement.Statements\":\"array\",\"Rules[].Statement.RateBasedStatement\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys\":\"array\",\"Rules[].Statement.RateBasedStatement.CustomKeys[]\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].ASN\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].Cookie\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].Cookie.TextTransformations\":\"array\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].Cookie.TextTransformations[]\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].ForwardedIP\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].HTTPMethod\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].Header\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].Header.TextTransformations\":\"array\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].Header.TextTransformations[]\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].IP\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].JA3Fingerprint\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].JA4Fingerprint\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].LabelNamespace\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].QueryArgument\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].QueryArgument.TextTransformations\":\"array\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].QueryArgument.TextTransformations[]\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].QueryString\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].QueryString.TextTransformations\":\"array\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].QueryString.TextTransformations[]\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].UriPath\":\"object\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].UriPath.TextTransformations\":\"array\",\"Rules[].Statement.RateBasedStatement.CustomKeys[].UriPath.TextTransformations[]\":\"object\",\"Rules[].Statement.RateBasedStatement.ForwardedIPConfig\":\"object\",\"Rules[].Statement.RegexMatchStatement\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.AllQueryArguments\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Body\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Cookies\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.All\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies\":\"array\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies\":\"array\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.HeaderOrder\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Headers\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.All\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders\":\"array\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders\":\"array\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.JA3Fingerprint\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.JA4Fingerprint\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.JsonBody\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.All\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths\":\"array\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.Method\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.QueryString\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.SingleHeader\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.SingleQueryArgument\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.UriFragment\":\"object\",\"Rules[].Statement.RegexMatchStatement.FieldToMatch.UriPath\":\"object\",\"Rules[].Statement.RegexMatchStatement.PreParseTextTransformations\":\"array\",\"Rules[].Statement.RegexMatchStatement.PreParseTextTransformations[]\":\"object\",\"Rules[].Statement.RegexMatchStatement.TextTransformations\":\"array\",\"Rules[].Statement.RegexMatchStatement.TextTransformations[]\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.AllQueryArguments\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Body\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.All\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies\":\"array\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies\":\"array\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.HeaderOrder\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.All\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders\":\"array\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders\":\"array\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JA3Fingerprint\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JA4Fingerprint\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.All\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths\":\"array\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Method\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.QueryString\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleHeader\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleQueryArgument\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.UriFragment\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.FieldToMatch.UriPath\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.PreParseTextTransformations\":\"array\",\"Rules[].Statement.RegexPatternSetReferenceStatement.PreParseTextTransformations[]\":\"object\",\"Rules[].Statement.RegexPatternSetReferenceStatement.TextTransformations\":\"array\",\"Rules[].Statement.RegexPatternSetReferenceStatement.TextTransformations[]\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.ExcludedRules\":\"array\",\"Rules[].Statement.RuleGroupReferenceStatement.ExcludedRules[]\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides\":\"array\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[]\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Allow\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Allow.CustomRequestHandling\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Allow.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Block\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Block.CustomResponse\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Block.CustomResponse.ResponseHeaders\":\"array\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Block.CustomResponse.ResponseHeaders[]\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Captcha\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Captcha.CustomRequestHandling\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Challenge\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Challenge.CustomRequestHandling\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Count\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Count.CustomRequestHandling\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Count.CustomRequestHandling.InsertHeaders\":\"array\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Count.CustomRequestHandling.InsertHeaders[]\":\"object\",\"Rules[].Statement.RuleGroupReferenceStatement.RuleActionOverrides[].ActionToUse.Monetize\":\"object\",\"Rules[].Statement.SizeConstraintStatement\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.AllQueryArguments\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Body\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Cookies\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.All\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies\":\"array\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies\":\"array\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.HeaderOrder\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Headers\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.All\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders\":\"array\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders\":\"array\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.JA3Fingerprint\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.JA4Fingerprint\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.JsonBody\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.All\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths\":\"array\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.Method\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.QueryString\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.SingleHeader\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.SingleQueryArgument\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.UriFragment\":\"object\",\"Rules[].Statement.SizeConstraintStatement.FieldToMatch.UriPath\":\"object\",\"Rules[].Statement.SizeConstraintStatement.PreParseTextTransformations\":\"array\",\"Rules[].Statement.SizeConstraintStatement.PreParseTextTransformations[]\":\"object\",\"Rules[].Statement.SizeConstraintStatement.TextTransformations\":\"array\",\"Rules[].Statement.SizeConstraintStatement.TextTransformations[]\":\"object\",\"Rules[].Statement.SqliMatchStatement\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.AllQueryArguments\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Body\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Cookies\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.All\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies\":\"array\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies\":\"array\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.HeaderOrder\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Headers\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.All\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders\":\"array\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders\":\"array\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.JA3Fingerprint\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.JA4Fingerprint\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.JsonBody\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.All\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths\":\"array\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.Method\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.QueryString\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.SingleHeader\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.SingleQueryArgument\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.UriFragment\":\"object\",\"Rules[].Statement.SqliMatchStatement.FieldToMatch.UriPath\":\"object\",\"Rules[].Statement.SqliMatchStatement.PreParseTextTransformations\":\"array\",\"Rules[].Statement.SqliMatchStatement.PreParseTextTransformations[]\":\"object\",\"Rules[].Statement.SqliMatchStatement.TextTransformations\":\"array\",\"Rules[].Statement.SqliMatchStatement.TextTransformations[]\":\"object\",\"Rules[].Statement.XssMatchStatement\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.AllQueryArguments\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Body\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Cookies\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.All\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies\":\"array\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies\":\"array\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.HeaderOrder\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Headers\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.All\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders\":\"array\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders\":\"array\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.JA3Fingerprint\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.JA4Fingerprint\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.JsonBody\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.All\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths\":\"array\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.Method\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.QueryString\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.SingleHeader\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.SingleQueryArgument\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.UriFragment\":\"object\",\"Rules[].Statement.XssMatchStatement.FieldToMatch.UriPath\":\"object\",\"Rules[].Statement.XssMatchStatement.PreParseTextTransformations\":\"array\",\"Rules[].Statement.XssMatchStatement.PreParseTextTransformations[]\":\"object\",\"Rules[].Statement.XssMatchStatement.TextTransformations\":\"array\",\"Rules[].Statement.XssMatchStatement.TextTransformations[]\":\"object\",\"Rules[].VisibilityConfig\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\",\"TokenDomains\":\"array\",\"VisibilityConfig\":\"object\"}"]
|
|
33100
32913
|
]);
|
|
33101
32914
|
|
|
33102
|
-
|
|
33103
|
-
//#region src/provisioning/property-shape.ts
|
|
32915
|
+
// src/provisioning/property-shape.ts
|
|
33104
32916
|
const treeCache = /* @__PURE__ */ new Map();
|
|
33105
32917
|
function buildShapeTree(rows) {
|
|
33106
32918
|
const root = { props: /* @__PURE__ */ new Map() };
|
|
@@ -33194,8 +33006,7 @@ function validatePropertyShapes(resources) {
|
|
|
33194
33006
|
throw new Error("Properties validation failed: the following resources declare a property whose kind contradicts the resource type's schema:\n" + lines.join("\n") + "\n\nCloudFormation rejects these templates too. Give each property a list where its schema expects a list and an object where it expects an object.");
|
|
33195
33007
|
}
|
|
33196
33008
|
|
|
33197
|
-
|
|
33198
|
-
//#region src/provisioning/provider-registry.ts
|
|
33009
|
+
// src/provisioning/provider-registry.ts
|
|
33199
33010
|
const STICKY_CC_MIGRATION_EXEMPT = /* @__PURE__ */ new Map([
|
|
33200
33011
|
["AWS::Scheduler::Schedule", {
|
|
33201
33012
|
mode: "cc-broken",
|
|
@@ -33535,8 +33346,7 @@ function isCustomResource(resourceType) {
|
|
|
33535
33346
|
return resourceType.startsWith("Custom::") || resourceType === "AWS::CloudFormation::CustomResource";
|
|
33536
33347
|
}
|
|
33537
33348
|
|
|
33538
|
-
|
|
33539
|
-
//#region src/provisioning/attribute-map.ts
|
|
33349
|
+
// src/provisioning/attribute-map.ts
|
|
33540
33350
|
function definedAttributes(entries) {
|
|
33541
33351
|
const out = {};
|
|
33542
33352
|
for (const [key, value] of Object.entries(entries)) {
|
|
@@ -33550,8 +33360,7 @@ function stringifyIfAssigned(value) {
|
|
|
33550
33360
|
return String(value);
|
|
33551
33361
|
}
|
|
33552
33362
|
|
|
33553
|
-
|
|
33554
|
-
//#region src/provisioning/tag-list.ts
|
|
33363
|
+
// src/provisioning/tag-list.ts
|
|
33555
33364
|
function isScalar(value) {
|
|
33556
33365
|
return typeof value === "string" || typeof value === "number" || typeof value === "boolean";
|
|
33557
33366
|
}
|
|
@@ -33645,8 +33454,7 @@ function recordedTagsUnreadableWarning(resourceType, id, applied) {
|
|
|
33645
33454
|
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.`;
|
|
33646
33455
|
}
|
|
33647
33456
|
|
|
33648
|
-
|
|
33649
|
-
//#region src/provisioning/delete-started.ts
|
|
33457
|
+
// src/provisioning/delete-started.ts
|
|
33650
33458
|
const DELETE_STARTED = Symbol.for("cdkd.deleteStarted");
|
|
33651
33459
|
const MAX_DEPTH = 10;
|
|
33652
33460
|
function markDeleteStarted(error) {
|
|
@@ -33697,8 +33505,7 @@ function isRefusedByName(error) {
|
|
|
33697
33505
|
return false;
|
|
33698
33506
|
}
|
|
33699
33507
|
|
|
33700
|
-
|
|
33701
|
-
//#region src/types/deployment-events.ts
|
|
33508
|
+
// src/types/deployment-events.ts
|
|
33702
33509
|
function extractDeploymentEventError(err) {
|
|
33703
33510
|
if (!(err instanceof Error)) return {
|
|
33704
33511
|
name: "UnknownError",
|
|
@@ -33721,8 +33528,7 @@ function extractDeploymentEventError(err) {
|
|
|
33721
33528
|
return result;
|
|
33722
33529
|
}
|
|
33723
33530
|
|
|
33724
|
-
|
|
33725
|
-
//#region src/state/deployment-events-store.ts
|
|
33531
|
+
// src/state/deployment-events-store.ts
|
|
33726
33532
|
const DEPLOYMENT_EVENTS_MAX_INDEX_RUNS = 20;
|
|
33727
33533
|
const FLUSH_INTERVAL_MS = 2e3;
|
|
33728
33534
|
const FLUSH_EVENT_THRESHOLD = 50;
|
|
@@ -34060,8 +33866,7 @@ var DeploymentEventsReader = class {
|
|
|
34060
33866
|
}
|
|
34061
33867
|
};
|
|
34062
33868
|
|
|
34063
|
-
|
|
34064
|
-
//#region src/deployment/kept-in-history.ts
|
|
33869
|
+
// src/deployment/kept-in-history.ts
|
|
34065
33870
|
function keptInEarlierRecords(records) {
|
|
34066
33871
|
const out = [];
|
|
34067
33872
|
for (const record of records) for (const [logicalId, raw] of Object.entries(record.resources)) {
|
|
@@ -34134,8 +33939,7 @@ async function loadRollbackRetainedCopies(sources, stackName, region) {
|
|
|
34134
33939
|
return rollbackRetainedInEventHistory(await readRecentRuns(sources, stackName, region), stackName);
|
|
34135
33940
|
}
|
|
34136
33941
|
|
|
34137
|
-
|
|
34138
|
-
//#region src/provisioning/providers/idempotency-token.ts
|
|
33942
|
+
// src/provisioning/providers/idempotency-token.ts
|
|
34139
33943
|
const PROCESS_NONCE = randomUUID();
|
|
34140
33944
|
const inFlight$1 = /* @__PURE__ */ new Map();
|
|
34141
33945
|
const generations = /* @__PURE__ */ new Map();
|
|
@@ -34176,8 +33980,7 @@ function stackScopedCreateToken(options) {
|
|
|
34176
33980
|
return `cdkd-${logicalId.slice(0, prefixLength)}-${digest}`;
|
|
34177
33981
|
}
|
|
34178
33982
|
|
|
34179
|
-
|
|
34180
|
-
//#region src/provisioning/providers/create-token-ledger.ts
|
|
33983
|
+
// src/provisioning/providers/create-token-ledger.ts
|
|
34181
33984
|
var CreateTokenLedger = class {
|
|
34182
33985
|
doc;
|
|
34183
33986
|
loadedAbsent = false;
|
|
@@ -34506,8 +34309,7 @@ async function reserveStackCreateToken(options) {
|
|
|
34506
34309
|
};
|
|
34507
34310
|
}
|
|
34508
34311
|
|
|
34509
|
-
|
|
34510
|
-
//#region src/deployment/deploy-value-equality.ts
|
|
34312
|
+
// src/deployment/deploy-value-equality.ts
|
|
34511
34313
|
function isReplacementCeiling(pc) {
|
|
34512
34314
|
return pc.requiresReplacement && (pc.inPlacePropagated === true || pc.replacementPropagated === true);
|
|
34513
34315
|
}
|
|
@@ -34561,8 +34363,7 @@ function deepEqualValue(a, b) {
|
|
|
34561
34363
|
return true;
|
|
34562
34364
|
}
|
|
34563
34365
|
|
|
34564
|
-
|
|
34565
|
-
//#region src/deployment/deploy-engine/provenance-capture.ts
|
|
34366
|
+
// src/deployment/deploy-engine/provenance-capture.ts
|
|
34566
34367
|
var ProvenanceCapture = class {
|
|
34567
34368
|
tasks = /* @__PURE__ */ new Map();
|
|
34568
34369
|
deps;
|
|
@@ -34668,8 +34469,7 @@ function provenanceBaselineOf(state, tokenFree) {
|
|
|
34668
34469
|
};
|
|
34669
34470
|
}
|
|
34670
34471
|
|
|
34671
|
-
|
|
34672
|
-
//#region src/provisioning/final-snapshot.ts
|
|
34472
|
+
// src/provisioning/final-snapshot.ts
|
|
34673
34473
|
const ATOMIC_FINAL_SNAPSHOT_TYPES = /* @__PURE__ */ new Set([
|
|
34674
34474
|
"AWS::RDS::DBInstance",
|
|
34675
34475
|
"AWS::RDS::DBCluster",
|
|
@@ -35020,13 +34820,11 @@ async function createReplicationGroupFinalSnapshot(client, replicationGroupId, l
|
|
|
35020
34820
|
});
|
|
35021
34821
|
}
|
|
35022
34822
|
|
|
35023
|
-
|
|
35024
|
-
//#region src/deployment/rollback-executor/types.ts
|
|
34823
|
+
// src/deployment/rollback-executor/types.ts
|
|
35025
34824
|
const NESTED_STACK_RESOURCE_TYPE$1 = "AWS::CloudFormation::Stack";
|
|
35026
34825
|
const nonEmptyString = (v) => typeof v === "string" && v.length > 0;
|
|
35027
34826
|
|
|
35028
|
-
|
|
35029
|
-
//#region src/deployment/rollback-executor/messages.ts
|
|
34827
|
+
// src/deployment/rollback-executor/messages.ts
|
|
35030
34828
|
function throwIfDeleteSkipped(result, logicalId, physicalId, duringClause, guardScope) {
|
|
35031
34829
|
recordRollbackDeleteGuards(result, logicalId, physicalId, guardScope);
|
|
35032
34830
|
const reason = deleteSkipReason(result);
|
|
@@ -35221,8 +35019,7 @@ function retainedSurvivorMessages(logicalId, resourceType, survivorPhysicalId, s
|
|
|
35221
35019
|
};
|
|
35222
35020
|
}
|
|
35223
35021
|
|
|
35224
|
-
|
|
35225
|
-
//#region src/deployment/rollback-executor/names.ts
|
|
35022
|
+
// src/deployment/rollback-executor/names.ts
|
|
35226
35023
|
function replayPrefixScope(input, logger, mask, restoring) {
|
|
35227
35024
|
const generation = input.nameGeneration;
|
|
35228
35025
|
const inGeneration = (fn) => generation === void 0 ? fn() : withNameGeneration({
|
|
@@ -35388,8 +35185,7 @@ async function prepareCreateRollbackFinalSnapshot(op, provisionedBy, ctx, mask)
|
|
|
35388
35185
|
}
|
|
35389
35186
|
}
|
|
35390
35187
|
|
|
35391
|
-
|
|
35392
|
-
//#region src/deployment/secret-name-needles.ts
|
|
35188
|
+
// src/deployment/secret-name-needles.ts
|
|
35393
35189
|
function secretNameNeedlesOf(logicalId, record, secrets, options) {
|
|
35394
35190
|
const physicalId = typeof record?.physicalId === "string" && record.physicalId !== "" ? record.physicalId : void 0;
|
|
35395
35191
|
const bag = secrets !== void 0 && hasMaskableValues(secrets) ? secrets : void 0;
|
|
@@ -35659,8 +35455,7 @@ function maskEventTextWithBoundBags(event) {
|
|
|
35659
35455
|
return masked;
|
|
35660
35456
|
}
|
|
35661
35457
|
|
|
35662
|
-
|
|
35663
|
-
//#region src/deployment/read-only-attribute-healer.ts
|
|
35458
|
+
// src/deployment/read-only-attribute-healer.ts
|
|
35664
35459
|
async function readRecordAttributes(input) {
|
|
35665
35460
|
const { provider, logicalId, resource, stackName, region } = input;
|
|
35666
35461
|
if (!provider.import) return { kind: "not-attempted" };
|
|
@@ -35721,8 +35516,7 @@ function createReadOnlyAttributeHealerFactory(options) {
|
|
|
35721
35516
|
return (stackName, region) => Object.assign((logicalId, resource) => readOnce(stackName, region, logicalId, resource), { readOnly: true });
|
|
35722
35517
|
}
|
|
35723
35518
|
|
|
35724
|
-
|
|
35725
|
-
//#region src/deployment/deploy-engine/noecho.ts
|
|
35519
|
+
// src/deployment/deploy-engine/noecho.ts
|
|
35726
35520
|
var NoEchoRunState = class {
|
|
35727
35521
|
noEchoAttributeResources = /* @__PURE__ */ new Map();
|
|
35728
35522
|
persistedNoEchoAttributes = /* @__PURE__ */ new Map();
|
|
@@ -36103,8 +35897,7 @@ function noEchoComparisonForTemplate(template, knownConditions, values, resource
|
|
|
36103
35897
|
return (input) => compare(input);
|
|
36104
35898
|
}
|
|
36105
35899
|
|
|
36106
|
-
|
|
36107
|
-
//#region src/deployment/deploy-engine/masking.ts
|
|
35900
|
+
// src/deployment/deploy-engine/masking.ts
|
|
36108
35901
|
var SecretsRunState = class {
|
|
36109
35902
|
perResourceSecrets = /* @__PURE__ */ new Map();
|
|
36110
35903
|
secretNameNeedles = /* @__PURE__ */ new Map();
|
|
@@ -36390,8 +36183,7 @@ function maskedRecordRemedyFor(reads, resources, causeScoped = false) {
|
|
|
36390
36183
|
return [parts.join(" "), ...commandLines].join("\n");
|
|
36391
36184
|
}
|
|
36392
36185
|
|
|
36393
|
-
|
|
36394
|
-
//#region src/deployment/delete-guard-scope.ts
|
|
36186
|
+
// src/deployment/delete-guard-scope.ts
|
|
36395
36187
|
const storage$1 = new AsyncLocalStorage();
|
|
36396
36188
|
function collectDeleteGuards(sink, fn) {
|
|
36397
36189
|
return storage$1.run(sink, fn);
|
|
@@ -36408,8 +36200,7 @@ function reportDeleteGuards(result, target) {
|
|
|
36408
36200
|
});
|
|
36409
36201
|
}
|
|
36410
36202
|
|
|
36411
|
-
|
|
36412
|
-
//#region src/deployment/superseded-resources.ts
|
|
36203
|
+
// src/deployment/superseded-resources.ts
|
|
36413
36204
|
function supersededResourcesOf(state) {
|
|
36414
36205
|
const rows = state?.supersededResources;
|
|
36415
36206
|
if (!Array.isArray(rows)) return [];
|
|
@@ -36533,8 +36324,7 @@ function holdsSupersededResources(record) {
|
|
|
36533
36324
|
return rows !== void 0 && (!Array.isArray(rows) || rows.length > 0);
|
|
36534
36325
|
}
|
|
36535
36326
|
|
|
36536
|
-
|
|
36537
|
-
//#region src/utils/colors.ts
|
|
36327
|
+
// src/utils/colors.ts
|
|
36538
36328
|
const codes = {
|
|
36539
36329
|
reset: "\x1B[0m",
|
|
36540
36330
|
bright: "\x1B[1m",
|
|
@@ -36553,8 +36343,7 @@ const cyan = (s) => `${codes.cyan}${s}${codes.reset}`;
|
|
|
36553
36343
|
const gray = (s) => `${codes.gray}${s}${codes.reset}`;
|
|
36554
36344
|
const bold = (s) => `${codes.bright}${s}${codes.reset}`;
|
|
36555
36345
|
|
|
36556
|
-
|
|
36557
|
-
//#region src/deployment/rollback-executor/replay-scope.ts
|
|
36346
|
+
// src/deployment/rollback-executor/replay-scope.ts
|
|
36558
36347
|
function withReplayDeletePrinting(scope, fn) {
|
|
36559
36348
|
const deployBag = scope.ctx.logOnlyNeedlesFor?.(scope.op.logicalId);
|
|
36560
36349
|
return withPrintingSecrets(scope.secrets, () => deployBag === void 0 ? fn() : withPrintingSecrets(deployBag, fn));
|
|
@@ -36570,8 +36359,7 @@ function noteRolledBackCreate(scope, op, record) {
|
|
|
36570
36359
|
scope.onRolledBackCreate?.(create);
|
|
36571
36360
|
}
|
|
36572
36361
|
|
|
36573
|
-
|
|
36574
|
-
//#region src/deployment/rollback-executor/replaced-survivor.ts
|
|
36362
|
+
// src/deployment/rollback-executor/replaced-survivor.ts
|
|
36575
36363
|
function replacedDeleteFailureVerdict(error) {
|
|
36576
36364
|
if (isDeleteStarted(error)) return "unconfirmed";
|
|
36577
36365
|
return isRefusedByName(error) ? "kept" : "unconfirmed";
|
|
@@ -36618,8 +36406,7 @@ async function readSurvivor(s, oldType) {
|
|
|
36618
36406
|
}
|
|
36619
36407
|
}
|
|
36620
36408
|
|
|
36621
|
-
|
|
36622
|
-
//#region src/deployment/stack-records-scope.ts
|
|
36409
|
+
// src/deployment/stack-records-scope.ts
|
|
36623
36410
|
async function awaitInFlightSibling(view, self, sibling) {
|
|
36624
36411
|
const waiting = view.waiting;
|
|
36625
36412
|
if (waiting === void 0 || waiting.has(sibling.logicalId)) return void 0;
|
|
@@ -36662,8 +36449,7 @@ function replayStackRecordsView(records, orphanLogicalIds = /* @__PURE__ */ new
|
|
|
36662
36449
|
};
|
|
36663
36450
|
}
|
|
36664
36451
|
|
|
36665
|
-
|
|
36666
|
-
//#region src/deployment/deploy-engine/name-collision.ts
|
|
36452
|
+
// src/deployment/deploy-engine/name-collision.ts
|
|
36667
36453
|
function replacementNameOrigin(logicalId, physicalId) {
|
|
36668
36454
|
if (looksLikeCdkdGeneratedName(physicalId, logicalId, getCurrentStackName(), getCurrentStackInstanceId())) return {
|
|
36669
36455
|
descriptor: `The physical name (${physicalId}) was GENERATED by cdkd from the construct's logical id rather than declared in your template, and that derivation has no random component — so the new resource asks for exactly the name the existing one still holds`,
|
|
@@ -36741,8 +36527,7 @@ function isReplacementNameRefusal(error, logicalId) {
|
|
|
36741
36527
|
return false;
|
|
36742
36528
|
}
|
|
36743
36529
|
|
|
36744
|
-
|
|
36745
|
-
//#region src/deployment/deploy-engine/replacement.ts
|
|
36530
|
+
// src/deployment/deploy-engine/replacement.ts
|
|
36746
36531
|
var ReplacementRunState = class {
|
|
36747
36532
|
replacedDeleteSkips = /* @__PURE__ */ new Map();
|
|
36748
36533
|
deferredReplacedDeletes = void 0;
|
|
@@ -37097,8 +36882,7 @@ function warnUnretriedReplacedDeletes(run, deps, why) {
|
|
|
37097
36882
|
for (const [logicalId, entry] of deferred ?? []) withPrintingSecrets(secretNameBagFor(deps.secretsRun(), logicalId), () => deps.logger.warn(safeMsg` ⚠ Failed to delete old resource ${logicalId} (${entry.physicalId}): ${entry.failureMessage} (${noteFor(logicalId)})`));
|
|
37098
36883
|
}
|
|
37099
36884
|
|
|
37100
|
-
|
|
37101
|
-
//#region src/analyzer/refactor-pairing.ts
|
|
36885
|
+
// src/analyzer/refactor-pairing.ts
|
|
37102
36886
|
const UNPAIRABLE_TYPES = /* @__PURE__ */ new Set(["AWS::CDK::Metadata", "AWS::CloudFormation::Stack"]);
|
|
37103
36887
|
function isPairableType(resourceType) {
|
|
37104
36888
|
return !UNPAIRABLE_TYPES.has(resourceType);
|
|
@@ -37268,8 +37052,7 @@ function splitLocation(location) {
|
|
|
37268
37052
|
};
|
|
37269
37053
|
}
|
|
37270
37054
|
|
|
37271
|
-
|
|
37272
|
-
//#region src/analyzer/refactor-hints.ts
|
|
37055
|
+
// src/analyzer/refactor-hints.ts
|
|
37273
37056
|
function findRefactorHints(stacks) {
|
|
37274
37057
|
const hints = /* @__PURE__ */ new Map();
|
|
37275
37058
|
for (const env of new Set(stacks.map((s) => s.env))) {
|
|
@@ -37344,8 +37127,7 @@ function withMovedTo(changes, hints) {
|
|
|
37344
37127
|
});
|
|
37345
37128
|
}
|
|
37346
37129
|
|
|
37347
|
-
|
|
37348
|
-
//#region src/analyzer/destructive-changes.ts
|
|
37130
|
+
// src/analyzer/destructive-changes.ts
|
|
37349
37131
|
const IGNORED_RESOURCE_TYPES = /* @__PURE__ */ new Set(["AWS::CDK::Metadata"]);
|
|
37350
37132
|
const PATH_METADATA_KEY = "aws:cdk:path";
|
|
37351
37133
|
function findDestructiveChanges(stackName, changes, records, template, recreateTargets = /* @__PURE__ */ new Set()) {
|
|
@@ -37420,8 +37202,7 @@ function withConstructPath(record, path) {
|
|
|
37420
37202
|
};
|
|
37421
37203
|
}
|
|
37422
37204
|
|
|
37423
|
-
|
|
37424
|
-
//#region src/deployment/masking-retry-logger.ts
|
|
37205
|
+
// src/deployment/masking-retry-logger.ts
|
|
37425
37206
|
function maskingRetryLogger(logger, secrets) {
|
|
37426
37207
|
return {
|
|
37427
37208
|
debug: (msg) => logger.debug(maskSecretsInText(msg, secrets)),
|
|
@@ -37429,8 +37210,7 @@ function maskingRetryLogger(logger, secrets) {
|
|
|
37429
37210
|
};
|
|
37430
37211
|
}
|
|
37431
37212
|
|
|
37432
|
-
|
|
37433
|
-
//#region src/deployment/deploy-engine/options.ts
|
|
37213
|
+
// src/deployment/deploy-engine/options.ts
|
|
37434
37214
|
const DEFAULT_RESOURCE_WARN_AFTER_MS = 3e5;
|
|
37435
37215
|
const DEFAULT_RESOURCE_TIMEOUT_MS = 18e5;
|
|
37436
37216
|
const DEFAULT_UNSETTLED_REVERT_WAIT = {
|
|
@@ -37438,8 +37218,7 @@ const DEFAULT_UNSETTLED_REVERT_WAIT = {
|
|
|
37438
37218
|
pollMs: 1e4
|
|
37439
37219
|
};
|
|
37440
37220
|
|
|
37441
|
-
|
|
37442
|
-
//#region src/analyzer/skipped-outputs.ts
|
|
37221
|
+
// src/analyzer/skipped-outputs.ts
|
|
37443
37222
|
function canonicalJson$3(value) {
|
|
37444
37223
|
return JSON.stringify(value, (_key, v) => {
|
|
37445
37224
|
if (v !== null && typeof v === "object" && !Array.isArray(v)) {
|
|
@@ -37553,8 +37332,7 @@ function skippedOutputsEqual(a, b) {
|
|
|
37553
37332
|
return aKeys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && a?.[k] === b?.[k]);
|
|
37554
37333
|
}
|
|
37555
37334
|
|
|
37556
|
-
|
|
37557
|
-
//#region src/deployment/outputs-export-alias/names.ts
|
|
37335
|
+
// src/deployment/outputs-export-alias/names.ts
|
|
37558
37336
|
function isOutputSuppressedByCondition(output, conditions) {
|
|
37559
37337
|
return output.Condition !== void 0 && conditions?.[output.Condition] === false;
|
|
37560
37338
|
}
|
|
@@ -37570,8 +37348,7 @@ function isExportAliasCollision(exportName, outputKey, ownedOutputNames) {
|
|
|
37570
37348
|
return exportName !== outputKey && ownedOutputNames.has(exportName);
|
|
37571
37349
|
}
|
|
37572
37350
|
|
|
37573
|
-
|
|
37574
|
-
//#region src/deployment/outputs-export-alias/secret-scan.ts
|
|
37351
|
+
// src/deployment/outputs-export-alias/secret-scan.ts
|
|
37575
37352
|
const MIN_SECRET_NEEDLE = 4;
|
|
37576
37353
|
const SECRET_SCAN_INVISIBLES = /[\p{Cc}\p{Cf}\p{Me}\p{Zl}\p{Zp}\p{Default_Ignorable_Code_Point}]/gu;
|
|
37577
37354
|
const SECRET_DETECTION_ONLY = /\p{Mn}/gu;
|
|
@@ -37690,8 +37467,7 @@ function maskEveryOccurrence(text, exposure) {
|
|
|
37690
37467
|
return maskMatchSpans(text, Array.from(exposure.keys()).filter((value) => value !== ""), "***");
|
|
37691
37468
|
}
|
|
37692
37469
|
|
|
37693
|
-
|
|
37694
|
-
//#region src/deployment/outputs-export-alias/warnings.ts
|
|
37470
|
+
// src/deployment/outputs-export-alias/warnings.ts
|
|
37695
37471
|
function secretBearingExportNameWarning(outputKey, exportName, exposure, secrets, noEchoOnly = false) {
|
|
37696
37472
|
const corpus = printingCorpusOf(secrets ?? exposure);
|
|
37697
37473
|
const name = secretSafeKeyDisplay(exportName, corpus, exposure);
|
|
@@ -37769,8 +37545,7 @@ function exportAliasCollisionScrubWarning(outputKey, exportName, secrets) {
|
|
|
37769
37545
|
return `Output ${ownerDisplay.kind === "withheld" && exportDisplay.kind === "withheld" ? "<the owning output, name withheld: contains a secret>" : displayTextOrWithheld(ownerDisplay)} exports as ${exportDisplay.kind === "withheld" ? shown : `"${shown}"`}, which is also the name of another output in this stack — state cannot say which of the two ${storedUnder} came from, so that key is redacted by value match instead of by template position, and two references resolving to the same value could still collapse there. Rename the export, or the colliding output, and redeploy.`;
|
|
37770
37546
|
}
|
|
37771
37547
|
|
|
37772
|
-
|
|
37773
|
-
//#region src/deployment/deploy-engine/outputs.ts
|
|
37548
|
+
// src/deployment/deploy-engine/outputs.ts
|
|
37774
37549
|
var OutputsRunState = class {
|
|
37775
37550
|
outputSecrets = /* @__PURE__ */ new Map();
|
|
37776
37551
|
outputsPassSecretMaps = [];
|
|
@@ -37937,8 +37712,7 @@ function seedOnlyAliasRefusal(seed) {
|
|
|
37937
37712
|
};
|
|
37938
37713
|
}
|
|
37939
37714
|
|
|
37940
|
-
|
|
37941
|
-
//#region src/analyzer/parameter-dependence.ts
|
|
37715
|
+
// src/analyzer/parameter-dependence.ts
|
|
37942
37716
|
const KNOWN_INTRINSICS = /* @__PURE__ */ new Set([
|
|
37943
37717
|
"Fn::GetAtt",
|
|
37944
37718
|
"Fn::Join",
|
|
@@ -38125,8 +37899,7 @@ function resourcesNamingDeclaredParameter(template) {
|
|
|
38125
37899
|
}
|
|
38126
37900
|
}
|
|
38127
37901
|
|
|
38128
|
-
|
|
38129
|
-
//#region src/deployment/masked-baseline-recapture.ts
|
|
37902
|
+
// src/deployment/masked-baseline-recapture.ts
|
|
38130
37903
|
function isMaskedBaselineRecaptureCandidate(record) {
|
|
38131
37904
|
if (record.observedBaselineRefused === true) return false;
|
|
38132
37905
|
const observed = record.observedProperties;
|
|
@@ -38242,8 +38015,7 @@ function recaptureMaskedBaseline(args) {
|
|
|
38242
38015
|
return changed ? result : void 0;
|
|
38243
38016
|
}
|
|
38244
38017
|
|
|
38245
|
-
|
|
38246
|
-
//#region src/state/name-generation.ts
|
|
38018
|
+
// src/state/name-generation.ts
|
|
38247
38019
|
var MalformedNameGenerationError = class extends Error {
|
|
38248
38020
|
constructor(where, reason = "malformed") {
|
|
38249
38021
|
super(`The state record holds a name generation for ${displayIdent(where)} that is ` + (reason === "exhausted" ? "too large to derive the next one from (the next is not a safe integer). " : "not a non-negative integer. ") + "cdkd does not guess which name the resource was given, since the next replacement's name derives from it; restore the field from an earlier version of state.json.");
|
|
@@ -38372,8 +38144,7 @@ function retiredNameGenerationsLeaving(state, remaining) {
|
|
|
38372
38144
|
}
|
|
38373
38145
|
}
|
|
38374
38146
|
|
|
38375
|
-
|
|
38376
|
-
//#region src/deployment/update-outcome.ts
|
|
38147
|
+
// src/deployment/update-outcome.ts
|
|
38377
38148
|
function updatePartialReason(result) {
|
|
38378
38149
|
if (!result || result.outcome !== "partial") return void 0;
|
|
38379
38150
|
if (typeof result.reason !== "string") return UNSPECIFIED_PARTIAL_REASON;
|
|
@@ -38385,8 +38156,7 @@ function updatePartialMessage(reason) {
|
|
|
38385
38156
|
return `partial (${reason})`;
|
|
38386
38157
|
}
|
|
38387
38158
|
|
|
38388
|
-
|
|
38389
|
-
//#region src/provisioning/redacted-delete-address.ts
|
|
38159
|
+
// src/provisioning/redacted-delete-address.ts
|
|
38390
38160
|
function isRedactedRecordedValue(value) {
|
|
38391
38161
|
if (carriesSecretMask(value)) return true;
|
|
38392
38162
|
let text;
|
|
@@ -38410,8 +38180,7 @@ function redactedDeleteAddressSkip(logger, logicalId, what, redactedFields, cont
|
|
|
38410
38180
|
};
|
|
38411
38181
|
}
|
|
38412
38182
|
|
|
38413
|
-
|
|
38414
|
-
//#region src/deployment/rollback-executor/replay-inline-policy-restore.ts
|
|
38183
|
+
// src/deployment/rollback-executor/replay-inline-policy-restore.ts
|
|
38415
38184
|
async function restoreHeldInlinePolicies(writers, stateResources, stackName, ctx, result, options = {}) {
|
|
38416
38185
|
for (const removal of writers.takeHeldRemovals(stateResources)) await restoreOne(removal, stateResources, stackName, ctx, result, options.refuseAll === true);
|
|
38417
38186
|
}
|
|
@@ -38490,8 +38259,7 @@ function serializedDocument(document) {
|
|
|
38490
38259
|
return isRedactedRecordedValue(document) ? void 0 : JSON.stringify(document);
|
|
38491
38260
|
}
|
|
38492
38261
|
|
|
38493
|
-
|
|
38494
|
-
//#region src/deployment/producer-regions-scope.ts
|
|
38262
|
+
// src/deployment/producer-regions-scope.ts
|
|
38495
38263
|
const producerRegionsStore = new AsyncLocalStorage();
|
|
38496
38264
|
function withProducerRegions(evidence, fn) {
|
|
38497
38265
|
return producerRegionsStore.run(evidence, fn);
|
|
@@ -38514,8 +38282,7 @@ function inheritProducerRegions(own, inherited) {
|
|
|
38514
38282
|
};
|
|
38515
38283
|
}
|
|
38516
38284
|
|
|
38517
|
-
|
|
38518
|
-
//#region src/deployment/rollback-executor/replay-secrets.ts
|
|
38285
|
+
// src/deployment/rollback-executor/replay-secrets.ts
|
|
38519
38286
|
function replayProducerRegionEvidence(ctx) {
|
|
38520
38287
|
return {
|
|
38521
38288
|
regions: ctx.importedProducerRegions ?? [],
|
|
@@ -38629,8 +38396,7 @@ function isPlainRecord$1(value) {
|
|
|
38629
38396
|
return typeof value === "object" && value !== null && !Array.isArray(value) && hasPlainPrototype$1(value);
|
|
38630
38397
|
}
|
|
38631
38398
|
|
|
38632
|
-
|
|
38633
|
-
//#region src/deployment/type-change-guard.ts
|
|
38399
|
+
// src/deployment/type-change-guard.ts
|
|
38634
38400
|
function equalIdNamesDifferentResources(input) {
|
|
38635
38401
|
if (input.resourceType === "AWS::Lambda::Permission") return permissionsOnDifferentFunctions(input.oldProperties, input.newProperties);
|
|
38636
38402
|
if (input.resourceType !== "AWS::Glue::Table" || input.physicalId === void 0) return false;
|
|
@@ -38688,8 +38454,7 @@ function renderNestedStackTypeChangeRefusal(typeChanges, stackName) {
|
|
|
38688
38454
|
return `Refusing to deploy ${stackName}: ` + (typeChanges.length === 1 ? `a resource changes its Type ` : `${typeChanges.length} resources change their Type `) + `into or out of ${NESTED_STACK_RESOURCE_TYPE}, which cdkd does not replace in place.\n${rows.join("\n")}\n Deploy this as two changes instead: give the new resource a DIFFERENT logical id (in CDK, rename the construct) so the existing row is deleted through its own type's provider and the new one is created under its own — or remove the resource in one deploy and add its replacement in the next. There is no flag that overrides this refusal.`;
|
|
38689
38455
|
}
|
|
38690
38456
|
|
|
38691
|
-
|
|
38692
|
-
//#region src/deployment/rollback-executor/orphan-identity.ts
|
|
38457
|
+
// src/deployment/rollback-executor/orphan-identity.ts
|
|
38693
38458
|
const UNIQUE_PHYSICAL_ID_TYPES = /* @__PURE__ */ new Set([
|
|
38694
38459
|
"AWS::EC2::VPC",
|
|
38695
38460
|
"AWS::EC2::Subnet",
|
|
@@ -38779,8 +38544,7 @@ async function askForeignHolder(foreignHolder, op) {
|
|
|
38779
38544
|
}
|
|
38780
38545
|
}
|
|
38781
38546
|
|
|
38782
|
-
|
|
38783
|
-
//#region src/deployment/rollback-executor/plan.ts
|
|
38547
|
+
// src/deployment/rollback-executor/plan.ts
|
|
38784
38548
|
function journaledOldTypes(op) {
|
|
38785
38549
|
return {
|
|
38786
38550
|
stamped: nonEmptyString(op.previousResourceType) ? op.previousResourceType : void 0,
|
|
@@ -39202,8 +38966,7 @@ function someStringLeaf(value, test, depth = 0) {
|
|
|
39202
38966
|
return (Array.isArray(value) ? value : Object.values(value)).some((child) => someStringLeaf(child, test, depth + 1));
|
|
39203
38967
|
}
|
|
39204
38968
|
|
|
39205
|
-
|
|
39206
|
-
//#region src/deployment/rollback-executor/replay-noecho.ts
|
|
38969
|
+
// src/deployment/rollback-executor/replay-noecho.ts
|
|
39207
38970
|
const NOECHO_REPLAY_READBACK_TIMEOUT_MS = 3e4;
|
|
39208
38971
|
const NESTED_STACK_TYPE$3 = "AWS::CloudFormation::Stack";
|
|
39209
38972
|
function coordinatePath(coordinate) {
|
|
@@ -39367,8 +39130,7 @@ function maskRestoredNoEchoRecord(record, baseline, substituted = []) {
|
|
|
39367
39130
|
};
|
|
39368
39131
|
}
|
|
39369
39132
|
|
|
39370
|
-
|
|
39371
|
-
//#region src/deployment/rollback-executor/replay-props.ts
|
|
39133
|
+
// src/deployment/rollback-executor/replay-props.ts
|
|
39372
39134
|
async function resolveReplayProps(props, resolvers, secrets, execCtx, logicalId, record) {
|
|
39373
39135
|
if (props === void 0) return void 0;
|
|
39374
39136
|
const recordedRegions = recordedReferenceRegions(record);
|
|
@@ -39468,8 +39230,7 @@ function refuseMaskedReplayBaseline(props, logicalId, inert = []) {
|
|
|
39468
39230
|
throw new CdkdError(`Cannot roll ${shownLogicalId(logicalId)} back: its recorded baseline holds the redaction mask ('${"***"}'), so cdkd would write that literal to the live resource. There are five ways a baseline comes to hold it. (1) A NoEcho custom-resource value was resolved there: restore the property with 'cdkd deploy' AFTER forcing that custom resource to update (change one of its properties, e.g. a nonce), so its handler runs again and supplies the real value — an ordinary re-deploy leaves the resource unchanged, so the handler does not run and the mask stays. (2) The Fn::Base64 encoding of a secret value (a {{resolve:...}} dynamic reference under Fn::Base64, such as EC2 UserData), which cdkd never records: restore the property with a 'cdkd deploy' that changes this resource, which sends it the encoded value again — a re-deploy that leaves this resource unchanged sends it nothing. Every rollback to such a baseline refuses, so to end this, stop encoding the secret into the property (have the resource read the secret at run time instead — not by writing the secret's plaintext into the template, which cdkd would then record in state in the clear). (3) The value was SPLICED from a masked record of ANOTHER resource — by 'cdkd orphan --force', or by 'cdkd import' resolving an Fn::GetAtt or a Ref over a value the Cloud Control fallback had masked. Repair the record that HOLDS the mask ('cdkd import <stack> --resource <logicalId>=<physicalId> --force', granting cloudformation:DescribeType first if the import warned that it could not read the schema), then re-run whichever command wrote this property. (4) A NoEcho template parameter's value, which cdkd stores only as the mask: restore the property with 'cdkd deploy', which sends the parameter's value again. (5) Two secret values cdkd resolved overlap inside the value, so no single {{resolve:...}} reference renders it and cdkd stored the mask rather than part of a secret: restore the property with a 'cdkd deploy' that changes this resource, which sends it the value again. Every rollback to such a baseline refuses while the two values still overlap there, so to end this, change the property (or rotate one of the secrets) so that they no longer overlap. See https://github.com/go-to-k/cdkd/issues/2449.`, "ROLLBACK_REDACTED_BASELINE");
|
|
39469
39231
|
}
|
|
39470
39232
|
|
|
39471
|
-
|
|
39472
|
-
//#region src/analyzer/drift-normalize.ts
|
|
39233
|
+
// src/analyzer/drift-normalize.ts
|
|
39473
39234
|
function canonicalizeTagListsDeep(v) {
|
|
39474
39235
|
if (Array.isArray(v)) {
|
|
39475
39236
|
const mapped = v.map(canonicalizeTagListsDeep);
|
|
@@ -39556,8 +39317,7 @@ function walkUnordered(v, path, paths) {
|
|
|
39556
39317
|
return v;
|
|
39557
39318
|
}
|
|
39558
39319
|
|
|
39559
|
-
|
|
39560
|
-
//#region src/analyzer/drift-calculator.ts
|
|
39320
|
+
// src/analyzer/drift-calculator.ts
|
|
39561
39321
|
function calculateResourceDrift(stateProperties, awsProperties, options) {
|
|
39562
39322
|
const drifts = [];
|
|
39563
39323
|
const ignore = options?.ignorePaths ?? [];
|
|
@@ -39706,8 +39466,7 @@ function isPlainObject$5(value) {
|
|
|
39706
39466
|
return typeof value === "object" && value !== null;
|
|
39707
39467
|
}
|
|
39708
39468
|
|
|
39709
|
-
|
|
39710
|
-
//#region src/deployment/unsettled-convergence.ts
|
|
39469
|
+
// src/deployment/unsettled-convergence.ts
|
|
39711
39470
|
const MERGE_SEMANTICS_KEYS = /* @__PURE__ */ new Set(["Tags"]);
|
|
39712
39471
|
async function readLive(args, names) {
|
|
39713
39472
|
const { provider, physicalId, logicalId, resourceType, recordedProperties } = args;
|
|
@@ -39804,12 +39563,13 @@ async function unsettledAfterUpdate(args) {
|
|
|
39804
39563
|
const { names, desired, provider } = args;
|
|
39805
39564
|
if (names.size === 0) return [];
|
|
39806
39565
|
try {
|
|
39807
|
-
const moving = provider.unsettledInTransition === void 0 ? /* @__PURE__ */ new Set() : await provider.unsettledInTransition(args.physicalId, args.logicalId, args.resourceType, names, args.recordedProperties);
|
|
39566
|
+
const moving = provider.unsettledInTransition === void 0 ? /* @__PURE__ */ new Set() : await provider.unsettledInTransition(args.physicalId, args.logicalId, args.resourceType, names, args.recordedProperties, desired);
|
|
39808
39567
|
const live = await readLive(args, names);
|
|
39809
39568
|
if (live === void 0) return [...moving].sort();
|
|
39810
39569
|
if (live === "unreadable") return [...names].sort();
|
|
39811
39570
|
const ignorePaths = provider.getDriftUnknownPaths?.(args.resourceType) ?? [];
|
|
39812
39571
|
const unorderedPaths = provider.getDriftUnorderedPaths?.(args.resourceType) ?? [];
|
|
39572
|
+
const canonical = (bag) => provider.canonicalizeUnsettledProperties?.(args.resourceType, bag) ?? bag;
|
|
39813
39573
|
const kept = [];
|
|
39814
39574
|
for (const name of names) {
|
|
39815
39575
|
if (moving.has(name)) {
|
|
@@ -39821,7 +39581,7 @@ async function unsettledAfterUpdate(args) {
|
|
|
39821
39581
|
continue;
|
|
39822
39582
|
}
|
|
39823
39583
|
if (!Object.hasOwn(live, name) || desired[name] === void 0) continue;
|
|
39824
|
-
if (calculateResourceDrift({ [name]: desired[name] }, { [name]: live[name] }, {
|
|
39584
|
+
if (calculateResourceDrift(canonical({ [name]: desired[name] }), canonical({ [name]: live[name] }), {
|
|
39825
39585
|
ignorePaths,
|
|
39826
39586
|
unorderedPaths
|
|
39827
39587
|
}).length > 0) kept.push(name);
|
|
@@ -39884,8 +39644,7 @@ function addedByFailedUpdateWarning(logicalId, resourceType, names) {
|
|
|
39884
39644
|
return safeMsg`${logicalId} (${resourceType}): ${one ? "property" : "properties"} ${names.join(", ")} ${one ? "is" : "are"} set on the resource but in no template: an earlier failed update applied ${one ? "it" : "them"}. cdkd has no default to reset ${one ? "it" : "them"} to, so the value stays; remove it by hand if it should not be there.`;
|
|
39885
39645
|
}
|
|
39886
39646
|
|
|
39887
|
-
|
|
39888
|
-
//#region src/deployment/rollback-executor/replay-retry.ts
|
|
39647
|
+
// src/deployment/rollback-executor/replay-retry.ts
|
|
39889
39648
|
const RECREATE_RETRY_SCHEDULE = {
|
|
39890
39649
|
maxRetries: 8,
|
|
39891
39650
|
initialDelayMs: 2e3,
|
|
@@ -39979,8 +39738,7 @@ function copyClaimingProviderBag(properties) {
|
|
|
39979
39738
|
return isSameGenerationBag(properties) ? markSameGenerationBag(copy) : copy;
|
|
39980
39739
|
}
|
|
39981
39740
|
|
|
39982
|
-
|
|
39983
|
-
//#region src/deployment/rollback-executor/replay-orphan-delete.ts
|
|
39741
|
+
// src/deployment/rollback-executor/replay-orphan-delete.ts
|
|
39984
39742
|
async function replayOrphanFlag(s) {
|
|
39985
39743
|
const { op, stateResources, stackName, ctx, afterOp, logger, mask } = s;
|
|
39986
39744
|
if (op.changeType === "CREATE") {
|
|
@@ -40098,8 +39856,7 @@ async function replayDelete(s) {
|
|
|
40098
39856
|
});
|
|
40099
39857
|
}
|
|
40100
39858
|
|
|
40101
|
-
|
|
40102
|
-
//#region src/deployment/rollback-executor/replay-revert.ts
|
|
39859
|
+
// src/deployment/rollback-executor/replay-revert.ts
|
|
40103
39860
|
async function replayReadopt(s, survivor) {
|
|
40104
39861
|
const { op, stateResources, stackName, ctx, result, inlinePolicyWriters, afterOp, logger, mask } = s;
|
|
40105
39862
|
const oldKind = survivor === void 0 ? "retained" : "surviving";
|
|
@@ -40278,8 +40035,7 @@ async function replayRevert(s) {
|
|
|
40278
40035
|
});
|
|
40279
40036
|
}
|
|
40280
40037
|
|
|
40281
|
-
|
|
40282
|
-
//#region src/deployment/rollback-executor/replay-reverse-replacement.ts
|
|
40038
|
+
// src/deployment/rollback-executor/replay-reverse-replacement.ts
|
|
40283
40039
|
function refuseSameIdParentReversal(s) {
|
|
40284
40040
|
const { op, stateResources, ctx, createdInSegment, orphanLogicalIds } = s;
|
|
40285
40041
|
const children = Object.entries(stateResources).filter(([logicalId, record]) => logicalId !== op.logicalId && !createdInSegment.has(logicalId) && !orphanLogicalIds.has(logicalId) && mayBeStoredIn(record.resourceType, op.resourceType) && (!Array.isArray(record.dependencies) || record.dependencies.includes(op.logicalId))).map(([logicalId]) => logicalId).sort();
|
|
@@ -40677,8 +40433,7 @@ function survivorUnprovenRefusal(s, oldType, verdict) {
|
|
|
40677
40433
|
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")));
|
|
40678
40434
|
}
|
|
40679
40435
|
|
|
40680
|
-
|
|
40681
|
-
//#region src/provisioning/remove-protection-types.ts
|
|
40436
|
+
// src/provisioning/remove-protection-types.ts
|
|
40682
40437
|
const SDK_REMOVE_PROTECTION_TYPES = [
|
|
40683
40438
|
"AWS::Logs::LogGroup",
|
|
40684
40439
|
"AWS::RDS::DBInstance",
|
|
@@ -40703,8 +40458,7 @@ function removeProtectionTypeList() {
|
|
|
40703
40458
|
return `${types.slice(0, -1).join(", ")}, and ${types[types.length - 1]}`;
|
|
40704
40459
|
}
|
|
40705
40460
|
|
|
40706
|
-
|
|
40707
|
-
//#region src/deployment/rollback-executor.ts
|
|
40461
|
+
// src/deployment/rollback-executor.ts
|
|
40708
40462
|
function nonEmptyOrUndefined(items) {
|
|
40709
40463
|
return items.length > 0 ? items : void 0;
|
|
40710
40464
|
}
|
|
@@ -41292,8 +41046,7 @@ async function replayFailedOperations(...args) {
|
|
|
41292
41046
|
return await withProducerRegions(() => replayProducerRegionEvidence(args[3]), () => withStackRecords(replayStackRecordsView(args[1]), () => replayFailedOperationsUnbound(...args)));
|
|
41293
41047
|
}
|
|
41294
41048
|
|
|
41295
|
-
|
|
41296
|
-
//#region src/deployment/deploy-engine/observed-capture.ts
|
|
41049
|
+
// src/deployment/deploy-engine/observed-capture.ts
|
|
41297
41050
|
var ObservedCapture = class {
|
|
41298
41051
|
observedCaptureTasks = /* @__PURE__ */ new Map();
|
|
41299
41052
|
recapturedBaselines = /* @__PURE__ */ new WeakMap();
|
|
@@ -41519,8 +41272,7 @@ function stampReasonlessParameterRefusals(logger, stateResources, template) {
|
|
|
41519
41272
|
if (stamped > 0) logger.debug(safeMsg`${stamped} resource(s) carry an observed-baseline refusal recorded without a reason by an older cdkd, and their template definition reads a template parameter: treated as an unverifiable-parameter refusal (kept until the resource is replaced or re-imported against a CloudFormation stack that proves the parameter).`);
|
|
41520
41273
|
}
|
|
41521
41274
|
|
|
41522
|
-
|
|
41523
|
-
//#region src/deployment/deploy-engine/attribute-healer.ts
|
|
41275
|
+
// src/deployment/deploy-engine/attribute-healer.ts
|
|
41524
41276
|
var AttributeHealer = class {
|
|
41525
41277
|
heals = /* @__PURE__ */ new Map();
|
|
41526
41278
|
healed = /* @__PURE__ */ new Map();
|
|
@@ -41606,8 +41358,7 @@ function healPrintingBag(baseline, logicalId, resource, namingSecrets) {
|
|
|
41606
41358
|
return hit.judge(logicalId);
|
|
41607
41359
|
}
|
|
41608
41360
|
|
|
41609
|
-
|
|
41610
|
-
//#region src/state/pending-moves.ts
|
|
41361
|
+
// src/state/pending-moves.ts
|
|
41611
41362
|
function pendingMovesOutOf(state) {
|
|
41612
41363
|
const raw = state.pendingMovesOut;
|
|
41613
41364
|
if (raw === void 0) return {
|
|
@@ -41641,8 +41392,7 @@ function refusePendingMovesOut(state, stackName, region, command) {
|
|
|
41641
41392
|
throw markNonRetryable(new CdkdError(pendingMovesRefusalMessage(state, stackName, region, command), "REFACTOR_UNFINISHED"));
|
|
41642
41393
|
}
|
|
41643
41394
|
|
|
41644
|
-
|
|
41645
|
-
//#region src/state/refactor-marker.ts
|
|
41395
|
+
// src/state/refactor-marker.ts
|
|
41646
41396
|
function refactorMarkerMovesOf(body) {
|
|
41647
41397
|
const raw = body?.moves;
|
|
41648
41398
|
if (body === null || typeof body !== "object" || !Array.isArray(raw)) return {
|
|
@@ -41736,8 +41486,7 @@ function sameMove(a, b) {
|
|
|
41736
41486
|
return a.fromStack === b.fromStack && a.fromRegion === b.fromRegion && a.from === b.from;
|
|
41737
41487
|
}
|
|
41738
41488
|
|
|
41739
|
-
|
|
41740
|
-
//#region src/deployment/deploy-engine/superseded-retry.ts
|
|
41489
|
+
// src/deployment/deploy-engine/superseded-retry.ts
|
|
41741
41490
|
async function retryCarriedSupersededResources(engine, host, carried, resources, options = {}) {
|
|
41742
41491
|
let changed = false;
|
|
41743
41492
|
if (carried.length === 0) return changed;
|
|
@@ -41799,8 +41548,7 @@ async function retryCarriedSupersededResources(engine, host, carried, resources,
|
|
|
41799
41548
|
return changed;
|
|
41800
41549
|
}
|
|
41801
41550
|
|
|
41802
|
-
|
|
41803
|
-
//#region src/provisioning/name-lookup.ts
|
|
41551
|
+
// src/provisioning/name-lookup.ts
|
|
41804
41552
|
const inFlight = /* @__PURE__ */ new Map();
|
|
41805
41553
|
const waiting = /* @__PURE__ */ new Map();
|
|
41806
41554
|
async function withApiLimit(api, max, fn) {
|
|
@@ -41837,8 +41585,7 @@ function isAccessDeniedError(error) {
|
|
|
41837
41585
|
return name === "AccessDenied" || name === "AccessDeniedException" || name === "AuthorizationError" || name === "UnauthorizedOperation" || status === 403;
|
|
41838
41586
|
}
|
|
41839
41587
|
|
|
41840
|
-
|
|
41841
|
-
//#region src/deployment/generated-name-guard.ts
|
|
41588
|
+
// src/deployment/generated-name-guard.ts
|
|
41842
41589
|
const GROUP_WINDOW_MS = 15;
|
|
41843
41590
|
const DEFAULT_TIMING = {
|
|
41844
41591
|
now: () => Date.now(),
|
|
@@ -42454,8 +42201,7 @@ async function lookupType(input, resourceType, group) {
|
|
|
42454
42201
|
});
|
|
42455
42202
|
}
|
|
42456
42203
|
|
|
42457
|
-
|
|
42458
|
-
//#region src/utils/resource-line.ts
|
|
42204
|
+
// src/utils/resource-line.ts
|
|
42459
42205
|
function formatResourceLine(op, logicalId, resourceType, verbOverride) {
|
|
42460
42206
|
const body = `${bold(displaySafe(logicalId))} ${gray(`(${displaySafe(resourceType)})`)}`;
|
|
42461
42207
|
const verb = verbOverride === void 0 ? void 0 : displaySafe(verbOverride);
|
|
@@ -42467,8 +42213,7 @@ function formatResourceLine(op, logicalId, resourceType, verbOverride) {
|
|
|
42467
42213
|
}
|
|
42468
42214
|
}
|
|
42469
42215
|
|
|
42470
|
-
|
|
42471
|
-
//#region src/deployment/rollback-executor/journaled-orphans.ts
|
|
42216
|
+
// src/deployment/rollback-executor/journaled-orphans.ts
|
|
42472
42217
|
const NONE = {
|
|
42473
42218
|
segments: [],
|
|
42474
42219
|
count: 0
|
|
@@ -42918,8 +42663,7 @@ function sameJournaledOrphans(a, b) {
|
|
|
42918
42663
|
return ka.length === kb.length && ka.every((k, i) => k === kb[i]);
|
|
42919
42664
|
}
|
|
42920
42665
|
|
|
42921
|
-
|
|
42922
|
-
//#region src/provisioning/nested-stack-context.ts
|
|
42666
|
+
// src/provisioning/nested-stack-context.ts
|
|
42923
42667
|
const storage = new AsyncLocalStorage();
|
|
42924
42668
|
function withNestedStackContext(ctx, fn) {
|
|
42925
42669
|
return storage.run(ctx, fn);
|
|
@@ -42943,8 +42687,7 @@ async function collectNestedChildUnaddressed(fn) {
|
|
|
42943
42687
|
};
|
|
42944
42688
|
}
|
|
42945
42689
|
|
|
42946
|
-
|
|
42947
|
-
//#region src/deployment/nested-child-journal.ts
|
|
42690
|
+
// src/deployment/nested-child-journal.ts
|
|
42948
42691
|
const NESTED_PENDING_PARENT_REASON = "nested-pending-parent";
|
|
42949
42692
|
const NESTED_STACK_TYPE$2 = "AWS::CloudFormation::Stack";
|
|
42950
42693
|
const MAX_NESTED_WALK_DEPTH = 32;
|
|
@@ -43265,8 +43008,7 @@ async function revertNestedChildFromJournal(args) {
|
|
|
43265
43008
|
}
|
|
43266
43009
|
}
|
|
43267
43010
|
|
|
43268
|
-
|
|
43269
|
-
//#region src/deployment/retained-readoption.ts
|
|
43011
|
+
// src/deployment/retained-readoption.ts
|
|
43270
43012
|
function keptUnderGeneratedName(resource) {
|
|
43271
43013
|
if (typeof resource.physicalId !== "string" || resource.physicalId === "") return false;
|
|
43272
43014
|
const property = explicitNamePropertyFor(resource.resourceType);
|
|
@@ -43342,8 +43084,7 @@ var KeptForReadoption = class {
|
|
|
43342
43084
|
}
|
|
43343
43085
|
};
|
|
43344
43086
|
|
|
43345
|
-
|
|
43346
|
-
//#region src/deployment/deploy-engine/delete.ts
|
|
43087
|
+
// src/deployment/deploy-engine/delete.ts
|
|
43347
43088
|
const keptByEngine = /* @__PURE__ */ new WeakMap();
|
|
43348
43089
|
async function flushKeptForReadoption(engine) {
|
|
43349
43090
|
await keptByEngine.get(engine)?.flush();
|
|
@@ -43503,8 +43244,7 @@ Drop the record with: ${dropCommand}`);
|
|
|
43503
43244
|
deps.logger.info(safeMsg`${deletePrefix}${formatResourceLine("deleted", logicalId, resourceType)}`);
|
|
43504
43245
|
}
|
|
43505
43246
|
|
|
43506
|
-
|
|
43507
|
-
//#region src/deployment/cc-pending-requests.ts
|
|
43247
|
+
// src/deployment/cc-pending-requests.ts
|
|
43508
43248
|
function hasPendingCloudControlRequest(op) {
|
|
43509
43249
|
return op.pendingCloudControlRequest !== void 0;
|
|
43510
43250
|
}
|
|
@@ -43667,8 +43407,7 @@ function withoutPendingRequest(op) {
|
|
|
43667
43407
|
return rest;
|
|
43668
43408
|
}
|
|
43669
43409
|
|
|
43670
|
-
|
|
43671
|
-
//#region src/deployment/orphan-adoption.ts
|
|
43410
|
+
// src/deployment/orphan-adoption.ts
|
|
43672
43411
|
function templateStillDeclares(template, record, nameProperties) {
|
|
43673
43412
|
const declared = template.Resources?.[record.logicalId];
|
|
43674
43413
|
if (!declared) return false;
|
|
@@ -43816,8 +43555,7 @@ function makeSiblingClaimReader(params) {
|
|
|
43816
43555
|
};
|
|
43817
43556
|
}
|
|
43818
43557
|
|
|
43819
|
-
|
|
43820
|
-
//#region src/deployment/deploy-engine/rollback.ts
|
|
43558
|
+
// src/deployment/deploy-engine/rollback.ts
|
|
43821
43559
|
function redactOperationsForJournal(deps, operations) {
|
|
43822
43560
|
return operations.map((op) => {
|
|
43823
43561
|
const secrets = deps.secretsRun().perResourceSecrets.get(op.logicalId);
|
|
@@ -44362,8 +44100,7 @@ async function orphanUntakenResumes(deps, stackName, finalResources) {
|
|
|
44362
44100
|
}
|
|
44363
44101
|
}
|
|
44364
44102
|
|
|
44365
|
-
|
|
44366
|
-
//#region src/provisioning/canonicalize-properties.ts
|
|
44103
|
+
// src/provisioning/canonicalize-properties.ts
|
|
44367
44104
|
function makeCanonicalizePropertiesFn(registry) {
|
|
44368
44105
|
const logger = getLogger().child("canonicalize-properties");
|
|
44369
44106
|
return (resourceType, properties) => {
|
|
@@ -44377,8 +44114,7 @@ function makeCanonicalizePropertiesFn(registry) {
|
|
|
44377
44114
|
};
|
|
44378
44115
|
}
|
|
44379
44116
|
|
|
44380
|
-
|
|
44381
|
-
//#region src/deployment/no-change-outputs-merge.ts
|
|
44117
|
+
// src/deployment/no-change-outputs-merge.ts
|
|
44382
44118
|
function isSecretBearingReferenceString(value) {
|
|
44383
44119
|
if (typeof value !== "string") return false;
|
|
44384
44120
|
return value.includes("{{resolve:secretsmanager:") || value.includes("{{resolve:ssm-secure:");
|
|
@@ -44452,8 +44188,7 @@ function keptWholeReasonText(reason) {
|
|
|
44452
44188
|
}
|
|
44453
44189
|
}
|
|
44454
44190
|
|
|
44455
|
-
|
|
44456
|
-
//#region src/deployment/output-value-preflight.ts
|
|
44191
|
+
// src/deployment/output-value-preflight.ts
|
|
44457
44192
|
function selectsNoValue(value, conditions, assumed, depth = 0) {
|
|
44458
44193
|
if (depth > 64 || value === null || typeof value !== "object" || Array.isArray(value)) return false;
|
|
44459
44194
|
const keys = Object.keys(value);
|
|
@@ -44474,8 +44209,7 @@ function refuseNoValueOutputs(outputs, conditions) {
|
|
|
44474
44209
|
throw markNonRetryable(/* @__PURE__ */ new Error(`Output ${offending.join(", ")} evaluates to AWS::NoValue, and CloudFormation rejects the template for it ("The Value field of every Outputs member must evaluate to a String") before creating anything. To publish an Output only sometimes, give it a Condition instead of selecting AWS::NoValue in its Value.`));
|
|
44475
44210
|
}
|
|
44476
44211
|
|
|
44477
|
-
|
|
44478
|
-
//#region src/analyzer/security-changes.ts
|
|
44212
|
+
// src/analyzer/security-changes.ts
|
|
44479
44213
|
const RESOURCE_SCRUTINY = {
|
|
44480
44214
|
"AWS::Bedrock::KnowledgeBasePolicy": "ResourcePolicyResource",
|
|
44481
44215
|
"AWS::Bedrock::ResourcePolicy": "ResourcePolicyResource",
|
|
@@ -45449,8 +45183,7 @@ function stdoutSupportsColor(env = process.env, argv = process.argv, isTTY = pro
|
|
|
45449
45183
|
return min > 0;
|
|
45450
45184
|
}
|
|
45451
45185
|
|
|
45452
|
-
|
|
45453
|
-
//#region src/analyzer/security-diff.ts
|
|
45186
|
+
// src/analyzer/security-diff.ts
|
|
45454
45187
|
function isSyntheticChange(pc) {
|
|
45455
45188
|
return pc.replacementPropagated === true || pc.inPlacePropagated === true || pc.noEchoPromoted === true || pc.unsettled === true;
|
|
45456
45189
|
}
|
|
@@ -45608,8 +45341,7 @@ function logicalIdToPath(records, template) {
|
|
|
45608
45341
|
return map;
|
|
45609
45342
|
}
|
|
45610
45343
|
|
|
45611
|
-
|
|
45612
|
-
//#region src/deployment/resource-deadline.ts
|
|
45344
|
+
// src/deployment/resource-deadline.ts
|
|
45613
45345
|
var InvalidResourceDeadlineError = class extends Error {
|
|
45614
45346
|
constructor(message) {
|
|
45615
45347
|
super(message);
|
|
@@ -45709,8 +45441,7 @@ function enclosingDeadlineRemainingMs() {
|
|
|
45709
45441
|
return deadlineScope.getStore()?.remainingMs() ?? Number.POSITIVE_INFINITY;
|
|
45710
45442
|
}
|
|
45711
45443
|
|
|
45712
|
-
|
|
45713
|
-
//#region src/deployment/deployment-approval.ts
|
|
45444
|
+
// src/deployment/deployment-approval.ts
|
|
45714
45445
|
const NESTED_STACK_TYPE$1 = "AWS::CloudFormation::Stack";
|
|
45715
45446
|
async function requireDeploymentApproval(args) {
|
|
45716
45447
|
const level = args.options.requireApproval ?? "never";
|
|
@@ -45816,8 +45547,7 @@ function isNoEchoPromotionOnly(change) {
|
|
|
45816
45547
|
return change.changeType === "UPDATE" && (change.attributeChanges?.length ?? 0) === 0 && (change.propertyChanges?.length ?? 0) > 0 && change.propertyChanges.every((pc) => pc.noEchoPromoted === true);
|
|
45817
45548
|
}
|
|
45818
45549
|
|
|
45819
|
-
|
|
45820
|
-
//#region src/deployment/condition-verdicts.ts
|
|
45550
|
+
// src/deployment/condition-verdicts.ts
|
|
45821
45551
|
function conditionInputsFrom(args) {
|
|
45822
45552
|
return (parameter) => {
|
|
45823
45553
|
if (args.unavailable?.has(parameter)) return void 0;
|
|
@@ -46034,8 +45764,7 @@ function conditionVerdictRecordsEqual(a, b) {
|
|
|
46034
45764
|
return names.every((name) => Object.hasOwn(right, name) && left[name].verdict === right[name].verdict && left[name].fingerprint === right[name].fingerprint);
|
|
46035
45765
|
}
|
|
46036
45766
|
|
|
46037
|
-
|
|
46038
|
-
//#region src/utils/nested-template-cycle.ts
|
|
45767
|
+
// src/utils/nested-template-cycle.ts
|
|
46039
45768
|
const NESTED_STACK_TYPE = "AWS::CloudFormation::Stack";
|
|
46040
45769
|
function isAbsoluteAssetPath(p) {
|
|
46041
45770
|
return path.isAbsolute(p) || p.startsWith("/");
|
|
@@ -46175,8 +45904,7 @@ function renderNestedTemplateTreeDefect(defect, stackName, action) {
|
|
|
46175
45904
|
return `The nested template tree under stack ${displayStackName(stackName)} has nested stack ${displayIdent(defect.logicalId)} (reached through ${renderChain(defect.chain)}) with Metadata['aws:asset:path']=${displayAssemblyPath(defect.assetPath)} which is absolute. ${provenance}`;
|
|
46176
45905
|
}
|
|
46177
45906
|
|
|
46178
|
-
|
|
46179
|
-
//#region src/deployment/nested-output-templates.ts
|
|
45907
|
+
// src/deployment/nested-output-templates.ts
|
|
46180
45908
|
function childTemplateLoader(nestedTemplates) {
|
|
46181
45909
|
if (nestedTemplates === void 0) return void 0;
|
|
46182
45910
|
const read = /* @__PURE__ */ new Map();
|
|
@@ -46212,8 +45940,7 @@ function childIndex(template, templatePath) {
|
|
|
46212
45940
|
return index;
|
|
46213
45941
|
}
|
|
46214
45942
|
|
|
46215
|
-
|
|
46216
|
-
//#region src/deployment/recreate-target-promotion.ts
|
|
45943
|
+
// src/deployment/recreate-target-promotion.ts
|
|
46217
45944
|
function recreateTargetIdsFor(recreateTargets, stackName) {
|
|
46218
45945
|
if (recreateTargets === void 0 || recreateTargets.stackName !== stackName) return void 0;
|
|
46219
45946
|
const ids = /* @__PURE__ */ new Set([...recreateTargets.viaCcApi, ...recreateTargets.viaSdkProvider]);
|
|
@@ -46245,8 +45972,7 @@ function promoteRecreateTargets(changes, recreateTargets, stackName) {
|
|
|
46245
45972
|
};
|
|
46246
45973
|
}
|
|
46247
45974
|
|
|
46248
|
-
|
|
46249
|
-
//#region src/deployment/custom-resource-service-token.ts
|
|
45975
|
+
// src/deployment/custom-resource-service-token.ts
|
|
46250
45976
|
const SERVICE_TOKEN_CHANGE_REFUSED = "CUSTOM_RESOURCE_SERVICE_TOKEN_CHANGED";
|
|
46251
45977
|
function uncomparableToken(value) {
|
|
46252
45978
|
if (value === void 0 || value === null || value === "") return "absent";
|
|
@@ -46354,8 +46080,7 @@ function deferredServiceTokenWarning(row) {
|
|
|
46354
46080
|
return `${displayIdent(row.logicalId)}: its ServiceToken reads a resource this deploy replaces, creates or updates, or a value this preview cannot resolve. If it resolves to a different ARN than the one recorded, cdkd deploy refuses the update before invoking any handler and rolls back. A replaced backing function is already deleted by then and the rollback re-creates it; if that fails, the record names a function that no longer exists.`;
|
|
46355
46081
|
}
|
|
46356
46082
|
|
|
46357
|
-
|
|
46358
|
-
//#region src/deployment/read-provenance-sources.ts
|
|
46083
|
+
// src/deployment/read-provenance-sources.ts
|
|
46359
46084
|
function isPlainObject$3(value) {
|
|
46360
46085
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
46361
46086
|
}
|
|
@@ -46415,8 +46140,7 @@ function inheritedProvenanceForChildDiff(args) {
|
|
|
46415
46140
|
return out.size === 0 ? void 0 : out;
|
|
46416
46141
|
}
|
|
46417
46142
|
|
|
46418
|
-
|
|
46419
|
-
//#region src/deployment/dag-executor.ts
|
|
46143
|
+
// src/deployment/dag-executor.ts
|
|
46420
46144
|
var DagExecutor = class {
|
|
46421
46145
|
nodes = /* @__PURE__ */ new Map();
|
|
46422
46146
|
logger = getLogger().child("DagExecutor");
|
|
@@ -46542,8 +46266,7 @@ var DagExecutor = class {
|
|
|
46542
46266
|
}
|
|
46543
46267
|
};
|
|
46544
46268
|
|
|
46545
|
-
|
|
46546
|
-
//#region src/analyzer/implicit-delete-deps.ts
|
|
46269
|
+
// src/analyzer/implicit-delete-deps.ts
|
|
46547
46270
|
const IMPLICIT_DELETE_DEPENDENCIES = {
|
|
46548
46271
|
"AWS::EC2::InternetGateway": ["AWS::EC2::VPCGatewayAttachment", "AWS::EC2::NatGateway"],
|
|
46549
46272
|
"AWS::EC2::VPCGatewayAttachment": ["AWS::EC2::NatGateway"],
|
|
@@ -46607,8 +46330,7 @@ function computeImplicitDeleteEdges(resources) {
|
|
|
46607
46330
|
return edges;
|
|
46608
46331
|
}
|
|
46609
46332
|
|
|
46610
|
-
|
|
46611
|
-
//#region src/deployment/deploy-engine/dependencies.ts
|
|
46333
|
+
// src/deployment/deploy-engine/dependencies.ts
|
|
46612
46334
|
function hasPending(executor) {
|
|
46613
46335
|
for (const node of executor.values()) if (node.state === "pending") return true;
|
|
46614
46336
|
return false;
|
|
@@ -46667,8 +46389,7 @@ function addImplicitDeleteDependencies(deleteIds, state, dependedBy, logger) {
|
|
|
46667
46389
|
}
|
|
46668
46390
|
}
|
|
46669
46391
|
|
|
46670
|
-
|
|
46671
|
-
//#region src/deployment/deploy-engine/record-shape.ts
|
|
46392
|
+
// src/deployment/deploy-engine/record-shape.ts
|
|
46672
46393
|
function auditResolvedAssetReferences(options, logicalId, resourceType, resolvedProps) {
|
|
46673
46394
|
const redirect = options.assetRedirect;
|
|
46674
46395
|
if (!redirect) return;
|
|
@@ -46712,8 +46433,7 @@ function secretNamedAttributesField(result, previous) {
|
|
|
46712
46433
|
return names.length > 0 ? { secretNamedAttributes: names } : {};
|
|
46713
46434
|
}
|
|
46714
46435
|
|
|
46715
|
-
|
|
46716
|
-
//#region src/deployment/prior-attempt-scope.ts
|
|
46436
|
+
// src/deployment/prior-attempt-scope.ts
|
|
46717
46437
|
const priorAttemptStore = new AsyncLocalStorage();
|
|
46718
46438
|
function withPriorAttempts(lookup, fn) {
|
|
46719
46439
|
return priorAttemptStore.run(lookup, fn);
|
|
@@ -46796,8 +46516,7 @@ function isRefusedBeforeApplying(error, logicalId) {
|
|
|
46796
46516
|
return false;
|
|
46797
46517
|
}
|
|
46798
46518
|
|
|
46799
|
-
|
|
46800
|
-
//#region src/deployment/label-routing.ts
|
|
46519
|
+
// src/deployment/label-routing.ts
|
|
46801
46520
|
function deriveLabelRouting(change, existingState, registry, forceCcApi = false) {
|
|
46802
46521
|
try {
|
|
46803
46522
|
if (change.changeType === "DELETE") return existingState?.provisionedBy;
|
|
@@ -46813,8 +46532,7 @@ function deriveLabelRouting(change, existingState, registry, forceCcApi = false)
|
|
|
46813
46532
|
}
|
|
46814
46533
|
}
|
|
46815
46534
|
|
|
46816
|
-
|
|
46817
|
-
//#region src/deployment/deploy-engine/routing.ts
|
|
46535
|
+
// src/deployment/deploy-engine/routing.ts
|
|
46818
46536
|
function isPinnedToCcApi(options, stackName, logicalId) {
|
|
46819
46537
|
return options.pinCcApi?.stackName === stackName && options.pinCcApi.logicalIds.has(logicalId);
|
|
46820
46538
|
}
|
|
@@ -46840,8 +46558,7 @@ function preparePropertiesForCcApi(providerRegistry, resourceType, resolvedProps
|
|
|
46840
46558
|
return applyDefaultNameForFallback(logicalId, resourceType, resolvedProps, underivable);
|
|
46841
46559
|
}
|
|
46842
46560
|
|
|
46843
|
-
|
|
46844
|
-
//#region src/deployment/deploy-engine/resolver-context.ts
|
|
46561
|
+
// src/deployment/deploy-engine/resolver-context.ts
|
|
46845
46562
|
function buildResolverContext(deps, base, stackName) {
|
|
46846
46563
|
const recordedSecretValues = /* @__PURE__ */ new Map();
|
|
46847
46564
|
if (deps.options.inheritedSecrets && deps.options.inheritedSecrets.size > 0) inheritNestedStackParameterAssociations(recordedSecretValues, deps.options.inheritedSecrets);
|
|
@@ -46924,8 +46641,7 @@ function maskedInputSources(deps, template, resources, conditions, stackName) {
|
|
|
46924
46641
|
};
|
|
46925
46642
|
}
|
|
46926
46643
|
|
|
46927
|
-
|
|
46928
|
-
//#region src/deployment/deploy-engine/create.ts
|
|
46644
|
+
// src/deployment/deploy-engine/create.ts
|
|
46929
46645
|
async function provisionCreate(engine, logicalId, change, stateResources, stackName, template, parameterValues, conditions, counts, progress) {
|
|
46930
46646
|
const resourceType = change.resourceType;
|
|
46931
46647
|
const renderer = getLiveRenderer();
|
|
@@ -47203,8 +46919,7 @@ async function resumeAbandonedCreate(engine, args) {
|
|
|
47203
46919
|
return result;
|
|
47204
46920
|
}
|
|
47205
46921
|
|
|
47206
|
-
|
|
47207
|
-
//#region src/provisioning/data-delete-intent.ts
|
|
46922
|
+
// src/provisioning/data-delete-intent.ts
|
|
47208
46923
|
const S3_AUTO_DELETE_OBJECTS_TAG = "aws-cdk:auto-delete-objects";
|
|
47209
46924
|
const ECR_AUTO_DELETE_IMAGES_TAG = "aws-cdk:auto-delete-images";
|
|
47210
46925
|
function hasCdkAutoDeleteTag(properties, tagKey) {
|
|
@@ -47220,8 +46935,7 @@ function isTruthyCfnBoolean(value) {
|
|
|
47220
46935
|
return value === true || value === "true";
|
|
47221
46936
|
}
|
|
47222
46937
|
|
|
47223
|
-
|
|
47224
|
-
//#region src/provisioning/dynamodb-ttl.ts
|
|
46938
|
+
// src/provisioning/dynamodb-ttl.ts
|
|
47225
46939
|
function readTtlSpec(spec) {
|
|
47226
46940
|
if (spec === void 0 || spec === null) return {
|
|
47227
46941
|
enabled: false,
|
|
@@ -47287,8 +47001,7 @@ async function sendTtlWaitingOutRateLimit(send, options) {
|
|
|
47287
47001
|
}
|
|
47288
47002
|
}
|
|
47289
47003
|
|
|
47290
|
-
|
|
47291
|
-
//#region src/provisioning/dynamodb-vector-indexes.ts
|
|
47004
|
+
// src/provisioning/dynamodb-vector-indexes.ts
|
|
47292
47005
|
function vectorIndexesByName(value) {
|
|
47293
47006
|
const out = /* @__PURE__ */ new Map();
|
|
47294
47007
|
if (!Array.isArray(value)) return out;
|
|
@@ -47301,7 +47014,7 @@ function vectorIndexesByName(value) {
|
|
|
47301
47014
|
}
|
|
47302
47015
|
function vectorIndexesShapeDetail(value) {
|
|
47303
47016
|
if (value === void 0) return void 0;
|
|
47304
|
-
if (!Array.isArray(value)) return `VectorIndexes must be a list, got ${typeof value}`;
|
|
47017
|
+
if (!Array.isArray(value)) return `VectorIndexes must be a list, got ${value === null ? "null" : typeof value}`;
|
|
47305
47018
|
return value.every((entry) => typeof entry === "object" && entry !== null && !Array.isArray(entry) && typeof entry["IndexName"] === "string") ? void 0 : `every VectorIndexes entry must carry a string IndexName`;
|
|
47306
47019
|
}
|
|
47307
47020
|
function vectorIndexForSend(entry) {
|
|
@@ -47406,8 +47119,7 @@ function vectorIndexesSettled(live) {
|
|
|
47406
47119
|
return (live ?? []).every((d) => d.IndexStatus === void 0 || d.IndexStatus === "ACTIVE");
|
|
47407
47120
|
}
|
|
47408
47121
|
|
|
47409
|
-
|
|
47410
|
-
//#region src/provisioning/dynamodb-index-busy-delete.ts
|
|
47122
|
+
// src/provisioning/dynamodb-index-busy-delete.ts
|
|
47411
47123
|
function maskedLogger(logger, maskSecrets, name) {
|
|
47412
47124
|
if (maskSecrets === void 0) return logger;
|
|
47413
47125
|
const maskedName = name === void 0 || name === "" ? name : maskSecrets(name);
|
|
@@ -47540,8 +47252,7 @@ async function deleteTableWithIndexBusyRetry(opts) {
|
|
|
47540
47252
|
}
|
|
47541
47253
|
}
|
|
47542
47254
|
|
|
47543
|
-
|
|
47544
|
-
//#region src/provisioning/providers/dynamodb-delete-budget.ts
|
|
47255
|
+
// src/provisioning/providers/dynamodb-delete-budget.ts
|
|
47545
47256
|
const DYNAMODB_DELETE_POLL_RTT_MS = 200;
|
|
47546
47257
|
const DYNAMODB_DELETE_POLL_COST_MS = INDEX_SETTLE_POLL_INTERVAL_MS + 200;
|
|
47547
47258
|
const DYNAMODB_DELETE_BUDGET_MS = 156e4;
|
|
@@ -47654,8 +47365,7 @@ function isResourceNotFoundError(error) {
|
|
|
47654
47365
|
return typeof error === "object" && error !== null && error.name === "ResourceNotFoundException";
|
|
47655
47366
|
}
|
|
47656
47367
|
|
|
47657
|
-
|
|
47658
|
-
//#region src/provisioning/dynamodb-contributor-insights.ts
|
|
47368
|
+
// src/provisioning/dynamodb-contributor-insights.ts
|
|
47659
47369
|
const CONTRIBUTOR_INSIGHTS_KEY = "ContributorInsightsSpecification";
|
|
47660
47370
|
function readContributorInsightsSpec(value, path) {
|
|
47661
47371
|
if (value === void 0 || value === null) return { kind: "absent" };
|
|
@@ -47759,8 +47469,7 @@ function reverseMapIndexContributorInsights(status, mode, declaredBlock) {
|
|
|
47759
47469
|
return block;
|
|
47760
47470
|
}
|
|
47761
47471
|
|
|
47762
|
-
|
|
47763
|
-
//#region src/provisioning/dynamodb-replica-settings.ts
|
|
47472
|
+
// src/provisioning/dynamodb-replica-settings.ts
|
|
47764
47473
|
const PITR_KEY = "PointInTimeRecoverySpecification";
|
|
47765
47474
|
const KINESIS_KEY = "KinesisStreamSpecification";
|
|
47766
47475
|
const TABLE_POLICY_KEY = "ResourcePolicy";
|
|
@@ -48289,8 +47998,7 @@ function keepUnreadReplicaMembers(desired, previous) {
|
|
|
48289
47998
|
} : desired;
|
|
48290
47999
|
}
|
|
48291
48000
|
|
|
48292
|
-
|
|
48293
|
-
//#region src/provisioning/dynamodb-stream-members.ts
|
|
48001
|
+
// src/provisioning/dynamodb-stream-members.ts
|
|
48294
48002
|
const STREAM_SPECIFICATION_KEY$1 = "StreamSpecification";
|
|
48295
48003
|
const STREAM_POLICY_KEY = "ResourcePolicy";
|
|
48296
48004
|
const STREAM_TAGS_KEY = "Tags";
|
|
@@ -48487,8 +48195,7 @@ function canonicalJson(value) {
|
|
|
48487
48195
|
return JSON.stringify(value) ?? "null";
|
|
48488
48196
|
}
|
|
48489
48197
|
|
|
48490
|
-
|
|
48491
|
-
//#region src/provisioning/providers/dynamodb-globaltable-provider.ts
|
|
48198
|
+
// src/provisioning/providers/dynamodb-globaltable-provider.ts
|
|
48492
48199
|
function isTableName(id) {
|
|
48493
48200
|
return /^[A-Za-z0-9_.-]{3,255}$/.test(id);
|
|
48494
48201
|
}
|
|
@@ -49094,6 +48801,19 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
49094
48801
|
await new Promise((resolve) => setTimeout(resolve, REPLICA_COPY_RELEASE_POLL_MS));
|
|
49095
48802
|
}
|
|
49096
48803
|
await this.waitForReplicaActive(tableName, region, logicalId, void 0, maskSecrets);
|
|
48804
|
+
const provisionedIndexes = replicaIndexes?.filter((i) => i.ProvisionedThroughputOverride);
|
|
48805
|
+
if (create.ProvisionedThroughputOverride || provisionedIndexes?.length) {
|
|
48806
|
+
await this.waitForGlobalTableSettled(tableName, logicalId, maskSecrets);
|
|
48807
|
+
await this.dynamoDBClient.send(new UpdateTableCommand({
|
|
48808
|
+
TableName: tableName,
|
|
48809
|
+
ReplicaUpdates: [{ Update: {
|
|
48810
|
+
RegionName: region,
|
|
48811
|
+
...create.ProvisionedThroughputOverride && { ProvisionedThroughputOverride: create.ProvisionedThroughputOverride },
|
|
48812
|
+
...provisionedIndexes?.length && { GlobalSecondaryIndexes: provisionedIndexes }
|
|
48813
|
+
} }]
|
|
48814
|
+
}));
|
|
48815
|
+
await this.waitForGlobalTableSettled(tableName, logicalId, maskSecrets);
|
|
48816
|
+
}
|
|
49097
48817
|
if (readReplicaDeletionProtection(replica, region, (message) => this.logger.warn(maskSecrets(message))) === true) await this.setReplicaDeletionProtection(tableName, region, true, logicalId, maskSecrets);
|
|
49098
48818
|
}
|
|
49099
48819
|
async setReplicaDeletionProtection(tableName, region, enabled, logicalId, maskSecrets, budget) {
|
|
@@ -49886,6 +49606,17 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
49886
49606
|
await this.waitForTableActiveAfterUpdate(physicalId, logicalId, void 0, void 0, maskSecrets);
|
|
49887
49607
|
const describeResp = await this.dynamoDBClient.send(new DescribeTableCommand({ TableName: physicalId }));
|
|
49888
49608
|
const tableArn = describeResp.Table?.TableArn;
|
|
49609
|
+
const liveHasCrossRegionReplica = (describeResp.Table?.Replicas ?? []).some((r) => r.RegionName !== void 0 && r.RegionName !== currentRegion);
|
|
49610
|
+
const declaredRegions = declaredCrossRegions(properties, currentRegion);
|
|
49611
|
+
const staysReplicated = liveHasCrossRegionReplica && declaredRegions.length > 0;
|
|
49612
|
+
const literalWriteMoves = staysReplicated && literalWriteSideMoves(properties, previousProperties, currentRegion, describeResp.Table);
|
|
49613
|
+
const statePath = context?.replayingState === true || context?.desiredFromAwsReadback === true;
|
|
49614
|
+
const addsRegionToLiteral = !statePath && properties["BillingMode"] === "PROVISIONED" && !writeSideScaled(properties) && declaredRegions.some((region) => !describeResp.Table?.Replicas?.some((r) => r.RegionName === region));
|
|
49615
|
+
if (literalWriteMoves || addsRegionToLiteral) {
|
|
49616
|
+
const refusal = `AWS::DynamoDB::GlobalTable ${logicalId}: a table with a cross-region replica needs an auto-scaled write side, and this update declares none: CloudFormation refuses a literal WriteCapacityUnits, and DynamoDB refuses every replica update without auto-scaling`;
|
|
49617
|
+
if (statePath) warn(`${refusal}${refusal}. No capacity beyond what a billing flip carries was sent.`);
|
|
49618
|
+
else throw new ProvisioningError(maskSecrets(`${refusal}. Nothing was applied to the table; declare WriteProvisionedThroughputSettings.WriteCapacityAutoScalingSettings`), resourceType, logicalId, physicalId);
|
|
49619
|
+
}
|
|
49889
49620
|
const vectorIndexesChanged = !deepEqual(properties["VectorIndexes"], previousProperties["VectorIndexes"]);
|
|
49890
49621
|
const vectorIndexShape = vectorIndexesShapeDetail(properties["VectorIndexes"]);
|
|
49891
49622
|
if (vectorIndexShape !== void 0 && vectorIndexesChanged) warn(`${vectorIndexShape}; the VectorIndexes change was not applied`);
|
|
@@ -49935,6 +49666,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
49935
49666
|
const desiredCeilings = collectTableOnDemandCeilings(properties, currentRegion, diagnostics, maskSecrets);
|
|
49936
49667
|
const flippingToProvisioned = oldBilling !== newBilling && newBilling === "PROVISIONED";
|
|
49937
49668
|
if (flippingToProvisioned) derivePerCallProvisionedThroughput(properties, currentRegion, "seed", diagnostics, maskSecrets);
|
|
49669
|
+
const tableCapacityChange = !literalWriteMoves && oldBilling === "PROVISIONED" && newBilling === "PROVISIONED" && liveBillingMode === "PROVISIONED" ? readTableCapacityChange(properties, previousProperties, currentRegion, diagnostics, maskSecrets) : void 0;
|
|
49938
49670
|
let desiredGsiUnusable = false;
|
|
49939
49671
|
const onUnusableGsiBlock = (message) => {
|
|
49940
49672
|
desiredGsiUnusable = true;
|
|
@@ -50057,7 +49789,6 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
50057
49789
|
TableName: physicalId,
|
|
50058
49790
|
TableClass: tableClassUpdate
|
|
50059
49791
|
}, tableClassFromTemplate, "TableClass", physicalId, logicalId, maskSecrets);
|
|
50060
|
-
const liveHasCrossRegionReplica = (describeResp.Table?.Replicas ?? []).some((r) => r.RegionName !== void 0 && r.RegionName !== currentRegion);
|
|
50061
49792
|
if (sseUpdate?.KMSMasterKeyId !== void 0 && liveHasCrossRegionReplica) {
|
|
50062
49793
|
deferredSseUpdate = sseUpdate;
|
|
50063
49794
|
deferredSseFromTemplate = sseFromTemplate;
|
|
@@ -50121,33 +49852,47 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
50121
49852
|
}));
|
|
50122
49853
|
await this.waitForTableActiveAfterUpdate(physicalId, logicalId, void 0, void 0, maskSecrets);
|
|
50123
49854
|
}
|
|
50124
|
-
const readBlockOf = (bag) => localReplicaEntry(bag, currentRegion)?.[TABLE_READ_PROVISIONED_KEY] ?? bag[TABLE_READ_PROVISIONED_KEY];
|
|
50125
|
-
if (oldBilling === "PROVISIONED" && newBilling === "PROVISIONED" && liveBillingMode === "PROVISIONED" && (properties[TABLE_READ_PROVISIONED_KEY] !== void 0 || previousProperties[TABLE_READ_PROVISIONED_KEY] !== void 0) && !deepEqual(readBlockOf(properties), readBlockOf(previousProperties))) {
|
|
50126
|
-
const wantRead = coerceCfnInteger(asRecord(readBlockOf(properties))?.["ReadCapacityUnits"]);
|
|
50127
|
-
const liveThroughput = describeResp.Table?.ProvisionedThroughput;
|
|
50128
|
-
if (wantRead !== void 0 && liveThroughput?.WriteCapacityUnits !== void 0 && wantRead !== liveThroughput.ReadCapacityUnits) {
|
|
50129
|
-
markUnsettled(TABLE_READ_PROVISIONED_KEY);
|
|
50130
|
-
await this.dynamoDBClient.send(new UpdateTableCommand({
|
|
50131
|
-
TableName: physicalId,
|
|
50132
|
-
ProvisionedThroughput: {
|
|
50133
|
-
ReadCapacityUnits: wantRead,
|
|
50134
|
-
WriteCapacityUnits: liveThroughput.WriteCapacityUnits
|
|
50135
|
-
}
|
|
50136
|
-
}));
|
|
50137
|
-
await this.waitForTableActiveAfterUpdate(physicalId, logicalId, void 0, void 0, maskSecrets);
|
|
50138
|
-
}
|
|
50139
|
-
}
|
|
50140
49855
|
const writeAutoScalingOld = (previousProperties["WriteProvisionedThroughputSettings"] ?? {})["WriteCapacityAutoScalingSettings"];
|
|
50141
49856
|
const writeAutoScalingNew = (properties["WriteProvisionedThroughputSettings"] ?? {})["WriteCapacityAutoScalingSettings"];
|
|
50142
49857
|
const effectiveNewAutoScaling = oldBilling === "PROVISIONED" && newBilling === "PAY_PER_REQUEST" ? void 0 : writeAutoScalingNew;
|
|
50143
49858
|
const autoScalingApplied = /* @__PURE__ */ new Set();
|
|
50144
|
-
|
|
49859
|
+
const autoScalingMeaningful = newBilling === "PROVISIONED" || oldBilling === "PROVISIONED";
|
|
49860
|
+
if (literalWriteMoves) autoScalingApplied.add(autoScalingTargetKey({
|
|
49861
|
+
dimension: "dynamodb:table:WriteCapacityUnits",
|
|
49862
|
+
region: currentRegion
|
|
49863
|
+
}));
|
|
49864
|
+
if (autoScalingMeaningful && !literalWriteMoves && !deepEqual(writeAutoScalingOld, effectiveNewAutoScaling)) {
|
|
50145
49865
|
await this.applyAutoScalingDiff(physicalId, "dynamodb:table:WriteCapacityUnits", writeAutoScalingOld, effectiveNewAutoScaling, void 0, void 0, void 0, maskSecrets);
|
|
50146
49866
|
autoScalingApplied.add(autoScalingTargetKey({
|
|
50147
49867
|
dimension: "dynamodb:table:WriteCapacityUnits",
|
|
50148
49868
|
region: currentRegion
|
|
50149
49869
|
}));
|
|
50150
49870
|
}
|
|
49871
|
+
if (tableCapacityChange) {
|
|
49872
|
+
const liveThroughput = describeResp.Table?.ProvisionedThroughput;
|
|
49873
|
+
const sendRead = tableCapacityChange.read ?? liveThroughput?.ReadCapacityUnits;
|
|
49874
|
+
const sendWrite = tableCapacityChange.write ?? liveThroughput?.WriteCapacityUnits;
|
|
49875
|
+
const readMoves = sendRead !== liveThroughput?.ReadCapacityUnits;
|
|
49876
|
+
const writeMoves = sendWrite !== liveThroughput?.WriteCapacityUnits;
|
|
49877
|
+
if (sendRead !== void 0 && sendWrite !== void 0 && (readMoves || writeMoves)) {
|
|
49878
|
+
markUnsettled(...readMoves ? tableCapacityChange.readKeys : [], ...writeMoves ? [TABLE_WRITE_PROVISIONED_KEY] : []);
|
|
49879
|
+
await this.dynamoDBClient.send(new UpdateTableCommand(staysReplicated ? {
|
|
49880
|
+
TableName: physicalId,
|
|
49881
|
+
ReplicaUpdates: [{ Update: {
|
|
49882
|
+
RegionName: currentRegion,
|
|
49883
|
+
ProvisionedThroughputOverride: { ReadCapacityUnits: sendRead }
|
|
49884
|
+
} }]
|
|
49885
|
+
} : {
|
|
49886
|
+
TableName: physicalId,
|
|
49887
|
+
ProvisionedThroughput: {
|
|
49888
|
+
ReadCapacityUnits: sendRead,
|
|
49889
|
+
WriteCapacityUnits: sendWrite
|
|
49890
|
+
}
|
|
49891
|
+
}));
|
|
49892
|
+
if (liveHasCrossRegionReplica) await this.waitForGlobalTableSettled(physicalId, logicalId, maskSecrets);
|
|
49893
|
+
else await this.waitForTableActiveAfterUpdate(physicalId, logicalId, void 0, void 0, maskSecrets);
|
|
49894
|
+
}
|
|
49895
|
+
}
|
|
50151
49896
|
const modeUpdate = replicationModeUpdate(properties, previousProperties);
|
|
50152
49897
|
if (modeUpdate === "DISABLED" && readReplicationMode(properties).kind === "absent") await this.sendReplicationMode(physicalId, logicalId, modeUpdate, maskSecrets);
|
|
50153
49898
|
const replicaDiff = diffReplicas(previousProperties["Replicas"] ?? [], properties["Replicas"] ?? []);
|
|
@@ -50229,7 +49974,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
50229
49974
|
TableName: physicalId,
|
|
50230
49975
|
ReplicaUpdates: [{ Update: updateAction }]
|
|
50231
49976
|
}));
|
|
50232
|
-
await this.
|
|
49977
|
+
await this.waitForGlobalTableSettled(physicalId, logicalId, maskSecrets, { region });
|
|
50233
49978
|
}
|
|
50234
49979
|
const addedReplicaRegions = new Set(replicaDiff.added.map((r) => r["Region"]));
|
|
50235
49980
|
if (modeUpdate !== void 0 && readReplicationMode(properties).kind === "usable") await this.sendReplicationMode(physicalId, logicalId, modeUpdate, maskSecrets);
|
|
@@ -50994,12 +50739,15 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
50994
50739
|
let protection;
|
|
50995
50740
|
let disassociationProtection;
|
|
50996
50741
|
let streamArn;
|
|
50742
|
+
let regionalRead;
|
|
50997
50743
|
if (isLocal) {
|
|
50744
|
+
regionalRead = table.ProvisionedThroughput?.ReadCapacityUnits;
|
|
50998
50745
|
protection = table.DeletionProtectionEnabled;
|
|
50999
50746
|
disassociationProtection = table.DisassociationProtectionEnabled;
|
|
51000
50747
|
streamArn = table.LatestStreamArn;
|
|
51001
50748
|
} else try {
|
|
51002
50749
|
const regional = await client.send(new DescribeTableCommand({ TableName: tableNameForSubs }));
|
|
50750
|
+
regionalRead = regional.Table?.ProvisionedThroughput?.ReadCapacityUnits;
|
|
51003
50751
|
protection = regional.Table?.DeletionProtectionEnabled;
|
|
51004
50752
|
disassociationProtection = regional.Table?.DisassociationProtectionEnabled;
|
|
51005
50753
|
streamArn = regional.Table?.LatestStreamArn;
|
|
@@ -51030,6 +50778,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
51030
50778
|
const replicaAutoScalingClient = isLocal ? void 0 : this.getRegionalAutoScalingClient(regionLabel);
|
|
51031
50779
|
const readAutoScaling = await this.readAutoScalingSettings(tableNameForSubs, "dynamodb:table:ReadCapacityUnits", replicaAutoScalingClient);
|
|
51032
50780
|
if (readAutoScaling) entry["ReadProvisionedThroughputSettings"] = { ReadCapacityAutoScalingSettings: readAutoScaling };
|
|
50781
|
+
else if (strictFor("Replicas") && regionalRead !== void 0) entry["ReadProvisionedThroughputSettings"] = { ReadCapacityUnits: regionalRead };
|
|
51033
50782
|
}
|
|
51034
50783
|
return entry;
|
|
51035
50784
|
})));
|
|
@@ -51577,6 +51326,7 @@ const REPLICA_SETTING_MEMBERS = [
|
|
|
51577
51326
|
const REPLICATION_MODE_KEY = "GlobalTableSettingsReplicationMode";
|
|
51578
51327
|
const TABLE_READ_ON_DEMAND_KEY = "ReadOnDemandThroughputSettings";
|
|
51579
51328
|
const TABLE_READ_PROVISIONED_KEY = "ReadProvisionedThroughputSettings";
|
|
51329
|
+
const TABLE_WRITE_PROVISIONED_KEY = "WriteProvisionedThroughputSettings";
|
|
51580
51330
|
function readReplicationMode(properties) {
|
|
51581
51331
|
const replicas = Array.isArray(properties["Replicas"]) ? properties["Replicas"] : [];
|
|
51582
51332
|
const declared = replicas.map((entry) => asRecord(entry)?.[REPLICATION_MODE_KEY]).filter((value) => value !== void 0 && value !== null);
|
|
@@ -51723,6 +51473,41 @@ function derivePerCallProvisionedThroughput(properties, region, source = "min",
|
|
|
51723
51473
|
WriteCapacityUnits: write ?? DEFAULT_CAPACITY_UNITS
|
|
51724
51474
|
};
|
|
51725
51475
|
}
|
|
51476
|
+
function declaredCrossRegions(properties, region) {
|
|
51477
|
+
const replicas = properties["Replicas"];
|
|
51478
|
+
return (Array.isArray(replicas) ? replicas : []).map((replica) => asRecord(replica)?.["Region"]).filter((name) => typeof name === "string" && name !== region);
|
|
51479
|
+
}
|
|
51480
|
+
function writeSideScaled(bag) {
|
|
51481
|
+
return asRecord(bag[TABLE_WRITE_PROVISIONED_KEY])?.["WriteCapacityAutoScalingSettings"] !== void 0;
|
|
51482
|
+
}
|
|
51483
|
+
function literalWriteSideMoves(properties, previousProperties, region, live) {
|
|
51484
|
+
if (properties["BillingMode"] !== "PROVISIONED" || writeSideScaled(properties)) return false;
|
|
51485
|
+
if (writeSideScaled(previousProperties)) return true;
|
|
51486
|
+
if (live?.BillingModeSummary?.BillingMode === "PAY_PER_REQUEST") return true;
|
|
51487
|
+
const change = readTableCapacityChange(properties, previousProperties, region, [], (t) => t);
|
|
51488
|
+
return change.write !== void 0 && change.write !== live?.ProvisionedThroughput?.WriteCapacityUnits || change.read !== void 0 && change.read !== live?.ProvisionedThroughput?.ReadCapacityUnits;
|
|
51489
|
+
}
|
|
51490
|
+
function readTableCapacityChange(properties, previousProperties, region, diagnostics, maskSecrets) {
|
|
51491
|
+
const localBlockOf = (bag) => localReplicaEntry(bag, region)?.[TABLE_READ_PROVISIONED_KEY];
|
|
51492
|
+
const readBlockOf = (bag) => localBlockOf(bag) ?? bag[TABLE_READ_PROVISIONED_KEY];
|
|
51493
|
+
const literal = (block, previousBlock, side, blockName) => {
|
|
51494
|
+
if (deepEqual(block, previousBlock)) return void 0;
|
|
51495
|
+
const settings = asRecord(block);
|
|
51496
|
+
if (settings?.[`${side}CapacityAutoScalingSettings`] !== void 0) return void 0;
|
|
51497
|
+
const units = coerceCfnInteger(settings?.[`${side}CapacityUnits`]);
|
|
51498
|
+
if (units === void 0) reportUnresolvedProvisionedCapacity(block, side, "min", { suppressed: "so cdkd sent no capacity for it and the old value stays on AWS" }, diagnostics, { blockName }, maskSecrets);
|
|
51499
|
+
return units;
|
|
51500
|
+
};
|
|
51501
|
+
const read = literal(readBlockOf(properties), readBlockOf(previousProperties), "Read", localBlockOf(properties) !== void 0 ? `Replicas[local].${TABLE_READ_PROVISIONED_KEY}` : TABLE_READ_PROVISIONED_KEY);
|
|
51502
|
+
const write = literal(properties[TABLE_WRITE_PROVISIONED_KEY], previousProperties[TABLE_WRITE_PROVISIONED_KEY], "Write", TABLE_WRITE_PROVISIONED_KEY);
|
|
51503
|
+
const declaredOnReplica = localBlockOf(properties) !== void 0 || localBlockOf(previousProperties) !== void 0;
|
|
51504
|
+
const declaredOnTable = properties[TABLE_READ_PROVISIONED_KEY] !== void 0 || previousProperties[TABLE_READ_PROVISIONED_KEY] !== void 0;
|
|
51505
|
+
return {
|
|
51506
|
+
...read !== void 0 && { read },
|
|
51507
|
+
...write !== void 0 && { write },
|
|
51508
|
+
readKeys: [...declaredOnTable ? [TABLE_READ_PROVISIONED_KEY] : [], ...declaredOnReplica ? ["Replicas"] : []]
|
|
51509
|
+
};
|
|
51510
|
+
}
|
|
51726
51511
|
const DEFAULT_CAPACITY_UNITS = 5;
|
|
51727
51512
|
const DYNAMODB_SCALABLE_DIMENSIONS = /* @__PURE__ */ new Set([
|
|
51728
51513
|
"dynamodb:table:WriteCapacityUnits",
|
|
@@ -52465,8 +52250,7 @@ function lsiListOrEmpty(value) {
|
|
|
52465
52250
|
return value;
|
|
52466
52251
|
}
|
|
52467
52252
|
|
|
52468
|
-
|
|
52469
|
-
//#region src/provisioning/protection-flags.ts
|
|
52253
|
+
// src/provisioning/protection-flags.ts
|
|
52470
52254
|
const PROTECTION_PROPERTY_BY_TYPE = {
|
|
52471
52255
|
"AWS::Logs::LogGroup": "DeletionProtectionEnabled",
|
|
52472
52256
|
"AWS::RDS::DBInstance": "DeletionProtection",
|
|
@@ -52521,8 +52305,7 @@ function isProtectionValueActive(resourceType, value) {
|
|
|
52521
52305
|
return isTruthyCfnBoolean(value);
|
|
52522
52306
|
}
|
|
52523
52307
|
|
|
52524
|
-
|
|
52525
|
-
//#region src/provisioning/recorded-protection.ts
|
|
52308
|
+
// src/provisioning/recorded-protection.ts
|
|
52526
52309
|
const READER_LABELS = {
|
|
52527
52310
|
"AWS::DynamoDB::GlobalTable": "DeletionProtectionEnabled on the table or a replica",
|
|
52528
52311
|
"AWS::ElasticLoadBalancingV2::LoadBalancer": "LoadBalancerAttributes deletion_protection.enabled"
|
|
@@ -52556,8 +52339,7 @@ function recordedProtectionNote(evidence, flags) {
|
|
|
52556
52339
|
return `${evidence}. AWS refuses to delete the resource while that protection is on, and cdkd deploy has no --remove-protection flag to clear it (only cdkd destroy and cdkd state destroy act on one), so ${flags} alone does not remove the old resource: depending on the replacement order, the deploy either fails at that delete or completes leaving the old resource, and its data, in AWS and no longer tracked by cdkd. Read ${DELETION_PROTECTION_DOC_POINTER} before you disable anything, then turn the protection off out of band (the console, or the service's own API) and re-run with ${flags}.`;
|
|
52557
52340
|
}
|
|
52558
52341
|
|
|
52559
|
-
|
|
52560
|
-
//#region src/deployment/deploy-engine/update-replace.ts
|
|
52342
|
+
// src/deployment/deploy-engine/update-replace.ts
|
|
52561
52343
|
async function updateByReplacement(engine, { change, counts, currentProps, currentResource, dependencies, logicalId, oldResourceType, progress, propertyDrivenReplacement, recreateFlagged, recreateViaCcApi, recreateViaSdkProvider, renderer, resolvedProps, resourceType, stackName, stateResources, template, typeChanged, updateReplacePolicy, updateSecrets, lostWithParent, nameGenerationFields }) {
|
|
52562
52344
|
const noEchoDeleteValues = await noEchoDeleteValuesFromResolved({
|
|
52563
52345
|
record: currentResource,
|
|
@@ -52834,8 +52616,7 @@ async function updateByReplacement(engine, { change, counts, currentProps, curre
|
|
|
52834
52616
|
engine.logger.info(replacedLine);
|
|
52835
52617
|
}
|
|
52836
52618
|
|
|
52837
|
-
|
|
52838
|
-
//#region src/provisioning/cc-autoroute-update-remedy.ts
|
|
52619
|
+
// src/provisioning/cc-autoroute-update-remedy.ts
|
|
52839
52620
|
const TYPE_FORMAT = /^[A-Z][A-Za-z0-9]+(::[A-Z][A-Za-z0-9]+)+$/;
|
|
52840
52621
|
const PROPERTY_FORMAT = /^[A-Z][A-Za-z0-9]*$/;
|
|
52841
52622
|
const LOGICAL_ID_FORMAT = /^[A-Za-z][A-Za-z0-9]{0,254}$/;
|
|
@@ -52850,8 +52631,7 @@ function ccAutoRouteUpdateFailureRemedy(logicalId, resourceType, autoRoutedPrope
|
|
|
52850
52631
|
return `\nThis update moved the resource from its SDK provider to Cloud Control API, because the SDK provider does not handle ${shown}. Cloud Control addresses it by the physical id the SDK provider recorded, and for some types that is not an identifier Cloud Control accepts. ` + (nestedChild ? `It is in a nested stack, which --recreate-via-cc-api cannot address: ${preferSdk}, or remove ${them} from the template.` : `Two ways through: re-create the resource on Cloud Control with --recreate-via-cc-api ${id} (destroys and re-creates it), or ${preferSdk}.`);
|
|
52851
52632
|
}
|
|
52852
52633
|
|
|
52853
|
-
|
|
52854
|
-
//#region src/deployment/deploy-engine/update-in-place.ts
|
|
52634
|
+
// src/deployment/deploy-engine/update-in-place.ts
|
|
52855
52635
|
async function updateInPlace(engine, { changedProperties, conditions, counts, currentProps, currentPropsAsWritten, currentResource, dependencies, desiredForSkipCheckAsWritten, logicalId, noEchoHeldPaths, parameterValues, progress, renderer, resolvedProps, resourceType, stackName, stateResources, template, updateReplacePolicy, updateSecrets, reattach }) {
|
|
52856
52636
|
engine.logger.debug(safeMsg`Updating ${logicalId} (${resourceType})`);
|
|
52857
52637
|
const updateDecision = engine.providerRegistry.getProviderFor({
|
|
@@ -53249,12 +53029,10 @@ async function updateInPlace(engine, { changedProperties, conditions, counts, cu
|
|
|
53249
53029
|
engine.logger.info(safeMsg`${updatePrefix}${formatResourceLine("updated", logicalId, resourceType)}`);
|
|
53250
53030
|
}
|
|
53251
53031
|
|
|
53252
|
-
|
|
53253
|
-
//#region src/provisioning/changed-properties-consumers.ts
|
|
53032
|
+
// src/provisioning/changed-properties-consumers.ts
|
|
53254
53033
|
const CHANGED_PROPERTIES_CONSUMER_TYPES = /* @__PURE__ */ new Set(["AWS::ServiceDiscovery::Service"]);
|
|
53255
53034
|
|
|
53256
|
-
|
|
53257
|
-
//#region src/deployment/deploy-engine/read-provenance-moved.ts
|
|
53035
|
+
// src/deployment/deploy-engine/read-provenance-moved.ts
|
|
53258
53036
|
function occurrences(value, token) {
|
|
53259
53037
|
if (typeof value === "string") return value.includes(token) ? value.split(token).length - 1 : 0;
|
|
53260
53038
|
if (Array.isArray(value)) {
|
|
@@ -53365,8 +53143,7 @@ function withRefreshedReadVersions(record, unchanged) {
|
|
|
53365
53143
|
return withReferenceProvenance(record, out);
|
|
53366
53144
|
}
|
|
53367
53145
|
|
|
53368
|
-
|
|
53369
|
-
//#region src/deployment/deploy-engine/update.ts
|
|
53146
|
+
// src/deployment/deploy-engine/update.ts
|
|
53370
53147
|
function isWhollyMask(value) {
|
|
53371
53148
|
if (value === "***") return true;
|
|
53372
53149
|
if (Array.isArray(value)) return value.length > 0 && value.every(isWhollyMask);
|
|
@@ -54050,8 +53827,7 @@ function readsProducerReplacedThisRun(engine, template, logicalId, stateResource
|
|
|
54050
53827
|
});
|
|
54051
53828
|
}
|
|
54052
53829
|
|
|
54053
|
-
|
|
54054
|
-
//#region src/deployment/deploy-engine/provision.ts
|
|
53830
|
+
// src/deployment/deploy-engine/provision.ts
|
|
54055
53831
|
const NESTED_STACK_ROW_TYPE = "AWS::CloudFormation::Stack";
|
|
54056
53832
|
async function provisionResource(engine, logicalId, change, stateResources, stackName, template, parameterValues, conditions, counts, progress) {
|
|
54057
53833
|
const resourceType = change.resourceType;
|
|
@@ -54232,8 +54008,7 @@ async function provisionResourceBody(engine, logicalId, change, stateResources,
|
|
|
54232
54008
|
});
|
|
54233
54009
|
}
|
|
54234
54010
|
|
|
54235
|
-
|
|
54236
|
-
//#region src/deployment/deploy-engine/execute.ts
|
|
54011
|
+
// src/deployment/deploy-engine/execute.ts
|
|
54237
54012
|
const NO_REPLACEMENT_ORPHAN_TYPES = /* @__PURE__ */ new Set([
|
|
54238
54013
|
"AWS::CloudFormation::Stack",
|
|
54239
54014
|
"AWS::SQS::QueuePolicy",
|
|
@@ -54874,8 +54649,7 @@ async function journalOrphanIdentity(engine, orphanOp, carried) {
|
|
|
54874
54649
|
}
|
|
54875
54650
|
}
|
|
54876
54651
|
|
|
54877
|
-
|
|
54878
|
-
//#region src/deployment/deploy-engine/deploy-flow.ts
|
|
54652
|
+
// src/deployment/deploy-engine/deploy-flow.ts
|
|
54879
54653
|
const TAIL_WARM_CONNECTIONS = 3;
|
|
54880
54654
|
async function doDeployWithPrefetch(engine, stackName, template, createOnlyPrefetch) {
|
|
54881
54655
|
const startTime = Date.now();
|
|
@@ -55450,8 +55224,7 @@ async function doDeployWithPrefetch(engine, stackName, template, createOnlyPrefe
|
|
|
55450
55224
|
}
|
|
55451
55225
|
}
|
|
55452
55226
|
|
|
55453
|
-
|
|
55454
|
-
//#region src/deployment/deploy-engine.ts
|
|
55227
|
+
// src/deployment/deploy-engine.ts
|
|
55455
55228
|
const EMPTY_SECRETS = /* @__PURE__ */ new Map();
|
|
55456
55229
|
var InterruptedError = class extends Error {
|
|
55457
55230
|
constructor(reason = "user") {
|
|
@@ -55905,6 +55678,5 @@ function sameGenerationClaimsOf(record) {
|
|
|
55905
55678
|
};
|
|
55906
55679
|
}
|
|
55907
55680
|
|
|
55908
|
-
//#endregion
|
|
55909
|
-
export { ECR_AUTO_DELETE_IMAGES_TAG as $, explicitRoleArnOrThrow as $a, printingCorpusOf as $c, wouldReturnToSdkProvider as $i, importableOutputKeys as $l, retiredNameGenerationsAfter as $n, malformedOutputsRefusalMessage as $o, supersededAfterRollback as $r, isStatefulRecreateTargetSync as $s, journaledOrphanLines as $t, resolveApp as $u, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as A, unsettledItemsField as Aa, isMarkedCoordinate as Ac, ownValue as Ad, earliestDefined as Ai, recordProvenPublicExpression as Al, isJournaledOrphan as An, STATE_REGION_DIVERGED as Ao, rollbackOrphanIds as Ar, refuseMalformedResourcesForExport as As, makeSiblingClaimReader as At, describeDockerCapturedOutput as Au, deleteTableWithIndexBusyRetry as B, s3BucketDualStackDomainName as Ba, readsNoEchoSource as Bc, DBPROXY_TAGS_WHAT as Bi, applyCrossPrefixScan as Bl, findNestedStackTypeChanges as Bn, isReadableOrphanRecord as Bo, withStackRecords as Br, unreadableResourceEntries as Bs, getNestedRevertRun as Bt, redactDockerArgvValues as Bu, planContributorInsightsOp as C, isTerminationProtectionPropagationError as Ca, emrClusterInstancesReplaced as Cc, describeJsonParseFailure as Cd, buildFinalSnapshotIdentifier as Ci, splitGetAttStringForm as Cl, settleUnsettledPrevious as Cn, refStateLookupFromResource as Co, maskingRetryLogger as Cr, refuseMalformedResourceEntriesForOrphan as Cs, enclosingDeadlineRemainingMs as Ct, parseBootstrapMarker as Cu, reverseMapTableContributorInsights as D, DiffCalculator as Da, DagBuilder as Dc, hasOwnKey as Dd, isFinalSnapshotError as Di, recordMaskOnlyValuesIn as Dl, equalModuloMask as Dn, passedParameterClassesOf as Do, findRefactorHints as Dr, refuseMalformedResourcePropertiesForOrphan as Ds, keptWholeReasonText as Dt, buildDenyExternalAccessPolicy as Du, reverseMapIndexContributorInsights as E, reEnableInstanceApiTermination as Ea, sameLambdaFunctionAddress as Ec, defineOwnKey as Ed, effectiveDeletionPolicy as Ei, recordMaskOnlyValue as El, equalModuloMarkedMask as En, parameterInputsFor as Eo, formatDestructiveChange as Er, refuseMalformedResourcePropertiesForExport as Es, isSecretBearingReferenceString as Et, validateContainerRepoName as Eu, resolveDynamoDbDeleteBudgetClock as F, IntrinsicFunctionResolver as Fa, noEchoCoordinatesOf as Fc, resolveAssemblyPath as Fd, DeploymentEventsReader as Fi, isLockInfoExpired as Fl, recordUnderIdIsNotOwn as Fn, deployRefusesOrphanRowsReason as Fo, parseMappingFile as Fr, repairMalformedResourceEntriesForReadOnly as Fs, recordRetainedForReadoption as Ft, formatDockerLoginError as Fu, readbackVectorIndexes as G, refuseUnreadableCdkCrossAccountRefs as Ga, redactForState as Gc, tagMapAsList as Gi, withStackInstanceIdWithheld as Gl, redactedDeleteAddressFields as Gn, malformedLocalOutputsWarning as Go, green as Gr, unwrittenCreateOnlyReplacement as Gs, withNestedRevertRun as Gt, warnFinchArgvExposure as Gu, relayedIndexBusyDelete as H, s3BucketWebsiteUrl as Ha, valueAtCoordinate as Hc, planTagDiff as Hi, isAccessDenied$1 as Hl, inheritProducerRegions as Hn, malformedDriftResourcePropertiesWarning as Ho, bold as Hr, findActionableSilentDrops as Hs, recordDisplacedSkips as Ht, redactedDockerCause as Hu, resolveDynamoDbDeleteBudgetMs as I, poisonRenderedSpellingsCollidingIn as Ia, noEchoLeavesOf as Ic, injectAwsRegion as Id, DeploymentEventsStore as Ii, S3StateBackend as Il, replacementNeverSwapped as In, displayLogicalId as Io, proposeRenames as Ir, repairMalformedResourcePropertiesForReadOnly as Is, NESTED_PENDING_PARENT_REASON as It, getDockerCmd as Iu, isTtlAlreadyDisabled as J, recordedOutputReferenceRegions as Ja, carryLogOnlyValues as Jc, stringifyIfAssigned as Ji, describeRegionValueKind as Jl, updatePartialReason as Jn, malformedOrphanRecordsRefusalMessage as Jo, addSuperseded as Jr, hasNoCloudControlHandlers as Js, withNestedStackContext as Jt, Synthesizer as Ju, vectorIndexesForCreate as K, keepHeldTokenProvenance as Ka, recordReferenceProvenanceEntry as Kc, tagPlanWarning as Ki, splitImportedOps as Kl, redactedDeleteAddressSkip as Kn, malformedLocalResourceEntriesWarning as Ko, red as Kr, withoutSilentDropProperties as Ks, collectNestedChildUnaddressed as Kt, AssetManifestLoader as Ku, DELETE_INDEX_WAIT_PROCEED_NOTE as L, isSettledInstanceState as La, noEchoOutputsComparison as Lc, injectedAwsRegionValue as Ld, extractDeploymentEventError as Li, rebuildClientForBucketRegion as Ll, resolveReplacementOldType as Ln, hasReadableOrphans as Lo, awaitInFlightSibling as Lr, repairMalformedResourcesForReadOnly as Ls, displacedOpClause as Lt, isDockerClientEnvKey as Lu, beginDeleteWait as M, unsettledPropertiesOf as Ma, maskReadbackAtCoordinates as Mc, describeFileReadFailure as Md, reserveStackCreateToken as Mi, WHOLE_DYNAMIC_REFERENCE_PATTERN as Ml, planFailedOps as Mn, UNREADABLE_ORPHANS_CONTAINER_ROW as Mo, isPairableType as Mr, repairMalformedOrphanRecordsForReadOnly as Ms, pendingRequestCount as Mt, describeDockerFailure as Mu, compensateRemovedDeletionProtection as N, withUnsettledProperties as Na, maskWholeValue as Nc, displayAssemblyPath as Nd, withCreateTokenLedger as Ni, isSingleDynamicReferenceToken as Nl, planRollback as Nn, UNREADABLE_RESOURCES_MAP_ROW as No, looselyEqual as Nr, repairMalformedOrphansForReadOnly as Ns, resolvePendingCloudControlRequests as Nt, dockerSpawnEnvWithSensitive as Nu, stripIndexContributorInsights as O, INTRINSIC_KEYS as Oa, TemplateParser as Oc, hasPlainPrototype$1 as Od, refusesFinalSnapshot as Oi, recordNoEchoAttributeValues as Ol, undeclaredEmptyObservedKeys as On, declaresNoEcho as Oo, hintSidesOf as Or, refuseMalformedResourcesForDeploy as Os, mergeNoChangeOutputs as Ot, buildDockerImage as Ou, deleteBudgetKey as P, withoutUnsettledProperties as Pa, maskedLeafCoordinatesOf as Pc, renderAssemblyPathEscape as Pd, acquireIdempotencyToken as Pi, LockManager as Pl, recheckFailedPlan as Pn, accountArgs as Po, mappingPairs as Pr, repairMalformedOutputsForReadOnly as Ps, keptForRetainedRecord as Pt, finchSecretArgvRefusal as Pu, sendTtlWaitingOutRateLimit as Q, assertSendableRoleArn as Qa, logOnlyValueCount as Qc, isCustomResource as Qi, hasUnverifiableParameterRefusal as Ql, retiredAfterRollback as Qn, malformedOrphansWarning as Qo, removeSuperseded as Qr, isStatefulRecreateTargetForReplace as Qs, isHandledOrphan as Qt, loadCdkJson as Qu, INDEX_SETTLE_POLL_INTERVAL_MS as R, s3BucketArn as Ra, passedNoEchoParametersOf as Rc, clearBucketRegionCache as Rd, isRefusedByName as Ri, CrossPrefixReadError as Rl, seedsDeleteFirstGuard as Rn, hasReadableOutputs as Ro, destroyStackRecordsView as Rr, unpreviewableOrphanRecords as Rs, displacedPhysicalIdShown as Rt, isMalformedEnvKey as Ru, indexDeclaresContributorInsights as S, ec2InstanceProtectionSite as Sa, ecsServiceLaunchTypeSetOrChanged as Sc, processStackMessages as Sd, PRE_DELETE_SNAPSHOT_TYPES as Si, recordPhysicalNameCopy as Sl, recordAfterRollbackUpdate as Sn, lacksRecordedTableArn as So, DEFAULT_RESOURCE_WARN_AFTER_MS as Sr, refuseMalformedResourceEntriesForImportSave as Ss, enclosingDeadlineExpired as St, isCrossRegionRedirect as Su, readContributorInsightsSpec as T, reDisableInstanceApiTermination as Ta, lambdaFunctionNameForMask as Tc, utf8ByteLength as Td, createPreDeleteFinalSnapshot as Ti, provenPublicValue as Tl, calculateResourceDrift as Tn, withSharedDrainBudget as To, findDestructiveChanges as Tr, refuseMalformedResourcePropertiesForDrift as Ts, diffSecurity as Tt, validateAssetBucketName as Tu, waitForIndexesSettled as U, resolveDynamicReferences as Ua, liveMatchesUnresolvedTokenFrame as Uc, readTagList as Ui, isNotImplemented as Ul, REDACTED_DELETE_ADDRESS_SKIP_REASON as Un, malformedExportNamesWarning as Uo, cyan as Ur, findHandledUnwrittenCreateOnly as Us, revertNestedChildFromJournal as Ut, runDockerForeground as Uu, maskedLogger as V, s3BucketRegionalDomainName as Va, recordedNoEchoValuesOf as Vc, DBPROXY_TAG_OPTIONS as Vi, crossPrefixDeniedWarning as Vl, getCurrentProducerRegions as Vn, isReadableResourceEntry as Vo, replacedDeleteFailureVerdict as Vr, withheldAccountClause as Vs, nestedChildStackName as Vt, redactedCause as Vu, planVectorIndexUpdates as W, producerLookupOver as Wa, markSameGenerationBag as Wc, refuseMalformedDesiredTags as Wi, stackInstanceIdOf as Wl, isRedactedRecordedValue as Wn, malformedExportSourceWarning as Wo, gray as Wr, findSilentDropProperties as Ws, revertedNestedRowIds as Wt, runDockerStreaming as Wu, planTimeToLive as X, applyRoleArnIfSet as Xa, hasMaskableValues as Xc, ProviderRegistry as Xi, hasReadableExportSet as Xl, nameGenerationHighWaterOf as Xn, malformedOrphanRowsKeptWarning as Xo, holdsSupersededResources as Xr, shownType as Xs, dropFailedCommands as Xt, getDefaultStateBucketName as Xu, isTtlRateLimited as Y, recordedReferenceRegions as Ya, createUnionSecretMasker as Yc, CC_BROKEN_REASON as Yi, exportNamesCarriedFrom as Yl, nameGenerationCarriedFrom as Yn, malformedOrphanRecordsWarning as Yo, deleteSupersededEntry as Yr, findReplacedReadersOfRecreateTargets as Ys, deleteJournaledOrphans as Yt, synthesisStatusMessage as Yu, readTtlSpec as Z, assertFlagRoleArn as Za, literalSplitDelimitersOf as Zc, ccBrokenReason as Zi, hasReasonlessBaselineRefusal as Zl, nameScopeOf as Zn, malformedOrphansRefusalMessage as Zo, isSupersededResourceRecord as Zr, MULTI_REGION_RECREATE_BLOCKED_TYPES as Zs, dropFailedHint as Zt, getLegacyStateBucketName as Zu, streamMemberRefusals as _, deleteSkipReason as _a, templateResourceTypes as _c, PARTITION_TABLE as _d, secretNamedAttributeNamesOf as _i, inheritNestedStackParameterAssociations as _l, pendingMovesRefusalMessage as _n, isNamelessDynamicReferenceError as _o, collectDeclaredOutputNames as _r, refuseMalformedResourceAttributesForOrphan as _s, templateIdentity as _t, AssetModeResolver as _u, isProtectionValueActive as a, withPrintingSecrets as aa, toFiniteNumber as ac, resolveUseCdkBootstrapAssets as ad, noEchoComparisonForTemplate as ai, errorCauseChain as al, isAccessDeniedError as an, envCredentialsAreAssumedRole as ao, resourcesNamingDeclaredParameter as ar, malformedScrubResourceEntriesRefusalMessage as as, IMPLICIT_DELETE_DEPENDENCIES as at, stackInstanceIdCarriedFrom as au, CONTRIBUTOR_INSIGHTS_KEY as b, markWaitAbandoned as ba, blockDeviceMappingsDifferOnlyInDeleteOnTermination as bc, AssemblyReader as bd, storedSecretNameNeedles as bi, physicalNameCopiesOf as bl, replayRollback as bn, cfnRefValueFromPhysicalId as bo, bindingSkippedOutputs as br, refuseMalformedResourceEntriesForDestroy as bs, parentSuppliedValues as bt, ensureAssetStorage as bu, DynamoDBGlobalTableProvider as c, customResourceResponseExpirationWarning as ca, configBooleanRefusal as cc, ssmResolvedValueType as cd, withAttemptedItemsMasked as ci, scrubResourceRecord as cl, readRefactorMarker as cn, producerRegionsFromState as co, exportAliasCollisionScrubWarning as cr, refuseDivergentRecordRegionForDestroy as cs, inheritedProvenanceForChildDiff as ct, timePhase as cu, declaredStreamPolicyMember as d, onlySecretReferencesDiffer as da, readConfigString as dc, MIGRATE_TMP_PREFIX as dd, journaledOrphanPrintingBag as di, DYNAMIC_REFERENCE_TOKEN_SCAN as dl, refactorMarkerRefusalMessage as dn, isUnboundTemplateParameter as do, secretSafeKeyDisplay as dr, refuseMalformedOrphanRecordsForDestroy as ds, serviceTokenBlockingReason as dt, stringifyValue as du, waitForLambdaFunctionActive as ea, renderStatefulReason as ec, resolveAutoAssetStorage as ed, supersededHeldByOtherTypeWarning as ei, recordLogOnlyParameterValue as el, loadJournaledOrphans as en, isIamRoleArn as eo, retiredNameGenerationsLeaving as er, malformedOutputsWarning as es, S3_AUTO_DELETE_OBJECTS_TAG as et, importableOutputs as eu, declaredStreamTagsMember as f, unchangedBehindSecretReference as fa, replayWarn as fc, findLargeInlineResources as fd, maskEventTextWithBoundBags as fi, dynamicReferenceTokens as fl, refuseRefactorMarker as fn, parameterTypeMayLoseSecretIdentity as fo, carriedExportAliasExposure as fr, refuseMalformedOrphans as fs, childTemplateLoader as ft, WorkGraph as fu, streamDeclaresTags as g, deleteLeftInPlace as ga, prefetchCreateOnlyPropertyPaths as gc, expectedOwnerParam as gd, secretNamePrintingBags as gi, identityKeyFor as gl, pendingMovesOutOf as gn, carriesFetchableDynamicReference as go, noEchoParameterValueSeed as gr, refuseMalformedOutputsForDestroy as gs, renderNestedTemplateTreeDefect as gt, rewriteTemplateAssetReferences as gu, streamDeclaresPolicy as h, deleteIndeterminateGuards as ha, requireConfigString as hc, decodeListingKey as hd, secretNamePrintingBag as hi, spelledKeysOf as hl, hasPendingMovesOut as hn, carriesDynamicReference as ho, isWholeDynamicReferenceValue as hr, refuseMalformedOutputs as hs, listNestedTemplateRows as ht, loadPublishableAssetManifest as hu, PROTECTION_PROPERTY_BY_TYPE as i, getCurrentResourceSecrets as ia, toCfnInteger as ic, resolveStateBucketWithDefaultAndSource as id, noEchoAttributeNamesOf as ii, createSecretMasker as il, chunks as in, callerEnvCredentials as io, reachableDivergentParameters as ir, malformedResourcesWarning as is, markRefusedBeforeApplying as it, shouldRetainResource as iu, DYNAMODB_DELETE_POLL_COST_MS as j, unsettledItemsOf as ja, maskAtCoordinates as jc, absoluteAssemblyPathEscape as jd, ledgerForStack as ji, wholeStringLeavesOf as jl, isReplacementOrphan as jn, STATE_RESOURCES_MALFORMED as jo, withMovedTo as jr, refuseMalformedState as js, planOrphanAdoption as jt, describeDockerExecFailure as ju, DYNAMODB_DELETE_DEADLINE_MARGIN_MS as k, isUsableAttemptedName as ka, canonicalCoordinates as kc, nullPrototypeRecord as kd, unsupportedFinalSnapshotError as ki, recordNoEchoParameterFreshValue as kl, demoteSupersededOrphans as kn, JSON_LISTING_HOLE_VALUE as ko, movedToHint as kr, refuseMalformedResourcesForDestroy as ks, makeCanonicalizePropertiesFn as kt, resolveDockerContextDirectory as ku, STREAM_POLICY_KEY as l, CloudControlProvider as la, configIntegerRefusal as lc, CFN_TEMPLATE_BODY_LIMIT as ld, createReadOnlyAttributeHealerFactory as li, withPhysicalNameCopies as ll, readRefactorMarkerOnce as ln, regionLessSecretName as lo, secretBearing as lr, refuseMalformedNestedChildOutputs as ls, deferredServiceTokenWarning as lt, AssetPublisher as lu, reverseMapStreamPolicy as m, UNSPECIFIED_SKIP_REASON as ma, requireConfigObject as mc, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as md, orphanRecordsPrintingBag as mi, pathCrossesDottedKey as ml, updateRefactorMarker as mn, isImpossibleEmptyStoredAttribute as mo, exportNameSecretExposure as mr, refuseMalformedOrphansForOrphan as ms, isAbsoluteAssetPath as mt, createAssetRedirectResolver as mu, recordedProtectionEvidence as n, readsNoEchoDeleteValues as na, coerceWarmThroughput as nc, resolveSkipPrefix as nd, supersededResourcesOf as ni, shareLogOnlyValues as nl, sameJournaledOrphans as nn, AWS_CREDENTIAL_ENV_KEYS as no, computeParameterTaint as nr, malformedResourceEntriesWarning as ns, isTruthyCfnBoolean as nt, orphansAfterRollback as nu, perType as o, CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID as oa, coerceCfnBoolean as oc, stateBucketExistenceConfirmed as od, noEchoExactEchoLeavesOf as oi, maskSecretsInError as ol, lookupEachName as on, classifyRecordedSecretRegion as oo, WITHHELD_NAME_DISPLAY as or, malformedStateRefusalMessage as os, computeImplicitDeleteEdges as ot, PhaseClock as ou, planStreamMemberOps as p, RollbackInlinePolicyWriters as pa, requireConfigArray as pc, uploadCfnTemplate as pd, namingSecretsWithRecordedNoEcho as pi, isUncertifiedBaselineMaskPosition as pl, sameMove as pn, getAccountInfo as po, exportNameNoEchoParameters as pr, refuseMalformedOrphansForDestroy as ps, findNestedTemplateTreeDefect as pt, buildAssetRedirectMap as pu, vectorIndexesSettled as q, outputReferenceProvenanceOf as qa, snapshotPassProvenance as qc, definedAttributes as qi, acceptedCreateOnlyDropsOf as ql, updatePartialMessage as qn, malformedLocalResourcesWarning as qo, yellow as qr, NO_CC_HANDLERS_REASON as qs, getCurrentNestedStackContext as qt, getDockerImageBySourceHash as qu, recordedProtectionNote as r, isCustomResourceType as ra, isWarmThroughputDecrease as rc, resolveStateBucketWithDefault as rd, withoutSuperseded as ri, unionOfSecretBags as rl, formatResourceLine as rn, applyCallerIdentityCredentials as ro, namesAnyDeclaredParameter as rr, malformedResourcePropertiesWarning as rs, getPriorAttempts as rt, orphansCarriedFrom as ru, readProtection as s, applyCustomResourceResponseExpiration as sa, coerceCfnInteger as sc, warnDeprecatedNoPrefixCliFlag as sd, noEchoParameterNamesOf as si, maskSecretsInText as sl, withApiLimit as sn, classifyReplaySecretRegion as so, displayTextOrWithheld as sr, previewableOrphanRecords as ss, crossStackOutputProvenanceSource as st, renderPhaseTimings as su, DeployEngine as t, TemplateNoEchoReresolver as ta, WARM_THROUGHPUT_MEMBERS as tc, resolveCaptureObservedState as td, supersededHolderOf as ti, recordLogOnlyValue as tl, makeForeignHolderScan as tn, sendableAssumeRoleCommand as to, withNameGenerationReached as tr, malformedRenderedContainersWarning as ts, hasCdkAutoDeleteTag as tt, isReadableBag as tu, STREAM_TAGS_KEY as u, slowCcOperationTimeoutMs as ua, configStringRefusal as uc, CFN_TEMPLATE_URL_LIMIT as ud, completedReplayEntries as ui, withoutPhysicalNameCopies as ul, refactorMarkerMovesOf as un, coerceParameterTypedValue as uo, secretBearingStateKeyWarning as ur, refuseMalformedOrphanRecords as us, findServiceTokenRefusals as ut, isSensitiveAttributeName as uu, streamPolicyMatchesDeclared as v, withIndeterminateGuard as va, describeTypeWithThrottleRetry as vc, canonicalizeRegion as vd, secretNamedRecordNeedles as vi, recordNestedStackParameterExpressions as vl, refusePendingMovesOut as vn, keepsSecretReferenceToken as vo, collectPublishedOutputNames as vr, refuseMalformedResourceEntries as vs, conditionFingerprint as vt, BOOTSTRAP_MARKER_PREFIX as vu, planIndexContributorInsightsOps as w, observeThenDisableInstanceApiTermination as wa, canonicalLambdaFunctionName as wc, parseFailureDebugDetail as wd, ccRoutedFinalSnapshotError as wi, carriesSecretMask as wl, withUnprovenUnsettled as wn, parseWebACLArn as wo, constructPathOf as wr, refuseMalformedResourcePropertiesForDestroy as ws, withResourceDeadline as wt, readBootstrapMarkerBody as wu, contributorInsightsRefusals as x, disableInstanceApiTermination as xa, dbInstanceEngineChangeIsInPlace as xc, StageLoadError as xd, ATOMIC_FINAL_SNAPSHOT_TYPES as xi, recordAttributeIdCopy as xl, removeProtectionTypeList as xn, isStalePlaceholderArnAttribute as xo, DEFAULT_RESOURCE_TIMEOUT_MS as xr, refuseMalformedResourceEntriesForImport as xs, readRecordedConditionVerdicts as xt, getBootstrapMarkerKey as xu, streamTagsMatchDeclared as y, isWaitAbandonedError as ya, withRetry as yc, derivePartitionAndUrlSuffix as yd, stateSecretNameNeedles as yi, recoverMaskedOutput as yl, replayFailedOperations as yn, AWS_NO_VALUE as yo, isExportAliasCollision as yr, refuseMalformedResourceEntriesForDeploy as ys, conditionInputsFrom as yt, assertAssetBucketRegion as yu, TABLE_INDEX_NOUN as z, s3BucketDomainName as za, readbackPathFor as zc, resolveBucketRegion as zd, markDeleteStarted as zi, CrossPrefixScanCache as zl, orphanNeedsIdentity as zn, hasReadableResources as zo, getStackRecords as zr, unreadableOrphanRecords as zs, dropSettledNestedJournals as zt, partitionSensitiveEnv as zu };
|
|
55910
|
-
//# sourceMappingURL=deploy-engine-ClIUqDQL.js.map
|
|
55681
|
+
export { sendTtlWaitingOutRateLimit as $, assertSendableRoleArn as $a, logOnlyValueCount as $c, isCustomResource as $i, hasUnverifiableParameterRefusal as $l, retiredAfterRollback as $n, malformedOrphansWarning as $o, removeSuperseded as $r, isStatefulRecreateTargetForReplace as $s, isHandledOrphan as $t, loadCdkJson as $u, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as A, isUsableAttemptedName as Aa, canonicalCoordinates as Ac, nullPrototypeRecord as Ad, unsupportedFinalSnapshotError as Ai, recordNoEchoParameterFreshValue as Al, demoteSupersededOrphans as An, JSON_LISTING_HOLE_VALUE as Ao, movedToHint as Ar, refuseMalformedResourcesForDestroy as As, makeCanonicalizePropertiesFn as At, resolveDockerContextDirectory as Au, deleteTableWithIndexBusyRetry as B, s3BucketDomainName as Ba, readbackPathFor as Bc, resolveBucketRegion as Bd, markDeleteStarted as Bi, CrossPrefixScanCache as Bl, orphanNeedsIdentity as Bn, hasReadableResources as Bo, getStackRecords as Br, unreadableOrphanRecords as Bs, dropSettledNestedJournals as Bt, partitionSensitiveEnv as Bu, planContributorInsightsOp as C, ec2InstanceProtectionSite as Ca, ecsServiceLaunchTypeSetOrChanged as Cc, processStackMessages as Cd, PRE_DELETE_SNAPSHOT_TYPES as Ci, recordPhysicalNameCopy as Cl, recordAfterRollbackUpdate as Cn, lacksRecordedTableArn as Co, DEFAULT_RESOURCE_WARN_AFTER_MS as Cr, refuseMalformedResourceEntriesForImportSave as Cs, enclosingDeadlineExpired as Ct, isCrossRegionRedirect as Cu, reverseMapTableContributorInsights as D, reEnableInstanceApiTermination as Da, sameLambdaFunctionAddress as Dc, defineOwnKey as Dd, effectiveDeletionPolicy as Di, recordMaskOnlyValue as Dl, equalModuloMarkedMask as Dn, parameterInputsFor as Do, formatDestructiveChange as Dr, refuseMalformedResourcePropertiesForExport as Ds, isSecretBearingReferenceString as Dt, validateContainerRepoName as Du, reverseMapIndexContributorInsights as E, reDisableInstanceApiTermination as Ea, lambdaFunctionNameForMask as Ec, utf8ByteLength as Ed, createPreDeleteFinalSnapshot as Ei, provenPublicValue as El, calculateResourceDrift as En, withSharedDrainBudget as Eo, findDestructiveChanges as Er, refuseMalformedResourcePropertiesForDrift as Es, diffSecurity as Et, validateAssetBucketName as Eu, resolveDynamoDbDeleteBudgetClock as F, withoutUnsettledProperties as Fa, maskedLeafCoordinatesOf as Fc, renderAssemblyPathEscape as Fd, acquireIdempotencyToken as Fi, LockManager as Fl, recheckFailedPlan as Fn, accountArgs as Fo, mappingPairs as Fr, repairMalformedOutputsForReadOnly as Fs, keptForRetainedRecord as Ft, finchSecretArgvRefusal as Fu, readbackVectorIndexes as G, producerLookupOver as Ga, markSameGenerationBag as Gc, refuseMalformedDesiredTags as Gi, stackInstanceIdOf as Gl, isRedactedRecordedValue as Gn, malformedExportSourceWarning as Go, gray as Gr, findSilentDropProperties as Gs, revertedNestedRowIds as Gt, runDockerStreaming as Gu, relayedIndexBusyDelete as H, s3BucketRegionalDomainName as Ha, recordedNoEchoValuesOf as Hc, DBPROXY_TAG_OPTIONS as Hi, crossPrefixDeniedWarning as Hl, getCurrentProducerRegions as Hn, isReadableResourceEntry as Ho, replacedDeleteFailureVerdict as Hr, withheldAccountClause as Hs, nestedChildStackName as Ht, redactedCause as Hu, resolveDynamoDbDeleteBudgetMs as I, IntrinsicFunctionResolver as Ia, noEchoCoordinatesOf as Ic, resolveAssemblyPath as Id, DeploymentEventsReader as Ii, isLockInfoExpired as Il, recordUnderIdIsNotOwn as In, deployRefusesOrphanRowsReason as Io, parseMappingFile as Ir, repairMalformedResourceEntriesForReadOnly as Is, recordRetainedForReadoption as It, formatDockerLoginError as Iu, vectorIndexesShapeDetail as J, outputReferenceProvenanceOf as Ja, snapshotPassProvenance as Jc, definedAttributes as Ji, acceptedCreateOnlyDropsOf as Jl, updatePartialMessage as Jn, malformedLocalResourcesWarning as Jo, yellow as Jr, NO_CC_HANDLERS_REASON as Js, getCurrentNestedStackContext as Jt, getDockerImageBySourceHash as Ju, vectorIndexesForCreate as K, refuseUnreadableCdkCrossAccountRefs as Ka, redactForState as Kc, tagMapAsList as Ki, withStackInstanceIdWithheld as Kl, redactedDeleteAddressFields as Kn, malformedLocalOutputsWarning as Ko, green as Kr, unwrittenCreateOnlyReplacement as Ks, withNestedRevertRun as Kt, warnFinchArgvExposure as Ku, DELETE_INDEX_WAIT_PROCEED_NOTE as L, poisonRenderedSpellingsCollidingIn as La, noEchoLeavesOf as Lc, injectAwsRegion as Ld, DeploymentEventsStore as Li, S3StateBackend as Ll, replacementNeverSwapped as Ln, displayLogicalId as Lo, proposeRenames as Lr, repairMalformedResourcePropertiesForReadOnly as Ls, NESTED_PENDING_PARENT_REASON as Lt, getDockerCmd as Lu, beginDeleteWait as M, unsettledItemsOf as Ma, maskAtCoordinates as Mc, absoluteAssemblyPathEscape as Md, ledgerForStack as Mi, wholeStringLeavesOf as Ml, isReplacementOrphan as Mn, STATE_RESOURCES_MALFORMED as Mo, withMovedTo as Mr, refuseMalformedState as Ms, planOrphanAdoption as Mt, describeDockerExecFailure as Mu, compensateRemovedDeletionProtection as N, unsettledPropertiesOf as Na, maskReadbackAtCoordinates as Nc, describeFileReadFailure as Nd, reserveStackCreateToken as Ni, WHOLE_DYNAMIC_REFERENCE_PATTERN as Nl, planFailedOps as Nn, UNREADABLE_ORPHANS_CONTAINER_ROW as No, isPairableType as Nr, repairMalformedOrphanRecordsForReadOnly as Ns, pendingRequestCount as Nt, describeDockerFailure as Nu, stripIndexContributorInsights as O, DiffCalculator as Oa, DagBuilder as Oc, hasOwnKey as Od, isFinalSnapshotError as Oi, recordMaskOnlyValuesIn as Ol, equalModuloMask as On, passedParameterClassesOf as Oo, findRefactorHints as Or, refuseMalformedResourcePropertiesForOrphan as Os, keptWholeReasonText as Ot, buildDenyExternalAccessPolicy as Ou, deleteBudgetKey as P, withUnsettledProperties as Pa, maskWholeValue as Pc, displayAssemblyPath as Pd, withCreateTokenLedger as Pi, isSingleDynamicReferenceToken as Pl, planRollback as Pn, UNREADABLE_RESOURCES_MAP_ROW as Po, looselyEqual as Pr, repairMalformedOrphansForReadOnly as Ps, resolvePendingCloudControlRequests as Pt, dockerSpawnEnvWithSensitive as Pu, readTtlSpec as Q, assertFlagRoleArn as Qa, literalSplitDelimitersOf as Qc, ccBrokenReason as Qi, hasReasonlessBaselineRefusal as Ql, nameScopeOf as Qn, malformedOrphansRefusalMessage as Qo, isSupersededResourceRecord as Qr, MULTI_REGION_RECREATE_BLOCKED_TYPES as Qs, dropFailedHint as Qt, getLegacyStateBucketName as Qu, INDEX_SETTLE_POLL_INTERVAL_MS as R, isSettledInstanceState as Ra, noEchoOutputsComparison as Rc, injectedAwsRegionValue as Rd, extractDeploymentEventError as Ri, rebuildClientForBucketRegion as Rl, resolveReplacementOldType as Rn, hasReadableOrphans as Ro, awaitInFlightSibling as Rr, repairMalformedResourcesForReadOnly as Rs, displacedOpClause as Rt, isDockerClientEnvKey as Ru, indexDeclaresContributorInsights as S, disableInstanceApiTermination as Sa, dbInstanceEngineChangeIsInPlace as Sc, StageLoadError as Sd, ATOMIC_FINAL_SNAPSHOT_TYPES as Si, recordAttributeIdCopy as Sl, removeProtectionTypeList as Sn, isStalePlaceholderArnAttribute as So, DEFAULT_RESOURCE_TIMEOUT_MS as Sr, refuseMalformedResourceEntriesForImport as Ss, readRecordedConditionVerdicts as St, getBootstrapMarkerKey as Su, readContributorInsightsSpec as T, observeThenDisableInstanceApiTermination as Ta, canonicalLambdaFunctionName as Tc, parseFailureDebugDetail as Td, ccRoutedFinalSnapshotError as Ti, carriesSecretMask as Tl, withUnprovenUnsettled as Tn, parseWebACLArn as To, constructPathOf as Tr, refuseMalformedResourcePropertiesForDestroy as Ts, withResourceDeadline as Tt, readBootstrapMarkerBody as Tu, waitForIndexesSettled as U, s3BucketWebsiteUrl as Ua, valueAtCoordinate as Uc, planTagDiff as Ui, isAccessDenied$1 as Ul, inheritProducerRegions as Un, malformedDriftResourcePropertiesWarning as Uo, bold as Ur, findActionableSilentDrops as Us, recordDisplacedSkips as Ut, redactedDockerCause as Uu, maskedLogger as V, s3BucketDualStackDomainName as Va, readsNoEchoSource as Vc, DBPROXY_TAGS_WHAT as Vi, applyCrossPrefixScan as Vl, findNestedStackTypeChanges as Vn, isReadableOrphanRecord as Vo, withStackRecords as Vr, unreadableResourceEntries as Vs, getNestedRevertRun as Vt, redactDockerArgvValues as Vu, planVectorIndexUpdates as W, resolveDynamicReferences as Wa, liveMatchesUnresolvedTokenFrame as Wc, readTagList as Wi, isNotImplemented as Wl, REDACTED_DELETE_ADDRESS_SKIP_REASON as Wn, malformedExportNamesWarning as Wo, cyan as Wr, findHandledUnwrittenCreateOnly as Ws, revertNestedChildFromJournal as Wt, runDockerForeground as Wu, isTtlRateLimited as X, recordedReferenceRegions as Xa, createUnionSecretMasker as Xc, CC_BROKEN_REASON as Xi, exportNamesCarriedFrom as Xl, nameGenerationCarriedFrom as Xn, malformedOrphanRecordsWarning as Xo, deleteSupersededEntry as Xr, findReplacedReadersOfRecreateTargets as Xs, deleteJournaledOrphans as Xt, synthesisStatusMessage as Xu, isTtlAlreadyDisabled as Y, recordedOutputReferenceRegions as Ya, carryLogOnlyValues as Yc, stringifyIfAssigned as Yi, describeRegionValueKind as Yl, updatePartialReason as Yn, malformedOrphanRecordsRefusalMessage as Yo, addSuperseded as Yr, hasNoCloudControlHandlers as Ys, withNestedStackContext as Yt, Synthesizer as Yu, planTimeToLive as Z, applyRoleArnIfSet as Za, hasMaskableValues as Zc, ProviderRegistry as Zi, hasReadableExportSet as Zl, nameGenerationHighWaterOf as Zn, malformedOrphanRowsKeptWarning as Zo, holdsSupersededResources as Zr, shownType as Zs, dropFailedCommands as Zt, getDefaultStateBucketName as Zu, streamMemberRefusals as _, deleteLeftInPlace as _a, prefetchCreateOnlyPropertyPaths as _c, expectedOwnerParam as _d, secretNamePrintingBags as _i, identityKeyFor as _l, pendingMovesOutOf as _n, carriesFetchableDynamicReference as _o, noEchoParameterValueSeed as _r, refuseMalformedOutputsForDestroy as _s, renderNestedTemplateTreeDefect as _t, rewriteTemplateAssetReferences as _u, isProtectionValueActive as a, getCurrentResourceSecrets as aa, toCfnInteger as ac, resolveStateBucketWithDefaultAndSource as ad, noEchoAttributeNamesOf as ai, createSecretMasker as al, chunks as an, callerEnvCredentials as ao, reachableDivergentParameters as ar, malformedResourcesWarning as as, markRefusedBeforeApplying as at, shouldRetainResource as au, CONTRIBUTOR_INSIGHTS_KEY as b, isWaitAbandonedError as ba, withRetry as bc, derivePartitionAndUrlSuffix as bd, stateSecretNameNeedles as bi, recoverMaskedOutput as bl, replayFailedOperations as bn, AWS_NO_VALUE as bo, isExportAliasCollision as br, refuseMalformedResourceEntriesForDeploy as bs, conditionInputsFrom as bt, assertAssetBucketRegion as bu, DynamoDBGlobalTableProvider as c, applyCustomResourceResponseExpiration as ca, coerceCfnInteger as cc, warnDeprecatedNoPrefixCliFlag as cd, noEchoParameterNamesOf as ci, maskSecretsInText as cl, withApiLimit as cn, classifyReplaySecretRegion as co, displayTextOrWithheld as cr, previewableOrphanRecords as cs, crossStackOutputProvenanceSource as ct, renderPhaseTimings as cu, declaredStreamPolicyMember as d, slowCcOperationTimeoutMs as da, configStringRefusal as dc, CFN_TEMPLATE_URL_LIMIT as dd, completedReplayEntries as di, withoutPhysicalNameCopies as dl, refactorMarkerMovesOf as dn, coerceParameterTypedValue as do, secretBearingStateKeyWarning as dr, refuseMalformedOrphanRecords as ds, findServiceTokenRefusals as dt, isSensitiveAttributeName as du, wouldReturnToSdkProvider as ea, isStatefulRecreateTargetSync as ec, resolveApp as ed, supersededAfterRollback as ei, printingCorpusOf as el, journaledOrphanLines as en, explicitRoleArnOrThrow as eo, retiredNameGenerationsAfter as er, malformedOutputsRefusalMessage as es, ECR_AUTO_DELETE_IMAGES_TAG as et, importableOutputKeys as eu, declaredStreamTagsMember as f, onlySecretReferencesDiffer as fa, readConfigString as fc, MIGRATE_TMP_PREFIX as fd, journaledOrphanPrintingBag as fi, DYNAMIC_REFERENCE_TOKEN_SCAN as fl, refactorMarkerRefusalMessage as fn, isUnboundTemplateParameter as fo, secretSafeKeyDisplay as fr, refuseMalformedOrphanRecordsForDestroy as fs, serviceTokenBlockingReason as ft, stringifyValue as fu, streamDeclaresTags as g, deleteIndeterminateGuards as ga, requireConfigString as gc, decodeListingKey as gd, secretNamePrintingBag as gi, spelledKeysOf as gl, hasPendingMovesOut as gn, carriesDynamicReference as go, isWholeDynamicReferenceValue as gr, refuseMalformedOutputs as gs, listNestedTemplateRows as gt, loadPublishableAssetManifest as gu, streamDeclaresPolicy as h, UNSPECIFIED_SKIP_REASON as ha, requireConfigObject as hc, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as hd, orphanRecordsPrintingBag as hi, pathCrossesDottedKey as hl, updateRefactorMarker as hn, isImpossibleEmptyStoredAttribute as ho, exportNameSecretExposure as hr, refuseMalformedOrphansForOrphan as hs, isAbsoluteAssetPath as ht, createAssetRedirectResolver as hu, PROTECTION_PROPERTY_BY_TYPE as i, isCustomResourceType as ia, isWarmThroughputDecrease as ic, resolveStateBucketWithDefault as id, withoutSuperseded as ii, unionOfSecretBags as il, formatResourceLine as in, applyCallerIdentityCredentials as io, namesAnyDeclaredParameter as ir, malformedResourcePropertiesWarning as is, getPriorAttempts as it, orphansCarriedFrom as iu, DYNAMODB_DELETE_POLL_COST_MS as j, unsettledItemsField as ja, isMarkedCoordinate as jc, ownValue as jd, earliestDefined as ji, recordProvenPublicExpression as jl, isJournaledOrphan as jn, STATE_REGION_DIVERGED as jo, rollbackOrphanIds as jr, refuseMalformedResourcesForExport as js, makeSiblingClaimReader as jt, describeDockerCapturedOutput as ju, DYNAMODB_DELETE_DEADLINE_MARGIN_MS as k, INTRINSIC_KEYS as ka, TemplateParser as kc, hasPlainPrototype$1 as kd, refusesFinalSnapshot as ki, recordNoEchoAttributeValues as kl, undeclaredEmptyObservedKeys as kn, declaresNoEcho as ko, hintSidesOf as kr, refuseMalformedResourcesForDeploy as ks, mergeNoChangeOutputs as kt, buildDockerImage as ku, STREAM_POLICY_KEY as l, customResourceResponseExpirationWarning as la, configBooleanRefusal as lc, ssmResolvedValueType as ld, withAttemptedItemsMasked as li, scrubResourceRecord as ll, readRefactorMarker as ln, producerRegionsFromState as lo, exportAliasCollisionScrubWarning as lr, refuseDivergentRecordRegionForDestroy as ls, inheritedProvenanceForChildDiff as lt, timePhase as lu, reverseMapStreamPolicy as m, RollbackInlinePolicyWriters as ma, requireConfigArray as mc, uploadCfnTemplate as md, namingSecretsWithRecordedNoEcho as mi, isUncertifiedBaselineMaskPosition as ml, sameMove as mn, getAccountInfo as mo, exportNameNoEchoParameters as mr, refuseMalformedOrphansForDestroy as ms, findNestedTemplateTreeDefect as mt, buildAssetRedirectMap as mu, recordedProtectionEvidence as n, TemplateNoEchoReresolver as na, WARM_THROUGHPUT_MEMBERS as nc, resolveCaptureObservedState as nd, supersededHolderOf as ni, recordLogOnlyValue as nl, makeForeignHolderScan as nn, sendableAssumeRoleCommand as no, withNameGenerationReached as nr, malformedRenderedContainersWarning as ns, hasCdkAutoDeleteTag as nt, isReadableBag as nu, perType as o, withPrintingSecrets as oa, toFiniteNumber as oc, resolveUseCdkBootstrapAssets as od, noEchoComparisonForTemplate as oi, errorCauseChain as ol, isAccessDeniedError as on, envCredentialsAreAssumedRole as oo, resourcesNamingDeclaredParameter as or, malformedScrubResourceEntriesRefusalMessage as os, IMPLICIT_DELETE_DEPENDENCIES as ot, stackInstanceIdCarriedFrom as ou, planStreamMemberOps as p, unchangedBehindSecretReference as pa, replayWarn as pc, findLargeInlineResources as pd, maskEventTextWithBoundBags as pi, dynamicReferenceTokens as pl, refuseRefactorMarker as pn, parameterTypeMayLoseSecretIdentity as po, carriedExportAliasExposure as pr, refuseMalformedOrphans as ps, childTemplateLoader as pt, WorkGraph as pu, vectorIndexesSettled as q, keepHeldTokenProvenance as qa, recordReferenceProvenanceEntry as qc, tagPlanWarning as qi, splitImportedOps as ql, redactedDeleteAddressSkip as qn, malformedLocalResourceEntriesWarning as qo, red as qr, withoutSilentDropProperties as qs, collectNestedChildUnaddressed as qt, AssetManifestLoader as qu, recordedProtectionNote as r, readsNoEchoDeleteValues as ra, coerceWarmThroughput as rc, resolveSkipPrefix as rd, supersededResourcesOf as ri, shareLogOnlyValues as rl, sameJournaledOrphans as rn, AWS_CREDENTIAL_ENV_KEYS as ro, computeParameterTaint as rr, malformedResourceEntriesWarning as rs, isTruthyCfnBoolean as rt, orphansAfterRollback as ru, readProtection as s, CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID as sa, coerceCfnBoolean as sc, stateBucketExistenceConfirmed as sd, noEchoExactEchoLeavesOf as si, maskSecretsInError as sl, lookupEachName as sn, classifyRecordedSecretRegion as so, WITHHELD_NAME_DISPLAY as sr, malformedStateRefusalMessage as ss, computeImplicitDeleteEdges as st, PhaseClock as su, DeployEngine as t, waitForLambdaFunctionActive as ta, renderStatefulReason as tc, resolveAutoAssetStorage as td, supersededHeldByOtherTypeWarning as ti, recordLogOnlyParameterValue as tl, loadJournaledOrphans as tn, isIamRoleArn as to, retiredNameGenerationsLeaving as tr, malformedOutputsWarning as ts, S3_AUTO_DELETE_OBJECTS_TAG as tt, importableOutputs as tu, STREAM_TAGS_KEY as u, CloudControlProvider as ua, configIntegerRefusal as uc, CFN_TEMPLATE_BODY_LIMIT as ud, createReadOnlyAttributeHealerFactory as ui, withPhysicalNameCopies as ul, readRefactorMarkerOnce as un, regionLessSecretName as uo, secretBearing as ur, refuseMalformedNestedChildOutputs as us, deferredServiceTokenWarning as ut, AssetPublisher as uu, streamPolicyMatchesDeclared as v, deleteSkipReason as va, templateResourceTypes as vc, PARTITION_TABLE as vd, secretNamedAttributeNamesOf as vi, inheritNestedStackParameterAssociations as vl, pendingMovesRefusalMessage as vn, isNamelessDynamicReferenceError as vo, collectDeclaredOutputNames as vr, refuseMalformedResourceAttributesForOrphan as vs, templateIdentity as vt, AssetModeResolver as vu, planIndexContributorInsightsOps as w, isTerminationProtectionPropagationError as wa, emrClusterInstancesReplaced as wc, describeJsonParseFailure as wd, buildFinalSnapshotIdentifier as wi, splitGetAttStringForm as wl, settleUnsettledPrevious as wn, refStateLookupFromResource as wo, maskingRetryLogger as wr, refuseMalformedResourceEntriesForOrphan as ws, enclosingDeadlineRemainingMs as wt, parseBootstrapMarker as wu, contributorInsightsRefusals as x, markWaitAbandoned as xa, blockDeviceMappingsDifferOnlyInDeleteOnTermination as xc, AssemblyReader as xd, storedSecretNameNeedles as xi, physicalNameCopiesOf as xl, replayRollback as xn, cfnRefValueFromPhysicalId as xo, bindingSkippedOutputs as xr, refuseMalformedResourceEntriesForDestroy as xs, parentSuppliedValues as xt, ensureAssetStorage as xu, streamTagsMatchDeclared as y, withIndeterminateGuard as ya, describeTypeWithThrottleRetry as yc, canonicalizeRegion as yd, secretNamedRecordNeedles as yi, recordNestedStackParameterExpressions as yl, refusePendingMovesOut as yn, keepsSecretReferenceToken as yo, collectPublishedOutputNames as yr, refuseMalformedResourceEntries as ys, conditionFingerprint as yt, BOOTSTRAP_MARKER_PREFIX as yu, TABLE_INDEX_NOUN as z, s3BucketArn as za, passedNoEchoParametersOf as zc, clearBucketRegionCache as zd, isRefusedByName as zi, CrossPrefixReadError as zl, seedsDeleteFirstGuard as zn, hasReadableOutputs as zo, destroyStackRecordsView as zr, unpreviewableOrphanRecords as zs, displacedPhysicalIdShown as zt, isMalformedEnvKey as zu };
|
|
55682
|
+
//# sourceMappingURL=deploy-engine-NYjdxQWe.js.map
|