@go-to-k/cdkd 0.267.12 → 0.267.14
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/README.md +16 -0
- package/dist/{asg-provider-BSt-wWnn.js → asg-provider-dQRoK5OE.js} +2 -2
- package/dist/{asg-provider-BSt-wWnn.js.map → asg-provider-dQRoK5OE.js.map} +1 -1
- package/dist/cli.js +96 -29
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-CqnKG1Ta.js → deploy-engine-BbcBkfds.js} +3 -3
- package/dist/{deploy-engine-CqnKG1Ta.js.map → deploy-engine-BbcBkfds.js.map} +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
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-
|
|
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-BbcBkfds.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-
|
|
4
|
+
import { t as ASGProvider } from "./asg-provider-dQRoK5OE.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";
|
|
@@ -9055,17 +9055,18 @@ var LambdaUrlProvider = class {
|
|
|
9055
9055
|
wasReplaced: false,
|
|
9056
9056
|
attributes: {}
|
|
9057
9057
|
};
|
|
9058
|
-
const authType = properties["AuthType"] || "NONE";
|
|
9059
|
-
const cors = properties["Cors"];
|
|
9060
9058
|
const updateParams = {
|
|
9061
9059
|
FunctionName: physicalId,
|
|
9062
|
-
AuthType:
|
|
9063
|
-
};
|
|
9064
|
-
|
|
9065
|
-
if (
|
|
9066
|
-
|
|
9067
|
-
|
|
9068
|
-
|
|
9060
|
+
AuthType: properties["AuthType"] || "NONE"
|
|
9061
|
+
};
|
|
9062
|
+
const invokeMode = clearOnUpdateRemoval(properties["InvokeMode"], previousProperties["InvokeMode"], "BUFFERED");
|
|
9063
|
+
if (invokeMode !== void 0) updateParams.InvokeMode = invokeMode;
|
|
9064
|
+
const newCorsRaw = properties["Cors"];
|
|
9065
|
+
const prevCorsRaw = previousProperties["Cors"];
|
|
9066
|
+
const newCorsBuilt = newCorsRaw ? this.buildCorsConfig(newCorsRaw) : void 0;
|
|
9067
|
+
const prevCorsBuilt = prevCorsRaw ? this.buildCorsConfig(prevCorsRaw) : void 0;
|
|
9068
|
+
const corsParam = clearOnUpdateRemoval(newCorsBuilt && Object.keys(newCorsBuilt).length > 0 ? newCorsBuilt : void 0, prevCorsBuilt && Object.keys(prevCorsBuilt).length > 0 ? prevCorsBuilt : void 0, {});
|
|
9069
|
+
if (corsParam !== void 0) updateParams.Cors = corsParam;
|
|
9069
9070
|
const response = await this.lambdaClient.send(new UpdateFunctionUrlConfigCommand(updateParams));
|
|
9070
9071
|
return {
|
|
9071
9072
|
physicalId,
|
|
@@ -9189,10 +9190,13 @@ var LambdaUrlProvider = class {
|
|
|
9189
9190
|
* (`AllowOrigins: []`, `AllowMethods: []`, `AllowHeaders: []`,
|
|
9190
9191
|
* `ExposeHeaders: []`) are intentionally dropped here — emitting them
|
|
9191
9192
|
* to AWS would configure CORS with empty allowlists instead of
|
|
9192
|
-
* leaving CORS unset.
|
|
9193
|
-
*
|
|
9194
|
-
*
|
|
9195
|
-
*
|
|
9193
|
+
* leaving CORS unset. `update()` normalizes an empty build to "no CORS"
|
|
9194
|
+
* on both comparison sides (issue #1160 — an empty `Cors` object is the
|
|
9195
|
+
* live-probed CLEAR shape there, sent only on a real removal); `create()`
|
|
9196
|
+
* passes the build through as-is (template values, never placeholders,
|
|
9197
|
+
* and `Cors: {}` on create means "no CORS" per the same probe). `MaxAge`
|
|
9198
|
+
* uses `!== undefined` so the valid AWS input `MaxAge: 0` (= "do not
|
|
9199
|
+
* cache preflight responses") is preserved.
|
|
9196
9200
|
*/
|
|
9197
9201
|
buildCorsConfig(cors) {
|
|
9198
9202
|
const config = {};
|
|
@@ -39391,21 +39395,83 @@ var DLMLifecyclePolicyProvider = class {
|
|
|
39391
39395
|
* Map the CFn property shape to the SDK input shape (shared by create and
|
|
39392
39396
|
* update — every field name is PascalCase-identical). `Tags` and
|
|
39393
39397
|
* `DefaultPolicy` are intentionally NOT included: create wires them
|
|
39394
|
-
* separately (update has neither parameter).
|
|
39398
|
+
* separately (update has neither parameter). `!= null` (not
|
|
39399
|
+
* `!== undefined`) so an explicit-null template value is treated as
|
|
39400
|
+
* absent instead of being passed to the SDK as `null` — matches
|
|
39401
|
+
* `buildRemovalResets`' null normalization.
|
|
39395
39402
|
*/
|
|
39396
39403
|
toSdkFields(properties) {
|
|
39397
39404
|
return {
|
|
39398
|
-
...properties["ExecutionRoleArn"]
|
|
39399
|
-
...properties["Description"]
|
|
39400
|
-
...properties["State"]
|
|
39401
|
-
...properties["PolicyDetails"]
|
|
39402
|
-
...properties["CreateInterval"]
|
|
39403
|
-
...properties["RetainInterval"]
|
|
39404
|
-
...properties["CopyTags"]
|
|
39405
|
-
...properties["ExtendDeletion"]
|
|
39406
|
-
...properties["CrossRegionCopyTargets"]
|
|
39407
|
-
...properties["Exclusions"]
|
|
39408
|
-
};
|
|
39405
|
+
...properties["ExecutionRoleArn"] != null && { ExecutionRoleArn: properties["ExecutionRoleArn"] },
|
|
39406
|
+
...properties["Description"] != null && { Description: properties["Description"] },
|
|
39407
|
+
...properties["State"] != null && { State: properties["State"] },
|
|
39408
|
+
...properties["PolicyDetails"] != null && { PolicyDetails: properties["PolicyDetails"] },
|
|
39409
|
+
...properties["CreateInterval"] != null && { CreateInterval: properties["CreateInterval"] },
|
|
39410
|
+
...properties["RetainInterval"] != null && { RetainInterval: properties["RetainInterval"] },
|
|
39411
|
+
...properties["CopyTags"] != null && { CopyTags: properties["CopyTags"] },
|
|
39412
|
+
...properties["ExtendDeletion"] != null && { ExtendDeletion: properties["ExtendDeletion"] },
|
|
39413
|
+
...properties["CrossRegionCopyTargets"] != null && { CrossRegionCopyTargets: properties["CrossRegionCopyTargets"] },
|
|
39414
|
+
...properties["Exclusions"] != null && { Exclusions: properties["Exclusions"] }
|
|
39415
|
+
};
|
|
39416
|
+
}
|
|
39417
|
+
/**
|
|
39418
|
+
* Removal resets for the default-policy shorthand fields (issue #1160).
|
|
39419
|
+
*
|
|
39420
|
+
* UpdateLifecyclePolicy uses merge semantics (live-probed 2026-07-27: an
|
|
39421
|
+
* update carrying only PolicyId retains every live value), while CFn
|
|
39422
|
+
* resets a property removed from the template to its default. Each
|
|
39423
|
+
* shorthand field is routed through `clearOnUpdateRemoval` with its
|
|
39424
|
+
* documented default — all live-probed as accepted AND applied (the
|
|
39425
|
+
* service create-defaults match: a create omitting them reads back
|
|
39426
|
+
* 1 / 7 / false / false):
|
|
39427
|
+
* CreateInterval -> 1, RetainInterval -> 7, CopyTags -> false,
|
|
39428
|
+
* ExtendDeletion -> false, CrossRegionCopyTargets -> [].
|
|
39429
|
+
* Exclusions -> the per-DefaultPolicy explicit-empty shape:
|
|
39430
|
+
* VOLUME -> { ExcludeBootVolumes: false, ExcludeVolumeTypes: [],
|
|
39431
|
+
* ExcludeTags: [] }
|
|
39432
|
+
* INSTANCE -> { ExcludeTags: [] } (the volume-only sub-fields are
|
|
39433
|
+
* rejected on IMAGE_MANAGEMENT policies — live-probed
|
|
39434
|
+
* "ExcludeBootVolumes cannot be enabled for the
|
|
39435
|
+
* following policy type {IMAGE_MANAGEMENT}")
|
|
39436
|
+
* (A KEPT-but-partial Exclusions object needs no handling: the API
|
|
39437
|
+
* replaces the whole object — live-probed, a kept object with
|
|
39438
|
+
* ExcludeTags dropped reads back ExcludeTags: [] — so pass-through is
|
|
39439
|
+
* already CFn parity at the sub-field level.)
|
|
39440
|
+
* These fields only exist on default policies, so the resets can only
|
|
39441
|
+
* fire there (a standard policy never had them in previousProperties).
|
|
39442
|
+
* Deferred with rationale:
|
|
39443
|
+
* Description — UpdateLifecyclePolicy rejects '' (live-probed
|
|
39444
|
+
* InvalidRequestException: "The following parameter(s) are invalid:
|
|
39445
|
+
* Description") and documents no clear sentinel, so there is no
|
|
39446
|
+
* wire shape that resets it; pass-through (keep live value) is the
|
|
39447
|
+
* only expressible behavior.
|
|
39448
|
+
* State / ExecutionRoleArn / PolicyDetails — required-on-create
|
|
39449
|
+
* fields with no CFn default; removal is not a meaningful template
|
|
39450
|
+
* operation for them.
|
|
39451
|
+
*/
|
|
39452
|
+
buildRemovalResets(properties, previousProperties) {
|
|
39453
|
+
const resets = {};
|
|
39454
|
+
const createInterval = clearOnUpdateRemoval(properties["CreateInterval"] != null ? Number(properties["CreateInterval"]) : void 0, previousProperties["CreateInterval"] != null ? Number(previousProperties["CreateInterval"]) : void 0, 1);
|
|
39455
|
+
if (createInterval !== void 0) resets.CreateInterval = createInterval;
|
|
39456
|
+
const retainInterval = clearOnUpdateRemoval(properties["RetainInterval"] != null ? Number(properties["RetainInterval"]) : void 0, previousProperties["RetainInterval"] != null ? Number(previousProperties["RetainInterval"]) : void 0, 7);
|
|
39457
|
+
if (retainInterval !== void 0) resets.RetainInterval = retainInterval;
|
|
39458
|
+
const copyTags = clearOnUpdateRemoval(properties["CopyTags"] ?? void 0, previousProperties["CopyTags"] ?? void 0, false);
|
|
39459
|
+
if (copyTags !== void 0) resets.CopyTags = copyTags;
|
|
39460
|
+
const extendDeletion = clearOnUpdateRemoval(properties["ExtendDeletion"] ?? void 0, previousProperties["ExtendDeletion"] ?? void 0, false);
|
|
39461
|
+
if (extendDeletion !== void 0) resets.ExtendDeletion = extendDeletion;
|
|
39462
|
+
const crossRegionCopyTargets = clearOnUpdateRemoval(properties["CrossRegionCopyTargets"] ?? void 0, previousProperties["CrossRegionCopyTargets"] ?? void 0, []);
|
|
39463
|
+
if (crossRegionCopyTargets !== void 0) resets.CrossRegionCopyTargets = crossRegionCopyTargets;
|
|
39464
|
+
const defaultPolicy = properties["DefaultPolicy"] ?? previousProperties["DefaultPolicy"];
|
|
39465
|
+
const exclusionsClear = defaultPolicy === "VOLUME" ? {
|
|
39466
|
+
ExcludeBootVolumes: false,
|
|
39467
|
+
ExcludeVolumeTypes: [],
|
|
39468
|
+
ExcludeTags: []
|
|
39469
|
+
} : defaultPolicy === "INSTANCE" ? { ExcludeTags: [] } : void 0;
|
|
39470
|
+
if (exclusionsClear !== void 0) {
|
|
39471
|
+
const exclusions = clearOnUpdateRemoval(properties["Exclusions"] ?? void 0, previousProperties["Exclusions"] ?? void 0, exclusionsClear);
|
|
39472
|
+
if (exclusions !== void 0) resets.Exclusions = exclusions;
|
|
39473
|
+
}
|
|
39474
|
+
return resets;
|
|
39409
39475
|
}
|
|
39410
39476
|
/** Fetch the policy ARN (`Fn::GetAtt Arn`) for a policy id. */
|
|
39411
39477
|
async fetchPolicyArn(policyId) {
|
|
@@ -39444,7 +39510,8 @@ var DLMLifecyclePolicyProvider = class {
|
|
|
39444
39510
|
try {
|
|
39445
39511
|
await this.getClient().send(new UpdateLifecyclePolicyCommand({
|
|
39446
39512
|
PolicyId: physicalId,
|
|
39447
|
-
...this.toSdkFields(properties)
|
|
39513
|
+
...this.toSdkFields(properties),
|
|
39514
|
+
...this.buildRemovalResets(properties, previousProperties)
|
|
39448
39515
|
}));
|
|
39449
39516
|
const newTags = this.cfnTagsToMap(properties["Tags"]) ?? {};
|
|
39450
39517
|
const oldTags = this.cfnTagsToMap(previousProperties["Tags"]) ?? {};
|
|
@@ -62014,7 +62081,7 @@ function createMigrateCommand() {
|
|
|
62014
62081
|
*/
|
|
62015
62082
|
function buildProgram() {
|
|
62016
62083
|
const program = new Command();
|
|
62017
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.267.
|
|
62084
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.267.14");
|
|
62018
62085
|
program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
62019
62086
|
const { profile } = actionCommand.optsWithGlobals();
|
|
62020
62087
|
if (profile !== void 0) process.env["AWS_PROFILE"] = profile;
|