@cdkd/cli 0.323.0 → 0.326.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 (33) hide show
  1. package/dist/{asg-provider-4rNFSmz9.js → asg-provider-D1KLOLzB.js} +3 -3
  2. package/dist/{asg-provider-4rNFSmz9.js.map → asg-provider-D1KLOLzB.js.map} +1 -1
  3. package/dist/{aws-clients-DWpHZk2l.js → aws-clients-ez_oXu6x.js} +123 -2
  4. package/dist/aws-clients-ez_oXu6x.js.map +1 -0
  5. package/dist/cli.js +2 -2
  6. package/dist/{created-resource-sink-CmrPwGge.js → created-resource-sink-DMf6WEao.js} +2 -2
  7. package/dist/{created-resource-sink-CmrPwGge.js.map → created-resource-sink-DMf6WEao.js.map} +1 -1
  8. package/dist/{db-instance-modify-retry-DCLA_p9I.js → db-instance-modify-retry-2tRANTVg.js} +6 -5
  9. package/dist/db-instance-modify-retry-2tRANTVg.js.map +1 -0
  10. package/dist/{deploy-engine-dYZ0v6Kz.js → deploy-engine-l-wZygYT.js} +237 -62
  11. package/dist/deploy-engine-l-wZygYT.js.map +1 -0
  12. package/dist/{iam-role-provider-Bp4osNrj.js → iam-role-provider-CJBhHr7l.js} +4 -4
  13. package/dist/{iam-role-provider-Bp4osNrj.js.map → iam-role-provider-CJBhHr7l.js.map} +1 -1
  14. package/dist/index.d.ts +14 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +5 -5
  17. package/dist/{neptune-provider-BqtKFZaE.js → neptune-provider-D4a9cJ2i.js} +4 -4
  18. package/dist/{neptune-provider-BqtKFZaE.js.map → neptune-provider-D4a9cJ2i.js.map} +1 -1
  19. package/dist/{program-BYT8z2ca.js → program-ml6yCB64.js} +50 -8
  20. package/dist/program-ml6yCB64.js.map +1 -0
  21. package/dist/{provider-classes-KPYbVTtY.js → provider-classes-D60y4umw.js} +529 -75
  22. package/dist/provider-classes-D60y4umw.js.map +1 -0
  23. package/dist/{rds-provider-C8enyD9d.js → rds-provider-C6299G23.js} +182 -37
  24. package/dist/rds-provider-C6299G23.js.map +1 -0
  25. package/dist/{version-kAoaNHQI.js → version-C8PfUSmt.js} +2 -2
  26. package/dist/{version-kAoaNHQI.js.map → version-C8PfUSmt.js.map} +1 -1
  27. package/package.json +2 -1
  28. package/dist/aws-clients-DWpHZk2l.js.map +0 -1
  29. package/dist/db-instance-modify-retry-DCLA_p9I.js.map +0 -1
  30. package/dist/deploy-engine-dYZ0v6Kz.js.map +0 -1
  31. package/dist/program-BYT8z2ca.js.map +0 -1
  32. package/dist/provider-classes-KPYbVTtY.js.map +0 -1
  33. package/dist/rds-provider-C8enyD9d.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { c as __exportAll, r as getAwsClients } from "./aws-clients-DWpHZk2l.js";
1
+ import { f as __exportAll, l as s3ClientDefaults, r as getAwsClients } from "./aws-clients-ez_oXu6x.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
- 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";
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-DMf6WEao.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-kAoaNHQI.js";
5
+ import { t as getCdkdVersion } from "./version-C8PfUSmt.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";
@@ -64,6 +64,7 @@ async function resolveBucketRegion(bucketName, opts = {}) {
64
64
  const explicitRegion = opts.region ?? opts.fallbackRegion;
65
65
  let client = new S3Client({
66
66
  ...awsClientDefaults({ profile: opts.profile }),
67
+ ...s3ClientDefaults(),
67
68
  ...auth,
68
69
  ...explicitRegion && { region: explicitRegion }
69
70
  });
@@ -73,6 +74,7 @@ async function resolveBucketRegion(bucketName, opts = {}) {
73
74
  probeRegion = "us-east-1";
74
75
  client = new S3Client({
75
76
  ...awsClientDefaults({ profile: opts.profile }),
77
+ ...s3ClientDefaults(),
76
78
  ...auth,
77
79
  region: probeRegion
78
80
  });
@@ -1919,6 +1921,7 @@ async function uploadCfnTemplate(args) {
1919
1921
  });
1920
1922
  const s3 = new S3Client({
1921
1923
  ...awsClientDefaults({ profile: s3ClientOpts?.profile }),
1924
+ ...s3ClientDefaults(),
1922
1925
  region,
1923
1926
  ...s3ClientOpts?.profile && { profile: s3ClientOpts.profile },
1924
1927
  ...s3ClientOpts?.credentials && { credentials: s3ClientOpts.credentials }
@@ -2330,7 +2333,7 @@ async function resolveStateBucketWithDefaultAndSource(cliBucket, region, legacyF
2330
2333
  logger.debug("No state bucket specified, resolving default from account...");
2331
2334
  const { GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
2332
2335
  const { S3Client, HeadBucketCommand, ListObjectsV2Command } = await import("@aws-sdk/client-s3");
2333
- const { getAwsClients } = await import("./aws-clients-DWpHZk2l.js").then((n) => n.n);
2336
+ const { getAwsClients } = await import("./aws-clients-ez_oXu6x.js").then((n) => n.n);
2334
2337
  const { expectedOwnerParam, recordResolvedAccountId } = await Promise.resolve().then(() => expected_bucket_owner_exports);
2335
2338
  const probeDeps = {
2336
2339
  HeadBucketCommand,
@@ -2346,6 +2349,7 @@ async function resolveStateBucketWithDefaultAndSource(cliBucket, region, legacyF
2346
2349
  const stsCredentials = stsClient.config?.credentials;
2347
2350
  const probe = new S3Client({
2348
2351
  ...awsClientDefaults(),
2352
+ ...s3ClientDefaults(),
2349
2353
  region: "us-east-1",
2350
2354
  ...typeof stsCredentials === "function" && { credentials: stsCredentials }
2351
2355
  });
@@ -2741,6 +2745,7 @@ var FileAssetPublisher = class {
2741
2745
  this.logger.debug(`Publishing file asset ${asset.displayName || assetHash} → s3://${bucketName}/${objectKey}`);
2742
2746
  const client = new S3Client({
2743
2747
  ...ambientClientDefaults(),
2748
+ ...s3ClientDefaults(),
2744
2749
  region: destRegion
2745
2750
  });
2746
2751
  try {
@@ -3696,7 +3701,7 @@ function ecrRegistryHost(accountId, region) {
3696
3701
  return `${accountId}.dkr.ecr.${region}.${ecrUrlSuffix(region)}`;
3697
3702
  }
3698
3703
  function isDockerAuthFailure(errText) {
3699
- return /no basic auth credentials|unauthorized|authentication required|denied|\b401\b|\b403\b/i.test(errText);
3704
+ return /no basic auth credentials|unauthorized|authentication required|denied|authorization token has expired|is not authorized to perform|\b401\b|\b403\b/i.test(errText);
3700
3705
  }
3701
3706
  var DockerAssetPublisher = class {
3702
3707
  logger = getLogger().child("DockerAssetPublisher");
@@ -4007,6 +4012,7 @@ async function verifyAssetStorageExists(marker, accountId, region, opts = {}) {
4007
4012
  };
4008
4013
  const s3Client = new S3Client({
4009
4014
  ...awsClientDefaults({ profile: opts.profile }),
4015
+ ...s3ClientDefaults(),
4010
4016
  ...clientOpts
4011
4017
  });
4012
4018
  const ecrClient = new ECRClient({
@@ -4245,6 +4251,7 @@ var AssetModeResolver = class {
4245
4251
  try {
4246
4252
  s3Client = new S3Client({
4247
4253
  ...awsClientDefaults({ profile: this.profile }),
4254
+ ...s3ClientDefaults(),
4248
4255
  region,
4249
4256
  ...this.profile && { profile: this.profile }
4250
4257
  });
@@ -5762,6 +5769,7 @@ async function rebuildClientForBucketRegion(client, bucket, opts = {}) {
5762
5769
  const rebuiltCredentials = opts.credentials ? opts.credentials : opts.reuseClientCredentials ? client.config.credentials : void 0;
5763
5770
  const replacement = new S3Client({
5764
5771
  ...awsClientDefaults({ profile: opts.profile }),
5772
+ ...s3ClientDefaults(),
5765
5773
  region: bucketRegion,
5766
5774
  ...opts.profile && { profile: opts.profile },
5767
5775
  ...rebuiltCredentials !== void 0 && { credentials: rebuiltCredentials },
@@ -5833,6 +5841,7 @@ var S3StateBackend = class S3StateBackend {
5833
5841
  const region = await this.s3Client.config.region();
5834
5842
  this.scanClient = new S3Client({
5835
5843
  ...awsClientDefaults(this.clientOpts.profile ? { profile: this.clientOpts.profile } : {}),
5844
+ ...s3ClientDefaults(),
5836
5845
  region,
5837
5846
  credentials: this.s3Client.config.credentials
5838
5847
  });
@@ -12491,6 +12500,18 @@ function instanceSecurityGroupIdsChangeReplaces(oldValue, newValue, siblings) {
12491
12500
  }
12492
12501
  return siblings.newProperties["SubnetId"] == null;
12493
12502
  }
12503
+ function instanceTenancyChangeReplaces(oldValue, newValue) {
12504
+ if (oldValue == null) return false;
12505
+ if (newValue == null) return true;
12506
+ const text = (v) => typeof v === "string" ? v : JSON.stringify(v);
12507
+ const before = text(oldValue);
12508
+ const after = text(newValue);
12509
+ if (before === after) return false;
12510
+ return before === "default" || after === "default";
12511
+ }
12512
+ function instancePrivateDnsNameOptionsChangeReplaces(oldValue, newValue) {
12513
+ return oldValue != null && newValue == null;
12514
+ }
12494
12515
  function instanceBlockDeviceMappingsChangeReplaces(oldValue, newValue) {
12495
12516
  return !blockDeviceMappingsDifferOnlyInDeleteOnTermination(oldValue, newValue);
12496
12517
  }
@@ -13016,9 +13037,20 @@ var ReplacementRulesRegistry = class {
13016
13037
  "ImageId",
13017
13038
  "SubnetId",
13018
13039
  "KeyName",
13019
- "NetworkInterfaces"
13040
+ "NetworkInterfaces",
13041
+ "CpuOptions",
13042
+ "HibernationOptions",
13043
+ "PlacementGroupName",
13044
+ "PrivateIpAddress",
13045
+ "Ipv6AddressCount",
13046
+ "Ipv6Addresses"
13020
13047
  ]),
13021
- conditionalReplacements: /* @__PURE__ */ new Map([["SecurityGroupIds", instanceSecurityGroupIdsChangeReplaces], ["BlockDeviceMappings", instanceBlockDeviceMappingsChangeReplaces]])
13048
+ conditionalReplacements: /* @__PURE__ */ new Map([
13049
+ ["SecurityGroupIds", instanceSecurityGroupIdsChangeReplaces],
13050
+ ["BlockDeviceMappings", instanceBlockDeviceMappingsChangeReplaces],
13051
+ ["Tenancy", instanceTenancyChangeReplaces],
13052
+ ["PrivateDnsNameOptions", instancePrivateDnsNameOptionsChangeReplaces]
13053
+ ])
13022
13054
  });
13023
13055
  this.rules.set("AWS::EC2::NatGateway", {
13024
13056
  replacementProperties: /* @__PURE__ */ new Set(),
@@ -16689,63 +16721,57 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
16689
16721
  }],
16690
16722
  ["AWS::EC2::Instance", {
16691
16723
  handled: /* @__PURE__ */ new Set([
16724
+ "AdditionalInfo",
16692
16725
  "AvailabilityZone",
16693
16726
  "BlockDeviceMappings",
16727
+ "CpuOptions",
16694
16728
  "CreditSpecification",
16695
16729
  "DisableApiTermination",
16696
16730
  "EbsOptimized",
16731
+ "HibernationOptions",
16697
16732
  "IamInstanceProfile",
16698
16733
  "ImageId",
16734
+ "InstanceInitiatedShutdownBehavior",
16699
16735
  "InstanceType",
16736
+ "Ipv6AddressCount",
16737
+ "Ipv6Addresses",
16700
16738
  "KeyName",
16701
16739
  "MetadataOptions",
16702
16740
  "Monitoring",
16703
16741
  "NetworkInterfaces",
16742
+ "PlacementGroupName",
16743
+ "PrivateDnsNameOptions",
16744
+ "PrivateIpAddress",
16745
+ "PropagateTagsToVolumeOnCreation",
16704
16746
  "SecurityGroupIds",
16705
16747
  "SecurityGroups",
16748
+ "SourceDestCheck",
16706
16749
  "SubnetId",
16707
16750
  "Tags",
16751
+ "Tenancy",
16708
16752
  "UserData"
16709
16753
  ]),
16710
16754
  sdkUnwired: /* @__PURE__ */ new Map([
16711
- ["AdditionalInfo", "not yet implemented by cdkd"],
16712
16755
  ["Affinity", "not yet implemented by cdkd"],
16713
- ["CpuOptions", "not yet implemented by cdkd"],
16714
16756
  ["ElasticGpuSpecifications", "AWS Elastic GPU end-of-life (announced 2023-11); no replacement API"],
16715
16757
  ["ElasticInferenceAccelerators", "AWS Elastic Inference end-of-life 2024-04; use AWS Inferentia / Trainium accelerator instance families instead"],
16716
16758
  ["EnclaveOptions", "not yet implemented by cdkd"],
16717
- ["HibernationOptions", "not yet implemented by cdkd"],
16718
16759
  ["HostId", "not yet implemented by cdkd"],
16719
16760
  ["HostResourceGroupArn", "not yet implemented by cdkd"],
16720
- ["InstanceInitiatedShutdownBehavior", "not yet implemented by cdkd"],
16721
- ["Ipv6AddressCount", "not yet implemented by cdkd"],
16722
- ["Ipv6Addresses", "not yet implemented by cdkd"],
16723
16761
  ["KernelId", "not yet implemented by cdkd"],
16724
16762
  ["LaunchTemplate", "not yet implemented by cdkd"],
16725
16763
  ["LicenseSpecifications", "not yet implemented by cdkd"],
16726
- ["PlacementGroupName", "not yet implemented by cdkd"],
16727
- ["PrivateDnsNameOptions", "not yet implemented by cdkd"],
16728
- ["PrivateIpAddress", "not yet implemented by cdkd"],
16729
- ["PropagateTagsToVolumeOnCreation", "not yet implemented by cdkd"],
16730
16764
  ["RamdiskId", "not yet implemented by cdkd"],
16731
- ["SourceDestCheck", "not yet implemented by cdkd"],
16732
16765
  ["SsmAssociations", "not yet implemented by cdkd"],
16733
- ["Tenancy", "not yet implemented by cdkd"],
16734
16766
  ["Volumes", "not yet implemented by cdkd"]
16735
16767
  ]),
16736
16768
  createOnlyDrops: /* @__PURE__ */ new Set([
16737
- "CpuOptions",
16738
16769
  "ElasticGpuSpecifications",
16739
16770
  "ElasticInferenceAccelerators",
16740
16771
  "EnclaveOptions",
16741
- "HibernationOptions",
16742
16772
  "HostResourceGroupArn",
16743
- "Ipv6AddressCount",
16744
- "Ipv6Addresses",
16745
16773
  "LaunchTemplate",
16746
- "LicenseSpecifications",
16747
- "PlacementGroupName",
16748
- "PrivateIpAddress"
16774
+ "LicenseSpecifications"
16749
16775
  ]),
16750
16776
  readOnly: /* @__PURE__ */ new Set([
16751
16777
  "InstanceId",
@@ -16936,18 +16962,13 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
16936
16962
  "EnableDnsHostnames",
16937
16963
  "EnableDnsSupport",
16938
16964
  "InstanceTenancy",
16939
- "Tags"
16940
- ]),
16941
- sdkUnwired: /* @__PURE__ */ new Map([
16942
- ["Ipv4IpamPoolId", "not yet implemented by cdkd"],
16943
- ["Ipv4NetmaskLength", "not yet implemented by cdkd"],
16944
- ["VpcEncryptionControl", "not yet implemented by cdkd"]
16945
- ]),
16946
- createOnlyDrops: /* @__PURE__ */ new Set([
16947
16965
  "Ipv4IpamPoolId",
16948
16966
  "Ipv4NetmaskLength",
16967
+ "Tags",
16949
16968
  "VpcEncryptionControl"
16950
16969
  ]),
16970
+ sdkUnwired: /* @__PURE__ */ new Map(),
16971
+ createOnlyDrops: /* @__PURE__ */ new Set(),
16951
16972
  readOnly: /* @__PURE__ */ new Set([
16952
16973
  "CidrBlockAssociations",
16953
16974
  "DefaultNetworkAcl",
@@ -18032,6 +18053,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18032
18053
  "AutoMinorVersionUpgrade",
18033
18054
  "BackupRetentionPeriod",
18034
18055
  "CopyTagsToSnapshot",
18056
+ "DatabaseInsightsMode",
18035
18057
  "DatabaseName",
18036
18058
  "DBClusterIdentifier",
18037
18059
  "DBClusterParameterGroupName",
@@ -18041,9 +18063,11 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18041
18063
  "EnableHttpEndpoint",
18042
18064
  "EnableIAMDatabaseAuthentication",
18043
18065
  "Engine",
18066
+ "EngineLifecycleSupport",
18044
18067
  "EngineVersion",
18045
18068
  "KmsKeyId",
18046
18069
  "ManageMasterUserPassword",
18070
+ "MasterUserAuthenticationType",
18047
18071
  "MasterUsername",
18048
18072
  "MasterUserPassword",
18049
18073
  "MasterUserSecret",
@@ -18069,7 +18093,6 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18069
18093
  ["AvailabilityZones", "not yet implemented by cdkd"],
18070
18094
  ["BacktrackWindow", "not yet implemented by cdkd"],
18071
18095
  ["ClusterScalabilityType", "not yet implemented by cdkd"],
18072
- ["DatabaseInsightsMode", "not yet implemented by cdkd"],
18073
18096
  ["DBClusterInstanceClass", "not yet implemented by cdkd"],
18074
18097
  ["DBInstanceParameterGroupName", "not yet implemented by cdkd"],
18075
18098
  ["DBSystemId", "not yet implemented by cdkd"],
@@ -18078,11 +18101,9 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18078
18101
  ["DomainIAMRoleName", "not yet implemented by cdkd"],
18079
18102
  ["EnableGlobalWriteForwarding", "not yet implemented by cdkd"],
18080
18103
  ["EnableLocalWriteForwarding", "not yet implemented by cdkd"],
18081
- ["EngineLifecycleSupport", "not yet implemented by cdkd"],
18082
18104
  ["EngineMode", "not yet implemented by cdkd"],
18083
18105
  ["GlobalClusterIdentifier", "not yet implemented by cdkd"],
18084
18106
  ["Iops", "not yet implemented by cdkd"],
18085
- ["MasterUserAuthenticationType", "not yet implemented by cdkd"],
18086
18107
  ["ReplicationSourceIdentifier", "not yet implemented by cdkd"],
18087
18108
  ["RestoreToTime", "not yet implemented by cdkd"],
18088
18109
  ["RestoreType", "not yet implemented by cdkd"],
@@ -18140,11 +18161,13 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18140
18161
  "EnableIAMDatabaseAuthentication",
18141
18162
  "EnablePerformanceInsights",
18142
18163
  "Engine",
18164
+ "EngineLifecycleSupport",
18143
18165
  "EngineVersion",
18144
18166
  "Iops",
18145
18167
  "KmsKeyId",
18146
18168
  "LicenseModel",
18147
18169
  "ManageMasterUserPassword",
18170
+ "MasterUserAuthenticationType",
18148
18171
  "MasterUsername",
18149
18172
  "MasterUserPassword",
18150
18173
  "MasterUserSecret",
@@ -18188,8 +18211,6 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
18188
18211
  ["DomainFqdn", "not yet implemented by cdkd"],
18189
18212
  ["DomainIAMRoleName", "not yet implemented by cdkd"],
18190
18213
  ["DomainOu", "not yet implemented by cdkd"],
18191
- ["EngineLifecycleSupport", "not yet implemented by cdkd"],
18192
- ["MasterUserAuthenticationType", "not yet implemented by cdkd"],
18193
18214
  ["NcharCharacterSetName", "not yet implemented by cdkd"],
18194
18215
  ["ProcessorFeatures", "not yet implemented by cdkd"],
18195
18216
  ["ReplicaMode", "not yet implemented by cdkd"],
@@ -22181,6 +22202,7 @@ async function getCrossAccountStackState(roleArn, stackName, region, context) {
22181
22202
  const prefix = context.stateBackend?.prefix ?? "cdkd";
22182
22203
  const s3 = new S3Client({
22183
22204
  ...awsClientDefaults(),
22205
+ ...s3ClientDefaults(),
22184
22206
  region: bucketRegion,
22185
22207
  credentials: {
22186
22208
  accessKeyId: credentials.accessKeyId,
@@ -26084,7 +26106,11 @@ const INTRINSIC_KEYS = /* @__PURE__ */ new Set([
26084
26106
  ]);
26085
26107
  const IN_PLACE_UPDATE_DERIVED_ATTRS = Object.freeze({
26086
26108
  "AWS::EC2::LaunchTemplate": /* @__PURE__ */ new Set(["LatestVersionNumber", "DefaultVersionNumber"]),
26087
- "AWS::EC2::Instance": /* @__PURE__ */ new Set(["PublicIp", "PublicDnsName"])
26109
+ "AWS::EC2::Instance": /* @__PURE__ */ new Set([
26110
+ "PublicIp",
26111
+ "PublicDnsName",
26112
+ "PrivateDnsName"
26113
+ ])
26088
26114
  });
26089
26115
  const IN_PLACE_UPDATE_DERIVED_ATTR_PREFIXES = Object.freeze({ "AWS::CloudFormation::Stack": Object.freeze(["Outputs."]) });
26090
26116
  const REF_READ = "<Ref>";
@@ -28559,6 +28585,7 @@ var CloudControlProvider = class {
28559
28585
  redirected = true;
28560
28586
  const regional = new S3Client({
28561
28587
  ...awsClientDefaults(),
28588
+ ...s3ClientDefaults(),
28562
28589
  region: redirectRegion,
28563
28590
  credentials: first.config?.credentials,
28564
28591
  logger: quietS3Logger()
@@ -28608,7 +28635,7 @@ var CloudControlProvider = class {
28608
28635
  const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
28609
28636
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
28610
28637
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
28611
- const { ASGProvider } = await import("./asg-provider-4rNFSmz9.js");
28638
+ const { ASGProvider } = await import("./asg-provider-D1KLOLzB.js");
28612
28639
  const delegateRegion = ambientRegion();
28613
28640
  let asgProvider = this.asgDeleteDelegates.get(delegateRegion);
28614
28641
  if (asgProvider === void 0) {
@@ -28717,7 +28744,7 @@ var CloudControlProvider = class {
28717
28744
  const family = SDK_DELETE_FAMILIES.get(resourceType);
28718
28745
  const cached = this.sdkDeleteDelegates.get(family);
28719
28746
  if (cached !== void 0 && cached.region === ccRegion) return cached.provider;
28720
- const provider = family === "rds" ? new (await (import("./rds-provider-C8enyD9d.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-BqtKFZaE.js"))).NeptuneProvider({ region: ccRegion });
28747
+ const provider = family === "rds" ? new (await (import("./rds-provider-C6299G23.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-D4a9cJ2i.js"))).NeptuneProvider({ region: ccRegion });
28721
28748
  this.sdkDeleteDelegates.set(family, {
28722
28749
  region: ccRegion,
28723
28750
  provider
@@ -29653,6 +29680,57 @@ function maskLeavesDeep(value) {
29653
29680
  return "***";
29654
29681
  }
29655
29682
 
29683
+ // src/provisioning/providers/custom-resource-response-endpoint.ts
29684
+ const CR_S3_ENDPOINT_ENV = "CDKD_CR_S3_ENDPOINT_URL";
29685
+ function refuse(reason) {
29686
+ throw new CdkdError(`${CR_S3_ENDPOINT_ENV} ${reason}. Set it to an http:// or https:// endpoint (e.g. http://s3:4566) that the custom resource's Lambda can reach, or unset it.`, "INVALID_CR_S3_ENDPOINT_URL");
29687
+ }
29688
+ function customResourceS3Endpoint(env = process.env) {
29689
+ const raw = env[CR_S3_ENDPOINT_ENV];
29690
+ if (raw === void 0 || raw === "") return void 0;
29691
+ const value = raw.trim();
29692
+ if (value === "") refuse("is set to whitespace only");
29693
+ let parsed;
29694
+ try {
29695
+ parsed = new URL(value);
29696
+ } catch {
29697
+ refuse("is not a URL");
29698
+ }
29699
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") refuse("must use http:// or https://");
29700
+ if (parsed.username !== "" || parsed.password !== "") refuse("must not carry user info");
29701
+ if (parsed.search !== "" || parsed.hash !== "") refuse("must not carry a query or fragment");
29702
+ return {
29703
+ url: value,
29704
+ origin: parsed.origin
29705
+ };
29706
+ }
29707
+ const presignClients = /* @__PURE__ */ new WeakMap();
29708
+ function responsePresignClient(base, endpoint) {
29709
+ const cached = presignClients.get(base);
29710
+ if (cached !== void 0 && cached.url === endpoint.url) return cached.client;
29711
+ const client = buildPresignClient(base, endpoint);
29712
+ presignClients.set(base, {
29713
+ url: endpoint.url,
29714
+ client
29715
+ });
29716
+ client.catch(() => {
29717
+ if (presignClients.get(base)?.client === client) presignClients.delete(base);
29718
+ });
29719
+ return client;
29720
+ }
29721
+ async function buildPresignClient(base, endpoint) {
29722
+ const config = base.config;
29723
+ const region = typeof config?.region === "function" ? await config.region() : void 0;
29724
+ const credentials = config?.credentials;
29725
+ return new S3Client({
29726
+ ...ambientClientDefaults(),
29727
+ ...s3ClientDefaults({ explicitEndpoint: true }),
29728
+ ...typeof region === "string" && region !== "" && { region },
29729
+ ...credentials !== void 0 && { credentials },
29730
+ endpoint: endpoint.url
29731
+ });
29732
+ }
29733
+
29656
29734
  // src/state/state-bucket-lifecycle.ts
29657
29735
  const CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID = "cdkd-custom-resource-responses-expiration";
29658
29736
  const CUSTOM_RESOURCE_RESPONSE_EXPIRATION_DAYS = 1;
@@ -30504,6 +30582,15 @@ const CR_TRANSIENT_AUTHZ_LOG_SIGNALS = [
30504
30582
  "access denied"
30505
30583
  ];
30506
30584
  const CR_LOG_TAIL_WARN_MAX_CHARS = 2e3;
30585
+ const CR_RECYCLE_DESCRIPTION_PREFIX = "cdkd: recycled for IAM-propagation retry (";
30586
+ const CR_RECYCLE_RESTORE_CONFLICT_RETRIES = 2;
30587
+ const CR_RECYCLE_RESTORE_CONFLICT_WAIT_SECONDS = 60;
30588
+ const CR_RECYCLE_BUDGET_SECONDS = 240;
30589
+ const CR_RECYCLE_MIN_WAIT_SECONDS = 2;
30590
+ function recycleFunctionKey(serviceToken) {
30591
+ if (!LAMBDA_FUNCTION_ARN.test(serviceToken)) return serviceToken;
30592
+ return serviceToken.split(":").slice(0, 7).join(":");
30593
+ }
30507
30594
  const CR_AUTHZ_MAX_RETRIES_DEFAULT = 2;
30508
30595
  const CR_AUTHZ_MAX_RETRIES_CEILING = 10;
30509
30596
  const CR_ERROR_CAUSE_MAX_DEPTH = 5;
@@ -30573,6 +30660,8 @@ var CustomResourceProvider = class CustomResourceProvider {
30573
30660
  responseClientResolveInFlight = null;
30574
30661
  responseClientGeneration = 0;
30575
30662
  ownsS3Client = false;
30663
+ recycleChains = /* @__PURE__ */ new Map();
30664
+ originalDescriptions = /* @__PURE__ */ new Map();
30576
30665
  disableOuterRetry = true;
30577
30666
  SYNC_RESPONSE_TIMEOUT_MS = 3e4;
30578
30667
  asyncResponseTimeoutMs;
@@ -30928,22 +31017,95 @@ var CustomResourceProvider = class CustomResourceProvider {
30928
31017
  }
30929
31018
  async recycleBackingFunctionExecEnv(serviceToken, logicalId, mask) {
30930
31019
  if (this.isSnsServiceToken(serviceToken)) return;
31020
+ const key = recycleFunctionKey(serviceToken);
31021
+ const run = (this.recycleChains.get(key) ?? Promise.resolve()).then(() => this.recycleAndRestore(serviceToken, key, logicalId, mask));
31022
+ const tail = run.catch(() => void 0);
31023
+ this.recycleChains.set(key, tail);
31024
+ try {
31025
+ await run;
31026
+ } finally {
31027
+ if (this.recycleChains.get(key) === tail) this.recycleChains.delete(key);
31028
+ }
31029
+ }
31030
+ async recycleAndRestore(serviceToken, key, logicalId, mask) {
31031
+ const deadline = Date.now() + CR_RECYCLE_BUDGET_SECONDS * 1e3;
31032
+ const remaining = (cap) => Math.min(cap, Math.floor((deadline - Date.now()) / 1e3));
31033
+ const original = await this.readOriginalDescription(serviceToken, key, logicalId, mask);
30931
31034
  const rejections = new WaiterRejections();
30932
31035
  try {
30933
31036
  await this.lambdaClient.send(new UpdateFunctionConfigurationCommand({
30934
31037
  FunctionName: serviceToken,
30935
- Description: `cdkd: recycled for IAM-propagation retry (${logicalId})`
31038
+ Description: `${CR_RECYCLE_DESCRIPTION_PREFIX}${logicalId})`
30936
31039
  }));
30937
- await waitUntilFunctionUpdatedV2({
30938
- client: observingLambdaClient(this.lambdaClient, rejections),
30939
- maxWaitTime: 120,
30940
- minDelay: 1,
30941
- maxDelay: 5
30942
- }, { FunctionName: serviceToken });
30943
31040
  } catch (error) {
30944
- this.logger.debug(`Could not recycle backing function for ${logicalId} (${withholdWaiterPayload(error, rejections, (line) => this.logger.debug(maskerOrIdentity(mask)(line))) ?? (error instanceof Error && carriesResponseBody(error) ? `${error.name} (response body withheld)` : describeAwsFailure(error).detail)}); retrying invoke without a forced cold start`);
31041
+ this.logger.debug(safeMsg`Could not recycle backing function for ${logicalId} (${this.describeRecycleFailure(error, rejections, mask)}); retrying invoke without a forced cold start`);
31042
+ return;
31043
+ }
31044
+ try {
31045
+ await this.waitForBackingFunctionUpdated(serviceToken, rejections, remaining(120));
31046
+ } catch (error) {
31047
+ this.logger.debug(safeMsg`Could not recycle backing function for ${logicalId} (${this.describeRecycleFailure(error, rejections, mask)}); retrying invoke without a forced cold start`);
30945
31048
  this.debugWaiterRejections(logicalId, rejections);
30946
31049
  }
31050
+ if (original === void 0) {
31051
+ this.logger.debug(safeMsg`Not restoring the backing function's Description for ${logicalId}: its prior value could not be read`);
31052
+ return;
31053
+ }
31054
+ const restoreRejections = new WaiterRejections();
31055
+ for (let attempt = 0;; attempt++) try {
31056
+ await this.lambdaClient.send(new UpdateFunctionConfigurationCommand({
31057
+ FunctionName: serviceToken,
31058
+ Description: original
31059
+ }));
31060
+ break;
31061
+ } catch (error) {
31062
+ const conflictWait = remaining(CR_RECYCLE_RESTORE_CONFLICT_WAIT_SECONDS);
31063
+ if (error instanceof Error && error.name === "ResourceConflictException" && attempt < CR_RECYCLE_RESTORE_CONFLICT_RETRIES && conflictWait >= CR_RECYCLE_MIN_WAIT_SECONDS) {
31064
+ const conflictRejections = new WaiterRejections();
31065
+ try {
31066
+ await this.waitForBackingFunctionUpdated(serviceToken, conflictRejections, conflictWait);
31067
+ } catch {}
31068
+ continue;
31069
+ }
31070
+ this.logger.debug(safeMsg`Could not restore the backing function's Description after the recycle for ${logicalId} (${this.describeRecycleFailure(error, restoreRejections, mask)}); \`cdkd drift\` will report it until the function is next updated`);
31071
+ return;
31072
+ }
31073
+ const settleWait = remaining(120);
31074
+ if (settleWait < CR_RECYCLE_MIN_WAIT_SECONDS) {
31075
+ this.logger.debug(safeMsg`Restored the backing function's Description after the recycle for ${logicalId}, but the recycle's time budget ran out before the update settled`);
31076
+ return;
31077
+ }
31078
+ try {
31079
+ await this.waitForBackingFunctionUpdated(serviceToken, restoreRejections, settleWait);
31080
+ } catch (error) {
31081
+ this.logger.debug(safeMsg`Restored the backing function's Description after the recycle for ${logicalId}, but the update did not settle (${this.describeRecycleFailure(error, restoreRejections, mask)})`);
31082
+ this.debugWaiterRejections(logicalId, restoreRejections);
31083
+ }
31084
+ }
31085
+ async readOriginalDescription(serviceToken, key, logicalId, mask) {
31086
+ let current;
31087
+ try {
31088
+ const config = await this.lambdaClient.send(new GetFunctionConfigurationCommand({ FunctionName: serviceToken }));
31089
+ if (config.FunctionName !== void 0) current = config.Description ?? "";
31090
+ } catch (error) {
31091
+ this.logger.debug(safeMsg`Could not read the backing function's Description for ${logicalId} before recycling it (${this.describeRecycleFailure(error, new WaiterRejections(), mask)})`);
31092
+ }
31093
+ if (current !== void 0 && !current.startsWith(CR_RECYCLE_DESCRIPTION_PREFIX)) {
31094
+ this.originalDescriptions.set(key, current);
31095
+ return current;
31096
+ }
31097
+ return this.originalDescriptions.get(key);
31098
+ }
31099
+ async waitForBackingFunctionUpdated(serviceToken, rejections, maxWaitTime = 120) {
31100
+ await waitUntilFunctionUpdatedV2({
31101
+ client: observingLambdaClient(this.lambdaClient, rejections),
31102
+ maxWaitTime,
31103
+ minDelay: 1,
31104
+ maxDelay: 5
31105
+ }, { FunctionName: serviceToken });
31106
+ }
31107
+ describeRecycleFailure(error, rejections, mask) {
31108
+ return withholdWaiterPayload(error, rejections, (line) => this.logger.debug(maskerOrIdentity(mask)(line))) ?? (error instanceof Error && carriesResponseBody(error) ? `${error.name} (response body withheld)` : describeAwsFailure(error).detail);
30947
31109
  }
30948
31110
  debugWaiterRejections(logicalId, rejections) {
30949
31111
  for (const line of waiterRejectionDebugLines(rejections)) this.logger.debug(safeMsg`Readiness waiter for ${logicalId} observed ${line}`);
@@ -31091,6 +31253,12 @@ var CustomResourceProvider = class CustomResourceProvider {
31091
31253
  }
31092
31254
  async generateResponseURL(responseKey, logicalId, watch, mask) {
31093
31255
  if (!this.responseBucket) return "https://localhost/cfn-response-not-configured";
31256
+ let signingEndpoint;
31257
+ try {
31258
+ signingEndpoint = customResourceS3Endpoint();
31259
+ } catch (error) {
31260
+ throw markNonRetryable(error);
31261
+ }
31094
31262
  await this.ensureResponseClient();
31095
31263
  const bucket = this.responseBucket;
31096
31264
  if (this.responsePrefix === "custom-resource-responses") ensureCustomResourceResponseExpirationOnce(this.s3Client, bucket, this.logger);
@@ -31117,7 +31285,12 @@ var CustomResourceProvider = class CustomResourceProvider {
31117
31285
  Bucket: this.responseBucket,
31118
31286
  Key: responseKey
31119
31287
  });
31120
- const presignedUrl = await getSignedUrl(this.s3Client, command, { expiresIn: 7200 });
31288
+ let signer = this.s3Client;
31289
+ if (signingEndpoint !== void 0) {
31290
+ signer = await responsePresignClient(this.s3Client, signingEndpoint);
31291
+ this.logger.debug(safeMsg`Signing the custom resource ResponseURL for ${CR_S3_ENDPOINT_ENV} (${signingEndpoint.origin})`);
31292
+ }
31293
+ const presignedUrl = await getSignedUrl(signer, command, { expiresIn: 7200 });
31121
31294
  this.logger.debug(`Generated pre-signed URL for response: s3://${displaySafe(this.responseBucket, { asciiOnly: true }) || "<unrenderable>"}/${displaySafe(responseKey)}`);
31122
31295
  return presignedUrl;
31123
31296
  }
@@ -39490,9 +39663,8 @@ function deepEqual$1(a, b) {
39490
39663
  }
39491
39664
  const aObj = a;
39492
39665
  const bObj = b;
39493
- const aKeys = Object.keys(aObj);
39494
- const bKeys = Object.keys(bObj);
39495
- if (aKeys.length !== bKeys.length) return false;
39666
+ const aKeys = definedKeys(aObj);
39667
+ if (aKeys.length !== definedKeys(bObj).length) return false;
39496
39668
  for (const key of aKeys) {
39497
39669
  if (!Object.prototype.hasOwnProperty.call(bObj, key)) return false;
39498
39670
  if (!deepEqual$1(aObj[key], bObj[key])) return false;
@@ -39512,8 +39684,8 @@ function equalModuloMask(state, aws, mask) {
39512
39684
  }
39513
39685
  const aObj = a;
39514
39686
  const bObj = b;
39515
- const aKeys = Object.keys(aObj);
39516
- if (aKeys.length !== Object.keys(bObj).length) return false;
39687
+ const aKeys = definedKeys(aObj);
39688
+ if (aKeys.length !== definedKeys(bObj).length) return false;
39517
39689
  return aKeys.every((key) => Object.prototype.hasOwnProperty.call(bObj, key) && equalModuloMask(aObj[key], bObj[key], mask));
39518
39690
  }
39519
39691
  function equalModuloMarkedMask(state, aws, mask, coordinate, isMarked, isWithinMarked = isMarked) {
@@ -39533,14 +39705,14 @@ function equalModuloMarkedMask(state, aws, mask, coordinate, isMarked, isWithinM
39533
39705
  }
39534
39706
  const aObj = a;
39535
39707
  const bObj = b;
39536
- const aKeys = Object.keys(aObj);
39537
- if (aKeys.length !== Object.keys(bObj).length) return false;
39708
+ const aKeys = definedKeys(aObj);
39709
+ if (aKeys.length !== definedKeys(bObj).length) return false;
39538
39710
  return aKeys.every((key) => Object.prototype.hasOwnProperty.call(bObj, key) && equalModuloMarkedMask(aObj[key], bObj[key], mask, [...coordinate, key], isMarked, isWithinMarked));
39539
39711
  }
39540
39712
  function wholeMaskOf(value, mask) {
39541
39713
  if (value === null || value === void 0) return value;
39542
39714
  if (Array.isArray(value)) return value.map((v) => wholeMaskOf(v, mask));
39543
- if (isPlainObject$5(value)) return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, wholeMaskOf(v, mask)]));
39715
+ if (isPlainObject$5(value)) return Object.fromEntries(Object.entries(value).filter(([, v]) => v !== void 0).map(([k, v]) => [k, wholeMaskOf(v, mask)]));
39544
39716
  return mask;
39545
39717
  }
39546
39718
  function isWhollyMask$1(value, mask) {
@@ -39567,8 +39739,11 @@ function sameJson(a, b) {
39567
39739
  }
39568
39740
  const aObj = a;
39569
39741
  const bObj = b;
39570
- const keys = Object.keys(aObj);
39571
- return keys.length === Object.keys(bObj).length && keys.every((k) => Object.prototype.hasOwnProperty.call(bObj, k) && sameJson(aObj[k], bObj[k]));
39742
+ const keys = definedKeys(aObj);
39743
+ return keys.length === definedKeys(bObj).length && keys.every((k) => Object.prototype.hasOwnProperty.call(bObj, k) && sameJson(aObj[k], bObj[k]));
39744
+ }
39745
+ function definedKeys(obj) {
39746
+ return Object.keys(obj).filter((k) => obj[k] !== void 0);
39572
39747
  }
39573
39748
  function isPlainObject$5(value) {
39574
39749
  return typeof value === "object" && value !== null;
@@ -55860,4 +56035,4 @@ function sameGenerationClaimsOf(record) {
55860
56035
  }
55861
56036
 
55862
56037
  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, findSdkUnwiredProperties 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, findActionableSdkUnwired 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, withoutSdkUnwiredProperties 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-dYZ0v6Kz.js.map
56038
+ //# sourceMappingURL=deploy-engine-l-wZygYT.js.map