@go-to-k/cdkd 0.267.12 → 0.267.13

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.
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { $ as WorkGraph, $t as NestedStackChildDirectDestroyError, A as slowCcOperationTimeoutMs, At as CFN_TEMPLATE_BODY_LIMIT, B as applyRoleArnIfSet, Bt as AwsClients, C as yellow, Ct as resolveAutoAssetStorage, D as ProviderRegistry, Dt as resolveStateBucketWithDefaultAndSource, E as clearOnUpdateRemoval, Et as resolveStateBucketWithDefault, F as refStateLookupFromResource, Ft as expectedOwnerParam, G as DagBuilder, Gt as CdkdError, H as describeTypeWithThrottleRetry, Ht as resetAwsClients, I as WAFv2WebACLProvider, It as AssemblyReader, J as S3StateBackend, Jt as LocalInvokeBuildError$1, K as TemplateParser, L as normalizeAwsTagsToCfn, Lt as processStackMessages, M as isTerminationProtectionPropagationError, Mt as MIGRATE_TMP_PREFIX, N as IntrinsicFunctionResolver, Nt as findLargeInlineResources, O as findActionableSilentDrops, Ot as resolveUseCdkBootstrapAssets, P as cfnRefValueFromPhysicalId, Pt as uploadCfnTemplate, Q as stringifyValue, Qt as MissingCdkCliError, R as resolveExplicitPhysicalId, S as red, St as resolveApp, T as collectInlinePolicyNamesManagedBySiblings, Tt as resolveSkipPrefix, U as withRetry, Ut as setAwsClients, V as DiffCalculator, Vt as getAwsClients, W as isRetryableTransientError, X as shouldRetainResource, Xt as LocalStartServiceError, Y as rebuildClientForBucketRegion, Yt as LocalMigrateError, Z as AssetPublisher, _ as formatResourceLine, _t as getDockerImageBySourceHash, a as DeploymentEventsStore, an as StackTerminationProtectionError, at as BOOTSTRAP_MARKER_PREFIX, b as gray, bt as getDefaultStateBucketName, c as replayFailedOperations, ct as parseBootstrapMarker, d as IMPLICIT_DELETE_DEPENDENCIES, dn as withErrorHandling, dt as buildDockerImage, en as PartialFailureError, et as buildAssetRedirectMap, f as computeImplicitDeleteEdges, ft as formatDockerLoginError, g as renderStatefulReason, gt as AssetManifestLoader, h as isStatefulRecreateTargetSync, ht as runDockerStreaming, i as DeploymentEventsReader, in as StackHasActiveImportsError, it as AssetModeResolver, j as disableInstanceApiTermination, jt as CFN_TEMPLATE_URL_LIMIT, k as CloudControlProvider, kt as warnDeprecatedNoPrefixCliFlag, l as replayRollback, lt as validateAssetBucketName, m as MULTI_REGION_RECREATE_BLOCKED_TYPES, mt as runDockerForeground, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as ResourceTimeoutError, nt as loadPublishableAssetManifest, o as planFailedOps, ot as ensureAssetStorage, p as extractDeploymentEventError, pt as getDockerCmd, q as LockManager, r as DeployEngine, rn as ResourceUpdateNotSupportedError, rt as rewriteTemplateAssetReferences, s as planRollback, st as getBootstrapMarkerKey, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as ProvisioningError, tt as createAssetRedirectResolver, u as withResourceDeadline, un as normalizeAwsError, ut as validateContainerRepoName, v as bold, vt as Synthesizer, w as IAMRoleProvider, wt as resolveCaptureObservedState, x as green, xt as getLegacyStateBucketName, y as cyan, yt as synthesisStatusMessage, z as assertRegionMatch, zt as resolveBucketRegion } from "./deploy-engine-CqnKG1Ta.js";
2
+ import { $ as WorkGraph, $t as NestedStackChildDirectDestroyError, A as slowCcOperationTimeoutMs, At as CFN_TEMPLATE_BODY_LIMIT, B as applyRoleArnIfSet, Bt as AwsClients, C as yellow, Ct as resolveAutoAssetStorage, D as ProviderRegistry, Dt as resolveStateBucketWithDefaultAndSource, E as clearOnUpdateRemoval, Et as resolveStateBucketWithDefault, F as refStateLookupFromResource, Ft as expectedOwnerParam, G as DagBuilder, Gt as CdkdError, H as describeTypeWithThrottleRetry, Ht as resetAwsClients, I as WAFv2WebACLProvider, It as AssemblyReader, J as S3StateBackend, Jt as LocalInvokeBuildError$1, K as TemplateParser, L as normalizeAwsTagsToCfn, Lt as processStackMessages, M as isTerminationProtectionPropagationError, Mt as MIGRATE_TMP_PREFIX, N as IntrinsicFunctionResolver, Nt as findLargeInlineResources, O as findActionableSilentDrops, Ot as resolveUseCdkBootstrapAssets, P as cfnRefValueFromPhysicalId, Pt as uploadCfnTemplate, Q as stringifyValue, Qt as MissingCdkCliError, R as resolveExplicitPhysicalId, S as red, St as resolveApp, T as collectInlinePolicyNamesManagedBySiblings, Tt as resolveSkipPrefix, U as withRetry, Ut as setAwsClients, V as DiffCalculator, Vt as getAwsClients, W as isRetryableTransientError, X as shouldRetainResource, Xt as LocalStartServiceError, Y as rebuildClientForBucketRegion, Yt as LocalMigrateError, Z as AssetPublisher, _ as formatResourceLine, _t as getDockerImageBySourceHash, a as DeploymentEventsStore, an as StackTerminationProtectionError, at as BOOTSTRAP_MARKER_PREFIX, b as gray, bt as getDefaultStateBucketName, c as replayFailedOperations, ct as parseBootstrapMarker, d as IMPLICIT_DELETE_DEPENDENCIES, dn as withErrorHandling, dt as buildDockerImage, en as PartialFailureError, et as buildAssetRedirectMap, f as computeImplicitDeleteEdges, ft as formatDockerLoginError, g as renderStatefulReason, gt as AssetManifestLoader, h as isStatefulRecreateTargetSync, ht as runDockerStreaming, i as DeploymentEventsReader, in as StackHasActiveImportsError, it as AssetModeResolver, j as disableInstanceApiTermination, jt as CFN_TEMPLATE_URL_LIMIT, k as CloudControlProvider, kt as warnDeprecatedNoPrefixCliFlag, l as replayRollback, lt as validateAssetBucketName, m as MULTI_REGION_RECREATE_BLOCKED_TYPES, mt as runDockerForeground, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as ResourceTimeoutError, nt as loadPublishableAssetManifest, o as planFailedOps, ot as ensureAssetStorage, p as extractDeploymentEventError, pt as getDockerCmd, q as LockManager, r as DeployEngine, rn as ResourceUpdateNotSupportedError, rt as rewriteTemplateAssetReferences, s as planRollback, st as getBootstrapMarkerKey, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as ProvisioningError, tt as createAssetRedirectResolver, u as withResourceDeadline, un as normalizeAwsError, ut as validateContainerRepoName, v as bold, vt as Synthesizer, w as IAMRoleProvider, wt as resolveCaptureObservedState, x as green, xt as getLegacyStateBucketName, y as cyan, yt as synthesisStatusMessage, z as assertRegionMatch, zt as resolveBucketRegion } from "./deploy-engine-D1M5yCxb.js";
3
3
  import { a as getLiveRenderer, c as PATTERN_B_RESOURCE_TYPES, d as generateResourceNameWithFallback, f as withSkipPrefix, i as runStackBuffered, n as getLogger, o as PATTERN_B_NAME_OPTIONS, p as withStackName, s as PATTERN_B_NAME_PROPERTIES, u as generateResourceName } from "./logger-BYMEE-BS.js";
4
- import { t as ASGProvider } from "./asg-provider-BSt-wWnn.js";
4
+ import { t as ASGProvider } from "./asg-provider-CYG6Bl7y.js";
5
5
  import { AsyncLocalStorage } from "node:async_hooks";
6
6
  import { createHash, randomBytes, randomUUID } from "node:crypto";
7
7
  import { CopyObjectCommand, CreateBucketCommand, DeleteBucketAnalyticsConfigurationCommand, DeleteBucketCommand, DeleteBucketCorsCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectsCommand, GetBucketAccelerateConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketNotificationConfigurationCommand, GetBucketPolicyCommand, GetBucketReplicationCommand, GetBucketTaggingCommand, GetBucketVersioningCommand, GetBucketWebsiteCommand, GetObjectCommand, GetObjectLockConfigurationCommand, GetPublicAccessBlockCommand, HeadBucketCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchBucket, PutBucketAccelerateConfigurationCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectCommand, PutObjectLockConfigurationCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
@@ -39391,21 +39391,83 @@ var DLMLifecyclePolicyProvider = class {
39391
39391
  * Map the CFn property shape to the SDK input shape (shared by create and
39392
39392
  * update — every field name is PascalCase-identical). `Tags` and
39393
39393
  * `DefaultPolicy` are intentionally NOT included: create wires them
39394
- * separately (update has neither parameter).
39394
+ * separately (update has neither parameter). `!= null` (not
39395
+ * `!== undefined`) so an explicit-null template value is treated as
39396
+ * absent instead of being passed to the SDK as `null` — matches
39397
+ * `buildRemovalResets`' null normalization.
39395
39398
  */
39396
39399
  toSdkFields(properties) {
39397
39400
  return {
39398
- ...properties["ExecutionRoleArn"] !== void 0 && { ExecutionRoleArn: properties["ExecutionRoleArn"] },
39399
- ...properties["Description"] !== void 0 && { Description: properties["Description"] },
39400
- ...properties["State"] !== void 0 && { State: properties["State"] },
39401
- ...properties["PolicyDetails"] !== void 0 && { PolicyDetails: properties["PolicyDetails"] },
39402
- ...properties["CreateInterval"] !== void 0 && { CreateInterval: properties["CreateInterval"] },
39403
- ...properties["RetainInterval"] !== void 0 && { RetainInterval: properties["RetainInterval"] },
39404
- ...properties["CopyTags"] !== void 0 && { CopyTags: properties["CopyTags"] },
39405
- ...properties["ExtendDeletion"] !== void 0 && { ExtendDeletion: properties["ExtendDeletion"] },
39406
- ...properties["CrossRegionCopyTargets"] !== void 0 && { CrossRegionCopyTargets: properties["CrossRegionCopyTargets"] },
39407
- ...properties["Exclusions"] !== void 0 && { Exclusions: properties["Exclusions"] }
39408
- };
39401
+ ...properties["ExecutionRoleArn"] != null && { ExecutionRoleArn: properties["ExecutionRoleArn"] },
39402
+ ...properties["Description"] != null && { Description: properties["Description"] },
39403
+ ...properties["State"] != null && { State: properties["State"] },
39404
+ ...properties["PolicyDetails"] != null && { PolicyDetails: properties["PolicyDetails"] },
39405
+ ...properties["CreateInterval"] != null && { CreateInterval: properties["CreateInterval"] },
39406
+ ...properties["RetainInterval"] != null && { RetainInterval: properties["RetainInterval"] },
39407
+ ...properties["CopyTags"] != null && { CopyTags: properties["CopyTags"] },
39408
+ ...properties["ExtendDeletion"] != null && { ExtendDeletion: properties["ExtendDeletion"] },
39409
+ ...properties["CrossRegionCopyTargets"] != null && { CrossRegionCopyTargets: properties["CrossRegionCopyTargets"] },
39410
+ ...properties["Exclusions"] != null && { Exclusions: properties["Exclusions"] }
39411
+ };
39412
+ }
39413
+ /**
39414
+ * Removal resets for the default-policy shorthand fields (issue #1160).
39415
+ *
39416
+ * UpdateLifecyclePolicy uses merge semantics (live-probed 2026-07-27: an
39417
+ * update carrying only PolicyId retains every live value), while CFn
39418
+ * resets a property removed from the template to its default. Each
39419
+ * shorthand field is routed through `clearOnUpdateRemoval` with its
39420
+ * documented default — all live-probed as accepted AND applied (the
39421
+ * service create-defaults match: a create omitting them reads back
39422
+ * 1 / 7 / false / false):
39423
+ * CreateInterval -> 1, RetainInterval -> 7, CopyTags -> false,
39424
+ * ExtendDeletion -> false, CrossRegionCopyTargets -> [].
39425
+ * Exclusions -> the per-DefaultPolicy explicit-empty shape:
39426
+ * VOLUME -> { ExcludeBootVolumes: false, ExcludeVolumeTypes: [],
39427
+ * ExcludeTags: [] }
39428
+ * INSTANCE -> { ExcludeTags: [] } (the volume-only sub-fields are
39429
+ * rejected on IMAGE_MANAGEMENT policies — live-probed
39430
+ * "ExcludeBootVolumes cannot be enabled for the
39431
+ * following policy type {IMAGE_MANAGEMENT}")
39432
+ * (A KEPT-but-partial Exclusions object needs no handling: the API
39433
+ * replaces the whole object — live-probed, a kept object with
39434
+ * ExcludeTags dropped reads back ExcludeTags: [] — so pass-through is
39435
+ * already CFn parity at the sub-field level.)
39436
+ * These fields only exist on default policies, so the resets can only
39437
+ * fire there (a standard policy never had them in previousProperties).
39438
+ * Deferred with rationale:
39439
+ * Description — UpdateLifecyclePolicy rejects '' (live-probed
39440
+ * InvalidRequestException: "The following parameter(s) are invalid:
39441
+ * Description") and documents no clear sentinel, so there is no
39442
+ * wire shape that resets it; pass-through (keep live value) is the
39443
+ * only expressible behavior.
39444
+ * State / ExecutionRoleArn / PolicyDetails — required-on-create
39445
+ * fields with no CFn default; removal is not a meaningful template
39446
+ * operation for them.
39447
+ */
39448
+ buildRemovalResets(properties, previousProperties) {
39449
+ const resets = {};
39450
+ const createInterval = clearOnUpdateRemoval(properties["CreateInterval"] != null ? Number(properties["CreateInterval"]) : void 0, previousProperties["CreateInterval"] != null ? Number(previousProperties["CreateInterval"]) : void 0, 1);
39451
+ if (createInterval !== void 0) resets.CreateInterval = createInterval;
39452
+ const retainInterval = clearOnUpdateRemoval(properties["RetainInterval"] != null ? Number(properties["RetainInterval"]) : void 0, previousProperties["RetainInterval"] != null ? Number(previousProperties["RetainInterval"]) : void 0, 7);
39453
+ if (retainInterval !== void 0) resets.RetainInterval = retainInterval;
39454
+ const copyTags = clearOnUpdateRemoval(properties["CopyTags"] ?? void 0, previousProperties["CopyTags"] ?? void 0, false);
39455
+ if (copyTags !== void 0) resets.CopyTags = copyTags;
39456
+ const extendDeletion = clearOnUpdateRemoval(properties["ExtendDeletion"] ?? void 0, previousProperties["ExtendDeletion"] ?? void 0, false);
39457
+ if (extendDeletion !== void 0) resets.ExtendDeletion = extendDeletion;
39458
+ const crossRegionCopyTargets = clearOnUpdateRemoval(properties["CrossRegionCopyTargets"] ?? void 0, previousProperties["CrossRegionCopyTargets"] ?? void 0, []);
39459
+ if (crossRegionCopyTargets !== void 0) resets.CrossRegionCopyTargets = crossRegionCopyTargets;
39460
+ const defaultPolicy = properties["DefaultPolicy"] ?? previousProperties["DefaultPolicy"];
39461
+ const exclusionsClear = defaultPolicy === "VOLUME" ? {
39462
+ ExcludeBootVolumes: false,
39463
+ ExcludeVolumeTypes: [],
39464
+ ExcludeTags: []
39465
+ } : defaultPolicy === "INSTANCE" ? { ExcludeTags: [] } : void 0;
39466
+ if (exclusionsClear !== void 0) {
39467
+ const exclusions = clearOnUpdateRemoval(properties["Exclusions"] ?? void 0, previousProperties["Exclusions"] ?? void 0, exclusionsClear);
39468
+ if (exclusions !== void 0) resets.Exclusions = exclusions;
39469
+ }
39470
+ return resets;
39409
39471
  }
39410
39472
  /** Fetch the policy ARN (`Fn::GetAtt Arn`) for a policy id. */
39411
39473
  async fetchPolicyArn(policyId) {
@@ -39444,7 +39506,8 @@ var DLMLifecyclePolicyProvider = class {
39444
39506
  try {
39445
39507
  await this.getClient().send(new UpdateLifecyclePolicyCommand({
39446
39508
  PolicyId: physicalId,
39447
- ...this.toSdkFields(properties)
39509
+ ...this.toSdkFields(properties),
39510
+ ...this.buildRemovalResets(properties, previousProperties)
39448
39511
  }));
39449
39512
  const newTags = this.cfnTagsToMap(properties["Tags"]) ?? {};
39450
39513
  const oldTags = this.cfnTagsToMap(previousProperties["Tags"]) ?? {};
@@ -62014,7 +62077,7 @@ function createMigrateCommand() {
62014
62077
  */
62015
62078
  function buildProgram() {
62016
62079
  const program = new Command();
62017
- program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.267.12");
62080
+ program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.267.13");
62018
62081
  program.hook("preAction", (_thisCommand, actionCommand) => {
62019
62082
  const { profile } = actionCommand.optsWithGlobals();
62020
62083
  if (profile !== void 0) process.env["AWS_PROFILE"] = profile;