@go-to-k/cdkd 0.267.0 → 0.267.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.
@@ -11354,7 +11354,7 @@ var CloudControlProvider = class {
11354
11354
  this.logger.debug(`Deleting resource ${logicalId} (${resourceType}), physical ID: ${physicalId}`);
11355
11355
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
11356
11356
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
11357
- const { ASGProvider } = await import("./asg-provider-CBMy7ibk.js").then((n) => n.n);
11357
+ const { ASGProvider } = await import("./asg-provider-zMwVyLi6.js").then((n) => n.n);
11358
11358
  await new ASGProvider().delete(logicalId, physicalId, resourceType, _properties, context);
11359
11359
  return;
11360
11360
  }
@@ -15275,6 +15275,32 @@ function isCustomResource(resourceType) {
15275
15275
  return resourceType.startsWith("Custom::") || resourceType === "AWS::CloudFormation::CustomResource";
15276
15276
  }
15277
15277
 
15278
+ //#endregion
15279
+ //#region src/provisioning/update-removal.ts
15280
+ /**
15281
+ * Shared clear-on-removal resolver for merge-semantics update APIs
15282
+ * (issue #1160 — the absent-field removal silent-drop bug class; reference
15283
+ * fix `LambdaFunctionProvider`, #1157; extracted from the per-provider
15284
+ * copies in #1223).
15285
+ *
15286
+ * CloudFormation resets a property REMOVED from the template to its default,
15287
+ * while most AWS `Update*` / `Modify*` APIs treat an absent input field as
15288
+ * "no change" (merge semantics). A provider `update()` that passes template
15289
+ * properties straight into the SDK input therefore silently keeps the old
15290
+ * live value on removal. Route every optional mutable field of a
15291
+ * merge-semantics API through this helper, with `clearValue` set to the
15292
+ * property's CFn default or the SDK-documented clear sentinel — see
15293
+ * docs/provider-development.md §2a for the per-field checklist.
15294
+ *
15295
+ * Returns `newValue` when present, the `clearValue` when the field was
15296
+ * present before and is now absent (removal), and `undefined` when it was
15297
+ * never present (so a genuinely-absent field stays absent = no change).
15298
+ */
15299
+ function clearOnUpdateRemoval(newValue, previousValue, clearValue) {
15300
+ if (newValue !== void 0) return newValue;
15301
+ if (previousValue !== void 0) return clearValue;
15302
+ }
15303
+
15278
15304
  //#endregion
15279
15305
  //#region src/provisioning/providers/iam-role-provider.ts
15280
15306
  /**
@@ -15397,8 +15423,10 @@ var IAMRoleProvider = class {
15397
15423
  }
15398
15424
  try {
15399
15425
  const updateParams = { RoleName: physicalId };
15400
- if (properties["Description"] !== void 0) updateParams.Description = properties["Description"];
15401
- if (properties["MaxSessionDuration"] !== void 0) updateParams.MaxSessionDuration = properties["MaxSessionDuration"];
15426
+ const descriptionInput = clearOnUpdateRemoval(properties["Description"], previousProperties["Description"], "");
15427
+ if (descriptionInput !== void 0) updateParams.Description = descriptionInput;
15428
+ const maxSessionDurationInput = clearOnUpdateRemoval(properties["MaxSessionDuration"], previousProperties["MaxSessionDuration"], 3600);
15429
+ if (maxSessionDurationInput !== void 0) updateParams.MaxSessionDuration = maxSessionDurationInput;
15402
15430
  await this.iamClient.send(new UpdateRoleCommand(updateParams));
15403
15431
  const newAssumePolicy = properties["AssumeRolePolicyDocument"];
15404
15432
  const oldAssumePolicy = previousProperties["AssumeRolePolicyDocument"];
@@ -17237,7 +17265,7 @@ const FLUSH_INTERVAL_MS = 2e3;
17237
17265
  const FLUSH_EVENT_THRESHOLD = 50;
17238
17266
  /** Build-time cdkd version, with a dev fallback for non-built contexts. */
17239
17267
  function getCdkdVersion() {
17240
- return "0.267.0";
17268
+ return "0.267.2";
17241
17269
  }
17242
17270
  /**
17243
17271
  * Generate a time-sortable unique run id, e.g.
@@ -19224,5 +19252,5 @@ var DeployEngine = class {
19224
19252
  };
19225
19253
 
19226
19254
  //#endregion
19227
- export { createAssetRedirectResolver as $, ProvisioningError as $t, CloudControlProvider as A, MIGRATE_TMP_PREFIX as At, assertRegionMatch as B, resetAwsClients as Bt, green as C, resolveSkipPrefix as Ct, collectInlinePolicyNamesManagedBySiblings as D, warnDeprecatedNoPrefixCliFlag as Dt, IAMRoleProvider as E, resolveUseCdkBootstrapAssets as Et, cfnRefValueFromPhysicalId as F, processStackMessages as Ft, LockManager as G, DependencyError as Gt, DiffCalculator as H, AssetError as Ht, refStateLookupFromResource as I, clearBucketRegionCache as It, shouldRetainResource as J, LocalStartServiceError as Jt, S3StateBackend as K, LocalInvokeBuildError as Kt, WAFv2WebACLProvider as L, resolveBucketRegion as Lt, disableInstanceApiTermination as M, uploadCfnTemplate as Mt, isTerminationProtectionPropagationError as N, expectedOwnerParam as Nt, ProviderRegistry as O, CFN_TEMPLATE_BODY_LIMIT as Ot, IntrinsicFunctionResolver as P, AssemblyReader as Pt, buildAssetRedirectMap as Q, PartialFailureError as Qt, normalizeAwsTagsToCfn as R, AwsClients as Rt, gray as S, resolveCaptureObservedState as St, yellow as T, resolveStateBucketWithDefaultAndSource as Tt, DagBuilder as U, CdkdError as Ut, applyRoleArnIfSet as V, setAwsClients as Vt, TemplateParser as W, ConfigError as Wt, stringifyValue as X, MissingCdkCliError as Xt, AssetPublisher as Y, LockError as Yt, WorkGraph as Z, NestedStackChildDirectDestroyError as Zt, isStatefulRecreateTargetSync as _, synthesisStatusMessage as _t, DeploymentEventsStore as a, SynthesisError as an, getBootstrapMarkerKey as at, bold as b, resolveApp as bt, replayFailedOperations as c, normalizeAwsError as cn, validateContainerRepoName as ct, withRetry as d, getDockerCmd as dt, ResourceTimeoutError as en, loadPublishableAssetManifest as et, isRetryableTransientError as f, runDockerForeground as ft, MULTI_REGION_RECREATE_BLOCKED_TYPES as g, Synthesizer as gt, extractDeploymentEventError as h, getDockerImageBySourceHash as ht, DeploymentEventsReader as i, StateError as in, ensureAssetStorage as it, slowCcOperationTimeoutMs as j, findLargeInlineResources as jt, findActionableSilentDrops as k, CFN_TEMPLATE_URL_LIMIT as kt, replayRollback as l, withErrorHandling as ln, buildDockerImage as lt, computeImplicitDeleteEdges as m, AssetManifestLoader as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, StackHasActiveImportsError as nn, AssetModeResolver as nt, planFailedOps as o, formatError as on, parseBootstrapMarker as ot, IMPLICIT_DELETE_DEPENDENCIES as p, runDockerStreaming as pt, rebuildClientForBucketRegion as q, LocalMigrateError as qt, DeployEngine as r, StackTerminationProtectionError as rn, BOOTSTRAP_MARKER_PREFIX as rt, planRollback as s, isCdkdError as sn, validateAssetBucketName as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, ResourceUpdateNotSupportedError as tn, rewriteTemplateAssetReferences as tt, withResourceDeadline as u, __exportAll as un, formatDockerLoginError as ut, renderStatefulReason as v, getDefaultStateBucketName as vt, red as w, resolveStateBucketWithDefault as wt, cyan as x, resolveAutoAssetStorage as xt, formatResourceLine as y, getLegacyStateBucketName as yt, resolveExplicitPhysicalId as z, getAwsClients as zt };
19228
- //# sourceMappingURL=deploy-engine-BXgD8s_k.js.map
19255
+ export { buildAssetRedirectMap as $, PartialFailureError as $t, findActionableSilentDrops as A, CFN_TEMPLATE_URL_LIMIT as At, resolveExplicitPhysicalId as B, getAwsClients as Bt, green as C, resolveCaptureObservedState as Ct, collectInlinePolicyNamesManagedBySiblings as D, resolveUseCdkBootstrapAssets as Dt, IAMRoleProvider as E, resolveStateBucketWithDefaultAndSource as Et, IntrinsicFunctionResolver as F, AssemblyReader as Ft, TemplateParser as G, ConfigError as Gt, applyRoleArnIfSet as H, setAwsClients as Ht, cfnRefValueFromPhysicalId as I, processStackMessages as It, rebuildClientForBucketRegion as J, LocalMigrateError as Jt, LockManager as K, DependencyError as Kt, refStateLookupFromResource as L, clearBucketRegionCache as Lt, slowCcOperationTimeoutMs as M, findLargeInlineResources as Mt, disableInstanceApiTermination as N, uploadCfnTemplate as Nt, clearOnUpdateRemoval as O, warnDeprecatedNoPrefixCliFlag as Ot, isTerminationProtectionPropagationError as P, expectedOwnerParam as Pt, WorkGraph as Q, NestedStackChildDirectDestroyError as Qt, WAFv2WebACLProvider as R, resolveBucketRegion as Rt, gray as S, resolveAutoAssetStorage as St, yellow as T, resolveStateBucketWithDefault as Tt, DiffCalculator as U, AssetError as Ut, assertRegionMatch as V, resetAwsClients as Vt, DagBuilder as W, CdkdError as Wt, AssetPublisher as X, LockError as Xt, shouldRetainResource as Y, LocalStartServiceError as Yt, stringifyValue as Z, MissingCdkCliError as Zt, isStatefulRecreateTargetSync as _, Synthesizer as _t, DeploymentEventsStore as a, StateError as an, ensureAssetStorage as at, bold as b, getLegacyStateBucketName as bt, replayFailedOperations as c, isCdkdError as cn, validateAssetBucketName as ct, withRetry as d, __exportAll as dn, formatDockerLoginError as dt, ProvisioningError as en, createAssetRedirectResolver as et, isRetryableTransientError as f, getDockerCmd as ft, MULTI_REGION_RECREATE_BLOCKED_TYPES as g, getDockerImageBySourceHash as gt, extractDeploymentEventError as h, AssetManifestLoader as ht, DeploymentEventsReader as i, StackTerminationProtectionError as in, BOOTSTRAP_MARKER_PREFIX as it, CloudControlProvider as j, MIGRATE_TMP_PREFIX as jt, ProviderRegistry as k, CFN_TEMPLATE_BODY_LIMIT as kt, replayRollback as l, normalizeAwsError as ln, validateContainerRepoName as lt, computeImplicitDeleteEdges as m, runDockerStreaming as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, ResourceUpdateNotSupportedError as nn, rewriteTemplateAssetReferences as nt, planFailedOps as o, SynthesisError as on, getBootstrapMarkerKey as ot, IMPLICIT_DELETE_DEPENDENCIES as p, runDockerForeground as pt, S3StateBackend as q, LocalInvokeBuildError as qt, DeployEngine as r, StackHasActiveImportsError as rn, AssetModeResolver as rt, planRollback as s, formatError as sn, parseBootstrapMarker as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, ResourceTimeoutError as tn, loadPublishableAssetManifest as tt, withResourceDeadline as u, withErrorHandling as un, buildDockerImage as ut, renderStatefulReason as v, synthesisStatusMessage as vt, red as w, resolveSkipPrefix as wt, cyan as x, resolveApp as xt, formatResourceLine as y, getDefaultStateBucketName as yt, normalizeAwsTagsToCfn as z, AwsClients as zt };
19256
+ //# sourceMappingURL=deploy-engine-DTNj0ag6.js.map