@go-to-k/cdkd 0.278.42 → 0.278.44
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/{asg-provider-mwqciloR.js → asg-provider-kBhbMF94.js} +2 -2
- package/dist/{asg-provider-mwqciloR.js.map → asg-provider-kBhbMF94.js.map} +1 -1
- package/dist/cli.js +64 -11
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-DxexHYwK.js → deploy-engine-CsxvH0hP.js} +3 -3
- package/dist/{deploy-engine-DxexHYwK.js.map → deploy-engine-CsxvH0hP.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 DiffCalculator, $t as resolveBucketRegion, A as red, At as getDockerImageBySourceHash, B as isTerminationProtectionPropagationError, Bt as resolveStateBucketWithDefaultAndSource, C as isStatefulRecreateTargetSync, Ct as validateContainerRepoName, D as cyan, Dt as runDockerForeground, E as bold, En as withErrorHandling, Et as getDockerCmd, F as ProviderRegistry, Ft as resolveApp, G as normalizeAwsTagsToCfn, Gt as CFN_TEMPLATE_URL_LIMIT, H as cfnRefValueFromPhysicalId, Ht as stateBucketExistenceConfirmed, I as findActionableSilentDrops, It as resolveAutoAssetStorage, J as readConfigString, Jt as uploadCfnTemplate, K as resolveExplicitPhysicalId, Kt as MIGRATE_TMP_PREFIX, L as CloudControlProvider, Lt as resolveCaptureObservedState, M as IAMRoleProvider, Mt as synthesisStatusMessage, N as collectInlinePolicyNamesManagedBySiblings, Nt as getDefaultStateBucketName, O as gray, Ot as runDockerStreaming, P as clearOnUpdateRemoval, Pt as getLegacyStateBucketName, Q as applyRoleArnIfSet, R as slowCcOperationTimeoutMs, Rt as resolveSkipPrefix, S as MULTI_REGION_RECREATE_BLOCKED_TYPES, St as validateAssetBucketName, T as formatResourceLine, Tn as normalizeAwsError, Tt as formatDockerLoginError, U as refStateLookupFromResource, Ut as warnDeprecatedNoPrefixCliFlag, V as IntrinsicFunctionResolver, Vt as resolveUseCdkBootstrapAssets, W as WAFv2WebACLProvider, Wt as CFN_TEMPLATE_BODY_LIMIT, X as requireConfigArray, Xt as AssemblyReader, Y as replayWarn, Yt as expectedOwnerParam, Z as requireConfigString, Zt as processStackMessages, _ as createPreDeleteFinalSnapshot, _n as ResourceTimeoutError, _t as AssetModeResolver, a as DeploymentEventsStore, an as CdkdError, at as TemplateParser, b as unsupportedFinalSnapshotError, bn as StackTerminationProtectionError, bt as getBootstrapMarkerKey, c as replayFailedOperations, cn as DeployCancelledError, ct as rebuildClientForBucketRegion, d as IMPLICIT_DELETE_DEPENDENCIES, dn as LocalStartServiceError, dt as stringifyValue, en as AwsClients, et as describeTypeWithThrottleRetry, f as computeImplicitDeleteEdges, ft as WorkGraph, g as ccRoutedFinalSnapshotError, gn as ProvisioningError, gt as rewriteTemplateAssetReferences, h as buildFinalSnapshotIdentifier, hn as PartialFailureError, ht as loadPublishableAssetManifest, i as DeploymentEventsReader, it as DagBuilder, j as yellow, jt as Synthesizer, k as green, kt as AssetManifestLoader, l as replayRollback, ln as LocalInvokeBuildError$1, lt as shouldRetainResource, m as PRE_DELETE_SNAPSHOT_TYPES, mn as NestedStackChildDirectDestroyError, mt as createAssetRedirectResolver, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as resetAwsClients, nt as isRetryableTransientError, o as planFailedOps, ot as LockManager, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as MissingCdkCliError, pt as buildAssetRedirectMap, q as assertRegionMatch, qt as findLargeInlineResources, r as DeployEngine, rn as setAwsClients, rt as isThrottlingError, s as planRollback, st as S3StateBackend, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as getAwsClients, tt as withRetry, u as withResourceDeadline, un as LocalMigrateError, ut as AssetPublisher, v as isFinalSnapshotError, vn as ResourceUpdateNotSupportedError, vt as BOOTSTRAP_MARKER_PREFIX, w as renderStatefulReason, wt as buildDockerImage, x as extractDeploymentEventError, xt as parseBootstrapMarker, y as refusesFinalSnapshot, yn as StackHasActiveImportsError, yt as ensureAssetStorage, z as disableInstanceApiTermination, zt as resolveStateBucketWithDefault } from "./deploy-engine-
|
|
2
|
+
import { $ as DiffCalculator, $t as resolveBucketRegion, A as red, At as getDockerImageBySourceHash, B as isTerminationProtectionPropagationError, Bt as resolveStateBucketWithDefaultAndSource, C as isStatefulRecreateTargetSync, Ct as validateContainerRepoName, D as cyan, Dt as runDockerForeground, E as bold, En as withErrorHandling, Et as getDockerCmd, F as ProviderRegistry, Ft as resolveApp, G as normalizeAwsTagsToCfn, Gt as CFN_TEMPLATE_URL_LIMIT, H as cfnRefValueFromPhysicalId, Ht as stateBucketExistenceConfirmed, I as findActionableSilentDrops, It as resolveAutoAssetStorage, J as readConfigString, Jt as uploadCfnTemplate, K as resolveExplicitPhysicalId, Kt as MIGRATE_TMP_PREFIX, L as CloudControlProvider, Lt as resolveCaptureObservedState, M as IAMRoleProvider, Mt as synthesisStatusMessage, N as collectInlinePolicyNamesManagedBySiblings, Nt as getDefaultStateBucketName, O as gray, Ot as runDockerStreaming, P as clearOnUpdateRemoval, Pt as getLegacyStateBucketName, Q as applyRoleArnIfSet, R as slowCcOperationTimeoutMs, Rt as resolveSkipPrefix, S as MULTI_REGION_RECREATE_BLOCKED_TYPES, St as validateAssetBucketName, T as formatResourceLine, Tn as normalizeAwsError, Tt as formatDockerLoginError, U as refStateLookupFromResource, Ut as warnDeprecatedNoPrefixCliFlag, V as IntrinsicFunctionResolver, Vt as resolveUseCdkBootstrapAssets, W as WAFv2WebACLProvider, Wt as CFN_TEMPLATE_BODY_LIMIT, X as requireConfigArray, Xt as AssemblyReader, Y as replayWarn, Yt as expectedOwnerParam, Z as requireConfigString, Zt as processStackMessages, _ as createPreDeleteFinalSnapshot, _n as ResourceTimeoutError, _t as AssetModeResolver, a as DeploymentEventsStore, an as CdkdError, at as TemplateParser, b as unsupportedFinalSnapshotError, bn as StackTerminationProtectionError, bt as getBootstrapMarkerKey, c as replayFailedOperations, cn as DeployCancelledError, ct as rebuildClientForBucketRegion, d as IMPLICIT_DELETE_DEPENDENCIES, dn as LocalStartServiceError, dt as stringifyValue, en as AwsClients, et as describeTypeWithThrottleRetry, f as computeImplicitDeleteEdges, ft as WorkGraph, g as ccRoutedFinalSnapshotError, gn as ProvisioningError, gt as rewriteTemplateAssetReferences, h as buildFinalSnapshotIdentifier, hn as PartialFailureError, ht as loadPublishableAssetManifest, i as DeploymentEventsReader, it as DagBuilder, j as yellow, jt as Synthesizer, k as green, kt as AssetManifestLoader, l as replayRollback, ln as LocalInvokeBuildError$1, lt as shouldRetainResource, m as PRE_DELETE_SNAPSHOT_TYPES, mn as NestedStackChildDirectDestroyError, mt as createAssetRedirectResolver, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as resetAwsClients, nt as isRetryableTransientError, o as planFailedOps, ot as LockManager, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as MissingCdkCliError, pt as buildAssetRedirectMap, q as assertRegionMatch, qt as findLargeInlineResources, r as DeployEngine, rn as setAwsClients, rt as isThrottlingError, s as planRollback, st as S3StateBackend, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as getAwsClients, tt as withRetry, u as withResourceDeadline, un as LocalMigrateError, ut as AssetPublisher, v as isFinalSnapshotError, vn as ResourceUpdateNotSupportedError, vt as BOOTSTRAP_MARKER_PREFIX, w as renderStatefulReason, wt as buildDockerImage, x as extractDeploymentEventError, xt as parseBootstrapMarker, y as refusesFinalSnapshot, yn as StackHasActiveImportsError, yt as ensureAssetStorage, z as disableInstanceApiTermination, zt as resolveStateBucketWithDefault } from "./deploy-engine-CsxvH0hP.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-kBhbMF94.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, DeleteBucketEncryptionCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketOwnershipControlsCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectsCommand, GetBucketAccelerateConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketNotificationConfigurationCommand, GetBucketOwnershipControlsCommand, GetBucketPolicyCommand, GetBucketReplicationCommand, GetBucketTaggingCommand, GetBucketVersioningCommand, GetBucketWebsiteCommand, GetObjectCommand, GetObjectLockConfigurationCommand, GetPublicAccessBlockCommand, HeadBucketCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, 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";
|
|
@@ -32105,6 +32105,24 @@ var ElastiCacheProvider = class {
|
|
|
32105
32105
|
//#endregion
|
|
32106
32106
|
//#region src/provisioning/providers/servicediscovery-provider.ts
|
|
32107
32107
|
/**
|
|
32108
|
+
* Reset targets for a REMOVED `Properties.DnsProperties.SOA.TTL` (issue
|
|
32109
|
+
* #1160, servicediscovery batch). The Update*Namespace change objects MERGE
|
|
32110
|
+
* (an absent field keeps the live value), so the provider must send the
|
|
32111
|
+
* reset explicitly to mirror CloudFormation — and the default TTL is
|
|
32112
|
+
* PER KIND, not shared:
|
|
32113
|
+
* - PublicDnsNamespace: 60. Live CFn A/B 2026-08-11 (removing the SOA
|
|
32114
|
+
* block reset the customized 300 back to 60) + raw-SDK create-default
|
|
32115
|
+
* probe (a namespace created without Properties reports TTL 60).
|
|
32116
|
+
* - PrivateDnsNamespace: 15. Raw-SDK create-default probe 2026-08-11 (a
|
|
32117
|
+
* namespace created without Properties reports TTL 15 — matching the
|
|
32118
|
+
* PR #201-era live observation recorded on the create path below) +
|
|
32119
|
+
* live CFn A/B 2026-08-11 on the private kind itself.
|
|
32120
|
+
* Removing `Description` clears it entirely on every kind (the `''`
|
|
32121
|
+
* sentinel; live A/B'd on all three kinds).
|
|
32122
|
+
*/
|
|
32123
|
+
const PUBLIC_DNS_NAMESPACE_DEFAULT_SOA_TTL = 60;
|
|
32124
|
+
const PRIVATE_DNS_NAMESPACE_DEFAULT_SOA_TTL = 15;
|
|
32125
|
+
/**
|
|
32108
32126
|
* AWS Service Discovery Provider
|
|
32109
32127
|
*
|
|
32110
32128
|
* Implements resource provisioning for:
|
|
@@ -32242,13 +32260,20 @@ var ServiceDiscoveryProvider = class ServiceDiscoveryProvider {
|
|
|
32242
32260
|
*
|
|
32243
32261
|
* Empty-string Description is intentionally allowed through (`!== undefined`
|
|
32244
32262
|
* gate, not truthy) so `cdkd drift --revert` can clear a console-side ADD.
|
|
32263
|
+
*
|
|
32264
|
+
* Removal resets (issue #1160): the change object MERGES (absent = "no
|
|
32265
|
+
* change"), so a Description / SOA.TTL REMOVED from the template must be
|
|
32266
|
+
* reset explicitly — Description via the `''` clear sentinel, TTL to the
|
|
32267
|
+
* kind's Cloud Map default ({@link PRIVATE_DNS_NAMESPACE_DEFAULT_SOA_TTL}) —
|
|
32268
|
+
* the CFn-parity shape, live A/B'd 2026-08-11 on the private kind itself.
|
|
32245
32269
|
*/
|
|
32246
32270
|
async updateNamespace(logicalId, physicalId, resourceType, properties, previousProperties) {
|
|
32247
32271
|
this.logger.debug(`Updating private DNS namespace ${logicalId}: ${physicalId}`);
|
|
32248
32272
|
const client = this.getClient();
|
|
32249
32273
|
const namespaceChange = {};
|
|
32250
|
-
|
|
32251
|
-
|
|
32274
|
+
const description = clearOnUpdateRemoval(properties["Description"], previousProperties["Description"], "");
|
|
32275
|
+
if (description !== void 0) namespaceChange.Description = description;
|
|
32276
|
+
const soaProperties = this.resolveSoaTtlChange(properties, previousProperties, PRIVATE_DNS_NAMESPACE_DEFAULT_SOA_TTL);
|
|
32252
32277
|
if (soaProperties) namespaceChange.Properties = soaProperties;
|
|
32253
32278
|
try {
|
|
32254
32279
|
if (Object.keys(namespaceChange).length > 0) {
|
|
@@ -32335,13 +32360,19 @@ var ServiceDiscoveryProvider = class ServiceDiscoveryProvider {
|
|
|
32335
32360
|
* Empty-string Description is intentionally allowed through
|
|
32336
32361
|
* (`!== undefined` gate, not truthy) so `cdkd drift --revert` can clear a
|
|
32337
32362
|
* console-side ADD.
|
|
32363
|
+
*
|
|
32364
|
+
* Removal reset (issue #1160): `HttpNamespaceChange` MERGES conceptually
|
|
32365
|
+
* (skipping the call keeps the live value), so a Description REMOVED from
|
|
32366
|
+
* the template must be cleared explicitly via the `''` sentinel — the
|
|
32367
|
+
* CFn-parity shape, live A/B'd 2026-08-11 on this exact kind.
|
|
32338
32368
|
*/
|
|
32339
32369
|
async updateHttpNamespace(logicalId, physicalId, resourceType, properties, previousProperties) {
|
|
32340
32370
|
this.logger.debug(`Updating HTTP namespace ${logicalId}: ${physicalId}`);
|
|
32341
32371
|
const client = this.getClient();
|
|
32372
|
+
const description = clearOnUpdateRemoval(properties["Description"], previousProperties["Description"], "");
|
|
32342
32373
|
try {
|
|
32343
|
-
if (
|
|
32344
|
-
const namespaceChange = { Description:
|
|
32374
|
+
if (description !== void 0) {
|
|
32375
|
+
const namespaceChange = { Description: description };
|
|
32345
32376
|
const operationId = (await client.send(new UpdateHttpNamespaceCommand({
|
|
32346
32377
|
Id: physicalId,
|
|
32347
32378
|
Namespace: namespaceChange
|
|
@@ -32410,13 +32441,20 @@ var ServiceDiscoveryProvider = class ServiceDiscoveryProvider {
|
|
|
32410
32441
|
* `Properties.DnsProperties.SOA.TTL`. `Name` is createOnly — replacement
|
|
32411
32442
|
* is routed through DELETE+CREATE upstream. Tags ride on the separate
|
|
32412
32443
|
* `TagResource` / `UntagResource` APIs (see {@link syncNamespaceTags}).
|
|
32444
|
+
*
|
|
32445
|
+
* Removal resets (issue #1160): the change object MERGES (absent = "no
|
|
32446
|
+
* change"), so a Description / SOA.TTL REMOVED from the template must be
|
|
32447
|
+
* reset explicitly — Description via the `''` clear sentinel, TTL to the
|
|
32448
|
+
* kind's Cloud Map default ({@link PUBLIC_DNS_NAMESPACE_DEFAULT_SOA_TTL}) —
|
|
32449
|
+
* the CFn-parity shape, live A/B'd 2026-08-11 on this exact kind.
|
|
32413
32450
|
*/
|
|
32414
32451
|
async updatePublicDnsNamespace(logicalId, physicalId, resourceType, properties, previousProperties) {
|
|
32415
32452
|
this.logger.debug(`Updating public DNS namespace ${logicalId}: ${physicalId}`);
|
|
32416
32453
|
const client = this.getClient();
|
|
32417
32454
|
const namespaceChange = {};
|
|
32418
|
-
|
|
32419
|
-
|
|
32455
|
+
const description = clearOnUpdateRemoval(properties["Description"], previousProperties["Description"], "");
|
|
32456
|
+
if (description !== void 0) namespaceChange.Description = description;
|
|
32457
|
+
const soaProperties = this.resolveSoaTtlChange(properties, previousProperties, PUBLIC_DNS_NAMESPACE_DEFAULT_SOA_TTL);
|
|
32420
32458
|
if (soaProperties) namespaceChange.Properties = soaProperties;
|
|
32421
32459
|
try {
|
|
32422
32460
|
if (Object.keys(namespaceChange).length > 0) {
|
|
@@ -32595,6 +32633,20 @@ var ServiceDiscoveryProvider = class ServiceDiscoveryProvider {
|
|
|
32595
32633
|
return soa?.TTL !== void 0 ? { DnsProperties: { SOA: { TTL: Number(soa.TTL) } } } : void 0;
|
|
32596
32634
|
}
|
|
32597
32635
|
/**
|
|
32636
|
+
* Resolve the SOA-TTL entry for an Update*Namespace change object,
|
|
32637
|
+
* including the REMOVAL reset (issue #1160): a TTL present in the desired
|
|
32638
|
+
* template passes through; a TTL absent from the desired template but
|
|
32639
|
+
* present in the previous one is reset to the Cloud Map default
|
|
32640
|
+
* the caller-supplied per-kind default (the CFn-parity shape — the change
|
|
32641
|
+
* object merges, so skipping it would silently keep the customized TTL).
|
|
32642
|
+
* Never-present stays absent (no change entry).
|
|
32643
|
+
*/
|
|
32644
|
+
resolveSoaTtlChange(properties, previousProperties, defaultTtl) {
|
|
32645
|
+
const desired = this.extractSoaTtlProperties(properties);
|
|
32646
|
+
if (desired) return desired;
|
|
32647
|
+
if (this.extractSoaTtlProperties(previousProperties)) return { DnsProperties: { SOA: { TTL: defaultTtl } } };
|
|
32648
|
+
}
|
|
32649
|
+
/**
|
|
32598
32650
|
* Resolve a namespace's ARN — authoritative via `GetNamespace`, with a
|
|
32599
32651
|
* deterministic STS-based construction as fallback so a transient read
|
|
32600
32652
|
* failure right after create does not fail the whole resource.
|
|
@@ -37941,7 +37993,8 @@ var EFSProvider = class {
|
|
|
37941
37993
|
const newProvisioned = properties["ProvisionedThroughputInMibps"];
|
|
37942
37994
|
const oldThroughputMode = previousProperties["ThroughputMode"];
|
|
37943
37995
|
const oldProvisioned = previousProperties["ProvisionedThroughputInMibps"];
|
|
37944
|
-
const
|
|
37996
|
+
const effectiveThroughputMode = newThroughputMode === void 0 && newProvisioned === void 0 && oldThroughputMode === "provisioned" ? "bursting" : newThroughputMode;
|
|
37997
|
+
const throughputModeChanged = effectiveThroughputMode !== void 0 && effectiveThroughputMode !== oldThroughputMode;
|
|
37945
37998
|
const provisionedChanged = newProvisioned !== void 0 && newProvisioned !== oldProvisioned;
|
|
37946
37999
|
const changed = (key) => JSON.stringify(properties[key]) !== JSON.stringify(previousProperties[key]);
|
|
37947
38000
|
const lifecycleChanged = changed("LifecyclePolicies");
|
|
@@ -37960,7 +38013,7 @@ var EFSProvider = class {
|
|
|
37960
38013
|
if (throughputModeChanged || provisionedChanged) {
|
|
37961
38014
|
await this.getClient().send(new UpdateFileSystemCommand({
|
|
37962
38015
|
FileSystemId: physicalId,
|
|
37963
|
-
...throughputModeChanged && { ThroughputMode:
|
|
38016
|
+
...throughputModeChanged && { ThroughputMode: effectiveThroughputMode },
|
|
37964
38017
|
...provisionedChanged && { ProvisionedThroughputInMibps: newProvisioned }
|
|
37965
38018
|
}));
|
|
37966
38019
|
await this.waitForFileSystemAvailable(physicalId, logicalId, resourceType);
|
|
@@ -67351,7 +67404,7 @@ function createMigrateCommand() {
|
|
|
67351
67404
|
*/
|
|
67352
67405
|
function buildProgram() {
|
|
67353
67406
|
const program = new Command();
|
|
67354
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.278.
|
|
67407
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.278.44");
|
|
67355
67408
|
program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
67356
67409
|
const { profile } = actionCommand.optsWithGlobals();
|
|
67357
67410
|
if (profile !== void 0) process.env["AWS_PROFILE"] = profile;
|