@go-to-k/cdkd 0.267.13 → 0.267.15

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 WorkGraph, $t as NestedStackChildDirectDestroyError, A as slowCcOperationTimeoutMs, At as CFN_TEMPLATE_BODY_LIMIT, B as applyRoleArnIfSet, Bt as AwsClients, C as yellow, Ct as resolveAutoAssetStorage, D as ProviderRegistry, Dt as resolveStateBucketWithDefaultAndSource, E as clearOnUpdateRemoval, Et as resolveStateBucketWithDefault, F as refStateLookupFromResource, Ft as expectedOwnerParam, G as DagBuilder, Gt as CdkdError, H as describeTypeWithThrottleRetry, Ht as resetAwsClients, I as WAFv2WebACLProvider, It as AssemblyReader, J as S3StateBackend, Jt as LocalInvokeBuildError$1, K as TemplateParser, L as normalizeAwsTagsToCfn, Lt as processStackMessages, M as isTerminationProtectionPropagationError, Mt as MIGRATE_TMP_PREFIX, N as IntrinsicFunctionResolver, Nt as findLargeInlineResources, O as findActionableSilentDrops, Ot as resolveUseCdkBootstrapAssets, P as cfnRefValueFromPhysicalId, Pt as uploadCfnTemplate, Q as stringifyValue, Qt as MissingCdkCliError, R as resolveExplicitPhysicalId, S as red, St as resolveApp, T as collectInlinePolicyNamesManagedBySiblings, Tt as resolveSkipPrefix, U as withRetry, Ut as setAwsClients, V as DiffCalculator, Vt as getAwsClients, W as isRetryableTransientError, X as shouldRetainResource, Xt as LocalStartServiceError, Y as rebuildClientForBucketRegion, Yt as LocalMigrateError, Z as AssetPublisher, _ as formatResourceLine, _t as getDockerImageBySourceHash, a as DeploymentEventsStore, an as StackTerminationProtectionError, at as BOOTSTRAP_MARKER_PREFIX, b as gray, bt as getDefaultStateBucketName, c as replayFailedOperations, ct as parseBootstrapMarker, d as IMPLICIT_DELETE_DEPENDENCIES, dn as withErrorHandling, dt as buildDockerImage, en as PartialFailureError, et as buildAssetRedirectMap, f as computeImplicitDeleteEdges, ft as formatDockerLoginError, g as renderStatefulReason, gt as AssetManifestLoader, h as isStatefulRecreateTargetSync, ht as runDockerStreaming, i as DeploymentEventsReader, in as StackHasActiveImportsError, it as AssetModeResolver, j as disableInstanceApiTermination, jt as CFN_TEMPLATE_URL_LIMIT, k as CloudControlProvider, kt as warnDeprecatedNoPrefixCliFlag, l as replayRollback, lt as validateAssetBucketName, m as MULTI_REGION_RECREATE_BLOCKED_TYPES, mt as runDockerForeground, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as ResourceTimeoutError, nt as loadPublishableAssetManifest, o as planFailedOps, ot as ensureAssetStorage, p as extractDeploymentEventError, pt as getDockerCmd, q as LockManager, r as DeployEngine, rn as ResourceUpdateNotSupportedError, rt as rewriteTemplateAssetReferences, s as planRollback, st as getBootstrapMarkerKey, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as ProvisioningError, tt as createAssetRedirectResolver, u as withResourceDeadline, un as normalizeAwsError, ut as validateContainerRepoName, v as bold, vt as Synthesizer, w as IAMRoleProvider, wt as resolveCaptureObservedState, x as green, xt as getLegacyStateBucketName, y as cyan, yt as synthesisStatusMessage, z as assertRegionMatch, zt as resolveBucketRegion } from "./deploy-engine-D1M5yCxb.js";
2
+ import { $ as WorkGraph, $t as NestedStackChildDirectDestroyError, A as slowCcOperationTimeoutMs, At as CFN_TEMPLATE_BODY_LIMIT, B as applyRoleArnIfSet, Bt as AwsClients, C as yellow, Ct as resolveAutoAssetStorage, D as ProviderRegistry, Dt as resolveStateBucketWithDefaultAndSource, E as clearOnUpdateRemoval, Et as resolveStateBucketWithDefault, F as refStateLookupFromResource, Ft as expectedOwnerParam, G as DagBuilder, Gt as CdkdError, H as describeTypeWithThrottleRetry, Ht as resetAwsClients, I as WAFv2WebACLProvider, It as AssemblyReader, J as S3StateBackend, Jt as LocalInvokeBuildError$1, K as TemplateParser, L as normalizeAwsTagsToCfn, Lt as processStackMessages, M as isTerminationProtectionPropagationError, Mt as MIGRATE_TMP_PREFIX, N as IntrinsicFunctionResolver, Nt as findLargeInlineResources, O as findActionableSilentDrops, Ot as resolveUseCdkBootstrapAssets, P as cfnRefValueFromPhysicalId, Pt as uploadCfnTemplate, Q as stringifyValue, Qt as MissingCdkCliError, R as resolveExplicitPhysicalId, S as red, St as resolveApp, T as collectInlinePolicyNamesManagedBySiblings, Tt as resolveSkipPrefix, U as withRetry, Ut as setAwsClients, V as DiffCalculator, Vt as getAwsClients, W as isRetryableTransientError, X as shouldRetainResource, Xt as LocalStartServiceError, Y as rebuildClientForBucketRegion, Yt as LocalMigrateError, Z as AssetPublisher, _ as formatResourceLine, _t as getDockerImageBySourceHash, a as DeploymentEventsStore, an as StackTerminationProtectionError, at as BOOTSTRAP_MARKER_PREFIX, b as gray, bt as getDefaultStateBucketName, c as replayFailedOperations, ct as parseBootstrapMarker, d as IMPLICIT_DELETE_DEPENDENCIES, dn as withErrorHandling, dt as buildDockerImage, en as PartialFailureError, et as buildAssetRedirectMap, f as computeImplicitDeleteEdges, ft as formatDockerLoginError, g as renderStatefulReason, gt as AssetManifestLoader, h as isStatefulRecreateTargetSync, ht as runDockerStreaming, i as DeploymentEventsReader, in as StackHasActiveImportsError, it as AssetModeResolver, j as disableInstanceApiTermination, jt as CFN_TEMPLATE_URL_LIMIT, k as CloudControlProvider, kt as warnDeprecatedNoPrefixCliFlag, l as replayRollback, lt as validateAssetBucketName, m as MULTI_REGION_RECREATE_BLOCKED_TYPES, mt as runDockerForeground, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as ResourceTimeoutError, nt as loadPublishableAssetManifest, o as planFailedOps, ot as ensureAssetStorage, p as extractDeploymentEventError, pt as getDockerCmd, q as LockManager, r as DeployEngine, rn as ResourceUpdateNotSupportedError, rt as rewriteTemplateAssetReferences, s as planRollback, st as getBootstrapMarkerKey, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as ProvisioningError, tt as createAssetRedirectResolver, u as withResourceDeadline, un as normalizeAwsError, ut as validateContainerRepoName, v as bold, vt as Synthesizer, w as IAMRoleProvider, wt as resolveCaptureObservedState, x as green, xt as getLegacyStateBucketName, y as cyan, yt as synthesisStatusMessage, z as assertRegionMatch, zt as resolveBucketRegion } from "./deploy-engine-D7oQWXsX.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-CYG6Bl7y.js";
4
+ import { t as ASGProvider } from "./asg-provider-BhY47O9R.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";
@@ -9042,7 +9042,7 @@ var LambdaUrlProvider = class {
9042
9042
  /**
9043
9043
  * Update a Lambda Function URL
9044
9044
  */
9045
- async update(logicalId, physicalId, _resourceType, properties, previousProperties) {
9045
+ async update(logicalId, physicalId, resourceType, properties, previousProperties) {
9046
9046
  this.logger.debug(`Updating Lambda URL ${logicalId}: ${physicalId}`);
9047
9047
  const handled = this.handledProperties.get("AWS::Lambda::Url") ?? /* @__PURE__ */ new Set();
9048
9048
  let changed = false;
@@ -9055,26 +9055,32 @@ var LambdaUrlProvider = class {
9055
9055
  wasReplaced: false,
9056
9056
  attributes: {}
9057
9057
  };
9058
- const authType = properties["AuthType"] || "NONE";
9059
- const cors = properties["Cors"];
9060
9058
  const updateParams = {
9061
9059
  FunctionName: physicalId,
9062
- AuthType: authType
9060
+ AuthType: properties["AuthType"] || "NONE"
9063
9061
  };
9064
- if (properties["InvokeMode"] !== void 0) updateParams.InvokeMode = properties["InvokeMode"];
9065
- if (cors) {
9066
- const builtCors = this.buildCorsConfig(cors);
9067
- if (Object.keys(builtCors).length > 0) updateParams.Cors = builtCors;
9062
+ const invokeMode = clearOnUpdateRemoval(properties["InvokeMode"], previousProperties["InvokeMode"], "BUFFERED");
9063
+ if (invokeMode !== void 0) updateParams.InvokeMode = invokeMode;
9064
+ const newCorsRaw = properties["Cors"];
9065
+ const prevCorsRaw = previousProperties["Cors"];
9066
+ const newCorsBuilt = newCorsRaw ? this.buildCorsConfig(newCorsRaw) : void 0;
9067
+ const prevCorsBuilt = prevCorsRaw ? this.buildCorsConfig(prevCorsRaw) : void 0;
9068
+ const corsParam = clearOnUpdateRemoval(newCorsBuilt && Object.keys(newCorsBuilt).length > 0 ? newCorsBuilt : void 0, prevCorsBuilt && Object.keys(prevCorsBuilt).length > 0 ? prevCorsBuilt : void 0, {});
9069
+ if (corsParam !== void 0) updateParams.Cors = corsParam;
9070
+ try {
9071
+ const response = await this.lambdaClient.send(new UpdateFunctionUrlConfigCommand(updateParams));
9072
+ return {
9073
+ physicalId,
9074
+ wasReplaced: false,
9075
+ attributes: {
9076
+ FunctionUrl: response.FunctionUrl,
9077
+ FunctionArn: response.FunctionArn
9078
+ }
9079
+ };
9080
+ } catch (error) {
9081
+ const cause = error instanceof Error ? error : void 0;
9082
+ throw new ProvisioningError(`Failed to update Lambda URL ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, physicalId, cause);
9068
9083
  }
9069
- const response = await this.lambdaClient.send(new UpdateFunctionUrlConfigCommand(updateParams));
9070
- return {
9071
- physicalId,
9072
- wasReplaced: false,
9073
- attributes: {
9074
- FunctionUrl: response.FunctionUrl,
9075
- FunctionArn: response.FunctionArn
9076
- }
9077
- };
9078
9084
  }
9079
9085
  /**
9080
9086
  * Delete a Lambda Function URL
@@ -9189,10 +9195,13 @@ var LambdaUrlProvider = class {
9189
9195
  * (`AllowOrigins: []`, `AllowMethods: []`, `AllowHeaders: []`,
9190
9196
  * `ExposeHeaders: []`) are intentionally dropped here — emitting them
9191
9197
  * to AWS would configure CORS with empty allowlists instead of
9192
- * leaving CORS unset. The caller (`update()` / `create()`) treats an
9193
- * empty `Cors` object as "no CORS configured" and omits it from the
9194
- * SDK input. `MaxAge` uses `!== undefined` so the valid AWS input
9195
- * `MaxAge: 0` (= "do not cache preflight responses") is preserved.
9198
+ * leaving CORS unset. `update()` normalizes an empty build to "no CORS"
9199
+ * on both comparison sides (issue #1160 an empty `Cors` object is the
9200
+ * live-probed CLEAR shape there, sent only on a real removal); `create()`
9201
+ * passes the build through as-is (template values, never placeholders,
9202
+ * and `Cors: {}` on create means "no CORS" per the same probe). `MaxAge`
9203
+ * uses `!== undefined` so the valid AWS input `MaxAge: 0` (= "do not
9204
+ * cache preflight responses") is preserved.
9196
9205
  */
9197
9206
  buildCorsConfig(cors) {
9198
9207
  const config = {};
@@ -62077,7 +62086,7 @@ function createMigrateCommand() {
62077
62086
  */
62078
62087
  function buildProgram() {
62079
62088
  const program = new Command();
62080
- program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.267.13");
62089
+ program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.267.15");
62081
62090
  program.hook("preAction", (_thisCommand, actionCommand) => {
62082
62091
  const { profile } = actionCommand.optsWithGlobals();
62083
62092
  if (profile !== void 0) process.env["AWS_PROFILE"] = profile;