@go-to-k/cdkd 0.302.0 → 0.302.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/{asg-provider-BRr_hsky.js → asg-provider-BpRcm_UB.js} +4 -4
  2. package/dist/{asg-provider-BRr_hsky.js.map → asg-provider-BpRcm_UB.js.map} +1 -1
  3. package/dist/{aws-failure-text-BDZdavf4.js → aws-failure-text-e_ddrDDo.js} +5 -2
  4. package/dist/{aws-failure-text-BDZdavf4.js.map → aws-failure-text-e_ddrDDo.js.map} +1 -1
  5. package/dist/cli.js +2 -2
  6. package/dist/{deploy-engine-DU0BoQqo.js → deploy-engine-CYVt2NQR.js} +500 -437
  7. package/dist/deploy-engine-CYVt2NQR.js.map +1 -0
  8. package/dist/{iam-policy-targets-Dnk6FCsr.js → iam-policy-targets-CmHNH1DY.js} +17 -4
  9. package/dist/iam-policy-targets-CmHNH1DY.js.map +1 -0
  10. package/dist/{iam-role-provider-WGsb9RxZ.js → iam-role-provider-R1GC6KcT.js} +4 -4
  11. package/dist/{iam-role-provider-WGsb9RxZ.js.map → iam-role-provider-R1GC6KcT.js.map} +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +4 -4
  15. package/dist/{neptune-provider-WE1O3kXY.js → neptune-provider-DzTl6-74.js} +4 -4
  16. package/dist/{neptune-provider-WE1O3kXY.js.map → neptune-provider-DzTl6-74.js.map} +1 -1
  17. package/dist/{program-BVLiidXb.js → program-CvRs5pV_.js} +6 -6
  18. package/dist/{program-BVLiidXb.js.map → program-CvRs5pV_.js.map} +1 -1
  19. package/dist/{provider-classes-CXSiWJVn.js → provider-classes-B2_u4Fg0.js} +181 -70
  20. package/dist/provider-classes-B2_u4Fg0.js.map +1 -0
  21. package/dist/{rds-provider-6RgDTDCV.js → rds-provider-CmKbYAvr.js} +4 -4
  22. package/dist/{rds-provider-6RgDTDCV.js.map → rds-provider-CmKbYAvr.js.map} +1 -1
  23. package/dist/{version-C2XBsD-i.js → version-CaejipV3.js} +2 -2
  24. package/dist/{version-C2XBsD-i.js.map → version-CaejipV3.js.map} +1 -1
  25. package/package.json +1 -1
  26. package/dist/deploy-engine-DU0BoQqo.js.map +0 -1
  27. package/dist/iam-policy-targets-Dnk6FCsr.js.map +0 -1
  28. package/dist/provider-classes-CXSiWJVn.js.map +0 -1
@@ -1,13 +1,13 @@
1
1
  import { r as getAwsClients } from "./aws-clients-B_CEQGE1.js";
2
- import { C as generateResourceName, G as displayIdent, J as isPasteableIdent, K as displaySafe, T as generatedNameFor, X as plainIdentOr, Z as safeMsg, a as safeStringify, i as isAwsAuthoredFailure, j as recordedGeneratedNameKept, n as describeAwsFailure, q as displayStackName, r as describeAwsStatusReason, s as getLogger, w as generateResourceNameWithFallback, z as SECRET_REF_MAX_CODE_POINTS } from "./aws-failure-text-BDZdavf4.js";
3
- import { $ as protectedReplacementAdvice, $n as markReplayMayCollide, $t as ambientCredentialConfig, A as isQuotableImportValue, B as isTerminalDeleteFailure, C as setBounded, D as VALUE_NOT_SHOWN, E as assertRegionMatch, F as resolveExplicitPhysicalId, Fn as isInertUnquoted, H as observeThenDisableProtection, Hn as withheldTargetClause, In as pasteableCommand, Kt as injectiveKey, L as ProtectionFlipRegistry, M as quotedRemedyLogicalId, Mt as markCreatedBeforeFailure, N as refusalTypeShown, Nn as commandHole, Nt as markSupersedesEarlierCreate, O as isPlainImportJson, P as remedyLogicalId, Pn as hasClauseBreak, Q as pasteableAwsCommand, Qn as markNameCollision, Qt as ambientClientDefaults, Rn as plainOrDescribed, S as replayedSendWindow, St as withDerivedNameMasks, T as RESOURCE_NOT_FOUND, Tt as clearCreatedBeforeFailure, U as protectionFlipKey, V as logGroupProtectionSite, Vn as shellQuote, W as rdsFamilyProtectionSite, X as WITHHELD_AWS_COMMAND, Y as UNNAMEABLE_ID_CLAUSE, Z as isAwsCliLiteral, Zt as withPasteableAwsProfile, _ as RecentIdSet, _r as markRedactedCause, _t as createMaskedLogSinks, a as onlySecretDerived, at as startInterruptWatch, b as isInsideWindow, bn as ResourceUpdateNotSupportedError, bt as maskDeep, c as recordedPrincipalsRepair, cr as isExplicitDenyError, ct as canonicalizeRoute53QueryName, dr as isTransientServerError, dt as compositeIdSkipResult, en as clientDefaultsFor, er as relayedNameCollision, et as renderDisableCommand, ft as logicalIdShown, g as AmbiguousCreateLatch, gr as markNonRetryable, gt as stateOrphanRecordRemedy, h as AMBIGUOUS_LATCH_TTL_MS, hr as isThrottlingError, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, in as CdkdError, ir as explicitDenyPolicyKind, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jt as markAuxiliaryFailure, k as isPlainImportValue, lt as compositeIdFormatMessage, mr as isMarkedNonRetryable, nn as AccountIdUnavailableError, o as readPrincipalLists, ot as ElapsedBudgetRegistry, p as withRemovalDefaults, pr as THROTTLING_ERROR_NAMES, pt as packCompositeId, q as userPoolProtectionSite, qn as isNameCollisionError, qt as injectiveKeyPrefix, r as SECRET_DERIVED_READ_LIVE, sr as isAmbiguousOutcomeError, tn as credentialFingerprint, u as clearOnUpdateRemoval, ur as isRetryableTransientError, ut as compositeIdSeparatorRefusal, v as ambiguousAttemptLead, vn as ProvisioningError, vr as wrapMaskedAwsError, vt as createMaskedRetryLogger, w as withoutServerErrorRetries, x as replayFollowedAmbiguousAttempt, xt as maskerOrIdentity, y as createAttemptKey, yt as isSecretDerivedValue, z as deleteWithProtectionCompensation } from "./iam-policy-targets-Dnk6FCsr.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, w as generateResourceNameWithFallback } from "./aws-failure-text-e_ddrDDo.js";
3
+ import { $ as protectedReplacementAdvice, $t as ambientCredentialConfig, A as isQuotableImportValue, B as isTerminalDeleteFailure, Bn as plainOrDescribed, C as setBounded, D as VALUE_NOT_SHOWN, E as assertRegionMatch, F as resolveExplicitPhysicalId, Fn as commandHole, H as observeThenDisableProtection, In as hasClauseBreak, Kt as injectiveKey, L as ProtectionFlipRegistry, Ln as isInertUnquoted, M as quotedRemedyLogicalId, Mt as markCreatedBeforeFailure, N as refusalTypeShown, Nt as markSupersedesEarlierCreate, O as isPlainImportJson, P as remedyLogicalId, Q as pasteableAwsCommand, Qt as ambientClientDefaults, Rn as pasteableCommand, S as replayedSendWindow, St as withDerivedNameMasks, T as RESOURCE_NOT_FOUND, Tt as clearCreatedBeforeFailure, U as protectionFlipKey, Un as shellQuote, V as logGroupProtectionSite, W as rdsFamilyProtectionSite, Wn as withheldTargetClause, X as WITHHELD_AWS_COMMAND, Y as UNNAMEABLE_ID_CLAUSE, Yn as isNameCollisionError, Z as isAwsCliLiteral, Zt as withPasteableAwsProfile, _ as RecentIdSet, _r as isThrottlingError, _t as createMaskedLogSinks, a as onlySecretDerived, at as startInterruptWatch, b as isInsideWindow, br as wrapMaskedAwsError, bt as maskDeep, c as recordedPrincipalsRepair, ct as canonicalizeRoute53QueryName, dt as compositeIdSkipResult, en as clientDefaultsFor, er as markNameCollision, et as renderDisableCommand, fr as isRetryableTransientError, ft as logicalIdShown, g as AmbiguousCreateLatch, gr as isMarkedNonRetryable, gt as stateOrphanRecordRemedy, h as AMBIGUOUS_LATCH_TTL_MS, hr as THROTTLING_ERROR_NAMES, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, in as CdkdError, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jt as markAuxiliaryFailure, k as isPlainImportValue, lr as isAmbiguousOutcomeError, lt as compositeIdFormatMessage, nn as AccountIdUnavailableError, nr as relayedNameCollision, o as readPrincipalLists, or as explicitDenyPolicyKind, ot as ElapsedBudgetRegistry, p as withRemovalDefaults, pr as isTransientServerError, pt as packCompositeId, q as userPoolProtectionSite, qt as injectiveKeyPrefix, r as SECRET_DERIVED_READ_LIVE, tn as credentialFingerprint, tr as markReplayMayCollide, u as clearOnUpdateRemoval, ur as isExplicitDenyError, ut as compositeIdSeparatorRefusal, v as ambiguousAttemptLead, vr as markNonRetryable, vt as createMaskedRetryLogger, w as withoutServerErrorRetries, x as replayFollowedAmbiguousAttempt, xn as ResourceUpdateNotSupportedError, xt as maskerOrIdentity, y as createAttemptKey, yn as ProvisioningError, yr as markRedactedCause, yt as isSecretDerivedValue, z as deleteWithProtectionCompensation } from "./iam-policy-targets-CmHNH1DY.js";
4
4
  import { s as ambientRegion } from "./aws-client-defaults-DBXBcg0J.js";
5
- import { Ar as markDeleteStarted, Bo as toCfnInteger, C as hasCdkAutoDeleteTag, Ci as s3BucketDomainName, Cs as redactForState, Dt as isAccessDeniedError, E as markRefusedBeforeApplying, Ei as s3BucketWebsiteUrl, Eo as findSilentDropProperties, Er as reserveStackCreateToken, Et as chunks, F as findNestedTemplateTreeDefect, Fn as replacedDeleteFailureVerdict, Fr as refuseMalformedDesiredTags, Go as configIntegerRefusal, Gr as waitForLambdaFunctionActive, Ho as coerceCfnBoolean, Hs as withoutPhysicalNameCopies, I as isAbsoluteAssetPath, Ir as tagMapAsList, Jo as replayWarn, Jt as REDACTED_DELETE_ADDRESS_SKIP_REASON, Ka as refuseMalformedNestedChildOutputs, Kl as canonicalizeRegion, Ko as configStringRefusal, Kt as getCurrentProducerRegions, L as listNestedTemplateRows, Lo as WARM_THROUGHPUT_MEMBERS, Lr as tagPlanWarning, Mr as DBPROXY_TAG_OPTIONS, Nn as getStackRecords, Nr as planTagDiff, Oo as withoutSilentDropProperties, Or as acquireIdempotencyToken, Os as hasMaskableValues, Ot as lookupEachName, Pr as readTagList, Qs as recordAttributeIdCopy, R as renderNestedTemplateTreeDefect, Ro as coerceWarmThroughput$1, Rr as definedAttributes, S as S3_AUTO_DELETE_OBJECTS_TAG, Si as s3BucketArn, Ss as markSameGenerationBag, T as getPriorAttempts, Ti as s3BucketRegionalDomainName, Ts as snapshotPassProvenance, Ul as decodeListingKey, Uo as coerceCfnInteger, Vo as toFiniteNumber, Wc as rewriteTemplateAssetReferences, Wo as configBooleanRefusal, Ws as dynamicReferenceTokens, Xo as requireConfigObject, Xs as recoverMaskedOutput, Xt as redactedDeleteAddressFields, Yo as requireConfigArray, Yr as getCurrentResourceSecrets, Yt as isRedactedRecordedValue, Zi as getAccountInfo, Zo as requireConfigString, Zs as physicalNameCopiesOf, Zt as redactedDeleteAddressSkip, _ as deleteTableWithIndexBusyRetry, _a as accountArgs, au as renderAssemblyPathEscape, b as waitForIndexesSettled, c as DynamoDBGlobalTableProvider, ci as withIndeterminateGuard, ct as getNestedRevertRun, d as compensateRemovedDeletionProtection, dt as revertNestedChildFromJournal, f as deleteBudgetKey, fi as ec2InstanceProtectionSite, fo as refuseMalformedResourcesForDestroy, g as INDEX_SETTLE_POLL_INTERVAL_MS, gi as reEnableInstanceApiTermination, gs as passedNoEchoParametersOf, gt as withNestedStackContext, h as DELETE_INDEX_WAIT_PROCEED_NOTE, hi as reDisableInstanceApiTermination, ht as getCurrentNestedStackContext, is as sameLambdaFunctionAddress, iu as displayAssemblyPath, ji as outputReferenceProvenanceOf, jn as awaitInFlightSibling, jr as DBPROXY_TAGS_WHAT, kr as isRefusedByName, kt as withApiLimit, l as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, li as isWaitAbandonedError, m as resolveDynamoDbDeleteBudgetMs, mi as observeThenDisableInstanceApiTermination, ni as unchangedBehindSecretReference, ns as canonicalLambdaFunctionName, ou as resolveAssemblyPath, p as resolveDynamoDbDeleteBudgetClock, pi as isTerminationProtectionPropagationError, ql as derivePartitionAndUrlSuffix, qo as readConfigString, rs as lambdaFunctionNameForMask, ru as describeFileReadFailure, sa as parseWebACLArn, si as deleteSkipReason, t as DeployEngine, tc as carriesSecretMask, ti as slowCcOperationTimeoutMs, ts as withRetry, u as beginDeleteWait, ua as passedParameterClassesOf, ui as markWaitAbandoned, ur as secretNamedAttributeNamesOf, v as maskedLogger, w as isTruthyCfnBoolean, wi as s3BucketDualStackDomainName, wo as withheldAccountClause, wr as earliestDefined, ws as recordReferenceProvenanceEntry, x as ECR_AUTO_DELETE_IMAGES_TAG, xi as isSettledInstanceState, y as relayedIndexBusyDelete, zc as stringifyValue, zo as isWarmThroughputDecrease, zr as stringifyIfAssigned } from "./deploy-engine-DU0BoQqo.js";
6
- import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-WGsb9RxZ.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-BVLiidXb.js";
8
- import { RDSProvider } from "./rds-provider-6RgDTDCV.js";
9
- import { NeptuneProvider } from "./neptune-provider-WE1O3kXY.js";
10
- import { ASGProvider } from "./asg-provider-BRr_hsky.js";
5
+ import { Ar as markDeleteStarted, Bo as toCfnInteger, C as hasCdkAutoDeleteTag, Ci as s3BucketDomainName, Cr as reserveStackCreateToken, Cs as redactForState, Dt as withApiLimit, E as markRefusedBeforeApplying, Ei as s3BucketWebsiteUrl, Eo as findSilentDropProperties, Et as lookupEachName, F as findNestedTemplateTreeDefect, Fr as refuseMalformedDesiredTags, Go as configIntegerRefusal, Gr as waitForLambdaFunctionActive, Ho as coerceCfnBoolean, Hs as withoutPhysicalNameCopies, I as isAbsoluteAssetPath, Ir as tagMapAsList, Jo as replayWarn, Jt as redactedDeleteAddressFields, Ka as refuseMalformedNestedChildOutputs, Kl as canonicalizeRegion, Ko as configStringRefusal, Kt as REDACTED_DELETE_ADDRESS_SKIP_REASON, L as listNestedTemplateRows, Lo as WARM_THROUGHPUT_MEMBERS, Lr as tagPlanWarning, Mr as DBPROXY_TAG_OPTIONS, Nn as replacedDeleteFailureVerdict, Nr as planTagDiff, Oo as withoutSilentDropProperties, Os as hasMaskableValues, Pr as readTagList, Qs as recordAttributeIdCopy, R as renderNestedTemplateTreeDefect, Ro as coerceWarmThroughput$1, Rr as definedAttributes, S as S3_AUTO_DELETE_OBJECTS_TAG, Si as s3BucketArn, Ss as markSameGenerationBag, T as getPriorAttempts, Ti as s3BucketRegionalDomainName, Tr as acquireIdempotencyToken, Ts as snapshotPassProvenance, Tt as isAccessDeniedError, Ul as decodeListingKey, Uo as coerceCfnInteger, Vo as toFiniteNumber, Wc as rewriteTemplateAssetReferences, Wo as configBooleanRefusal, Ws as dynamicReferenceTokens, Wt as getCurrentProducerRegions, Xo as requireConfigObject, Xs as recoverMaskedOutput, Yo as requireConfigArray, Yr as getCurrentResourceSecrets, Yt as redactedDeleteAddressSkip, Zi as getAccountInfo, Zo as requireConfigString, Zs as physicalNameCopiesOf, _ as deleteTableWithIndexBusyRetry, _a as accountArgs, au as renderAssemblyPathEscape, b as waitForIndexesSettled, c as DynamoDBGlobalTableProvider, ci as withIndeterminateGuard, cr as secretNamedAttributeNamesOf, d as compensateRemovedDeletionProtection, f as deleteBudgetKey, fi as ec2InstanceProtectionSite, fo as refuseMalformedResourcesForDestroy, g as INDEX_SETTLE_POLL_INTERVAL_MS, gi as reEnableInstanceApiTermination, gs as passedNoEchoParametersOf, h as DELETE_INDEX_WAIT_PROCEED_NOTE, hi as reDisableInstanceApiTermination, is as sameLambdaFunctionAddress, iu as displayAssemblyPath, ji as outputReferenceProvenanceOf, jn as getStackRecords, jr as DBPROXY_TAGS_WHAT, kn as awaitInFlightSibling, kr as isRefusedByName, l as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, li as isWaitAbandonedError, lt as revertNestedChildFromJournal, m as resolveDynamoDbDeleteBudgetMs, mi as observeThenDisableInstanceApiTermination, mt as withNestedStackContext, ni as unchangedBehindSecretReference, ns as canonicalLambdaFunctionName, ot as getNestedRevertRun, ou as resolveAssemblyPath, p as resolveDynamoDbDeleteBudgetClock, pi as isTerminationProtectionPropagationError, pt as getCurrentNestedStackContext, ql as derivePartitionAndUrlSuffix, qo as readConfigString, qt as isRedactedRecordedValue, rs as lambdaFunctionNameForMask, ru as describeFileReadFailure, sa as parseWebACLArn, si as deleteSkipReason, t as DeployEngine, tc as carriesSecretMask, ti as slowCcOperationTimeoutMs, ts as withRetry, u as beginDeleteWait, ua as passedParameterClassesOf, ui as markWaitAbandoned, v as maskedLogger, w as isTruthyCfnBoolean, wi as s3BucketDualStackDomainName, wo as withheldAccountClause, ws as recordReferenceProvenanceEntry, wt as chunks, x as ECR_AUTO_DELETE_IMAGES_TAG, xi as isSettledInstanceState, xr as earliestDefined, y as relayedIndexBusyDelete, zc as stringifyValue, zo as isWarmThroughputDecrease, zr as stringifyIfAssigned } from "./deploy-engine-CYVt2NQR.js";
6
+ import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-R1GC6KcT.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-CvRs5pV_.js";
8
+ import { RDSProvider } from "./rds-provider-CmKbYAvr.js";
9
+ import { NeptuneProvider } from "./neptune-provider-DzTl6-74.js";
10
+ import { ASGProvider } from "./asg-provider-BpRcm_UB.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";
@@ -17,7 +17,7 @@ import { AddPermissionCommand, CreateEventSourceMappingCommand, CreateFunctionCo
17
17
  import { GetCallerIdentityCommand, STSClient } from "@aws-sdk/client-sts";
18
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
- 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";
20
+ import { APIGatewayClient, CreateAuthorizerCommand, CreateDeploymentCommand, CreateResourceCommand, CreateStageCommand, DeleteAuthorizerCommand, DeleteDeploymentCommand, DeleteIntegrationCommand, DeleteIntegrationResponseCommand, DeleteMethodCommand, DeleteMethodResponseCommand, 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";
22
22
  import { CreateSecretCommand, DeleteSecretCommand, DescribeSecretCommand, RemoveRegionsFromReplicationCommand, ReplicateSecretToRegionsCommand, ResourceNotFoundException as ResourceNotFoundException$3, SecretsManagerClient, TagResourceCommand as TagResourceCommand$5, UntagResourceCommand as UntagResourceCommand$5, UpdateSecretCommand } from "@aws-sdk/client-secrets-manager";
23
23
  import { AddTagsToResourceCommand, DeleteParameterCommand, DescribeParametersCommand, GetParameterCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$2, ParameterNotFound, PutParameterCommand, RemoveTagsFromResourceCommand, SSMClient } from "@aws-sdk/client-ssm";
@@ -39,7 +39,7 @@ import { CreateRepositoryCommand, DeleteLifecyclePolicyCommand, DeleteRepository
39
39
  import { isDeepStrictEqual } from "node:util";
40
40
  import { AddTagsToResourceCommand as AddTagsToResourceCommand$2, CreateDBProxyCommand, CreateDBProxyEndpointCommand, DBProxyEndpointNotFoundFault, DBProxyNotFoundFault, DBProxyTargetGroupNotFoundFault, DBProxyTargetNotFoundFault, DeleteDBProxyCommand, DeleteDBProxyEndpointCommand, DeregisterDBProxyTargetsCommand, DescribeDBProxiesCommand, DescribeDBProxyEndpointsCommand, DescribeDBProxyTargetGroupsCommand, DescribeDBProxyTargetsCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$10, ModifyDBProxyCommand, ModifyDBProxyEndpointCommand, ModifyDBProxyTargetGroupCommand, RDSClient, RegisterDBProxyTargetsCommand, RemoveTagsFromResourceCommand as RemoveTagsFromResourceCommand$2 } from "@aws-sdk/client-rds";
41
41
  import * as zlib from "node:zlib";
42
- import { ApiGatewayV2Client, CreateApiCommand, CreateAuthorizerCommand as CreateAuthorizerCommand$1, CreateIntegrationCommand, CreateRouteCommand as CreateRouteCommand$1, CreateStageCommand as CreateStageCommand$1, DeleteAccessLogSettingsCommand, DeleteApiCommand, DeleteAuthorizerCommand as DeleteAuthorizerCommand$1, DeleteCorsConfigurationCommand, DeleteIntegrationCommand, DeleteRouteCommand as DeleteRouteCommand$1, DeleteRouteRequestParameterCommand, DeleteRouteSettingsCommand, DeleteStageCommand as DeleteStageCommand$1, GetApiCommand, GetApisCommand, GetAuthorizerCommand as GetAuthorizerCommand$1, GetAuthorizersCommand as GetAuthorizersCommand$1, GetIntegrationCommand, GetIntegrationsCommand, GetRouteCommand, GetStageCommand as GetStageCommand$1, NotFoundException as NotFoundException$3, UpdateApiCommand, UpdateAuthorizerCommand as UpdateAuthorizerCommand$1, UpdateIntegrationCommand, UpdateRouteCommand, UpdateStageCommand as UpdateStageCommand$1 } from "@aws-sdk/client-apigatewayv2";
42
+ import { ApiGatewayV2Client, CreateApiCommand, CreateAuthorizerCommand as CreateAuthorizerCommand$1, CreateIntegrationCommand, CreateRouteCommand as CreateRouteCommand$1, CreateStageCommand as CreateStageCommand$1, DeleteAccessLogSettingsCommand, DeleteApiCommand, DeleteAuthorizerCommand as DeleteAuthorizerCommand$1, DeleteCorsConfigurationCommand, DeleteIntegrationCommand as DeleteIntegrationCommand$1, DeleteRouteCommand as DeleteRouteCommand$1, DeleteRouteRequestParameterCommand, DeleteRouteSettingsCommand, DeleteStageCommand as DeleteStageCommand$1, GetApiCommand, GetApisCommand, GetAuthorizerCommand as GetAuthorizerCommand$1, GetAuthorizersCommand as GetAuthorizersCommand$1, GetIntegrationCommand, GetIntegrationsCommand, GetRouteCommand, GetStageCommand as GetStageCommand$1, NotFoundException as NotFoundException$3, UpdateApiCommand, UpdateAuthorizerCommand as UpdateAuthorizerCommand$1, UpdateIntegrationCommand, UpdateRouteCommand, UpdateStageCommand as UpdateStageCommand$1 } from "@aws-sdk/client-apigatewayv2";
43
43
  import { CreateStateMachineCommand, DeleteStateMachineCommand, DescribeStateMachineCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$11, SFNClient, StateMachineDoesNotExist, TagResourceCommand as TagResourceCommand$13, UntagResourceCommand as UntagResourceCommand$13, UpdateStateMachineCommand } from "@aws-sdk/client-sfn";
44
44
  import { CreateClusterCommand, CreateServiceCommand, DeleteClusterCommand, DeleteServiceCommand, DeregisterTaskDefinitionCommand, DescribeClustersCommand, DescribeServicesCommand, DescribeTaskDefinitionCommand, ECSClient, ListTaskDefinitionsCommand, PutClusterCapacityProvidersCommand, RegisterTaskDefinitionCommand, TagResourceCommand as TagResourceCommand$14, UntagResourceCommand as UntagResourceCommand$14, UpdateClusterCommand, UpdateServiceCommand, waitUntilServicesStable } from "@aws-sdk/client-ecs";
45
45
  import { AddTagsToResourceCommand as AddTagsToResourceCommand$3, CreateDBClusterCommand as CreateDBClusterCommand$1, CreateDBInstanceCommand as CreateDBInstanceCommand$1, CreateDBSubnetGroupCommand as CreateDBSubnetGroupCommand$1, DeleteDBClusterCommand as DeleteDBClusterCommand$1, DeleteDBInstanceCommand as DeleteDBInstanceCommand$1, DeleteDBSubnetGroupCommand as DeleteDBSubnetGroupCommand$1, DescribeDBClustersCommand as DescribeDBClustersCommand$1, DescribeDBInstancesCommand as DescribeDBInstancesCommand$1, DescribeDBSubnetGroupsCommand as DescribeDBSubnetGroupsCommand$1, DocDBClient, ListTagsForResourceCommand as ListTagsForResourceCommand$12, ModifyDBClusterCommand as ModifyDBClusterCommand$1, ModifyDBInstanceCommand as ModifyDBInstanceCommand$1, ModifyDBSubnetGroupCommand as ModifyDBSubnetGroupCommand$1, RemoveTagsFromResourceCommand as RemoveTagsFromResourceCommand$3 } from "@aws-sdk/client-docdb";
@@ -8609,13 +8609,7 @@ var LambdaPermissionProvider = class {
8609
8609
  if (!action) throw new ProvisioningError(`Action is required for Lambda permission ${logicalId}`, resourceType, logicalId);
8610
8610
  const principal = properties["Principal"];
8611
8611
  if (!principal) throw new ProvisioningError(`Principal is required for Lambda permission ${logicalId}`, resourceType, logicalId);
8612
- let statementId = logicalId.replace(/[^a-zA-Z0-9_-]/g, "");
8613
- if (statementId.length > 100) {
8614
- let hashNum = 0;
8615
- for (let i = 0; i < logicalId.length; i++) hashNum = (hashNum << 5) - hashNum + logicalId.charCodeAt(i) | 0;
8616
- const hash = Math.abs(hashNum).toString(16).padStart(8, "0").substring(0, 8);
8617
- statementId = `${statementId.substring(0, 91)}-${hash}`;
8618
- }
8612
+ const statementId = permissionStatementId(logicalId);
8619
8613
  try {
8620
8614
  const addParams = {
8621
8615
  FunctionName: functionName,
@@ -8781,6 +8775,20 @@ var LambdaPermissionProvider = class {
8781
8775
  return null;
8782
8776
  }
8783
8777
  };
8778
+ function permissionStatementId(logicalId) {
8779
+ if (getCurrentStackInstanceId() !== void 0 || isBeforeStateRead()) return generateResourceName(logicalId, {
8780
+ maxLength: 100,
8781
+ allowedPattern: /[^a-zA-Z0-9_-]/g
8782
+ });
8783
+ let statementId = logicalId.replace(/[^a-zA-Z0-9_-]/g, "");
8784
+ if (statementId.length > 100) {
8785
+ let hashNum = 0;
8786
+ for (let i = 0; i < logicalId.length; i++) hashNum = (hashNum << 5) - hashNum + logicalId.charCodeAt(i) | 0;
8787
+ const hash = Math.abs(hashNum).toString(16).padStart(8, "0").substring(0, 8);
8788
+ statementId = `${statementId.substring(0, 91)}-${hash}`;
8789
+ }
8790
+ return statementId;
8791
+ }
8784
8792
 
8785
8793
  //#endregion
8786
8794
  //#region src/provisioning/providers/lambda-url-provider.ts
@@ -20355,53 +20363,24 @@ var ApiGatewayProvider = class ApiGatewayProvider {
20355
20363
  }));
20356
20364
  try {
20357
20365
  const integration = properties["Integration"];
20358
- if (integration) await this.apiGatewayClient.send(new PutIntegrationCommand({
20366
+ if (integration) await this.apiGatewayClient.send(new PutIntegrationCommand(putIntegrationInput({
20359
20367
  restApiId,
20360
20368
  resourceId,
20361
- httpMethod,
20362
- type: integration["Type"],
20363
- integrationHttpMethod: integration["IntegrationHttpMethod"],
20364
- uri: integration["Uri"],
20365
- connectionType: integration["ConnectionType"],
20366
- connectionId: integration["ConnectionId"],
20367
- credentials: integration["Credentials"],
20368
- requestParameters: integration["RequestParameters"],
20369
- requestTemplates: integration["RequestTemplates"],
20370
- passthroughBehavior: integration["PassthroughBehavior"],
20371
- contentHandling: integration["ContentHandling"],
20372
- timeoutInMillis: integration["TimeoutInMillis"],
20373
- cacheNamespace: integration["CacheNamespace"],
20374
- cacheKeyParameters: integration["CacheKeyParameters"],
20375
- tlsConfig: integration["TlsConfig"] ? { insecureSkipVerification: integration["TlsConfig"]["InsecureSkipVerification"] } : void 0,
20376
- responseTransferMode: integration["ResponseTransferMode"]
20377
- }));
20369
+ httpMethod
20370
+ }, integration)));
20378
20371
  const methodResponses = properties["MethodResponses"];
20379
- if (methodResponses) for (const resp of methodResponses) {
20380
- const statusCode = String(resp["StatusCode"]);
20381
- await this.apiGatewayClient.send(new PutMethodResponseCommand({
20382
- restApiId,
20383
- resourceId,
20384
- httpMethod,
20385
- statusCode,
20386
- responseModels: resp["ResponseModels"],
20387
- responseParameters: resp["ResponseParameters"]
20388
- }));
20389
- }
20372
+ if (methodResponses) for (const resp of methodResponses) await this.apiGatewayClient.send(new PutMethodResponseCommand(putMethodResponseInput({
20373
+ restApiId,
20374
+ resourceId,
20375
+ httpMethod
20376
+ }, resp)));
20390
20377
  if (integration) {
20391
20378
  const integrationResponses = integration["IntegrationResponses"];
20392
- if (integrationResponses) for (const ir of integrationResponses) {
20393
- const statusCode = String(ir["StatusCode"]);
20394
- await this.apiGatewayClient.send(new PutIntegrationResponseCommand({
20395
- restApiId,
20396
- resourceId,
20397
- httpMethod,
20398
- statusCode,
20399
- selectionPattern: ir["SelectionPattern"],
20400
- responseParameters: ir["ResponseParameters"],
20401
- responseTemplates: ir["ResponseTemplates"],
20402
- contentHandling: ir["ContentHandling"]
20403
- }));
20404
- }
20379
+ if (integrationResponses) for (const ir of integrationResponses) await this.apiGatewayClient.send(new PutIntegrationResponseCommand(putIntegrationResponseInput({
20380
+ restApiId,
20381
+ resourceId,
20382
+ httpMethod
20383
+ }, ir)));
20405
20384
  }
20406
20385
  } catch (innerError) {
20407
20386
  try {
@@ -20474,7 +20453,12 @@ var ApiGatewayProvider = class ApiGatewayProvider {
20474
20453
  path: "/authorizationScopes",
20475
20454
  value: (newScopes ?? []).join(",")
20476
20455
  });
20477
- if (patchOperations.length === 0) {
20456
+ const childCalls = methodChildCalls({
20457
+ restApiId,
20458
+ resourceId,
20459
+ httpMethod
20460
+ }, properties, previousProperties);
20461
+ if (patchOperations.length === 0 && childCalls.length === 0) {
20478
20462
  log.debug(`No changes detected for API Gateway Method ${logicalId}`);
20479
20463
  return {
20480
20464
  physicalId,
@@ -20482,13 +20466,18 @@ var ApiGatewayProvider = class ApiGatewayProvider {
20482
20466
  };
20483
20467
  }
20484
20468
  try {
20485
- await this.apiGatewayClient.send(new UpdateMethodCommand({
20469
+ if (patchOperations.length > 0) await this.apiGatewayClient.send(new UpdateMethodCommand({
20486
20470
  restApiId,
20487
20471
  resourceId,
20488
20472
  httpMethod,
20489
20473
  patchOperations
20490
20474
  }));
20491
- log.debug(`Successfully updated API Gateway Method ${logicalId} (${patchOperations.length} patch ops)`);
20475
+ for (const call of childCalls) try {
20476
+ await this.apiGatewayClient.send(call.command);
20477
+ } catch (error) {
20478
+ if (!(call.kind === "delete" && error instanceof NotFoundException$1)) throw error;
20479
+ }
20480
+ log.debug(`Successfully updated API Gateway Method ${logicalId} (${patchOperations.length} patch ops, ${childCalls.length} sub-resource calls)`);
20492
20481
  return {
20493
20482
  physicalId,
20494
20483
  wasReplaced: false
@@ -20848,6 +20837,127 @@ function appendMapPatchOps(ops, basePath, next, prev) {
20848
20837
  path: `${basePath}/${escape(key)}`
20849
20838
  });
20850
20839
  }
20840
+ function putIntegrationInput(ids, integration) {
20841
+ return {
20842
+ ...ids,
20843
+ type: integration["Type"],
20844
+ integrationHttpMethod: integration["IntegrationHttpMethod"],
20845
+ uri: integration["Uri"],
20846
+ connectionType: integration["ConnectionType"],
20847
+ connectionId: integration["ConnectionId"],
20848
+ credentials: integration["Credentials"],
20849
+ requestParameters: integration["RequestParameters"],
20850
+ requestTemplates: integration["RequestTemplates"],
20851
+ passthroughBehavior: integration["PassthroughBehavior"],
20852
+ contentHandling: integration["ContentHandling"],
20853
+ timeoutInMillis: integration["TimeoutInMillis"],
20854
+ cacheNamespace: integration["CacheNamespace"],
20855
+ cacheKeyParameters: integration["CacheKeyParameters"],
20856
+ tlsConfig: integration["TlsConfig"] ? { insecureSkipVerification: integration["TlsConfig"]["InsecureSkipVerification"] } : void 0,
20857
+ responseTransferMode: integration["ResponseTransferMode"]
20858
+ };
20859
+ }
20860
+ function putMethodResponseInput(ids, resp) {
20861
+ return {
20862
+ ...ids,
20863
+ statusCode: String(resp["StatusCode"]),
20864
+ responseModels: resp["ResponseModels"],
20865
+ responseParameters: resp["ResponseParameters"]
20866
+ };
20867
+ }
20868
+ function putIntegrationResponseInput(ids, ir) {
20869
+ return {
20870
+ ...ids,
20871
+ statusCode: String(ir["StatusCode"]),
20872
+ selectionPattern: ir["SelectionPattern"],
20873
+ responseParameters: ir["ResponseParameters"],
20874
+ responseTemplates: ir["ResponseTemplates"],
20875
+ contentHandling: ir["ContentHandling"]
20876
+ };
20877
+ }
20878
+ function isCfnMethodChildShape(props) {
20879
+ const integration = integrationBlock(props["Integration"]);
20880
+ if (integration !== void 0 && !("Type" in integration)) return false;
20881
+ const responses = props["MethodResponses"];
20882
+ return responses === void 0 || Array.isArray(responses);
20883
+ }
20884
+ function responsesByStatus(value) {
20885
+ const out = /* @__PURE__ */ new Map();
20886
+ if (!Array.isArray(value)) return out;
20887
+ for (const entry of value) if (entry !== null && typeof entry === "object" && !Array.isArray(entry)) {
20888
+ const record = entry;
20889
+ out.set(String(record["StatusCode"]), record);
20890
+ }
20891
+ return out;
20892
+ }
20893
+ function integrationBlock(value) {
20894
+ return value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).length > 0 ? value : void 0;
20895
+ }
20896
+ function methodChildCalls(ids, desired, previous) {
20897
+ if (!isCfnMethodChildShape(desired) || !isCfnMethodChildShape(previous)) return [];
20898
+ const newInt = integrationBlock(desired["Integration"]);
20899
+ const oldInt = integrationBlock(previous["Integration"]);
20900
+ const newMr = responsesByStatus(desired["MethodResponses"]);
20901
+ const oldMr = responsesByStatus(previous["MethodResponses"]);
20902
+ const newIr = responsesByStatus(newInt?.["IntegrationResponses"]);
20903
+ const oldIr = responsesByStatus(oldInt?.["IntegrationResponses"]);
20904
+ const withoutResponses = (b) => {
20905
+ if (b === void 0) return void 0;
20906
+ const { IntegrationResponses: _dropped, ...rest } = b;
20907
+ return rest;
20908
+ };
20909
+ const integrationChanged = !isDeepStrictEqual(withoutResponses(newInt), withoutResponses(oldInt));
20910
+ const mrGoing = [...oldMr.keys()].filter((code) => !newMr.has(code) || !isDeepStrictEqual(newMr.get(code), oldMr.get(code)));
20911
+ const mrComing = [...newMr.keys()].filter((code) => !oldMr.has(code) || !isDeepStrictEqual(newMr.get(code), oldMr.get(code)));
20912
+ const calls = [];
20913
+ const liveIr = new Map(oldInt === void 0 ? [] : oldIr);
20914
+ if (oldInt !== void 0 && newInt === void 0) {
20915
+ calls.push({
20916
+ kind: "delete",
20917
+ command: new DeleteIntegrationCommand(ids)
20918
+ });
20919
+ liveIr.clear();
20920
+ } else if (oldInt !== void 0) {
20921
+ for (const code of oldIr.keys()) if (!newIr.has(code) || mrGoing.includes(code)) {
20922
+ calls.push({
20923
+ kind: "delete",
20924
+ command: new DeleteIntegrationResponseCommand({
20925
+ ...ids,
20926
+ statusCode: code
20927
+ })
20928
+ });
20929
+ liveIr.delete(code);
20930
+ }
20931
+ }
20932
+ for (const code of mrGoing) calls.push({
20933
+ kind: "delete",
20934
+ command: new DeleteMethodResponseCommand({
20935
+ ...ids,
20936
+ statusCode: code
20937
+ })
20938
+ });
20939
+ for (const code of mrComing) calls.push({
20940
+ kind: "put",
20941
+ command: new PutMethodResponseCommand(putMethodResponseInput(ids, newMr.get(code)))
20942
+ });
20943
+ if (newInt !== void 0) {
20944
+ if (integrationChanged) {
20945
+ calls.push({
20946
+ kind: "put",
20947
+ command: new PutIntegrationCommand(putIntegrationInput(ids, newInt))
20948
+ });
20949
+ liveIr.clear();
20950
+ }
20951
+ for (const [code, ir] of newIr) {
20952
+ if (liveIr.has(code) && isDeepStrictEqual(liveIr.get(code), ir)) continue;
20953
+ calls.push({
20954
+ kind: "put",
20955
+ command: new PutIntegrationResponseCommand(putIntegrationResponseInput(ids, ir))
20956
+ });
20957
+ }
20958
+ }
20959
+ return calls;
20960
+ }
20851
20961
 
20852
20962
  //#endregion
20853
20963
  //#region src/provisioning/providers/apigatewayv2-provider.ts
@@ -21272,7 +21382,7 @@ var ApiGatewayV2Provider = class {
21272
21382
  const apiId = properties?.["ApiId"];
21273
21383
  if (!apiId) throw new ProvisioningError(`ApiId is required to delete Integration ${logicalId}`, resourceType, logicalId, physicalId);
21274
21384
  try {
21275
- await this.getClient().send(new DeleteIntegrationCommand({
21385
+ await this.getClient().send(new DeleteIntegrationCommand$1({
21276
21386
  ApiId: apiId,
21277
21387
  IntegrationId: physicalId
21278
21388
  }));
@@ -31871,7 +31981,7 @@ var ServiceDiscoveryProvider = class ServiceDiscoveryProvider {
31871
31981
  case "AWS::ServiceDiscovery::PrivateDnsNamespace": return this.updateNamespace(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets);
31872
31982
  case "AWS::ServiceDiscovery::HttpNamespace": return this.updateHttpNamespace(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets);
31873
31983
  case "AWS::ServiceDiscovery::PublicDnsNamespace": return this.updatePublicDnsNamespace(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets);
31874
- case "AWS::ServiceDiscovery::Service": return this.updateService(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets);
31984
+ case "AWS::ServiceDiscovery::Service": return this.updateService(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets, context?.changedProperties);
31875
31985
  default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId, physicalId);
31876
31986
  }
31877
31987
  }
@@ -32206,11 +32316,11 @@ var ServiceDiscoveryProvider = class ServiceDiscoveryProvider {
32206
32316
  throw thrown;
32207
32317
  }
32208
32318
  }
32209
- async updateService(logicalId, physicalId, resourceType, properties, previousProperties, maskSecrets) {
32319
+ async updateService(logicalId, physicalId, resourceType, properties, previousProperties, maskSecrets, changedProperties) {
32210
32320
  this.logger.debug(`Updating service discovery service ${logicalId}: ${physicalId}`);
32211
32321
  refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
32212
32322
  const client = this.getClient();
32213
- const servicePlan = this.planServiceChange(properties, previousProperties);
32323
+ const servicePlan = this.planServiceChange(properties, previousProperties, changedProperties);
32214
32324
  const serviceChange = servicePlan?.change ?? {};
32215
32325
  const newAttrs = this.normalizeServiceAttributes(properties["ServiceAttributes"]);
32216
32326
  const oldAttrs = this.normalizeServiceAttributes(previousProperties["ServiceAttributes"]);
@@ -32296,8 +32406,9 @@ var ServiceDiscoveryProvider = class ServiceDiscoveryProvider {
32296
32406
  throw this.wrapMaskedError(maskerOrIdentity(maskSecrets), error, (text) => new ProvisioningError(`Failed to update service discovery service ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
32297
32407
  }
32298
32408
  }
32299
- planServiceChange(properties, previousProperties) {
32300
- const declaredDiffers = (key) => properties[key] !== void 0 && !sameAsRecorded(properties[key], previousProperties[key]);
32409
+ planServiceChange(properties, previousProperties, changedProperties) {
32410
+ const changed = (key) => changedProperties !== void 0 ? changedProperties.has(key) : !sameAsRecorded(properties[key], previousProperties[key]);
32411
+ const declaredDiffers = (key) => properties[key] !== void 0 && changed(key);
32301
32412
  const change = {};
32302
32413
  if (properties["Description"] !== void 0) change.Description = properties["Description"];
32303
32414
  const desiredRecords = properties["DnsConfig"]?.DnsRecords;
@@ -32308,7 +32419,7 @@ var ServiceDiscoveryProvider = class ServiceDiscoveryProvider {
32308
32419
  change,
32309
32420
  keepRemovedFromLive: false
32310
32421
  };
32311
- if (desiredRecords !== void 0 && !sameAsRecorded(desiredRecords, previousRecords)) return {
32422
+ if (desiredRecords !== void 0 && (changedProperties === void 0 || changedProperties.has("DnsConfig")) && !sameAsRecorded(desiredRecords, previousRecords)) return {
32312
32423
  change,
32313
32424
  keepRemovedFromLive: true
32314
32425
  };
@@ -47299,4 +47410,4 @@ var ACMCertificateProvider = class {
47299
47410
 
47300
47411
  //#endregion
47301
47412
  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 };
47302
- //# sourceMappingURL=provider-classes-CXSiWJVn.js.map
47413
+ //# sourceMappingURL=provider-classes-B2_u4Fg0.js.map