@go-to-k/cdkd 0.260.8 → 0.260.10

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.
@@ -8738,6 +8738,7 @@ const REF_RETURNS_SEGMENT_AFTER_PIPE = /* @__PURE__ */ new Set([
8738
8738
  * type's own `describe-type` primaryIdentifier.
8739
8739
  */
8740
8740
  const REF_RETURNS_SEGMENT_BEFORE_FIRST_PIPE = /* @__PURE__ */ new Set([
8741
+ "AWS::EC2::EIP",
8741
8742
  "AWS::ApiGateway::Deployment",
8742
8743
  "AWS::ApiGateway::DocumentationPart",
8743
8744
  "AWS::ApiGatewayV2::Authorizer",
@@ -10620,21 +10621,32 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
10620
10621
  "AWS::AppMesh::VirtualService",
10621
10622
  "AWS::AppStream::Fleet",
10622
10623
  "AWS::AppSync::ApiCache",
10624
+ "AWS::Artifact::Report",
10625
+ "AWS::Athena::Session",
10626
+ "AWS::AutoScaling::ScheduledAction",
10623
10627
  "AWS::AutoScalingPlans::ScalingPlan",
10628
+ "AWS::BackupSearch::SearchJob",
10629
+ "AWS::BCMDataExports::Table",
10624
10630
  "AWS::Bedrock::DefaultPromptRouter",
10625
10631
  "AWS::Bedrock::ModelInvocationJob",
10632
+ "AWS::BedrockAgentCore::BrowserProfile",
10626
10633
  "AWS::BedrockAgentCore::TokenVault",
10627
10634
  "AWS::Cloud9::EnvironmentEC2",
10628
10635
  "AWS::CloudFormation::Macro",
10636
+ "AWS::CloudFormation::ResourceScan",
10629
10637
  "AWS::CloudFormation::WaitCondition",
10630
10638
  "AWS::CloudFront::StreamingDistribution",
10631
10639
  "AWS::CloudWatch::AnomalyDetector",
10640
+ "AWS::CodeArtifact::Package",
10632
10641
  "AWS::CodeBuild::ReportGroup",
10642
+ "AWS::CodeBuild::Sandbox",
10633
10643
  "AWS::CodeBuild::SourceCredential",
10634
10644
  "AWS::CodeStar::GitHubRepository",
10645
+ "AWS::CognitoSync::Dataset",
10635
10646
  "AWS::Config::ConfigurationRecorder",
10636
10647
  "AWS::Config::DeliveryChannel",
10637
10648
  "AWS::Config::OrganizationConfigRule",
10649
+ "AWS::ControlCatalog::Objective",
10638
10650
  "AWS::DAX::Cluster",
10639
10651
  "AWS::DAX::ParameterGroup",
10640
10652
  "AWS::DAX::SubnetGroup",
@@ -10645,17 +10657,21 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
10645
10657
  "AWS::DMS::ReplicationSubnetGroup",
10646
10658
  "AWS::DMS::ReplicationTask",
10647
10659
  "AWS::DocDB::DBClusterParameterGroup",
10648
- "AWS::DocDB::EventSubscription",
10660
+ "AWS::DynamoDB::Export",
10649
10661
  "AWS::EC2::ClientVpnAuthorizationRule",
10650
10662
  "AWS::EC2::ClientVpnEndpoint",
10651
10663
  "AWS::EC2::ClientVpnRoute",
10652
10664
  "AWS::EC2::ClientVpnTargetNetworkAssociation",
10653
10665
  "AWS::EC2::NetworkInterfacePermission",
10654
10666
  "AWS::EC2::VPNGatewayRoutePropagation",
10667
+ "AWS::ElastiCache::ReservedCacheNode",
10655
10668
  "AWS::ElastiCache::SecurityGroup",
10656
10669
  "AWS::ElastiCache::SecurityGroupIngress",
10657
10670
  "AWS::ElasticLoadBalancingV2::ListenerCertificate",
10658
10671
  "AWS::Elasticsearch::Domain",
10672
+ "AWS::EMR::NotebookExecution",
10673
+ "AWS::Events::Replay",
10674
+ "AWS::FIS::SafetyLever",
10659
10675
  "AWS::FSx::Snapshot",
10660
10676
  "AWS::FSx::StorageVirtualMachine",
10661
10677
  "AWS::FSx::Volume",
@@ -10682,7 +10698,11 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
10682
10698
  "AWS::Greengrass::ResourceDefinitionVersion",
10683
10699
  "AWS::Greengrass::SubscriptionDefinition",
10684
10700
  "AWS::Greengrass::SubscriptionDefinitionVersion",
10701
+ "AWS::GreengrassV2::Component",
10702
+ "AWS::GreengrassV2::CoreDevice",
10685
10703
  "AWS::IAM::AccessKey",
10704
+ "AWS::ImageBuilder::AllWorkflowBuildVersions",
10705
+ "AWS::ImageBuilder::WorkflowExecution",
10686
10706
  "AWS::IoT::PolicyPrincipalAttachment",
10687
10707
  "AWS::IoT::ThingPrincipalAttachment",
10688
10708
  "AWS::IoTThingsGraph::FlowTemplate",
@@ -10703,7 +10723,11 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
10703
10723
  "AWS::MediaLive::Channel",
10704
10724
  "AWS::MediaLive::Input",
10705
10725
  "AWS::MediaLive::InputSecurityGroup",
10726
+ "AWS::MediaLive::Offering",
10706
10727
  "AWS::MediaStore::Container",
10728
+ "AWS::MemoryDB::MultiRegionParameterGroup",
10729
+ "AWS::MemoryDB::ReservedNode",
10730
+ "AWS::Omics::Reference",
10707
10731
  "AWS::OpsWorks::App",
10708
10732
  "AWS::OpsWorks::ElasticLoadBalancerAttachment",
10709
10733
  "AWS::OpsWorks::Instance",
@@ -10711,6 +10735,8 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
10711
10735
  "AWS::OpsWorks::Stack",
10712
10736
  "AWS::OpsWorks::UserProfile",
10713
10737
  "AWS::OpsWorks::Volume",
10738
+ "AWS::OSIS::PipelineBlueprint",
10739
+ "AWS::Personalize::Recipe",
10714
10740
  "AWS::Pinpoint::ADMChannel",
10715
10741
  "AWS::Pinpoint::APNSChannel",
10716
10742
  "AWS::Pinpoint::APNSSandboxChannel",
@@ -10738,6 +10764,7 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
10738
10764
  "AWS::RDS::DBSecurityGroupIngress",
10739
10765
  "AWS::Redshift::ClusterSecurityGroup",
10740
10766
  "AWS::Redshift::ClusterSecurityGroupIngress",
10767
+ "AWS::RedshiftServerless::RecoveryPoint",
10741
10768
  "AWS::Route53::RecordSetGroup",
10742
10769
  "AWS::SageMaker::CodeRepository",
10743
10770
  "AWS::SageMaker::EndpointConfig",
@@ -10752,6 +10779,12 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
10752
10779
  "AWS::SES::ReceiptFilter",
10753
10780
  "AWS::SES::ReceiptRule",
10754
10781
  "AWS::SES::ReceiptRuleSet",
10782
+ "AWS::Signer::SigningJob",
10783
+ "AWS::SSM::Session",
10784
+ "AWS::States::Execution",
10785
+ "AWS::ThinClient::SoftwareSet",
10786
+ "AWS::Transcribe::MedicalTranscriptionJob",
10787
+ "AWS::UserNotifications::ManagedNotificationConfiguration",
10755
10788
  "AWS::WAF::ByteMatchSet",
10756
10789
  "AWS::WAF::IPSet",
10757
10790
  "AWS::WAF::Rule",
@@ -11065,7 +11098,7 @@ var CloudControlProvider = class {
11065
11098
  this.logger.debug(`Deleting resource ${logicalId} (${resourceType}), physical ID: ${physicalId}`);
11066
11099
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
11067
11100
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
11068
- const { ASGProvider } = await import("./asg-provider-rcNqhfPS.js").then((n) => n.n);
11101
+ const { ASGProvider } = await import("./asg-provider-CU5tyKkY.js").then((n) => n.n);
11069
11102
  await new ASGProvider().delete(logicalId, physicalId, resourceType, _properties, context);
11070
11103
  return;
11071
11104
  }
@@ -12964,6 +12997,20 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
12964
12997
  ]),
12965
12998
  silentDrop: /* @__PURE__ */ new Map([["ImportSourceSpecification", "S3 import uses the separate ImportTable API (not CreateTable) and is create-only with no readback; deferred to a dedicated import-from-S3 PR"]])
12966
12999
  }],
13000
+ ["AWS::EC2::EIP", {
13001
+ handled: /* @__PURE__ */ new Set([
13002
+ "Domain",
13003
+ "InstanceId",
13004
+ "NetworkBorderGroup",
13005
+ "PublicIpv4Pool",
13006
+ "Tags"
13007
+ ]),
13008
+ silentDrop: /* @__PURE__ */ new Map([
13009
+ ["Address", "Bring-your-own-IP: allocating a specific address you own is not yet supported; cdkd allocates an Amazon-owned address"],
13010
+ ["IpamPoolId", "Allocation from an IPAM pool is not yet supported"],
13011
+ ["TransferAddress", "Accepting a transferred Elastic IP is not yet supported (out-of-band EIP transfer flow)"]
13012
+ ])
13013
+ }],
12967
13014
  ["AWS::EC2::Instance", {
12968
13015
  handled: /* @__PURE__ */ new Set([
12969
13016
  "BlockDeviceMappings",
@@ -15691,9 +15738,66 @@ function renderStatefulReason(reason) {
15691
15738
  var DagExecutor = class {
15692
15739
  nodes = /* @__PURE__ */ new Map();
15693
15740
  logger = getLogger().child("DagExecutor");
15741
+ /**
15742
+ * Per-node scheduling priority = number of transitive dependents (how many
15743
+ * other registered nodes ultimately wait on this one). Computed once, lazily,
15744
+ * on the first dispatch and cached for the run.
15745
+ *
15746
+ * The ready set is ordered by this priority (descending) so bottleneck-feeding
15747
+ * resources on the critical path start as early as their deps allow, instead
15748
+ * of in template logical-id (node insertion) order.
15749
+ *
15750
+ * Motivation: a zero-dependency `AWS::EC2::EIP` was starting 28th of 43 in a
15751
+ * VPC deploy because it sorts late by logical id, which pushed its dependent
15752
+ * NAT Gateway (a ~2 min AWS-side create) to the tail of the run. Front-loading
15753
+ * by transitive-dependent count starts the EIP -> NAT chain immediately so the
15754
+ * long NAT wait overlaps the rest of the stack — the effect CloudFormation's
15755
+ * parallel walk already achieves. Ties keep insertion order (stable sort).
15756
+ */
15757
+ priorityById = null;
15694
15758
  add(node) {
15695
15759
  this.nodes.set(node.id, node);
15696
15760
  }
15761
+ /**
15762
+ * Compute the transitive-dependent count for every node, once. A node's
15763
+ * dependents are the registered nodes that list it in their `dependencies`;
15764
+ * the transitive count is the size of the union of its direct dependents and
15765
+ * all of theirs. Memoized per node; a cycle guard keeps a malformed graph
15766
+ * from recursing forever (the executor itself rejects on deadlock later).
15767
+ */
15768
+ computePriorities() {
15769
+ if (this.priorityById) return this.priorityById;
15770
+ const dependentsOf = /* @__PURE__ */ new Map();
15771
+ for (const node of this.nodes.values()) for (const depId of node.dependencies) {
15772
+ if (!this.nodes.has(depId)) continue;
15773
+ let set = dependentsOf.get(depId);
15774
+ if (!set) {
15775
+ set = /* @__PURE__ */ new Set();
15776
+ dependentsOf.set(depId, set);
15777
+ }
15778
+ set.add(node.id);
15779
+ }
15780
+ const memo = /* @__PURE__ */ new Map();
15781
+ const visiting = /* @__PURE__ */ new Set();
15782
+ const collect = (id) => {
15783
+ const cached = memo.get(id);
15784
+ if (cached) return cached;
15785
+ const acc = /* @__PURE__ */ new Set();
15786
+ if (visiting.has(id)) return acc;
15787
+ visiting.add(id);
15788
+ for (const dependent of dependentsOf.get(id) ?? []) {
15789
+ acc.add(dependent);
15790
+ for (const t of collect(dependent)) acc.add(t);
15791
+ }
15792
+ visiting.delete(id);
15793
+ memo.set(id, acc);
15794
+ return acc;
15795
+ };
15796
+ const priorities = /* @__PURE__ */ new Map();
15797
+ for (const id of this.nodes.keys()) priorities.set(id, collect(id).size);
15798
+ this.priorityById = priorities;
15799
+ return priorities;
15800
+ }
15697
15801
  has(id) {
15698
15802
  return this.nodes.has(id);
15699
15803
  }
@@ -15706,6 +15810,7 @@ var DagExecutor = class {
15706
15810
  async execute(concurrency, fn, cancelled = () => false) {
15707
15811
  let active = 0;
15708
15812
  const errors = [];
15813
+ const priority = this.computePriorities();
15709
15814
  return new Promise((resolve, reject) => {
15710
15815
  const dispatch = () => {
15711
15816
  let changed = true;
@@ -15731,6 +15836,7 @@ var DagExecutor = class {
15731
15836
  return !dep || dep.state === "completed";
15732
15837
  })) ready.push(node);
15733
15838
  }
15839
+ ready.sort((a, b) => (priority.get(b.id) ?? 0) - (priority.get(a.id) ?? 0));
15734
15840
  if (!cancelled()) for (const node of ready) {
15735
15841
  if (active >= concurrency) break;
15736
15842
  node.state = "running";
@@ -17732,4 +17838,4 @@ var DeployEngine = class {
17732
17838
 
17733
17839
  //#endregion
17734
17840
  export { getBootstrapMarkerKey as $, formatError as $t, refStateLookupFromResource as A, resolveBucketRegion as At, S3StateBackend as B, LocalMigrateError as Bt, findActionableSilentDrops as C, CFN_TEMPLATE_URL_LIMIT as Ct, isTerminationProtectionPropagationError as D, expectedOwnerParam as Dt, disableInstanceApiTermination as E, uploadCfnTemplate as Et, applyRoleArnIfSet as F, AssetError as Ft, WorkGraph as G, PartialFailureError as Gt, shouldRetainResource as H, LockError as Ht, DiffCalculator as I, CdkdError as It, loadPublishableAssetManifest as J, ResourceUpdateNotSupportedError as Jt, buildAssetRedirectMap as K, ProvisioningError as Kt, DagBuilder as L, ConfigError as Lt, normalizeAwsTagsToCfn as M, getAwsClients as Mt, resolveExplicitPhysicalId as N, resetAwsClients as Nt, IntrinsicFunctionResolver as O, AssemblyReader as Ot, assertRegionMatch as P, setAwsClients as Pt, ensureAssetStorage as Q, SynthesisError as Qt, TemplateParser as R, DependencyError as Rt, ProviderRegistry as S, CFN_TEMPLATE_BODY_LIMIT as St, slowCcOperationTimeoutMs as T, findLargeInlineResources as Tt, AssetPublisher as U, MissingCdkCliError as Ut, rebuildClientForBucketRegion as V, LocalStartServiceError as Vt, stringifyValue as W, NestedStackChildDirectDestroyError as Wt, AssetModeResolver as X, StackTerminationProtectionError as Xt, rewriteTemplateAssetReferences as Y, StackHasActiveImportsError as Yt, BOOTSTRAP_MARKER_PREFIX as Z, StateError as Zt, green as _, resolveSkipPrefix as _t, withRetry as a, getDockerCmd as at, IAMRoleProvider as b, resolveUseCdkBootstrapAssets as bt, computeImplicitDeleteEdges as c, AssetManifestLoader as ct, isStatefulRecreateTargetSync as d, synthesisStatusMessage as dt, isCdkdError as en, parseBootstrapMarker as et, renderStatefulReason as f, getDefaultStateBucketName as ft, gray as g, resolveCaptureObservedState as gt, cyan as h, resolveAutoAssetStorage as ht, withResourceDeadline as i, formatDockerLoginError as it, WAFv2WebACLProvider as j, AwsClients as jt, cfnRefValueFromPhysicalId as k, clearBucketRegionCache as kt, extractDeploymentEventError as l, getDockerImageBySourceHash as lt, bold as m, resolveApp as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, withErrorHandling as nn, validateContainerRepoName as nt, isRetryableTransientError as o, runDockerForeground as ot, formatResourceLine as p, getLegacyStateBucketName as pt, createAssetRedirectResolver as q, ResourceTimeoutError as qt, DeployEngine as r, __exportAll as rn, buildDockerImage as rt, IMPLICIT_DELETE_DEPENDENCIES as s, runDockerStreaming as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, normalizeAwsError as tn, validateAssetBucketName as tt, MULTI_REGION_RECREATE_BLOCKED_TYPES as u, Synthesizer as ut, red as v, resolveStateBucketWithDefault as vt, CloudControlProvider as w, MIGRATE_TMP_PREFIX as wt, collectInlinePolicyNamesManagedBySiblings as x, warnDeprecatedNoPrefixCliFlag as xt, yellow as y, resolveStateBucketWithDefaultAndSource as yt, LockManager as z, LocalInvokeBuildError as zt };
17735
- //# sourceMappingURL=deploy-engine-Dg51mHCV.js.map
17841
+ //# sourceMappingURL=deploy-engine-DBNn0Aq7.js.map