@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/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-BLJ1_r55.js";
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-CaViRSIU.js";
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
- result["Targets"] = (await this.eventBridgeClient.send(new ListTargetsByRuleCommand({
15123
+ const targetsResp = await this.eventBridgeClient.send(new ListTargetsByRuleCommand({
15018
15124
  Rule: ruleName,
15019
15125
  ...busParam
15020
- }))).Targets ?? [];
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`, which CFn
35281
- * carries as ISO strings and the SDK types as `Date`.
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.1");
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;