@go-to-k/cdkd 0.320.0 → 0.322.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/{asg-provider-B4XVfH0S.js → asg-provider-BymHNHgo.js} +2 -2
  2. package/dist/{asg-provider-B4XVfH0S.js.map → asg-provider-BymHNHgo.js.map} +1 -1
  3. package/dist/cli.js +4 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/{deploy-engine-BiJyU4j1.js → deploy-engine-BC5pwkqY.js} +217 -74
  6. package/dist/deploy-engine-BC5pwkqY.js.map +1 -0
  7. package/dist/{iam-role-provider-FsEgUieT.js → iam-role-provider-CHwvGLRj.js} +2 -2
  8. package/dist/{iam-role-provider-FsEgUieT.js.map → iam-role-provider-CHwvGLRj.js.map} +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/{neptune-provider-DjjNodrS.js → neptune-provider-BQ92M2BH.js} +2 -2
  12. package/dist/{neptune-provider-DjjNodrS.js.map → neptune-provider-BQ92M2BH.js.map} +1 -1
  13. package/dist/{program-Dm0hn2Sn.js → program-DdncAAar.js} +5 -15
  14. package/dist/program-DdncAAar.js.map +1 -0
  15. package/dist/{provider-classes-BTOXS3cs.js → provider-classes-HcyJmeJE.js} +221 -80
  16. package/dist/provider-classes-HcyJmeJE.js.map +1 -0
  17. package/dist/{rds-provider-C_r5q9NM.js → rds-provider-CFm779-M.js} +49 -5
  18. package/dist/rds-provider-CFm779-M.js.map +1 -0
  19. package/dist/version-BWH_L6He.js +19 -0
  20. package/dist/version-BWH_L6He.js.map +1 -0
  21. package/package.json +1 -1
  22. package/dist/deploy-engine-BiJyU4j1.js.map +0 -1
  23. package/dist/program-Dm0hn2Sn.js.map +0 -1
  24. package/dist/provider-classes-BTOXS3cs.js.map +0 -1
  25. package/dist/rds-provider-C_r5q9NM.js.map +0 -1
  26. package/dist/version-CrtjwYuX.js +0 -11
  27. package/dist/version-CrtjwYuX.js.map +0 -1
@@ -2,7 +2,7 @@ import { c as __exportAll, r as getAwsClients } from "./aws-clients-DWpHZk2l.js"
2
2
  import { $ as safeMsg, B as SAFE_MSG_ALTERED_CHAR, C as fallbackNamePropertyFor, D as getCurrentSkipPrefix, E as generatedNameFor, F as withNameGeneration, H as STACK_REF_MAX_CODE_POINTS, I as withSkipPrefix, J as displaySafe, K as displayAwsMessage, L as withStackScope, M as looksLikeCdkdGeneratedName, O as getCurrentStackInstanceId, P as stackInstanceNameSuffix, Q as plainIdentOr, R as withStackScopeBeforeStateRead, S as explicitNamePropertyFor, T as generateResourceNameWithFallback, U as UNRENDERABLE, V as SECRET_REF_MAX_CODE_POINTS, W as asIsMessage, X as isPasteableIdent, Y as displayStackName, a as safeStringify$1, b as currentNameGeneration, c as isStdoutReservedForPayload, f as currentLogLineMasker, j as isNameGeneration, k as getCurrentStackName, m as getLiveRenderer, n as describeAwsFailure, nt as truncateCodePoints, p as installLogLineMaskerSource, q as displayIdent, s as getLogger, t as VERBOSE_POINTER, tt as terminalSafe, v as alternateNamePropertiesFor, y as applyDefaultNameForFallback, z as withoutGeneratedFallbackName } from "./aws-failure-text-DiHodi76.js";
3
3
  import { $ as isTerminalDeleteFailure, $n as physicalIdShownBesideCommand, $t as formatLockExpiry, An as MalformedProducerRecordRefusalError, Ar as isThrottlingError, At as stateOrphanRecordRemedy, B as normalizeAwsTagsToCfn, Bt as createdBeforeFailure, Cn as DeploymentNotApprovedError, Dr as retryClassificationText, Er as isTransientServerError, Et as logicalIdShown, F as assertRegionMatch, Fn as ResourceUpdateNotSupportedError, Ft as maskerOrIdentity, Gt as markAuxiliaryFailure, H as refusalTypeShown, Hn as isSoftAbort, Ht as hasCreatedBeforeFailure, It as withDerivedNameMasks, Jn as UNSHOWABLE_VALUE, Jt as replayMadeAnotherResource, K as ProtectionFlipRegistry, Kn as SHELL_ACTIVE, Kt as markCreatedBeforeFailure, Lt as RETRY_AUXILIARY_OWNER, M as RESOURCE_NOT_FOUND, Mr as markRedactedCause, Mt as createMaskedRetryLogger, N as isMarkedNotGone, Nn as ProvisioningError, Nr as wrapMaskedAwsError, Nt as isSecretDerivedValue, On as LockError, Ot as resourceTypeShown, P as markNotGone, Pn as ResourceTimeoutError, Pt as maskDeep, Qn as pasteableCommand, Rn as StateError, Rt as carryCreatedBeforeFailure, Sr as isAmbiguousOutcomeError, St as canonicalizeRoute53QueryName, Tn as IntrinsicResolutionRefusalError, Tr as isRetryableTransientError, Un as normalizeAwsError, Ut as isAuxiliaryFailure, V as quotedRemedyLogicalId, Vt as createdResourceIdentityBeforeFailure, W as resolveExplicitPhysicalId, Wt as isAuxiliaryMarkOf, Xt as buildForceUnlockCommand, Y as deleteWithProtectionCompensation, Yn as commandHole, Yt as UNREPRODUCIBLE_LOCK_CLAUSE, Zn as isInertUnquoted, _ as prepareRemovalForUpdate, _n as AssetError, _r as stripControlChars, an as DEFAULT_STATE_PREFIX, bn as CrossAccountSecretRefusalError, br as formatRetryClassificationSignals, bt as isInterruptedWaitError, cr as hasReplayMayCollide, dn as withPasteableAwsProfile, dr as isRecreateRetryableError, dt as pasteableAwsCommand, en as formatLockOperation, er as plainOrDescribed, fn as ambientClientDefaults, fr as isReplayedNameCollisionFrom, ft as protectedReplacementAdvice, gn as AccountIdUnavailableError, gr as escapeRegExp$3, gt as monotonicNowMs, h as withUnchangedSecretPrincipalLists, hn as credentialFingerprint, hr as relayedNameCollision, ht as ElapsedBudgetRegistry, i as reportCreatedResource, in as CUSTOM_RESOURCE_RESPONSE_PREFIX, ir as withheldTargetClause, it as runDeleteAttempt, j as withoutServerErrorRetries, jr as markNonRetryable, jt as createMaskedLogSinks, kn as MacroExpansionError, kr as isMarkedNonRetryable, kt as segmentAfterAnchor, ln as producerRecordKey, lr as isNameCollisionErrorFrom, mn as clientDefaultsFor, mr as markReplayMayCollide, mt as ElapsedBudget, n as clearCreatedReport, nn as recoveryCommandFlags, nr as shellBoundedDisplay, nt as protectionFlipKey, o as retractCreatedResource, on as injectiveKey, pn as ambientCredentialConfig, q as compensateProtectionFlip, qn as SHELL_ACTIVE_WHY, r as collectCreatedResources, rn as sanitizeRecoveryValue, rr as shellQuote, sr as isUpdateUnsupportedError, st as DELETION_PROTECTION_DOC_POINTER, t as CreatedResourceSink, tn as formatLockOwner, tr as quotedOrDescribed, tt as observeThenDisableProtection, u as holdsSecretDerivedEntry, ur as isNameCooldownError, v as removalWarning, vn as CdkdError, wn as DynamicReferenceRegionAmbiguousError, wr as isIamPropagationError, wt as compositeIdSeparatorRefusal, x as withoutInjectedRemovals, xn as DependencyError, xr as isAmbiguousCcHandlerErrorCode, xt as startInterruptWatch, z as isQuotableImportValue, zn as SynthesisError } from "./created-resource-sink-CmrPwGge.js";
4
4
  import { a as setAssumedRoleCredentials, c as ambientRegion, i as getPreAssumeEnvCredentials, n as awsClientDefaults, o as setPreAssumeEnvCredentials, r as getAssumedRoleCredentials, s as quietS3Logger, t as SECOND_ROLE_PUBLISH_REFUSAL } from "./aws-client-defaults-BLXFsfMa.js";
5
- import { t as getCdkdVersion } from "./version-CrtjwYuX.js";
5
+ import { n as getCdkdVersion } from "./version-BWH_L6He.js";
6
6
  import { createHash, randomUUID } from "node:crypto";
7
7
  import { AsyncLocalStorage } from "node:async_hooks";
8
8
  import { CreateBucketCommand, DeleteObjectCommand, DeleteObjectsCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketReplicationCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchKey, PutBucketEncryptionCommand, PutBucketLifecycleConfigurationCommand, PutBucketPolicyCommand, PutObjectCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
@@ -16546,21 +16546,20 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
16546
16546
  "Port",
16547
16547
  "PreferredBackupWindow",
16548
16548
  "PreferredMaintenanceWindow",
16549
+ "RestoreToTime",
16550
+ "RestoreType",
16549
16551
  "RotateMasterUserPassword",
16550
16552
  "ServerlessV2ScalingConfiguration",
16553
+ "SnapshotIdentifier",
16554
+ "SourceDBClusterIdentifier",
16551
16555
  "StorageEncrypted",
16552
16556
  "StorageType",
16553
16557
  "Tags",
16558
+ "UseLatestRestorableTime",
16554
16559
  "VpcSecurityGroupIds"
16555
16560
  ]),
16556
- silentDrop: /* @__PURE__ */ new Map([
16557
- ["RestoreToTime", "not yet implemented by cdkd"],
16558
- ["RestoreType", "not yet implemented by cdkd"],
16559
- ["SnapshotIdentifier", "not yet implemented by cdkd"],
16560
- ["SourceDBClusterIdentifier", "not yet implemented by cdkd"],
16561
- ["UseLatestRestorableTime", "not yet implemented by cdkd"]
16562
- ]),
16563
- createOnlyDrops: /* @__PURE__ */ new Set(["SnapshotIdentifier", "SourceDBClusterIdentifier"]),
16561
+ silentDrop: /* @__PURE__ */ new Map(),
16562
+ createOnlyDrops: /* @__PURE__ */ new Set(),
16564
16563
  readOnly: /* @__PURE__ */ new Set([
16565
16564
  "ClusterResourceId",
16566
16565
  "Endpoint",
@@ -16627,9 +16626,9 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
16627
16626
  "WriteProvisionedThroughputSettings"
16628
16627
  ]),
16629
16628
  silentDrop: /* @__PURE__ */ new Map([
16630
- ["GlobalTableSourceArn", "not yet implemented by cdkd"],
16631
- ["GlobalTableWitnesses", "not yet implemented by cdkd"],
16632
- ["MultiRegionConsistency", "not yet implemented by cdkd"]
16629
+ ["GlobalTableSourceArn", "Multi-account replica: CDK's TableV2MultiAccountReplica renders no KeySchema (which create() requires) and DynamoDB asks for a ResourcePolicy on the CreateTable (measured 2026-11-01), a cross-account path this provider cannot exercise. Stays on Cloud Control"],
16630
+ ["GlobalTableWitnesses", "MRSC witness; same one-call UpdateTable shape as MultiRegionConsistency, measured 2026-11-01. Stays on Cloud Control"],
16631
+ ["MultiRegionConsistency", "MRSC does not fit the per-replica serial paths: measured 2026-11-01 (us-east-1 / us-east-2 / us-west-2), the replica and witness Creates must go out in ONE UpdateTable with the mode, a lone replica Delete is refused ('does not include all witnesses'), DeleteTable is refused until they are gone, TTL is refused, and the table carries no stream, which create()'s needsStream arm would enable. Stays on Cloud Control"]
16633
16632
  ]),
16634
16633
  createOnlyDrops: /* @__PURE__ */ new Set(),
16635
16634
  readOnly: /* @__PURE__ */ new Set([
@@ -17654,7 +17653,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
17654
17653
  "SplunkDestinationConfiguration",
17655
17654
  "Tags"
17656
17655
  ]),
17657
- silentDrop: /* @__PURE__ */ new Map([["DatabaseSourceConfiguration", "not yet implemented by cdkd"], ["SnowflakeDestinationConfiguration", "not yet implemented by cdkd"]]),
17656
+ silentDrop: /* @__PURE__ */ new Map([["DatabaseSourceConfiguration", "Database as a source was a public preview AWS removed on 2025-09-24 (Firehose document history); CreateDeliveryStream refused DeliveryStreamType DatabaseAsSource in every region probed, so an SDK path could not be verified. Stays on Cloud Control"], ["SnowflakeDestinationConfiguration", "Proving the wire shape live needs a real Snowflake account, and the block carries key material (PrivateKey, KeyPassphrase). Stays on Cloud Control"]]),
17658
17657
  createOnlyDrops: /* @__PURE__ */ new Set(["DatabaseSourceConfiguration"]),
17659
17658
  readOnly: /* @__PURE__ */ new Set(["Arn"]),
17660
17659
  ccRouteUnavailable: false
@@ -18123,6 +18122,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18123
18122
  "AllocatedStorage",
18124
18123
  "AllowMajorVersionUpgrade",
18125
18124
  "AutoMinorVersionUpgrade",
18125
+ "AvailabilityZone",
18126
18126
  "BackupRetentionPeriod",
18127
18127
  "CACertificateIdentifier",
18128
18128
  "CertificateRotationRestart",
@@ -18131,6 +18131,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18131
18131
  "DBClusterIdentifier",
18132
18132
  "DBInstanceClass",
18133
18133
  "DBInstanceIdentifier",
18134
+ "DBName",
18134
18135
  "DBParameterGroupName",
18135
18136
  "DBSubnetGroupName",
18136
18137
  "DedicatedLogVolume",
@@ -18173,12 +18174,10 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18173
18174
  ["AutomaticBackupReplicationKmsKeyId", "not yet implemented by cdkd"],
18174
18175
  ["AutomaticBackupReplicationRegion", "not yet implemented by cdkd"],
18175
18176
  ["AutomaticBackupReplicationRetentionPeriod", "not yet implemented by cdkd"],
18176
- ["AvailabilityZone", "not yet implemented by cdkd"],
18177
18177
  ["BackupTarget", "not yet implemented by cdkd"],
18178
18178
  ["CharacterSetName", "not yet implemented by cdkd"],
18179
18179
  ["CustomIAMInstanceProfile", "not yet implemented by cdkd"],
18180
18180
  ["DBClusterSnapshotIdentifier", "not yet implemented by cdkd"],
18181
- ["DBName", "not yet implemented by cdkd"],
18182
18181
  ["DBSecurityGroups", "EC2-Classic-only feature retired by AWS (2022-08-15); new accounts cannot use this — use VPCSecurityGroups instead"],
18183
18182
  ["DBSnapshotIdentifier", "not yet implemented by cdkd"],
18184
18183
  ["DBSystemId", "not yet implemented by cdkd"],
@@ -18210,7 +18209,6 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18210
18209
  "BackupTarget",
18211
18210
  "CharacterSetName",
18212
18211
  "CustomIAMInstanceProfile",
18213
- "DBName",
18214
18212
  "DBSystemId",
18215
18213
  "NcharCharacterSetName",
18216
18214
  "SourceRegion",
@@ -28610,7 +28608,7 @@ var CloudControlProvider = class {
28610
28608
  const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
28611
28609
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
28612
28610
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
28613
- const { ASGProvider } = await import("./asg-provider-B4XVfH0S.js");
28611
+ const { ASGProvider } = await import("./asg-provider-BymHNHgo.js");
28614
28612
  const delegateRegion = ambientRegion();
28615
28613
  let asgProvider = this.asgDeleteDelegates.get(delegateRegion);
28616
28614
  if (asgProvider === void 0) {
@@ -28719,7 +28717,7 @@ var CloudControlProvider = class {
28719
28717
  const family = SDK_DELETE_FAMILIES.get(resourceType);
28720
28718
  const cached = this.sdkDeleteDelegates.get(family);
28721
28719
  if (cached !== void 0 && cached.region === ccRegion) return cached.provider;
28722
- const provider = family === "rds" ? new (await (import("./rds-provider-C_r5q9NM.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-DjjNodrS.js"))).NeptuneProvider({ region: ccRegion });
28720
+ const provider = family === "rds" ? new (await (import("./rds-provider-CFm779-M.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-BQ92M2BH.js"))).NeptuneProvider({ region: ccRegion });
28723
28721
  this.sdkDeleteDelegates.set(family, {
28724
28722
  region: ccRegion,
28725
28723
  provider
@@ -32996,6 +32994,21 @@ function validatePropertyShapes(resources) {
32996
32994
  throw new Error("Properties validation failed: the following resources declare a property whose kind contradicts the resource type's schema:\n" + lines.join("\n") + "\n\nCloudFormation rejects these templates too. Give each property a list where its schema expects a list and an object where it expects an object.");
32997
32995
  }
32998
32996
 
32997
+ // src/provisioning/sticky-exempt-physical-id.ts
32998
+ const ECS_SERVICE_CC_ID = /^(arn:aws[-a-z]*:ecs:[a-z0-9-]+:\d{12}:service\/([A-Za-z0-9_-]+)(?:\/([A-Za-z0-9_-]+))?)\|([^|\s]+)$/;
32999
+ const CLUSTER_ARN = /^arn:aws[-a-z]*:ecs:[a-z0-9-]+:\d{12}:cluster\/([A-Za-z0-9_-]+)$/;
33000
+ const CLUSTER_NAME = /^[A-Za-z0-9_-]+$/;
33001
+ function ecsServiceSdkPhysicalId(ccPhysicalId) {
33002
+ const match = ECS_SERVICE_CC_ID.exec(ccPhysicalId);
33003
+ if (match === null) throw new Error("its recorded physical id is not the `<serviceArn>|<cluster>` form Cloud Control records for AWS::ECS::Service");
33004
+ const [, serviceArn, first, second, clusterSegment] = match;
33005
+ const clusterArn = CLUSTER_ARN.exec(clusterSegment);
33006
+ if (clusterArn === null && !CLUSTER_NAME.test(clusterSegment)) throw new Error("the cluster segment of its recorded physical id is neither a cluster name nor a cluster ARN");
33007
+ const clusterName = clusterArn === null ? clusterSegment : clusterArn[1];
33008
+ if (second !== void 0 && first !== clusterName) throw new Error("its recorded physical id names one cluster in the service ARN and another after the `|`");
33009
+ return serviceArn;
33010
+ }
33011
+
32999
33012
  // src/provisioning/provider-registry.ts
33000
33013
  const STICKY_CC_MIGRATION_EXEMPT = /* @__PURE__ */ new Map([
33001
33014
  ["AWS::Scheduler::Schedule", {
@@ -33063,8 +33076,27 @@ const STICKY_CC_MIGRATION_EXEMPT = /* @__PURE__ */ new Map([
33063
33076
  physicalIdForm: "both layers store the bare `Z...` zone id, without the `/hostedzone/` prefix Route 53 answers with: the schema primaryIdentifier is Id, Route53Provider.create strips the prefix, and the Cloud Control Identifier has none (measured us-east-1, 2026-11-02)",
33064
33077
  issue: "https://github.com/go-to-k/cdkd/issues/5641",
33065
33078
  integFixture: "cc-to-sdk-reroute-hosted-zone"
33079
+ }],
33080
+ ["AWS::ECS::Service", {
33081
+ mode: "sdk-coverage",
33082
+ physicalIdForm: "Cloud Control stores `<serviceArn>|<cluster>` (the schema primaryIdentifier is ServiceArn + Cluster; measured us-east-1, 2026-11-03) while ECSProvider.create records the bare CreateService serviceArn; normalizeCcPhysicalId keeps the ARN part, which the fixture observed equal to the live service ARN",
33083
+ issue: "https://github.com/go-to-k/cdkd/issues/5654",
33084
+ integFixture: "cc-to-sdk-reroute-ecs-service",
33085
+ normalizeCcPhysicalId: ecsServiceSdkPhysicalId
33066
33086
  }]
33067
33087
  ]);
33088
+ function sdkAddressedPhysicalId(resourceType, physicalId, logicalId) {
33089
+ const entry = STICKY_CC_MIGRATION_EXEMPT.get(resourceType);
33090
+ const normalize = entry?.normalizeCcPhysicalId;
33091
+ if (normalize === void 0) return physicalId;
33092
+ try {
33093
+ return normalize(physicalId);
33094
+ } catch (error) {
33095
+ const reason = describeAwsFailure(error).detail;
33096
+ const remedy = entry?.mode === "sdk-coverage" ? ` Pass --pin-cc-api ${logicalId} to keep it on Cloud Control.` : "";
33097
+ throw new Error(`${logicalId} (${resourceType}) cannot move from Cloud Control to its SDK provider: ${reason}.${remedy}`);
33098
+ }
33099
+ }
33068
33100
  const CC_BROKEN_REASON = "Cloud Control's handler cannot manage this type correctly";
33069
33101
  function ccBrokenReason(resourceType) {
33070
33102
  return STICKY_CC_MIGRATION_EXEMPT.get(resourceType)?.mode === "cc-broken" ? CC_BROKEN_REASON : void 0;
@@ -33157,7 +33189,7 @@ var ProviderRegistry = class {
33157
33189
  if (actionableDrops.length === 0) {
33158
33190
  debug(`Using specific SDK provider for ${resourceType}`);
33159
33191
  if (returningToSdk) {
33160
- debug(`${resourceType} is returning to its SDK provider from a state-recorded cc-api route; physical id is preserved`);
33192
+ debug(`${resourceType} is returning to its SDK provider from a state-recorded cc-api route; the resource is updated in place`);
33161
33193
  return {
33162
33194
  provider: specificProvider,
33163
33195
  provisionedBy: "sdk",
@@ -34471,6 +34503,48 @@ function provenanceBaselineOf(state, tokenFree) {
34471
34503
  };
34472
34504
  }
34473
34505
 
34506
+ // src/deployment/label-routing.ts
34507
+ function deriveLabelRouting(change, existingState, registry, forceCcApi = false) {
34508
+ try {
34509
+ if (change.changeType === "DELETE") return existingState?.provisionedBy;
34510
+ return registry.getProviderFor({
34511
+ resourceType: change.resourceType,
34512
+ properties: change.desiredProperties ?? {},
34513
+ provisionedBy: existingState?.provisionedBy,
34514
+ previousProperties: existingState?.properties,
34515
+ forceCcApi
34516
+ }).provisionedBy;
34517
+ } catch {
34518
+ return;
34519
+ }
34520
+ }
34521
+
34522
+ // src/deployment/deploy-engine/routing.ts
34523
+ function isPinnedToCcApi(options, stackName, logicalId) {
34524
+ return options.pinCcApi?.stackName === stackName && options.pinCcApi.logicalIds.has(logicalId);
34525
+ }
34526
+ function recreateDirectionFor(options, stackName, logicalId) {
34527
+ const targets = options.recreateTargets?.stackName === stackName ? options.recreateTargets : void 0;
34528
+ if (targets === void 0) return void 0;
34529
+ if (targets.viaCcApi.has(logicalId)) return "cc-api";
34530
+ if (targets.viaSdkProvider.has(logicalId)) return "sdk";
34531
+ }
34532
+ function peekRoutingForLabel(providerRegistry, options, change, existingState, stackName, logicalId, needsReplacement = false, recreateDirection) {
34533
+ if (needsReplacement) {
34534
+ const hintRecord = {
34535
+ ...recreateDirection !== void 0 && { provisionedBy: recreateDirection },
34536
+ ...existingState?.properties !== void 0 && { properties: existingState.properties }
34537
+ };
34538
+ return deriveLabelRouting(change, hintRecord, providerRegistry, recreateDirection === "cc-api");
34539
+ }
34540
+ return deriveLabelRouting(change, existingState, providerRegistry, isPinnedToCcApi(options, stackName, logicalId));
34541
+ }
34542
+ function preparePropertiesForCcApi(providerRegistry, resourceType, resolvedProps, logicalId, underivable = "refuse") {
34543
+ const sdkProvider = providerRegistry.getRegisteredTypes().includes(resourceType) ? providerRegistry.getProvider(resourceType) : void 0;
34544
+ if (sdkProvider?.preparePropertiesForFallback) return sdkProvider.preparePropertiesForFallback(logicalId, resourceType, resolvedProps);
34545
+ return applyDefaultNameForFallback(logicalId, resourceType, resolvedProps, underivable);
34546
+ }
34547
+
34474
34548
  // src/provisioning/final-snapshot.ts
34475
34549
  const ATOMIC_FINAL_SNAPSHOT_TYPES = /* @__PURE__ */ new Set([
34476
34550
  "AWS::RDS::DBInstance",
@@ -35462,16 +35536,17 @@ async function readRecordAttributes(input) {
35462
35536
  const { provider, logicalId, resource, stackName, region } = input;
35463
35537
  if (!provider.import) return { kind: "not-attempted" };
35464
35538
  if (!hasAddressablePhysicalId(resource)) return { kind: "not-attempted" };
35539
+ const physicalId = resource.provisionedBy === "cc-api" && !(provider instanceof CloudControlProvider) ? sdkAddressedPhysicalId(resource.resourceType, resource.physicalId, logicalId) : resource.physicalId;
35465
35540
  const found = await provider.import({
35466
35541
  logicalId,
35467
35542
  resourceType: resource.resourceType,
35468
35543
  stackName,
35469
35544
  region,
35470
35545
  properties: resource.properties,
35471
- knownPhysicalId: resource.physicalId
35546
+ knownPhysicalId: physicalId
35472
35547
  });
35473
35548
  if (found === null) return { kind: "not-found" };
35474
- if (found.physicalId !== resource.physicalId) throw new Error(`the provider answered for a different resource (${found.physicalId}) than the one asked about (${resource.physicalId})`);
35549
+ if (found.physicalId !== physicalId) throw new Error(`the provider answered for a different resource (${found.physicalId}) than the one asked about (${physicalId})`);
35475
35550
  const reported = Object.entries(normalizeHealedAttributes(found.attributes));
35476
35551
  const attributes = Object.fromEntries(reported.filter(([, value]) => !carriesSecretMask(value)));
35477
35552
  const withheldKeys = reported.filter(([, value]) => carriesSecretMask(value)).map(([key]) => key);
@@ -35838,7 +35913,8 @@ async function noEchoAttributeOverridesFor(run, deps, desiredProps, stateResourc
35838
35913
  resourceType: record.resourceType,
35839
35914
  properties: record.properties,
35840
35915
  provisionedBy: record.provisionedBy,
35841
- previousProperties: record.properties
35916
+ previousProperties: record.properties,
35917
+ ...deps.pinnedToCcApi?.(stackName, logicalId) === true && { forceCcApi: true }
35842
35918
  });
35843
35919
  const outcome = await readRecordAttributes({
35844
35920
  provider,
@@ -36452,7 +36528,7 @@ function replayStackRecordsView(records, orphanLogicalIds = /* @__PURE__ */ new
36452
36528
  }
36453
36529
 
36454
36530
  // src/provisioning/restore-source-guard.ts
36455
- const RESTORING_TYPES = /* @__PURE__ */ new Set(["AWS::Neptune::DBCluster"]);
36531
+ const RESTORING_TYPES = /* @__PURE__ */ new Set(["AWS::DocDB::DBCluster", "AWS::Neptune::DBCluster"]);
36456
36532
  function clusterName(identifier) {
36457
36533
  return (identifier.split(":").pop() ?? identifier).toLowerCase();
36458
36534
  }
@@ -36462,8 +36538,15 @@ function elsewhere(identifier, scope) {
36462
36538
  const differs = (carried, known) => Boolean(carried) && known !== void 0 && carried !== known;
36463
36539
  return differs(region, scope.region) || differs(account, scope.account);
36464
36540
  }
36541
+ function automatedSnapshotOf(snapshot, name) {
36542
+ const id = snapshot.startsWith("arn:") ? snapshot.split(":cluster-snapshot:")[1] ?? "" : snapshot;
36543
+ const match = /^rds:(.+)-\d{4}-\d{2}-\d{2}-\d{2}-\d{2}$/i.exec(id);
36544
+ return match !== null && match[1].toLowerCase() === name;
36545
+ }
36465
36546
  function refuseRestoreFromItself(resourceType, properties, physicalId, logicalId, scope) {
36466
36547
  if (!RESTORING_TYPES.has(resourceType)) return;
36548
+ const snapshot = properties["SnapshotIdentifier"];
36549
+ if (typeof snapshot === "string" && automatedSnapshotOf(snapshot, clusterName(physicalId)) && !elsewhere(snapshot, scope)) throw markNonRetryable(new ProvisioningError(safeMsg`${resourceType} ${logicalId}: SnapshotIdentifier names an automated snapshot of the cluster this creates or replaces, which its delete removes; restore from a manual snapshot instead. Nothing was changed.`, resourceType, logicalId, physicalId));
36467
36550
  const source = properties["SourceDBClusterIdentifier"];
36468
36551
  if (typeof source !== "string" || clusterName(source) !== clusterName(physicalId)) return;
36469
36552
  if (elsewhere(source, scope)) return;
@@ -40167,6 +40250,7 @@ async function replayReverseReplacement(s) {
40167
40250
  secrets
40168
40251
  };
40169
40252
  const deleteNewResourceFirst = async (purpose) => {
40253
+ refuseRestoreFromItself(oldType, prev.properties ?? {}, current.physicalId, op.logicalId, { region: ctx.region });
40170
40254
  const finalSnapshotIdentifier = rollbackFinalSnapshotId(op.resourceType, current, op.provisionedBy);
40171
40255
  const deleteNewFirstRoute = resolveNewDeleteRoute();
40172
40256
  const deleteNewFirst = await withReplayDeletePrinting(s, () => deleteNewFirstRoute.provider.delete(op.logicalId, current.physicalId, op.resourceType, current.properties, {
@@ -41330,7 +41414,8 @@ var AttributeHealer = class {
41330
41414
  resourceType: resource.resourceType,
41331
41415
  properties: resource.properties,
41332
41416
  provisionedBy: resource.provisionedBy,
41333
- previousProperties: resource.properties
41417
+ previousProperties: resource.properties,
41418
+ ...this.deps.pinnedToCcApi?.(stackName, logicalId) === true && { forceCcApi: true }
41334
41419
  });
41335
41420
  const outcome = await withPrintingSecrets(healPrintingBag(this.deps.baseline, logicalId, resource, this.deps.namingSecrets()), () => readRecordAttributes({
41336
41421
  provider,
@@ -46541,48 +46626,6 @@ function isRefusedBeforeApplying(error, logicalId) {
46541
46626
  return false;
46542
46627
  }
46543
46628
 
46544
- // src/deployment/label-routing.ts
46545
- function deriveLabelRouting(change, existingState, registry, forceCcApi = false) {
46546
- try {
46547
- if (change.changeType === "DELETE") return existingState?.provisionedBy;
46548
- return registry.getProviderFor({
46549
- resourceType: change.resourceType,
46550
- properties: change.desiredProperties ?? {},
46551
- provisionedBy: existingState?.provisionedBy,
46552
- previousProperties: existingState?.properties,
46553
- forceCcApi
46554
- }).provisionedBy;
46555
- } catch {
46556
- return;
46557
- }
46558
- }
46559
-
46560
- // src/deployment/deploy-engine/routing.ts
46561
- function isPinnedToCcApi(options, stackName, logicalId) {
46562
- return options.pinCcApi?.stackName === stackName && options.pinCcApi.logicalIds.has(logicalId);
46563
- }
46564
- function recreateDirectionFor(options, stackName, logicalId) {
46565
- const targets = options.recreateTargets?.stackName === stackName ? options.recreateTargets : void 0;
46566
- if (targets === void 0) return void 0;
46567
- if (targets.viaCcApi.has(logicalId)) return "cc-api";
46568
- if (targets.viaSdkProvider.has(logicalId)) return "sdk";
46569
- }
46570
- function peekRoutingForLabel(providerRegistry, options, change, existingState, stackName, logicalId, needsReplacement = false, recreateDirection) {
46571
- if (needsReplacement) {
46572
- const hintRecord = {
46573
- ...recreateDirection !== void 0 && { provisionedBy: recreateDirection },
46574
- ...existingState?.properties !== void 0 && { properties: existingState.properties }
46575
- };
46576
- return deriveLabelRouting(change, hintRecord, providerRegistry, recreateDirection === "cc-api");
46577
- }
46578
- return deriveLabelRouting(change, existingState, providerRegistry, isPinnedToCcApi(options, stackName, logicalId));
46579
- }
46580
- function preparePropertiesForCcApi(providerRegistry, resourceType, resolvedProps, logicalId, underivable = "refuse") {
46581
- const sdkProvider = providerRegistry.getRegisteredTypes().includes(resourceType) ? providerRegistry.getProvider(resourceType) : void 0;
46582
- if (sdkProvider?.preparePropertiesForFallback) return sdkProvider.preparePropertiesForFallback(logicalId, resourceType, resolvedProps);
46583
- return applyDefaultNameForFallback(logicalId, resourceType, resolvedProps, underivable);
46584
- }
46585
-
46586
46629
  // src/deployment/deploy-engine/resolver-context.ts
46587
46630
  function buildResolverContext(deps, base, stackName) {
46588
46631
  const recordedSecretValues = /* @__PURE__ */ new Map();
@@ -47390,6 +47433,67 @@ function isResourceNotFoundError(error) {
47390
47433
  return typeof error === "object" && error !== null && error.name === "ResourceNotFoundException";
47391
47434
  }
47392
47435
 
47436
+ // src/provisioning/resource-timeout-registry.ts
47437
+ let resolved;
47438
+ function setResolvedResourceTimeouts(opt) {
47439
+ resolved = opt;
47440
+ }
47441
+ function resolvedResourceTimeoutMs(resourceType) {
47442
+ if (!resolved) return void 0;
47443
+ return resolved.perTypeMs?.[resourceType] ?? resolved.globalMs;
47444
+ }
47445
+
47446
+ // src/provisioning/delete-gone-wait.ts
47447
+ async function waitForGoneAfterDelete(opts) {
47448
+ const sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
47449
+ const now = opts.now ?? Date.now;
47450
+ const userTimeoutMs = resolvedResourceTimeoutMs(opts.resourceType);
47451
+ const maxWaitMs = userTimeoutMs === void 0 ? opts.maxWaitMs : Math.min(opts.maxWaitMs, userTimeoutMs / 2);
47452
+ const startedAt = now();
47453
+ const stopped = `${opts.what}: the delete was ACCEPTED by AWS, but cdkd stopped waiting for it to disappear`;
47454
+ const consequence = opts.consequence ?? "AWS finishes the delete on its side; until it does, a create of the same name is refused with \"already exists\".";
47455
+ const watch = startInterruptWatch(`${opts.what} deletion wait`);
47456
+ try {
47457
+ let lastStatus;
47458
+ let sawNonFailedStatus = false;
47459
+ for (;;) {
47460
+ if (watch.isInterrupted()) {
47461
+ opts.logger.warn(safeMsg`${stopped} (interrupted). ${consequence}`);
47462
+ return;
47463
+ }
47464
+ try {
47465
+ const status = await opts.describe();
47466
+ if (status === void 0) {
47467
+ opts.logger.debug(safeMsg`${opts.what} is gone`);
47468
+ return;
47469
+ }
47470
+ const failure = opts.failedStatus?.(status);
47471
+ if (failure !== void 0) {
47472
+ if (sawNonFailedStatus || now() - startedAt >= opts.pollIntervalMs) throw markWaitAbandoned(failure);
47473
+ } else sawNonFailedStatus = true;
47474
+ lastStatus = status;
47475
+ opts.logger.debug(safeMsg`${opts.what} status: ${status}, waiting for it to disappear`);
47476
+ } catch (error) {
47477
+ if (isWaitAbandonedError(error)) throw error;
47478
+ if (!isThrottlingError(error) && !isTransientServerError(error)) {
47479
+ opts.logger.debug(safeMsg`${opts.what}: status read failed: ${describeAwsFailure(error).detail}`);
47480
+ opts.logger.warn(safeMsg`${stopped}: its status could not be read (${describeAwsFailure(error).summary}). ${consequence}`);
47481
+ return;
47482
+ }
47483
+ opts.logger.debug(safeMsg`${opts.what}: status read throttled or failed transiently, re-polling`);
47484
+ }
47485
+ const remainingMs = maxWaitMs - (now() - startedAt);
47486
+ if (remainingMs <= 0) {
47487
+ opts.logger.warn(safeMsg`${stopped} after ${Math.round(maxWaitMs / 1e3)}s` + safeMsg`${lastStatus !== void 0 ? ` (last status: ${lastStatus})` : ""}. ${consequence}`);
47488
+ return;
47489
+ }
47490
+ await sleep(Math.min(opts.pollIntervalMs, remainingMs));
47491
+ }
47492
+ } finally {
47493
+ watch.dispose();
47494
+ }
47495
+ }
47496
+
47393
47497
  // src/provisioning/dynamodb-contributor-insights.ts
47394
47498
  const CONTRIBUTOR_INSIGHTS_KEY = "ContributorInsightsSpecification";
47395
47499
  function readContributorInsightsSpec(value, path) {
@@ -48364,6 +48468,7 @@ var DynamoDBGlobalTableProvider = class {
48364
48468
  attributeCache = /* @__PURE__ */ new Map();
48365
48469
  deleteBudgets = new ElapsedBudgetRegistry();
48366
48470
  protectionFlips = new ProtectionFlipRegistry();
48471
+ droppedReplicaRegions = /* @__PURE__ */ new Map();
48367
48472
  handledProperties = /* @__PURE__ */ new Map([["AWS::DynamoDB::GlobalTable", /* @__PURE__ */ new Set([
48368
48473
  "TableName",
48369
48474
  "KeySchema",
@@ -48385,6 +48490,11 @@ var DynamoDBGlobalTableProvider = class {
48385
48490
  "VectorIndexes",
48386
48491
  "WarmThroughput"
48387
48492
  ])]]);
48493
+ unhandledByDesign = /* @__PURE__ */ new Map([["AWS::DynamoDB::GlobalTable", /* @__PURE__ */ new Map([
48494
+ ["MultiRegionConsistency", "MRSC does not fit the per-replica serial paths: measured 2026-11-01 (us-east-1 / us-east-2 / us-west-2), the replica and witness Creates must go out in ONE UpdateTable with the mode, a lone replica Delete is refused ('does not include all witnesses'), DeleteTable is refused until they are gone, TTL is refused, and the table carries no stream, which create()'s needsStream arm would enable. Stays on Cloud Control"],
48495
+ ["GlobalTableWitnesses", "MRSC witness; same one-call UpdateTable shape as MultiRegionConsistency, measured 2026-11-01. Stays on Cloud Control"],
48496
+ ["GlobalTableSourceArn", "Multi-account replica: CDK's TableV2MultiAccountReplica renders no KeySchema (which create() requires) and DynamoDB asks for a ResourcePolicy on the CreateTable (measured 2026-11-01), a cross-account path this provider cannot exercise. Stays on Cloud Control"]
48497
+ ])]]);
48388
48498
  constructor() {
48389
48499
  const awsClients = getAwsClients();
48390
48500
  this.dynamoDBClient = awsClients.dynamoDB;
@@ -50543,6 +50653,9 @@ var DynamoDBGlobalTableProvider = class {
50543
50653
  }
50544
50654
  let preDeleteTable;
50545
50655
  let indexNoun;
50656
+ const droppedKey = deleteBudgetKey(physicalId, context?.expectedRegion);
50657
+ const droppedReplicaRegions = this.droppedReplicaRegions.get(droppedKey) ?? /* @__PURE__ */ new Set();
50658
+ this.droppedReplicaRegions.set(droppedKey, droppedReplicaRegions);
50546
50659
  try {
50547
50660
  const describe = await this.dynamoDBClient.send(new DescribeTableCommand({ TableName: physicalId }));
50548
50661
  const replicas = describe.Table?.Replicas ?? [];
@@ -50558,6 +50671,7 @@ var DynamoDBGlobalTableProvider = class {
50558
50671
  await this.dropReplicaForDelete(physicalId, region, context?.removeProtection === true, logicalId, budget, deleteMask);
50559
50672
  progress.stripped = true;
50560
50673
  await this.waitForReplicaGone(physicalId, region, logicalId, REPLICA_GONE_WAIT_ATTEMPTS, budget, context?.maskSecrets);
50674
+ droppedReplicaRegions.add(region);
50561
50675
  await this.deregisterRemovedReplicaScalableTargets(physicalId, region, {
50562
50676
  budget,
50563
50677
  maskSecrets: deleteMask,
@@ -50617,9 +50731,26 @@ var DynamoDBGlobalTableProvider = class {
50617
50731
  sleepSeam: deleteTableRetryDelays
50618
50732
  });
50619
50733
  await this.waitForTableGone(physicalId, logicalId, 600, budget, context?.maskSecrets);
50734
+ await Promise.all([...droppedReplicaRegions].map((region) => waitForGoneAfterDelete({
50735
+ what: deleteMask(`DynamoDB GlobalTable ${physicalId} replica in ${region}`),
50736
+ resourceType,
50737
+ consequence: `AWS finishes the delete on its side; until it does, the table still exists in ${region}, and a dependent deleted in the meantime (such as its KMS key) goes while it is still in use.`,
50738
+ describe: async () => {
50739
+ try {
50740
+ return (await this.getRegionalClient(region).send(new DescribeTableCommand({ TableName: physicalId }))).Table?.TableStatus ?? "UNKNOWN";
50741
+ } catch (describeError) {
50742
+ if (describeError instanceof ResourceNotFoundException$1) return void 0;
50743
+ throw describeError;
50744
+ }
50745
+ },
50746
+ logger: loopLogger,
50747
+ pollIntervalMs: replicaDeleteGoneWait.pollIntervalMs,
50748
+ maxWaitMs: Math.min(replicaDeleteGoneWait.maxWaitMs, budget.remainingMs())
50749
+ })));
50620
50750
  this.logger.debug(`Successfully deleted DynamoDB GlobalTable ${logicalId}`);
50621
50751
  this.deleteBudgets.release(deleteBudgetKey(physicalId, context?.expectedRegion));
50622
50752
  this.protectionFlips.release(deleteBudgetKey(physicalId, context?.expectedRegion));
50753
+ this.droppedReplicaRegions.delete(droppedKey);
50623
50754
  } catch (error) {
50624
50755
  if (error instanceof ResourceNotFoundException$1) {
50625
50756
  const clientRegion = await this.dynamoDBClient.config.region();
@@ -50627,6 +50758,7 @@ var DynamoDBGlobalTableProvider = class {
50627
50758
  if (context?.failedCreateOrphan === true) this.logger.info(safeMsg` DynamoDB GlobalTable ${physicalId} (${logicalId}), which a failed deploy created, is already gone; nothing to delete`);
50628
50759
  else this.logger.debug(`DynamoDB GlobalTable ${physicalId} does not exist, skipping`);
50629
50760
  this.deleteBudgets.release(deleteBudgetKey(physicalId, context?.expectedRegion));
50761
+ this.droppedReplicaRegions.delete(droppedKey);
50630
50762
  this.protectionFlips.release(deleteBudgetKey(physicalId, context?.expectedRegion));
50631
50763
  return;
50632
50764
  }
@@ -51559,6 +51691,10 @@ const REPLICA_GONE_WAIT_ATTEMPTS = 600;
51559
51691
  const GLOBAL_TABLE_ACTIVE_WAIT_ATTEMPTS = 600;
51560
51692
  const VECTOR_INDEX_SETTLE_ATTEMPTS = 1800;
51561
51693
  const TABLE_GONE_WAIT_ATTEMPTS = 600;
51694
+ const replicaDeleteGoneWait = {
51695
+ maxWaitMs: 600 * DYNAMODB_DELETE_POLL_COST_MS,
51696
+ pollIntervalMs: INDEX_SETTLE_POLL_INTERVAL_MS
51697
+ };
51562
51698
  const deleteTableRetryDelays = {};
51563
51699
  const DESCRIBE_SCALABLE_TARGETS_BATCH = 50;
51564
51700
  function collectAutoScalingTargets(properties, localRegion) {
@@ -52666,18 +52802,22 @@ function ccAutoRouteUpdateFailureRemedy(logicalId, resourceType, autoRoutedPrope
52666
52802
  }
52667
52803
 
52668
52804
  // src/deployment/deploy-engine/update-in-place.ts
52669
- async function updateInPlace(engine, { changedProperties, conditions, counts, currentProps, currentPropsAsWritten, currentResource, dependencies, desiredForSkipCheckAsWritten, logicalId, noEchoHeldPaths, parameterValues, progress, renderer, resolvedProps, resourceType, stackName, stateResources, template, updateReplacePolicy, updateSecrets, reattach }) {
52805
+ async function updateInPlace(engine, { changedProperties, conditions, counts, currentProps, currentPropsAsWritten, currentResource: recordedResource, dependencies, desiredForSkipCheckAsWritten, logicalId, noEchoHeldPaths, parameterValues, progress, renderer, resolvedProps, resourceType, stackName, stateResources, template, updateReplacePolicy, updateSecrets, reattach }) {
52670
52806
  engine.logger.debug(safeMsg`Updating ${logicalId} (${resourceType})`);
52671
52807
  const updateDecision = engine.providerRegistry.getProviderFor({
52672
52808
  resourceType,
52673
52809
  properties: resolvedProps,
52674
- provisionedBy: currentResource.provisionedBy,
52675
- previousProperties: currentResource.properties,
52810
+ provisionedBy: recordedResource.provisionedBy,
52811
+ previousProperties: recordedResource.properties,
52676
52812
  ...isPinnedToCcApi(engine.options, stackName, logicalId) && { forceCcApi: true }
52677
52813
  });
52814
+ const currentResource = updateDecision.sdkMigration === true ? {
52815
+ ...recordedResource,
52816
+ physicalId: sdkAddressedPhysicalId(resourceType, recordedResource.physicalId, logicalId)
52817
+ } : recordedResource;
52678
52818
  if (updateDecision.sdkMigration === true) {
52679
52819
  const exemptMode = STICKY_CC_MIGRATION_EXEMPT.get(resourceType)?.mode;
52680
- const preserved = "The physical id is preserved";
52820
+ const preserved = currentResource.physicalId === recordedResource.physicalId ? "The physical id is preserved" : "The resource is kept in place, and its recorded physical id takes the SDK provider's form";
52681
52821
  let message;
52682
52822
  switch (exemptMode) {
52683
52823
  case "cc-broken":
@@ -52783,6 +52923,7 @@ async function updateInPlace(engine, { changedProperties, conditions, counts, cu
52783
52923
  } catch (updateError) {
52784
52924
  const ccUnsupported = isUpdateUnsupportedError(updateError, logicalId);
52785
52925
  const replaceOptIn = updateError instanceof ResourceUpdateNotSupportedError && engine.options.replace === true;
52926
+ if ((ccUnsupported || replaceOptIn) && currentResource.physicalId !== recordedResource.physicalId) throw markNonRetryable(new CdkdError(safeMsg`${logicalId} (${resourceType}) needs a replacement for this change, which cdkd ` + `does not run on the deploy that moves it from Cloud Control to its SDK provider. ` + safeMsg`Re-run with --pin-cc-api ${logicalId} to replace it through Cloud Control.`, "SDK_MIGRATION_REPLACEMENT_REFUSED", updateError instanceof Error ? updateError : void 0));
52786
52927
  if (ccUnsupported || replaceOptIn) {
52787
52928
  const fallbackStackInstanceId = getCurrentStackInstanceId();
52788
52929
  const fallbackGeneration = fallbackStackInstanceId === void 0 ? void 0 : nextNameGeneration(currentResource, logicalId, fallbackStackInstanceId);
@@ -55378,7 +55519,8 @@ var DeployEngine = class {
55378
55519
  logger: this.logger,
55379
55520
  baseline: resources,
55380
55521
  resolvedSecretsOf: (logicalId) => this.secretsRun.perResourceSecrets.get(logicalId),
55381
- namingSecrets: () => stateNamingSecrets(this.secretsRun)
55522
+ namingSecrets: () => stateNamingSecrets(this.secretsRun),
55523
+ pinnedToCcApi: (stackName, logicalId) => isPinnedToCcApi(this.options, stackName, logicalId)
55382
55524
  });
55383
55525
  return this.attributeHealer;
55384
55526
  }
@@ -55408,7 +55550,8 @@ var DeployEngine = class {
55408
55550
  perResourceResolvedType: () => this.secretsRun.perResourceResolvedType,
55409
55551
  outputsRun: () => this.outputsRun,
55410
55552
  readReaderForFreshNoEchoCeiling: (...args) => readReaderForFreshNoEchoCeiling(this.maskingDeps(), ...args),
55411
- maskForResource: (...args) => maskForResource(this.secretsRun, ...args)
55553
+ maskForResource: (...args) => maskForResource(this.secretsRun, ...args),
55554
+ pinnedToCcApi: (stackName, logicalId) => isPinnedToCcApi(this.options, stackName, logicalId)
55412
55555
  };
55413
55556
  }
55414
55557
  maskingDeps() {
@@ -55716,5 +55859,5 @@ function sameGenerationClaimsOf(record) {
55716
55859
  };
55717
55860
  }
55718
55861
 
55719
- export { sendTtlWaitingOutRateLimit as $, assertFlagRoleArn as $a, literalSplitDelimitersOf as $c, ccBrokenReason as $i, hasReasonlessBaselineRefusal as $l, retiredAfterRollback as $n, malformedOrphansRefusalMessage as $o, isSupersededResourceRecord as $r, MULTI_REGION_RECREATE_BLOCKED_TYPES as $s, isHandledOrphan as $t, getLegacyStateBucketName as $u, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as A, INTRINSIC_KEYS as Aa, TemplateParser as Ac, hasPlainPrototype$1 as Ad, refusesFinalSnapshot as Ai, recordNoEchoAttributeValues as Al, demoteSupersededOrphans as An, declaresNoEcho as Ao, movedToHint as Ar, refuseMalformedResourcesForDeploy as As, makeCanonicalizePropertiesFn as At, buildDockerImage as Au, deleteTableWithIndexBusyRetry as B, s3BucketArn as Ba, passedNoEchoParametersOf as Bc, clearBucketRegionCache as Bd, isRefusedByName as Bi, CrossPrefixReadError as Bl, orphanNeedsIdentity as Bn, hasReadableOutputs as Bo, destroyStackRecordsView as Br, unpreviewableOrphanRecords as Bs, dropSettledNestedJournals as Bt, isMalformedEnvKey as Bu, planContributorInsightsOp as C, disableInstanceApiTermination as Ca, dbInstanceEngineChangeIsInPlace as Cc, StageLoadError as Cd, ATOMIC_FINAL_SNAPSHOT_TYPES as Ci, recordAttributeIdCopy as Cl, recordAfterRollbackUpdate as Cn, isStalePlaceholderArnAttribute as Co, DEFAULT_RESOURCE_WARN_AFTER_MS as Cr, refuseMalformedResourceEntriesForImport as Cs, enclosingDeadlineExpired as Ct, getBootstrapMarkerKey as Cu, reverseMapTableContributorInsights as D, reDisableInstanceApiTermination as Da, lambdaFunctionNameForMask as Dc, utf8ByteLength as Dd, createPreDeleteFinalSnapshot as Di, provenPublicValue as Dl, equalModuloMarkedMask as Dn, withSharedDrainBudget as Do, formatDestructiveChange as Dr, refuseMalformedResourcePropertiesForDrift as Ds, isSecretBearingReferenceString as Dt, validateAssetBucketName as Du, reverseMapIndexContributorInsights as E, observeThenDisableInstanceApiTermination as Ea, canonicalLambdaFunctionName as Ec, parseFailureDebugDetail as Ed, ccRoutedFinalSnapshotError as Ei, carriesSecretMask as El, calculateResourceDrift as En, parseWebACLArn as Eo, findDestructiveChanges as Er, refuseMalformedResourcePropertiesForDestroy as Es, diffSecurity as Et, readBootstrapMarkerBody as Eu, resolveDynamoDbDeleteBudgetClock as F, withUnsettledProperties as Fa, maskWholeValue as Fc, displayAssemblyPath as Fd, withCreateTokenLedger as Fi, isSingleDynamicReferenceToken as Fl, recheckFailedPlan as Fn, UNREADABLE_RESOURCES_MAP_ROW as Fo, mappingPairs as Fr, repairMalformedOrphansForReadOnly as Fs, keptForRetainedRecord as Ft, dockerSpawnEnvWithSensitive as Fu, readbackVectorIndexes as G, resolveDynamicReferences as Ga, liveMatchesUnresolvedTokenFrame as Gc, readTagList as Gi, isNotImplemented as Gl, isRedactedRecordedValue as Gn, malformedExportNamesWarning as Go, cyan as Gr, findHandledUnwrittenCreateOnly as Gs, revertedNestedRowIds as Gt, runDockerForeground as Gu, relayedIndexBusyDelete as H, s3BucketDualStackDomainName as Ha, readsNoEchoSource as Hc, DBPROXY_TAGS_WHAT as Hi, applyCrossPrefixScan as Hl, getCurrentProducerRegions as Hn, isReadableOrphanRecord as Ho, withStackRecords as Hr, unreadableResourceEntries as Hs, nestedChildStackName as Ht, redactDockerArgvValues as Hu, resolveDynamoDbDeleteBudgetMs as I, withoutUnsettledProperties as Ia, maskedLeafCoordinatesOf as Ic, renderAssemblyPathEscape as Id, acquireIdempotencyToken as Ii, LockManager as Il, recordUnderIdIsNotOwn as In, accountArgs as Io, parseMappingFile as Ir, repairMalformedOutputsForReadOnly as Is, recordRetainedForReadoption as It, finchSecretArgvRefusal as Iu, vectorIndexesShapeDetail as J, keepHeldTokenProvenance as Ja, recordReferenceProvenanceEntry as Jc, tagPlanWarning as Ji, splitImportedOps as Jl, updatePartialMessage as Jn, malformedLocalResourceEntriesWarning as Jo, red as Jr, withoutSilentDropProperties as Js, getCurrentNestedStackContext as Jt, AssetManifestLoader as Ju, vectorIndexesForCreate as K, producerLookupOver as Ka, markSameGenerationBag as Kc, refuseMalformedDesiredTags as Ki, stackInstanceIdOf as Kl, redactedDeleteAddressFields as Kn, malformedExportSourceWarning as Ko, gray as Kr, findSilentDropProperties as Ks, withNestedRevertRun as Kt, runDockerStreaming as Ku, DELETE_INDEX_WAIT_PROCEED_NOTE as L, IntrinsicFunctionResolver as La, noEchoCoordinatesOf as Lc, resolveAssemblyPath as Ld, DeploymentEventsReader as Li, isLockInfoExpired as Ll, replacementNeverSwapped as Ln, deployRefusesOrphanRowsReason as Lo, proposeRenames as Lr, repairMalformedResourceEntriesForReadOnly as Ls, NESTED_PENDING_PARENT_REASON as Lt, formatDockerLoginError as Lu, beginDeleteWait as M, unsettledItemsField as Ma, isMarkedCoordinate as Mc, ownValue as Md, earliestDefined as Mi, recordProvenPublicExpression as Ml, isReplacementOrphan as Mn, STATE_REGION_DIVERGED as Mo, withMovedTo as Mr, refuseMalformedResourcesForExport as Ms, planOrphanAdoption as Mt, describeDockerCapturedOutput as Mu, compensateRemovedDeletionProtection as N, unsettledItemsOf as Na, maskAtCoordinates as Nc, absoluteAssemblyPathEscape as Nd, ledgerForStack as Ni, wholeStringLeavesOf as Nl, planFailedOps as Nn, STATE_RESOURCES_MALFORMED as No, isPairableType as Nr, refuseMalformedState as Ns, pendingRequestCount as Nt, describeDockerExecFailure as Nu, stripIndexContributorInsights as O, reEnableInstanceApiTermination as Oa, sameLambdaFunctionAddress as Oc, defineOwnKey as Od, effectiveDeletionPolicy as Oi, recordMaskOnlyValue as Ol, equalModuloMask as On, parameterInputsFor as Oo, findRefactorHints as Or, refuseMalformedResourcePropertiesForExport as Os, keptWholeReasonText as Ot, validateContainerRepoName as Ou, deleteBudgetKey as P, unsettledPropertiesOf as Pa, maskReadbackAtCoordinates as Pc, describeFileReadFailure as Pd, reserveStackCreateToken as Pi, WHOLE_DYNAMIC_REFERENCE_PATTERN as Pl, planRollback as Pn, UNREADABLE_ORPHANS_CONTAINER_ROW as Po, looselyEqual as Pr, repairMalformedOrphanRecordsForReadOnly as Ps, resolvePendingCloudControlRequests as Pt, describeDockerFailure as Pu, readTtlSpec as Q, applyRoleArnIfSet as Qa, hasMaskableValues as Qc, ProviderRegistry as Qi, hasReadableExportSet as Ql, nameScopeOf as Qn, malformedOrphanRowsKeptWarning as Qo, holdsSupersededResources as Qr, shownType as Qs, dropFailedHint as Qt, getDefaultStateBucketName as Qu, INDEX_SETTLE_POLL_INTERVAL_MS as R, poisonRenderedSpellingsCollidingIn as Ra, noEchoLeavesOf as Rc, injectAwsRegion as Rd, DeploymentEventsStore as Ri, S3StateBackend as Rl, resolveReplacementOldType as Rn, displayLogicalId as Ro, refuseRestoreFromItself as Rr, repairMalformedResourcePropertiesForReadOnly as Rs, displacedOpClause as Rt, getDockerCmd as Ru, indexDeclaresContributorInsights as S, markWaitAbandoned as Sa, blockDeviceMappingsDifferOnlyInDeleteOnTermination as Sc, AssemblyReader as Sd, storedSecretNameNeedles as Si, physicalNameCopiesOf as Sl, removeProtectionTypeList as Sn, cfnRefValueFromPhysicalId as So, DEFAULT_RESOURCE_TIMEOUT_MS as Sr, refuseMalformedResourceEntriesForDestroy as Ss, readRecordedConditionVerdicts as St, ensureAssetStorage as Su, readContributorInsightsSpec as T, isTerminationProtectionPropagationError as Ta, emrClusterInstancesReplaced as Tc, describeJsonParseFailure as Td, buildFinalSnapshotIdentifier as Ti, splitGetAttStringForm as Tl, withUnprovenUnsettled as Tn, refStateLookupFromResource as To, constructPathOf as Tr, refuseMalformedResourceEntriesForOrphan as Ts, withResourceDeadline as Tt, parseBootstrapMarker as Tu, waitForIndexesSettled as U, s3BucketRegionalDomainName as Ua, recordedNoEchoValuesOf as Uc, DBPROXY_TAG_OPTIONS as Ui, crossPrefixDeniedWarning as Ul, inheritProducerRegions as Un, isReadableResourceEntry as Uo, replacedDeleteFailureVerdict as Ur, withheldAccountClause as Us, recordDisplacedSkips as Ut, redactedCause as Uu, maskedLogger as V, s3BucketDomainName as Va, readbackPathFor as Vc, resolveBucketRegion as Vd, markDeleteStarted as Vi, CrossPrefixScanCache as Vl, findNestedStackTypeChanges as Vn, hasReadableResources as Vo, getStackRecords as Vr, unreadableOrphanRecords as Vs, getNestedRevertRun as Vt, partitionSensitiveEnv as Vu, planVectorIndexUpdates as W, s3BucketWebsiteUrl as Wa, valueAtCoordinate as Wc, planTagDiff as Wi, isAccessDenied$1 as Wl, REDACTED_DELETE_ADDRESS_SKIP_REASON as Wn, malformedDriftResourcePropertiesWarning as Wo, bold as Wr, findActionableSilentDrops as Ws, revertNestedChildFromJournal as Wt, redactedDockerCause as Wu, isTtlRateLimited as X, recordedOutputReferenceRegions as Xa, carryLogOnlyValues as Xc, stringifyIfAssigned as Xi, describeRegionValueKind as Xl, nameGenerationCarriedFrom as Xn, malformedOrphanRecordsRefusalMessage as Xo, addSuperseded as Xr, hasNoCloudControlHandlers as Xs, deleteJournaledOrphans as Xt, Synthesizer as Xu, isTtlAlreadyDisabled as Y, outputReferenceProvenanceOf as Ya, snapshotPassProvenance as Yc, definedAttributes as Yi, acceptedCreateOnlyDropsOf as Yl, updatePartialReason as Yn, malformedLocalResourcesWarning as Yo, yellow as Yr, NO_CC_HANDLERS_REASON as Ys, withNestedStackContext as Yt, getDockerImageBySourceHash as Yu, planTimeToLive as Z, recordedReferenceRegions as Za, createUnionSecretMasker as Zc, CC_BROKEN_REASON as Zi, exportNamesCarriedFrom as Zl, nameGenerationHighWaterOf as Zn, malformedOrphanRecordsWarning as Zo, deleteSupersededEntry as Zr, findReplacedReadersOfRecreateTargets as Zs, dropFailedCommands as Zt, synthesisStatusMessage as Zu, streamMemberRefusals as _, deleteIndeterminateGuards as _a, requireConfigString as _c, decodeListingKey as _d, secretNamePrintingBag as _i, spelledKeysOf as _l, pendingMovesOutOf as _n, carriesDynamicReference as _o, noEchoParameterValueSeed as _r, refuseMalformedOutputs as _s, renderNestedTemplateTreeDefect as _t, loadPublishableAssetManifest as _u, isProtectionValueActive as a, isCustomResourceType as aa, isWarmThroughputDecrease as ac, resolveStateBucketWithDefault as ad, withoutSuperseded as ai, unionOfSecretBags as al, chunks as an, applyCallerIdentityCredentials as ao, reachableDivergentParameters as ar, malformedResourcePropertiesWarning as as, markRefusedBeforeApplying as at, orphansCarriedFrom as au, CONTRIBUTOR_INSIGHTS_KEY as b, withIndeterminateGuard as ba, describeTypeWithThrottleRetry as bc, canonicalizeRegion as bd, secretNamedRecordNeedles as bi, recordNestedStackParameterExpressions as bl, replayFailedOperations as bn, keepsSecretReferenceToken as bo, isExportAliasCollision as br, refuseMalformedResourceEntries as bs, conditionInputsFrom as bt, BOOTSTRAP_MARKER_PREFIX as bu, DynamoDBGlobalTableProvider as c, CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID as ca, coerceCfnBoolean as cc, stateBucketExistenceConfirmed as cd, noEchoExactEchoLeavesOf as ci, maskSecretsInError as cl, withApiLimit as cn, classifyRecordedSecretRegion as co, displayTextOrWithheld as cr, malformedStateRefusalMessage as cs, crossStackOutputProvenanceSource as ct, PhaseClock as cu, declaredStreamPolicyMember as d, CloudControlProvider as da, configIntegerRefusal as dc, CFN_TEMPLATE_BODY_LIMIT as dd, createReadOnlyAttributeHealerFactory as di, withPhysicalNameCopies as dl, refactorMarkerMovesOf as dn, regionLessSecretName as do, secretBearingStateKeyWarning as dr, refuseMalformedNestedChildOutputs as ds, findServiceTokenRefusals as dt, AssetPublisher as du, isCustomResource as ea, isStatefulRecreateTargetForReplace as ec, loadCdkJson as ed, removeSuperseded as ei, logOnlyValueCount as el, journaledOrphanLines as en, assertSendableRoleArn as eo, retiredNameGenerationsAfter as er, malformedOrphansWarning as es, ECR_AUTO_DELETE_IMAGES_TAG as et, hasUnverifiableParameterRefusal as eu, declaredStreamTagsMember as f, slowCcOperationTimeoutMs as fa, configStringRefusal as fc, CFN_TEMPLATE_URL_LIMIT as fd, completedReplayEntries as fi, withoutPhysicalNameCopies as fl, refactorMarkerRefusalMessage as fn, coerceParameterTypedValue as fo, secretSafeKeyDisplay as fr, refuseMalformedOrphanRecords as fs, serviceTokenBlockingReason as ft, isSensitiveAttributeName as fu, streamDeclaresTags as g, UNSPECIFIED_SKIP_REASON as ga, requireConfigObject as gc, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as gd, orphanRecordsPrintingBag as gi, pathCrossesDottedKey as gl, hasPendingMovesOut as gn, isImpossibleEmptyStoredAttribute as go, isWholeDynamicReferenceValue as gr, refuseMalformedOrphansForOrphan as gs, listNestedTemplateRows as gt, createAssetRedirectResolver as gu, streamDeclaresPolicy as h, RollbackInlinePolicyWriters as ha, requireConfigArray as hc, uploadCfnTemplate as hd, namingSecretsWithRecordedNoEcho as hi, isUncertifiedBaselineMaskPosition as hl, updateRefactorMarker as hn, getAccountInfo as ho, exportNameSecretExposure as hr, refuseMalformedOrphansForDestroy as hs, isAbsoluteAssetPath as ht, buildAssetRedirectMap as hu, PROTECTION_PROPERTY_BY_TYPE as i, readsNoEchoDeleteValues as ia, coerceWarmThroughput as ic, resolveSkipPrefix as id, supersededResourcesOf as ii, shareLogOnlyValues as il, formatResourceLine as in, AWS_CREDENTIAL_ENV_KEYS as io, namesAnyDeclaredParameter as ir, malformedResourceEntriesWarning as is, getPriorAttempts as it, orphansAfterRollback as iu, DYNAMODB_DELETE_POLL_COST_MS as j, isUsableAttemptedName as ja, canonicalCoordinates as jc, nullPrototypeRecord as jd, unsupportedFinalSnapshotError as ji, recordNoEchoParameterFreshValue as jl, isJournaledOrphan as jn, JSON_LISTING_HOLE_VALUE as jo, rollbackOrphanIds as jr, refuseMalformedResourcesForDestroy as js, makeSiblingClaimReader as jt, resolveDockerContextDirectory as ju, DYNAMODB_DELETE_DEADLINE_MARGIN_MS as k, DiffCalculator as ka, DagBuilder as kc, hasOwnKey as kd, isFinalSnapshotError as ki, recordMaskOnlyValuesIn as kl, undeclaredEmptyObservedKeys as kn, passedParameterClassesOf as ko, hintSidesOf as kr, refuseMalformedResourcePropertiesForOrphan as ks, mergeNoChangeOutputs as kt, buildDenyExternalAccessPolicy as ku, STREAM_POLICY_KEY as l, applyCustomResourceResponseExpiration as la, coerceCfnInteger as lc, warnDeprecatedNoPrefixCliFlag as ld, noEchoParameterNamesOf as li, maskSecretsInText as ll, readRefactorMarker as ln, classifyReplaySecretRegion as lo, exportAliasCollisionScrubWarning as lr, previewableOrphanRecords as ls, inheritedProvenanceForChildDiff as lt, renderPhaseTimings as lu, reverseMapStreamPolicy as m, unchangedBehindSecretReference as ma, replayWarn as mc, findLargeInlineResources as md, maskEventTextWithBoundBags as mi, dynamicReferenceTokens as ml, sameMove as mn, parameterTypeMayLoseSecretIdentity as mo, exportNameNoEchoParameters as mr, refuseMalformedOrphans as ms, findNestedTemplateTreeDefect as mt, WorkGraph as mu, recordedProtectionEvidence as n, waitForLambdaFunctionActive as na, renderStatefulReason as nc, resolveAutoAssetStorage as nd, supersededHeldByOtherTypeWarning as ni, recordLogOnlyParameterValue as nl, makeForeignHolderScan as nn, isIamRoleArn as no, withNameGenerationReached as nr, malformedOutputsWarning as ns, hasCdkAutoDeleteTag as nt, importableOutputs as nu, perType as o, getCurrentResourceSecrets as oa, toCfnInteger as oc, resolveStateBucketWithDefaultAndSource as od, noEchoAttributeNamesOf as oi, createSecretMasker as ol, isAccessDeniedError as on, callerEnvCredentials as oo, resourcesNamingDeclaredParameter as or, malformedResourcesWarning as os, IMPLICIT_DELETE_DEPENDENCIES as ot, shouldRetainResource as ou, planStreamMemberOps as p, onlySecretReferencesDiffer as pa, readConfigString as pc, MIGRATE_TMP_PREFIX as pd, journaledOrphanPrintingBag as pi, DYNAMIC_REFERENCE_TOKEN_SCAN as pl, refuseRefactorMarker as pn, isUnboundTemplateParameter as po, carriedExportAliasExposure as pr, refuseMalformedOrphanRecordsForDestroy as ps, childTemplateLoader as pt, stringifyValue as pu, vectorIndexesSettled as q, refuseUnreadableCdkCrossAccountRefs as qa, redactForState as qc, tagMapAsList as qi, withStackInstanceIdWithheld as ql, redactedDeleteAddressSkip as qn, malformedLocalOutputsWarning as qo, green as qr, unwrittenCreateOnlyReplacement as qs, collectNestedChildUnaddressed as qt, warnFinchArgvExposure as qu, recordedProtectionNote as r, TemplateNoEchoReresolver as ra, WARM_THROUGHPUT_MEMBERS as rc, resolveCaptureObservedState as rd, supersededHolderOf as ri, recordLogOnlyValue as rl, sameJournaledOrphans as rn, sendableAssumeRoleCommand as ro, computeParameterTaint as rr, malformedRenderedContainersWarning as rs, isTruthyCfnBoolean as rt, isReadableBag as ru, readProtection as s, withPrintingSecrets as sa, toFiniteNumber as sc, resolveUseCdkBootstrapAssets as sd, noEchoComparisonForTemplate as si, errorCauseChain as sl, lookupEachName as sn, envCredentialsAreAssumedRole as so, WITHHELD_NAME_DISPLAY as sr, malformedScrubResourceEntriesRefusalMessage as ss, computeImplicitDeleteEdges as st, stackInstanceIdCarriedFrom as su, DeployEngine as t, wouldReturnToSdkProvider as ta, isStatefulRecreateTargetSync as tc, resolveApp as td, supersededAfterRollback as ti, printingCorpusOf as tl, loadJournaledOrphans as tn, explicitRoleArnOrThrow as to, retiredNameGenerationsLeaving as tr, malformedOutputsRefusalMessage as ts, S3_AUTO_DELETE_OBJECTS_TAG as tt, importableOutputKeys as tu, STREAM_TAGS_KEY as u, customResourceResponseExpirationWarning as ua, configBooleanRefusal as uc, ssmResolvedValueType as ud, withAttemptedItemsMasked as ui, scrubResourceRecord as ul, readRefactorMarkerOnce as un, producerRegionsFromState as uo, secretBearing as ur, refuseDivergentRecordRegionForDestroy as us, deferredServiceTokenWarning as ut, timePhase as uu, streamPolicyMatchesDeclared as v, deleteLeftInPlace as va, prefetchCreateOnlyPropertyPaths as vc, expectedOwnerParam as vd, secretNamePrintingBags as vi, identityKeyFor as vl, pendingMovesRefusalMessage as vn, carriesFetchableDynamicReference as vo, collectDeclaredOutputNames as vr, refuseMalformedOutputsForDestroy as vs, templateIdentity as vt, rewriteTemplateAssetReferences as vu, planIndexContributorInsightsOps as w, ec2InstanceProtectionSite as wa, ecsServiceLaunchTypeSetOrChanged as wc, processStackMessages as wd, PRE_DELETE_SNAPSHOT_TYPES as wi, recordPhysicalNameCopy as wl, settleUnsettledPrevious as wn, lacksRecordedTableArn as wo, maskingRetryLogger as wr, refuseMalformedResourceEntriesForImportSave as ws, enclosingDeadlineRemainingMs as wt, isCrossRegionRedirect as wu, contributorInsightsRefusals as x, isWaitAbandonedError as xa, withRetry as xc, derivePartitionAndUrlSuffix as xd, stateSecretNameNeedles as xi, recoverMaskedOutput as xl, replayRollback as xn, AWS_NO_VALUE as xo, bindingSkippedOutputs as xr, refuseMalformedResourceEntriesForDeploy as xs, parentSuppliedValues as xt, assertAssetBucketRegion as xu, streamTagsMatchDeclared as y, deleteSkipReason as ya, templateResourceTypes as yc, PARTITION_TABLE as yd, secretNamedAttributeNamesOf as yi, inheritNestedStackParameterAssociations as yl, refusePendingMovesOut as yn, isNamelessDynamicReferenceError as yo, collectPublishedOutputNames as yr, refuseMalformedResourceAttributesForOrphan as ys, conditionFingerprint as yt, AssetModeResolver as yu, TABLE_INDEX_NOUN as z, isSettledInstanceState as za, noEchoOutputsComparison as zc, injectedAwsRegionValue as zd, extractDeploymentEventError as zi, rebuildClientForBucketRegion as zl, seedsDeleteFirstGuard as zn, hasReadableOrphans as zo, awaitInFlightSibling as zr, repairMalformedResourcesForReadOnly as zs, displacedPhysicalIdShown as zt, isDockerClientEnvKey as zu };
55720
- //# sourceMappingURL=deploy-engine-BiJyU4j1.js.map
55862
+ export { isTtlRateLimited as $, recordedReferenceRegions as $a, createUnionSecretMasker as $c, stringifyIfAssigned as $i, exportNamesCarriedFrom as $l, nameGenerationCarriedFrom as $n, malformedOrphanRecordsWarning as $o, addSuperseded as $r, findReplacedReadersOfRecreateTargets as $s, deleteJournaledOrphans as $t, synthesisStatusMessage as $u, resolvedResourceTimeoutMs as A, reEnableInstanceApiTermination as Aa, sameLambdaFunctionAddress as Ac, defineOwnKey as Ad, createPreDeleteFinalSnapshot as Ai, recordMaskOnlyValue as Al, equalModuloMarkedMask as An, parameterInputsFor as Ao, formatDestructiveChange as Ar, refuseMalformedResourcePropertiesForExport as As, isSecretBearingReferenceString as At, validateContainerRepoName as Au, DELETE_INDEX_WAIT_PROCEED_NOTE as B, poisonRenderedSpellingsCollidingIn as Ba, noEchoLeavesOf as Bc, injectAwsRegion as Bd, DeploymentEventsReader as Bi, S3StateBackend as Bl, replacementNeverSwapped as Bn, displayLogicalId as Bo, proposeRenames as Br, repairMalformedResourcePropertiesForReadOnly as Bs, NESTED_PENDING_PARENT_REASON as Bt, getDockerCmd as Bu, planContributorInsightsOp as C, withIndeterminateGuard as Ca, withRetry as Cc, derivePartitionAndUrlSuffix as Cd, secretNamedRecordNeedles as Ci, recoverMaskedOutput as Cl, replayFailedOperations as Cn, AWS_NO_VALUE as Co, isExportAliasCollision as Cr, refuseMalformedResourceEntriesForDeploy as Cs, conditionInputsFrom as Ct, assertAssetBucketRegion as Cu, reverseMapTableContributorInsights as D, isTerminationProtectionPropagationError as Da, emrClusterInstancesReplaced as Dc, describeJsonParseFailure as Dd, PRE_DELETE_SNAPSHOT_TYPES as Di, splitGetAttStringForm as Dl, settleUnsettledPrevious as Dn, refStateLookupFromResource as Do, maskingRetryLogger as Dr, refuseMalformedResourceEntriesForOrphan as Ds, enclosingDeadlineRemainingMs as Dt, parseBootstrapMarker as Du, reverseMapIndexContributorInsights as E, ec2InstanceProtectionSite as Ea, ecsServiceLaunchTypeSetOrChanged as Ec, processStackMessages as Ed, ATOMIC_FINAL_SNAPSHOT_TYPES as Ei, recordPhysicalNameCopy as El, recordAfterRollbackUpdate as En, lacksRecordedTableArn as Eo, DEFAULT_RESOURCE_WARN_AFTER_MS as Er, refuseMalformedResourceEntriesForImportSave as Es, enclosingDeadlineExpired as Et, isCrossRegionRedirect as Eu, beginDeleteWait as F, unsettledItemsOf as Fa, maskAtCoordinates as Fc, absoluteAssemblyPathEscape as Fd, earliestDefined as Fi, wholeStringLeavesOf as Fl, isReplacementOrphan as Fn, STATE_RESOURCES_MALFORMED as Fo, withMovedTo as Fr, refuseMalformedState as Fs, planOrphanAdoption as Ft, describeDockerExecFailure as Fu, relayedIndexBusyDelete as G, s3BucketRegionalDomainName as Ga, recordedNoEchoValuesOf as Gc, DBPROXY_TAGS_WHAT as Gi, crossPrefixDeniedWarning as Gl, getCurrentProducerRegions as Gn, isReadableResourceEntry as Go, withStackRecords as Gr, withheldAccountClause as Gs, nestedChildStackName as Gt, redactedCause as Gu, TABLE_INDEX_NOUN as H, s3BucketArn as Ha, passedNoEchoParametersOf as Hc, clearBucketRegionCache as Hd, extractDeploymentEventError as Hi, CrossPrefixReadError as Hl, seedsDeleteFirstGuard as Hn, hasReadableOutputs as Ho, awaitInFlightSibling as Hr, unpreviewableOrphanRecords as Hs, displacedPhysicalIdShown as Ht, isMalformedEnvKey as Hu, compensateRemovedDeletionProtection as I, unsettledPropertiesOf as Ia, maskReadbackAtCoordinates as Ic, describeFileReadFailure as Id, ledgerForStack as Ii, WHOLE_DYNAMIC_REFERENCE_PATTERN as Il, planFailedOps as In, UNREADABLE_ORPHANS_CONTAINER_ROW as Io, isPairableType as Ir, repairMalformedOrphanRecordsForReadOnly as Is, pendingRequestCount as It, describeDockerFailure as Iu, readbackVectorIndexes as J, producerLookupOver as Ja, markSameGenerationBag as Jc, readTagList as Ji, stackInstanceIdOf as Jl, isRedactedRecordedValue as Jn, malformedExportSourceWarning as Jo, cyan as Jr, findSilentDropProperties as Js, revertedNestedRowIds as Jt, runDockerStreaming as Ju, waitForIndexesSettled as K, s3BucketWebsiteUrl as Ka, valueAtCoordinate as Kc, DBPROXY_TAG_OPTIONS as Ki, isAccessDenied$1 as Kl, inheritProducerRegions as Kn, malformedDriftResourcePropertiesWarning as Ko, replacedDeleteFailureVerdict as Kr, findActionableSilentDrops as Ks, recordDisplacedSkips as Kt, redactedDockerCause as Ku, deleteBudgetKey as L, withUnsettledProperties as La, maskWholeValue as Lc, displayAssemblyPath as Ld, reserveStackCreateToken as Li, isSingleDynamicReferenceToken as Ll, planRollback as Ln, UNREADABLE_RESOURCES_MAP_ROW as Lo, looselyEqual as Lr, repairMalformedOrphansForReadOnly as Ls, resolvePendingCloudControlRequests as Lt, dockerSpawnEnvWithSensitive as Lu, DYNAMODB_DELETE_DEADLINE_MARGIN_MS as M, INTRINSIC_KEYS as Ma, TemplateParser as Mc, hasPlainPrototype$1 as Md, isFinalSnapshotError as Mi, recordNoEchoAttributeValues as Ml, undeclaredEmptyObservedKeys as Mn, declaresNoEcho as Mo, hintSidesOf as Mr, refuseMalformedResourcesForDeploy as Ms, mergeNoChangeOutputs as Mt, buildDockerImage as Mu, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as N, isUsableAttemptedName as Na, canonicalCoordinates as Nc, nullPrototypeRecord as Nd, refusesFinalSnapshot as Ni, recordNoEchoParameterFreshValue as Nl, demoteSupersededOrphans as Nn, JSON_LISTING_HOLE_VALUE as No, movedToHint as Nr, refuseMalformedResourcesForDestroy as Ns, makeCanonicalizePropertiesFn as Nt, resolveDockerContextDirectory as Nu, stripIndexContributorInsights as O, observeThenDisableInstanceApiTermination as Oa, canonicalLambdaFunctionName as Oc, parseFailureDebugDetail as Od, buildFinalSnapshotIdentifier as Oi, carriesSecretMask as Ol, withUnprovenUnsettled as On, parseWebACLArn as Oo, constructPathOf as Or, refuseMalformedResourcePropertiesForDestroy as Os, withResourceDeadline as Ot, readBootstrapMarkerBody as Ou, DYNAMODB_DELETE_POLL_COST_MS as P, unsettledItemsField as Pa, isMarkedCoordinate as Pc, ownValue as Pd, unsupportedFinalSnapshotError as Pi, recordProvenPublicExpression as Pl, isJournaledOrphan as Pn, STATE_REGION_DIVERGED as Po, rollbackOrphanIds as Pr, refuseMalformedResourcesForExport as Ps, makeSiblingClaimReader as Pt, describeDockerCapturedOutput as Pu, isTtlAlreadyDisabled as Q, recordedOutputReferenceRegions as Qa, carryLogOnlyValues as Qc, definedAttributes as Qi, describeRegionValueKind as Ql, updatePartialReason as Qn, malformedOrphanRecordsRefusalMessage as Qo, yellow as Qr, hasNoCloudControlHandlers as Qs, withNestedStackContext as Qt, Synthesizer as Qu, resolveDynamoDbDeleteBudgetClock as R, withoutUnsettledProperties as Ra, maskedLeafCoordinatesOf as Rc, renderAssemblyPathEscape as Rd, withCreateTokenLedger as Ri, LockManager as Rl, recheckFailedPlan as Rn, accountArgs as Ro, mappingPairs as Rr, repairMalformedOutputsForReadOnly as Rs, keptForRetainedRecord as Rt, finchSecretArgvRefusal as Ru, indexDeclaresContributorInsights as S, deleteSkipReason as Sa, describeTypeWithThrottleRetry as Sc, canonicalizeRegion as Sd, secretNamedAttributeNamesOf as Si, recordNestedStackParameterExpressions as Sl, refusePendingMovesOut as Sn, keepsSecretReferenceToken as So, collectPublishedOutputNames as Sr, refuseMalformedResourceEntries as Ss, conditionFingerprint as St, BOOTSTRAP_MARKER_PREFIX as Su, readContributorInsightsSpec as T, disableInstanceApiTermination as Ta, dbInstanceEngineChangeIsInPlace as Tc, StageLoadError as Td, storedSecretNameNeedles as Ti, recordAttributeIdCopy as Tl, removeProtectionTypeList as Tn, isStalePlaceholderArnAttribute as To, DEFAULT_RESOURCE_TIMEOUT_MS as Tr, refuseMalformedResourceEntriesForImport as Ts, readRecordedConditionVerdicts as Tt, getBootstrapMarkerKey as Tu, deleteTableWithIndexBusyRetry as U, s3BucketDomainName as Ua, readbackPathFor as Uc, resolveBucketRegion as Ud, isRefusedByName as Ui, CrossPrefixScanCache as Ul, orphanNeedsIdentity as Un, hasReadableResources as Uo, destroyStackRecordsView as Ur, unreadableOrphanRecords as Us, dropSettledNestedJournals as Ut, partitionSensitiveEnv as Uu, INDEX_SETTLE_POLL_INTERVAL_MS as V, isSettledInstanceState as Va, noEchoOutputsComparison as Vc, injectedAwsRegionValue as Vd, DeploymentEventsStore as Vi, rebuildClientForBucketRegion as Vl, resolveReplacementOldType as Vn, hasReadableOrphans as Vo, refuseRestoreFromItself as Vr, repairMalformedResourcesForReadOnly as Vs, displacedOpClause as Vt, isDockerClientEnvKey as Vu, maskedLogger as W, s3BucketDualStackDomainName as Wa, readsNoEchoSource as Wc, markDeleteStarted as Wi, applyCrossPrefixScan as Wl, findNestedStackTypeChanges as Wn, isReadableOrphanRecord as Wo, getStackRecords as Wr, unreadableResourceEntries as Ws, getNestedRevertRun as Wt, redactDockerArgvValues as Wu, vectorIndexesSettled as X, keepHeldTokenProvenance as Xa, recordReferenceProvenanceEntry as Xc, tagMapAsList as Xi, splitImportedOps as Xl, redactedDeleteAddressSkip as Xn, malformedLocalResourceEntriesWarning as Xo, green as Xr, withoutSilentDropProperties as Xs, collectNestedChildUnaddressed as Xt, AssetManifestLoader as Xu, vectorIndexesForCreate as Y, refuseUnreadableCdkCrossAccountRefs as Ya, redactForState as Yc, refuseMalformedDesiredTags as Yi, withStackInstanceIdWithheld as Yl, redactedDeleteAddressFields as Yn, malformedLocalOutputsWarning as Yo, gray as Yr, unwrittenCreateOnlyReplacement as Ys, withNestedRevertRun as Yt, warnFinchArgvExposure as Yu, vectorIndexesShapeDetail as Z, outputReferenceProvenanceOf as Za, snapshotPassProvenance as Zc, tagPlanWarning as Zi, acceptedCreateOnlyDropsOf as Zl, updatePartialMessage as Zn, malformedLocalResourcesWarning as Zo, red as Zr, NO_CC_HANDLERS_REASON as Zs, getCurrentNestedStackContext as Zt, getDockerImageBySourceHash as Zu, streamMemberRefusals as _, unchangedBehindSecretReference as _a, requireConfigArray as _c, uploadCfnTemplate as _d, maskEventTextWithBoundBags as _i, isUncertifiedBaselineMaskPosition as _l, sameMove as _n, getAccountInfo as _o, exportNameNoEchoParameters as _r, refuseMalformedOrphansForDestroy as _s, findNestedTemplateTreeDefect as _t, buildAssetRedirectMap as _u, isProtectionValueActive as a, waitForLambdaFunctionActive as aa, WARM_THROUGHPUT_MEMBERS as ac, resolveCaptureObservedState as ad, supersededHeldByOtherTypeWarning as ai, recordLogOnlyValue as al, makeForeignHolderScan as an, sendableAssumeRoleCommand as ao, withNameGenerationReached as ar, malformedRenderedContainersWarning as as, hasCdkAutoDeleteTag as at, isReadableBag as au, CONTRIBUTOR_INSIGHTS_KEY as b, deleteIndeterminateGuards as ba, prefetchCreateOnlyPropertyPaths as bc, expectedOwnerParam as bd, secretNamePrintingBag as bi, identityKeyFor as bl, pendingMovesOutOf as bn, carriesFetchableDynamicReference as bo, noEchoParameterValueSeed as br, refuseMalformedOutputsForDestroy as bs, renderNestedTemplateTreeDefect as bt, rewriteTemplateAssetReferences as bu, DynamoDBGlobalTableProvider as c, isCustomResourceType as ca, toCfnInteger as cc, resolveStateBucketWithDefaultAndSource as cd, withoutSuperseded as ci, createSecretMasker as cl, chunks as cn, callerEnvCredentials as co, reachableDivergentParameters as cr, malformedResourcesWarning as cs, markRefusedBeforeApplying as ct, shouldRetainResource as cu, declaredStreamPolicyMember as d, CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID as da, coerceCfnInteger as dc, warnDeprecatedNoPrefixCliFlag as dd, noEchoExactEchoLeavesOf as di, maskSecretsInText as dl, withApiLimit as dn, classifyReplaySecretRegion as do, displayTextOrWithheld as dr, previewableOrphanRecords as ds, crossStackOutputProvenanceSource as dt, renderPhaseTimings as du, CC_BROKEN_REASON as ea, shownType as ec, getDefaultStateBucketName as ed, deleteSupersededEntry as ei, hasMaskableValues as el, dropFailedCommands as en, applyRoleArnIfSet as eo, nameGenerationHighWaterOf as er, malformedOrphanRowsKeptWarning as es, planTimeToLive as et, hasReadableExportSet as eu, declaredStreamTagsMember as f, applyCustomResourceResponseExpiration as fa, configBooleanRefusal as fc, ssmResolvedValueType as fd, noEchoParameterNamesOf as fi, scrubResourceRecord as fl, readRefactorMarker as fn, producerRegionsFromState as fo, exportAliasCollisionScrubWarning as fr, refuseDivergentRecordRegionForDestroy as fs, inheritedProvenanceForChildDiff as ft, timePhase as fu, streamDeclaresTags as g, onlySecretReferencesDiffer as ga, replayWarn as gc, findLargeInlineResources as gd, journaledOrphanPrintingBag as gi, dynamicReferenceTokens as gl, refuseRefactorMarker as gn, parameterTypeMayLoseSecretIdentity as go, carriedExportAliasExposure as gr, refuseMalformedOrphans as gs, childTemplateLoader as gt, WorkGraph as gu, streamDeclaresPolicy as h, slowCcOperationTimeoutMs as ha, readConfigString as hc, MIGRATE_TMP_PREFIX as hd, completedReplayEntries as hi, DYNAMIC_REFERENCE_TOKEN_SCAN as hl, refactorMarkerRefusalMessage as hn, isUnboundTemplateParameter as ho, secretSafeKeyDisplay as hr, refuseMalformedOrphanRecordsForDestroy as hs, serviceTokenBlockingReason as ht, stringifyValue as hu, PROTECTION_PROPERTY_BY_TYPE as i, wouldReturnToSdkProvider as ia, renderStatefulReason as ic, resolveAutoAssetStorage as id, supersededAfterRollback as ii, recordLogOnlyParameterValue as il, loadJournaledOrphans as in, isIamRoleArn as io, retiredNameGenerationsLeaving as ir, malformedOutputsWarning as is, S3_AUTO_DELETE_OBJECTS_TAG as it, importableOutputs as iu, setResolvedResourceTimeouts as j, DiffCalculator as ja, DagBuilder as jc, hasOwnKey as jd, effectiveDeletionPolicy as ji, recordMaskOnlyValuesIn as jl, equalModuloMask as jn, passedParameterClassesOf as jo, findRefactorHints as jr, refuseMalformedResourcePropertiesForOrphan as js, keptWholeReasonText as jt, buildDenyExternalAccessPolicy as ju, waitForGoneAfterDelete as k, reDisableInstanceApiTermination as ka, lambdaFunctionNameForMask as kc, utf8ByteLength as kd, ccRoutedFinalSnapshotError as ki, provenPublicValue as kl, calculateResourceDrift as kn, withSharedDrainBudget as ko, findDestructiveChanges as kr, refuseMalformedResourcePropertiesForDrift as ks, diffSecurity as kt, validateAssetBucketName as ku, STREAM_POLICY_KEY as l, getCurrentResourceSecrets as la, toFiniteNumber as lc, resolveUseCdkBootstrapAssets as ld, noEchoAttributeNamesOf as li, errorCauseChain as ll, isAccessDeniedError as ln, envCredentialsAreAssumedRole as lo, resourcesNamingDeclaredParameter as lr, malformedScrubResourceEntriesRefusalMessage as ls, IMPLICIT_DELETE_DEPENDENCIES as lt, stackInstanceIdCarriedFrom as lu, reverseMapStreamPolicy as m, CloudControlProvider as ma, configStringRefusal as mc, CFN_TEMPLATE_URL_LIMIT as md, createReadOnlyAttributeHealerFactory as mi, withoutPhysicalNameCopies as ml, refactorMarkerMovesOf as mn, coerceParameterTypedValue as mo, secretBearingStateKeyWarning as mr, refuseMalformedOrphanRecords as ms, findServiceTokenRefusals as mt, isSensitiveAttributeName as mu, recordedProtectionEvidence as n, ccBrokenReason as na, isStatefulRecreateTargetForReplace as nc, loadCdkJson as nd, isSupersededResourceRecord as ni, logOnlyValueCount as nl, isHandledOrphan as nn, assertSendableRoleArn as no, retiredAfterRollback as nr, malformedOrphansWarning as ns, sendTtlWaitingOutRateLimit as nt, hasUnverifiableParameterRefusal as nu, perType as o, TemplateNoEchoReresolver as oa, coerceWarmThroughput as oc, resolveSkipPrefix as od, supersededHolderOf as oi, shareLogOnlyValues as ol, sameJournaledOrphans as on, AWS_CREDENTIAL_ENV_KEYS as oo, computeParameterTaint as or, malformedResourceEntriesWarning as os, isTruthyCfnBoolean as ot, orphansAfterRollback as ou, planStreamMemberOps as p, customResourceResponseExpirationWarning as pa, configIntegerRefusal as pc, CFN_TEMPLATE_BODY_LIMIT as pd, withAttemptedItemsMasked as pi, withPhysicalNameCopies as pl, readRefactorMarkerOnce as pn, regionLessSecretName as po, secretBearing as pr, refuseMalformedNestedChildOutputs as ps, deferredServiceTokenWarning as pt, AssetPublisher as pu, planVectorIndexUpdates as q, resolveDynamicReferences as qa, liveMatchesUnresolvedTokenFrame as qc, planTagDiff as qi, isNotImplemented as ql, REDACTED_DELETE_ADDRESS_SKIP_REASON as qn, malformedExportNamesWarning as qo, bold as qr, findHandledUnwrittenCreateOnly as qs, revertNestedChildFromJournal as qt, runDockerForeground as qu, recordedProtectionNote as r, isCustomResource as ra, isStatefulRecreateTargetSync as rc, resolveApp as rd, removeSuperseded as ri, printingCorpusOf as rl, journaledOrphanLines as rn, explicitRoleArnOrThrow as ro, retiredNameGenerationsAfter as rr, malformedOutputsRefusalMessage as rs, ECR_AUTO_DELETE_IMAGES_TAG as rt, importableOutputKeys as ru, readProtection as s, readsNoEchoDeleteValues as sa, isWarmThroughputDecrease as sc, resolveStateBucketWithDefault as sd, supersededResourcesOf as si, unionOfSecretBags as sl, formatResourceLine as sn, applyCallerIdentityCredentials as so, namesAnyDeclaredParameter as sr, malformedResourcePropertiesWarning as ss, getPriorAttempts as st, orphansCarriedFrom as su, DeployEngine as t, ProviderRegistry as ta, MULTI_REGION_RECREATE_BLOCKED_TYPES as tc, getLegacyStateBucketName as td, holdsSupersededResources as ti, literalSplitDelimitersOf as tl, dropFailedHint as tn, assertFlagRoleArn as to, nameScopeOf as tr, malformedOrphansRefusalMessage as ts, readTtlSpec as tt, hasReasonlessBaselineRefusal as tu, STREAM_TAGS_KEY as u, withPrintingSecrets as ua, coerceCfnBoolean as uc, stateBucketExistenceConfirmed as ud, noEchoComparisonForTemplate as ui, maskSecretsInError as ul, lookupEachName as un, classifyRecordedSecretRegion as uo, WITHHELD_NAME_DISPLAY as ur, malformedStateRefusalMessage as us, computeImplicitDeleteEdges as ut, PhaseClock as uu, streamPolicyMatchesDeclared as v, RollbackInlinePolicyWriters as va, requireConfigObject as vc, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as vd, namingSecretsWithRecordedNoEcho as vi, pathCrossesDottedKey as vl, updateRefactorMarker as vn, isImpossibleEmptyStoredAttribute as vo, exportNameSecretExposure as vr, refuseMalformedOrphansForOrphan as vs, isAbsoluteAssetPath as vt, createAssetRedirectResolver as vu, planIndexContributorInsightsOps as w, isWaitAbandonedError as wa, blockDeviceMappingsDifferOnlyInDeleteOnTermination as wc, AssemblyReader as wd, stateSecretNameNeedles as wi, physicalNameCopiesOf as wl, replayRollback as wn, cfnRefValueFromPhysicalId as wo, bindingSkippedOutputs as wr, refuseMalformedResourceEntriesForDestroy as ws, parentSuppliedValues as wt, ensureAssetStorage as wu, contributorInsightsRefusals as x, deleteLeftInPlace as xa, templateResourceTypes as xc, PARTITION_TABLE as xd, secretNamePrintingBags as xi, inheritNestedStackParameterAssociations as xl, pendingMovesRefusalMessage as xn, isNamelessDynamicReferenceError as xo, collectDeclaredOutputNames as xr, refuseMalformedResourceAttributesForOrphan as xs, templateIdentity as xt, AssetModeResolver as xu, streamTagsMatchDeclared as y, UNSPECIFIED_SKIP_REASON as ya, requireConfigString as yc, decodeListingKey as yd, orphanRecordsPrintingBag as yi, spelledKeysOf as yl, hasPendingMovesOut as yn, carriesDynamicReference as yo, isWholeDynamicReferenceValue as yr, refuseMalformedOutputs as ys, listNestedTemplateRows as yt, loadPublishableAssetManifest as yu, resolveDynamoDbDeleteBudgetMs as z, IntrinsicFunctionResolver as za, noEchoCoordinatesOf as zc, resolveAssemblyPath as zd, acquireIdempotencyToken as zi, isLockInfoExpired as zl, recordUnderIdIsNotOwn as zn, deployRefusesOrphanRowsReason as zo, parseMappingFile as zr, repairMalformedResourceEntriesForReadOnly as zs, recordRetainedForReadoption as zt, formatDockerLoginError as zu };
55863
+ //# sourceMappingURL=deploy-engine-BC5pwkqY.js.map