@go-to-k/cdkd 0.301.10 → 0.301.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{asg-provider-BEProOyz.js → asg-provider-CUvV78Th.js} +4 -4
- package/dist/{asg-provider-BEProOyz.js.map → asg-provider-CUvV78Th.js.map} +1 -1
- package/dist/{aws-failure-text-BEQfs6za.js → aws-failure-text-YMKku1DS.js} +2 -2
- package/dist/{aws-failure-text-BEQfs6za.js.map → aws-failure-text-YMKku1DS.js.map} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{deploy-engine-BOHXbSq5.js → deploy-engine-C_9bc6wV.js} +39 -35
- package/dist/deploy-engine-C_9bc6wV.js.map +1 -0
- package/dist/{iam-policy-targets-DJmfxbko.js → iam-policy-targets-Df2XcLrn.js} +18 -5
- package/dist/iam-policy-targets-Df2XcLrn.js.map +1 -0
- package/dist/{iam-role-provider-3CUpHJfg.js → iam-role-provider-4NDbgxK0.js} +4 -4
- package/dist/{iam-role-provider-3CUpHJfg.js.map → iam-role-provider-4NDbgxK0.js.map} +1 -1
- package/dist/index.js +4 -4
- package/dist/{neptune-provider-U_LOS8jM.js → neptune-provider-BM-ndw-1.js} +4 -4
- package/dist/{neptune-provider-U_LOS8jM.js.map → neptune-provider-BM-ndw-1.js.map} +1 -1
- package/dist/{program-BGo747Co.js → program-SAXkerq9.js} +6 -6
- package/dist/{program-BGo747Co.js.map → program-SAXkerq9.js.map} +1 -1
- package/dist/{provider-classes-B9XBsEl1.js → provider-classes-D1zpvb93.js} +88 -51
- package/dist/provider-classes-D1zpvb93.js.map +1 -0
- package/dist/{rds-provider-CaPSidBQ.js → rds-provider-DUk3Oqhy.js} +4 -4
- package/dist/{rds-provider-CaPSidBQ.js.map → rds-provider-DUk3Oqhy.js.map} +1 -1
- package/dist/{version-K2bqeSbu.js → version-2S5I2Sx_.js} +2 -2
- package/dist/{version-K2bqeSbu.js.map → version-2S5I2Sx_.js.map} +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-BOHXbSq5.js.map +0 -1
- package/dist/iam-policy-targets-DJmfxbko.js.map +0 -1
- package/dist/provider-classes-B9XBsEl1.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { r as getAwsClients } from "./aws-clients-B_CEQGE1.js";
|
|
2
|
-
import { B as
|
|
3
|
-
import { $ as protectedReplacementAdvice, $n as markReplayMayCollide, $t as ambientCredentialConfig, A as isQuotableImportValue, B as isTerminalDeleteFailure, C as setBounded, D as VALUE_NOT_SHOWN, E as assertRegionMatch, F as resolveExplicitPhysicalId, Fn as isInertUnquoted, H as observeThenDisableProtection, Hn as withheldTargetClause, In as pasteableCommand, Kt as injectiveKey, L as ProtectionFlipRegistry, M as quotedRemedyLogicalId, Mt as markCreatedBeforeFailure, N as refusalTypeShown, Nn as commandHole, Nt as markSupersedesEarlierCreate, O as isPlainImportJson, P as remedyLogicalId, Pn as hasClauseBreak, Q as pasteableAwsCommand, Qn as markNameCollision, Qt as ambientClientDefaults, Rn as plainOrDescribed, S as replayedSendWindow, St as withDerivedNameMasks, T as RESOURCE_NOT_FOUND, Tt as clearCreatedBeforeFailure, U as protectionFlipKey, V as logGroupProtectionSite, Vn as shellQuote, W as rdsFamilyProtectionSite, X as WITHHELD_AWS_COMMAND, Y as UNNAMEABLE_ID_CLAUSE, Z as isAwsCliLiteral, Zt as withPasteableAwsProfile, _ as RecentIdSet,
|
|
2
|
+
import { B as plainIdentOr, F as displayIdent, I as displaySafe, L as displayStackName, R as isPasteableIdent, V as safeMsg, b as generateResourceName, i as safeStringify, k as SECRET_REF_MAX_CODE_POINTS, n as describeAwsFailure, o as getLogger, r as isAwsAuthoredFailure, x as generateResourceNameWithFallback } from "./aws-failure-text-YMKku1DS.js";
|
|
3
|
+
import { $ as protectedReplacementAdvice, $n as markReplayMayCollide, $t as ambientCredentialConfig, A as isQuotableImportValue, B as isTerminalDeleteFailure, C as setBounded, D as VALUE_NOT_SHOWN, E as assertRegionMatch, F as resolveExplicitPhysicalId, Fn as isInertUnquoted, H as observeThenDisableProtection, Hn as withheldTargetClause, In as pasteableCommand, Kt as injectiveKey, L as ProtectionFlipRegistry, M as quotedRemedyLogicalId, Mt as markCreatedBeforeFailure, N as refusalTypeShown, Nn as commandHole, Nt as markSupersedesEarlierCreate, O as isPlainImportJson, P as remedyLogicalId, Pn as hasClauseBreak, Q as pasteableAwsCommand, Qn as markNameCollision, Qt as ambientClientDefaults, Rn as plainOrDescribed, S as replayedSendWindow, St as withDerivedNameMasks, T as RESOURCE_NOT_FOUND, Tt as clearCreatedBeforeFailure, U as protectionFlipKey, V as logGroupProtectionSite, Vn as shellQuote, W as rdsFamilyProtectionSite, X as WITHHELD_AWS_COMMAND, Y as UNNAMEABLE_ID_CLAUSE, Z as isAwsCliLiteral, Zt as withPasteableAwsProfile, _ as RecentIdSet, _r as markRedactedCause, _t as createMaskedLogSinks, a as onlySecretDerived, at as startInterruptWatch, b as isInsideWindow, bn as ResourceUpdateNotSupportedError, bt as maskDeep, c as recordedPrincipalsRepair, cr as isExplicitDenyError, ct as canonicalizeRoute53QueryName, dr as isTransientServerError, dt as compositeIdSkipResult, en as clientDefaultsFor, er as relayedNameCollision, et as renderDisableCommand, ft as logicalIdShown, g as AmbiguousCreateLatch, gr as markNonRetryable, gt as stateOrphanRecordRemedy, h as AMBIGUOUS_LATCH_TTL_MS, hr as isThrottlingError, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, in as CdkdError, ir as explicitDenyPolicyKind, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jt as markAuxiliaryFailure, k as isPlainImportValue, lt as compositeIdFormatMessage, mr as isMarkedNonRetryable, nn as AccountIdUnavailableError, o as readPrincipalLists, ot as ElapsedBudgetRegistry, p as withRemovalDefaults, pr as THROTTLING_ERROR_NAMES, pt as packCompositeId, q as userPoolProtectionSite, qn as isNameCollisionError, qt as injectiveKeyPrefix, r as SECRET_DERIVED_READ_LIVE, sr as isAmbiguousOutcomeError, tn as credentialFingerprint, u as clearOnUpdateRemoval, ur as isRetryableTransientError, ut as compositeIdSeparatorRefusal, v as ambiguousAttemptLead, vn as ProvisioningError, vr as wrapMaskedAwsError, vt as createMaskedRetryLogger, w as withoutServerErrorRetries, x as replayFollowedAmbiguousAttempt, xt as maskerOrIdentity, y as createAttemptKey, yt as isSecretDerivedValue, z as deleteWithProtectionCompensation } from "./iam-policy-targets-Df2XcLrn.js";
|
|
4
4
|
import { s as ambientRegion } from "./aws-client-defaults-DBXBcg0J.js";
|
|
5
|
-
import { $
|
|
6
|
-
import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-
|
|
7
|
-
import { a as resolveSecretDerivedPrincipals, i as isResolvableSecretPrincipalList, n as runDestroyForStack, o as canonicalizeIpProtocolValue, r as holdsUnprovenSecretPrincipalToken, s as resolvedResourceTimeoutMs, t as canonicalizeIpv4Cidr } from "./program-
|
|
8
|
-
import { RDSProvider } from "./rds-provider-
|
|
9
|
-
import { NeptuneProvider } from "./neptune-provider-
|
|
10
|
-
import { ASGProvider } from "./asg-provider-
|
|
5
|
+
import { $r as reDisableInstanceApiTermination, Aa as refuseMalformedNestedChildOutputs, Ao as configStringRefusal, Bl as renderAssemblyPathEscape, Bo as canonicalLambdaFunctionName, Br as unchangedBehindSecretReference, C as hasCdkAutoDeleteTag, Co as isWarmThroughputDecrease, Cr as stringifyIfAssigned, Dl as canonicalizeRegion, Dn as getStackRecords, Do as coerceCfnInteger, Dt as isAccessDeniedError, E as markRefusedBeforeApplying, Eo as coerceCfnBoolean, Es as withoutPhysicalNameCopies, Et as chunks, F as findNestedTemplateTreeDefect, Fi as getAccountInfo, Fo as requireConfigString, Fs as physicalNameCopiesOf, Gi as parseWebACLArn, Gr as deleteSkipReason, Ho as sameLambdaFunctionAddress, I as isAbsoluteAssetPath, Is as recordAttributeIdCopy, Ji as passedParameterClassesOf, Jn as secretNamedAttributeNamesOf, Jr as markWaitAbandoned, Jt as REDACTED_DELETE_ADDRESS_SKIP_REASON, Kr as withIndeterminateGuard, Kt as getCurrentProducerRegions, L as listNestedTemplateRows, Mo as replayWarn, No as requireConfigArray, Nr as getCurrentResourceSecrets, Ol as derivePartitionAndUrlSuffix, Oo as configBooleanRefusal, Os as dynamicReferenceTokens, Ot as lookupEachName, Po as requireConfigObject, Ps as recoverMaskedOutput, Qr as observeThenDisableInstanceApiTermination, R as renderNestedTemplateTreeDefect, Rl as describeFileReadFailure, S as S3_AUTO_DELETE_OBJECTS_TAG, So as coerceWarmThroughput$1, Sr as definedAttributes, T as getPriorAttempts, Tc as rewriteTemplateAssetReferences, Tn as awaitInFlightSibling, To as toFiniteNumber, Vl as resolveAssemblyPath, Vo as lambdaFunctionNameForMask, Xa as refuseMalformedResourcesForDestroy, Xr as ec2InstanceProtectionSite, Xt as redactedDeleteAddressFields, Yt as isRedactedRecordedValue, Zr as isTerminationProtectionPropagationError, Zt as redactedDeleteAddressSkip, _ as deleteTableWithIndexBusyRetry, _r as planTagDiff, ai as isSettledInstanceState, b as waitForIndexesSettled, bc as stringifyValue, br as tagMapAsList, c as DynamoDBGlobalTableProvider, ci as s3BucketDualStackDomainName, co as withheldAccountClause, cr as earliestDefined, cs as recordReferenceProvenanceEntry, ct as getNestedRevertRun, d as compensateRemovedDeletionProtection, dt as revertNestedChildFromJournal, ei as reEnableInstanceApiTermination, es as passedNoEchoParametersOf, f as deleteBudgetKey, fo as withoutSilentDropProperties, fr as acquireIdempotencyToken, fs as hasMaskableValues, g as INDEX_SETTLE_POLL_INTERVAL_MS, gr as DBPROXY_TAG_OPTIONS, gt as withNestedStackContext, h as DELETE_INDEX_WAIT_PROCEED_NOTE, hi as outputReferenceProvenanceOf, hr as DBPROXY_TAGS_WHAT, ht as getCurrentNestedStackContext, jo as readConfigString, kn as replacedDeleteFailureVerdict, ko as configIntegerRefusal, kr as waitForLambdaFunctionActive, kt as withApiLimit, l as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, li as s3BucketRegionalDomainName, ls as snapshotPassProvenance, m as resolveDynamoDbDeleteBudgetMs, mr as markDeleteStarted, oi as s3BucketArn, os as markSameGenerationBag, p as resolveDynamoDbDeleteBudgetClock, pr as isRefusedByName, qr as isWaitAbandonedError, si as s3BucketDomainName, ss as redactForState, t as DeployEngine, ta as accountArgs, u as beginDeleteWait, ui as s3BucketWebsiteUrl, uo as findSilentDropProperties, ur as reserveStackCreateToken, v as maskedLogger, vr as readTagList, w as isTruthyCfnBoolean, wl as decodeListingKey, wo as toCfnInteger, x as ECR_AUTO_DELETE_IMAGES_TAG, xo as WARM_THROUGHPUT_MEMBERS, xr as tagPlanWarning, y as relayedIndexBusyDelete, yr as refuseMalformedDesiredTags, zl as displayAssemblyPath, zo as withRetry, zr as slowCcOperationTimeoutMs, zs as carriesSecretMask } from "./deploy-engine-C_9bc6wV.js";
|
|
6
|
+
import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-4NDbgxK0.js";
|
|
7
|
+
import { a as resolveSecretDerivedPrincipals, i as isResolvableSecretPrincipalList, n as runDestroyForStack, o as canonicalizeIpProtocolValue, r as holdsUnprovenSecretPrincipalToken, s as resolvedResourceTimeoutMs, t as canonicalizeIpv4Cidr } from "./program-SAXkerq9.js";
|
|
8
|
+
import { RDSProvider } from "./rds-provider-DUk3Oqhy.js";
|
|
9
|
+
import { NeptuneProvider } from "./neptune-provider-BM-ndw-1.js";
|
|
10
|
+
import { ASGProvider } from "./asg-provider-CUvV78Th.js";
|
|
11
11
|
import { createHash, randomUUID } from "node:crypto";
|
|
12
12
|
import { CreateBucketCommand, DeleteBucketAnalyticsConfigurationCommand, DeleteBucketCommand, DeleteBucketCorsCommand, DeleteBucketEncryptionCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketOwnershipControlsCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectsCommand, GetBucketAccelerateConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketNotificationConfigurationCommand, GetBucketOwnershipControlsCommand, GetBucketPolicyCommand, GetBucketReplicationCommand, GetBucketTaggingCommand, GetBucketVersioningCommand, GetBucketWebsiteCommand, GetObjectCommand, GetObjectLockConfigurationCommand, GetPublicAccessBlockCommand, HeadBucketCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, ListBucketsCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchBucket, PutBucketAccelerateConfigurationCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectLockConfigurationCommand, PutPublicAccessBlockCommand, S3Client } from "@aws-sdk/client-s3";
|
|
13
13
|
import { AddRoleToInstanceProfileCommand, AddUserToGroupCommand, AttachGroupPolicyCommand, AttachRolePolicyCommand, AttachUserPolicyCommand, CreateAccessKeyCommand, CreateGroupCommand, CreateInstanceProfileCommand, CreateLoginProfileCommand, CreatePolicyCommand, CreatePolicyVersionCommand, CreateUserCommand, DeleteAccessKeyCommand, DeleteGroupCommand, DeleteGroupPolicyCommand, DeleteInstanceProfileCommand, DeleteLoginProfileCommand, DeletePolicyCommand, DeletePolicyVersionCommand, DeleteRolePolicyCommand, DeleteUserCommand, DeleteUserPermissionsBoundaryCommand, DeleteUserPolicyCommand, DetachGroupPolicyCommand, DetachRolePolicyCommand, DetachUserPolicyCommand, GetAccessKeyLastUsedCommand, GetGroupCommand, GetGroupPolicyCommand, GetInstanceProfileCommand, GetPolicyCommand, GetPolicyVersionCommand, GetRolePolicyCommand, GetUserCommand, GetUserPolicyCommand, IAMClient, ListAccessKeysCommand, ListAttachedGroupPoliciesCommand, ListAttachedUserPoliciesCommand, ListEntitiesForPolicyCommand, ListGroupPoliciesCommand, ListGroupsForUserCommand, ListPoliciesCommand, ListPolicyTagsCommand, ListPolicyVersionsCommand, ListUserPoliciesCommand, NoSuchEntityException, PutGroupPolicyCommand, PutRolePolicyCommand, PutUserPermissionsBoundaryCommand, PutUserPolicyCommand, RemoveRoleFromInstanceProfileCommand, RemoveUserFromGroupCommand, TagPolicyCommand, TagUserCommand, UntagPolicyCommand, UntagUserCommand, UpdateAccessKeyCommand, UpdateLoginProfileCommand } from "@aws-sdk/client-iam";
|
|
@@ -11909,6 +11909,13 @@ var DynamoDBTableProvider = class {
|
|
|
11909
11909
|
createClient;
|
|
11910
11910
|
credentialConfig;
|
|
11911
11911
|
logger = getLogger().child("DynamoDBTableProvider");
|
|
11912
|
+
wrapCaughtError(mask, error, build) {
|
|
11913
|
+
const failure = describeAwsFailure(error);
|
|
11914
|
+
if (!(error instanceof Error) || !failure.redacted) return build(failure.detail);
|
|
11915
|
+
const m = mask ?? ((text) => text);
|
|
11916
|
+
this.logger.debug(m(build(m(failure.detail)).message));
|
|
11917
|
+
return markRedactedCause(build(`${m(failure.summary)}${relayedNameCollision(failure.detail)}${relayedIndexBusyDelete(failure.detail)}`));
|
|
11918
|
+
}
|
|
11912
11919
|
handledProperties = /* @__PURE__ */ new Map([["AWS::DynamoDB::Table", /* @__PURE__ */ new Set([
|
|
11913
11920
|
"TableName",
|
|
11914
11921
|
"KeySchema",
|
|
@@ -12046,7 +12053,8 @@ var DynamoDBTableProvider = class {
|
|
|
12046
12053
|
}
|
|
12047
12054
|
markAuxiliaryFailure(error, logicalId);
|
|
12048
12055
|
}
|
|
12049
|
-
const
|
|
12056
|
+
const cause = error instanceof Error ? error : void 0;
|
|
12057
|
+
const thrown = error instanceof ProvisioningError ? error : this.wrapCaughtError(maskSecrets, error, (text) => new ProvisioningError(`Failed to create DynamoDB table ${logicalId}: ${text}`, resourceType, logicalId, tableName, cause));
|
|
12050
12058
|
if (tableLeftBehind) markCreatedBeforeFailure(thrown, logicalId, resourceType, tableName, createdTableId);
|
|
12051
12059
|
throw thrown;
|
|
12052
12060
|
}
|
|
@@ -12301,7 +12309,7 @@ var DynamoDBTableProvider = class {
|
|
|
12301
12309
|
} catch (error) {
|
|
12302
12310
|
if (error instanceof ProvisioningError) throw error;
|
|
12303
12311
|
const cause = error instanceof Error ? error : void 0;
|
|
12304
|
-
throw new ProvisioningError(`Failed to update DynamoDB table ${logicalId}: ${
|
|
12312
|
+
throw this.wrapCaughtError(maskSecrets, error, (text) => new ProvisioningError(`Failed to update DynamoDB table ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
12305
12313
|
}
|
|
12306
12314
|
}
|
|
12307
12315
|
async delete(logicalId, physicalId, resourceType, _properties, context) {
|
|
@@ -12333,6 +12341,7 @@ var DynamoDBTableProvider = class {
|
|
|
12333
12341
|
}
|
|
12334
12342
|
async deleteTableResource(logicalId, physicalId, resourceType, context, flip) {
|
|
12335
12343
|
this.logger.debug(`Deleting DynamoDB table ${logicalId}: ${physicalId}`);
|
|
12344
|
+
const loopLogger = maskedLogger(this.logger, context?.maskSecrets, physicalId);
|
|
12336
12345
|
const budget = this.deleteBudgets.acquire(deleteBudgetKey(physicalId, context?.expectedRegion), resolveDynamoDbDeleteBudgetMs(), resolveDynamoDbDeleteBudgetClock(), DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS);
|
|
12337
12346
|
if (context?.removeProtection === true) try {
|
|
12338
12347
|
let observedProtectionOn = false;
|
|
@@ -12368,7 +12377,7 @@ var DynamoDBTableProvider = class {
|
|
|
12368
12377
|
physicalId,
|
|
12369
12378
|
typeLabel: "table",
|
|
12370
12379
|
maxRetries: 14,
|
|
12371
|
-
logger:
|
|
12380
|
+
logger: loopLogger,
|
|
12372
12381
|
deleteTable: async () => {
|
|
12373
12382
|
await this.dynamoDBClient.send(new DeleteTableCommand({ TableName: physicalId }));
|
|
12374
12383
|
flip.deleteAccepted = true;
|
|
@@ -12376,14 +12385,14 @@ var DynamoDBTableProvider = class {
|
|
|
12376
12385
|
reArm: () => waitForIndexesSettled({
|
|
12377
12386
|
tableName: physicalId,
|
|
12378
12387
|
logicalId,
|
|
12379
|
-
logger:
|
|
12388
|
+
logger: loopLogger,
|
|
12380
12389
|
describeTable: () => this.dynamoDBClient.send(new DescribeTableCommand({ TableName: physicalId })),
|
|
12381
12390
|
...reArmPolls(),
|
|
12382
12391
|
proceedNote: DELETE_INDEX_WAIT_PROCEED_NOTE
|
|
12383
12392
|
}),
|
|
12384
12393
|
shouldKeepRetrying: () => {
|
|
12385
12394
|
if (!budget.isExhausted()) return true;
|
|
12386
|
-
|
|
12395
|
+
loopLogger.warn(`DynamoDB table ${logicalId}: giving up the index-busy DeleteTable retry on ${physicalId} — the delete path has spent its whole ${Math.round(budget.totalMs / 6e4)}-minute budget, so the destroy fails on AWS's refusal; re-running it succeeds once the index is ACTIVE.`);
|
|
12387
12396
|
return false;
|
|
12388
12397
|
},
|
|
12389
12398
|
sleepSeam: deleteTableRetryDelays
|
|
@@ -12402,7 +12411,7 @@ var DynamoDBTableProvider = class {
|
|
|
12402
12411
|
return;
|
|
12403
12412
|
}
|
|
12404
12413
|
const cause = error instanceof Error ? error : void 0;
|
|
12405
|
-
throw new ProvisioningError(`Failed to delete DynamoDB table ${logicalId}: ${
|
|
12414
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete DynamoDB table ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
12406
12415
|
}
|
|
12407
12416
|
}
|
|
12408
12417
|
async applyTagDiff(tableArn, resourceType, logicalId, oldTagsRaw, newTagsRaw) {
|
|
@@ -28636,6 +28645,9 @@ function templateZoneVisibility(properties) {
|
|
|
28636
28645
|
if (!Array.isArray(vpcs)) return void 0;
|
|
28637
28646
|
return vpcs.some((v) => typeof v === "object" && v !== null && !Array.isArray(v) && !isIntrinsicOnly(v)) ? true : void 0;
|
|
28638
28647
|
}
|
|
28648
|
+
function sentence$1(text) {
|
|
28649
|
+
return text.endsWith(".") ? text : `${text}.`;
|
|
28650
|
+
}
|
|
28639
28651
|
function isCnameConflictRefusal(error) {
|
|
28640
28652
|
return error instanceof Error && error.name === "InvalidChangeBatch" && isAwsAuthoredFailure(error) && /^\[?RRSet of type CNAME with DNS name \S+ is not permitted as it conflicts with other records with the same DNS name in zone \S+\]?$/.test(error.message);
|
|
28641
28653
|
}
|
|
@@ -28664,6 +28676,13 @@ var Route53Provider = class {
|
|
|
28664
28676
|
route53Client;
|
|
28665
28677
|
providerRegion = ambientRegion();
|
|
28666
28678
|
logger = getLogger().child("Route53Provider");
|
|
28679
|
+
wrapCaughtError(mask, error, build) {
|
|
28680
|
+
const failure = describeAwsFailure(error);
|
|
28681
|
+
if (!(error instanceof Error) || !failure.redacted) return build(failure.detail);
|
|
28682
|
+
const m = mask ?? ((text) => text);
|
|
28683
|
+
this.logger.debug(m(build(m(failure.detail)).message));
|
|
28684
|
+
return markRedactedCause(build(`${m(failure.summary)}${relayedNameCollision(failure.detail)}`));
|
|
28685
|
+
}
|
|
28667
28686
|
handledProperties = /* @__PURE__ */ new Map([["AWS::Route53::HostedZone", /* @__PURE__ */ new Set([
|
|
28668
28687
|
"Name",
|
|
28669
28688
|
"HostedZoneConfig",
|
|
@@ -28697,16 +28716,16 @@ var Route53Provider = class {
|
|
|
28697
28716
|
});
|
|
28698
28717
|
return this.route53Client;
|
|
28699
28718
|
}
|
|
28700
|
-
async create(logicalId, resourceType, properties) {
|
|
28719
|
+
async create(logicalId, resourceType, properties, context) {
|
|
28701
28720
|
switch (resourceType) {
|
|
28702
|
-
case "AWS::Route53::HostedZone": return this.createHostedZone(logicalId, resourceType, properties);
|
|
28703
|
-
case "AWS::Route53::RecordSet": return this.createRecordSet(logicalId, resourceType, properties);
|
|
28721
|
+
case "AWS::Route53::HostedZone": return this.createHostedZone(logicalId, resourceType, properties, context?.maskSecrets);
|
|
28722
|
+
case "AWS::Route53::RecordSet": return this.createRecordSet(logicalId, resourceType, properties, context?.maskSecrets);
|
|
28704
28723
|
default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId);
|
|
28705
28724
|
}
|
|
28706
28725
|
}
|
|
28707
28726
|
async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
|
|
28708
28727
|
switch (resourceType) {
|
|
28709
|
-
case "AWS::Route53::HostedZone": return this.updateHostedZone(logicalId, physicalId, resourceType, properties, previousProperties);
|
|
28728
|
+
case "AWS::Route53::HostedZone": return this.updateHostedZone(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets);
|
|
28710
28729
|
case "AWS::Route53::RecordSet": return this.updateRecordSet(logicalId, physicalId, resourceType, properties, previousProperties, context);
|
|
28711
28730
|
default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId, physicalId);
|
|
28712
28731
|
}
|
|
@@ -28724,7 +28743,7 @@ var Route53Provider = class {
|
|
|
28724
28743
|
default: return;
|
|
28725
28744
|
}
|
|
28726
28745
|
}
|
|
28727
|
-
async createHostedZone(logicalId, resourceType, properties) {
|
|
28746
|
+
async createHostedZone(logicalId, resourceType, properties, mask) {
|
|
28728
28747
|
this.logger.debug(`Creating Route 53 hosted zone ${logicalId}`);
|
|
28729
28748
|
const name = properties["Name"];
|
|
28730
28749
|
if (!name) throw new ProvisioningError(`Name is required for hosted zone ${logicalId}`, resourceType, logicalId);
|
|
@@ -28769,7 +28788,7 @@ var Route53Provider = class {
|
|
|
28769
28788
|
}
|
|
28770
28789
|
}));
|
|
28771
28790
|
}
|
|
28772
|
-
await this.applyHostedZoneTags(zoneId, properties, logicalId);
|
|
28791
|
+
await this.applyHostedZoneTags(zoneId, properties, logicalId, void 0, mask);
|
|
28773
28792
|
await this.applyQueryLoggingConfig(zoneId, properties, logicalId);
|
|
28774
28793
|
if (properties["HostedZoneFeatures"]?.["AcceleratedRecoveryStatus"] === "ENABLED") try {
|
|
28775
28794
|
await this.getClient().send(new UpdateHostedZoneFeaturesCommand({
|
|
@@ -28787,7 +28806,7 @@ var Route53Provider = class {
|
|
|
28787
28806
|
this.logger.warn(`Best-effort rollback DeleteHostedZone for ${zoneId} also failed: ${describeAwsFailure(deleteError).detail} — operator may need to clean up the orphan zone`);
|
|
28788
28807
|
}
|
|
28789
28808
|
const cause = uhfError instanceof Error ? uhfError : void 0;
|
|
28790
|
-
throw new ProvisioningError(`Failed to enable Accelerated Recovery on hosted zone ${logicalId} (${zoneId}): ${
|
|
28809
|
+
throw this.wrapCaughtError(mask, uhfError, (text) => new ProvisioningError(`Failed to enable Accelerated Recovery on hosted zone ${logicalId} (${zoneId}): ${text}`, resourceType, logicalId, zoneId, cause));
|
|
28791
28810
|
}
|
|
28792
28811
|
const nameServers = response.DelegationSet?.NameServers ?? [];
|
|
28793
28812
|
this.logger.debug(`Successfully created hosted zone ${logicalId}: ${zoneId}`);
|
|
@@ -28801,7 +28820,8 @@ var Route53Provider = class {
|
|
|
28801
28820
|
};
|
|
28802
28821
|
} catch (error) {
|
|
28803
28822
|
if (zoneCreated) markAuxiliaryFailure(error, logicalId);
|
|
28804
|
-
const
|
|
28823
|
+
const cause = error instanceof Error ? error : void 0;
|
|
28824
|
+
const thrown = error instanceof ProvisioningError ? error : this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to create hosted zone ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
28805
28825
|
if (createdZoneId !== void 0 && !zoneRolledBack) markCreatedBeforeFailure(thrown, logicalId, resourceType, createdZoneId);
|
|
28806
28826
|
throw thrown;
|
|
28807
28827
|
}
|
|
@@ -28850,7 +28870,7 @@ var Route53Provider = class {
|
|
|
28850
28870
|
} : void 0;
|
|
28851
28871
|
}
|
|
28852
28872
|
}
|
|
28853
|
-
async updateHostedZone(logicalId, physicalId, resourceType, properties, previousProperties) {
|
|
28873
|
+
async updateHostedZone(logicalId, physicalId, resourceType, properties, previousProperties, mask) {
|
|
28854
28874
|
this.logger.debug(`Updating Route 53 hosted zone ${logicalId}: ${physicalId}`);
|
|
28855
28875
|
try {
|
|
28856
28876
|
const hostedZoneConfig = properties["HostedZoneConfig"];
|
|
@@ -28859,7 +28879,7 @@ var Route53Provider = class {
|
|
|
28859
28879
|
Id: physicalId,
|
|
28860
28880
|
Comment: comment
|
|
28861
28881
|
}));
|
|
28862
|
-
await this.applyHostedZoneTags(physicalId, properties, logicalId, previousProperties);
|
|
28882
|
+
await this.applyHostedZoneTags(physicalId, properties, logicalId, previousProperties, mask);
|
|
28863
28883
|
await this.applyQueryLoggingConfig(physicalId, properties, logicalId, previousProperties);
|
|
28864
28884
|
await this.syncVPCAssociations(physicalId, properties, logicalId);
|
|
28865
28885
|
const prevEnabled = previousProperties["HostedZoneFeatures"]?.["AcceleratedRecoveryStatus"] === "ENABLED";
|
|
@@ -28881,7 +28901,7 @@ var Route53Provider = class {
|
|
|
28881
28901
|
} catch (error) {
|
|
28882
28902
|
if (error instanceof CdkdError) throw error;
|
|
28883
28903
|
const cause = error instanceof Error ? error : void 0;
|
|
28884
|
-
throw new ProvisioningError(`Failed to update hosted zone ${logicalId}: ${
|
|
28904
|
+
throw this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to update hosted zone ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
28885
28905
|
}
|
|
28886
28906
|
}
|
|
28887
28907
|
async deleteHostedZone(logicalId, physicalId, resourceType, context) {
|
|
@@ -28900,7 +28920,7 @@ var Route53Provider = class {
|
|
|
28900
28920
|
return;
|
|
28901
28921
|
}
|
|
28902
28922
|
const cause = error instanceof Error ? error : void 0;
|
|
28903
|
-
const failure = error instanceof ProvisioningError ? error : new ProvisioningError(`Failed to delete hosted zone ${logicalId}: ${
|
|
28923
|
+
const failure = error instanceof ProvisioningError ? error : this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete hosted zone ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
28904
28924
|
throw progress.stripped ? markDeleteStarted(failure) : failure;
|
|
28905
28925
|
}
|
|
28906
28926
|
}
|
|
@@ -28959,7 +28979,7 @@ var Route53Provider = class {
|
|
|
28959
28979
|
default: return;
|
|
28960
28980
|
}
|
|
28961
28981
|
}
|
|
28962
|
-
async createRecordSet(logicalId, resourceType, properties) {
|
|
28982
|
+
async createRecordSet(logicalId, resourceType, properties, mask) {
|
|
28963
28983
|
this.logger.debug(`Creating Route 53 record set ${logicalId}`);
|
|
28964
28984
|
const hostedZoneId = await this.resolveHostedZoneId(properties, logicalId, resourceType);
|
|
28965
28985
|
const recordName = properties["Name"];
|
|
@@ -28987,7 +29007,7 @@ var Route53Provider = class {
|
|
|
28987
29007
|
if (error instanceof ProvisioningError) throw error;
|
|
28988
29008
|
const cause = error instanceof Error ? error : void 0;
|
|
28989
29009
|
const cnameConflict = isCnameConflictRefusal(error);
|
|
28990
|
-
const wrapped = new ProvisioningError(`Failed to create record set ${logicalId}
|
|
29010
|
+
const wrapped = this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to create record set ${logicalId}${cnameConflict ? CNAME_CONFLICT_COLLISION_NOTE : ""}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
28991
29011
|
throw cnameConflict ? markNameCollision(wrapped) : wrapped;
|
|
28992
29012
|
}
|
|
28993
29013
|
}
|
|
@@ -29028,7 +29048,7 @@ var Route53Provider = class {
|
|
|
29028
29048
|
};
|
|
29029
29049
|
} catch (error) {
|
|
29030
29050
|
const cause = error instanceof Error ? error : void 0;
|
|
29031
|
-
throw new ProvisioningError(`Failed to update record set ${logicalId}: ${
|
|
29051
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to update record set ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
29032
29052
|
}
|
|
29033
29053
|
}
|
|
29034
29054
|
async findLiveRecordSet(hostedZoneId, properties) {
|
|
@@ -29118,7 +29138,7 @@ var Route53Provider = class {
|
|
|
29118
29138
|
}
|
|
29119
29139
|
if (error instanceof ProvisioningError) throw error;
|
|
29120
29140
|
const cause = error instanceof Error ? error : void 0;
|
|
29121
|
-
throw new ProvisioningError(`Failed to delete record set ${logicalId}: ${
|
|
29141
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete record set ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
29122
29142
|
}
|
|
29123
29143
|
}
|
|
29124
29144
|
async waitForAcceleratedRecoveryMutable(zoneId, logicalId, resourceType) {
|
|
@@ -29212,7 +29232,7 @@ var Route53Provider = class {
|
|
|
29212
29232
|
}
|
|
29213
29233
|
return recordSet;
|
|
29214
29234
|
}
|
|
29215
|
-
async applyHostedZoneTags(zoneId, properties, logicalId, previousProperties) {
|
|
29235
|
+
async applyHostedZoneTags(zoneId, properties, logicalId, previousProperties, mask) {
|
|
29216
29236
|
const desiredRaw = properties["HostedZoneTags"];
|
|
29217
29237
|
if (desiredRaw != null && !Array.isArray(desiredRaw)) {
|
|
29218
29238
|
this.logger.warn(`AWS::Route53::HostedZone HostedZoneTags must be an array on ${logicalId}; ignoring it and leaving the live tags untouched (no tag is added or removed)`);
|
|
@@ -29240,8 +29260,12 @@ var Route53Provider = class {
|
|
|
29240
29260
|
this.logger.debug(`Applied ${tags.length} tag(s) and removed ${removeTagKeys.length} tag(s) on hosted zone ${logicalId}`);
|
|
29241
29261
|
} catch (error) {
|
|
29242
29262
|
const detail = describeAwsFailure(error).detail;
|
|
29243
|
-
if (removeTagKeys.length > 0)
|
|
29244
|
-
|
|
29263
|
+
if (removeTagKeys.length > 0) {
|
|
29264
|
+
const cause = error instanceof Error ? error : void 0;
|
|
29265
|
+
throw this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to remove tag(s) ${removeTagKeys.join(", ")} from hosted zone ${logicalId}: ${sentence$1(text)} The removal will NOT be retried on the next deploy (state no longer records the tag), so it is reported instead of ignored.`, "AWS::Route53::HostedZone", logicalId, zoneId, cause));
|
|
29266
|
+
}
|
|
29267
|
+
const m = mask ?? ((text) => text);
|
|
29268
|
+
this.logger.warn(m(`Failed to apply tags to hosted zone ${logicalId}: ${m(detail)}`));
|
|
29245
29269
|
}
|
|
29246
29270
|
}
|
|
29247
29271
|
readHostedZoneTags(properties) {
|
|
@@ -29366,6 +29390,8 @@ var Route53Provider = class {
|
|
|
29366
29390
|
if (typeof hostedZoneId === "string" && hostedZoneId) return hostedZoneId;
|
|
29367
29391
|
let lookupErrorMessage;
|
|
29368
29392
|
let lookupErrorCause;
|
|
29393
|
+
let lookupErrorShown;
|
|
29394
|
+
let lookupErrorRedacted = false;
|
|
29369
29395
|
const narrowing = options?.requirePrivateZone !== void 0;
|
|
29370
29396
|
const hostedZoneName = properties["HostedZoneName"];
|
|
29371
29397
|
if (typeof hostedZoneName === "string" && hostedZoneName) {
|
|
@@ -29383,8 +29409,11 @@ var Route53Provider = class {
|
|
|
29383
29409
|
const sawLaterName = zones.some((z) => normalizeRecordName(z.Name ?? "") !== normalizedName);
|
|
29384
29410
|
absenceIsSound = !hostedZoneName.includes("\\") && (narrowing ? sawLaterName || response.IsTruncated !== true : zones.length > 0 || response.IsTruncated !== true);
|
|
29385
29411
|
} catch (error) {
|
|
29386
|
-
|
|
29412
|
+
const failure = describeAwsFailure(error);
|
|
29413
|
+
lookupErrorMessage = failure.detail;
|
|
29387
29414
|
lookupErrorCause = error instanceof Error ? error : void 0;
|
|
29415
|
+
lookupErrorRedacted = error instanceof Error && failure.redacted;
|
|
29416
|
+
lookupErrorShown = lookupErrorRedacted ? failure.summary : failure.detail;
|
|
29388
29417
|
this.logger.warn(`Failed to resolve HostedZoneName "${hostedZoneName}" for ${logicalId}: ${lookupErrorMessage}`);
|
|
29389
29418
|
}
|
|
29390
29419
|
if (matched.length > 1 && options?.requireUnambiguousZoneName) {
|
|
@@ -29398,7 +29427,8 @@ var Route53Provider = class {
|
|
|
29398
29427
|
throw new HostedZoneNameNotFoundError(`HostedZoneName "${hostedZoneName}" matches no ${visibility}hosted zone in this account/region for ${logicalId}`, resourceType, logicalId, physicalId);
|
|
29399
29428
|
}
|
|
29400
29429
|
}
|
|
29401
|
-
|
|
29430
|
+
const unresolved = new ProvisioningError(lookupErrorMessage ? `Could not resolve HostedZoneName "${String(hostedZoneName)}" for ${subject.noun} ${logicalId}: ${lookupErrorShown}` : typeof hostedZoneName === "string" && hostedZoneName ? `Could not determine whether HostedZoneName ${zoneNameShown(hostedZoneName)} exists for ${subject.noun} ${logicalIdShown(logicalId)} — the hosted-zone listing ended before the name could be resolved either way, so cdkd will not assume it is absent. ${subject.remedy}.` : `Either HostedZoneId or HostedZoneName is required for ${subject.noun} ${logicalId}`, resourceType, logicalId, physicalId, lookupErrorCause);
|
|
29431
|
+
throw lookupErrorMessage && lookupErrorRedacted ? markRedactedCause(unresolved) : unresolved;
|
|
29402
29432
|
}
|
|
29403
29433
|
async resolveRecordSetIdentity(physicalId, properties, options) {
|
|
29404
29434
|
const composite = parseRecordSetCompositeId(physicalId);
|
|
@@ -36268,6 +36298,13 @@ var KMSProvider = class {
|
|
|
36268
36298
|
createClient;
|
|
36269
36299
|
providerRegion = ambientRegion();
|
|
36270
36300
|
logger = getLogger().child("KMSProvider");
|
|
36301
|
+
wrapCaughtError(mask, error, build) {
|
|
36302
|
+
const failure = describeAwsFailure(error);
|
|
36303
|
+
if (!(error instanceof Error) || !failure.redacted) return build(failure.detail);
|
|
36304
|
+
const m = mask ?? ((text) => text);
|
|
36305
|
+
this.logger.debug(m(build(m(failure.detail)).message));
|
|
36306
|
+
return markRedactedCause(build(`${m(failure.summary)}${relayedNameCollision(failure.detail)}`));
|
|
36307
|
+
}
|
|
36271
36308
|
handledProperties = /* @__PURE__ */ new Map([["AWS::KMS::Key", /* @__PURE__ */ new Set([
|
|
36272
36309
|
"Description",
|
|
36273
36310
|
"KeyPolicy",
|
|
@@ -36296,18 +36333,18 @@ var KMSProvider = class {
|
|
|
36296
36333
|
}));
|
|
36297
36334
|
return this.createClient;
|
|
36298
36335
|
}
|
|
36299
|
-
async create(logicalId, resourceType, properties) {
|
|
36336
|
+
async create(logicalId, resourceType, properties, context) {
|
|
36300
36337
|
switch (resourceType) {
|
|
36301
|
-
case "AWS::KMS::Key": return this.createKey(logicalId, resourceType, properties);
|
|
36302
|
-
case "AWS::KMS::Alias": return this.createAlias(logicalId, resourceType, properties);
|
|
36338
|
+
case "AWS::KMS::Key": return this.createKey(logicalId, resourceType, properties, context?.maskSecrets);
|
|
36339
|
+
case "AWS::KMS::Alias": return this.createAlias(logicalId, resourceType, properties, context?.maskSecrets);
|
|
36303
36340
|
default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId);
|
|
36304
36341
|
}
|
|
36305
36342
|
}
|
|
36306
36343
|
async update(logicalId, physicalId, resourceType, properties, _previousProperties, context) {
|
|
36307
36344
|
assertRegionMatch(context?.expectedRegion ? await this.getClient().config.region() : void 0, context?.expectedRegion, resourceType, logicalId, physicalId, "pre-update");
|
|
36308
36345
|
switch (resourceType) {
|
|
36309
|
-
case "AWS::KMS::Key": return this.updateKey(logicalId, physicalId, resourceType, properties, _previousProperties);
|
|
36310
|
-
case "AWS::KMS::Alias": return this.updateAlias(logicalId, physicalId, resourceType, properties);
|
|
36346
|
+
case "AWS::KMS::Key": return this.updateKey(logicalId, physicalId, resourceType, properties, _previousProperties, context?.maskSecrets);
|
|
36347
|
+
case "AWS::KMS::Alias": return this.updateAlias(logicalId, physicalId, resourceType, properties, context?.maskSecrets);
|
|
36311
36348
|
default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId, physicalId);
|
|
36312
36349
|
}
|
|
36313
36350
|
}
|
|
@@ -36318,7 +36355,7 @@ var KMSProvider = class {
|
|
|
36318
36355
|
default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId, physicalId);
|
|
36319
36356
|
}
|
|
36320
36357
|
}
|
|
36321
|
-
async createKey(logicalId, resourceType, properties) {
|
|
36358
|
+
async createKey(logicalId, resourceType, properties, mask) {
|
|
36322
36359
|
this.logger.debug(`Creating KMS Key ${logicalId}`);
|
|
36323
36360
|
const tags = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
|
|
36324
36361
|
const description = properties["Description"];
|
|
@@ -36412,7 +36449,7 @@ var KMSProvider = class {
|
|
|
36412
36449
|
this.logger.warn(safeMsg`KMS key ${createdKeyId} was created for ${logicalId}, but a follow-up call failed. A retry of this create reuses that key instead of creating another, so do not delete it while the deploy is still retrying. If the deploy then FAILS (outside a rollback's re-create), its rollback journal records the key for \`cdkd rollback --revert-failed\` to schedule its deletion; otherwise schedule it yourself with: ${aws`aws kms schedule-key-deletion --key-id ${createdKeyId}${region} --pending-window-in-days 7`.render()}`);
|
|
36413
36450
|
}
|
|
36414
36451
|
const cause = error instanceof Error ? error : void 0;
|
|
36415
|
-
const thrown = new ProvisioningError(`Failed to create KMS Key ${logicalId}: ${
|
|
36452
|
+
const thrown = this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to create KMS Key ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
36416
36453
|
if (createdKeyId !== void 0) {
|
|
36417
36454
|
markCreatedBeforeFailure(thrown, logicalId, resourceType, createdKeyId);
|
|
36418
36455
|
if (supersededPending) markSupersedesEarlierCreate(thrown);
|
|
@@ -36530,7 +36567,7 @@ var KMSProvider = class {
|
|
|
36530
36567
|
const deletion = shown.map((keyId) => aws`aws kms schedule-key-deletion --key-id ${keyId}${region} --pending-window-in-days 7`.render()).join(" ; ");
|
|
36531
36568
|
this.logger.warn(safeMsg`${lead}, and KMS may have created a key then that no cdkd state records. ${candidates.length} customer managed key(s) created between ${since} and ${until} match this key's settings: ${shown.join(", ")}${candidates.length > shown.length ? ", ..." : ""}. cdkd does not adopt or delete them, because a key has no name or token that ties it to ${logicalId} -- another key with the same settings is indistinguishable. ${window.replayedInSend === true ? "cdkd recorded the key the create returned, so the orphan (if any) and that key both exist." : "Creating a new key now, so the orphan (if any) and the new key will both exist."} First inspect each candidate: ${inspect}. Only after confirming a key is this deploy's orphan and no other deploy uses it, schedule its deletion: ${deletion}.${incomplete}`);
|
|
36532
36569
|
}
|
|
36533
|
-
async updateKey(logicalId, physicalId, resourceType, properties, previousProperties) {
|
|
36570
|
+
async updateKey(logicalId, physicalId, resourceType, properties, previousProperties, mask) {
|
|
36534
36571
|
this.logger.debug(`Updating KMS Key ${logicalId}: ${physicalId}`);
|
|
36535
36572
|
refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
|
|
36536
36573
|
try {
|
|
@@ -36585,7 +36622,7 @@ var KMSProvider = class {
|
|
|
36585
36622
|
};
|
|
36586
36623
|
} catch (error) {
|
|
36587
36624
|
const cause = error instanceof Error ? error : void 0;
|
|
36588
|
-
throw new ProvisioningError(`Failed to update KMS Key ${logicalId}: ${
|
|
36625
|
+
throw this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to update KMS Key ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
36589
36626
|
}
|
|
36590
36627
|
}
|
|
36591
36628
|
async deleteKey(logicalId, physicalId, resourceType, properties, context) {
|
|
@@ -36605,7 +36642,7 @@ var KMSProvider = class {
|
|
|
36605
36642
|
return;
|
|
36606
36643
|
}
|
|
36607
36644
|
const cause = error instanceof Error ? error : void 0;
|
|
36608
|
-
throw new ProvisioningError(`Failed to schedule deletion for KMS Key ${logicalId}: ${
|
|
36645
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to schedule deletion for KMS Key ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
36609
36646
|
}
|
|
36610
36647
|
}
|
|
36611
36648
|
async applyTagDiff(keyId, resourceType, logicalId, oldTagsRaw, newTagsRaw) {
|
|
@@ -36632,7 +36669,7 @@ var KMSProvider = class {
|
|
|
36632
36669
|
this.logger.debug(`Added/updated ${tagsToAdd.length} tag(s) on KMS Key ${keyId}`);
|
|
36633
36670
|
}
|
|
36634
36671
|
}
|
|
36635
|
-
async createAlias(logicalId, resourceType, properties) {
|
|
36672
|
+
async createAlias(logicalId, resourceType, properties, mask) {
|
|
36636
36673
|
this.logger.debug(`Creating KMS Alias ${logicalId}`);
|
|
36637
36674
|
const aliasName = properties["AliasName"];
|
|
36638
36675
|
if (!aliasName) throw new ProvisioningError(`AliasName is required for KMS Alias ${logicalId}`, resourceType, logicalId);
|
|
@@ -36650,10 +36687,10 @@ var KMSProvider = class {
|
|
|
36650
36687
|
};
|
|
36651
36688
|
} catch (error) {
|
|
36652
36689
|
const cause = error instanceof Error ? error : void 0;
|
|
36653
|
-
throw new ProvisioningError(`Failed to create KMS Alias ${logicalId}: ${
|
|
36690
|
+
throw this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to create KMS Alias ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
36654
36691
|
}
|
|
36655
36692
|
}
|
|
36656
|
-
async updateAlias(logicalId, physicalId, resourceType, properties) {
|
|
36693
|
+
async updateAlias(logicalId, physicalId, resourceType, properties, mask) {
|
|
36657
36694
|
this.logger.debug(`Updating KMS Alias ${logicalId}: ${physicalId}`);
|
|
36658
36695
|
const targetKeyId = properties["TargetKeyId"];
|
|
36659
36696
|
if (!targetKeyId) throw new ProvisioningError(`TargetKeyId is required for KMS Alias update ${logicalId}`, resourceType, logicalId, physicalId);
|
|
@@ -36669,7 +36706,7 @@ var KMSProvider = class {
|
|
|
36669
36706
|
};
|
|
36670
36707
|
} catch (error) {
|
|
36671
36708
|
const cause = error instanceof Error ? error : void 0;
|
|
36672
|
-
throw new ProvisioningError(`Failed to update KMS Alias ${logicalId}: ${
|
|
36709
|
+
throw this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to update KMS Alias ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
36673
36710
|
}
|
|
36674
36711
|
}
|
|
36675
36712
|
async deleteAlias(logicalId, physicalId, resourceType, context) {
|
|
@@ -36685,7 +36722,7 @@ var KMSProvider = class {
|
|
|
36685
36722
|
return;
|
|
36686
36723
|
}
|
|
36687
36724
|
const cause = error instanceof Error ? error : void 0;
|
|
36688
|
-
throw new ProvisioningError(`Failed to delete KMS Alias ${logicalId}: ${
|
|
36725
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete KMS Alias ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
36689
36726
|
}
|
|
36690
36727
|
}
|
|
36691
36728
|
async readCurrentState(physicalId, _logicalId, resourceType) {
|
|
@@ -46956,4 +46993,4 @@ var ACMCertificateProvider = class {
|
|
|
46956
46993
|
|
|
46957
46994
|
//#endregion
|
|
46958
46995
|
export { ACMCertificateProvider, ASGProvider, AgentCoreBrowserProvider, AgentCoreCodeInterpreterProvider, AgentCoreEvaluatorProvider, AgentCoreRuntimeProvider, ApiGatewayProvider, ApiGatewayV2Provider, AppSyncProvider, BudgetsBudgetProvider, CloudFrontDistributionProvider, CloudFrontOACProvider, CloudFrontOAIProvider, CloudTrailProvider, CloudWatchAlarmProvider, CloudWatchAnomalyDetectorProvider, CodeBuildProvider, CodeCommitRepositoryProvider, CognitoUserPoolProvider, DLMLifecyclePolicyProvider, DocDBProvider, DocDBSubnetGroupProvider, DynamoDBGlobalTableProvider, DynamoDBTableProvider, EC2Provider, ECRProvider, ECSProvider, EFSProvider, ELBv2Provider, EMRClusterProvider, EMRInstanceFleetConfigProvider, EMRInstanceGroupConfigProvider, ElastiCacheProvider, EventBridgeBusProvider, EventBridgeRuleProvider, FSxFileSystemProvider, FirehoseProvider, GlueConnectionProvider, GlueCrawlerProvider, GlueJobProvider, GlueProvider, GlueSecurityConfigurationProvider, GlueTriggerProvider, GlueWorkflowProvider, IAMAccessKeyProvider, IAMInstanceProfileProvider, IAMManagedPolicyProvider, IAMPolicyProvider, IAMRoleProvider, IAMUserGroupProvider, KMSProvider, KinesisStreamConsumerProvider, KinesisStreamProvider, LambdaEventInvokeConfigProvider, LambdaEventSourceMappingProvider, LambdaFunctionProvider, LambdaLayerVersionProvider, LambdaMicrovmImageProvider, LambdaNetworkConnectorProvider, LambdaPermissionProvider, LambdaUrlProvider, LambdaWebFunctionEndpointProvider, LambdaWebFunctionRevisionProvider, LogsLogGroupProvider, NeptuneProvider, NestedStackProvider, PipesPipeProvider, RDSDBProxyEndpointProvider, RDSDBProxyProvider, RDSDBProxyTargetGroupProvider, RDSProvider, Route53Provider, S3BucketPolicyProvider, S3BucketProvider, S3DirectoryBucketProvider, S3TablesProvider, S3VectorsProvider, SNSSubscriptionProvider, SNSTopicPolicyProvider, SNSTopicProvider, SQSQueuePolicyProvider, SQSQueueProvider, SSMParameterProvider, SchedulerScheduleProvider, SecretsManagerSecretProvider, ServiceDiscoveryProvider, StepFunctionsProvider, WAFv2WebACLProvider, WaitConditionHandleProvider };
|
|
46959
|
-
//# sourceMappingURL=provider-classes-
|
|
46996
|
+
//# sourceMappingURL=provider-classes-D1zpvb93.js.map
|