@go-to-k/cdkd 0.301.7 → 0.301.9

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 (25) hide show
  1. package/dist/{asg-provider-C14GB-Hy.js → asg-provider-BsUcTrJN.js} +3 -3
  2. package/dist/{asg-provider-C14GB-Hy.js.map → asg-provider-BsUcTrJN.js.map} +1 -1
  3. package/dist/cli.js +2 -2
  4. package/dist/{deploy-engine-zLKsm0IM.js → deploy-engine-BN6g5voc.js} +734 -527
  5. package/dist/deploy-engine-BN6g5voc.js.map +1 -0
  6. package/dist/{iam-policy-targets-LyArt3ew.js → iam-policy-targets-DJmfxbko.js} +5 -2
  7. package/dist/iam-policy-targets-DJmfxbko.js.map +1 -0
  8. package/dist/{iam-role-provider-BnStRZFM.js → iam-role-provider-ox_QAXCb.js} +3 -3
  9. package/dist/{iam-role-provider-BnStRZFM.js.map → iam-role-provider-ox_QAXCb.js.map} +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -3
  12. package/dist/{neptune-provider-BlpYIZQP.js → neptune-provider-Dq6PuG9E.js} +3 -3
  13. package/dist/{neptune-provider-BlpYIZQP.js.map → neptune-provider-Dq6PuG9E.js.map} +1 -1
  14. package/dist/{program-CiTz5-_D.js → program-bNAjgmlg.js} +5 -5
  15. package/dist/{program-CiTz5-_D.js.map → program-bNAjgmlg.js.map} +1 -1
  16. package/dist/{provider-classes-BWo7K01p.js → provider-classes-Dbw16dmt.js} +183 -73
  17. package/dist/provider-classes-Dbw16dmt.js.map +1 -0
  18. package/dist/{rds-provider-DagnUCn-.js → rds-provider-iwtmIiPb.js} +3 -3
  19. package/dist/{rds-provider-DagnUCn-.js.map → rds-provider-iwtmIiPb.js.map} +1 -1
  20. package/dist/{version-MUc6NbW0.js → version-BWoiT1SX.js} +2 -2
  21. package/dist/{version-MUc6NbW0.js.map → version-BWoiT1SX.js.map} +1 -1
  22. package/package.json +1 -1
  23. package/dist/deploy-engine-zLKsm0IM.js.map +0 -1
  24. package/dist/iam-policy-targets-LyArt3ew.js.map +0 -1
  25. package/dist/provider-classes-BWo7K01p.js.map +0 -1
@@ -1,13 +1,13 @@
1
1
  import { r as getAwsClients } from "./aws-clients-B_CEQGE1.js";
2
2
  import { B as safeMsg, F as displaySafe, I as displayStackName, L as isPasteableIdent, O as SECRET_REF_MAX_CODE_POINTS, P as displayIdent, a as getLogger, b as generateResourceNameWithFallback, n as isAwsAuthoredFailure, r as safeStringify, t as describeAwsFailure, y as generateResourceName, z as plainIdentOr } from "./aws-failure-text-BEQfs6za.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, _t as createMaskedLogSinks, a as onlySecretDerived, at as startInterruptWatch, b as isInsideWindow, bn as ResourceUpdateNotSupportedError, bt as maskDeep, c as recordedPrincipalsRepair, ct as canonicalizeRoute53QueryName, dr as isThrottlingError, dt as compositeIdSkipResult, en as clientDefaultsFor, er as explicitDenyPolicyKind, et as renderDisableCommand, fr as markNonRetryable, ft as logicalIdShown, g as AmbiguousCreateLatch, gt as stateOrphanRecordRemedy, h as AMBIGUOUS_LATCH_TTL_MS, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, in as CdkdError, ir as isExplicitDenyError, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jt as markAuxiliaryFailure, k as isPlainImportValue, lr as THROTTLING_ERROR_NAMES, lt as compositeIdFormatMessage, mr as wrapMaskedAwsError, nn as AccountIdUnavailableError, o as readPrincipalLists, or as isRetryableTransientError, ot as ElapsedBudgetRegistry, p as withRemovalDefaults, pr as markRedactedCause, pt as packCompositeId, q as userPoolProtectionSite, qn as isNameCollisionError, qt as injectiveKeyPrefix, r as SECRET_DERIVED_READ_LIVE, rr as isAmbiguousOutcomeError, sr as isTransientServerError, tn as credentialFingerprint, u as clearOnUpdateRemoval, ur as isMarkedNonRetryable, ut as compositeIdSeparatorRefusal, v as ambiguousAttemptLead, vn as ProvisioningError, 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-LyArt3ew.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, _t as createMaskedLogSinks, a as onlySecretDerived, ar as isExplicitDenyError, at as startInterruptWatch, b as isInsideWindow, bn as ResourceUpdateNotSupportedError, bt as maskDeep, c as recordedPrincipalsRepair, cr as isTransientServerError, ct as canonicalizeRoute53QueryName, dr as isMarkedNonRetryable, dt as compositeIdSkipResult, en as clientDefaultsFor, er as relayedNameCollision, et as renderDisableCommand, fr as isThrottlingError, ft as logicalIdShown, g as AmbiguousCreateLatch, gt as stateOrphanRecordRemedy, h as AMBIGUOUS_LATCH_TTL_MS, hr as wrapMaskedAwsError, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, in as CdkdError, ir as isAmbiguousOutcomeError, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jt as markAuxiliaryFailure, k as isPlainImportValue, lt as compositeIdFormatMessage, mr as markRedactedCause, nn as AccountIdUnavailableError, o as readPrincipalLists, ot as ElapsedBudgetRegistry, p as withRemovalDefaults, pr as markNonRetryable, pt as packCompositeId, q as userPoolProtectionSite, qn as isNameCollisionError, qt as injectiveKeyPrefix, r as SECRET_DERIVED_READ_LIVE, sr as isRetryableTransientError, tn as credentialFingerprint, tr as explicitDenyPolicyKind, u as clearOnUpdateRemoval, ur as THROTTLING_ERROR_NAMES, ut as compositeIdSeparatorRefusal, v as ambiguousAttemptLead, vn as ProvisioningError, 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-DJmfxbko.js";
4
4
  import { s as ambientRegion } from "./aws-client-defaults-DBXBcg0J.js";
5
- import { $i as accountArgs, Ao as replayWarn, Bl as displayAssemblyPath, Bo as sameLambdaFunctionAddress, C as getPriorAttempts, Cc as rewriteTemplateAssetReferences, Cn as awaitInFlightSibling, Co as toFiniteNumber, Dn as replacedDeleteFailureVerdict, Do as configIntegerRefusal, Dr as waitForLambdaFunctionActive, Dt as withApiLimit, Eo as configBooleanRefusal, Es as dynamicReferenceTokens, Et as lookupEachName, F as listNestedTemplateRows, Gr as isWaitAbandonedError, Hl as resolveAssemblyPath, I as renderNestedTemplateTreeDefect, Ja as refuseMalformedResourcesForDestroy, Jr as ec2InstanceProtectionSite, Jt as redactedDeleteAddressFields, Ki as passedParameterClassesOf, Kn as secretNamedAttributeNamesOf, Kr as markWaitAbandoned, Kt as REDACTED_DELETE_ADDRESS_SKIP_REASON, Lo as withRetry, Lr as slowCcOperationTimeoutMs, Ls as carriesSecretMask, Mo as requireConfigObject, Ms as recoverMaskedOutput, N as findNestedTemplateTreeDefect, Ni as getAccountInfo, No as requireConfigString, Ns as physicalNameCopiesOf, Oa as refuseMalformedNestedChildOutputs, Ol as canonicalizeRegion, Oo as configStringRefusal, P as isAbsoluteAssetPath, Ps as recordAttributeIdCopy, Qo as passedNoEchoParametersOf, Qr as reEnableInstanceApiTermination, Ro as canonicalLambdaFunctionName, Rr as unchangedBehindSecretReference, S as isTruthyCfnBoolean, So as toCfnInteger, Tl as decodeListingKey, Tn as getStackRecords, To as coerceCfnInteger, Tt as isAccessDeniedError, Ui as parseWebACLArn, Ur as deleteSkipReason, Vl as renderAssemblyPathEscape, Wr as withIndeterminateGuard, Wt as getCurrentProducerRegions, Xr as observeThenDisableInstanceApiTermination, Yr as isTerminationProtectionPropagationError, Yt as redactedDeleteAddressSkip, Zr as reDisableInstanceApiTermination, _ as deleteTableWithIndexBusyRetry, _r as refuseMalformedDesiredTags, ai as s3BucketDomainName, b as S3_AUTO_DELETE_OBJECTS_TAG, bo as coerceWarmThroughput$1, br as definedAttributes, bs as snapshotPassProvenance, c as DynamoDBGlobalTableProvider, ci as s3BucketWebsiteUrl, co as findSilentDropProperties, cr as reserveStackCreateToken, d as compensateRemovedDeletionProtection, dr as isRefusedByName, f as deleteBudgetKey, fr as markDeleteStarted, g as INDEX_SETTLE_POLL_INTERVAL_MS, gr as readTagList, h as DELETE_INDEX_WAIT_PROCEED_NOTE, hr as planTagDiff, ii as s3BucketArn, jo as requireConfigArray, jr as getCurrentResourceSecrets, kl as derivePartitionAndUrlSuffix, ko as readConfigString, l as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, lt as revertNestedChildFromJournal, m as resolveDynamoDbDeleteBudgetMs, mr as DBPROXY_TAG_OPTIONS, mt as withNestedStackContext, oi as s3BucketDualStackDomainName, oo as withheldAccountClause, or as earliestDefined, os as hasMaskableValues, ot as getNestedRevertRun, p as resolveDynamoDbDeleteBudgetClock, pi as outputReferenceProvenanceOf, pr as DBPROXY_TAGS_WHAT, pt as getCurrentNestedStackContext, qt as isRedactedRecordedValue, ri as isSettledInstanceState, si as s3BucketRegionalDomainName, t as DeployEngine, u as beginDeleteWait, uo as withoutSilentDropProperties, ur as acquireIdempotencyToken, v as waitForIndexesSettled, vc as stringifyValue, vr as tagMapAsList, vs as markSameGenerationBag, w as markRefusedBeforeApplying, wo as coerceCfnBoolean, ws as withoutPhysicalNameCopies, wt as chunks, x as hasCdkAutoDeleteTag, xo as isWarmThroughputDecrease, xr as stringifyIfAssigned, xs as redactForState, y as ECR_AUTO_DELETE_IMAGES_TAG, yo as WARM_THROUGHPUT_MEMBERS, yr as tagPlanWarning, ys as recordReferenceProvenanceEntry, zl as describeFileReadFailure, zo as lambdaFunctionNameForMask } from "./deploy-engine-zLKsm0IM.js";
6
- import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-BnStRZFM.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-CiTz5-_D.js";
8
- import { RDSProvider } from "./rds-provider-DagnUCn-.js";
9
- import { NeptuneProvider } from "./neptune-provider-BlpYIZQP.js";
10
- import { ASGProvider } from "./asg-provider-C14GB-Hy.js";
5
+ import { $i as accountArgs, Ao as replayWarn, Bl as displayAssemblyPath, Bo as sameLambdaFunctionAddress, C as getPriorAttempts, Cc as rewriteTemplateAssetReferences, Cn as awaitInFlightSibling, Co as toFiniteNumber, Dn as replacedDeleteFailureVerdict, Do as configIntegerRefusal, Dr as waitForLambdaFunctionActive, Dt as withApiLimit, Eo as configBooleanRefusal, Es as dynamicReferenceTokens, Et as lookupEachName, F as listNestedTemplateRows, Gr as isWaitAbandonedError, Hl as resolveAssemblyPath, I as renderNestedTemplateTreeDefect, Ja as refuseMalformedResourcesForDestroy, Jr as ec2InstanceProtectionSite, Jt as redactedDeleteAddressFields, Ki as passedParameterClassesOf, Kn as secretNamedAttributeNamesOf, Kr as markWaitAbandoned, Kt as REDACTED_DELETE_ADDRESS_SKIP_REASON, Lo as withRetry, Lr as slowCcOperationTimeoutMs, Ls as carriesSecretMask, Mo as requireConfigObject, Ms as recoverMaskedOutput, N as findNestedTemplateTreeDefect, Ni as getAccountInfo, No as requireConfigString, Ns as physicalNameCopiesOf, Oa as refuseMalformedNestedChildOutputs, Ol as canonicalizeRegion, Oo as configStringRefusal, P as isAbsoluteAssetPath, Ps as recordAttributeIdCopy, Qo as passedNoEchoParametersOf, Qr as reEnableInstanceApiTermination, Ro as canonicalLambdaFunctionName, Rr as unchangedBehindSecretReference, S as isTruthyCfnBoolean, So as toCfnInteger, Tl as decodeListingKey, Tn as getStackRecords, To as coerceCfnInteger, Tt as isAccessDeniedError, Ui as parseWebACLArn, Ur as deleteSkipReason, Vl as renderAssemblyPathEscape, Wr as withIndeterminateGuard, Wt as getCurrentProducerRegions, Xr as observeThenDisableInstanceApiTermination, Yr as isTerminationProtectionPropagationError, Yt as redactedDeleteAddressSkip, Zr as reDisableInstanceApiTermination, _ as deleteTableWithIndexBusyRetry, _r as refuseMalformedDesiredTags, ai as s3BucketDomainName, as as redactForState, b as S3_AUTO_DELETE_OBJECTS_TAG, bo as coerceWarmThroughput$1, br as definedAttributes, c as DynamoDBGlobalTableProvider, ci as s3BucketWebsiteUrl, co as findSilentDropProperties, cr as reserveStackCreateToken, d as compensateRemovedDeletionProtection, dr as isRefusedByName, f as deleteBudgetKey, fr as markDeleteStarted, g as INDEX_SETTLE_POLL_INTERVAL_MS, gr as readTagList, h as DELETE_INDEX_WAIT_PROCEED_NOTE, hr as planTagDiff, ii as s3BucketArn, is as markSameGenerationBag, jo as requireConfigArray, jr as getCurrentResourceSecrets, kl as derivePartitionAndUrlSuffix, ko as readConfigString, l as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, lt as revertNestedChildFromJournal, m as resolveDynamoDbDeleteBudgetMs, mr as DBPROXY_TAG_OPTIONS, mt as withNestedStackContext, oi as s3BucketDualStackDomainName, oo as withheldAccountClause, or as earliestDefined, os as recordReferenceProvenanceEntry, ot as getNestedRevertRun, p as resolveDynamoDbDeleteBudgetClock, pi as outputReferenceProvenanceOf, pr as DBPROXY_TAGS_WHAT, pt as getCurrentNestedStackContext, qt as isRedactedRecordedValue, ri as isSettledInstanceState, si as s3BucketRegionalDomainName, ss as snapshotPassProvenance, t as DeployEngine, u as beginDeleteWait, uo as withoutSilentDropProperties, ur as acquireIdempotencyToken, us as hasMaskableValues, v as waitForIndexesSettled, vc as stringifyValue, vr as tagMapAsList, w as markRefusedBeforeApplying, wo as coerceCfnBoolean, ws as withoutPhysicalNameCopies, wt as chunks, x as hasCdkAutoDeleteTag, xo as isWarmThroughputDecrease, xr as stringifyIfAssigned, y as ECR_AUTO_DELETE_IMAGES_TAG, yo as WARM_THROUGHPUT_MEMBERS, yr as tagPlanWarning, zl as describeFileReadFailure, zo as lambdaFunctionNameForMask } from "./deploy-engine-BN6g5voc.js";
6
+ import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-ox_QAXCb.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-bNAjgmlg.js";
8
+ import { RDSProvider } from "./rds-provider-iwtmIiPb.js";
9
+ import { NeptuneProvider } from "./neptune-provider-Dq6PuG9E.js";
10
+ import { ASGProvider } from "./asg-provider-BsUcTrJN.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";
@@ -15,7 +15,7 @@ import { CreateQueueCommand, DeleteQueueCommand, GetQueueAttributesCommand, GetQ
15
15
  import { CreateTopicCommand, DeleteTopicCommand, GetSubscriptionAttributesCommand, GetTopicAttributesCommand, InvalidParameterException, ListSubscriptionsByTopicCommand, ListTagsForResourceCommand, ListTopicsCommand, NotFoundException, SNSClient, SetSubscriptionAttributesCommand, SetTopicAttributesCommand, SubscribeCommand, TagResourceCommand, UnsubscribeCommand, UntagResourceCommand } from "@aws-sdk/client-sns";
16
16
  import { AddPermissionCommand, CreateEventSourceMappingCommand, CreateFunctionCommand, CreateFunctionUrlConfigCommand, DeleteEventSourceMappingCommand, DeleteFunctionCodeSigningConfigCommand, DeleteFunctionCommand, DeleteFunctionConcurrencyCommand, DeleteFunctionEventInvokeConfigCommand, DeleteFunctionUrlConfigCommand, DeleteLayerVersionCommand, GetEventSourceMappingCommand, GetFunctionCodeSigningConfigCommand, GetFunctionCommand, GetFunctionConcurrencyCommand, GetFunctionEventInvokeConfigCommand, GetFunctionRecursionConfigCommand, GetFunctionUrlConfigCommand, GetLayerVersionByArnCommand, GetPolicyCommand as GetPolicyCommand$1, GetRuntimeManagementConfigCommand, LambdaClient, ListEventSourceMappingsCommand, ListLayerVersionsCommand, ListTagsCommand, PublishLayerVersionCommand, PutFunctionCodeSigningConfigCommand, PutFunctionConcurrencyCommand, PutFunctionEventInvokeConfigCommand, PutFunctionRecursionConfigCommand, PutRuntimeManagementConfigCommand, RemovePermissionCommand, ResourceNotFoundException, TagResourceCommand as TagResourceCommand$1, UntagResourceCommand as UntagResourceCommand$1, UpdateEventSourceMappingCommand, UpdateFunctionCodeCommand, UpdateFunctionConfigurationCommand, UpdateFunctionUrlConfigCommand, waitUntilFunctionActiveV2, waitUntilFunctionUpdatedV2 } from "@aws-sdk/client-lambda";
17
17
  import { GetCallerIdentityCommand, STSClient } from "@aws-sdk/client-sts";
18
- import { AllocateAddressCommand, AssociateAddressCommand, AssociateIamInstanceProfileCommand, AssociateRouteTableCommand, AttachInternetGatewayCommand, AuthorizeSecurityGroupEgressCommand, AuthorizeSecurityGroupIngressCommand, CreateInternetGatewayCommand, CreateNatGatewayCommand, CreateNetworkAclCommand, CreateNetworkAclEntryCommand, CreateRouteCommand, CreateRouteTableCommand, CreateSecurityGroupCommand, CreateSubnetCommand, CreateTagsCommand, CreateVpcCommand, DeleteInternetGatewayCommand, DeleteNatGatewayCommand, DeleteNetworkAclCommand, DeleteNetworkAclEntryCommand, DeleteNetworkInterfaceCommand, DeleteRouteCommand, DeleteRouteTableCommand, DeleteSecurityGroupCommand, DeleteSubnetCommand, DeleteTagsCommand, DeleteVpcCommand, DescribeAddressesCommand, DescribeAvailabilityZonesCommand, DescribeIamInstanceProfileAssociationsCommand, DescribeInstanceAttributeCommand, DescribeInstanceCreditSpecificationsCommand, DescribeInstancesCommand, DescribeInternetGatewaysCommand, DescribeNatGatewaysCommand, DescribeNetworkAclsCommand, DescribeNetworkInterfacesCommand, DescribeRouteTablesCommand, DescribeSecurityGroupRulesCommand, DescribeSecurityGroupsCommand, DescribeSubnetsCommand, DescribeVolumesCommand, DescribeVpcAttributeCommand, DescribeVpcsCommand, DetachInternetGatewayCommand, DisassociateAddressCommand, DisassociateRouteTableCommand, EC2Client, ModifyInstanceAttributeCommand, ModifyInstanceCreditSpecificationCommand, ModifyInstanceMetadataOptionsCommand, ModifySubnetAttributeCommand, ModifyVpcAttributeCommand, MonitorInstancesCommand, ReleaseAddressCommand, ReplaceNetworkAclAssociationCommand, RevokeSecurityGroupEgressCommand, RevokeSecurityGroupIngressCommand, RunInstancesCommand, TerminateInstancesCommand, UnmonitorInstancesCommand, waitUntilInstanceRunning, waitUntilInstanceTerminated, waitUntilNatGatewayAvailable, waitUntilNatGatewayDeleted } from "@aws-sdk/client-ec2";
18
+ import { AllocateAddressCommand, AssociateAddressCommand, AssociateIamInstanceProfileCommand, AssociateRouteTableCommand, AttachInternetGatewayCommand, AuthorizeSecurityGroupEgressCommand, AuthorizeSecurityGroupIngressCommand, CreateInternetGatewayCommand, CreateNatGatewayCommand, CreateNetworkAclCommand, CreateNetworkAclEntryCommand, CreateRouteCommand, CreateRouteTableCommand, CreateSecurityGroupCommand, CreateSubnetCommand, CreateTagsCommand, CreateVpcCommand, DeleteInternetGatewayCommand, DeleteNatGatewayCommand, DeleteNetworkAclCommand, DeleteNetworkAclEntryCommand, DeleteNetworkInterfaceCommand, DeleteRouteCommand, DeleteRouteTableCommand, DeleteSecurityGroupCommand, DeleteSubnetCommand, DeleteTagsCommand, DeleteVpcCommand, DescribeAddressesCommand, DescribeAvailabilityZonesCommand, DescribeIamInstanceProfileAssociationsCommand, DescribeInstanceAttributeCommand, DescribeInstanceCreditSpecificationsCommand, DescribeInstancesCommand, DescribeInternetGatewaysCommand, DescribeNatGatewaysCommand, DescribeNetworkAclsCommand, DescribeNetworkInterfacesCommand, DescribeRouteTablesCommand, DescribeSecurityGroupRulesCommand, DescribeSecurityGroupsCommand, DescribeSubnetsCommand, DescribeVolumesCommand, DescribeVpcAttributeCommand, DescribeVpcsCommand, DetachInternetGatewayCommand, DisassociateAddressCommand, DisassociateRouteTableCommand, EC2Client, ModifyInstanceAttributeCommand, ModifyInstanceCreditSpecificationCommand, ModifyInstanceMetadataOptionsCommand, ModifySubnetAttributeCommand, ModifyVpcAttributeCommand, MonitorInstancesCommand, ReleaseAddressCommand, ReplaceNetworkAclAssociationCommand, ReplaceNetworkAclEntryCommand, ReplaceRouteCommand, RevokeSecurityGroupEgressCommand, RevokeSecurityGroupIngressCommand, RunInstancesCommand, TerminateInstancesCommand, UnmonitorInstancesCommand, waitUntilInstanceRunning, waitUntilInstanceTerminated, waitUntilNatGatewayAvailable, waitUntilNatGatewayDeleted } from "@aws-sdk/client-ec2";
19
19
  import { CreateTableCommand, DeleteResourcePolicyCommand, DeleteTableCommand, DescribeContinuousBackupsCommand, DescribeContributorInsightsCommand, DescribeKinesisStreamingDestinationCommand, DescribeTableCommand, DescribeTimeToLiveCommand, DisableKinesisStreamingDestinationCommand, DynamoDBClient, EnableKinesisStreamingDestinationCommand, GetResourcePolicyCommand, ListTagsOfResourceCommand, PolicyNotFoundException, PutResourcePolicyCommand, ResourceNotFoundException as ResourceNotFoundException$1, TagResourceCommand as TagResourceCommand$2, UntagResourceCommand as UntagResourceCommand$2, UpdateContinuousBackupsCommand, UpdateContributorInsightsCommand, UpdateTableCommand, UpdateTimeToLiveCommand } from "@aws-sdk/client-dynamodb";
20
20
  import { APIGatewayClient, CreateAuthorizerCommand, CreateDeploymentCommand, CreateResourceCommand, CreateStageCommand, DeleteAuthorizerCommand, DeleteDeploymentCommand, DeleteMethodCommand, DeleteResourceCommand, DeleteStageCommand, GetAccountCommand, GetAuthorizerCommand, GetAuthorizersCommand, GetDeploymentCommand, GetDeploymentsCommand, GetMethodCommand, GetResourceCommand, GetStageCommand, NotFoundException as NotFoundException$1, PutIntegrationCommand, PutIntegrationResponseCommand, PutMethodCommand, PutMethodResponseCommand, TagResourceCommand as TagResourceCommand$3, UntagResourceCommand as UntagResourceCommand$3, UpdateAccountCommand, UpdateAuthorizerCommand, UpdateMethodCommand, UpdateStageCommand } from "@aws-sdk/client-api-gateway";
21
21
  import { CreateEventBusCommand, DeleteEventBusCommand, DeleteRuleCommand, DescribeEventBusCommand, DescribeRuleCommand, EventBridgeClient, ListRulesCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$1, ListTargetsByRuleCommand, PutPermissionCommand, PutRuleCommand, PutTargetsCommand, RemoveTargetsCommand, ResourceNotFoundException as ResourceNotFoundException$2, TagResourceCommand as TagResourceCommand$4, UntagResourceCommand as UntagResourceCommand$4, UpdateEventBusCommand } from "@aws-sdk/client-eventbridge";
@@ -15697,6 +15697,39 @@ function narrowRouteDestinations(properties) {
15697
15697
  narrowed
15698
15698
  };
15699
15699
  }
15700
+ function routeTargetParams(properties) {
15701
+ return {
15702
+ CarrierGatewayId: properties["CarrierGatewayId"] ?? void 0,
15703
+ CoreNetworkArn: properties["CoreNetworkArn"] ?? void 0,
15704
+ GatewayId: properties["GatewayId"] ?? void 0,
15705
+ LocalGatewayId: properties["LocalGatewayId"] ?? void 0,
15706
+ NatGatewayId: properties["NatGatewayId"] ?? void 0,
15707
+ EgressOnlyInternetGatewayId: properties["EgressOnlyInternetGatewayId"] ?? void 0,
15708
+ InstanceId: properties["InstanceId"] ?? void 0,
15709
+ NetworkInterfaceId: properties["NetworkInterfaceId"] ?? void 0,
15710
+ TransitGatewayId: properties["TransitGatewayId"] ?? void 0,
15711
+ VpcEndpointId: properties["VpcEndpointId"] ?? void 0,
15712
+ VpcPeeringConnectionId: properties["VpcPeeringConnectionId"] ?? void 0
15713
+ };
15714
+ }
15715
+ function networkAclEntryRuleParams(properties, preferLegacyIcmp = false) {
15716
+ const portRange = properties["PortRange"];
15717
+ const icmpTypeCode = preferLegacyIcmp ? properties["IcmpTypeCode"] : properties["Icmp"] ?? properties["IcmpTypeCode"];
15718
+ return {
15719
+ Protocol: String(properties["Protocol"]),
15720
+ RuleAction: properties["RuleAction"],
15721
+ CidrBlock: properties["CidrBlock"],
15722
+ Ipv6CidrBlock: properties["Ipv6CidrBlock"],
15723
+ PortRange: portRange ? {
15724
+ From: portRange["From"],
15725
+ To: portRange["To"]
15726
+ } : void 0,
15727
+ IcmpTypeCode: icmpTypeCode ? {
15728
+ Code: icmpTypeCode["Code"],
15729
+ Type: icmpTypeCode["Type"]
15730
+ } : void 0
15731
+ };
15732
+ }
15700
15733
  function routeMultipleDestinationsMessage(logicalId, declared) {
15701
15734
  return `Route ${logicalId} declares more than one destination (${declared.join(", ")}). CloudFormation and EC2 accept exactly one of DestinationCidrBlock/DestinationIpv6CidrBlock/DestinationPrefixListId; remove the extra keys from the template.`;
15702
15735
  }
@@ -15927,6 +15960,7 @@ var EC2Provider = class {
15927
15960
  ])],
15928
15961
  ["AWS::EC2::SubnetNetworkAclAssociation", /* @__PURE__ */ new Set(["SubnetId", "NetworkAclId"])]
15929
15962
  ]);
15963
+ removalDefaults = /* @__PURE__ */ new Map([["AWS::EC2::VPC", /* @__PURE__ */ new Map([["EnableDnsHostnames", false], ["EnableDnsSupport", true]])]]);
15930
15964
  unhandledByDesign = /* @__PURE__ */ new Map([
15931
15965
  ["AWS::EC2::Instance", /* @__PURE__ */ new Map([["ElasticGpuSpecifications", "AWS Elastic GPU end-of-life (announced 2023-11); no replacement API"], ["ElasticInferenceAccelerators", "AWS Elastic Inference end-of-life 2024-04; use AWS Inferentia / Trainium accelerator instance families instead"]])],
15932
15966
  ["AWS::EC2::SecurityGroupIngress", /* @__PURE__ */ new Map([["GroupName", "EC2-Classic-only — use GroupId for VPC security groups (EC2-Classic retired 2022-08-15)"], ["SourceSecurityGroupName", "EC2-Classic-only — use SourceSecurityGroupId for VPC peer security groups (EC2-Classic retired 2022-08-15)"]])],
@@ -16080,6 +16114,7 @@ var EC2Provider = class {
16080
16114
  }
16081
16115
  }
16082
16116
  async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
16117
+ properties = withRemovalDefaults(this.removalDefaults, resourceType, properties, previousProperties, context);
16083
16118
  try {
16084
16119
  return await this.applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties, context);
16085
16120
  } catch (error) {
@@ -16102,8 +16137,8 @@ var EC2Provider = class {
16102
16137
  case "AWS::EC2::SecurityGroup": return this.updateSecurityGroup(logicalId, physicalId, resourceType, properties, previousProperties);
16103
16138
  case "AWS::EC2::SecurityGroupIngress": return this.updateSecurityGroupIngress(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets, context?.replayingState === true, context?.recordedAttributes);
16104
16139
  case "AWS::EC2::Instance": return this.updateInstance(logicalId, physicalId, resourceType, properties, previousProperties);
16140
+ case "AWS::EC2::NetworkAclEntry": return this.updateNetworkAclEntry(logicalId, physicalId, resourceType, properties, previousProperties, context);
16105
16141
  case "AWS::EC2::NetworkAcl":
16106
- case "AWS::EC2::NetworkAclEntry":
16107
16142
  case "AWS::EC2::SubnetNetworkAclAssociation": throw new ResourceUpdateNotSupportedError(resourceType, logicalId, "AWS provides no in-place Update API for this EC2 sub-resource type; every property change requires Delete + Create. Re-deploy with cdkd deploy --replace, or destroy + redeploy.");
16108
16143
  default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId, physicalId);
16109
16144
  }
@@ -17048,17 +17083,7 @@ var EC2Provider = class {
17048
17083
  await this.ec2Client.send(new CreateRouteCommand({
17049
17084
  RouteTableId: routeTableId,
17050
17085
  ...destinationCidrBlock ? { DestinationCidrBlock: destinationCidrBlock } : destinationIpv6CidrBlock ? { DestinationIpv6CidrBlock: destinationIpv6CidrBlock } : { DestinationPrefixListId: destinationPrefixListId },
17051
- CarrierGatewayId: properties["CarrierGatewayId"] ?? void 0,
17052
- CoreNetworkArn: properties["CoreNetworkArn"] ?? void 0,
17053
- GatewayId: properties["GatewayId"] ?? void 0,
17054
- LocalGatewayId: properties["LocalGatewayId"] ?? void 0,
17055
- NatGatewayId: properties["NatGatewayId"] ?? void 0,
17056
- EgressOnlyInternetGatewayId: properties["EgressOnlyInternetGatewayId"] ?? void 0,
17057
- InstanceId: properties["InstanceId"] ?? void 0,
17058
- NetworkInterfaceId: properties["NetworkInterfaceId"] ?? void 0,
17059
- TransitGatewayId: properties["TransitGatewayId"] ?? void 0,
17060
- VpcEndpointId: properties["VpcEndpointId"] ?? void 0,
17061
- VpcPeeringConnectionId: properties["VpcPeeringConnectionId"] ?? void 0
17086
+ ...routeTargetParams(properties)
17062
17087
  }));
17063
17088
  this.logger.debug(`Successfully created Route ${logicalId}: ${physicalId}`);
17064
17089
  return {
@@ -17082,6 +17107,33 @@ var EC2Provider = class {
17082
17107
  const { declared } = narrowRouteDestinations(properties);
17083
17108
  if (declared.length > 1) throw new ProvisioningError(`${routeMultipleDestinationsMessage(logicalId, declared)} The route was not changed.`, resourceType, logicalId, physicalId);
17084
17109
  }
17110
+ const { declared: declaredDestinations, narrowed: narrowedProperties } = narrowRouteDestinations(properties);
17111
+ const usedDestinationKey = declaredDestinations[0];
17112
+ const routeTableId = properties["RouteTableId"];
17113
+ const destination = usedDestinationKey === void 0 ? void 0 : properties[usedDestinationKey];
17114
+ if (usedDestinationKey !== void 0 && typeof routeTableId === "string" && typeof destination === "string" && `${routeTableId}|${destination}` === physicalId) {
17115
+ let effectiveProperties;
17116
+ if (declaredDestinations.length > 1) {
17117
+ effectiveProperties = narrowedProperties;
17118
+ this.logger.warn(safeMsg`${routeMultipleDestinationsMessage(logicalId, declaredDestinations)} Continuing with ${usedDestinationKey} and ignoring the rest.`);
17119
+ }
17120
+ try {
17121
+ await this.ec2Client.send(new ReplaceRouteCommand({
17122
+ RouteTableId: routeTableId,
17123
+ [usedDestinationKey]: destination,
17124
+ ...routeTargetParams(properties)
17125
+ }));
17126
+ this.logger.debug(safeMsg`Successfully replaced the target of Route ${logicalId}`);
17127
+ return {
17128
+ physicalId,
17129
+ wasReplaced: false,
17130
+ ...effectiveProperties && { effectiveProperties }
17131
+ };
17132
+ } catch (error) {
17133
+ const cause = error instanceof Error ? error : void 0;
17134
+ throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to update Route ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
17135
+ }
17136
+ }
17085
17137
  try {
17086
17138
  await this.deleteRoute(logicalId, physicalId, resourceType);
17087
17139
  const createResult = await this.createRoute(logicalId, resourceType, properties, (message) => this.logger.warn(message), maskSecrets);
@@ -18223,26 +18275,11 @@ var EC2Provider = class {
18223
18275
  ...context?.replayingState === true && { onRefusal: (message) => this.logger.warn(message) }
18224
18276
  });
18225
18277
  try {
18226
- const cidrBlock = properties["CidrBlock"];
18227
- const ipv6CidrBlock = properties["Ipv6CidrBlock"];
18228
- const portRange = properties["PortRange"];
18229
- const icmpTypeCode = properties["Icmp"] ?? properties["IcmpTypeCode"];
18230
18278
  await this.ec2Client.send(new CreateNetworkAclEntryCommand({
18231
18279
  NetworkAclId: networkAclId,
18232
18280
  RuleNumber: ruleNumber,
18233
- Protocol: String(protocol),
18234
- RuleAction: ruleAction,
18235
18281
  Egress: egress,
18236
- CidrBlock: cidrBlock,
18237
- Ipv6CidrBlock: ipv6CidrBlock,
18238
- PortRange: portRange ? {
18239
- From: portRange["From"],
18240
- To: portRange["To"]
18241
- } : void 0,
18242
- IcmpTypeCode: icmpTypeCode ? {
18243
- Code: icmpTypeCode["Code"],
18244
- Type: icmpTypeCode["Type"]
18245
- } : void 0
18282
+ ...networkAclEntryRuleParams(properties)
18246
18283
  }));
18247
18284
  this.logger.debug(`Successfully created NetworkAclEntry ${logicalId}: ${physicalId}`);
18248
18285
  return {
@@ -18285,6 +18322,42 @@ var EC2Provider = class {
18285
18322
  throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete NetworkAclEntry ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
18286
18323
  }
18287
18324
  }
18325
+ async updateNetworkAclEntry(logicalId, physicalId, resourceType, properties, previousProperties, context) {
18326
+ if (JSON.stringify(properties) === JSON.stringify(previousProperties)) return {
18327
+ physicalId,
18328
+ wasReplaced: false
18329
+ };
18330
+ const networkAclId = properties["NetworkAclId"];
18331
+ const ruleNumber = properties["RuleNumber"];
18332
+ const egress = properties["Egress"] ?? false;
18333
+ const parts = physicalId.split("|");
18334
+ if (parts.length !== 3) throw new ProvisioningError(compositeIdFormatMessage(EC2_NETWORK_ACL_ENTRY_ID_FORMAT, logicalId, physicalId), resourceType, logicalId, physicalId);
18335
+ if (typeof networkAclId !== "string" || ruleNumber === void 0 || parts[0] !== networkAclId || parts[1] !== String(ruleNumber) || parts[2] !== String(egress)) throw new ResourceUpdateNotSupportedError(resourceType, logicalId, "NetworkAclId, RuleNumber and Egress identify the entry and are createOnly; a change to any of them requires a new entry. Re-deploy with cdkd deploy --replace, or destroy + redeploy.");
18336
+ if (properties["Protocol"] == null || !properties["RuleAction"]) throw new ProvisioningError(`Protocol and RuleAction are required for NetworkAclEntry ${logicalId}`, resourceType, logicalId, physicalId);
18337
+ const ruleParams = networkAclEntryRuleParams(properties, properties["Icmp"] !== void 0 && properties["IcmpTypeCode"] !== void 0 && JSON.stringify(properties["Icmp"]) === JSON.stringify(previousProperties["Icmp"]) && JSON.stringify(properties["IcmpTypeCode"]) !== JSON.stringify(previousProperties["IcmpTypeCode"]));
18338
+ if (context?.desiredFromAwsReadback === true && ruleParams.CidrBlock !== void 0 && ruleParams.Ipv6CidrBlock !== void 0) {
18339
+ const v4Changed = properties["CidrBlock"] !== previousProperties["CidrBlock"];
18340
+ const v6Changed = properties["Ipv6CidrBlock"] !== previousProperties["Ipv6CidrBlock"];
18341
+ if (v4Changed && !v6Changed) ruleParams.Ipv6CidrBlock = void 0;
18342
+ else if (v6Changed && !v4Changed) ruleParams.CidrBlock = void 0;
18343
+ }
18344
+ try {
18345
+ await this.ec2Client.send(new ReplaceNetworkAclEntryCommand({
18346
+ NetworkAclId: networkAclId,
18347
+ RuleNumber: parseInt(parts[1], 10),
18348
+ Egress: parts[2] === "true",
18349
+ ...ruleParams
18350
+ }));
18351
+ this.logger.debug(safeMsg`Successfully replaced NetworkAclEntry ${logicalId} in place`);
18352
+ return {
18353
+ physicalId,
18354
+ wasReplaced: false
18355
+ };
18356
+ } catch (error) {
18357
+ const cause = error instanceof Error ? error : void 0;
18358
+ throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to update NetworkAclEntry ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
18359
+ }
18360
+ }
18288
18361
  async createSubnetNetworkAclAssociation(logicalId, resourceType, properties) {
18289
18362
  this.logger.debug(`Creating SubnetNetworkAclAssociation ${logicalId}`);
18290
18363
  const networkAclId = properties["NetworkAclId"];
@@ -19425,7 +19498,11 @@ var ApiGatewayProvider = class ApiGatewayProvider {
19425
19498
  return region ? aws` --region ${region}` : aws``;
19426
19499
  }
19427
19500
  wrapMaskedError(mask, error, build) {
19428
- return wrapMaskedAwsError(mask, error, build);
19501
+ const failure = describeAwsFailure(error);
19502
+ if (!(error instanceof Error)) return build(mask(failure.detail));
19503
+ if (!failure.redacted) return wrapMaskedAwsError(mask, error, build);
19504
+ this.logger.debug(mask(build(mask(failure.detail)).message));
19505
+ return markRedactedCause(build(`${mask(failure.summary)}${relayedNameCollision(failure.detail)}`));
19429
19506
  }
19430
19507
  async create(logicalId, resourceType, properties, context) {
19431
19508
  const log = createMaskedLogSinks(this.logger, context?.maskSecrets);
@@ -19457,7 +19534,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
19457
19534
  if (skip) return skip;
19458
19535
  }
19459
19536
  switch (resourceType) {
19460
- case "AWS::ApiGateway::Account": return this.deleteAccount(logicalId, physicalId, resourceType);
19537
+ case "AWS::ApiGateway::Account": return this.deleteAccount(logicalId, physicalId, resourceType, context);
19461
19538
  case "AWS::ApiGateway::Authorizer": return this.deleteAuthorizer(logicalId, physicalId, resourceType, properties, context);
19462
19539
  case "AWS::ApiGateway::Resource": return this.deleteResource(logicalId, physicalId, resourceType, properties, context);
19463
19540
  case "AWS::ApiGateway::Deployment": return this.deleteDeployment(logicalId, physicalId, resourceType, properties, context);
@@ -19508,7 +19585,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
19508
19585
  throw this.wrapMaskedError(log.mask, error, (text) => new ProvisioningError(`Failed to update API Gateway Account ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
19509
19586
  }
19510
19587
  }
19511
- async deleteAccount(logicalId, physicalId, resourceType) {
19588
+ async deleteAccount(logicalId, physicalId, resourceType, context) {
19512
19589
  this.logger.debug(`Deleting API Gateway Account ${logicalId}`);
19513
19590
  try {
19514
19591
  await this.apiGatewayClient.send(new UpdateAccountCommand({ patchOperations: [{
@@ -19519,7 +19596,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
19519
19596
  this.logger.debug(`Successfully deleted API Gateway Account ${logicalId}`);
19520
19597
  } catch (error) {
19521
19598
  const cause = error instanceof Error ? error : void 0;
19522
- throw new ProvisioningError(`Failed to delete API Gateway Account ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
19599
+ throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Account ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
19523
19600
  }
19524
19601
  }
19525
19602
  async updateAccountWithRetry(cloudWatchRoleArn, logicalId, _resourceType, log) {
@@ -19697,7 +19774,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
19697
19774
  return;
19698
19775
  }
19699
19776
  const cause = error instanceof Error ? error : void 0;
19700
- throw new ProvisioningError(`Failed to delete API Gateway Authorizer ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
19777
+ throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Authorizer ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
19701
19778
  }
19702
19779
  }
19703
19780
  getAuthorizerAttribute(physicalId, attributeName) {
@@ -19740,7 +19817,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
19740
19817
  orphanReason = `old API Gateway Resource ${physicalId} was not deleted: its recorded RestApiId is redacted`;
19741
19818
  oldResourceSurvivor = "kept";
19742
19819
  log.warn(safeMsg`Old API Gateway Resource ${physicalId} was not deleted during replacement: its ` + "recorded RestApiId is redacted in state, which names no API. The old resource may be orphaned and require manual cleanup.");
19743
- } else await this.deleteResource(logicalId, physicalId, resourceType, previousProperties);
19820
+ } else await this.deleteResource(logicalId, physicalId, resourceType, previousProperties, { maskSecrets: log.mask });
19744
19821
  } catch (error) {
19745
19822
  oldResourceSurvivor = replacedDeleteFailureVerdict(error);
19746
19823
  orphanReason = log.mask(`old API Gateway Resource ${physicalId} could not be deleted: ${safeStringify(error)}`);
@@ -19782,7 +19859,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
19782
19859
  return;
19783
19860
  }
19784
19861
  const cause = error instanceof Error ? error : void 0;
19785
- throw new ProvisioningError(`Failed to delete API Gateway Resource ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
19862
+ throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Resource ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
19786
19863
  }
19787
19864
  }
19788
19865
  getResourceAttribute(physicalId, _resourceType, attributeName) {
@@ -19867,7 +19944,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
19867
19944
  return;
19868
19945
  }
19869
19946
  const cause = error instanceof Error ? error : void 0;
19870
- throw new ProvisioningError(`Failed to delete API Gateway Deployment ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
19947
+ throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Deployment ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
19871
19948
  }
19872
19949
  }
19873
19950
  getDeploymentAttribute(physicalId, attributeName) {
@@ -20111,7 +20188,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
20111
20188
  return;
20112
20189
  }
20113
20190
  const cause = error instanceof Error ? error : void 0;
20114
- throw new ProvisioningError(`Failed to delete API Gateway Stage ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
20191
+ throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Stage ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
20115
20192
  }
20116
20193
  }
20117
20194
  getStageAttribute(physicalId, attributeName) {
@@ -20335,7 +20412,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
20335
20412
  return;
20336
20413
  }
20337
20414
  const cause = error instanceof Error ? error : void 0;
20338
- throw new ProvisioningError(`Failed to delete API Gateway Method ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
20415
+ throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Method ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
20339
20416
  }
20340
20417
  }
20341
20418
  getMethodAttribute(physicalId, attributeName) {
@@ -20797,7 +20874,11 @@ var ApiGatewayV2Provider = class {
20797
20874
  return region ? aws` --region ${region}` : aws``;
20798
20875
  }
20799
20876
  wrapMaskedError(log, error, build) {
20800
- return wrapMaskedAwsError(log.mask, error, build);
20877
+ const failure = describeAwsFailure(error);
20878
+ if (!(error instanceof Error)) return build(log.mask(failure.detail));
20879
+ if (!failure.redacted) return wrapMaskedAwsError(log.mask, error, build);
20880
+ log.debug(build(log.mask(failure.detail)).message);
20881
+ return markRedactedCause(build(`${log.mask(failure.summary)}${relayedNameCollision(failure.detail)}`));
20801
20882
  }
20802
20883
  async create(logicalId, resourceType, properties, context) {
20803
20884
  const log = resourceType === "AWS::ApiGatewayV2::Stage" ? stageSinks(this.logger, context, [[properties["StageName"], properties["StageName"]]]) : createMaskedLogSinks(this.logger, context?.maskSecrets);
@@ -20929,7 +21010,7 @@ var ApiGatewayV2Provider = class {
20929
21010
  return;
20930
21011
  }
20931
21012
  const cause = error instanceof Error ? error : void 0;
20932
- throw new ProvisioningError(`Failed to delete API Gateway V2 Api ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
21013
+ throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Api ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
20933
21014
  }
20934
21015
  }
20935
21016
  async buildExecuteApiArn(apiId, log = createMaskedLogSinks(this.logger, void 0)) {
@@ -21000,7 +21081,7 @@ var ApiGatewayV2Provider = class {
21000
21081
  return;
21001
21082
  }
21002
21083
  const cause = error instanceof Error ? error : void 0;
21003
- throw new ProvisioningError(`Failed to delete API Gateway V2 Stage ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
21084
+ throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Stage ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
21004
21085
  }
21005
21086
  }
21006
21087
  getStageAttribute(physicalId, attributeName) {
@@ -21097,7 +21178,7 @@ var ApiGatewayV2Provider = class {
21097
21178
  return;
21098
21179
  }
21099
21180
  const cause = error instanceof Error ? error : void 0;
21100
- throw new ProvisioningError(`Failed to delete API Gateway V2 Integration ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
21181
+ throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Integration ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
21101
21182
  }
21102
21183
  }
21103
21184
  getIntegrationAttribute(physicalId, attributeName) {
@@ -21151,7 +21232,7 @@ var ApiGatewayV2Provider = class {
21151
21232
  return;
21152
21233
  }
21153
21234
  const cause = error instanceof Error ? error : void 0;
21154
- throw new ProvisioningError(`Failed to delete API Gateway V2 Route ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
21235
+ throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Route ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
21155
21236
  }
21156
21237
  }
21157
21238
  getRouteAttribute(physicalId, attributeName) {
@@ -21240,7 +21321,7 @@ var ApiGatewayV2Provider = class {
21240
21321
  return;
21241
21322
  }
21242
21323
  const cause = error instanceof Error ? error : void 0;
21243
- throw new ProvisioningError(`Failed to delete API Gateway V2 Authorizer ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
21324
+ throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Authorizer ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
21244
21325
  }
21245
21326
  }
21246
21327
  getDriftUnknownPaths(resourceType, properties) {
@@ -34849,6 +34930,13 @@ var GlueWorkflowProvider = class {
34849
34930
  "MaxConcurrentRuns",
34850
34931
  "Tags"
34851
34932
  ])]]);
34933
+ removalHandledInUpdate = /* @__PURE__ */ new Map([["AWS::Glue::Workflow", /* @__PURE__ */ new Set([
34934
+ "Name",
34935
+ "Description",
34936
+ "DefaultRunProperties",
34937
+ "MaxConcurrentRuns",
34938
+ "Tags"
34939
+ ])]]);
34852
34940
  getClient() {
34853
34941
  if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
34854
34942
  return this.client;
@@ -35947,6 +36035,18 @@ var GlueTriggerProvider = class {
35947
36035
  "WorkflowName",
35948
36036
  "Tags"
35949
36037
  ])]]);
36038
+ removalHandledInUpdate = /* @__PURE__ */ new Map([["AWS::Glue::Trigger", /* @__PURE__ */ new Set([
36039
+ "Name",
36040
+ "Type",
36041
+ "WorkflowName",
36042
+ "Description",
36043
+ "Schedule",
36044
+ "Actions",
36045
+ "Predicate",
36046
+ "EventBatchingCondition",
36047
+ "StartOnCreation",
36048
+ "Tags"
36049
+ ])]]);
35950
36050
  getClient() {
35951
36051
  if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
35952
36052
  return this.client;
@@ -45142,11 +45242,21 @@ function tableIdentityFromGetTable(tableARN, namespace, name) {
45142
45242
  name
45143
45243
  };
45144
45244
  }
45245
+ function sentence(text) {
45246
+ return text.endsWith(".") ? text : `${text}.`;
45247
+ }
45145
45248
  var S3TablesProvider = class {
45146
45249
  client;
45147
45250
  createClient;
45148
45251
  providerRegion = ambientRegion();
45149
45252
  logger = getLogger().child("S3TablesProvider");
45253
+ wrapCaughtError(mask, error, build) {
45254
+ const failure = describeAwsFailure(error);
45255
+ if (!(error instanceof Error) || !failure.redacted) return build(failure.detail);
45256
+ const m = mask ?? ((text) => text);
45257
+ this.logger.debug(m(build(m(failure.detail)).message));
45258
+ return markRedactedCause(build(`${m(failure.summary)}${relayedNameCollision(failure.detail)}`));
45259
+ }
45150
45260
  handledProperties = /* @__PURE__ */ new Map([
45151
45261
  ["AWS::S3Tables::TableBucket", /* @__PURE__ */ new Set(["TableBucketName", "Tags"])],
45152
45262
  ["AWS::S3Tables::Namespace", /* @__PURE__ */ new Set(["TableBucketARN", "Namespace"])],
@@ -45179,7 +45289,7 @@ var S3TablesProvider = class {
45179
45289
  }
45180
45290
  async create(logicalId, resourceType, properties, context) {
45181
45291
  switch (resourceType) {
45182
- case "AWS::S3Tables::TableBucket": return this.createTableBucket(logicalId, resourceType, properties);
45292
+ case "AWS::S3Tables::TableBucket": return this.createTableBucket(logicalId, resourceType, properties, context);
45183
45293
  case "AWS::S3Tables::Namespace": return this.createNamespace(logicalId, resourceType, properties, context);
45184
45294
  case "AWS::S3Tables::Table": return this.createTable(logicalId, resourceType, properties, context);
45185
45295
  default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId);
@@ -45189,16 +45299,16 @@ var S3TablesProvider = class {
45189
45299
  assertRegionMatch(context?.expectedRegion ? await this.getClient().config.region() : void 0, context?.expectedRegion, resourceType, logicalId, physicalId, "pre-update");
45190
45300
  if (resourceType === "AWS::S3Tables::Table" || resourceType === "AWS::S3Tables::TableBucket") refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
45191
45301
  try {
45192
- return await this.applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties);
45302
+ return await this.applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets);
45193
45303
  } catch (error) {
45194
45304
  if (error instanceof CdkdError) throw error;
45195
45305
  const cause = error instanceof Error ? error : void 0;
45196
- throw new ProvisioningError(`Failed to update S3 Tables resource ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
45306
+ throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to update S3 Tables resource ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
45197
45307
  }
45198
45308
  }
45199
- async applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties) {
45200
- if (resourceType === "AWS::S3Tables::Table") await this.applyTableTagsDiff(logicalId, physicalId, resourceType, previousProperties["Tags"], properties["Tags"]);
45201
- else if (resourceType === "AWS::S3Tables::TableBucket") await this.applyTableBucketTagsDiff(logicalId, physicalId, resourceType, previousProperties["Tags"], properties["Tags"]);
45309
+ async applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties, mask) {
45310
+ if (resourceType === "AWS::S3Tables::Table") await this.applyTableTagsDiff(logicalId, physicalId, resourceType, previousProperties["Tags"], properties["Tags"], mask);
45311
+ else if (resourceType === "AWS::S3Tables::TableBucket") await this.applyTableBucketTagsDiff(logicalId, physicalId, resourceType, previousProperties["Tags"], properties["Tags"], mask);
45202
45312
  else this.logger.debug(`Update is no-op for ${resourceType} ${logicalId}`);
45203
45313
  return {
45204
45314
  physicalId,
@@ -45214,7 +45324,7 @@ var S3TablesProvider = class {
45214
45324
  default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId, physicalId);
45215
45325
  }
45216
45326
  }
45217
- async createTableBucket(logicalId, resourceType, properties) {
45327
+ async createTableBucket(logicalId, resourceType, properties, context) {
45218
45328
  this.logger.debug(`Creating S3 Table Bucket ${logicalId}`);
45219
45329
  const desiredTags = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
45220
45330
  const tableBucketName = properties["TableBucketName"];
@@ -45232,7 +45342,7 @@ var S3TablesProvider = class {
45232
45342
  };
45233
45343
  } catch (error) {
45234
45344
  const cause = error instanceof Error ? error : void 0;
45235
- throw new ProvisioningError(`Failed to create S3 Table Bucket ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, void 0, cause);
45345
+ throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to create S3 Table Bucket ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
45236
45346
  }
45237
45347
  }
45238
45348
  async deleteTableBucket(logicalId, physicalId, resourceType, context) {
@@ -45249,7 +45359,7 @@ var S3TablesProvider = class {
45249
45359
  return;
45250
45360
  }
45251
45361
  const cause = error instanceof Error ? error : void 0;
45252
- throw new ProvisioningError(`Failed to delete S3 Table Bucket ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
45362
+ throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete S3 Table Bucket ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
45253
45363
  }
45254
45364
  }
45255
45365
  async emptyTableBucket(tableBucketARN) {
@@ -45329,7 +45439,7 @@ var S3TablesProvider = class {
45329
45439
  };
45330
45440
  } catch (error) {
45331
45441
  const cause = error instanceof Error ? error : void 0;
45332
- throw new ProvisioningError(`Failed to create S3 Tables Namespace ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, void 0, cause);
45442
+ throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to create S3 Tables Namespace ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
45333
45443
  }
45334
45444
  }
45335
45445
  async deleteNamespace(logicalId, physicalId, resourceType, context) {
@@ -45350,7 +45460,7 @@ var S3TablesProvider = class {
45350
45460
  return;
45351
45461
  }
45352
45462
  const cause = error instanceof Error ? error : void 0;
45353
- throw new ProvisioningError(`Failed to delete S3 Tables Namespace ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
45463
+ throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete S3 Tables Namespace ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
45354
45464
  }
45355
45465
  }
45356
45466
  async createTable(logicalId, resourceType, properties, context) {
@@ -45401,7 +45511,7 @@ var S3TablesProvider = class {
45401
45511
  };
45402
45512
  } catch (error) {
45403
45513
  const cause = error instanceof Error ? error : void 0;
45404
- const thrown = new ProvisioningError(`Failed to create S3 Tables Table ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, void 0, cause);
45514
+ const thrown = this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to create S3 Tables Table ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
45405
45515
  if (tableCreated) markCreatedBeforeFailure(thrown, logicalId, resourceType, physicalId);
45406
45516
  throw thrown;
45407
45517
  }
@@ -45664,7 +45774,7 @@ var S3TablesProvider = class {
45664
45774
  resolved = await this.resolveTableParts(physicalId);
45665
45775
  } catch (error) {
45666
45776
  const cause = error instanceof Error ? error : void 0;
45667
- throw new ProvisioningError(`Failed to resolve S3 Tables Table ${logicalId} (${physicalId}): ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
45777
+ throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to resolve S3 Tables Table ${logicalId} (${physicalId}): ${text}`, resourceType, logicalId, physicalId, cause));
45668
45778
  }
45669
45779
  if (resolved === "not-found") {
45670
45780
  const clientRegion = await this.getClient().config.region();
@@ -45689,7 +45799,7 @@ var S3TablesProvider = class {
45689
45799
  return;
45690
45800
  }
45691
45801
  const cause = error instanceof Error ? error : void 0;
45692
- throw new ProvisioningError(`Failed to delete S3 Tables Table ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
45802
+ throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete S3 Tables Table ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
45693
45803
  }
45694
45804
  }
45695
45805
  tagListToSdkMap(tags) {
@@ -45724,7 +45834,7 @@ var S3TablesProvider = class {
45724
45834
  return [];
45725
45835
  }
45726
45836
  }
45727
- async applyTableTagsDiff(logicalId, physicalId, resourceType, previousTags, newTags) {
45837
+ async applyTableTagsDiff(logicalId, physicalId, resourceType, previousTags, newTags, mask) {
45728
45838
  const plan = planTagDiff(previousTags, newTags);
45729
45839
  const tagWarning = tagPlanWarning(plan, resourceType, logicalId);
45730
45840
  if (tagWarning !== void 0) this.logger.warn(tagWarning);
@@ -45744,7 +45854,7 @@ var S3TablesProvider = class {
45744
45854
  }));
45745
45855
  } catch (err) {
45746
45856
  const cause = err instanceof Error ? err : void 0;
45747
- throw new ProvisioningError(`applyTableTagsDiff: UntagResource failed for ${resourceArn} (keys: ${removedKeys.join(", ")}): ${describeAwsFailure(err).detail}. State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause);
45857
+ throw this.wrapCaughtError(mask, err, (text) => new ProvisioningError(`applyTableTagsDiff: UntagResource failed for ${resourceArn} (keys: ${removedKeys.join(", ")}): ${sentence(text)} State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause));
45748
45858
  }
45749
45859
  if (Object.keys(upserts).length > 0) try {
45750
45860
  await this.getClient().send(new TagResourceCommand$27({
@@ -45753,10 +45863,10 @@ var S3TablesProvider = class {
45753
45863
  }));
45754
45864
  } catch (err) {
45755
45865
  const cause = err instanceof Error ? err : void 0;
45756
- throw new ProvisioningError(`applyTableTagsDiff: TagResource failed for ${resourceArn} (keys: ${Object.keys(upserts).join(", ")}): ${describeAwsFailure(err).detail}. State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause);
45866
+ throw this.wrapCaughtError(mask, err, (text) => new ProvisioningError(`applyTableTagsDiff: TagResource failed for ${resourceArn} (keys: ${Object.keys(upserts).join(", ")}): ${sentence(text)} State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause));
45757
45867
  }
45758
45868
  }
45759
- async applyTableBucketTagsDiff(logicalId, physicalId, resourceType, previousTags, newTags) {
45869
+ async applyTableBucketTagsDiff(logicalId, physicalId, resourceType, previousTags, newTags, mask) {
45760
45870
  const plan = planTagDiff(previousTags, newTags);
45761
45871
  const tagWarning = tagPlanWarning(plan, resourceType, logicalId);
45762
45872
  if (tagWarning !== void 0) this.logger.warn(tagWarning);
@@ -45771,7 +45881,7 @@ var S3TablesProvider = class {
45771
45881
  }));
45772
45882
  } catch (err) {
45773
45883
  const cause = err instanceof Error ? err : void 0;
45774
- throw new ProvisioningError(`applyTableBucketTagsDiff: UntagResource failed for ${resourceArn} (keys: ${removedKeys.join(", ")}): ${describeAwsFailure(err).detail}. State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause);
45884
+ throw this.wrapCaughtError(mask, err, (text) => new ProvisioningError(`applyTableBucketTagsDiff: UntagResource failed for ${resourceArn} (keys: ${removedKeys.join(", ")}): ${sentence(text)} State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause));
45775
45885
  }
45776
45886
  if (Object.keys(upserts).length > 0) try {
45777
45887
  await this.getClient().send(new TagResourceCommand$27({
@@ -45780,7 +45890,7 @@ var S3TablesProvider = class {
45780
45890
  }));
45781
45891
  } catch (err) {
45782
45892
  const cause = err instanceof Error ? err : void 0;
45783
- throw new ProvisioningError(`applyTableBucketTagsDiff: TagResource failed for ${resourceArn} (keys: ${Object.keys(upserts).join(", ")}): ${describeAwsFailure(err).detail}. State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause);
45893
+ throw this.wrapCaughtError(mask, err, (text) => new ProvisioningError(`applyTableBucketTagsDiff: TagResource failed for ${resourceArn} (keys: ${Object.keys(upserts).join(", ")}): ${sentence(text)} State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause));
45784
45894
  }
45785
45895
  }
45786
45896
  };
@@ -46833,4 +46943,4 @@ var ACMCertificateProvider = class {
46833
46943
 
46834
46944
  //#endregion
46835
46945
  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 };
46836
- //# sourceMappingURL=provider-classes-BWo7K01p.js.map
46946
+ //# sourceMappingURL=provider-classes-Dbw16dmt.js.map