@go-to-k/cdkd 0.280.36 → 0.280.38
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 +4 -0
- package/dist/{asg-provider-DeR16ts4.js → asg-provider-CVra7Nuk.js} +2 -2
- package/dist/{asg-provider-DeR16ts4.js.map → asg-provider-CVra7Nuk.js.map} +1 -1
- package/dist/cli.js +91 -34
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-BcorBRVN.js → deploy-engine-B3a5MhON.js} +3 -3
- package/dist/{deploy-engine-BcorBRVN.js.map → deploy-engine-B3a5MhON.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 requireConfigObject, $t as AssemblyReader, A as green, At as runDockerForeground, B as disableInstanceApiTermination, Bt as resolveCaptureObservedState, C as MULTI_REGION_RECREATE_BLOCKED_TYPES, Cn as StackTerminationProtectionError, Ct as getBootstrapMarkerKey, D as bold, Dt as buildDockerImage, E as formatResourceLine, Et as validateContainerRepoName, F as clearOnUpdateRemoval, Ft as synthesisStatusMessage, G as WAFv2WebACLProvider, Gt as stateBucketExistenceConfirmed, H as IntrinsicFunctionResolver, Ht as resolveStateBucketWithDefault, I as ProviderRegistry, It as getDefaultStateBucketName, J as assertRegionMatch, Jt as CFN_TEMPLATE_URL_LIMIT, K as normalizeAwsTagsToCfn, Kt as warnDeprecatedNoPrefixCliFlag, L as findActionableSilentDrops, Lt as getLegacyStateBucketName, M as yellow, Mt as AssetManifestLoader, N as IAMRoleProvider, Nt as getDockerImageBySourceHash, O as cyan, On as normalizeAwsError, Ot as formatDockerLoginError, P as collectInlinePolicyNamesManagedBySiblings, Pt as Synthesizer, Q as requireConfigArray, Qt as expectedOwnerParam, R as CloudControlProvider, Rt as resolveApp, S as extractDeploymentEventError, Sn as StackHasActiveImportsError, St as ensureAssetStorage, T as renderStatefulReason, Tt as validateAssetBucketName, U as cfnRefValueFromPhysicalId, Ut as resolveStateBucketWithDefaultAndSource, V as isTerminationProtectionPropagationError, Vt as resolveSkipPrefix, W as refStateLookupFromResource, Wt as resolveUseCdkBootstrapAssets, X as readConfigString, Xt as findLargeInlineResources, Y as configStringRefusal, Yt as MIGRATE_TMP_PREFIX, Z as replayWarn, Zt as uploadCfnTemplate, _ as createPreDeleteFinalSnapshot, _n as NestedStackChildDirectDestroyError, _t as createAssetRedirectResolver, a as DeploymentEventsStore, an as resetAwsClients, at as isRetryableTransientError, b as unsupportedFinalSnapshotError, bn as ResourceTimeoutError, bt as AssetModeResolver, c as replayFailedOperations, cn as CdkdError, ct as TemplateParser, d as IMPLICIT_DELETE_DEPENDENCIES, dn as DeployCancelledError, dt as rebuildClientForBucketRegion, en as processStackMessages, et as requireConfigString, f as computeImplicitDeleteEdges, fn as LocalInvokeBuildError$1, ft as shouldRetainResource, g as ccRoutedFinalSnapshotError, gn as MissingCdkCliError, gt as buildAssetRedirectMap, h as buildFinalSnapshotIdentifier, ht as WorkGraph, i as DeploymentEventsReader, in as getAwsClients, it as withRetry, j as red, jt as runDockerStreaming, k as gray, kn as withErrorHandling, kt as getDockerCmd, l as replayRollback, lt as LockManager, m as PRE_DELETE_SNAPSHOT_TYPES, mn as LocalStartServiceError, mt as stringifyValue, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as resolveBucketRegion, nt as DiffCalculator, o as planFailedOps, on as setAwsClients, ot as isThrottlingError, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as LocalMigrateError, pt as AssetPublisher, q as resolveExplicitPhysicalId, qt as CFN_TEMPLATE_BODY_LIMIT, r as DeployEngine, rn as AwsClients, rt as describeTypeWithThrottleRetry, s as planRollback, st as DagBuilder, t as DEFAULT_RESOURCE_TIMEOUT_MS, tt as applyRoleArnIfSet, u as withResourceDeadline, ut as S3StateBackend, v as isFinalSnapshotError, vn as PartialFailureError, vt as loadPublishableAssetManifest, w as isStatefulRecreateTargetSync, wt as parseBootstrapMarker, x as makeCanonicalizePropertiesFn, xn as ResourceUpdateNotSupportedError, xt as BOOTSTRAP_MARKER_PREFIX, y as refusesFinalSnapshot, yn as ProvisioningError, yt as rewriteTemplateAssetReferences, z as slowCcOperationTimeoutMs, zt as resolveAutoAssetStorage } from "./deploy-engine-
|
|
2
|
+
import { $ as requireConfigObject, $t as AssemblyReader, A as green, At as runDockerForeground, B as disableInstanceApiTermination, Bt as resolveCaptureObservedState, C as MULTI_REGION_RECREATE_BLOCKED_TYPES, Cn as StackTerminationProtectionError, Ct as getBootstrapMarkerKey, D as bold, Dt as buildDockerImage, E as formatResourceLine, Et as validateContainerRepoName, F as clearOnUpdateRemoval, Ft as synthesisStatusMessage, G as WAFv2WebACLProvider, Gt as stateBucketExistenceConfirmed, H as IntrinsicFunctionResolver, Ht as resolveStateBucketWithDefault, I as ProviderRegistry, It as getDefaultStateBucketName, J as assertRegionMatch, Jt as CFN_TEMPLATE_URL_LIMIT, K as normalizeAwsTagsToCfn, Kt as warnDeprecatedNoPrefixCliFlag, L as findActionableSilentDrops, Lt as getLegacyStateBucketName, M as yellow, Mt as AssetManifestLoader, N as IAMRoleProvider, Nt as getDockerImageBySourceHash, O as cyan, On as normalizeAwsError, Ot as formatDockerLoginError, P as collectInlinePolicyNamesManagedBySiblings, Pt as Synthesizer, Q as requireConfigArray, Qt as expectedOwnerParam, R as CloudControlProvider, Rt as resolveApp, S as extractDeploymentEventError, Sn as StackHasActiveImportsError, St as ensureAssetStorage, T as renderStatefulReason, Tt as validateAssetBucketName, U as cfnRefValueFromPhysicalId, Ut as resolveStateBucketWithDefaultAndSource, V as isTerminationProtectionPropagationError, Vt as resolveSkipPrefix, W as refStateLookupFromResource, Wt as resolveUseCdkBootstrapAssets, X as readConfigString, Xt as findLargeInlineResources, Y as configStringRefusal, Yt as MIGRATE_TMP_PREFIX, Z as replayWarn, Zt as uploadCfnTemplate, _ as createPreDeleteFinalSnapshot, _n as NestedStackChildDirectDestroyError, _t as createAssetRedirectResolver, a as DeploymentEventsStore, an as resetAwsClients, at as isRetryableTransientError, b as unsupportedFinalSnapshotError, bn as ResourceTimeoutError, bt as AssetModeResolver, c as replayFailedOperations, cn as CdkdError, ct as TemplateParser, d as IMPLICIT_DELETE_DEPENDENCIES, dn as DeployCancelledError, dt as rebuildClientForBucketRegion, en as processStackMessages, et as requireConfigString, f as computeImplicitDeleteEdges, fn as LocalInvokeBuildError$1, ft as shouldRetainResource, g as ccRoutedFinalSnapshotError, gn as MissingCdkCliError, gt as buildAssetRedirectMap, h as buildFinalSnapshotIdentifier, ht as WorkGraph, i as DeploymentEventsReader, in as getAwsClients, it as withRetry, j as red, jt as runDockerStreaming, k as gray, kn as withErrorHandling, kt as getDockerCmd, l as replayRollback, lt as LockManager, m as PRE_DELETE_SNAPSHOT_TYPES, mn as LocalStartServiceError, mt as stringifyValue, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as resolveBucketRegion, nt as DiffCalculator, o as planFailedOps, on as setAwsClients, ot as isThrottlingError, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as LocalMigrateError, pt as AssetPublisher, q as resolveExplicitPhysicalId, qt as CFN_TEMPLATE_BODY_LIMIT, r as DeployEngine, rn as AwsClients, rt as describeTypeWithThrottleRetry, s as planRollback, st as DagBuilder, t as DEFAULT_RESOURCE_TIMEOUT_MS, tt as applyRoleArnIfSet, u as withResourceDeadline, ut as S3StateBackend, v as isFinalSnapshotError, vn as PartialFailureError, vt as loadPublishableAssetManifest, w as isStatefulRecreateTargetSync, wt as parseBootstrapMarker, x as makeCanonicalizePropertiesFn, xn as ResourceUpdateNotSupportedError, xt as BOOTSTRAP_MARKER_PREFIX, y as refusesFinalSnapshot, yn as ProvisioningError, yt as rewriteTemplateAssetReferences, z as slowCcOperationTimeoutMs, zt as resolveAutoAssetStorage } from "./deploy-engine-B3a5MhON.js";
|
|
3
3
|
import { a as getLiveRenderer, c as PATTERN_B_RESOURCE_TYPES, d as generateResourceNameWithFallback, h as withStackName, i as runStackBuffered, m as withSkipPrefix, n as getLogger, o as PATTERN_B_NAME_OPTIONS, s as PATTERN_B_NAME_PROPERTIES, u as generateResourceName } from "./logger-zRrlbaQt.js";
|
|
4
|
-
import { t as ASGProvider } from "./asg-provider-
|
|
4
|
+
import { t as ASGProvider } from "./asg-provider-CVra7Nuk.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";
|
|
@@ -37371,6 +37371,55 @@ var AppSyncProvider = class {
|
|
|
37371
37371
|
//#endregion
|
|
37372
37372
|
//#region src/provisioning/providers/glue-provider.ts
|
|
37373
37373
|
/**
|
|
37374
|
+
* Read a template-borne value that is about to be forwarded to a Glue read
|
|
37375
|
+
* API as a string.
|
|
37376
|
+
*
|
|
37377
|
+
* `import()` runs against the RAW template, where `substituteOverrideRefs`
|
|
37378
|
+
* has resolved only the `Ref`s whose target is in the overrides map — a
|
|
37379
|
+
* pseudo parameter is never in that map, so `CatalogId: {Ref: AWS::AccountId}`
|
|
37380
|
+
* (what `@aws-cdk/aws-glue-alpha` renders for an environment-agnostic stack)
|
|
37381
|
+
* survives as an OBJECT. A bare `as string` cast then hands that object to
|
|
37382
|
+
* `GetTable` / `GetDatabase` as if it were an id. Dropping it instead matches
|
|
37383
|
+
* the API default (the caller's own account), which is what the intrinsic
|
|
37384
|
+
* would have resolved to anyway.
|
|
37385
|
+
*/
|
|
37386
|
+
function importableString(value) {
|
|
37387
|
+
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
37388
|
+
}
|
|
37389
|
+
function resolveTableIdentity(input) {
|
|
37390
|
+
const { knownPhysicalId, templateDatabaseName, templateTableName } = input;
|
|
37391
|
+
let databaseName;
|
|
37392
|
+
let tableName;
|
|
37393
|
+
if (knownPhysicalId === void 0) {
|
|
37394
|
+
databaseName = templateDatabaseName;
|
|
37395
|
+
tableName = templateTableName;
|
|
37396
|
+
} else if (knownPhysicalId.includes("|")) {
|
|
37397
|
+
const parts = knownPhysicalId.split("|");
|
|
37398
|
+
if (parts.length !== 2) return {
|
|
37399
|
+
ok: false,
|
|
37400
|
+
reason: "pipe-in-name"
|
|
37401
|
+
};
|
|
37402
|
+
databaseName = parts[0] || void 0;
|
|
37403
|
+
tableName = parts[1] || void 0;
|
|
37404
|
+
} else {
|
|
37405
|
+
databaseName = templateDatabaseName;
|
|
37406
|
+
tableName = importableString(knownPhysicalId);
|
|
37407
|
+
}
|
|
37408
|
+
if (databaseName === void 0 || tableName === void 0) return {
|
|
37409
|
+
ok: false,
|
|
37410
|
+
reason: knownPhysicalId === void 0 ? "unidentified" : "unpairable"
|
|
37411
|
+
};
|
|
37412
|
+
if (databaseName.includes("|") || tableName.includes("|")) return {
|
|
37413
|
+
ok: false,
|
|
37414
|
+
reason: "pipe-in-name"
|
|
37415
|
+
};
|
|
37416
|
+
return {
|
|
37417
|
+
ok: true,
|
|
37418
|
+
databaseName,
|
|
37419
|
+
tableName
|
|
37420
|
+
};
|
|
37421
|
+
}
|
|
37422
|
+
/**
|
|
37374
37423
|
* SDK Provider for AWS Glue resources
|
|
37375
37424
|
*
|
|
37376
37425
|
* Supports:
|
|
@@ -38000,8 +38049,8 @@ var GlueProvider = class {
|
|
|
38000
38049
|
}
|
|
38001
38050
|
}
|
|
38002
38051
|
async importDatabase(input) {
|
|
38003
|
-
const explicitName = input.knownPhysicalId ?? input.properties["DatabaseInput"]?.["Name"];
|
|
38004
|
-
const catalogId = input.properties["CatalogId"];
|
|
38052
|
+
const explicitName = input.knownPhysicalId ?? importableString(input.properties["DatabaseInput"]?.["Name"]);
|
|
38053
|
+
const catalogId = importableString(input.properties["CatalogId"]);
|
|
38005
38054
|
if (explicitName) try {
|
|
38006
38055
|
await this.getClient().send(new GetDatabaseCommand({
|
|
38007
38056
|
Name: explicitName,
|
|
@@ -38018,42 +38067,42 @@ var GlueProvider = class {
|
|
|
38018
38067
|
return null;
|
|
38019
38068
|
}
|
|
38020
38069
|
async importTable(input) {
|
|
38021
|
-
const databaseName = input.properties["DatabaseName"];
|
|
38022
|
-
const
|
|
38023
|
-
const
|
|
38024
|
-
|
|
38025
|
-
|
|
38026
|
-
|
|
38027
|
-
|
|
38028
|
-
|
|
38029
|
-
|
|
38030
|
-
|
|
38031
|
-
|
|
38032
|
-
|
|
38033
|
-
|
|
38034
|
-
|
|
38035
|
-
|
|
38036
|
-
|
|
38037
|
-
|
|
38038
|
-
|
|
38039
|
-
throw err;
|
|
38070
|
+
const databaseName = importableString(input.properties["DatabaseName"]);
|
|
38071
|
+
const tableInput = input.properties["TableInput"];
|
|
38072
|
+
const templateTableName = importableString(tableInput?.["Name"]);
|
|
38073
|
+
const catalogId = importableString(input.properties["CatalogId"]);
|
|
38074
|
+
const identity = resolveTableIdentity({
|
|
38075
|
+
knownPhysicalId: input.knownPhysicalId,
|
|
38076
|
+
templateDatabaseName: databaseName,
|
|
38077
|
+
templateTableName
|
|
38078
|
+
});
|
|
38079
|
+
if (!identity.ok) {
|
|
38080
|
+
switch (identity.reason) {
|
|
38081
|
+
case "pipe-in-name":
|
|
38082
|
+
this.logger.warn(`AWS::Glue::Table ${input.logicalId}: cannot be imported because a name contains '|', which cdkd currently uses as the separator in this type's physical id (<databaseName>|<tableName>). Adopting it would record an id cdkd cannot decode back to the same table. CloudFormation manages such a table fine; this is a cdkd limitation tracked in https://github.com/go-to-k/cdkd/issues/1672. Until it is lifted, rename the table or database to omit '|', or manage this resource outside cdkd.`);
|
|
38083
|
+
break;
|
|
38084
|
+
case "unpairable":
|
|
38085
|
+
this.logger.warn(`AWS::Glue::Table ${input.logicalId}: cannot resolve a database for physical id '${input.knownPhysicalId}'. ` + (input.knownPhysicalId === "" ? `The supplied physical id is empty. ` : "The template's DatabaseName is absent or is an unresolved intrinsic, so the bare table name cannot be paired. ") + `Pass the composite form instead: --resource '${input.logicalId}=<databaseName>|<tableName>' (quote it — '|' is a shell pipe).`);
|
|
38086
|
+
break;
|
|
38087
|
+
case "unidentified": break;
|
|
38040
38088
|
}
|
|
38089
|
+
return null;
|
|
38041
38090
|
}
|
|
38042
|
-
|
|
38091
|
+
const { databaseName: dbName, tableName: tName } = identity;
|
|
38092
|
+
try {
|
|
38043
38093
|
await this.getClient().send(new GetTableCommand({
|
|
38044
|
-
DatabaseName:
|
|
38045
|
-
Name:
|
|
38094
|
+
DatabaseName: dbName,
|
|
38095
|
+
Name: tName,
|
|
38046
38096
|
...catalogId && { CatalogId: catalogId }
|
|
38047
38097
|
}));
|
|
38048
38098
|
return {
|
|
38049
|
-
physicalId: `${
|
|
38099
|
+
physicalId: `${dbName}|${tName}`,
|
|
38050
38100
|
attributes: {}
|
|
38051
38101
|
};
|
|
38052
38102
|
} catch (err) {
|
|
38053
38103
|
if (err instanceof EntityNotFoundException) return null;
|
|
38054
38104
|
throw err;
|
|
38055
38105
|
}
|
|
38056
|
-
return null;
|
|
38057
38106
|
}
|
|
38058
38107
|
};
|
|
38059
38108
|
/**
|
|
@@ -61130,9 +61179,12 @@ async function importCommand(stackArg, options) {
|
|
|
61130
61179
|
useCdkBootstrapAssets: resolveUseCdkBootstrapAssets(options.useCdkBootstrapAssets),
|
|
61131
61180
|
suppressLegacyNotice: true
|
|
61132
61181
|
})(stackInfo.assetManifestPath, targetRegion);
|
|
61182
|
+
let stateTemplate = stackInfo.template;
|
|
61133
61183
|
if (assetRedirect) {
|
|
61184
|
+
stateTemplate = structuredClone(stackInfo.template);
|
|
61134
61185
|
const rewritten = rewriteTemplateAssetReferences(stackInfo.template, assetRedirect);
|
|
61135
61186
|
logger.debug(`Rewrote ${rewritten} asset reference(s) to cdkd asset storage in template of stack ${stackInfo.stackName}`);
|
|
61187
|
+
if (rewritten > 0) logger.info(`Note: ${rewritten} asset reference(s) in stack ${stackInfo.stackName} are recorded in state at their pre-rewrite (CDK bootstrap) values, so the next 'cdkd deploy' repoints any resource that still holds them to cdkd asset storage.`);
|
|
61136
61188
|
}
|
|
61137
61189
|
const overrides = parseResourceOverrides(options.resource, options.resourceMapping, options.resourceMappingInline);
|
|
61138
61190
|
if (overrides.size > 0) logger.debug(`User-supplied physical IDs: ${[...overrides.keys()].join(", ")}`);
|
|
@@ -61246,8 +61298,8 @@ async function importCommand(stackArg, options) {
|
|
|
61246
61298
|
return;
|
|
61247
61299
|
}
|
|
61248
61300
|
}
|
|
61249
|
-
const stackState = buildStackState(stackInfo.stackName, targetRegion, rows, templateParser,
|
|
61250
|
-
await resolveImportedProperties(stackState,
|
|
61301
|
+
const stackState = buildStackState(stackInfo.stackName, targetRegion, rows, templateParser, stateTemplate, existingState, selectiveMode);
|
|
61302
|
+
await resolveImportedProperties(stackState, stateTemplate, targetRegion, stateBackend, logger);
|
|
61251
61303
|
await captureObservedForImportedResources(stackState, providerRegistry, logger);
|
|
61252
61304
|
const saveOptions = {};
|
|
61253
61305
|
if (existingEtag) saveOptions.expectedEtag = existingEtag;
|
|
@@ -61904,7 +61956,12 @@ async function importNestedStackChildrenRecursive(args) {
|
|
|
61904
61956
|
if (!childTemplatePath) throw new Error(`cdkd import --migrate-from-cloudformation: missing nested-template path for '${childLogicalId}' under parent '${parentStackName}' — validateNestedStackShape should have rejected this; please file a bug.`);
|
|
61905
61957
|
logger.info(`Adopting nested stack '${childLogicalId}' as cdkd stack '${childStackName}' (${childRegion})...`);
|
|
61906
61958
|
const childTemplate = readNestedChildTemplate(childTemplatePath, childLogicalId);
|
|
61907
|
-
|
|
61959
|
+
let childStateTemplate = childTemplate;
|
|
61960
|
+
if (assetRedirect) {
|
|
61961
|
+
childStateTemplate = structuredClone(childTemplate);
|
|
61962
|
+
const childRewritten = rewriteTemplateAssetReferences(childTemplate, assetRedirect);
|
|
61963
|
+
if (childRewritten > 0) logger.info(`Note: ${childRewritten} asset reference(s) in nested stack ${childStackName} are recorded in state at their pre-rewrite (CDK bootstrap) values, so the next 'cdkd deploy' repoints any resource that still holds them to cdkd asset storage.`);
|
|
61964
|
+
}
|
|
61908
61965
|
await lockManager.acquireLock(childStackName, childRegion, lockOwner, "import");
|
|
61909
61966
|
try {
|
|
61910
61967
|
const childResources = collectImportableResources(childTemplate);
|
|
@@ -61938,11 +61995,11 @@ async function importNestedStackChildrenRecursive(args) {
|
|
|
61938
61995
|
});
|
|
61939
61996
|
rows.push(outcome);
|
|
61940
61997
|
}
|
|
61941
|
-
const childStackState = buildStackState(childStackName, childRegion, rows, templateParser,
|
|
61998
|
+
const childStackState = buildStackState(childStackName, childRegion, rows, templateParser, childStateTemplate, null, false);
|
|
61942
61999
|
childStackState.parentStack = parentStackName;
|
|
61943
62000
|
childStackState.parentLogicalId = childLogicalId;
|
|
61944
62001
|
childStackState.parentRegion = parentRegion;
|
|
61945
|
-
await resolveImportedProperties(childStackState,
|
|
62002
|
+
await resolveImportedProperties(childStackState, childStateTemplate, childRegion, stateBackend, logger);
|
|
61946
62003
|
await captureObservedForImportedResources(childStackState, providerRegistry, logger);
|
|
61947
62004
|
await stateBackend.saveState(childStackName, childRegion, childStackState);
|
|
61948
62005
|
logger.info(`✓ Nested stack state written: ${childStackName} (${childRegion}) — ${rows.filter((r) => r.outcome === "imported").length} resource(s) imported.`);
|
|
@@ -71517,7 +71574,7 @@ function createMigrateCommand() {
|
|
|
71517
71574
|
*/
|
|
71518
71575
|
function buildProgram() {
|
|
71519
71576
|
const program = new Command();
|
|
71520
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.280.
|
|
71577
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.280.38");
|
|
71521
71578
|
program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
71522
71579
|
const { profile } = actionCommand.optsWithGlobals();
|
|
71523
71580
|
if (profile !== void 0) process.env["AWS_PROFILE"] = profile;
|