@go-to-k/cdkd 0.273.1 → 0.275.0

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.
@@ -5280,6 +5280,32 @@ var WorkGraph = class {
5280
5280
 
5281
5281
  //#endregion
5282
5282
  //#region src/utils/stringify.ts
5283
+ /**
5284
+ * Attribute names whose VALUES must never reach a log line, even at debug
5285
+ * level. `Fn::GetAtt` resolution debug-logs the resolved value, and some
5286
+ * attributes carry live long-lived credentials — the first was
5287
+ * `AWS::IAM::AccessKey.SecretAccessKey` (issue #1323), where a `--verbose`
5288
+ * deploy (or a CI log) would otherwise print a usable IAM secret key.
5289
+ * Matched against the ATTRIBUTE NAME (not the value), so legitimate
5290
+ * non-secret attributes keep full debug output.
5291
+ */
5292
+ const SENSITIVE_ATTRIBUTE_NAME = /secret|password|credential/i;
5293
+ /**
5294
+ * Names that MATCH the sensitive pattern but denote identifiers, not the
5295
+ * credential material itself (`SecretArn`, `MasterUserSecret.SecretArn`,
5296
+ * `SecretId`, ...). ARNs / ids are load-bearing debug output — redacting them
5297
+ * would hurt debuggability without protecting anything.
5298
+ */
5299
+ const NON_SENSITIVE_SUFFIX = /(arn|id|name|url|alias|status)$/i;
5300
+ /**
5301
+ * Render an attribute value for a debug log line, redacting values whose
5302
+ * attribute name looks credential-bearing (see
5303
+ * {@link SENSITIVE_ATTRIBUTE_NAME}).
5304
+ */
5305
+ function stringifyAttributeForLog(attributeName, value) {
5306
+ if (SENSITIVE_ATTRIBUTE_NAME.test(attributeName) && !NON_SENSITIVE_SUFFIX.test(attributeName)) return "<redacted>";
5307
+ return stringifyValue(value);
5308
+ }
5283
5309
  function stringifyValue(value) {
5284
5310
  switch (typeof value) {
5285
5311
  case "string": return value;
@@ -7708,6 +7734,7 @@ const IAM_PROPAGATION_ERROR_MESSAGE_PATTERNS = [
7708
7734
  "does not have required permissions",
7709
7735
  "Trusted Entity",
7710
7736
  "Invalid principal in policy",
7737
+ "The user with name",
7711
7738
  "Policy Error: PrincipalNotFound",
7712
7739
  "Invalid value for the parameter Policy",
7713
7740
  "required permissions for: ENHANCED_MONITORING",
@@ -10092,7 +10119,7 @@ var IntrinsicFunctionResolver = class {
10092
10119
  if (!(resource.resourceType === "AWS::EC2::VPC" && attributeName === "Ipv6CidrBlocks") && resource.attributes !== void 0) {
10093
10120
  const flatValue = resource.attributes[attributeName];
10094
10121
  if (flatValue !== void 0) {
10095
- this.logger.debug(`Resolved Fn::GetAtt from attributes: ${logicalId}.${attributeName} -> ${stringifyValue(flatValue)}`);
10122
+ this.logger.debug(`Resolved Fn::GetAtt from attributes: ${logicalId}.${attributeName} -> ${stringifyAttributeForLog(attributeName, flatValue)}`);
10096
10123
  return flatValue;
10097
10124
  }
10098
10125
  if (attributeName.includes(".")) {
@@ -10104,13 +10131,13 @@ var IntrinsicFunctionResolver = class {
10104
10131
  break;
10105
10132
  }
10106
10133
  if (cursor !== void 0) {
10107
- this.logger.debug(`Resolved Fn::GetAtt from nested attributes: ${logicalId}.${attributeName} -> ${stringifyValue(cursor)}`);
10134
+ this.logger.debug(`Resolved Fn::GetAtt from nested attributes: ${logicalId}.${attributeName} -> ${stringifyAttributeForLog(attributeName, cursor)}`);
10108
10135
  return cursor;
10109
10136
  }
10110
10137
  }
10111
10138
  }
10112
10139
  const value = await this.constructAttribute(resource, attributeName, context, logicalId);
10113
- this.logger.debug(`Resolved Fn::GetAtt: ${logicalId}.${attributeName} -> ${stringifyValue(value)}`);
10140
+ this.logger.debug(`Resolved Fn::GetAtt: ${logicalId}.${attributeName} -> ${stringifyAttributeForLog(attributeName, value)}`);
10114
10141
  return value;
10115
10142
  }
10116
10143
  /**
@@ -11443,6 +11470,18 @@ const CC_PROTECTION_PROPERTIES = {
11443
11470
  "AWS::VerifiedPermissions::PolicyStore": {
11444
11471
  property: "DeletionProtection",
11445
11472
  offValue: { Mode: "DISABLED" }
11473
+ },
11474
+ "AWS::EKS::Cluster": {
11475
+ property: "DeletionProtection",
11476
+ offValue: false
11477
+ },
11478
+ "AWS::RDS::GlobalCluster": {
11479
+ property: "DeletionProtection",
11480
+ offValue: false
11481
+ },
11482
+ "AWS::DocDB::GlobalCluster": {
11483
+ property: "DeletionProtection",
11484
+ offValue: false
11446
11485
  }
11447
11486
  };
11448
11487
  /**
@@ -11508,7 +11547,6 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
11508
11547
  "AWS::DAX::ParameterGroup",
11509
11548
  "AWS::DAX::SubnetGroup",
11510
11549
  "AWS::DirectoryService::MicrosoftAD",
11511
- "AWS::DMS::Endpoint",
11512
11550
  "AWS::DMS::EventSubscription",
11513
11551
  "AWS::DMS::ReplicationInstance",
11514
11552
  "AWS::DMS::ReplicationSubnetGroup",
@@ -11557,7 +11595,6 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
11557
11595
  "AWS::Greengrass::SubscriptionDefinitionVersion",
11558
11596
  "AWS::GreengrassV2::Component",
11559
11597
  "AWS::GreengrassV2::CoreDevice",
11560
- "AWS::IAM::AccessKey",
11561
11598
  "AWS::IdentityStore::AllGroupMemberships",
11562
11599
  "AWS::ImageBuilder::AllImageBuildVersions",
11563
11600
  "AWS::ImageBuilder::AllWorkflowBuildVersions",
@@ -11738,6 +11775,10 @@ const SLOW_CC_OPERATION_TIMEOUTS = {
11738
11775
  "AWS::RDS::DBCluster": {
11739
11776
  create: 60 * MINUTE_MS,
11740
11777
  delete: 60 * MINUTE_MS
11778
+ },
11779
+ "AWS::EKS::Cluster": {
11780
+ create: 30 * MINUTE_MS,
11781
+ delete: 30 * MINUTE_MS
11741
11782
  }
11742
11783
  };
11743
11784
  /**
@@ -11986,7 +12027,7 @@ var CloudControlProvider = class {
11986
12027
  this.logger.debug(`Deleting resource ${logicalId} (${resourceType}), physical ID: ${physicalId}`);
11987
12028
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
11988
12029
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
11989
- const { ASGProvider } = await import("./asg-provider-ULGME-kl.js").then((n) => n.n);
12030
+ const { ASGProvider } = await import("./asg-provider-BfdF-bjF.js").then((n) => n.n);
11990
12031
  await new ASGProvider().delete(logicalId, physicalId, resourceType, _properties, context);
11991
12032
  return;
11992
12033
  }
@@ -14654,6 +14695,14 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
14654
14695
  ]),
14655
14696
  silentDrop: /* @__PURE__ */ new Map()
14656
14697
  }],
14698
+ ["AWS::IAM::AccessKey", {
14699
+ handled: /* @__PURE__ */ new Set([
14700
+ "Serial",
14701
+ "Status",
14702
+ "UserName"
14703
+ ]),
14704
+ silentDrop: /* @__PURE__ */ new Map()
14705
+ }],
14657
14706
  ["AWS::IAM::Group", {
14658
14707
  handled: /* @__PURE__ */ new Set([
14659
14708
  "GroupName",
@@ -17755,7 +17804,7 @@ const FLUSH_INTERVAL_MS = 2e3;
17755
17804
  const FLUSH_EVENT_THRESHOLD = 50;
17756
17805
  /** Build-time cdkd version, with a dev fallback for non-built contexts. */
17757
17806
  function getCdkdVersion() {
17758
- return "0.273.1";
17807
+ return "0.275.0";
17759
17808
  }
17760
17809
  /**
17761
17810
  * Generate a time-sortable unique run id, e.g.
@@ -19801,4 +19850,4 @@ var DeployEngine = class {
19801
19850
 
19802
19851
  //#endregion
19803
19852
  export { WorkGraph as $, LockError as $t, slowCcOperationTimeoutMs as A, warnDeprecatedNoPrefixCliFlag as At, applyRoleArnIfSet as B, resolveBucketRegion as Bt, yellow as C, resolveAutoAssetStorage as Ct, ProviderRegistry as D, resolveStateBucketWithDefaultAndSource as Dt, clearOnUpdateRemoval as E, resolveStateBucketWithDefault as Et, refStateLookupFromResource as F, uploadCfnTemplate as Ft, DagBuilder as G, AssetError as Gt, describeTypeWithThrottleRetry as H, getAwsClients as Ht, WAFv2WebACLProvider as I, expectedOwnerParam as It, S3StateBackend as J, DependencyError as Jt, TemplateParser as K, CdkdError as Kt, normalizeAwsTagsToCfn as L, AssemblyReader as Lt, isTerminationProtectionPropagationError as M, CFN_TEMPLATE_URL_LIMIT as Mt, IntrinsicFunctionResolver as N, MIGRATE_TMP_PREFIX as Nt, findActionableSilentDrops as O, resolveUseCdkBootstrapAssets as Ot, cfnRefValueFromPhysicalId as P, findLargeInlineResources as Pt, stringifyValue as Q, LocalStartServiceError as Qt, resolveExplicitPhysicalId as R, processStackMessages as Rt, red as S, resolveApp as St, collectInlinePolicyNamesManagedBySiblings as T, resolveSkipPrefix as Tt, withRetry as U, resetAwsClients as Ut, DiffCalculator as V, AwsClients as Vt, isRetryableTransientError as W, setAwsClients as Wt, shouldRetainResource as X, LocalInvokeBuildError as Xt, rebuildClientForBucketRegion as Y, DeployCancelledError as Yt, AssetPublisher as Z, LocalMigrateError as Zt, formatResourceLine as _, getDockerImageBySourceHash as _t, DeploymentEventsStore as a, ResourceUpdateNotSupportedError as an, BOOTSTRAP_MARKER_PREFIX as at, gray as b, getDefaultStateBucketName as bt, replayFailedOperations as c, StateError as cn, parseBootstrapMarker as ct, IMPLICIT_DELETE_DEPENDENCIES as d, isCdkdError as dn, buildDockerImage as dt, MissingCdkCliError as en, buildAssetRedirectMap as et, computeImplicitDeleteEdges as f, normalizeAwsError as fn, formatDockerLoginError as ft, renderStatefulReason as g, AssetManifestLoader as gt, isStatefulRecreateTargetSync as h, runDockerStreaming as ht, DeploymentEventsReader as i, ResourceTimeoutError as in, AssetModeResolver as it, disableInstanceApiTermination as j, CFN_TEMPLATE_BODY_LIMIT as jt, CloudControlProvider as k, stateBucketExistenceConfirmed as kt, replayRollback as l, SynthesisError as ln, validateAssetBucketName as lt, MULTI_REGION_RECREATE_BLOCKED_TYPES as m, __exportAll as mn, runDockerForeground as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, PartialFailureError as nn, loadPublishableAssetManifest as nt, planFailedOps as o, StackHasActiveImportsError as on, ensureAssetStorage as ot, extractDeploymentEventError as p, withErrorHandling as pn, getDockerCmd as pt, LockManager as q, ConfigError as qt, DeployEngine as r, ProvisioningError as rn, rewriteTemplateAssetReferences as rt, planRollback as s, StackTerminationProtectionError as sn, getBootstrapMarkerKey as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, NestedStackChildDirectDestroyError as tn, createAssetRedirectResolver as tt, withResourceDeadline as u, formatError as un, validateContainerRepoName as ut, bold as v, Synthesizer as vt, IAMRoleProvider as w, resolveCaptureObservedState as wt, green as x, getLegacyStateBucketName as xt, cyan as y, synthesisStatusMessage as yt, assertRegionMatch as z, clearBucketRegionCache as zt };
19804
- //# sourceMappingURL=deploy-engine-DWTuOQRK.js.map
19853
+ //# sourceMappingURL=deploy-engine-DkdxZIwS.js.map