@go-to-k/cdkd 0.51.7 → 0.51.8

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
@@ -35729,9 +35729,18 @@ var FirehoseProvider = class {
35729
35729
  *
35730
35730
  * Non-S3 destination types
35731
35731
  * (`Redshift`/`Elasticsearch`/`Amazonopensearchservice`/`Splunk`/`HttpEndpoint`/`AmazonOpenSearchServerless`)
35732
- * stay drift-unknown — declared via `getDriftUnknownPaths()` until
35733
- * per-destination reverse-map lands. `DeliveryStreamEncryptionConfigurationInput`
35734
- * also drift-unknown.
35732
+ * are reverse-mapped via `mapRedshiftDescriptionToCfn` /
35733
+ * `mapHttpEndpointDescriptionToCfn` / `mapNonS3DestinationToCfn`. The
35734
+ * SDK reuses field names between Description and Configuration for
35735
+ * these destinations, so a `pickDefinedDeep` pass-through produces a
35736
+ * CFn-compatible shape. AWS-managed read-only `VpcId` is stripped
35737
+ * from `VpcConfigurationDescription`. Write-only fields AWS strips
35738
+ * from descriptions (`RedshiftDestinationConfiguration.Password`,
35739
+ * `HttpEndpointDestinationConfiguration.EndpointConfiguration.AccessKey`)
35740
+ * stay drift-unknown via `getDriftUnknownPaths`.
35741
+ * `DeliveryStreamEncryptionConfigurationInput` is also still
35742
+ * drift-unknown (separate `Get*` call needed for the read-side
35743
+ * `DeliveryStreamEncryptionConfiguration`).
35735
35744
  *
35736
35745
  * Tags are surfaced via a follow-up `ListTagsForDeliveryStream` call
35737
35746
  * with `aws:*` filtered out and always emitted as `[]` placeholder when
@@ -35780,6 +35789,30 @@ var FirehoseProvider = class {
35780
35789
  result["S3DestinationConfiguration"] = mapS3DescriptionToCfn(
35781
35790
  dest.S3DestinationDescription
35782
35791
  );
35792
+ } else if (dest?.RedshiftDestinationDescription) {
35793
+ result["RedshiftDestinationConfiguration"] = mapRedshiftDescriptionToCfn(
35794
+ dest.RedshiftDestinationDescription
35795
+ );
35796
+ } else if (dest?.ElasticsearchDestinationDescription) {
35797
+ result["ElasticsearchDestinationConfiguration"] = mapNonS3DestinationToCfn(
35798
+ dest.ElasticsearchDestinationDescription
35799
+ );
35800
+ } else if (dest?.AmazonopensearchserviceDestinationDescription) {
35801
+ result["AmazonopensearchserviceDestinationConfiguration"] = mapNonS3DestinationToCfn(
35802
+ dest.AmazonopensearchserviceDestinationDescription
35803
+ );
35804
+ } else if (dest?.AmazonOpenSearchServerlessDestinationDescription) {
35805
+ result["AmazonOpenSearchServerlessDestinationConfiguration"] = mapNonS3DestinationToCfn(
35806
+ dest.AmazonOpenSearchServerlessDestinationDescription
35807
+ );
35808
+ } else if (dest?.SplunkDestinationDescription) {
35809
+ result["SplunkDestinationConfiguration"] = mapNonS3DestinationToCfn(
35810
+ dest.SplunkDestinationDescription
35811
+ );
35812
+ } else if (dest?.HttpEndpointDestinationDescription) {
35813
+ result["HttpEndpointDestinationConfiguration"] = mapHttpEndpointDescriptionToCfn(
35814
+ dest.HttpEndpointDestinationDescription
35815
+ );
35783
35816
  }
35784
35817
  try {
35785
35818
  const tagsResp = await this.getClient().send(
@@ -35804,30 +35837,28 @@ var FirehoseProvider = class {
35804
35837
  * docstring for the full rationale per category.
35805
35838
  *
35806
35839
  * Categories:
35807
- * - Non-S3 destination types: shape divergence at scale (Description
35808
- * vs Configuration field naming, write-only redacted fields like
35809
- * Redshift `Password`); reverse-mapping is feasible per-destination
35810
- * but deferred until per-shape user demand emerges.
35840
+ * - Write-only fields AWS strips from descriptions: Redshift
35841
+ * `Password`, HttpEndpoint `EndpointConfiguration.AccessKey`. State
35842
+ * that carries these fires drift on every run otherwise; declaring
35843
+ * them as drift-unknown is the cleanest fix.
35811
35844
  * - `DeliveryStreamEncryptionConfigurationInput`: input-only shape
35812
35845
  * (`KeyARN` + `KeyType`) vs. read-side `DeliveryStreamEncryptionConfiguration`
35813
35846
  * (extra status / failure fields); not yet round-tripped.
35814
35847
  *
35815
- * S3 / ExtendedS3 inner nested fields (`EncryptionConfiguration` /
35816
- * `CloudWatchLoggingOptions` / `ProcessingConfiguration` /
35817
- * `DataFormatConversionConfiguration` / `DynamicPartitioningConfiguration` /
35818
- * `S3BackupConfiguration`) are now surfaced via `mapS3DescriptionToCfn`
35819
- * / `mapExtendedS3DescriptionToCfn` and no longer drift-unknown.
35848
+ * S3 / ExtendedS3 inner nested fields and non-S3 destination types
35849
+ * (Redshift / Elasticsearch / Amazonopensearchservice / Splunk /
35850
+ * HttpEndpoint / AmazonOpenSearchServerless) are now reverse-mapped
35851
+ * via `mapS3DescriptionToCfn` / `mapExtendedS3DescriptionToCfn` /
35852
+ * `mapNonS3DestinationToCfn` / `mapRedshiftDescriptionToCfn` /
35853
+ * `mapHttpEndpointDescriptionToCfn` and no longer drift-unknown at the
35854
+ * top level.
35820
35855
  */
35821
35856
  getDriftUnknownPaths() {
35822
35857
  return [
35823
- // Non-S3 destinations (drift-unknown until per-destination reverse-map lands)
35824
- "RedshiftDestinationConfiguration",
35825
- "ElasticsearchDestinationConfiguration",
35826
- "AmazonopensearchserviceDestinationConfiguration",
35827
- "SplunkDestinationConfiguration",
35828
- "HttpEndpointDestinationConfiguration",
35829
- "AmazonOpenSearchServerlessDestinationConfiguration",
35830
- // Encryption input shape (deferred)
35858
+ // Write-only fields AWS does not return on read.
35859
+ "RedshiftDestinationConfiguration.Password",
35860
+ "HttpEndpointDestinationConfiguration.EndpointConfiguration.AccessKey",
35861
+ // Encryption input shape (deferred — separate Get* call needed).
35831
35862
  "DeliveryStreamEncryptionConfigurationInput"
35832
35863
  ];
35833
35864
  }
@@ -35956,6 +35987,70 @@ function mapExtendedS3DescriptionToCfn(desc) {
35956
35987
  }
35957
35988
  return out;
35958
35989
  }
35990
+ function mapNonS3DestinationToCfn(desc) {
35991
+ const cleaned = pickDefinedDeep(desc);
35992
+ if (!cleaned)
35993
+ return {};
35994
+ if (cleaned["VpcConfigurationDescription"]) {
35995
+ const vpc = { ...cleaned["VpcConfigurationDescription"] };
35996
+ delete vpc["VpcId"];
35997
+ delete cleaned["VpcConfigurationDescription"];
35998
+ if (Object.keys(vpc).length > 0)
35999
+ cleaned["VpcConfiguration"] = vpc;
36000
+ }
36001
+ return cleaned;
36002
+ }
36003
+ function mapRedshiftDescriptionToCfn(desc) {
36004
+ const out = {};
36005
+ for (const k of [
36006
+ "RoleARN",
36007
+ "ClusterJDBCURL",
36008
+ "CopyCommand",
36009
+ "Username",
36010
+ "RetryOptions",
36011
+ "ProcessingConfiguration",
36012
+ "S3BackupMode",
36013
+ "CloudWatchLoggingOptions",
36014
+ "SecretsManagerConfiguration"
36015
+ ]) {
36016
+ const v = pickDefinedDeep(desc[k]);
36017
+ if (v !== void 0)
36018
+ out[k] = v;
36019
+ }
36020
+ if (desc["S3DestinationDescription"]) {
36021
+ out["S3Configuration"] = mapS3DescriptionToCfn(
36022
+ desc["S3DestinationDescription"]
36023
+ );
36024
+ }
36025
+ if (desc["S3BackupDescription"]) {
36026
+ out["S3BackupConfiguration"] = mapS3DescriptionToCfn(
36027
+ desc["S3BackupDescription"]
36028
+ );
36029
+ }
36030
+ return out;
36031
+ }
36032
+ function mapHttpEndpointDescriptionToCfn(desc) {
36033
+ const out = {};
36034
+ for (const k of [
36035
+ "BufferingHints",
36036
+ "CloudWatchLoggingOptions",
36037
+ "RequestConfiguration",
36038
+ "ProcessingConfiguration",
36039
+ "RoleARN",
36040
+ "RetryOptions",
36041
+ "SecretsManagerConfiguration"
36042
+ ]) {
36043
+ const v = pickDefinedDeep(desc[k]);
36044
+ if (v !== void 0)
36045
+ out[k] = v;
36046
+ }
36047
+ if (desc["EndpointConfiguration"]) {
36048
+ const endpoint = pickDefinedDeep(desc["EndpointConfiguration"]);
36049
+ if (endpoint !== void 0)
36050
+ out["EndpointConfiguration"] = endpoint;
36051
+ }
36052
+ return out;
36053
+ }
35959
36054
 
35960
36055
  // src/provisioning/providers/cloudtrail-provider.ts
35961
36056
  import {
@@ -45093,7 +45188,7 @@ function reorderArgs(argv) {
45093
45188
  }
45094
45189
  async function main() {
45095
45190
  const program = new Command14();
45096
- program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.51.7");
45191
+ program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.51.8");
45097
45192
  program.addCommand(createBootstrapCommand());
45098
45193
  program.addCommand(createSynthCommand());
45099
45194
  program.addCommand(createListCommand());