@go-to-k/cdkd 0.299.0 → 0.299.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist/{asg-provider-CGN1a3d3.js → asg-provider-C6USPLiS.js} +2 -2
  2. package/dist/{asg-provider-CGN1a3d3.js.map → asg-provider-C6USPLiS.js.map} +1 -1
  3. package/dist/cli.js +2 -2
  4. package/dist/{deploy-engine-4K_B3N08.js → deploy-engine-DlLwYRJk.js} +431 -209
  5. package/dist/deploy-engine-DlLwYRJk.js.map +1 -0
  6. package/dist/iam-policy-targets-Pn2m0R67.js.map +1 -1
  7. package/dist/{iam-role-provider-BKnf387o.js → iam-role-provider-D5B5lEmu.js} +2 -2
  8. package/dist/{iam-role-provider-BKnf387o.js.map → iam-role-provider-D5B5lEmu.js.map} +1 -1
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/{neptune-provider-CR19ID_J.js → neptune-provider-Ba5va85p.js} +2 -2
  13. package/dist/{neptune-provider-CR19ID_J.js.map → neptune-provider-Ba5va85p.js.map} +1 -1
  14. package/dist/{program-BgsCaZFy.js → program-TA6lNkLr.js} +88 -25
  15. package/dist/program-TA6lNkLr.js.map +1 -0
  16. package/dist/{provider-classes-DxHQcC1K.js → provider-classes-WJRB6zvO.js} +31 -16
  17. package/dist/provider-classes-WJRB6zvO.js.map +1 -0
  18. package/dist/{rds-provider-BO3U39K0.js → rds-provider-DcUEh3d2.js} +2 -2
  19. package/dist/{rds-provider-BO3U39K0.js.map → rds-provider-DcUEh3d2.js.map} +1 -1
  20. package/dist/{version-DUCWZskc.js → version-Dz0rTkus.js} +2 -2
  21. package/dist/{version-DUCWZskc.js.map → version-Dz0rTkus.js.map} +1 -1
  22. package/package.json +1 -1
  23. package/dist/deploy-engine-4K_B3N08.js.map +0 -1
  24. package/dist/program-BgsCaZFy.js.map +0 -1
  25. package/dist/provider-classes-DxHQcC1K.js.map +0 -1
@@ -2,12 +2,12 @@ import { r as getAwsClients } from "./aws-clients-Bj7qH5Ph.js";
2
2
  import { F as displayStackName, I as isPasteableIdent, N as displayIdent, O as SECRET_REF_MAX_CODE_POINTS, P as displaySafe, R as plainIdentOr, a as getLogger, b as generateResourceNameWithFallback, n as isAwsAuthoredFailure, r as safeStringify, t as describeAwsFailure, y as generateResourceName, z as safeMsg } from "./aws-failure-text-DtvlUugx.js";
3
3
  import { $ as protectedReplacementAdvice, $n as isAmbiguousOutcomeError, $t as credentialFingerprint, A as isQuotableImportValue, B as isTerminalDeleteFailure, Bn as withheldTargetClause, C as setBounded, D as VALUE_NOT_SHOWN, E as assertRegionMatch, F as resolveExplicitPhysicalId, Gt as injectiveKeyPrefix, H as observeThenDisableProtection, In as plainOrDescribed, L as ProtectionFlipRegistry, M as quotedRemedyLogicalId, Mn as hasClauseBreak, Mt as markCreatedBeforeFailure, N as refusalTypeShown, Nn as isInertUnquoted, O as isPlainImportJson, P as remedyLogicalId, Pn as pasteableCommand, Q as pasteableAwsCommand, Qt as clientDefaultsFor, S as replayedSendWindow, St as withDerivedNameMasks, T as RESOURCE_NOT_FOUND, Tt as clearCreatedBeforeFailure, U as protectionFlipKey, V as logGroupProtectionSite, W as rdsFamilyProtectionSite, Wt as injectiveKey, X as WITHHELD_AWS_COMMAND, Xn as markReplayMayCollide, Xt as ambientClientDefaults, Y as UNNAMEABLE_ID_CLAUSE, Yn as markNameCollision, Yt as withPasteableAwsProfile, Z as isAwsCliLiteral, Zt as ambientCredentialConfig, _ as RecentIdSet, _t as createMaskedLogSinks, a as onlySecretDerived, ar as isMarkedNonRetryable, at as startInterruptWatch, b as isInsideWindow, bt as maskDeep, c as recordedPrincipalsRepair, cr as markRedactedCause, ct as canonicalizeRoute53QueryName, dt as compositeIdSkipResult, en as AccountIdUnavailableError, et as renderDisableCommand, ft as logicalIdShown, g as AmbiguousCreateLatch, gn as ProvisioningError, gt as stateOrphanRecordRemedy, h as AMBIGUOUS_LATCH_TTL_MS, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, ir as THROTTLING_ERROR_NAMES, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jn as commandHole, jt as markAuxiliaryFailure, k as isPlainImportValue, lr as wrapMaskedAwsError, lt as compositeIdFormatMessage, nn as CdkdError, nr as isTransientServerError, o as readPrincipalLists, or as isThrottlingError, ot as ElapsedBudgetRegistry, p as withRemovalDefaults, pt as packCompositeId, q as userPoolProtectionSite, r as SECRET_DERIVED_READ_LIVE, sr as markNonRetryable, tr as isRetryableTransientError, u as clearOnUpdateRemoval, ut as compositeIdSeparatorRefusal, v as ambiguousAttemptLead, vn as ResourceUpdateNotSupportedError, vt as createMaskedRetryLogger, w as withoutServerErrorRetries, x as replayFollowedAmbiguousAttempt, xt as maskerOrIdentity, y as createAttemptKey, yt as isSecretDerivedValue, z as deleteWithProtectionCompensation, zn as shellQuote } from "./iam-policy-targets-Pn2m0R67.js";
4
4
  import { s as ambientRegion } from "./aws-client-defaults-DBXBcg0J.js";
5
- import { $ as isTruthyCfnBoolean, $n as earliestDefined, Ai as passedParameterClassesOf, B as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, Br as observeThenDisableInstanceApiTermination, Bt as getStackRecords, Co as lambdaFunctionNameForMask, Ct as revertNestedChildFromJournal, Di as parseWebACLArn, Dl as renderAssemblyPathEscape, Dr as slowCcOperationTimeoutMs, Dt as getCurrentNestedStackContext, El as displayAssemblyPath, Fr as isWaitAbandonedError, G as resolveDynamoDbDeleteBudgetMs, H as compensateRemovedDeletionProtection, Hr as reEnableInstanceApiTermination, Io as passedNoEchoParametersOf, Ir as markWaitAbandoned, J as deleteTableWithIndexBusyRetry, Ja as withoutSilentDropProperties, K as DELETE_INDEX_WAIT_PROCEED_NOTE, Ka as findSilentDropProperties, Li as accountArgs, Ma as refuseMalformedResourcesForDestroy, Nr as deleteSkipReason, Ol as resolveAssemblyPath, Or as unchangedBehindSecretReference, Ot as withNestedStackContext, Pr as withIndeterminateGuard, Q as hasCdkAutoDeleteTag, Qn as outputReferenceProvenanceOf, Rr as ec2InstanceProtectionSite, Rt as awaitInFlightSibling, So as canonicalLambdaFunctionName, Tl as describeFileReadFailure, U as deleteBudgetKey, Uo as hasMaskableValues, V as beginDeleteWait, Vr as reDisableInstanceApiTermination, W as resolveDynamoDbDeleteBudgetClock, Wa as withheldAccountClause, X as ECR_AUTO_DELETE_IMAGES_TAG, Y as waitForIndexesSettled, Z as S3_AUTO_DELETE_OBJECTS_TAG, _i as getAccountInfo, _o as requireConfigString, a as findNestedTemplateTreeDefect, ai as isSettledInstanceState, an as isRedactedRecordedValue, ao as isWarmThroughputDecrease, ar as DBPROXY_TAG_OPTIONS, b as lookupEachName, bt as getNestedRevertRun, c as renderNestedTemplateTreeDefect, ci as s3BucketDualStackDomainName, co as coerceCfnBoolean, cr as refuseMalformedDesiredTags, cs as dynamicReferenceTokens, dl as decodeListingKey, do as configIntegerRefusal, dr as definedAttributes, es as markSameGenerationBag, et as getPriorAttempts, fa as refuseMalformedNestedChildOutputs, fo as configStringRefusal, fr as stringifyIfAssigned, go as requireConfigObject, gs as recordAttributeIdCopy, hl as derivePartitionAndUrlSuffix, ho as requireConfigArray, hs as physicalNameCopiesOf, ic as stringifyValue, in as REDACTED_DELETE_ADDRESS_SKIP_REASON, io as coerceWarmThroughput$1, ir as DBPROXY_TAGS_WHAT, lc as rewriteTemplateAssetReferences, li as s3BucketRegionalDomainName, lo as coerceCfnInteger, lr as tagMapAsList, ml as canonicalizeRegion, mo as replayWarn, ms as recoverMaskedOutput, nn as getCurrentProducerRegions, ns as snapshotPassProvenance, o as isAbsoluteAssetPath, oi as s3BucketArn, on as redactedDeleteAddressFields, oo as toCfnInteger, or as planTagDiff, os as withoutPhysicalNameCopies, po as readConfigString, q as INDEX_SETTLE_POLL_INTERVAL_MS, ro as WARM_THROUGHPUT_MEMBERS, rr as acquireIdempotencyToken, rs as redactSecretsForState, s as listNestedTemplateRows, si as s3BucketDomainName, sn as redactedDeleteAddressSkip, so as toFiniteNumber, sr as readTagList, t as DeployEngine, tr as reserveStackCreateToken, ts as recordReferenceProvenanceEntry, tt as markRefusedBeforeApplying, ui as s3BucketWebsiteUrl, uo as configBooleanRefusal, ur as tagPlanWarning, v as chunks, wo as sameLambdaFunctionAddress, x as withApiLimit, xo as withRetry, xr as getCurrentResourceSecrets, y as isAccessDeniedError, ys as carriesSecretMask, z as DynamoDBGlobalTableProvider, zr as isTerminationProtectionPropagationError } from "./deploy-engine-4K_B3N08.js";
6
- import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-BKnf387o.js";
7
- import { a as canonicalizeIpProtocolValue, i as resolveSecretDerivedPrincipals, n as runDestroyForStack, o as resolvedResourceTimeoutMs, r as isResolvableSecretPrincipalList, t as canonicalizeIpv4Cidr } from "./program-BgsCaZFy.js";
8
- import { RDSProvider } from "./rds-provider-BO3U39K0.js";
9
- import { NeptuneProvider } from "./neptune-provider-CR19ID_J.js";
10
- import { ASGProvider } from "./asg-provider-CGN1a3d3.js";
5
+ import { $ as isTruthyCfnBoolean, Al as displayAssemblyPath, B as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, Bo as passedNoEchoParametersOf, Br as reDisableInstanceApiTermination, Bt as getStackRecords, Cs as carriesSecretMask, Ct as revertNestedChildFromJournal, Do as lambdaFunctionNameForMask, Dr as unchangedBehindSecretReference, Dt as getCurrentNestedStackContext, Eo as canonicalLambdaFunctionName, Er as slowCcOperationTimeoutMs, Fr as markWaitAbandoned, G as resolveDynamoDbDeleteBudgetMs, H as compensateRemovedDeletionProtection, Ia as refuseMalformedResourcesForDestroy, J as deleteTableWithIndexBusyRetry, Ja as withheldAccountClause, K as DELETE_INDEX_WAIT_PROCEED_NOTE, Lr as ec2InstanceProtectionSite, Ml as resolveAssemblyPath, Mr as deleteSkipReason, Nr as withIndeterminateGuard, Oo as sameLambdaFunctionAddress, Ot as withNestedStackContext, Pi as passedParameterClassesOf, Pr as isWaitAbandonedError, Q as hasCdkAutoDeleteTag, Qa as withoutSilentDropProperties, Qn as earliestDefined, Rr as isTerminationProtectionPropagationError, Rt as awaitInFlightSibling, To as withRetry, U as deleteBudgetKey, V as beginDeleteWait, Vi as accountArgs, Vr as reEnableInstanceApiTermination, W as resolveDynamoDbDeleteBudgetClock, X as ECR_AUTO_DELETE_IMAGES_TAG, Xa as findSilentDropProperties, Y as waitForIndexesSettled, Z as S3_AUTO_DELETE_OBJECTS_TAG, _o as readConfigString, a as findNestedTemplateTreeDefect, an as isRedactedRecordedValue, ar as planTagDiff, as as recordReferenceProvenanceEntry, b as lookupEachName, bo as requireConfigObject, br as getCurrentResourceSecrets, bs as recordAttributeIdCopy, bt as getNestedRevertRun, c as renderNestedTemplateTreeDefect, cc as stringifyValue, co as coerceWarmThroughput$1, cr as tagMapAsList, di as s3BucketDualStackDomainName, do as toFiniteNumber, dr as stringifyIfAssigned, er as reserveStackCreateToken, et as getPriorAttempts, fi as s3BucketRegionalDomainName, fo as coerceCfnBoolean, fs as dynamicReferenceTokens, ga as refuseMalformedNestedChildOutputs, go as configStringRefusal, hl as decodeListingKey, ho as configIntegerRefusal, ii as isSettledInstanceState, in as REDACTED_DELETE_ADDRESS_SKIP_REASON, ir as DBPROXY_TAG_OPTIONS, is as markSameGenerationBag, ji as parseWebACLArn, jl as renderAssemblyPathEscape, kl as describeFileReadFailure, li as s3BucketArn, lo as isWarmThroughputDecrease, lr as tagPlanWarning, mo as configBooleanRefusal, nn as getCurrentProducerRegions, nr as acquireIdempotencyToken, o as isAbsoluteAssetPath, oi as outputReferenceProvenanceOf, on as redactedDeleteAddressFields, or as readTagList, os as snapshotPassProvenance, pc as rewriteTemplateAssetReferences, pi as s3BucketWebsiteUrl, po as coerceCfnInteger, q as INDEX_SETTLE_POLL_INTERVAL_MS, qo as hasMaskableValues, rr as DBPROXY_TAGS_WHAT, s as listNestedTemplateRows, sn as redactedDeleteAddressSkip, so as WARM_THROUGHPUT_MEMBERS, sr as refuseMalformedDesiredTags, ss as redactSecretsForState, t as DeployEngine, tt as markRefusedBeforeApplying, ui as s3BucketDomainName, uo as toCfnInteger, ur as definedAttributes, us as withoutPhysicalNameCopies, v as chunks, vl as canonicalizeRegion, vo as replayWarn, vs as recoverMaskedOutput, x as withApiLimit, xi as getAccountInfo, xo as requireConfigString, y as isAccessDeniedError, yl as derivePartitionAndUrlSuffix, yo as requireConfigArray, ys as physicalNameCopiesOf, z as DynamoDBGlobalTableProvider, zr as observeThenDisableInstanceApiTermination } from "./deploy-engine-DlLwYRJk.js";
6
+ import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-D5B5lEmu.js";
7
+ import { a as canonicalizeIpProtocolValue, i as resolveSecretDerivedPrincipals, n as runDestroyForStack, o as resolvedResourceTimeoutMs, r as isResolvableSecretPrincipalList, t as canonicalizeIpv4Cidr } from "./program-TA6lNkLr.js";
8
+ import { RDSProvider } from "./rds-provider-DcUEh3d2.js";
9
+ import { NeptuneProvider } from "./neptune-provider-Ba5va85p.js";
10
+ import { ASGProvider } from "./asg-provider-C6USPLiS.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";
@@ -379,7 +379,7 @@ var IAMPolicyProvider = class {
379
379
  const values = Object.fromEntries(malformedKinds.map((k) => [k, recordedLists[k]]));
380
380
  const memo = optIn.retryMemo;
381
381
  const reused = memo?.resolved;
382
- const resolved = reused ?? await resolveSecretDerivedPrincipals(values, context?.expectedRegion, optIn.importedProducerRegions);
382
+ const resolved = reused ?? await resolveSecretDerivedPrincipals(values, context?.expectedRegion, optIn.importedProducerRegions, optIn.recordedRegions);
383
383
  if (resolved && memo) memo.resolved = resolved;
384
384
  if (resolved) {
385
385
  roles = resolved.lists["Roles"] ?? targets.wellFormed.roles;
@@ -2403,7 +2403,7 @@ var IAMUserGroupProvider = class {
2403
2403
  const resolutionAttempted = "malformed" in read && optIn !== void 0 && isResolvableSecretPrincipalList(properties["Users"]);
2404
2404
  if (resolutionAttempted) {
2405
2405
  const reused = memo?.resolved;
2406
- const resolved = reused ?? await resolveSecretDerivedPrincipals({ Users: properties["Users"] }, context?.expectedRegion, optIn.importedProducerRegions);
2406
+ const resolved = reused ?? await resolveSecretDerivedPrincipals({ Users: properties["Users"] }, context?.expectedRegion, optIn.importedProducerRegions, optIn.recordedRegions);
2407
2407
  if (resolved && memo) memo.resolved = resolved;
2408
2408
  if (resolved?.lists["Users"] !== void 0) {
2409
2409
  users = resolved.lists["Users"];
@@ -5335,8 +5335,9 @@ var S3BucketPolicyProvider = class {
5335
5335
  throw new ProvisioningError(`Failed to create S3 bucket policy ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, bucketName, cause);
5336
5336
  }
5337
5337
  }
5338
- async update(logicalId, physicalId, resourceType, properties, _previousProperties) {
5338
+ async update(logicalId, physicalId, resourceType, properties, _previousProperties, context) {
5339
5339
  this.logger.debug(`Updating S3 bucket policy ${logicalId}: ${physicalId}`);
5340
+ assertRegionMatch(context?.expectedRegion ? await this.s3Client.config.region() : void 0, context?.expectedRegion, resourceType, logicalId, physicalId, "pre-update");
5340
5341
  const bucketName = properties["Bucket"];
5341
5342
  const policyDocument = properties["PolicyDocument"];
5342
5343
  if (!bucketName) throw new ProvisioningError(`Bucket is required for S3 bucket policy ${logicalId}`, resourceType, logicalId, physicalId);
@@ -5591,8 +5592,9 @@ var SQSQueueProvider = class {
5591
5592
  throw new ProvisioningError(`Failed to create SQS queue ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, queueName, cause);
5592
5593
  }
5593
5594
  }
5594
- async update(logicalId, physicalId, resourceType, properties, previousProperties) {
5595
+ async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
5595
5596
  this.logger.debug(`Updating SQS queue ${logicalId}: ${physicalId}`);
5597
+ assertRegionMatch(context?.expectedRegion ? await this.sqsClient.config.region() : void 0, context?.expectedRegion, resourceType, logicalId, physicalId, "pre-update");
5596
5598
  refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
5597
5599
  try {
5598
5600
  const attributes = {};
@@ -13483,7 +13485,8 @@ var SSMParameterProvider = class SSMParameterProvider {
13483
13485
  };
13484
13486
  if (properties["AllowedPattern"]) putParams.AllowedPattern = properties["AllowedPattern"];
13485
13487
  if (properties["Tier"]) putParams.Tier = properties["Tier"];
13486
- if (properties["Policies"]) putParams.Policies = properties["Policies"];
13488
+ const policies = ssmPoliciesParameter(properties["Policies"]);
13489
+ if (policies !== void 0) putParams.Policies = policies;
13487
13490
  if (properties["DataType"]) putParams.DataType = properties["DataType"];
13488
13491
  await (await this.getCreateClient()).send(new PutParameterCommand(putParams));
13489
13492
  leftBehind = true;
@@ -13544,7 +13547,9 @@ var SSMParameterProvider = class SSMParameterProvider {
13544
13547
  if (properties["Description"] !== void 0) putParams.Description = properties["Description"];
13545
13548
  if (properties["AllowedPattern"] !== void 0) putParams.AllowedPattern = properties["AllowedPattern"];
13546
13549
  if (properties["Tier"] !== void 0) putParams.Tier = properties["Tier"];
13547
- if (properties["Policies"] !== void 0) putParams.Policies = properties["Policies"];
13550
+ const policies = ssmPoliciesParameter(properties["Policies"]);
13551
+ if (policies !== void 0) putParams.Policies = policies;
13552
+ else if (context?.desiredFromAwsReadback === true && !["[]", void 0].includes(ssmPoliciesParameter(previousProperties["Policies"])) && context.declaredEmptyProperties?.has("Policies") === true) putParams.Policies = SSM_CLEAR_POLICIES;
13548
13553
  if (properties["DataType"] !== void 0) putParams.DataType = properties["DataType"];
13549
13554
  await this.ssmClient.send(new PutParameterCommand(putParams));
13550
13555
  const plan = planTagDiff(tagMapAsList(previousProperties["Tags"]), tagMapAsList(properties["Tags"]));
@@ -13690,6 +13695,13 @@ var SSMParameterProvider = class SSMParameterProvider {
13690
13695
  return null;
13691
13696
  }
13692
13697
  };
13698
+ const SSM_CLEAR_POLICIES = "[{}]";
13699
+ function ssmPoliciesParameter(policies) {
13700
+ if (policies === void 0 || policies === null || policies === "") return void 0;
13701
+ if (typeof policies === "string") return policies;
13702
+ if (Array.isArray(policies)) return policies.length === 0 ? void 0 : JSON.stringify(policies);
13703
+ return JSON.stringify(policies);
13704
+ }
13693
13705
 
13694
13706
  //#endregion
13695
13707
  //#region src/provisioning/providers/eventbridge-rule-provider.ts
@@ -13867,8 +13879,9 @@ var EventBridgeRuleProvider = class {
13867
13879
  throw thrown;
13868
13880
  }
13869
13881
  }
13870
- async update(logicalId, physicalId, resourceType, properties, previousProperties) {
13882
+ async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
13871
13883
  this.logger.debug(`Updating EventBridge rule ${logicalId}: ${physicalId}`);
13884
+ assertRegionMatch(context?.expectedRegion ? await this.eventBridgeClient.config.region() : void 0, context?.expectedRegion, resourceType, logicalId, physicalId, "pre-update");
13872
13885
  refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
13873
13886
  const ruleName = properties["Name"] || generateResourceName(logicalId, { maxLength: 64 });
13874
13887
  const newTargets = properties["Targets"];
@@ -14182,7 +14195,8 @@ var EventBridgeBusProvider = class {
14182
14195
  throw new ProvisioningError(`Failed to create EventBus ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, void 0, cause);
14183
14196
  }
14184
14197
  }
14185
- async update(logicalId, physicalId, resourceType, properties, previousProperties) {
14198
+ async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
14199
+ assertRegionMatch(context?.expectedRegion ? await this.eventBridgeClient.config.region() : void 0, context?.expectedRegion, resourceType, logicalId, physicalId, "pre-update");
14186
14200
  refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
14187
14201
  try {
14188
14202
  return await this.applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties);
@@ -22135,8 +22149,9 @@ var StepFunctionsProvider = class {
22135
22149
  throw new ProvisioningError(`Failed to create Step Functions state machine ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, stateMachineName, cause);
22136
22150
  }
22137
22151
  }
22138
- async update(logicalId, physicalId, resourceType, properties, previousProperties) {
22152
+ async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
22139
22153
  this.logger.debug(`Updating Step Functions state machine ${logicalId}: ${physicalId}`);
22154
+ assertRegionMatch(context?.expectedRegion ? await this.getClient().config.region() : void 0, context?.expectedRegion, resourceType, logicalId, physicalId, "pre-update");
22140
22155
  refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
22141
22156
  try {
22142
22157
  const definitionString = await this.buildDefinitionString(properties);
@@ -45108,4 +45123,4 @@ var ACMCertificateProvider = class {
45108
45123
 
45109
45124
  //#endregion
45110
45125
  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, LambdaPermissionProvider, LambdaUrlProvider, 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 };
45111
- //# sourceMappingURL=provider-classes-DxHQcC1K.js.map
45126
+ //# sourceMappingURL=provider-classes-WJRB6zvO.js.map