@go-to-k/cdkd 0.278.1 → 0.278.2
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-CaViRSIU.js → asg-provider-D2NA5UuZ.js} +2 -2
- package/dist/{asg-provider-CaViRSIU.js.map → asg-provider-D2NA5UuZ.js.map} +1 -1
- package/dist/cli.js +198 -11
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-BLJ1_r55.js → deploy-engine-CunQFmO7.js} +3 -3
- package/dist/{deploy-engine-BLJ1_r55.js.map → deploy-engine-CunQFmO7.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 DagBuilder, A as red, At as resolveApp, B as isTerminationProtectionPropagationError, Bt as CFN_TEMPLATE_URL_LIMIT, C as isStatefulRecreateTargetSync, Ct as runDockerStreaming, D as cyan, Dt as synthesisStatusMessage, E as bold, Et as Synthesizer, F as ProviderRegistry, Ft as resolveStateBucketWithDefaultAndSource, G as normalizeAwsTagsToCfn, Gt as AssemblyReader, H as cfnRefValueFromPhysicalId, Ht as findLargeInlineResources, I as findActionableSilentDrops, It as resolveUseCdkBootstrapAssets, J as applyRoleArnIfSet, Jt as resolveBucketRegion, K as resolveExplicitPhysicalId, Kt as processStackMessages, L as CloudControlProvider, Lt as stateBucketExistenceConfirmed, M as IAMRoleProvider, Mt as resolveCaptureObservedState, N as collectInlinePolicyNamesManagedBySiblings, Nt as resolveSkipPrefix, O as gray, Ot as getDefaultStateBucketName, P as clearOnUpdateRemoval, Pt as resolveStateBucketWithDefault, Q as isRetryableTransientError, Qt as setAwsClients, R as slowCcOperationTimeoutMs, Rt as warnDeprecatedNoPrefixCliFlag, S as MULTI_REGION_RECREATE_BLOCKED_TYPES, St as runDockerForeground, T as formatResourceLine, Tt as getDockerImageBySourceHash, U as refStateLookupFromResource, Ut as uploadCfnTemplate, V as IntrinsicFunctionResolver, Vt as MIGRATE_TMP_PREFIX, W as WAFv2WebACLProvider, Wt as expectedOwnerParam, X as describeTypeWithThrottleRetry, Xt as getAwsClients, Y as DiffCalculator, Yt as AwsClients, Z as withRetry, Zt as resetAwsClients, _ as createPreDeleteFinalSnapshot, _t as validateAssetBucketName, a as DeploymentEventsStore, an as LocalMigrateError, at as AssetPublisher, b as unsupportedFinalSnapshotError, bn as normalizeAwsError, bt as formatDockerLoginError, c as replayFailedOperations, cn as MissingCdkCliError, ct as buildAssetRedirectMap, d as IMPLICIT_DELETE_DEPENDENCIES, dn as ProvisioningError, dt as rewriteTemplateAssetReferences, en as CdkdError, et as TemplateParser, f as computeImplicitDeleteEdges, fn as ResourceTimeoutError, ft as AssetModeResolver, g as ccRoutedFinalSnapshotError, gt as parseBootstrapMarker, h as buildFinalSnapshotIdentifier, hn as StackTerminationProtectionError, ht as getBootstrapMarkerKey, i as DeploymentEventsReader, in as LocalInvokeBuildError$1, it as shouldRetainResource, j as yellow, jt as resolveAutoAssetStorage, k as green, kt as getLegacyStateBucketName, l as replayRollback, ln as NestedStackChildDirectDestroyError, lt as createAssetRedirectResolver, m as PRE_DELETE_SNAPSHOT_TYPES, mn as StackHasActiveImportsError, mt as ensureAssetStorage, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nt as S3StateBackend, o as planFailedOps, on as LocalStartServiceError, ot as stringifyValue, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as ResourceUpdateNotSupportedError, pt as BOOTSTRAP_MARKER_PREFIX, q as assertRegionMatch, r as DeployEngine, rn as DeployCancelledError, rt as rebuildClientForBucketRegion, s as planRollback, st as WorkGraph, t as DEFAULT_RESOURCE_TIMEOUT_MS, tt as LockManager, u as withResourceDeadline, un as PartialFailureError, ut as loadPublishableAssetManifest, v as isFinalSnapshotError, vt as validateContainerRepoName, w as renderStatefulReason, wt as AssetManifestLoader, x as extractDeploymentEventError, xn as withErrorHandling, xt as getDockerCmd, y as refusesFinalSnapshot, yt as buildDockerImage, z as disableInstanceApiTermination, zt as CFN_TEMPLATE_BODY_LIMIT } from "./deploy-engine-
|
|
2
|
+
import { $ as DagBuilder, A as red, At as resolveApp, B as isTerminationProtectionPropagationError, Bt as CFN_TEMPLATE_URL_LIMIT, C as isStatefulRecreateTargetSync, Ct as runDockerStreaming, D as cyan, Dt as synthesisStatusMessage, E as bold, Et as Synthesizer, F as ProviderRegistry, Ft as resolveStateBucketWithDefaultAndSource, G as normalizeAwsTagsToCfn, Gt as AssemblyReader, H as cfnRefValueFromPhysicalId, Ht as findLargeInlineResources, I as findActionableSilentDrops, It as resolveUseCdkBootstrapAssets, J as applyRoleArnIfSet, Jt as resolveBucketRegion, K as resolveExplicitPhysicalId, Kt as processStackMessages, L as CloudControlProvider, Lt as stateBucketExistenceConfirmed, M as IAMRoleProvider, Mt as resolveCaptureObservedState, N as collectInlinePolicyNamesManagedBySiblings, Nt as resolveSkipPrefix, O as gray, Ot as getDefaultStateBucketName, P as clearOnUpdateRemoval, Pt as resolveStateBucketWithDefault, Q as isRetryableTransientError, Qt as setAwsClients, R as slowCcOperationTimeoutMs, Rt as warnDeprecatedNoPrefixCliFlag, S as MULTI_REGION_RECREATE_BLOCKED_TYPES, St as runDockerForeground, T as formatResourceLine, Tt as getDockerImageBySourceHash, U as refStateLookupFromResource, Ut as uploadCfnTemplate, V as IntrinsicFunctionResolver, Vt as MIGRATE_TMP_PREFIX, W as WAFv2WebACLProvider, Wt as expectedOwnerParam, X as describeTypeWithThrottleRetry, Xt as getAwsClients, Y as DiffCalculator, Yt as AwsClients, Z as withRetry, Zt as resetAwsClients, _ as createPreDeleteFinalSnapshot, _t as validateAssetBucketName, a as DeploymentEventsStore, an as LocalMigrateError, at as AssetPublisher, b as unsupportedFinalSnapshotError, bn as normalizeAwsError, bt as formatDockerLoginError, c as replayFailedOperations, cn as MissingCdkCliError, ct as buildAssetRedirectMap, d as IMPLICIT_DELETE_DEPENDENCIES, dn as ProvisioningError, dt as rewriteTemplateAssetReferences, en as CdkdError, et as TemplateParser, f as computeImplicitDeleteEdges, fn as ResourceTimeoutError, ft as AssetModeResolver, g as ccRoutedFinalSnapshotError, gt as parseBootstrapMarker, h as buildFinalSnapshotIdentifier, hn as StackTerminationProtectionError, ht as getBootstrapMarkerKey, i as DeploymentEventsReader, in as LocalInvokeBuildError$1, it as shouldRetainResource, j as yellow, jt as resolveAutoAssetStorage, k as green, kt as getLegacyStateBucketName, l as replayRollback, ln as NestedStackChildDirectDestroyError, lt as createAssetRedirectResolver, m as PRE_DELETE_SNAPSHOT_TYPES, mn as StackHasActiveImportsError, mt as ensureAssetStorage, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nt as S3StateBackend, o as planFailedOps, on as LocalStartServiceError, ot as stringifyValue, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as ResourceUpdateNotSupportedError, pt as BOOTSTRAP_MARKER_PREFIX, q as assertRegionMatch, r as DeployEngine, rn as DeployCancelledError, rt as rebuildClientForBucketRegion, s as planRollback, st as WorkGraph, t as DEFAULT_RESOURCE_TIMEOUT_MS, tt as LockManager, u as withResourceDeadline, un as PartialFailureError, ut as loadPublishableAssetManifest, v as isFinalSnapshotError, vt as validateContainerRepoName, w as renderStatefulReason, wt as AssetManifestLoader, x as extractDeploymentEventError, xn as withErrorHandling, xt as getDockerCmd, y as refusesFinalSnapshot, yt as buildDockerImage, z as disableInstanceApiTermination, zt as CFN_TEMPLATE_BODY_LIMIT } from "./deploy-engine-CunQFmO7.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-D2NA5UuZ.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";
|
|
@@ -14790,6 +14790,112 @@ var EventBridgeRuleProvider = class {
|
|
|
14790
14790
|
this.eventBridgeClient = awsClients.eventBridge;
|
|
14791
14791
|
}
|
|
14792
14792
|
/**
|
|
14793
|
+
* Convert each target's CFn-shaped `EcsParameters` to the SDK shape
|
|
14794
|
+
* (issue #1381). The `AWS::Events::Rule` schema and
|
|
14795
|
+
* `@aws-sdk/client-eventbridge` diverge on several ECS sub-shape
|
|
14796
|
+
* spellings, and the SDK serializer silently drops unknown keys — a
|
|
14797
|
+
* Fargate target's `NetworkConfiguration.AwsVpcConfiguration` never
|
|
14798
|
+
* reached AWS, so PutTargets rejected with "Parameter
|
|
14799
|
+
* NetworkConfiguration must be specified".
|
|
14800
|
+
*/
|
|
14801
|
+
toSdkTargets(targets) {
|
|
14802
|
+
return targets.map((target) => {
|
|
14803
|
+
const ecs = target["EcsParameters"];
|
|
14804
|
+
if (!ecs) return target;
|
|
14805
|
+
return {
|
|
14806
|
+
...target,
|
|
14807
|
+
EcsParameters: this.toSdkEcsParameters(ecs)
|
|
14808
|
+
};
|
|
14809
|
+
});
|
|
14810
|
+
}
|
|
14811
|
+
toSdkEcsParameters(ecs) {
|
|
14812
|
+
const result = { ...ecs };
|
|
14813
|
+
const network = result["NetworkConfiguration"];
|
|
14814
|
+
if (network && network["AwsVpcConfiguration"] !== void 0) {
|
|
14815
|
+
const { AwsVpcConfiguration, ...restNetwork } = network;
|
|
14816
|
+
result["NetworkConfiguration"] = {
|
|
14817
|
+
...restNetwork,
|
|
14818
|
+
awsvpcConfiguration: AwsVpcConfiguration
|
|
14819
|
+
};
|
|
14820
|
+
}
|
|
14821
|
+
if (result["TagList"] !== void 0) {
|
|
14822
|
+
result["Tags"] = result["TagList"];
|
|
14823
|
+
delete result["TagList"];
|
|
14824
|
+
}
|
|
14825
|
+
if (Array.isArray(result["PlacementStrategies"])) {
|
|
14826
|
+
result["PlacementStrategy"] = result["PlacementStrategies"].map((item) => this.lowerCaseItemKeys(item, ["Type", "Field"]));
|
|
14827
|
+
delete result["PlacementStrategies"];
|
|
14828
|
+
}
|
|
14829
|
+
if (Array.isArray(result["PlacementConstraints"])) result["PlacementConstraints"] = result["PlacementConstraints"].map((item) => this.lowerCaseItemKeys(item, ["Type", "Expression"]));
|
|
14830
|
+
if (Array.isArray(result["CapacityProviderStrategy"])) result["CapacityProviderStrategy"] = result["CapacityProviderStrategy"].map((item) => this.lowerCaseItemKeys(item, [
|
|
14831
|
+
"CapacityProvider",
|
|
14832
|
+
"Weight",
|
|
14833
|
+
"Base"
|
|
14834
|
+
]));
|
|
14835
|
+
return result;
|
|
14836
|
+
}
|
|
14837
|
+
/**
|
|
14838
|
+
* Inverse of {@link toSdkEcsParameters} for `readCurrentState`:
|
|
14839
|
+
* ListTargetsByRule returns the SDK spellings, but drift compares the
|
|
14840
|
+
* whole `Targets` array against state's CFn spellings — without the
|
|
14841
|
+
* re-map every ECS Fargate rule target would report phantom drift on
|
|
14842
|
+
* `AwsVpcConfiguration` / `TagList` / `PlacementStrategies` under the
|
|
14843
|
+
* `properties`-fallback baseline.
|
|
14844
|
+
*/
|
|
14845
|
+
toCfnTargets(targets) {
|
|
14846
|
+
return targets.map((target) => {
|
|
14847
|
+
const ecs = target["EcsParameters"];
|
|
14848
|
+
if (!ecs) return target;
|
|
14849
|
+
return {
|
|
14850
|
+
...target,
|
|
14851
|
+
EcsParameters: this.toCfnEcsParameters(ecs)
|
|
14852
|
+
};
|
|
14853
|
+
});
|
|
14854
|
+
}
|
|
14855
|
+
toCfnEcsParameters(ecs) {
|
|
14856
|
+
const result = { ...ecs };
|
|
14857
|
+
const network = result["NetworkConfiguration"];
|
|
14858
|
+
if (network && network["awsvpcConfiguration"] !== void 0) {
|
|
14859
|
+
const { awsvpcConfiguration, ...restNetwork } = network;
|
|
14860
|
+
result["NetworkConfiguration"] = {
|
|
14861
|
+
...restNetwork,
|
|
14862
|
+
AwsVpcConfiguration: awsvpcConfiguration
|
|
14863
|
+
};
|
|
14864
|
+
}
|
|
14865
|
+
if (result["Tags"] !== void 0) {
|
|
14866
|
+
result["TagList"] = result["Tags"];
|
|
14867
|
+
delete result["Tags"];
|
|
14868
|
+
}
|
|
14869
|
+
if (Array.isArray(result["PlacementStrategy"])) {
|
|
14870
|
+
result["PlacementStrategies"] = result["PlacementStrategy"].map((item) => this.renameItemKeys(item, ["type", "field"], "upper"));
|
|
14871
|
+
delete result["PlacementStrategy"];
|
|
14872
|
+
}
|
|
14873
|
+
if (Array.isArray(result["PlacementConstraints"])) result["PlacementConstraints"] = result["PlacementConstraints"].map((item) => this.renameItemKeys(item, ["type", "expression"], "upper"));
|
|
14874
|
+
if (Array.isArray(result["CapacityProviderStrategy"])) result["CapacityProviderStrategy"] = result["CapacityProviderStrategy"].map((item) => this.renameItemKeys(item, [
|
|
14875
|
+
"capacityProvider",
|
|
14876
|
+
"weight",
|
|
14877
|
+
"base"
|
|
14878
|
+
], "upper"));
|
|
14879
|
+
return result;
|
|
14880
|
+
}
|
|
14881
|
+
lowerCaseItemKeys(item, keys) {
|
|
14882
|
+
return this.renameItemKeys(item, keys, "lower");
|
|
14883
|
+
}
|
|
14884
|
+
/**
|
|
14885
|
+
* Flip the first letter's case on the listed keys of one array item
|
|
14886
|
+
* (`Type` <-> `type`, `CapacityProvider` <-> `capacityProvider`); keys
|
|
14887
|
+
* not listed (or absent) pass through unchanged.
|
|
14888
|
+
*/
|
|
14889
|
+
renameItemKeys(item, keys, direction) {
|
|
14890
|
+
const result = { ...item };
|
|
14891
|
+
for (const key of keys) if (result[key] !== void 0) {
|
|
14892
|
+
const flipped = direction === "lower" ? key.charAt(0).toLowerCase() + key.slice(1) : key.charAt(0).toUpperCase() + key.slice(1);
|
|
14893
|
+
result[flipped] = result[key];
|
|
14894
|
+
delete result[key];
|
|
14895
|
+
}
|
|
14896
|
+
return result;
|
|
14897
|
+
}
|
|
14898
|
+
/**
|
|
14793
14899
|
* Create an EventBridge rule
|
|
14794
14900
|
*/
|
|
14795
14901
|
async create(logicalId, resourceType, properties) {
|
|
@@ -14813,7 +14919,7 @@ var EventBridgeRuleProvider = class {
|
|
|
14813
14919
|
await this.eventBridgeClient.send(new PutTargetsCommand({
|
|
14814
14920
|
Rule: ruleName,
|
|
14815
14921
|
EventBusName: eventBusName,
|
|
14816
|
-
Targets: targets
|
|
14922
|
+
Targets: this.toSdkTargets(targets)
|
|
14817
14923
|
}));
|
|
14818
14924
|
this.logger.debug(`Added ${targets.length} targets to rule ${ruleName}`);
|
|
14819
14925
|
}
|
|
@@ -14881,7 +14987,7 @@ var EventBridgeRuleProvider = class {
|
|
|
14881
14987
|
await this.eventBridgeClient.send(new PutTargetsCommand({
|
|
14882
14988
|
Rule: ruleName,
|
|
14883
14989
|
EventBusName: eventBusName,
|
|
14884
|
-
Targets: newTargets
|
|
14990
|
+
Targets: this.toSdkTargets(newTargets)
|
|
14885
14991
|
}));
|
|
14886
14992
|
this.logger.debug(`Updated ${newTargets.length} targets on rule ${ruleName}`);
|
|
14887
14993
|
}
|
|
@@ -15014,10 +15120,11 @@ var EventBridgeRuleProvider = class {
|
|
|
15014
15120
|
if (resp.State !== void 0) result["State"] = resp.State;
|
|
15015
15121
|
if (resp.RoleArn !== void 0) result["RoleArn"] = resp.RoleArn;
|
|
15016
15122
|
try {
|
|
15017
|
-
|
|
15123
|
+
const targetsResp = await this.eventBridgeClient.send(new ListTargetsByRuleCommand({
|
|
15018
15124
|
Rule: ruleName,
|
|
15019
15125
|
...busParam
|
|
15020
|
-
}))
|
|
15126
|
+
}));
|
|
15127
|
+
result["Targets"] = this.toCfnTargets(targetsResp.Targets ?? []);
|
|
15021
15128
|
} catch (err) {
|
|
15022
15129
|
if (!(err instanceof ResourceNotFoundException$2)) throw err;
|
|
15023
15130
|
}
|
|
@@ -35277,14 +35384,16 @@ var SchedulerScheduleProvider = class {
|
|
|
35277
35384
|
}
|
|
35278
35385
|
/**
|
|
35279
35386
|
* Map the CFn property shape to the Scheduler SDK input shape. The two
|
|
35280
|
-
* are PascalCase-identical except `StartDate` / `EndDate
|
|
35281
|
-
*
|
|
35387
|
+
* are PascalCase-identical except `StartDate` / `EndDate` (CFn carries
|
|
35388
|
+
* ISO strings, the SDK types `Date`) and the Target's ECS sub-shapes
|
|
35389
|
+
* (camelCase islands in the SDK model — see {@link toSdkTarget},
|
|
35390
|
+
* issue #1382).
|
|
35282
35391
|
*/
|
|
35283
35392
|
toSdkFields(properties) {
|
|
35284
35393
|
return {
|
|
35285
35394
|
ScheduleExpression: properties["ScheduleExpression"],
|
|
35286
35395
|
FlexibleTimeWindow: properties["FlexibleTimeWindow"],
|
|
35287
|
-
Target: properties["Target"],
|
|
35396
|
+
Target: this.toSdkTarget(properties["Target"]),
|
|
35288
35397
|
...properties["Description"] !== void 0 && { Description: properties["Description"] },
|
|
35289
35398
|
...properties["ScheduleExpressionTimezone"] !== void 0 && { ScheduleExpressionTimezone: properties["ScheduleExpressionTimezone"] },
|
|
35290
35399
|
...properties["StartDate"] !== void 0 && { StartDate: new Date(properties["StartDate"]) },
|
|
@@ -35293,6 +35402,84 @@ var SchedulerScheduleProvider = class {
|
|
|
35293
35402
|
...properties["KmsKeyArn"] !== void 0 && { KmsKeyArn: properties["KmsKeyArn"] }
|
|
35294
35403
|
};
|
|
35295
35404
|
}
|
|
35405
|
+
/**
|
|
35406
|
+
* Convert the CFn-shaped `Target` blob's ECS sub-shapes to the SDK shape
|
|
35407
|
+
* (issue #1382). `@aws-sdk/client-scheduler` is PascalCase except a few
|
|
35408
|
+
* camelCase islands the CFn schema spells PascalCase; the SDK serializer
|
|
35409
|
+
* silently drops unknown keys, so a Fargate target's
|
|
35410
|
+
* `NetworkConfiguration.AwsvpcConfiguration` never reached AWS and
|
|
35411
|
+
* CreateSchedule rejected with "Parameter NetworkConfiguration must be
|
|
35412
|
+
* specified".
|
|
35413
|
+
*/
|
|
35414
|
+
toSdkTarget(target) {
|
|
35415
|
+
const ecs = target["EcsParameters"];
|
|
35416
|
+
if (!ecs) return target;
|
|
35417
|
+
const result = { ...ecs };
|
|
35418
|
+
const network = result["NetworkConfiguration"];
|
|
35419
|
+
if (network && network["AwsvpcConfiguration"] !== void 0) {
|
|
35420
|
+
const { AwsvpcConfiguration, ...restNetwork } = network;
|
|
35421
|
+
result["NetworkConfiguration"] = {
|
|
35422
|
+
...restNetwork,
|
|
35423
|
+
awsvpcConfiguration: AwsvpcConfiguration
|
|
35424
|
+
};
|
|
35425
|
+
}
|
|
35426
|
+
if (Array.isArray(result["PlacementStrategy"])) result["PlacementStrategy"] = result["PlacementStrategy"].map((item) => this.renameItemKeys(item, ["Type", "Field"], "lower"));
|
|
35427
|
+
if (Array.isArray(result["PlacementConstraints"])) result["PlacementConstraints"] = result["PlacementConstraints"].map((item) => this.renameItemKeys(item, ["Type", "Expression"], "lower"));
|
|
35428
|
+
if (Array.isArray(result["CapacityProviderStrategy"])) result["CapacityProviderStrategy"] = result["CapacityProviderStrategy"].map((item) => this.renameItemKeys(item, [
|
|
35429
|
+
"CapacityProvider",
|
|
35430
|
+
"Weight",
|
|
35431
|
+
"Base"
|
|
35432
|
+
], "lower"));
|
|
35433
|
+
return {
|
|
35434
|
+
...target,
|
|
35435
|
+
EcsParameters: result
|
|
35436
|
+
};
|
|
35437
|
+
}
|
|
35438
|
+
/**
|
|
35439
|
+
* Inverse of {@link toSdkTarget} for `readCurrentState`: GetSchedule
|
|
35440
|
+
* returns the SDK spellings, but drift compares against the state's CFn
|
|
35441
|
+
* spellings — without the re-map every ECS Fargate schedule would report
|
|
35442
|
+
* phantom drift on `AwsvpcConfiguration` after deploy.
|
|
35443
|
+
*/
|
|
35444
|
+
toCfnTarget(target) {
|
|
35445
|
+
const raw = target;
|
|
35446
|
+
const ecs = raw["EcsParameters"];
|
|
35447
|
+
if (!ecs) return raw;
|
|
35448
|
+
const result = { ...ecs };
|
|
35449
|
+
const network = result["NetworkConfiguration"];
|
|
35450
|
+
if (network && network["awsvpcConfiguration"] !== void 0) {
|
|
35451
|
+
const { awsvpcConfiguration, ...restNetwork } = network;
|
|
35452
|
+
result["NetworkConfiguration"] = {
|
|
35453
|
+
...restNetwork,
|
|
35454
|
+
AwsvpcConfiguration: awsvpcConfiguration
|
|
35455
|
+
};
|
|
35456
|
+
}
|
|
35457
|
+
if (Array.isArray(result["PlacementStrategy"])) result["PlacementStrategy"] = result["PlacementStrategy"].map((item) => this.renameItemKeys(item, ["type", "field"], "upper"));
|
|
35458
|
+
if (Array.isArray(result["PlacementConstraints"])) result["PlacementConstraints"] = result["PlacementConstraints"].map((item) => this.renameItemKeys(item, ["type", "expression"], "upper"));
|
|
35459
|
+
if (Array.isArray(result["CapacityProviderStrategy"])) result["CapacityProviderStrategy"] = result["CapacityProviderStrategy"].map((item) => this.renameItemKeys(item, [
|
|
35460
|
+
"capacityProvider",
|
|
35461
|
+
"weight",
|
|
35462
|
+
"base"
|
|
35463
|
+
], "upper"));
|
|
35464
|
+
return {
|
|
35465
|
+
...raw,
|
|
35466
|
+
EcsParameters: result
|
|
35467
|
+
};
|
|
35468
|
+
}
|
|
35469
|
+
/**
|
|
35470
|
+
* Flip the first letter's case on the listed keys of one array item
|
|
35471
|
+
* (`Type` <-> `type`, `CapacityProvider` <-> `capacityProvider`); keys
|
|
35472
|
+
* not listed (or absent) pass through unchanged.
|
|
35473
|
+
*/
|
|
35474
|
+
renameItemKeys(item, keys, direction) {
|
|
35475
|
+
const result = { ...item };
|
|
35476
|
+
for (const key of keys) if (result[key] !== void 0) {
|
|
35477
|
+
const flipped = direction === "lower" ? key.charAt(0).toLowerCase() + key.slice(1) : key.charAt(0).toUpperCase() + key.slice(1);
|
|
35478
|
+
result[flipped] = result[key];
|
|
35479
|
+
delete result[key];
|
|
35480
|
+
}
|
|
35481
|
+
return result;
|
|
35482
|
+
}
|
|
35296
35483
|
async create(logicalId, resourceType, properties) {
|
|
35297
35484
|
const name = properties["Name"] ?? generateResourceName(logicalId, { maxLength: 64 });
|
|
35298
35485
|
const groupName = this.groupNameOf(properties);
|
|
@@ -35395,7 +35582,7 @@ var SchedulerScheduleProvider = class {
|
|
|
35395
35582
|
...response.State !== void 0 && { State: response.State },
|
|
35396
35583
|
...response.KmsKeyArn !== void 0 && { KmsKeyArn: response.KmsKeyArn },
|
|
35397
35584
|
...response.FlexibleTimeWindow !== void 0 && { FlexibleTimeWindow: response.FlexibleTimeWindow },
|
|
35398
|
-
...response.Target !== void 0 && { Target: response.Target }
|
|
35585
|
+
...response.Target !== void 0 && { Target: this.toCfnTarget(response.Target) }
|
|
35399
35586
|
};
|
|
35400
35587
|
} catch (error) {
|
|
35401
35588
|
if (error instanceof ResourceNotFoundException$11) return;
|
|
@@ -64098,7 +64285,7 @@ function createMigrateCommand() {
|
|
|
64098
64285
|
*/
|
|
64099
64286
|
function buildProgram() {
|
|
64100
64287
|
const program = new Command();
|
|
64101
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.278.
|
|
64288
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.278.2");
|
|
64102
64289
|
program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
64103
64290
|
const { profile } = actionCommand.optsWithGlobals();
|
|
64104
64291
|
if (profile !== void 0) process.env["AWS_PROFILE"] = profile;
|