@go-to-k/cdkd 0.221.5 → 0.221.6

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
@@ -1553,7 +1553,7 @@ const FLUSH_INTERVAL_MS = 2e3;
1553
1553
  const FLUSH_EVENT_THRESHOLD = 50;
1554
1554
  /** Build-time cdkd version, with a dev fallback for non-built contexts. */
1555
1555
  function getCdkdVersion() {
1556
- return "0.221.5";
1556
+ return "0.221.6";
1557
1557
  }
1558
1558
  /**
1559
1559
  * Generate a time-sortable unique run id, e.g.
@@ -6101,6 +6101,43 @@ function serializeRedriveAllowPolicy(value) {
6101
6101
  return JSON.stringify(value);
6102
6102
  }
6103
6103
  /**
6104
+ * Reset value for a CDK-managed SQS attribute that was set on a previous
6105
+ * deploy but is ABSENT from the desired properties on an in-place UPDATE
6106
+ * (e.g. its `Fn::If` branch resolved to `AWS::NoValue`, so the resolved
6107
+ * desired properties no longer carry the key).
6108
+ *
6109
+ * cdkd's diff layer correctly classifies a property present in current
6110
+ * state but absent from the desired template as a change, but the provider
6111
+ * `update()` loop only acts on keys PRESENT in the new properties — so
6112
+ * without an explicit reset the stale value lingers on AWS (the
6113
+ * `conditions-update-2` integ exercises exactly this for `RedrivePolicy`).
6114
+ *
6115
+ * CloudFormation resets a removed property to the attribute's default. We
6116
+ * mirror that here:
6117
+ * - The JSON policy attributes (`RedrivePolicy` / `RedriveAllowPolicy`)
6118
+ * are cleared with the empty string the SQS API documents for removal.
6119
+ * - `KmsMasterKeyId` is cleared with the empty string (removes a custom
6120
+ * CMK; SQS falls back to its own default encryption behavior).
6121
+ * - Numeric attributes reset to their documented `SetQueueAttributes`
6122
+ * defaults (see the SQS API reference).
6123
+ *
6124
+ * Attributes NOT in this map (immutable / FIFO-discriminated ones such as
6125
+ * `FifoQueue` / `DeduplicationScope` / `FifoThroughputLimit`) are never
6126
+ * reset on removal — flipping them would either be rejected by AWS or
6127
+ * require a replacement, which the diff layer handles separately.
6128
+ */
6129
+ const SQS_ATTRIBUTE_REMOVAL_RESET = {
6130
+ RedrivePolicy: "",
6131
+ RedriveAllowPolicy: "",
6132
+ KmsMasterKeyId: "",
6133
+ VisibilityTimeout: "30",
6134
+ MaximumMessageSize: "262144",
6135
+ MessageRetentionPeriod: "345600",
6136
+ DelaySeconds: "0",
6137
+ ReceiveMessageWaitTimeSeconds: "0",
6138
+ KmsDataKeyReusePeriodSeconds: "300"
6139
+ };
6140
+ /**
6104
6141
  * CDK property name to SQS attribute name mapping
6105
6142
  */
6106
6143
  const CDK_TO_SQS_ATTRIBUTES = {
@@ -6207,7 +6244,7 @@ var SQSQueueProvider = class {
6207
6244
  if (cdkKey === "RedrivePolicy" && typeof value === "object") attributes[sqsKey] = serializeRedrivePolicy(value);
6208
6245
  else if (cdkKey === "RedriveAllowPolicy") attributes[sqsKey] = serializeRedriveAllowPolicy(value);
6209
6246
  else attributes[sqsKey] = stringifyValue(value);
6210
- }
6247
+ } else if (previousProperties[cdkKey] !== void 0 && cdkKey in SQS_ATTRIBUTE_REMOVAL_RESET) attributes[sqsKey] = SQS_ATTRIBUTE_REMOVAL_RESET[cdkKey];
6211
6248
  }
6212
6249
  if (Object.keys(attributes).length > 0) {
6213
6250
  await this.sqsClient.send(new SetQueueAttributesCommand({
@@ -53842,7 +53879,7 @@ function reorderArgs(argv) {
53842
53879
  async function main() {
53843
53880
  installPipeCloseHandler();
53844
53881
  const program = new Command();
53845
- program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.221.5");
53882
+ program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.221.6");
53846
53883
  program.addCommand(createBootstrapCommand());
53847
53884
  program.addCommand(createSynthCommand());
53848
53885
  program.addCommand(createListCommand());