@go-to-k/cdkd 0.301.3 → 0.301.4

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-Di3xOH3L.js → asg-provider--GY-B-zI.js} +2 -2
  2. package/dist/{asg-provider-Di3xOH3L.js.map → asg-provider--GY-B-zI.js.map} +1 -1
  3. package/dist/cli.js +2 -2
  4. package/dist/{deploy-engine-CZaafy9R.js → deploy-engine-BIPU9Xdh.js} +1236 -1093
  5. package/dist/deploy-engine-BIPU9Xdh.js.map +1 -0
  6. package/dist/iam-policy-targets-BkeM7IXi.js.map +1 -1
  7. package/dist/{iam-role-provider-De0ZPOAF.js → iam-role-provider-C58oW5zG.js} +5 -4
  8. package/dist/iam-role-provider-C58oW5zG.js.map +1 -0
  9. package/dist/index.d.ts +3 -5
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/{neptune-provider-DTUriVz3.js → neptune-provider-DoKgbZCz.js} +5 -7
  13. package/dist/neptune-provider-DoKgbZCz.js.map +1 -0
  14. package/dist/{program-CYtSW-WU.js → program-DYfZCsxM.js} +108 -58
  15. package/dist/program-DYfZCsxM.js.map +1 -0
  16. package/dist/{provider-classes-59TTNMFB.js → provider-classes-BSUoljqw.js} +89 -153
  17. package/dist/provider-classes-BSUoljqw.js.map +1 -0
  18. package/dist/{rds-provider-Dadp11aB.js → rds-provider-DI_O0_iG.js} +4 -4
  19. package/dist/rds-provider-DI_O0_iG.js.map +1 -0
  20. package/dist/{version-Cx2pAgJv.js → version-Bft5jrTk.js} +2 -2
  21. package/dist/{version-Cx2pAgJv.js.map → version-Bft5jrTk.js.map} +1 -1
  22. package/package.json +2 -2
  23. package/dist/deploy-engine-CZaafy9R.js.map +0 -1
  24. package/dist/iam-role-provider-De0ZPOAF.js.map +0 -1
  25. package/dist/neptune-provider-DTUriVz3.js.map +0 -1
  26. package/dist/program-CYtSW-WU.js.map +0 -1
  27. package/dist/provider-classes-59TTNMFB.js.map +0 -1
  28. package/dist/rds-provider-Dadp11aB.js.map +0 -1
@@ -2,12 +2,12 @@ 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
3
  import { $ as protectedReplacementAdvice, $n as explicitDenyPolicyKind, $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 markReplayMayCollide, 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, Zn as markNameCollision, Zt as withPasteableAwsProfile, _ as RecentIdSet, _t as createMaskedLogSinks, a as onlySecretDerived, ar as isRetryableTransientError, at as startInterruptWatch, b as isInsideWindow, bn as ResourceUpdateNotSupportedError, bt as maskDeep, c as recordedPrincipalsRepair, cr as THROTTLING_ERROR_NAMES, ct as canonicalizeRoute53QueryName, dr as markNonRetryable, dt as compositeIdSkipResult, en as clientDefaultsFor, et as renderDisableCommand, fr as markRedactedCause, ft as logicalIdShown, g as AmbiguousCreateLatch, gt as stateOrphanRecordRemedy, h as AMBIGUOUS_LATCH_TTL_MS, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, in as CdkdError, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jt as markAuxiliaryFailure, k as isPlainImportValue, lr as isMarkedNonRetryable, lt as compositeIdFormatMessage, nn as AccountIdUnavailableError, nr as isAmbiguousOutcomeError, o as readPrincipalLists, or as isTransientServerError, ot as ElapsedBudgetRegistry, p as withRemovalDefaults, pr as wrapMaskedAwsError, pt as packCompositeId, q as userPoolProtectionSite, qt as injectiveKeyPrefix, r as SECRET_DERIVED_READ_LIVE, rr as isExplicitDenyError, tn as credentialFingerprint, u as clearOnUpdateRemoval, ur as isThrottlingError, 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-BkeM7IXi.js";
4
4
  import { s as ambientRegion } from "./aws-client-defaults-DBXBcg0J.js";
5
- import { $ as S3_AUTO_DELETE_OBJECTS_TAG, Ai as getAccountInfo, Ao as requireConfigString, As as recordAttributeIdCopy, Bi as parseWebACLArn, Bl as displayAssemblyPath, C as withApiLimit, Cc as rewriteTemplateAssetReferences, Co as configBooleanRefusal, Do as replayWarn, Eo as readConfigString, Fo as canonicalLambdaFunctionName, Fr as slowCcOperationTimeoutMs, G as deleteBudgetKey, Ga as refuseMalformedResourcesForDestroy, Gt as awaitInFlightSibling, H as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, Hl as resolveAssemblyPath, Hr as withIndeterminateGuard, Ht as withNestedStackContext, Io as lambdaFunctionNameForMask, Ir as unchangedBehindSecretReference, J as DELETE_INDEX_WAIT_PROCEED_NOTE, Jr as observeThenDisableInstanceApiTermination, K as resolveDynamoDbDeleteBudgetClock, Kr as ec2InstanceProtectionSite, Lo as sameLambdaFunctionAddress, Lt as revertNestedChildFromJournal, Ns as carriesSecretMask, Ol as canonicalizeRegion, Oo as requireConfigArray, Os as recoverMaskedOutput, Po as withRetry, Pt as getNestedRevertRun, Q as ECR_AUTO_DELETE_IMAGES_TAG, S as lookupEachName, Si as s3BucketWebsiteUrl, So as coerceCfnInteger, Ss as dynamicReferenceTokens, Ta as refuseMalformedNestedChildOutputs, Tl as decodeListingKey, To as configStringRefusal, Tr as waitForLambdaFunctionActive, U as beginDeleteWait, Ui as passedParameterClassesOf, Ur as isWaitAbandonedError, V as DynamoDBGlobalTableProvider, Vl as renderAssemblyPathEscape, Vr as deleteSkipReason, Vt as getCurrentNestedStackContext, W as compensateRemovedDeletionProtection, Wr as markWaitAbandoned, X as deleteTableWithIndexBusyRetry, Xi as accountArgs, Xr as reEnableInstanceApiTermination, Xt as replacedDeleteFailureVerdict, Y as INDEX_SETTLE_POLL_INTERVAL_MS, Yo as passedNoEchoParametersOf, Yr as reDisableInstanceApiTermination, Z as waitForIndexesSettled, _o as coerceWarmThroughput$1, _r as tagPlanWarning, _s as redactSecretsForState, ao as findSilentDropProperties, b as chunks, bi as s3BucketDualStackDomainName, bo as toFiniteNumber, bs as withoutPhysicalNameCopies, c as isAbsoluteAssetPath, cr as acquireIdempotencyToken, dn as REDACTED_DELETE_ADDRESS_SKIP_REASON, dr as DBPROXY_TAGS_WHAT, et as hasCdkAutoDeleteTag, fn as isRedactedRecordedValue, fr as DBPROXY_TAG_OPTIONS, go as WARM_THROUGHPUT_MEMBERS, gr as tagMapAsList, gs as snapshotPassProvenance, hi as outputReferenceProvenanceOf, hr as refuseMalformedDesiredTags, hs as recordReferenceProvenanceEntry, ir as earliestDefined, kl as derivePartitionAndUrlSuffix, ko as requireConfigObject, kr as getCurrentResourceSecrets, ks as physicalNameCopiesOf, l as listNestedTemplateRows, ln as getCurrentProducerRegions, lr as isRefusedByName, mn as redactedDeleteAddressSkip, mr as readTagList, ms as markSameGenerationBag, ns as hasMaskableValues, nt as getPriorAttempts, or as reserveStackCreateToken, pi as isSettledInstanceState, pn as redactedDeleteAddressFields, pr as planTagDiff, q as resolveDynamoDbDeleteBudgetMs, qr as isTerminationProtectionPropagationError, qt as getStackRecords, ro as withheldAccountClause, rt as markRefusedBeforeApplying, s as findNestedTemplateTreeDefect, so as withoutSilentDropProperties, t as DeployEngine, tt as isTruthyCfnBoolean, u as renderNestedTemplateTreeDefect, ur as markDeleteStarted, vc as stringifyValue, vi as s3BucketArn, vo as isWarmThroughputDecrease, vr as definedAttributes, wo as configIntegerRefusal, x as isAccessDeniedError, xi as s3BucketRegionalDomainName, xo as coerceCfnBoolean, yi as s3BucketDomainName, yo as toCfnInteger, yr as stringifyIfAssigned, zl as describeFileReadFailure } from "./deploy-engine-CZaafy9R.js";
6
- import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-De0ZPOAF.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-CYtSW-WU.js";
8
- import { RDSProvider } from "./rds-provider-Dadp11aB.js";
9
- import { NeptuneProvider } from "./neptune-provider-DTUriVz3.js";
10
- import { ASGProvider } from "./asg-provider-Di3xOH3L.js";
5
+ import { $ as markRefusedBeforeApplying, Ao as requireConfigArray, B as compensateRemovedDeletionProtection, Ci as s3BucketRegionalDomainName, Co as coerceCfnBoolean, Cs as withoutPhysicalNameCopies, Da as refuseMalformedNestedChildOutputs, Do as configStringRefusal, Dr as waitForLambdaFunctionActive, Ec as rewriteTemplateAssetReferences, Eo as configIntegerRefusal, G as INDEX_SETTLE_POLL_INTERVAL_MS, Gi as passedParameterClassesOf, Gl as resolveAssemblyPath, Gr as isWaitAbandonedError, Gt as awaitInFlightSibling, H as resolveDynamoDbDeleteBudgetClock, Hi as parseWebACLArn, Hl as describeFileReadFailure, Hn as secretNamedAttributeNamesOf, Ht as withNestedStackContext, Io as withRetry, Is as carriesSecretMask, J as ECR_AUTO_DELETE_IMAGES_TAG, Jr as ec2InstanceProtectionSite, K as deleteTableWithIndexBusyRetry, Kr as markWaitAbandoned, L as DynamoDBGlobalTableProvider, Lo as canonicalLambdaFunctionName, Lr as slowCcOperationTimeoutMs, Lt as revertNestedChildFromJournal, Mi as getAccountInfo, Ml as derivePartitionAndUrlSuffix, Mo as requireConfigString, Ms as physicalNameCopiesOf, Ns as recordAttributeIdCopy, Ol as decodeListingKey, Oo as readConfigString, Pt as getNestedRevertRun, Q as getPriorAttempts, Qi as accountArgs, Qr as reEnableInstanceApiTermination, R as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, Ro as lambdaFunctionNameForMask, Rr as unchangedBehindSecretReference, Si as s3BucketDualStackDomainName, So as toFiniteNumber, To as configBooleanRefusal, Ts as dynamicReferenceTokens, U as resolveDynamoDbDeleteBudgetMs, Ul as displayAssemblyPath, Ur as deleteSkipReason, V as deleteBudgetKey, Vt as getCurrentNestedStackContext, W as DELETE_INDEX_WAIT_PROCEED_NOTE, Wl as renderAssemblyPathEscape, Wr as withIndeterminateGuard, X as hasCdkAutoDeleteTag, Xr as observeThenDisableInstanceApiTermination, Xt as replacedDeleteFailureVerdict, Y as S3_AUTO_DELETE_OBJECTS_TAG, Yr as isTerminationProtectionPropagationError, Z as isTruthyCfnBoolean, Zo as passedNoEchoParametersOf, Zr as reDisableInstanceApiTermination, _i as outputReferenceProvenanceOf, _r as refuseMalformedDesiredTags, _s as markSameGenerationBag, a as findNestedTemplateTreeDefect, ao as withheldAccountClause, as as hasMaskableValues, b as lookupEachName, bi as s3BucketArn, bo as isWarmThroughputDecrease, br as definedAttributes, bs as redactSecretsForState, c as renderNestedTemplateTreeDefect, cr as reserveStackCreateToken, dn as REDACTED_DELETE_ADDRESS_SKIP_REASON, dr as isRefusedByName, fn as isRedactedRecordedValue, fr as markDeleteStarted, gr as readTagList, hi as isSettledInstanceState, hr as planTagDiff, jl as canonicalizeRegion, jo as requireConfigObject, jr as getCurrentResourceSecrets, js as recoverMaskedOutput, ko as replayWarn, ln as getCurrentProducerRegions, lo as withoutSilentDropProperties, mn as redactedDeleteAddressSkip, mr as DBPROXY_TAG_OPTIONS, o as isAbsoluteAssetPath, or as earliestDefined, pn as redactedDeleteAddressFields, pr as DBPROXY_TAGS_WHAT, q as waitForIndexesSettled, qa as refuseMalformedResourcesForDestroy, qt as getStackRecords, s as listNestedTemplateRows, so as findSilentDropProperties, t as DeployEngine, ur as acquireIdempotencyToken, v as chunks, vo as WARM_THROUGHPUT_MEMBERS, vr as tagMapAsList, vs as recordReferenceProvenanceEntry, wi as s3BucketWebsiteUrl, wo as coerceCfnInteger, x as withApiLimit, xc as stringifyValue, xi as s3BucketDomainName, xo as toCfnInteger, xr as stringifyIfAssigned, y as isAccessDeniedError, yo as coerceWarmThroughput$1, yr as tagPlanWarning, ys as snapshotPassProvenance, z as beginDeleteWait, zo as sameLambdaFunctionAddress } from "./deploy-engine-BIPU9Xdh.js";
6
+ import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-C58oW5zG.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-DYfZCsxM.js";
8
+ import { RDSProvider } from "./rds-provider-DI_O0_iG.js";
9
+ import { NeptuneProvider } from "./neptune-provider-DoKgbZCz.js";
10
+ import { ASGProvider } from "./asg-provider--GY-B-zI.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";
@@ -5707,10 +5707,7 @@ const SQS_ATTRIBUTE_REMOVAL_RESET = {
5707
5707
  DelaySeconds: "0",
5708
5708
  ReceiveMessageWaitTimeSeconds: "0",
5709
5709
  KmsDataKeyReusePeriodSeconds: "300",
5710
- ContentBasedDeduplication: "false",
5711
- SqsManagedSseEnabled: "true",
5712
- DeduplicationScope: "queue",
5713
- FifoThroughputLimit: "perQueue"
5710
+ ContentBasedDeduplication: "false"
5714
5711
  };
5715
5712
  const CDK_TO_SQS_ATTRIBUTES = {
5716
5713
  VisibilityTimeout: "VisibilityTimeout",
@@ -5824,13 +5821,7 @@ var SQSQueueProvider = class {
5824
5821
  if (cdkKey === "RedrivePolicy" && typeof value === "object") attributes[sqsKey] = serializeRedrivePolicy(value);
5825
5822
  else if (cdkKey === "RedriveAllowPolicy") attributes[sqsKey] = serializeRedriveAllowPolicy(value);
5826
5823
  else attributes[sqsKey] = stringifyValue(value);
5827
- } else if (previousProperties[cdkKey] !== void 0 && cdkKey in SQS_ATTRIBUTE_REMOVAL_RESET) {
5828
- if (cdkKey === "SqsManagedSseEnabled") {
5829
- const desiredKmsKey = properties["KmsMasterKeyId"];
5830
- if (desiredKmsKey !== void 0 && desiredKmsKey !== "") continue;
5831
- }
5832
- attributes[sqsKey] = SQS_ATTRIBUTE_REMOVAL_RESET[cdkKey];
5833
- }
5824
+ } else if (previousProperties[cdkKey] !== void 0 && cdkKey in SQS_ATTRIBUTE_REMOVAL_RESET) attributes[sqsKey] = SQS_ATTRIBUTE_REMOVAL_RESET[cdkKey];
5834
5825
  }
5835
5826
  if (Object.keys(attributes).length > 0) {
5836
5827
  await this.sqsClient.send(new SetQueueAttributesCommand({
@@ -8875,7 +8866,7 @@ var LambdaUrlProvider = class {
8875
8866
  FunctionName: physicalId,
8876
8867
  ...authType !== void 0 && { AuthType: authType }
8877
8868
  };
8878
- const invokeMode = clearOnUpdateRemoval(properties["InvokeMode"], previousProperties["InvokeMode"], "BUFFERED");
8869
+ const invokeMode = properties["InvokeMode"];
8879
8870
  if (invokeMode !== void 0) updateParams.InvokeMode = invokeMode;
8880
8871
  const newCorsRaw = properties["Cors"];
8881
8872
  const prevCorsRaw = previousProperties["Cors"];
@@ -14377,7 +14368,6 @@ var SecretsManagerSecretProvider = class {
14377
14368
  "ReplicaRegions",
14378
14369
  "Type"
14379
14370
  ])]]);
14380
- removalDefaults = /* @__PURE__ */ new Map([["AWS::SecretsManager::Secret", /* @__PURE__ */ new Map([["Description", ""]])]]);
14381
14371
  constructor() {
14382
14372
  const awsClients = getAwsClients();
14383
14373
  this.smClient = awsClients.secretsManager;
@@ -14422,7 +14412,6 @@ var SecretsManagerSecretProvider = class {
14422
14412
  }
14423
14413
  }
14424
14414
  async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
14425
- properties = withRemovalDefaults(this.removalDefaults, resourceType, properties, previousProperties, context);
14426
14415
  const log = this.operationSinks(context?.maskSecrets, [
14427
14416
  [properties["Name"], properties["Name"]],
14428
14417
  [properties["Name"], physicalId],
@@ -14447,7 +14436,7 @@ var SecretsManagerSecretProvider = class {
14447
14436
  if (description !== void 0) updateParams.Description = description;
14448
14437
  const newKmsKeyId = properties["KmsKeyId"];
14449
14438
  const prevKmsKeyId = previousProperties["KmsKeyId"];
14450
- const kmsKeyId = clearOnUpdateRemoval(newKmsKeyId === "" ? void 0 : newKmsKeyId, prevKmsKeyId === "" ? void 0 : prevKmsKeyId, "");
14439
+ const kmsKeyId = newKmsKeyId === void 0 ? void 0 : newKmsKeyId === "" ? prevKmsKeyId !== void 0 && prevKmsKeyId !== "" ? "" : void 0 : newKmsKeyId;
14451
14440
  if (kmsKeyId !== void 0) updateParams.KmsKeyId = kmsKeyId;
14452
14441
  if (properties["Type"]) updateParams.Type = properties["Type"];
14453
14442
  await this.smClient.send(new UpdateSecretCommand(updateParams));
@@ -20758,9 +20747,9 @@ var ApiGatewayV2Provider = class {
20758
20747
  const log = resourceType === "AWS::ApiGatewayV2::Stage" ? stageSinks(this.logger, context, [[properties["StageName"], physicalId], [previousProperties["StageName"], physicalId]]) : createMaskedLogSinks(this.logger, context?.maskSecrets);
20759
20748
  switch (resourceType) {
20760
20749
  case "AWS::ApiGatewayV2::Api": return this.updateApi(logicalId, physicalId, resourceType, properties, previousProperties, log);
20761
- case "AWS::ApiGatewayV2::Stage": return this.updateStage(logicalId, physicalId, resourceType, properties, previousProperties, log);
20762
- case "AWS::ApiGatewayV2::Integration": return this.updateIntegration(logicalId, physicalId, resourceType, properties, previousProperties, log);
20763
- case "AWS::ApiGatewayV2::Route": return this.updateRoute(logicalId, physicalId, resourceType, properties, previousProperties, log);
20750
+ case "AWS::ApiGatewayV2::Stage": return this.updateStage(logicalId, physicalId, resourceType, properties, previousProperties, log, context?.desiredFromAwsReadback === true);
20751
+ case "AWS::ApiGatewayV2::Integration": return this.updateIntegration(logicalId, physicalId, resourceType, properties, previousProperties, log, context?.desiredFromAwsReadback === true);
20752
+ case "AWS::ApiGatewayV2::Route": return this.updateRoute(logicalId, physicalId, resourceType, properties, previousProperties, log, context?.desiredFromAwsReadback === true);
20764
20753
  case "AWS::ApiGatewayV2::Authorizer": return this.updateAuthorizer(logicalId, physicalId, resourceType, properties, previousProperties, log);
20765
20754
  default: throw new ResourceUpdateNotSupportedError(resourceType, logicalId, "Unsupported API Gateway V2 resource type for in-place update in cdkd; re-deploy with cdkd deploy --replace, or destroy + redeploy the stack.");
20766
20755
  }
@@ -21366,49 +21355,34 @@ var ApiGatewayV2Provider = class {
21366
21355
  input.Name = properties["Name"];
21367
21356
  changed = true;
21368
21357
  }
21369
- {
21370
- const r = this.clearableUpdate(properties["Description"], previousProperties["Description"], "");
21371
- if (r.changed) {
21372
- input.Description = r.value;
21373
- changed = true;
21374
- }
21358
+ if (properties["Description"] !== void 0 && properties["Description"] !== previousProperties["Description"]) {
21359
+ input.Description = properties["Description"];
21360
+ changed = true;
21375
21361
  }
21376
21362
  if (properties["CorsConfiguration"] !== void 0 && !this.deepEqual(properties["CorsConfiguration"], previousProperties["CorsConfiguration"])) {
21377
21363
  input.CorsConfiguration = properties["CorsConfiguration"];
21378
21364
  changed = true;
21379
21365
  }
21380
21366
  const corsRemoved = properties["CorsConfiguration"] === void 0 && previousProperties["CorsConfiguration"] !== void 0;
21381
- {
21382
- const r = this.clearableUpdate(properties["DisableExecuteApiEndpoint"], previousProperties["DisableExecuteApiEndpoint"], false);
21383
- if (r.changed) {
21384
- input.DisableExecuteApiEndpoint = r.value;
21385
- changed = true;
21386
- }
21367
+ if (properties["DisableExecuteApiEndpoint"] !== void 0 && properties["DisableExecuteApiEndpoint"] !== previousProperties["DisableExecuteApiEndpoint"]) {
21368
+ input.DisableExecuteApiEndpoint = properties["DisableExecuteApiEndpoint"];
21369
+ changed = true;
21387
21370
  }
21388
- {
21389
- const r = this.clearableUpdate(properties["Version"], previousProperties["Version"], "");
21390
- if (r.changed) {
21391
- input.Version = r.value;
21392
- changed = true;
21393
- }
21371
+ if (properties["Version"] !== void 0 && properties["Version"] !== previousProperties["Version"]) {
21372
+ input.Version = properties["Version"];
21373
+ changed = true;
21394
21374
  }
21395
21375
  if (properties["RouteSelectionExpression"] !== void 0 && properties["RouteSelectionExpression"] !== previousProperties["RouteSelectionExpression"]) {
21396
21376
  input.RouteSelectionExpression = properties["RouteSelectionExpression"];
21397
21377
  changed = true;
21398
21378
  }
21399
- {
21400
- const r = this.clearableUpdate(properties["ApiKeySelectionExpression"], previousProperties["ApiKeySelectionExpression"], "$request.header.x-api-key");
21401
- if (r.changed) {
21402
- input.ApiKeySelectionExpression = r.value;
21403
- changed = true;
21404
- }
21379
+ if (properties["ApiKeySelectionExpression"] !== void 0 && properties["ApiKeySelectionExpression"] !== previousProperties["ApiKeySelectionExpression"]) {
21380
+ input.ApiKeySelectionExpression = properties["ApiKeySelectionExpression"];
21381
+ changed = true;
21405
21382
  }
21406
- {
21407
- const r = this.clearableUpdate(properties["IpAddressType"], previousProperties["IpAddressType"], "ipv4");
21408
- if (r.changed) {
21409
- input.IpAddressType = r.value;
21410
- changed = true;
21411
- }
21383
+ if (properties["IpAddressType"] !== void 0 && properties["IpAddressType"] !== previousProperties["IpAddressType"]) {
21384
+ input.IpAddressType = properties["IpAddressType"];
21385
+ changed = true;
21412
21386
  }
21413
21387
  if (!changed && !corsRemoved) {
21414
21388
  log.debug(`No mutable Api fields changed for ${logicalId}; skipping UpdateApi`);
@@ -21447,7 +21421,7 @@ var ApiGatewayV2Provider = class {
21447
21421
  throw this.wrapMaskedError(log, error, (text) => new ProvisioningError(`Failed to update API Gateway V2 Api ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
21448
21422
  }
21449
21423
  }
21450
- async updateStage(logicalId, physicalId, resourceType, properties, previousProperties, log) {
21424
+ async updateStage(logicalId, physicalId, resourceType, properties, previousProperties, log, restoreFromAws = false) {
21451
21425
  const apiId = properties["ApiId"] ?? previousProperties["ApiId"];
21452
21426
  if (!apiId) throw new ProvisioningError(`ApiId is required to update Stage ${logicalId}`, resourceType, logicalId, physicalId);
21453
21427
  if (properties["ApiId"] !== void 0 && previousProperties["ApiId"] !== void 0 && properties["ApiId"] !== previousProperties["ApiId"]) throw new ResourceUpdateNotSupportedError(resourceType, logicalId, "ApiId is immutable on AWS::ApiGatewayV2::Stage; re-deploy with cdkd deploy --replace");
@@ -21474,12 +21448,15 @@ var ApiGatewayV2Provider = class {
21474
21448
  input.Description = properties["Description"];
21475
21449
  changed = true;
21476
21450
  }
21477
- {
21451
+ if (restoreFromAws) {
21478
21452
  const merged = this.mapWithRemovals(properties["StageVariables"], previousProperties["StageVariables"]);
21479
21453
  if (merged !== void 0) {
21480
21454
  input.StageVariables = merged;
21481
21455
  changed = true;
21482
21456
  }
21457
+ } else if (this.mapEntryAddedOrChanged(properties["StageVariables"], previousProperties["StageVariables"])) {
21458
+ input.StageVariables = properties["StageVariables"];
21459
+ changed = true;
21483
21460
  }
21484
21461
  if (properties["DefaultRouteSettings"] !== void 0 && !this.deepEqual(properties["DefaultRouteSettings"], previousProperties["DefaultRouteSettings"])) {
21485
21462
  input.DefaultRouteSettings = properties["DefaultRouteSettings"];
@@ -21495,12 +21472,9 @@ var ApiGatewayV2Provider = class {
21495
21472
  changed = true;
21496
21473
  }
21497
21474
  const droppedRouteSettingKeys = this.droppedKeys(properties["RouteSettings"], previousProperties["RouteSettings"]);
21498
- {
21499
- const r = this.clearableUpdate(properties["ClientCertificateId"], previousProperties["ClientCertificateId"], "");
21500
- if (r.changed) {
21501
- input.ClientCertificateId = r.value;
21502
- changed = true;
21503
- }
21475
+ if (properties["ClientCertificateId"] !== void 0 && properties["ClientCertificateId"] !== previousProperties["ClientCertificateId"]) {
21476
+ input.ClientCertificateId = properties["ClientCertificateId"];
21477
+ changed = true;
21504
21478
  }
21505
21479
  if (properties["DeploymentId"] !== void 0 && properties["DeploymentId"] !== previousProperties["DeploymentId"]) {
21506
21480
  input.DeploymentId = properties["DeploymentId"];
@@ -21538,7 +21512,7 @@ var ApiGatewayV2Provider = class {
21538
21512
  throw this.wrapMaskedError(log, error, (text) => new ProvisioningError(`Failed to update API Gateway V2 Stage ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
21539
21513
  }
21540
21514
  }
21541
- async updateIntegration(logicalId, physicalId, resourceType, properties, previousProperties, log) {
21515
+ async updateIntegration(logicalId, physicalId, resourceType, properties, previousProperties, log, restoreFromAws = false) {
21542
21516
  const apiId = properties["ApiId"] ?? previousProperties["ApiId"];
21543
21517
  if (!apiId) throw new ProvisioningError(`ApiId is required to update Integration ${logicalId}`, resourceType, logicalId, physicalId);
21544
21518
  if (properties["ApiId"] !== void 0 && previousProperties["ApiId"] !== void 0 && properties["ApiId"] !== previousProperties["ApiId"]) throw new ResourceUpdateNotSupportedError(resourceType, logicalId, "ApiId is immutable on AWS::ApiGatewayV2::Integration; re-deploy with cdkd deploy --replace");
@@ -21567,19 +21541,19 @@ var ApiGatewayV2Provider = class {
21567
21541
  input.TimeoutInMillis = properties["TimeoutInMillis"];
21568
21542
  changed = true;
21569
21543
  }
21570
- {
21544
+ if (restoreFromAws) {
21571
21545
  const merged = this.mapWithRemovals(properties["RequestParameters"], previousProperties["RequestParameters"]);
21572
21546
  if (merged !== void 0) {
21573
21547
  input.RequestParameters = merged;
21574
21548
  changed = true;
21575
21549
  }
21550
+ } else if (this.mapEntryAddedOrChanged(properties["RequestParameters"], previousProperties["RequestParameters"])) {
21551
+ input.RequestParameters = properties["RequestParameters"];
21552
+ changed = true;
21576
21553
  }
21577
- {
21578
- const r = this.clearableUpdate(properties["Description"], previousProperties["Description"], "");
21579
- if (r.changed) {
21580
- input.Description = r.value;
21581
- changed = true;
21582
- }
21554
+ if (properties["Description"] !== void 0 && properties["Description"] !== previousProperties["Description"]) {
21555
+ input.Description = properties["Description"];
21556
+ changed = true;
21583
21557
  }
21584
21558
  if (properties["ConnectionId"] != null && properties["ConnectionId"] !== previousProperties["ConnectionId"]) {
21585
21559
  input.ConnectionId = properties["ConnectionId"];
@@ -21645,7 +21619,7 @@ var ApiGatewayV2Provider = class {
21645
21619
  throw this.wrapMaskedError(log, error, (text) => new ProvisioningError(`Failed to update API Gateway V2 Integration ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
21646
21620
  }
21647
21621
  }
21648
- async updateRoute(logicalId, physicalId, resourceType, properties, previousProperties, log) {
21622
+ async updateRoute(logicalId, physicalId, resourceType, properties, previousProperties, log, restoreFromAws = false) {
21649
21623
  const apiId = properties["ApiId"] ?? previousProperties["ApiId"];
21650
21624
  if (!apiId) throw new ProvisioningError(`ApiId is required to update Route ${logicalId}`, resourceType, logicalId, physicalId);
21651
21625
  if (properties["ApiId"] !== void 0 && previousProperties["ApiId"] !== void 0 && properties["ApiId"] !== previousProperties["ApiId"]) throw new ResourceUpdateNotSupportedError(resourceType, logicalId, "ApiId is immutable on AWS::ApiGatewayV2::Route; re-deploy with cdkd deploy --replace");
@@ -21662,19 +21636,13 @@ var ApiGatewayV2Provider = class {
21662
21636
  input.Target = properties["Target"];
21663
21637
  changed = true;
21664
21638
  }
21665
- {
21666
- const r = this.clearableUpdate(properties["AuthorizationType"], previousProperties["AuthorizationType"], "NONE");
21667
- if (r.changed) {
21668
- input.AuthorizationType = r.value;
21669
- changed = true;
21670
- }
21639
+ if (properties["AuthorizationType"] !== void 0 && properties["AuthorizationType"] !== previousProperties["AuthorizationType"]) {
21640
+ input.AuthorizationType = properties["AuthorizationType"];
21641
+ changed = true;
21671
21642
  }
21672
- {
21673
- const r = this.clearableUpdate(properties["AuthorizerId"], previousProperties["AuthorizerId"], "");
21674
- if (r.changed) {
21675
- input.AuthorizerId = r.value;
21676
- changed = true;
21677
- }
21643
+ if (properties["AuthorizerId"] !== void 0 && properties["AuthorizerId"] !== previousProperties["AuthorizerId"]) {
21644
+ input.AuthorizerId = properties["AuthorizerId"];
21645
+ changed = true;
21678
21646
  }
21679
21647
  {
21680
21648
  const r = this.clearableUpdate(properties["AuthorizationScopes"], previousProperties["AuthorizationScopes"], []);
@@ -21683,12 +21651,9 @@ var ApiGatewayV2Provider = class {
21683
21651
  changed = true;
21684
21652
  }
21685
21653
  }
21686
- {
21687
- const r = this.clearableUpdate(properties["OperationName"], previousProperties["OperationName"], "");
21688
- if (r.changed) {
21689
- input.OperationName = r.value;
21690
- changed = true;
21691
- }
21654
+ if (properties["OperationName"] !== void 0 && properties["OperationName"] !== previousProperties["OperationName"]) {
21655
+ input.OperationName = properties["OperationName"];
21656
+ changed = true;
21692
21657
  }
21693
21658
  {
21694
21659
  const r = this.clearableUpdate(properties["ApiKeyRequired"], previousProperties["ApiKeyRequired"], false);
@@ -21697,18 +21662,21 @@ var ApiGatewayV2Provider = class {
21697
21662
  changed = true;
21698
21663
  }
21699
21664
  }
21700
- {
21665
+ if (restoreFromAws) {
21701
21666
  const merged = this.mapWithRemovals(properties["RequestModels"], previousProperties["RequestModels"]);
21702
21667
  if (merged !== void 0) {
21703
21668
  input.RequestModels = merged;
21704
21669
  changed = true;
21705
21670
  }
21671
+ } else if (this.mapEntryAddedOrChanged(properties["RequestModels"], previousProperties["RequestModels"])) {
21672
+ input.RequestModels = properties["RequestModels"];
21673
+ changed = true;
21706
21674
  }
21707
- if (properties["RequestParameters"] !== void 0 && !this.deepEqual(properties["RequestParameters"], previousProperties["RequestParameters"])) {
21675
+ if (restoreFromAws ? properties["RequestParameters"] !== void 0 && !this.deepEqual(properties["RequestParameters"], previousProperties["RequestParameters"]) : this.mapEntryAddedOrChanged(properties["RequestParameters"], previousProperties["RequestParameters"])) {
21708
21676
  input.RequestParameters = properties["RequestParameters"];
21709
21677
  changed = true;
21710
21678
  }
21711
- const droppedRequestParameterKeys = this.droppedKeys(properties["RequestParameters"], previousProperties["RequestParameters"]);
21679
+ const droppedRequestParameterKeys = restoreFromAws ? this.droppedKeys(properties["RequestParameters"], previousProperties["RequestParameters"]) : [];
21712
21680
  if (properties["ModelSelectionExpression"] !== void 0 && properties["ModelSelectionExpression"] !== previousProperties["ModelSelectionExpression"]) {
21713
21681
  input.ModelSelectionExpression = properties["ModelSelectionExpression"];
21714
21682
  changed = true;
@@ -21782,37 +21750,25 @@ var ApiGatewayV2Provider = class {
21782
21750
  input.AuthorizerUri = properties["AuthorizerUri"];
21783
21751
  changed = true;
21784
21752
  }
21785
- {
21786
- const r = this.clearableUpdate(properties["AuthorizerCredentialsArn"], previousProperties["AuthorizerCredentialsArn"], "");
21787
- if (r.changed) {
21788
- input.AuthorizerCredentialsArn = r.value;
21789
- changed = true;
21790
- }
21753
+ if (properties["AuthorizerCredentialsArn"] !== void 0 && properties["AuthorizerCredentialsArn"] !== previousProperties["AuthorizerCredentialsArn"]) {
21754
+ input.AuthorizerCredentialsArn = properties["AuthorizerCredentialsArn"];
21755
+ changed = true;
21791
21756
  }
21792
- {
21793
- const r = this.clearableUpdate(properties["AuthorizerPayloadFormatVersion"], previousProperties["AuthorizerPayloadFormatVersion"], "");
21794
- if (r.changed) {
21795
- input.AuthorizerPayloadFormatVersion = r.value;
21796
- changed = true;
21797
- }
21757
+ if (properties["AuthorizerPayloadFormatVersion"] !== void 0 && properties["AuthorizerPayloadFormatVersion"] !== previousProperties["AuthorizerPayloadFormatVersion"]) {
21758
+ input.AuthorizerPayloadFormatVersion = properties["AuthorizerPayloadFormatVersion"];
21759
+ changed = true;
21798
21760
  }
21799
- {
21800
- const r = this.clearableUpdate(properties["AuthorizerResultTtlInSeconds"], previousProperties["AuthorizerResultTtlInSeconds"], 0);
21801
- if (r.changed) {
21802
- input.AuthorizerResultTtlInSeconds = r.value;
21803
- changed = true;
21804
- }
21761
+ if (properties["AuthorizerResultTtlInSeconds"] !== void 0 && properties["AuthorizerResultTtlInSeconds"] !== previousProperties["AuthorizerResultTtlInSeconds"]) {
21762
+ input.AuthorizerResultTtlInSeconds = properties["AuthorizerResultTtlInSeconds"];
21763
+ changed = true;
21805
21764
  }
21806
21765
  if (properties["EnableSimpleResponses"] !== void 0 && properties["EnableSimpleResponses"] !== previousProperties["EnableSimpleResponses"]) {
21807
21766
  input.EnableSimpleResponses = properties["EnableSimpleResponses"];
21808
21767
  changed = true;
21809
21768
  }
21810
- {
21811
- const r = this.clearableUpdate(properties["IdentityValidationExpression"], previousProperties["IdentityValidationExpression"], "");
21812
- if (r.changed) {
21813
- input.IdentityValidationExpression = r.value;
21814
- changed = true;
21815
- }
21769
+ if (properties["IdentityValidationExpression"] !== void 0 && properties["IdentityValidationExpression"] !== previousProperties["IdentityValidationExpression"]) {
21770
+ input.IdentityValidationExpression = properties["IdentityValidationExpression"];
21771
+ changed = true;
21816
21772
  }
21817
21773
  if (!changed) {
21818
21774
  log.debug(`No mutable Authorizer fields changed for ${logicalId}; skipping UpdateAuthorizer`);
@@ -21880,6 +21836,11 @@ var ApiGatewayV2Provider = class {
21880
21836
  for (const key of Object.keys(prevMap)) if (!Object.hasOwn(nextMap, key)) merged[key] = "";
21881
21837
  return merged;
21882
21838
  }
21839
+ mapEntryAddedOrChanged(next, previous) {
21840
+ if (next == null || typeof next !== "object" || Array.isArray(next)) return false;
21841
+ const prevMap = previous != null && typeof previous === "object" && !Array.isArray(previous) ? previous : {};
21842
+ return Object.entries(next).some(([key, value]) => !Object.prototype.hasOwnProperty.call(prevMap, key) || !this.deepEqual(value, prevMap[key]));
21843
+ }
21883
21844
  warnTlsConfigIgnoredIfPublic(logicalId, properties, log) {
21884
21845
  if (properties["TlsConfig"] != null && properties["ConnectionType"] !== "VPC_LINK") log.warn(`AWS::ApiGatewayV2::Integration ${logicalId}: TlsConfig is only honored on a VPC_LINK (private) integration — AWS silently ignores it on a public one, and the value will never be readable back from AWS.`);
21885
21846
  }
@@ -27819,7 +27780,6 @@ var DocDBProvider = class {
27819
27780
  logger = getLogger().child("DocDBProvider");
27820
27781
  protectionFlips = new ProtectionFlipRegistry();
27821
27782
  disableCcApiFallback = true;
27822
- removalDefaults = /* @__PURE__ */ new Map([["AWS::DocDB::DBCluster", /* @__PURE__ */ new Map([["DeletionProtection", false]])]]);
27823
27783
  handledProperties = /* @__PURE__ */ new Map([["AWS::DocDB::DBCluster", /* @__PURE__ */ new Set([
27824
27784
  "DBClusterIdentifier",
27825
27785
  "EngineVersion",
@@ -27869,8 +27829,7 @@ var DocDBProvider = class {
27869
27829
  default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId);
27870
27830
  }
27871
27831
  }
27872
- async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
27873
- properties = withRemovalDefaults(this.removalDefaults, resourceType, properties, previousProperties, context);
27832
+ async update(logicalId, physicalId, resourceType, properties, previousProperties, _context) {
27874
27833
  switch (resourceType) {
27875
27834
  case "AWS::DocDB::DBCluster": return this.updateDBCluster(logicalId, physicalId, resourceType, properties, previousProperties);
27876
27835
  case "AWS::DocDB::DBInstance": return this.updateDBInstance(logicalId, physicalId, resourceType, properties, previousProperties);
@@ -27937,7 +27896,7 @@ var DocDBProvider = class {
27937
27896
  DBClusterIdentifier: physicalId,
27938
27897
  EngineVersion: properties["EngineVersion"],
27939
27898
  DeletionProtection: properties["DeletionProtection"],
27940
- BackupRetentionPeriod: clearOnUpdateRemoval(properties["BackupRetentionPeriod"] != null ? Number(properties["BackupRetentionPeriod"]) : void 0, previousProperties["BackupRetentionPeriod"] != null ? Number(previousProperties["BackupRetentionPeriod"]) : void 0, 1),
27899
+ BackupRetentionPeriod: properties["BackupRetentionPeriod"] != null ? Number(properties["BackupRetentionPeriod"]) : void 0,
27941
27900
  PreferredBackupWindow: properties["PreferredBackupWindow"],
27942
27901
  PreferredMaintenanceWindow: properties["PreferredMaintenanceWindow"],
27943
27902
  DBClusterParameterGroupName: properties["DBClusterParameterGroupName"],
@@ -30969,7 +30928,6 @@ var ElastiCacheProvider = class {
30969
30928
  createClient;
30970
30929
  providerRegion = ambientRegion();
30971
30930
  logger = getLogger().child("ElastiCacheProvider");
30972
- removalDefaults = /* @__PURE__ */ new Map([["AWS::ElastiCache::CacheCluster", /* @__PURE__ */ new Map([["AutoMinorVersionUpgrade", true]])]]);
30973
30931
  handledProperties = /* @__PURE__ */ new Map([["AWS::ElastiCache::SubnetGroup", /* @__PURE__ */ new Set([
30974
30932
  "CacheSubnetGroupName",
30975
30933
  "CacheSubnetGroupDescription",
@@ -31026,8 +30984,7 @@ var ElastiCacheProvider = class {
31026
30984
  default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId);
31027
30985
  }
31028
30986
  }
31029
- async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
31030
- properties = withRemovalDefaults(this.removalDefaults, resourceType, properties, previousProperties, context);
30987
+ async update(logicalId, physicalId, resourceType, properties, previousProperties, _context) {
31031
30988
  switch (resourceType) {
31032
30989
  case "AWS::ElastiCache::SubnetGroup": return this.updateSubnetGroup(logicalId, physicalId, resourceType, properties, previousProperties);
31033
30990
  case "AWS::ElastiCache::CacheCluster": return this.updateCacheCluster(logicalId, physicalId, resourceType, properties, previousProperties);
@@ -31174,7 +31131,6 @@ var ElastiCacheProvider = class {
31174
31131
  const rawSgIds = properties["VpcSecurityGroupIds"];
31175
31132
  const sgIds = rawSgIds && rawSgIds.length > 0 ? rawSgIds : void 0;
31176
31133
  const notificationTopicArn = properties["NotificationTopicArn"];
31177
- const notificationRemoved = notificationTopicArn === void 0 && previousProperties["NotificationTopicArn"] != null;
31178
31134
  await this.getClient().send(new ModifyCacheClusterCommand({
31179
31135
  CacheClusterId: physicalId,
31180
31136
  NumCacheNodes: properties["NumCacheNodes"] != null ? Number(properties["NumCacheNodes"]) : void 0,
@@ -31182,11 +31138,10 @@ var ElastiCacheProvider = class {
31182
31138
  CacheParameterGroupName: properties["CacheParameterGroupName"],
31183
31139
  EngineVersion: properties["EngineVersion"],
31184
31140
  PreferredMaintenanceWindow: properties["PreferredMaintenanceWindow"],
31185
- SnapshotRetentionLimit: clearOnUpdateRemoval(properties["SnapshotRetentionLimit"] != null ? Number(properties["SnapshotRetentionLimit"]) : void 0, previousProperties["SnapshotRetentionLimit"] != null ? Number(previousProperties["SnapshotRetentionLimit"]) : void 0, 0),
31141
+ SnapshotRetentionLimit: properties["SnapshotRetentionLimit"] != null ? Number(properties["SnapshotRetentionLimit"]) : void 0,
31186
31142
  SnapshotWindow: properties["SnapshotWindow"],
31187
31143
  AutoMinorVersionUpgrade: properties["AutoMinorVersionUpgrade"],
31188
31144
  NotificationTopicArn: notificationTopicArn,
31189
- ...notificationRemoved && { NotificationTopicStatus: "inactive" },
31190
31145
  ...notificationTopicArn !== void 0 && { NotificationTopicStatus: "active" },
31191
31146
  LogDeliveryConfigurations: this.buildLogDeliveryConfigurationsForUpdate(properties["LogDeliveryConfigurations"], previousProperties["LogDeliveryConfigurations"]),
31192
31147
  IpDiscovery: properties["IpDiscovery"],
@@ -44382,30 +44337,6 @@ var DLMLifecyclePolicyProvider = class {
44382
44337
  ...properties["Exclusions"] != null && { Exclusions: properties["Exclusions"] }
44383
44338
  };
44384
44339
  }
44385
- buildRemovalResets(properties, previousProperties) {
44386
- const resets = {};
44387
- const createInterval = clearOnUpdateRemoval(properties["CreateInterval"] != null ? Number(properties["CreateInterval"]) : void 0, previousProperties["CreateInterval"] != null ? Number(previousProperties["CreateInterval"]) : void 0, 1);
44388
- if (createInterval !== void 0) resets.CreateInterval = createInterval;
44389
- const retainInterval = clearOnUpdateRemoval(properties["RetainInterval"] != null ? Number(properties["RetainInterval"]) : void 0, previousProperties["RetainInterval"] != null ? Number(previousProperties["RetainInterval"]) : void 0, 7);
44390
- if (retainInterval !== void 0) resets.RetainInterval = retainInterval;
44391
- const copyTags = clearOnUpdateRemoval(properties["CopyTags"] ?? void 0, previousProperties["CopyTags"] ?? void 0, false);
44392
- if (copyTags !== void 0) resets.CopyTags = copyTags;
44393
- const extendDeletion = clearOnUpdateRemoval(properties["ExtendDeletion"] ?? void 0, previousProperties["ExtendDeletion"] ?? void 0, false);
44394
- if (extendDeletion !== void 0) resets.ExtendDeletion = extendDeletion;
44395
- const crossRegionCopyTargets = clearOnUpdateRemoval(properties["CrossRegionCopyTargets"] ?? void 0, previousProperties["CrossRegionCopyTargets"] ?? void 0, []);
44396
- if (crossRegionCopyTargets !== void 0) resets.CrossRegionCopyTargets = crossRegionCopyTargets;
44397
- const defaultPolicy = properties["DefaultPolicy"] ?? previousProperties["DefaultPolicy"];
44398
- const exclusionsClear = defaultPolicy === "VOLUME" ? {
44399
- ExcludeBootVolumes: false,
44400
- ExcludeVolumeTypes: [],
44401
- ExcludeTags: []
44402
- } : defaultPolicy === "INSTANCE" ? { ExcludeTags: [] } : void 0;
44403
- if (exclusionsClear !== void 0) {
44404
- const exclusions = clearOnUpdateRemoval(properties["Exclusions"] ?? void 0, previousProperties["Exclusions"] ?? void 0, exclusionsClear);
44405
- if (exclusions !== void 0) resets.Exclusions = exclusions;
44406
- }
44407
- return resets;
44408
- }
44409
44340
  async fetchPolicyArn(policyId) {
44410
44341
  return (await this.getClient().send(new GetLifecyclePolicyCommand$1({ PolicyId: policyId }))).Policy?.PolicyArn ?? "";
44411
44342
  }
@@ -44459,7 +44390,8 @@ var DLMLifecyclePolicyProvider = class {
44459
44390
  await this.getClient().send(new UpdateLifecyclePolicyCommand({
44460
44391
  PolicyId: physicalId,
44461
44392
  ...this.toSdkFields(properties),
44462
- ...this.buildRemovalResets(properties, previousProperties)
44393
+ ...properties["CreateInterval"] != null && { CreateInterval: Number(properties["CreateInterval"]) },
44394
+ ...properties["RetainInterval"] != null && { RetainInterval: Number(properties["RetainInterval"]) }
44463
44395
  }));
44464
44396
  const plan = planTagDiff(previousProperties["Tags"], properties["Tags"]);
44465
44397
  const tagWarning = tagPlanWarning(plan, resourceType, logicalId);
@@ -46090,6 +46022,7 @@ var NestedStackProvider = class {
46090
46022
  physicalId,
46091
46023
  attributes: childOutputs.attributes,
46092
46024
  ...childOutputs.noEchoAttributeNames.length > 0 && { noEchoAttributeNames: childOutputs.noEchoAttributeNames },
46025
+ secretNamedAttributeNames: childOutputs.secretNamedAttributeNames,
46093
46026
  ...pendingRecord && { effectiveProperties: pendingRecord }
46094
46027
  };
46095
46028
  } catch (error) {
@@ -46117,6 +46050,7 @@ var NestedStackProvider = class {
46117
46050
  wasReplaced: false,
46118
46051
  attributes: updatedOutputs.attributes,
46119
46052
  ...updatedOutputs.noEchoAttributeNames.length > 0 && { noEchoAttributeNames: updatedOutputs.noEchoAttributeNames },
46053
+ secretNamedAttributeNames: updatedOutputs.secretNamedAttributeNames,
46120
46054
  ...pendingRecord && { effectiveProperties: pendingRecord }
46121
46055
  };
46122
46056
  }
@@ -46300,9 +46234,11 @@ var NestedStackProvider = class {
46300
46234
  attributes[attributeName] = recovered;
46301
46235
  noEchoAttributeNames.push(attributeName);
46302
46236
  }
46237
+ const childResources = childStateData.state.resources;
46303
46238
  return {
46304
46239
  attributes,
46305
- noEchoAttributeNames
46240
+ noEchoAttributeNames,
46241
+ secretNamedAttributeNames: childResources !== null && typeof childResources === "object" ? secretNamedAttributeNamesOf(attributes, childResources, rowSecrets) : []
46306
46242
  };
46307
46243
  }
46308
46244
  requireContext() {
@@ -46780,4 +46716,4 @@ var ACMCertificateProvider = class {
46780
46716
 
46781
46717
  //#endregion
46782
46718
  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 };
46783
- //# sourceMappingURL=provider-classes-59TTNMFB.js.map
46719
+ //# sourceMappingURL=provider-classes-BSUoljqw.js.map