@go-to-k/cdkd 0.304.0 → 0.305.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.
Files changed (28) hide show
  1. package/dist/{asg-provider-CpubivcT.js → asg-provider-C8HDzpYh.js} +4 -4
  2. package/dist/{asg-provider-CpubivcT.js.map → asg-provider-C8HDzpYh.js.map} +1 -1
  3. package/dist/{aws-failure-text-w5_iao51.js → aws-failure-text-Durl920o.js} +10 -1
  4. package/dist/aws-failure-text-Durl920o.js.map +1 -0
  5. package/dist/cli.js +2 -2
  6. package/dist/{db-instance-modify-retry-9kYr_0bT.js → db-instance-modify-retry-DfY7rzvu.js} +3 -3
  7. package/dist/{db-instance-modify-retry-9kYr_0bT.js.map → db-instance-modify-retry-DfY7rzvu.js.map} +1 -1
  8. package/dist/{deploy-engine-DDrfjG42.js → deploy-engine-BdqMXegu.js} +6 -6
  9. package/dist/{deploy-engine-DDrfjG42.js.map → deploy-engine-BdqMXegu.js.map} +1 -1
  10. package/dist/{iam-policy-targets-BjIucCAN.js → iam-policy-targets-OyoL9Woo.js} +2 -2
  11. package/dist/{iam-policy-targets-BjIucCAN.js.map → iam-policy-targets-OyoL9Woo.js.map} +1 -1
  12. package/dist/{iam-role-provider-CGCxsMm1.js → iam-role-provider-mYhK_-VN.js} +4 -4
  13. package/dist/{iam-role-provider-CGCxsMm1.js.map → iam-role-provider-mYhK_-VN.js.map} +1 -1
  14. package/dist/index.js +4 -4
  15. package/dist/{neptune-provider-DMyUUOlw.js → neptune-provider-DvFVCaYo.js} +5 -5
  16. package/dist/{neptune-provider-DMyUUOlw.js.map → neptune-provider-DvFVCaYo.js.map} +1 -1
  17. package/dist/{program-CfVIS2Wq.js → program-CUklr39z.js} +22 -7
  18. package/dist/program-CUklr39z.js.map +1 -0
  19. package/dist/{provider-classes-BFBQvibT.js → provider-classes-L1a3Wl0g.js} +90 -24
  20. package/dist/provider-classes-L1a3Wl0g.js.map +1 -0
  21. package/dist/{rds-provider-A9nRiwdN.js → rds-provider-CjasAFV5.js} +5 -5
  22. package/dist/{rds-provider-A9nRiwdN.js.map → rds-provider-CjasAFV5.js.map} +1 -1
  23. package/dist/{version-BeqyCcHQ.js → version-Cp2r-ot9.js} +2 -2
  24. package/dist/{version-BeqyCcHQ.js.map → version-Cp2r-ot9.js.map} +1 -1
  25. package/package.json +2 -2
  26. package/dist/aws-failure-text-w5_iao51.js.map +0 -1
  27. package/dist/program-CfVIS2Wq.js.map +0 -1
  28. package/dist/provider-classes-BFBQvibT.js.map +0 -1
@@ -1,14 +1,14 @@
1
1
  import { r as getAwsClients } from "./aws-clients-WQOzP1x4.js";
2
- import { B as SECRET_REF_MAX_CODE_POINTS, C as generateResourceName, D as getCurrentStackInstanceId, J as displayStackName, K as displayIdent, M as recordedGeneratedNameKept, Q as safeMsg, T as generatedNameFor, Y as isPasteableIdent, Z as plainIdentOr, a as safeStringify, i as isAwsAuthoredFailure, k as isBeforeStateRead, n as describeAwsFailure, q as displaySafe, r as describeAwsStatusReason, s as getLogger, t as VERBOSE_POINTER, w as generateResourceNameWithFallback } from "./aws-failure-text-w5_iao51.js";
3
- import { $ as userPoolProtectionSite, $t as injectiveKeyPrefix, A as isPlainImportJson, C as setBounded, Cr as markNonRetryable, Ct as createMaskedLogSinks, D as markNotGone, Dn as ResourceUpdateNotSupportedError, Dt as maskerOrIdentity, Et as maskDeep, F as refusalTypeShown, Ft as isAuxiliaryFailure, H as deleteWithProtectionCompensation, Hn as hasClauseBreak, I as remedyLogicalId, J as observeThenDisableProtection, K as isTerminalDeleteFailure, Kn as plainOrDescribed, L as resolveExplicitPhysicalId, Lt as markAuxiliaryFailure, M as isQuotableImportValue, N as normalizeAwsTagsToCfn, O as assertRegionMatch, Ot as withDerivedNameMasks, P as quotedRemedyLogicalId, Qt as injectiveKey, Rt as markCreatedBeforeFailure, S as replayedSendWindow, Sr as isThrottlingError, St as stateOrphanRecordRemedy, T as RESOURCE_NOT_FOUND, Tn as ProvisioningError, Tr as wrapMaskedAwsError, Tt as isSecretDerivedValue, Un as isInertUnquoted, V as deleteAfterProtectionFlipWithFinalSnapshot, Vn as commandHole, Wn as pasteableCommand, X as rdsFamilyProtectionSite, Xn as withheldTargetClause, Y as protectionFlipKey, Yn as shellQuote, _ as RecentIdSet, _r as isRetryableTransientError, _t as compositeIdSkipResult, a as onlySecretDerived, an as ambientCredentialConfig, ar as markNameCollision, at as protectedReplacementAdvice, b as isInsideWindow, br as THROTTLING_ERROR_NAMES, c as recordedPrincipalsRepair, cn as AccountIdUnavailableError, dr as explicitDenyPolicyKind, dt as startInterruptWatch, ft as ElapsedBudgetRegistry, g as AmbiguousCreateLatch, gt as compositeIdSeparatorRefusal, h as AMBIGUOUS_LATCH_TTL_MS, hr as isExplicitDenyError, ht as compositeIdFormatMessage, i as holdsSecretDerivedEntry, in as ambientClientDefaults, it as pasteableAwsCommand, j as isPlainImportValue, jt as clearCreatedBeforeFailure, k as VALUE_NOT_SHOWN, mr as isAmbiguousOutcomeError, mt as canonicalizeRoute53QueryName, nt as WITHHELD_AWS_COMMAND, o as readPrincipalLists, on as clientDefaultsFor, or as markReplayMayCollide, ot as renderDisableCommand, p as withRemovalDefaults, q as logGroupProtectionSite, r as SECRET_DERIVED_READ_LIVE, rn as withPasteableAwsProfile, rt as isAwsCliLiteral, sn as credentialFingerprint, sr as relayedNameCollision, tt as UNNAMEABLE_ID_CLAUSE, u as clearOnUpdateRemoval, un as CdkdError, ut as isInterruptedWaitError, v as ambiguousAttemptLead, vr as isTransientServerError, vt as logicalIdShown, w as withoutServerErrorRetries, wr as markRedactedCause, wt as createMaskedRetryLogger, x as replayFollowedAmbiguousAttempt, xr as isMarkedNonRetryable, xt as segmentAfterAnchor, y as createAttemptKey, yt as packCompositeId, z as ProtectionFlipRegistry, zt as markSupersedesEarlierCreate } from "./iam-policy-targets-BjIucCAN.js";
2
+ import { B as SECRET_REF_MAX_CODE_POINTS, C as generateResourceName, D as getCurrentStackInstanceId, J as displayStackName, K as displayIdent, M as recordedGeneratedNameKept, Q as safeMsg, T as generatedNameFor, Y as isPasteableIdent, Z as plainIdentOr, a as safeStringify, i as isAwsAuthoredFailure, k as isBeforeStateRead, n as describeAwsFailure, q as displaySafe, r as describeAwsStatusReason, s as getLogger, t as VERBOSE_POINTER, w as generateResourceNameWithFallback } from "./aws-failure-text-Durl920o.js";
3
+ import { $ as userPoolProtectionSite, $t as injectiveKeyPrefix, A as isPlainImportJson, C as setBounded, Cr as markNonRetryable, Ct as createMaskedLogSinks, D as markNotGone, Dn as ResourceUpdateNotSupportedError, Dt as maskerOrIdentity, Et as maskDeep, F as refusalTypeShown, Ft as isAuxiliaryFailure, H as deleteWithProtectionCompensation, Hn as hasClauseBreak, I as remedyLogicalId, J as observeThenDisableProtection, K as isTerminalDeleteFailure, Kn as plainOrDescribed, L as resolveExplicitPhysicalId, Lt as markAuxiliaryFailure, M as isQuotableImportValue, N as normalizeAwsTagsToCfn, O as assertRegionMatch, Ot as withDerivedNameMasks, P as quotedRemedyLogicalId, Qt as injectiveKey, Rt as markCreatedBeforeFailure, S as replayedSendWindow, Sr as isThrottlingError, St as stateOrphanRecordRemedy, T as RESOURCE_NOT_FOUND, Tn as ProvisioningError, Tr as wrapMaskedAwsError, Tt as isSecretDerivedValue, Un as isInertUnquoted, V as deleteAfterProtectionFlipWithFinalSnapshot, Vn as commandHole, Wn as pasteableCommand, X as rdsFamilyProtectionSite, Xn as withheldTargetClause, Y as protectionFlipKey, Yn as shellQuote, _ as RecentIdSet, _r as isRetryableTransientError, _t as compositeIdSkipResult, a as onlySecretDerived, an as ambientCredentialConfig, ar as markNameCollision, at as protectedReplacementAdvice, b as isInsideWindow, br as THROTTLING_ERROR_NAMES, c as recordedPrincipalsRepair, cn as AccountIdUnavailableError, dr as explicitDenyPolicyKind, dt as startInterruptWatch, ft as ElapsedBudgetRegistry, g as AmbiguousCreateLatch, gt as compositeIdSeparatorRefusal, h as AMBIGUOUS_LATCH_TTL_MS, hr as isExplicitDenyError, ht as compositeIdFormatMessage, i as holdsSecretDerivedEntry, in as ambientClientDefaults, it as pasteableAwsCommand, j as isPlainImportValue, jt as clearCreatedBeforeFailure, k as VALUE_NOT_SHOWN, mr as isAmbiguousOutcomeError, mt as canonicalizeRoute53QueryName, nt as WITHHELD_AWS_COMMAND, o as readPrincipalLists, on as clientDefaultsFor, or as markReplayMayCollide, ot as renderDisableCommand, p as withRemovalDefaults, q as logGroupProtectionSite, r as SECRET_DERIVED_READ_LIVE, rn as withPasteableAwsProfile, rt as isAwsCliLiteral, sn as credentialFingerprint, sr as relayedNameCollision, tt as UNNAMEABLE_ID_CLAUSE, u as clearOnUpdateRemoval, un as CdkdError, ut as isInterruptedWaitError, v as ambiguousAttemptLead, vr as isTransientServerError, vt as logicalIdShown, w as withoutServerErrorRetries, wr as markRedactedCause, wt as createMaskedRetryLogger, x as replayFollowedAmbiguousAttempt, xr as isMarkedNonRetryable, xt as segmentAfterAnchor, y as createAttemptKey, yt as packCompositeId, z as ProtectionFlipRegistry, zt as markSupersedesEarlierCreate } from "./iam-policy-targets-OyoL9Woo.js";
4
4
  import { c as ambientRegion } from "./aws-client-defaults-BX9Y_fKp.js";
5
- import { $r as markDeleteStarted, Aa as parseWebACLArn, Ai as deleteSkipReason, Ba as accountArgs, C as hasCdkAutoDeleteTag, Ds as sameLambdaFunctionAddress, Dt as lookupEachName, E as markRefusedBeforeApplying, Es as lambdaFunctionNameForMask, Et as isAccessDeniedError, F as findNestedTemplateTreeDefect, Fi as ec2InstanceProtectionSite, Fo as refuseMalformedResourcesForDestroy, Fu as resolveAssemblyPath, Gi as s3BucketArn, Gs as markSameGenerationBag, I as isAbsoluteAssetPath, Ii as isTerminationProtectionPropagationError, Ji as s3BucketRegionalDomainName, Jr as acquireIdempotencyToken, Js as snapshotPassProvenance, Ki as s3BucketDomainName, Kr as reserveStackCreateToken, Ks as redactForState, L as listNestedTemplateRows, Li as observeThenDisableInstanceApiTermination, Mi as isWaitAbandonedError, Mu as describeFileReadFailure, Na as passedParameterClassesOf, Ni as markWaitAbandoned, Nu as displayAssemblyPath, Ot as withApiLimit, Pu as renderAssemblyPathEscape, Qn as awaitInFlightSibling, Qr as isRefusedByName, R as renderNestedTemplateTreeDefect, Ri as reDisableInstanceApiTermination, S as S3_AUTO_DELETE_OBJECTS_TAG, T as getPriorAttempts, Ti as unchangedBehindSecretReference, Ts as canonicalLambdaFunctionName, Tt as chunks, W as enclosingDeadlineRemainingMs, Wi as isSettledInstanceState, Wr as earliestDefined, Yi as s3BucketWebsiteUrl, Yo as findSilentDropProperties, Zo as withoutSilentDropProperties, Zs as hasMaskableValues, _ as deleteTableWithIndexBusyRetry, _s as replayWarn, ai as tagMapAsList, an as isRedactedRecordedValue, b as waitForIndexesSettled, ba as getAccountInfo, bc as physicalNameCopiesOf, bs as requireConfigString, c as DynamoDBGlobalTableProvider, ci as stringifyIfAssigned, cl as timePhase, cs as isWarmThroughputDecrease, d as compensateRemovedDeletionProtection, dc as withoutPhysicalNameCopies, dl as stringifyValue, ds as coerceCfnBoolean, ea as outputReferenceProvenanceOf, ei as DBPROXY_TAGS_WHAT, er as getStackRecords, f as deleteBudgetKey, fs as coerceCfnInteger, g as INDEX_SETTLE_POLL_INTERVAL_MS, gl as rewriteTemplateAssetReferences, gs as readConfigString, h as DELETE_INDEX_WAIT_PROCEED_NOTE, ho as refuseMalformedNestedChildOutputs, hs as configStringRefusal, ht as withNestedStackContext, hu as decodeListingKey, ii as refuseMalformedDesiredTags, in as REDACTED_DELETE_ADDRESS_SKIP_REASON, ji as withIndeterminateGuard, jr as secretNamedAttributeNamesOf, l as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, ls as toCfnInteger, m as resolveDynamoDbDeleteBudgetMs, mi as waitForLambdaFunctionActive, ms as configIntegerRefusal, mt as getCurrentNestedStackContext, ni as planTagDiff, nn as getCurrentProducerRegions, nr as replacedDeleteFailureVerdict, oi as tagPlanWarning, on as redactedDeleteAddressFields, os as WARM_THROUGHPUT_MEMBERS, p as resolveDynamoDbDeleteBudgetClock, pc as dynamicReferenceTokens, ps as configBooleanRefusal, qi as s3BucketDualStackDomainName, qo as withheldAccountClause, qs as recordReferenceProvenanceEntry, ri as readTagList, si as definedAttributes, sn as redactedDeleteAddressSkip, ss as coerceWarmThroughput$1, st as getNestedRevertRun, t as DeployEngine, ti as DBPROXY_TAG_OPTIONS, u as beginDeleteWait, us as toFiniteNumber, ut as revertNestedChildFromJournal, v as maskedLogger, vi as getCurrentResourceSecrets, vs as requireConfigArray, vu as canonicalizeRegion, w as isTruthyCfnBoolean, wc as carriesSecretMask, wi as slowCcOperationTimeoutMs, ws as withRetry, x as ECR_AUTO_DELETE_IMAGES_TAG, xc as recordAttributeIdCopy, y as relayedIndexBusyDelete, yc as recoverMaskedOutput, ys as requireConfigObject, yu as derivePartitionAndUrlSuffix, zi as reEnableInstanceApiTermination, zs as passedNoEchoParametersOf } from "./deploy-engine-DDrfjG42.js";
6
- import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-CGCxsMm1.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-CfVIS2Wq.js";
8
- import { t as modifyDbInstanceWhenAvailable } from "./db-instance-modify-retry-9kYr_0bT.js";
9
- import { RDSProvider } from "./rds-provider-A9nRiwdN.js";
10
- import { NeptuneProvider } from "./neptune-provider-DMyUUOlw.js";
11
- import { ASGProvider } from "./asg-provider-CpubivcT.js";
5
+ import { $r as markDeleteStarted, Aa as parseWebACLArn, Ai as deleteSkipReason, Ba as accountArgs, C as hasCdkAutoDeleteTag, Ds as sameLambdaFunctionAddress, Dt as lookupEachName, E as markRefusedBeforeApplying, Es as lambdaFunctionNameForMask, Et as isAccessDeniedError, F as findNestedTemplateTreeDefect, Fi as ec2InstanceProtectionSite, Fo as refuseMalformedResourcesForDestroy, Fu as resolveAssemblyPath, Gi as s3BucketArn, Gs as markSameGenerationBag, I as isAbsoluteAssetPath, Ii as isTerminationProtectionPropagationError, Ji as s3BucketRegionalDomainName, Jr as acquireIdempotencyToken, Js as snapshotPassProvenance, Ki as s3BucketDomainName, Kr as reserveStackCreateToken, Ks as redactForState, L as listNestedTemplateRows, Li as observeThenDisableInstanceApiTermination, Mi as isWaitAbandonedError, Mu as describeFileReadFailure, Na as passedParameterClassesOf, Ni as markWaitAbandoned, Nu as displayAssemblyPath, Ot as withApiLimit, Pu as renderAssemblyPathEscape, Qn as awaitInFlightSibling, Qr as isRefusedByName, R as renderNestedTemplateTreeDefect, Ri as reDisableInstanceApiTermination, S as S3_AUTO_DELETE_OBJECTS_TAG, T as getPriorAttempts, Ti as unchangedBehindSecretReference, Ts as canonicalLambdaFunctionName, Tt as chunks, W as enclosingDeadlineRemainingMs, Wi as isSettledInstanceState, Wr as earliestDefined, Yi as s3BucketWebsiteUrl, Yo as findSilentDropProperties, Zo as withoutSilentDropProperties, Zs as hasMaskableValues, _ as deleteTableWithIndexBusyRetry, _s as replayWarn, ai as tagMapAsList, an as isRedactedRecordedValue, b as waitForIndexesSettled, ba as getAccountInfo, bc as physicalNameCopiesOf, bs as requireConfigString, c as DynamoDBGlobalTableProvider, ci as stringifyIfAssigned, cl as timePhase, cs as isWarmThroughputDecrease, d as compensateRemovedDeletionProtection, dc as withoutPhysicalNameCopies, dl as stringifyValue, ds as coerceCfnBoolean, ea as outputReferenceProvenanceOf, ei as DBPROXY_TAGS_WHAT, er as getStackRecords, f as deleteBudgetKey, fs as coerceCfnInteger, g as INDEX_SETTLE_POLL_INTERVAL_MS, gl as rewriteTemplateAssetReferences, gs as readConfigString, h as DELETE_INDEX_WAIT_PROCEED_NOTE, ho as refuseMalformedNestedChildOutputs, hs as configStringRefusal, ht as withNestedStackContext, hu as decodeListingKey, ii as refuseMalformedDesiredTags, in as REDACTED_DELETE_ADDRESS_SKIP_REASON, ji as withIndeterminateGuard, jr as secretNamedAttributeNamesOf, l as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, ls as toCfnInteger, m as resolveDynamoDbDeleteBudgetMs, mi as waitForLambdaFunctionActive, ms as configIntegerRefusal, mt as getCurrentNestedStackContext, ni as planTagDiff, nn as getCurrentProducerRegions, nr as replacedDeleteFailureVerdict, oi as tagPlanWarning, on as redactedDeleteAddressFields, os as WARM_THROUGHPUT_MEMBERS, p as resolveDynamoDbDeleteBudgetClock, pc as dynamicReferenceTokens, ps as configBooleanRefusal, qi as s3BucketDualStackDomainName, qo as withheldAccountClause, qs as recordReferenceProvenanceEntry, ri as readTagList, si as definedAttributes, sn as redactedDeleteAddressSkip, ss as coerceWarmThroughput$1, st as getNestedRevertRun, t as DeployEngine, ti as DBPROXY_TAG_OPTIONS, u as beginDeleteWait, us as toFiniteNumber, ut as revertNestedChildFromJournal, v as maskedLogger, vi as getCurrentResourceSecrets, vs as requireConfigArray, vu as canonicalizeRegion, w as isTruthyCfnBoolean, wc as carriesSecretMask, wi as slowCcOperationTimeoutMs, ws as withRetry, x as ECR_AUTO_DELETE_IMAGES_TAG, xc as recordAttributeIdCopy, y as relayedIndexBusyDelete, yc as recoverMaskedOutput, ys as requireConfigObject, yu as derivePartitionAndUrlSuffix, zi as reEnableInstanceApiTermination, zs as passedNoEchoParametersOf } from "./deploy-engine-BdqMXegu.js";
6
+ import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-mYhK_-VN.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-CUklr39z.js";
8
+ import { t as modifyDbInstanceWhenAvailable } from "./db-instance-modify-retry-DfY7rzvu.js";
9
+ import { RDSProvider } from "./rds-provider-CjasAFV5.js";
10
+ import { NeptuneProvider } from "./neptune-provider-DvFVCaYo.js";
11
+ import { ASGProvider } from "./asg-provider-C8HDzpYh.js";
12
12
  import { createHash, randomUUID } from "node:crypto";
13
13
  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";
14
14
  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, UpdateGroupCommand, UpdateLoginProfileCommand, UpdateUserCommand } from "@aws-sdk/client-iam";
@@ -14774,13 +14774,18 @@ var SecretsManagerSecretProvider = class {
14774
14774
  }));
14775
14775
  }
14776
14776
  if (newReplicas && newReplicas.length > 0) {
14777
- const oldRegionSet = new Set((oldReplicas || []).map((r) => r["Region"]));
14778
- const regionsToAdd = newReplicas.filter((r) => !oldRegionSet.has(r["Region"]));
14777
+ const AWS_MANAGED_SECRETS_KEY = "alias/aws/secretsmanager";
14778
+ const replicaKey = (k) => k === void 0 || k === "" || k === AWS_MANAGED_SECRETS_KEY ? AWS_MANAGED_SECRETS_KEY : JSON.stringify(k);
14779
+ const oldKeyByRegion = new Map((oldReplicas || []).map((r) => [r["Region"], replicaKey(r["KmsKeyId"])]));
14780
+ const regionsToAdd = newReplicas.filter((r) => {
14781
+ const region = r["Region"];
14782
+ return !oldKeyByRegion.has(region) || oldKeyByRegion.get(region) !== replicaKey(r["KmsKeyId"]);
14783
+ });
14779
14784
  if (regionsToAdd.length > 0) await this.smClient.send(new ReplicateSecretToRegionsCommand({
14780
14785
  SecretId: physicalId,
14781
14786
  AddReplicaRegions: regionsToAdd.map((r) => ({
14782
14787
  Region: r["Region"],
14783
- KmsKeyId: r["KmsKeyId"]
14788
+ KmsKeyId: r["KmsKeyId"] || void 0
14784
14789
  }))
14785
14790
  }));
14786
14791
  }
@@ -14832,13 +14837,37 @@ var SecretsManagerSecretProvider = class {
14832
14837
  warn: (message) => logger.warn(mask(message))
14833
14838
  };
14834
14839
  }
14840
+ async replicaRegionsBlockingDelete(error, physicalId) {
14841
+ const refusal = error;
14842
+ if (refusal?.name !== "InvalidParameterException" || typeof refusal.message !== "string" || !/replica/i.test(refusal.message)) return;
14843
+ const regions = ((await this.smClient.send(new DescribeSecretCommand({ SecretId: physicalId })).catch(() => void 0))?.ReplicationStatus ?? []).map((r) => r.Region).filter((r) => typeof r === "string" && r.length > 0);
14844
+ return regions.length > 0 ? regions : void 0;
14845
+ }
14835
14846
  async delete(logicalId, physicalId, resourceType, _properties, context) {
14836
14847
  this.logger.debug(`Deleting secret ${logicalId}: ${physicalId}`);
14848
+ const deleteSecret = () => this.smClient.send(new DeleteSecretCommand({
14849
+ SecretId: physicalId,
14850
+ ForceDeleteWithoutRecovery: true
14851
+ }));
14852
+ let unremovedReplicaRegions;
14837
14853
  try {
14838
- await this.smClient.send(new DeleteSecretCommand({
14839
- SecretId: physicalId,
14840
- ForceDeleteWithoutRecovery: true
14841
- }));
14854
+ try {
14855
+ await deleteSecret();
14856
+ } catch (error) {
14857
+ const regions = await this.replicaRegionsBlockingDelete(error, physicalId);
14858
+ if (!regions) throw error;
14859
+ try {
14860
+ await this.smClient.send(new RemoveRegionsFromReplicationCommand({
14861
+ SecretId: physicalId,
14862
+ RemoveReplicaRegions: regions
14863
+ }));
14864
+ } catch (removeError) {
14865
+ unremovedReplicaRegions = regions;
14866
+ throw removeError;
14867
+ }
14868
+ this.logger.debug(safeMsg`Removed replica regions ${regions.join(", ")} from secret ${physicalId} before deleting it`);
14869
+ await deleteSecret();
14870
+ }
14842
14871
  this.logger.debug(`Successfully deleted secret ${logicalId}`);
14843
14872
  } catch (error) {
14844
14873
  if (error instanceof ResourceNotFoundException$3) {
@@ -14848,7 +14877,10 @@ var SecretsManagerSecretProvider = class {
14848
14877
  return;
14849
14878
  }
14850
14879
  const cause = error instanceof Error ? error : void 0;
14851
- const thrown = this.wrapCaughtError(maskerOrIdentity(context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete secret ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
14880
+ const mask = maskerOrIdentity(context?.maskSecrets);
14881
+ const regions = unremovedReplicaRegions?.join(" ");
14882
+ const step = regions ? ` (removing its replica regions ${regions} first, which DeleteSecret requires). Remove them, then re-run destroy: aws secretsmanager remove-regions-from-replication --secret-id ${mask(physicalId)} --remove-replica-regions ${regions}` : "";
14883
+ const thrown = this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to delete secret ${logicalId}: ${text}${step}`, resourceType, logicalId, physicalId, cause));
14852
14884
  throw error instanceof Error && error.name.includes("NotFound") ? markNotGone(thrown) : thrown;
14853
14885
  }
14854
14886
  }
@@ -37850,6 +37882,8 @@ var KMSProvider = class {
37850
37882
  const mask = context?.maskSecrets;
37851
37883
  properties = withRemovalDefaults(this.removalDefaults, resourceType, properties, previousProperties, context);
37852
37884
  refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
37885
+ const immutableChanged = changedImmutableKeyProperties(properties, previousProperties);
37886
+ if (immutableChanged.length > 0 && !await this.liveKeyMatches(physicalId, properties, immutableChanged, logicalId)) throw new ResourceUpdateNotSupportedError(resourceType, logicalId, immutableKeySuggestion(immutableChanged));
37853
37887
  const newEnabled = templateBool(properties["Enabled"]);
37854
37888
  const enabledChange = newEnabled === templateBool(previousProperties["Enabled"]) ? void 0 : newEnabled === false ? "disable" : "enable";
37855
37889
  try {
@@ -37895,7 +37929,8 @@ var KMSProvider = class {
37895
37929
  await this.getClient().send(new PutKeyPolicyCommand({
37896
37930
  KeyId: physicalId,
37897
37931
  PolicyName: "default",
37898
- Policy: newPolicyStr
37932
+ Policy: newPolicyStr,
37933
+ ...templateBool(properties["BypassPolicyLockoutSafetyCheck"]) === true && { BypassPolicyLockoutSafetyCheck: true }
37899
37934
  }));
37900
37935
  } else if (policyRemoved && newKeyPolicy === void 0) {
37901
37936
  this.logger.debug(safeMsg`Resetting key policy for KMS Key ${logicalId} to the default`);
@@ -37916,6 +37951,20 @@ var KMSProvider = class {
37916
37951
  throw this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to update KMS Key ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
37917
37952
  }
37918
37953
  }
37954
+ async liveKeyMatches(physicalId, properties, changed, logicalId) {
37955
+ let md;
37956
+ try {
37957
+ md = (await this.getClient().send(new DescribeKeyCommand({ KeyId: physicalId }))).KeyMetadata;
37958
+ } catch {
37959
+ return false;
37960
+ }
37961
+ if (!md) return false;
37962
+ const live = immutableKeyShape(md);
37963
+ const desired = immutableKeyShape(properties);
37964
+ const matches = changed.every((name) => isDeepStrictEqual(desired[name], live[name]));
37965
+ if (matches) this.logger.debug(safeMsg`KMS Key ${logicalId}: the live key already holds the desired ${changed.join(", ")}; the record differed`);
37966
+ return matches;
37967
+ }
37919
37968
  async sendRotation(send, justEnabled, resourceType, logicalId, physicalId) {
37920
37969
  try {
37921
37970
  await send();
@@ -38146,6 +38195,23 @@ var KMSProvider = class {
38146
38195
  return null;
38147
38196
  }
38148
38197
  };
38198
+ function immutableKeyShape(properties) {
38199
+ return {
38200
+ KeySpec: properties["KeySpec"] ?? "SYMMETRIC_DEFAULT",
38201
+ KeyUsage: properties["KeyUsage"] ?? "ENCRYPT_DECRYPT",
38202
+ MultiRegion: templateBool(properties["MultiRegion"]) === true,
38203
+ Origin: properties["Origin"] ?? "AWS_KMS"
38204
+ };
38205
+ }
38206
+ function changedImmutableKeyProperties(properties, previousProperties) {
38207
+ const desired = immutableKeyShape(properties);
38208
+ const previous = immutableKeyShape(previousProperties);
38209
+ return Object.keys(desired).filter((name) => !isDeepStrictEqual(desired[name], previous[name]));
38210
+ }
38211
+ function immutableKeySuggestion(changed) {
38212
+ const one = changed.length === 1;
38213
+ return `${changed.join(", ")} changed, and KMS fixes ${one ? "it" : "them"} when the key is created (CloudFormation fails this update too). To keep the key, restore the previous ${one ? "value" : "values"}. To replace it, re-deploy with --replace, plus --force-stateful-recreation unless the key's UpdateReplacePolicy is Retain; without Retain the old key is scheduled for deletion, and data encrypted under it cannot be decrypted once that deletion completes`;
38214
+ }
38149
38215
  function templateBool(value) {
38150
38216
  if (value === void 0 || value === null) return void 0;
38151
38217
  if (typeof value === "string") return value.toLowerCase() === "true";
@@ -46752,8 +46818,7 @@ var S3VectorsProvider = class {
46752
46818
  async createVectorBucket(logicalId, resourceType, properties, context) {
46753
46819
  this.logger.debug(`Creating S3 VectorBucket ${logicalId}`);
46754
46820
  const desiredTags = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
46755
- const vectorBucketName = properties["VectorBucketName"];
46756
- if (!vectorBucketName) throw new ProvisioningError(`VectorBucketName is required for S3 VectorBucket ${logicalId}`, resourceType, logicalId);
46821
+ const vectorBucketName = properties["VectorBucketName"] || generatedNameFor("AWS::S3Vectors::VectorBucket", logicalId);
46757
46822
  const encryptionConfiguration = properties["EncryptionConfiguration"];
46758
46823
  const tagRecord = Object.fromEntries(desiredTags.map((t) => [t.Key, t.Value]));
46759
46824
  const tags = Object.keys(tagRecord).length > 0 ? tagRecord : void 0;
@@ -46983,7 +47048,7 @@ var S3DirectoryBucketProvider = class {
46983
47048
  },
46984
47049
  Location: {
46985
47050
  Name: azId,
46986
- Type: "AvailabilityZone"
47051
+ Type: dataRedundancy === "SingleLocalZone" ? "LocalZone" : "AvailabilityZone"
46987
47052
  },
46988
47053
  ...includeTags ? { Tags: tags } : {}
46989
47054
  }
@@ -47097,15 +47162,16 @@ var S3DirectoryBucketProvider = class {
47097
47162
  } while (continuationToken);
47098
47163
  }
47099
47164
  async readCurrentState(physicalId, _logicalId, _resourceType) {
47165
+ let locationType;
47100
47166
  try {
47101
- await this.s3Client.send(new HeadBucketCommand({ Bucket: physicalId }));
47167
+ locationType = (await this.s3Client.send(new HeadBucketCommand({ Bucket: physicalId })))?.BucketLocationType;
47102
47168
  } catch (err) {
47103
47169
  const e = err;
47104
47170
  if (e.name === "NotFound" || e.name === "NoSuchBucket" || e.name === "BucketNotFound") return RESOURCE_NOT_FOUND;
47105
47171
  throw err;
47106
47172
  }
47107
47173
  const result = { BucketName: physicalId };
47108
- if (physicalId.endsWith("--x-s3")) result["DataRedundancy"] = "SingleAvailabilityZone";
47174
+ if (physicalId.endsWith("--x-s3")) result["DataRedundancy"] = locationType === "LocalZone" ? "SingleLocalZone" : "SingleAvailabilityZone";
47109
47175
  result["Tags"] = await this.readTags(physicalId);
47110
47176
  return result;
47111
47177
  }
@@ -48952,4 +49018,4 @@ var ACMCertificateProvider = class {
48952
49018
 
48953
49019
  //#endregion
48954
49020
  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 };
48955
- //# sourceMappingURL=provider-classes-BFBQvibT.js.map
49021
+ //# sourceMappingURL=provider-classes-L1a3Wl0g.js.map