@go-to-k/cdkd 0.231.3 → 0.231.5

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.
@@ -31,7 +31,7 @@ import { DescribeDBClustersCommand, DescribeDBInstancesCommand, RDSClient } from
31
31
  import { DescribeReplicationGroupsCommand, ElastiCacheClient } from "@aws-sdk/client-elasticache";
32
32
  import { DescribeClustersCommand, RedshiftClient } from "@aws-sdk/client-redshift";
33
33
  import { DescribeDomainCommand, OpenSearchClient } from "@aws-sdk/client-opensearch";
34
- import { CreateWebACLCommand, DeleteWebACLCommand, GetWebACLCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$8, ListWebACLsCommand, TagResourceCommand as TagResourceCommand$9, UntagResourceCommand as UntagResourceCommand$8, UpdateWebACLCommand, WAFNonexistentItemException, WAFV2Client } from "@aws-sdk/client-wafv2";
34
+ import { CreateWebACLCommand, DeleteWebACLCommand, GetWebACLCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$8, ListWebACLsCommand, TagResourceCommand as TagResourceCommand$9, UntagResourceCommand as UntagResourceCommand$9, UpdateWebACLCommand, WAFNonexistentItemException, WAFV2Client } from "@aws-sdk/client-wafv2";
35
35
  import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
36
36
 
37
37
  //#region src/utils/aws-region-resolver.ts
@@ -4946,7 +4946,8 @@ var ReplacementRulesRegistry = class {
4946
4946
  "DeadLetterConfig",
4947
4947
  "TracingConfig",
4948
4948
  "Layers",
4949
- "FileSystemConfigs"
4949
+ "FileSystemConfigs",
4950
+ "Architectures"
4950
4951
  ])
4951
4952
  });
4952
4953
  this.rules.set("AWS::Lambda::LayerVersion", { replacementProperties: new Set([
@@ -6283,7 +6284,7 @@ var WAFv2WebACLProvider = class {
6283
6284
  const tagsToRemove = [];
6284
6285
  for (const k of oldMap.keys()) if (!newMap.has(k)) tagsToRemove.push(k);
6285
6286
  if (tagsToRemove.length > 0) {
6286
- await this.getClient().send(new UntagResourceCommand$8({
6287
+ await this.getClient().send(new UntagResourceCommand$9({
6287
6288
  ResourceARN: arn,
6288
6289
  TagKeys: tagsToRemove
6289
6290
  }));
@@ -6553,14 +6554,41 @@ const REF_RETURNS_SEGMENT_BEFORE_FIRST_PIPE = new Set([
6553
6554
  */
6554
6555
  const REF_RETURNS_NAME_FROM_ARN = new Map([["AWS::Events::Rule", ":rule/"], ["AWS::CloudTrail::Trail", ":trail/"]]);
6555
6556
  /**
6557
+ * Build a {@link RefStateLookup} from a resource's stored state maps, checking
6558
+ * `properties` first (the template value CFn `Ref` mirrors) then `attributes`.
6559
+ * Only non-empty string values qualify — an intrinsic-shaped or empty value is
6560
+ * skipped so the caller falls back to the raw physical id rather than emitting
6561
+ * a broken `[object Object]` / `''`.
6562
+ */
6563
+ function refStateLookupFromResource(resource) {
6564
+ return (keys) => {
6565
+ for (const source of [resource.properties, resource.attributes]) {
6566
+ if (!source) continue;
6567
+ for (const key of keys) {
6568
+ const value = source[key];
6569
+ if (typeof value === "string" && value.length > 0) return value;
6570
+ }
6571
+ }
6572
+ };
6573
+ }
6574
+ /**
6556
6575
  * Resolve the value CloudFormation's `Ref` returns for a resource, given its
6557
6576
  * type and cdkd-stored physical id. Pure function shared by the deploy-time
6558
6577
  * resolver ({@link IntrinsicFunctionResolver.resolveRefValue}) and the
6559
6578
  * `cdkd orphan` rewriter's `{Ref: <orphan>}` substitution, so both derive
6560
6579
  * identical CFn `Ref` semantics (after-pipe / before-first-pipe compound-id
6561
6580
  * extraction and name-from-ARN extraction included).
6581
+ *
6582
+ * `stateLookup` (optional) recovers a `Ref` value that the physical id cannot
6583
+ * yield — the `AWS::S3Tables::Table` CC-routed case, whose bare TableARN ends
6584
+ * in a UUID (not the table name CFn `Ref` returns), so the name is read from
6585
+ * the stored `TableName` property/attribute instead (issue #974).
6562
6586
  */
6563
- function cfnRefValueFromPhysicalId(resourceType, physicalId) {
6587
+ function cfnRefValueFromPhysicalId(resourceType, physicalId, stateLookup) {
6588
+ if (resourceType === "AWS::S3Tables::Table" && !physicalId.includes("|") && stateLookup) {
6589
+ const tableName = stateLookup(["TableName", "Name"]);
6590
+ if (tableName) return tableName;
6591
+ }
6564
6592
  if (resourceType === "AWS::WAFv2::WebACL" && physicalId.startsWith("arn:")) {
6565
6593
  const { id, name, scope } = parseWebACLArn(physicalId);
6566
6594
  if (name && id) return `${name}|${id}|${scope}`;
@@ -6927,9 +6955,16 @@ var IntrinsicFunctionResolver = class {
6927
6955
  * calling `events:*` APIs by name or composing the name into another string
6928
6956
  * would otherwise get the full ARN) and `AWS::CloudTrail::Trail` (`Ref` is
6929
6957
  * the trail name). The name is extracted from the stored ARN.
6958
+ *
6959
+ * `AWS::S3Tables::Table` is a hybrid: on the SDK path its compound physical
6960
+ * id yields the table name via the after-pipe extraction, but a #614-routed
6961
+ * (Cloud Control) Table stores only the bare TableARN (which ends in a UUID,
6962
+ * not the name), so the resolver passes the resource's stored `properties` /
6963
+ * `attributes` as a `stateLookup` and `cfnRefValueFromPhysicalId` recovers
6964
+ * the name from the `TableName` property (issue #974).
6930
6965
  */
6931
6966
  resolveRefValue(resource) {
6932
- return cfnRefValueFromPhysicalId(resource.resourceType, resource.physicalId);
6967
+ return cfnRefValueFromPhysicalId(resource.resourceType, resource.physicalId, refStateLookupFromResource(resource));
6933
6968
  }
6934
6969
  /**
6935
6970
  * Resolve Fn::GetAtt intrinsic function
@@ -14859,5 +14894,5 @@ var DeployEngine = class {
14859
14894
  };
14860
14895
 
14861
14896
  //#endregion
14862
- export { resolveStateBucketWithDefault as $, DagBuilder as A, formatDockerLoginError as B, findActionableSilentDrops as C, WAFv2WebACLProvider as D, cfnRefValueFromPhysicalId as E, shouldRetainResource as F, getDockerImageBySourceHash as G, runDockerForeground as H, AssetPublisher as I, getDefaultStateBucketName as J, Synthesizer as K, stringifyValue as L, LockManager as M, S3StateBackend as N, applyRoleArnIfSet as O, rebuildClientForBucketRegion as P, resolveSkipPrefix as Q, WorkGraph as R, ProviderRegistry as S, IntrinsicFunctionResolver as T, runDockerStreaming as U, getDockerCmd as V, AssetManifestLoader as W, resolveApp as X, getLegacyStateBucketName as Y, resolveCaptureObservedState as Z, green as _, withRetry as a, findLargeInlineResources as at, IAMRoleProvider as b, computeImplicitDeleteEdges as c, clearBucketRegionCache as ct, isStatefulRecreateTargetSync as d, resolveStateBucketWithDefaultAndSource as et, renderStatefulReason as f, gray as g, cyan as h, withResourceDeadline as i, MIGRATE_TMP_PREFIX as it, TemplateParser as j, DiffCalculator as k, extractDeploymentEventError as l, resolveBucketRegion as lt, bold as m, DEFAULT_RESOURCE_WARN_AFTER_MS as n, CFN_TEMPLATE_BODY_LIMIT as nt, isRetryableTransientError as o, uploadCfnTemplate as ot, formatResourceLine as p, synthesisStatusMessage as q, DeployEngine as r, CFN_TEMPLATE_URL_LIMIT as rt, IMPLICIT_DELETE_DEPENDENCIES as s, AssemblyReader as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, warnDeprecatedNoPrefixCliFlag as tt, MULTI_REGION_RECREATE_BLOCKED_TYPES as u, red as v, CloudControlProvider as w, collectInlinePolicyNamesManagedBySiblings as x, yellow as y, buildDockerImage as z };
14863
- //# sourceMappingURL=deploy-engine-B9NOJeGf.js.map
14897
+ export { resolveSkipPrefix as $, DiffCalculator as A, buildDockerImage as B, findActionableSilentDrops as C, refStateLookupFromResource as D, cfnRefValueFromPhysicalId as E, rebuildClientForBucketRegion as F, AssetManifestLoader as G, getDockerCmd as H, shouldRetainResource as I, synthesisStatusMessage as J, getDockerImageBySourceHash as K, AssetPublisher as L, TemplateParser as M, LockManager as N, WAFv2WebACLProvider as O, S3StateBackend as P, resolveCaptureObservedState as Q, stringifyValue as R, ProviderRegistry as S, IntrinsicFunctionResolver as T, runDockerForeground as U, formatDockerLoginError as V, runDockerStreaming as W, getLegacyStateBucketName as X, getDefaultStateBucketName as Y, resolveApp as Z, green as _, withRetry as a, MIGRATE_TMP_PREFIX as at, IAMRoleProvider as b, computeImplicitDeleteEdges as c, AssemblyReader as ct, isStatefulRecreateTargetSync as d, resolveStateBucketWithDefault as et, renderStatefulReason as f, gray as g, cyan as h, withResourceDeadline as i, CFN_TEMPLATE_URL_LIMIT as it, DagBuilder as j, applyRoleArnIfSet as k, extractDeploymentEventError as l, clearBucketRegionCache as lt, bold as m, DEFAULT_RESOURCE_WARN_AFTER_MS as n, warnDeprecatedNoPrefixCliFlag as nt, isRetryableTransientError as o, findLargeInlineResources as ot, formatResourceLine as p, Synthesizer as q, DeployEngine as r, CFN_TEMPLATE_BODY_LIMIT as rt, IMPLICIT_DELETE_DEPENDENCIES as s, uploadCfnTemplate as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, resolveStateBucketWithDefaultAndSource as tt, MULTI_REGION_RECREATE_BLOCKED_TYPES as u, resolveBucketRegion as ut, red as v, CloudControlProvider as w, collectInlinePolicyNamesManagedBySiblings as x, yellow as y, WorkGraph as z };
14898
+ //# sourceMappingURL=deploy-engine-D-51YceH.js.map