@fractal_cloud/sdk 1.1.0 → 1.2.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.
- package/README.md +33 -0
- package/dist/index.cjs +258 -77
- package/dist/index.d.cts +99 -59
- package/dist/index.d.mts +99 -59
- package/dist/index.mjs +258 -77
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1563,6 +1563,29 @@ type LiveSystemBuilder = {
|
|
|
1563
1563
|
//#region src/live_system/index.d.ts
|
|
1564
1564
|
declare namespace LiveSystem$1 {
|
|
1565
1565
|
type Status = 'Unknown' | 'Mutating' | 'Active' | 'FailedMutation' | 'Processing' | 'Error' | 'Ready' | 'Deleting' | 'Stale';
|
|
1566
|
+
/**
|
|
1567
|
+
* Controls how deploy() behaves after submitting the live system to the API.
|
|
1568
|
+
*
|
|
1569
|
+
* - `'fire-and-forget'` (default): submit and return immediately. Errors are
|
|
1570
|
+
* logged to the console but not thrown. Suitable for applications and CLIs
|
|
1571
|
+
* where deployment is a background concern.
|
|
1572
|
+
*
|
|
1573
|
+
* - `'wait'`: submit then poll until the live system reaches `Active` status.
|
|
1574
|
+
* Throws if deployment fails or if the timeout is exceeded. Suitable for
|
|
1575
|
+
* CI/CD pipelines where the pipeline must not advance until infrastructure
|
|
1576
|
+
* is fully provisioned.
|
|
1577
|
+
*/
|
|
1578
|
+
type DeployOptions = {
|
|
1579
|
+
mode: 'fire-and-forget' | 'wait'; /** Polling interval in milliseconds. Default: 5000 (5 s). Only used with `mode: 'wait'`. */
|
|
1580
|
+
pollIntervalMs?: number; /** Maximum time to wait in milliseconds. Default: 600000 (10 min). Only used with `mode: 'wait'`. */
|
|
1581
|
+
timeoutMs?: number;
|
|
1582
|
+
/**
|
|
1583
|
+
* Suppress all SDK log output. Default: false.
|
|
1584
|
+
* Set to `true` when a CLI or wrapper layer owns the presentation layer.
|
|
1585
|
+
* Only applies to `mode: 'wait'` — `fire-and-forget` is always silent.
|
|
1586
|
+
*/
|
|
1587
|
+
quiet?: boolean;
|
|
1588
|
+
};
|
|
1566
1589
|
type Id = LiveSystemId;
|
|
1567
1590
|
namespace Id {
|
|
1568
1591
|
type Builder = LiveSystemIdBuilder;
|
|
@@ -1590,21 +1613,59 @@ type LiveSystem$1 = {
|
|
|
1590
1613
|
environment: Environment$1;
|
|
1591
1614
|
createdAt: Date;
|
|
1592
1615
|
updatedAt: Date;
|
|
1593
|
-
deploy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
|
|
1616
|
+
deploy: (credentials: ServiceAccountCredentials$1, options?: LiveSystem$1.DeployOptions) => Promise<void>;
|
|
1594
1617
|
destroy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
|
|
1595
1618
|
};
|
|
1596
1619
|
//#endregion
|
|
1620
|
+
//#region src/fractal/component/network_and_compute/iaas/security_group.d.ts
|
|
1621
|
+
type IngressRule = {
|
|
1622
|
+
protocol?: string;
|
|
1623
|
+
fromPort: number;
|
|
1624
|
+
toPort?: number;
|
|
1625
|
+
sourceCidr?: string;
|
|
1626
|
+
sourceGroupId?: string;
|
|
1627
|
+
};
|
|
1628
|
+
type SecurityGroupBuilder = {
|
|
1629
|
+
withId: (id: string) => SecurityGroupBuilder;
|
|
1630
|
+
withVersion: (major: number, minor: number, patch: number) => SecurityGroupBuilder;
|
|
1631
|
+
withDisplayName: (displayName: string) => SecurityGroupBuilder;
|
|
1632
|
+
withDescription: (description: string) => SecurityGroupBuilder;
|
|
1633
|
+
withIngressRules: (rules: IngressRule[]) => SecurityGroupBuilder;
|
|
1634
|
+
withLinks: (links: ComponentLink[]) => SecurityGroupBuilder;
|
|
1635
|
+
build: () => SecurityGroupComponent;
|
|
1636
|
+
};
|
|
1637
|
+
type SecurityGroupConfig = {
|
|
1638
|
+
id: string;
|
|
1639
|
+
version: {
|
|
1640
|
+
major: number;
|
|
1641
|
+
minor: number;
|
|
1642
|
+
patch: number;
|
|
1643
|
+
};
|
|
1644
|
+
displayName: string;
|
|
1645
|
+
description: string;
|
|
1646
|
+
ingressRules?: IngressRule[];
|
|
1647
|
+
};
|
|
1648
|
+
/** A BlueprintComponent that is guaranteed to be a SecurityGroup. */
|
|
1649
|
+
type SecurityGroupComponent = BlueprintComponent & {
|
|
1650
|
+
readonly _brand: 'SecurityGroup';
|
|
1651
|
+
};
|
|
1652
|
+
declare namespace SecurityGroup {
|
|
1653
|
+
const getBuilder: () => SecurityGroupBuilder;
|
|
1654
|
+
const create: (config: SecurityGroupConfig) => SecurityGroupComponent;
|
|
1655
|
+
}
|
|
1656
|
+
//#endregion
|
|
1597
1657
|
//#region src/fractal/component/network_and_compute/iaas/vm.d.ts
|
|
1598
1658
|
type VmPortLink = {
|
|
1599
|
-
target:
|
|
1659
|
+
target: VirtualMachineComponent;
|
|
1600
1660
|
fromPort: number;
|
|
1601
1661
|
toPort?: number;
|
|
1602
1662
|
protocol?: string;
|
|
1603
1663
|
};
|
|
1604
|
-
type
|
|
1664
|
+
type VirtualMachineComponent = {
|
|
1605
1665
|
readonly component: BlueprintComponent;
|
|
1606
|
-
readonly components: ReadonlyArray<BlueprintComponent>;
|
|
1607
|
-
|
|
1666
|
+
readonly components: ReadonlyArray<BlueprintComponent>; /** Declares a traffic rule from this VM to another. The agent derives managed SG egress/ingress rules. */
|
|
1667
|
+
linkToVirtualMachine: (links: VmPortLink[]) => VirtualMachineComponent; /** Declares SG membership. The agent assigns the VM to the given security group at launch. No settings required. */
|
|
1668
|
+
linkToSecurityGroup: (sgs: SecurityGroupComponent[]) => VirtualMachineComponent;
|
|
1608
1669
|
};
|
|
1609
1670
|
type VirtualMachineBuilder = {
|
|
1610
1671
|
withId: (id: string) => VirtualMachineBuilder;
|
|
@@ -1626,7 +1687,7 @@ type VirtualMachineConfig = {
|
|
|
1626
1687
|
};
|
|
1627
1688
|
declare namespace VirtualMachine {
|
|
1628
1689
|
const getBuilder: () => VirtualMachineBuilder;
|
|
1629
|
-
const create: (config: VirtualMachineConfig) =>
|
|
1690
|
+
const create: (config: VirtualMachineConfig) => VirtualMachineComponent;
|
|
1630
1691
|
}
|
|
1631
1692
|
//#endregion
|
|
1632
1693
|
//#region src/fractal/component/custom_workloads/caas/workload.d.ts
|
|
@@ -1635,16 +1696,16 @@ declare namespace VirtualMachine {
|
|
|
1635
1696
|
* The agent derives managed SG egress/ingress rules from these.
|
|
1636
1697
|
*/
|
|
1637
1698
|
type WorkloadPortLink = {
|
|
1638
|
-
target:
|
|
1699
|
+
target: WorkloadComponent;
|
|
1639
1700
|
fromPort: number;
|
|
1640
1701
|
toPort?: number;
|
|
1641
1702
|
protocol?: string;
|
|
1642
1703
|
};
|
|
1643
|
-
type
|
|
1704
|
+
type WorkloadComponent = {
|
|
1644
1705
|
readonly component: BlueprintComponent;
|
|
1645
|
-
readonly components: ReadonlyArray<BlueprintComponent>;
|
|
1646
|
-
|
|
1647
|
-
|
|
1706
|
+
readonly components: ReadonlyArray<BlueprintComponent>; /** Declares a traffic rule from this workload to another. The agent derives managed SG egress/ingress rules. */
|
|
1707
|
+
linkToWorkload: (links: WorkloadPortLink[]) => WorkloadComponent; /** Declares SG membership. The agent assigns the workload to the given security group at launch. No settings required. */
|
|
1708
|
+
linkToSecurityGroup: (sgs: SecurityGroupComponent[]) => WorkloadComponent;
|
|
1648
1709
|
};
|
|
1649
1710
|
type WorkloadBuilder = {
|
|
1650
1711
|
withId: (id: string) => WorkloadBuilder;
|
|
@@ -1677,17 +1738,17 @@ type WorkloadConfig = {
|
|
|
1677
1738
|
};
|
|
1678
1739
|
declare namespace Workload {
|
|
1679
1740
|
const getBuilder: () => WorkloadBuilder;
|
|
1680
|
-
const create: (config: WorkloadConfig) =>
|
|
1741
|
+
const create: (config: WorkloadConfig) => WorkloadComponent;
|
|
1681
1742
|
}
|
|
1682
1743
|
//#endregion
|
|
1683
1744
|
//#region src/fractal/component/network_and_compute/iaas/subnet.d.ts
|
|
1684
|
-
type
|
|
1745
|
+
type SubnetComponent = {
|
|
1685
1746
|
readonly subnet: BlueprintComponent;
|
|
1686
1747
|
readonly virtualMachines: ReadonlyArray<BlueprintComponent>;
|
|
1687
1748
|
readonly workloads: ReadonlyArray<BlueprintComponent>;
|
|
1688
1749
|
readonly components: ReadonlyArray<BlueprintComponent>;
|
|
1689
|
-
withVirtualMachines: (vms:
|
|
1690
|
-
withWorkloads: (workloads: ReadonlyArray<
|
|
1750
|
+
withVirtualMachines: (vms: VirtualMachineComponent[]) => SubnetComponent;
|
|
1751
|
+
withWorkloads: (workloads: ReadonlyArray<WorkloadComponent>) => SubnetComponent;
|
|
1691
1752
|
};
|
|
1692
1753
|
type SubnetResult = {
|
|
1693
1754
|
readonly subnet: BlueprintComponent;
|
|
@@ -1717,52 +1778,19 @@ type SubnetConfig = {
|
|
|
1717
1778
|
};
|
|
1718
1779
|
declare namespace Subnet {
|
|
1719
1780
|
const getBuilder: () => SubnetBuilder;
|
|
1720
|
-
const create: (config: SubnetConfig) =>
|
|
1721
|
-
}
|
|
1722
|
-
//#endregion
|
|
1723
|
-
//#region src/fractal/component/network_and_compute/iaas/security_group.d.ts
|
|
1724
|
-
type IngressRule = {
|
|
1725
|
-
protocol?: string;
|
|
1726
|
-
fromPort: number;
|
|
1727
|
-
toPort?: number;
|
|
1728
|
-
sourceCidr?: string;
|
|
1729
|
-
sourceGroupId?: string;
|
|
1730
|
-
};
|
|
1731
|
-
type SecurityGroupBuilder = {
|
|
1732
|
-
withId: (id: string) => SecurityGroupBuilder;
|
|
1733
|
-
withVersion: (major: number, minor: number, patch: number) => SecurityGroupBuilder;
|
|
1734
|
-
withDisplayName: (displayName: string) => SecurityGroupBuilder;
|
|
1735
|
-
withDescription: (description: string) => SecurityGroupBuilder;
|
|
1736
|
-
withIngressRules: (rules: IngressRule[]) => SecurityGroupBuilder;
|
|
1737
|
-
withLinks: (links: ComponentLink[]) => SecurityGroupBuilder;
|
|
1738
|
-
build: () => BlueprintComponent;
|
|
1739
|
-
};
|
|
1740
|
-
type SecurityGroupConfig = {
|
|
1741
|
-
id: string;
|
|
1742
|
-
version: {
|
|
1743
|
-
major: number;
|
|
1744
|
-
minor: number;
|
|
1745
|
-
patch: number;
|
|
1746
|
-
};
|
|
1747
|
-
displayName: string;
|
|
1748
|
-
description: string;
|
|
1749
|
-
ingressRules?: IngressRule[];
|
|
1750
|
-
};
|
|
1751
|
-
declare namespace SecurityGroup {
|
|
1752
|
-
const getBuilder: () => SecurityGroupBuilder;
|
|
1753
|
-
const create: (config: SecurityGroupConfig) => BlueprintComponent;
|
|
1781
|
+
const create: (config: SubnetConfig) => SubnetComponent;
|
|
1754
1782
|
}
|
|
1755
1783
|
//#endregion
|
|
1756
1784
|
//#region src/fractal/component/network_and_compute/iaas/virtual_network.d.ts
|
|
1757
|
-
type
|
|
1785
|
+
type VirtualNetworkComponent = {
|
|
1758
1786
|
readonly vpc: BlueprintComponent;
|
|
1759
1787
|
readonly subnets: ReadonlyArray<BlueprintComponent>;
|
|
1760
1788
|
readonly securityGroups: ReadonlyArray<BlueprintComponent>;
|
|
1761
1789
|
readonly virtualMachines: ReadonlyArray<BlueprintComponent>;
|
|
1762
1790
|
readonly workloads: ReadonlyArray<BlueprintComponent>;
|
|
1763
1791
|
readonly components: ReadonlyArray<BlueprintComponent>;
|
|
1764
|
-
withSubnets: (subnets:
|
|
1765
|
-
withSecurityGroups: (sgs: BlueprintComponent[]) =>
|
|
1792
|
+
withSubnets: (subnets: SubnetComponent[]) => VirtualNetworkComponent;
|
|
1793
|
+
withSecurityGroups: (sgs: BlueprintComponent[]) => VirtualNetworkComponent;
|
|
1766
1794
|
};
|
|
1767
1795
|
type VirtualNetworkResult = {
|
|
1768
1796
|
readonly vpc: BlueprintComponent;
|
|
@@ -1796,7 +1824,7 @@ type VirtualNetworkConfig = {
|
|
|
1796
1824
|
};
|
|
1797
1825
|
declare namespace VirtualNetwork {
|
|
1798
1826
|
const getBuilder: () => VirtualNetworkBuilder;
|
|
1799
|
-
const create: (config: VirtualNetworkConfig) =>
|
|
1827
|
+
const create: (config: VirtualNetworkConfig) => VirtualNetworkComponent;
|
|
1800
1828
|
}
|
|
1801
1829
|
//#endregion
|
|
1802
1830
|
//#region src/live_system/component/network_and_compute/iaas/vpc.d.ts
|
|
@@ -2626,14 +2654,14 @@ declare namespace HetznerServer {
|
|
|
2626
2654
|
}
|
|
2627
2655
|
//#endregion
|
|
2628
2656
|
//#region src/fractal/component/network_and_compute/paas/container_platform.d.ts
|
|
2629
|
-
type
|
|
2657
|
+
type ContainerPlatformComponent = {
|
|
2630
2658
|
readonly platform: BlueprintComponent;
|
|
2631
2659
|
/**
|
|
2632
2660
|
* Workload nodes with the platform dependency auto-wired into each component.
|
|
2633
2661
|
* Pass these to Subnet.withWorkloads() so the subnet dep is stacked on top.
|
|
2634
2662
|
*/
|
|
2635
|
-
readonly workloads: ReadonlyArray<
|
|
2636
|
-
withWorkloads: (workloads:
|
|
2663
|
+
readonly workloads: ReadonlyArray<WorkloadComponent>;
|
|
2664
|
+
withWorkloads: (workloads: WorkloadComponent[]) => ContainerPlatformComponent;
|
|
2637
2665
|
};
|
|
2638
2666
|
type ContainerPlatformBuilder = {
|
|
2639
2667
|
withId: (id: string) => ContainerPlatformBuilder;
|
|
@@ -2654,7 +2682,7 @@ type ContainerPlatformConfig = {
|
|
|
2654
2682
|
};
|
|
2655
2683
|
declare namespace ContainerPlatform {
|
|
2656
2684
|
const getBuilder: () => ContainerPlatformBuilder;
|
|
2657
|
-
const create: (config: ContainerPlatformConfig) =>
|
|
2685
|
+
const create: (config: ContainerPlatformConfig) => ContainerPlatformComponent;
|
|
2658
2686
|
}
|
|
2659
2687
|
//#endregion
|
|
2660
2688
|
//#region src/live_system/component/network_and_compute/paas/ecs_cluster.d.ts
|
|
@@ -2755,11 +2783,17 @@ declare namespace AwsEcsTaskDefinition {
|
|
|
2755
2783
|
/**
|
|
2756
2784
|
* Returned by satisfy() — all structural properties (dependencies, links,
|
|
2757
2785
|
* desiredCount) are locked from the blueprint. Only AWS-specific launch
|
|
2758
|
-
* parameters are set here.
|
|
2786
|
+
* parameters and live-system sub-component dependencies are set here.
|
|
2759
2787
|
*/
|
|
2760
2788
|
type SatisfiedAwsEcsServiceBuilder = {
|
|
2761
2789
|
withLaunchType: (type: string) => SatisfiedAwsEcsServiceBuilder;
|
|
2762
2790
|
withAssignPublicIp: (assign: boolean) => SatisfiedAwsEcsServiceBuilder;
|
|
2791
|
+
/**
|
|
2792
|
+
* Declares a live-system-only dependency on the ECS Task Definition that
|
|
2793
|
+
* this service will run. This has no blueprint equivalent — it is an
|
|
2794
|
+
* AWS-specific sub-component relationship.
|
|
2795
|
+
*/
|
|
2796
|
+
withTaskDefinition: (taskDef: LiveSystemComponent) => SatisfiedAwsEcsServiceBuilder;
|
|
2763
2797
|
build: () => LiveSystemComponent;
|
|
2764
2798
|
};
|
|
2765
2799
|
type AwsEcsServiceBuilder = {
|
|
@@ -2787,6 +2821,12 @@ type AwsEcsServiceConfig = {
|
|
|
2787
2821
|
};
|
|
2788
2822
|
declare namespace AwsEcsService {
|
|
2789
2823
|
const getBuilder: () => AwsEcsServiceBuilder;
|
|
2824
|
+
/**
|
|
2825
|
+
* Satisfies a blueprint Workload component as an AWS ECS Service.
|
|
2826
|
+
* All structural properties — dependencies (subnet, cluster), links
|
|
2827
|
+
* (traffic rules, SG membership), and desiredCount — are carried from
|
|
2828
|
+
* the blueprint unchanged. Only AWS-specific launch parameters are added here.
|
|
2829
|
+
*/
|
|
2790
2830
|
/**
|
|
2791
2831
|
* Satisfies a blueprint Workload component as an AWS ECS Service.
|
|
2792
2832
|
* All structural properties — dependencies (subnet, cluster), links
|
|
@@ -2825,4 +2865,4 @@ type Environment = Environment$1;
|
|
|
2825
2865
|
declare const LiveSystem: typeof LiveSystem$1;
|
|
2826
2866
|
type LiveSystem = LiveSystem$1;
|
|
2827
2867
|
//#endregion
|
|
2828
|
-
export { AwsEcsCluster, type AwsEcsClusterBuilder, type AwsEcsClusterConfig, AwsEcsService, type AwsEcsServiceBuilder, type AwsEcsServiceConfig, AwsEcsTaskDefinition, type AwsEcsTaskDefinitionBuilder, type AwsEcsTaskDefinitionConfig, AwsSecurityGroup, type AwsSecurityGroupBuilder, type AwsSecurityGroupConfig, AwsSubnet, type AwsSubnetBuilder, type AwsSubnetConfig, AwsVpc, type AwsVpcBuilder, type AwsVpcConfig, AzureNsg, type AzureNsgBuilder, type AzureNsgConfig, AzureSubnet, type AzureSubnetBuilder, type AzureSubnetConfig, AzureVm, type AzureVmBuilder, type AzureVmConfig, AzureVnet, type AzureVnetBuilder, type AzureVnetConfig, BoundedContext, ContainerPlatform, type ContainerPlatformBuilder, type
|
|
2868
|
+
export { AwsEcsCluster, type AwsEcsClusterBuilder, type AwsEcsClusterConfig, AwsEcsService, type AwsEcsServiceBuilder, type AwsEcsServiceConfig, AwsEcsTaskDefinition, type AwsEcsTaskDefinitionBuilder, type AwsEcsTaskDefinitionConfig, AwsSecurityGroup, type AwsSecurityGroupBuilder, type AwsSecurityGroupConfig, AwsSubnet, type AwsSubnetBuilder, type AwsSubnetConfig, AwsVpc, type AwsVpcBuilder, type AwsVpcConfig, AzureNsg, type AzureNsgBuilder, type AzureNsgConfig, AzureSubnet, type AzureSubnetBuilder, type AzureSubnetConfig, AzureVm, type AzureVmBuilder, type AzureVmConfig, AzureVnet, type AzureVnetBuilder, type AzureVnetConfig, BoundedContext, ContainerPlatform, type ContainerPlatformBuilder, type ContainerPlatformComponent, type ContainerPlatformConfig, Ec2Instance, type Ec2InstanceBuilder, type Ec2InstanceConfig, Environment, Fractal, GcpFirewall, type GcpFirewallBuilder, type GcpFirewallConfig, GcpSubnet, type GcpSubnetBuilder, type GcpSubnetConfig, GcpVm, type GcpVmBuilder, type GcpVmConfig, GcpVpc, type GcpVpcBuilder, type GcpVpcConfig, HetznerFirewall, type HetznerFirewallBuilder, type HetznerFirewallConfig, HetznerNetwork, type HetznerNetworkBuilder, type HetznerNetworkConfig, HetznerServer, type HetznerServerBuilder, type HetznerServerConfig, HetznerSubnet, type HetznerSubnetBuilder, type HetznerSubnetConfig, InfrastructureDomain, type IngressRule, KebabCaseString, LiveSystem, OciInstance, type OciInstanceBuilder, type OciInstanceConfig, OciSecurityList, type OciSecurityListBuilder, type OciSecurityListConfig, OciSubnet, type OciSubnetBuilder, type OciSubnetConfig, OciVcn, type OciVcnBuilder, type OciVcnConfig, OwnerId, OwnerType, PascalCaseString, type SatisfiedAwsEcsClusterBuilder, type SatisfiedAwsEcsServiceBuilder, type SatisfiedAwsEcsTaskDefinitionBuilder, type SatisfiedAwsSecurityGroupBuilder, type SatisfiedAwsSubnetBuilder, type SatisfiedAwsVpcBuilder, type SatisfiedAzureNsgBuilder, type SatisfiedAzureSubnetBuilder, type SatisfiedAzureVmBuilder, type SatisfiedAzureVnetBuilder, type SatisfiedEc2Builder, type SatisfiedGcpFirewallBuilder, type SatisfiedGcpSubnetBuilder, type SatisfiedGcpVmBuilder, type SatisfiedGcpVpcBuilder, type SatisfiedHetznerFirewallBuilder, type SatisfiedHetznerNetworkBuilder, type SatisfiedHetznerServerBuilder, type SatisfiedHetznerSubnetBuilder, type SatisfiedOciInstanceBuilder, type SatisfiedOciSecurityListBuilder, type SatisfiedOciSubnetBuilder, type SatisfiedOciVcnBuilder, SecurityGroup, type SecurityGroupBuilder, type SecurityGroupComponent, type SecurityGroupConfig, ServiceAccountCredentials, ServiceAccountId, ServiceDeliveryModel, Subnet, type SubnetBuilder, type SubnetComponent, type SubnetConfig, type SubnetResult, Version, VirtualMachine, type VirtualMachineBuilder, type VirtualMachineComponent, type VirtualMachineConfig, VirtualNetwork, type VirtualNetworkBuilder, type VirtualNetworkComponent, type VirtualNetworkConfig, type VirtualNetworkResult, type VmPortLink, Workload, type WorkloadBuilder, type WorkloadComponent, type WorkloadConfig, type WorkloadPortLink };
|
package/dist/index.d.mts
CHANGED
|
@@ -1563,6 +1563,29 @@ type LiveSystemBuilder = {
|
|
|
1563
1563
|
//#region src/live_system/index.d.ts
|
|
1564
1564
|
declare namespace LiveSystem$1 {
|
|
1565
1565
|
type Status = 'Unknown' | 'Mutating' | 'Active' | 'FailedMutation' | 'Processing' | 'Error' | 'Ready' | 'Deleting' | 'Stale';
|
|
1566
|
+
/**
|
|
1567
|
+
* Controls how deploy() behaves after submitting the live system to the API.
|
|
1568
|
+
*
|
|
1569
|
+
* - `'fire-and-forget'` (default): submit and return immediately. Errors are
|
|
1570
|
+
* logged to the console but not thrown. Suitable for applications and CLIs
|
|
1571
|
+
* where deployment is a background concern.
|
|
1572
|
+
*
|
|
1573
|
+
* - `'wait'`: submit then poll until the live system reaches `Active` status.
|
|
1574
|
+
* Throws if deployment fails or if the timeout is exceeded. Suitable for
|
|
1575
|
+
* CI/CD pipelines where the pipeline must not advance until infrastructure
|
|
1576
|
+
* is fully provisioned.
|
|
1577
|
+
*/
|
|
1578
|
+
type DeployOptions = {
|
|
1579
|
+
mode: 'fire-and-forget' | 'wait'; /** Polling interval in milliseconds. Default: 5000 (5 s). Only used with `mode: 'wait'`. */
|
|
1580
|
+
pollIntervalMs?: number; /** Maximum time to wait in milliseconds. Default: 600000 (10 min). Only used with `mode: 'wait'`. */
|
|
1581
|
+
timeoutMs?: number;
|
|
1582
|
+
/**
|
|
1583
|
+
* Suppress all SDK log output. Default: false.
|
|
1584
|
+
* Set to `true` when a CLI or wrapper layer owns the presentation layer.
|
|
1585
|
+
* Only applies to `mode: 'wait'` — `fire-and-forget` is always silent.
|
|
1586
|
+
*/
|
|
1587
|
+
quiet?: boolean;
|
|
1588
|
+
};
|
|
1566
1589
|
type Id = LiveSystemId;
|
|
1567
1590
|
namespace Id {
|
|
1568
1591
|
type Builder = LiveSystemIdBuilder;
|
|
@@ -1590,21 +1613,59 @@ type LiveSystem$1 = {
|
|
|
1590
1613
|
environment: Environment$1;
|
|
1591
1614
|
createdAt: Date;
|
|
1592
1615
|
updatedAt: Date;
|
|
1593
|
-
deploy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
|
|
1616
|
+
deploy: (credentials: ServiceAccountCredentials$1, options?: LiveSystem$1.DeployOptions) => Promise<void>;
|
|
1594
1617
|
destroy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
|
|
1595
1618
|
};
|
|
1596
1619
|
//#endregion
|
|
1620
|
+
//#region src/fractal/component/network_and_compute/iaas/security_group.d.ts
|
|
1621
|
+
type IngressRule = {
|
|
1622
|
+
protocol?: string;
|
|
1623
|
+
fromPort: number;
|
|
1624
|
+
toPort?: number;
|
|
1625
|
+
sourceCidr?: string;
|
|
1626
|
+
sourceGroupId?: string;
|
|
1627
|
+
};
|
|
1628
|
+
type SecurityGroupBuilder = {
|
|
1629
|
+
withId: (id: string) => SecurityGroupBuilder;
|
|
1630
|
+
withVersion: (major: number, minor: number, patch: number) => SecurityGroupBuilder;
|
|
1631
|
+
withDisplayName: (displayName: string) => SecurityGroupBuilder;
|
|
1632
|
+
withDescription: (description: string) => SecurityGroupBuilder;
|
|
1633
|
+
withIngressRules: (rules: IngressRule[]) => SecurityGroupBuilder;
|
|
1634
|
+
withLinks: (links: ComponentLink[]) => SecurityGroupBuilder;
|
|
1635
|
+
build: () => SecurityGroupComponent;
|
|
1636
|
+
};
|
|
1637
|
+
type SecurityGroupConfig = {
|
|
1638
|
+
id: string;
|
|
1639
|
+
version: {
|
|
1640
|
+
major: number;
|
|
1641
|
+
minor: number;
|
|
1642
|
+
patch: number;
|
|
1643
|
+
};
|
|
1644
|
+
displayName: string;
|
|
1645
|
+
description: string;
|
|
1646
|
+
ingressRules?: IngressRule[];
|
|
1647
|
+
};
|
|
1648
|
+
/** A BlueprintComponent that is guaranteed to be a SecurityGroup. */
|
|
1649
|
+
type SecurityGroupComponent = BlueprintComponent & {
|
|
1650
|
+
readonly _brand: 'SecurityGroup';
|
|
1651
|
+
};
|
|
1652
|
+
declare namespace SecurityGroup {
|
|
1653
|
+
const getBuilder: () => SecurityGroupBuilder;
|
|
1654
|
+
const create: (config: SecurityGroupConfig) => SecurityGroupComponent;
|
|
1655
|
+
}
|
|
1656
|
+
//#endregion
|
|
1597
1657
|
//#region src/fractal/component/network_and_compute/iaas/vm.d.ts
|
|
1598
1658
|
type VmPortLink = {
|
|
1599
|
-
target:
|
|
1659
|
+
target: VirtualMachineComponent;
|
|
1600
1660
|
fromPort: number;
|
|
1601
1661
|
toPort?: number;
|
|
1602
1662
|
protocol?: string;
|
|
1603
1663
|
};
|
|
1604
|
-
type
|
|
1664
|
+
type VirtualMachineComponent = {
|
|
1605
1665
|
readonly component: BlueprintComponent;
|
|
1606
|
-
readonly components: ReadonlyArray<BlueprintComponent>;
|
|
1607
|
-
|
|
1666
|
+
readonly components: ReadonlyArray<BlueprintComponent>; /** Declares a traffic rule from this VM to another. The agent derives managed SG egress/ingress rules. */
|
|
1667
|
+
linkToVirtualMachine: (links: VmPortLink[]) => VirtualMachineComponent; /** Declares SG membership. The agent assigns the VM to the given security group at launch. No settings required. */
|
|
1668
|
+
linkToSecurityGroup: (sgs: SecurityGroupComponent[]) => VirtualMachineComponent;
|
|
1608
1669
|
};
|
|
1609
1670
|
type VirtualMachineBuilder = {
|
|
1610
1671
|
withId: (id: string) => VirtualMachineBuilder;
|
|
@@ -1626,7 +1687,7 @@ type VirtualMachineConfig = {
|
|
|
1626
1687
|
};
|
|
1627
1688
|
declare namespace VirtualMachine {
|
|
1628
1689
|
const getBuilder: () => VirtualMachineBuilder;
|
|
1629
|
-
const create: (config: VirtualMachineConfig) =>
|
|
1690
|
+
const create: (config: VirtualMachineConfig) => VirtualMachineComponent;
|
|
1630
1691
|
}
|
|
1631
1692
|
//#endregion
|
|
1632
1693
|
//#region src/fractal/component/custom_workloads/caas/workload.d.ts
|
|
@@ -1635,16 +1696,16 @@ declare namespace VirtualMachine {
|
|
|
1635
1696
|
* The agent derives managed SG egress/ingress rules from these.
|
|
1636
1697
|
*/
|
|
1637
1698
|
type WorkloadPortLink = {
|
|
1638
|
-
target:
|
|
1699
|
+
target: WorkloadComponent;
|
|
1639
1700
|
fromPort: number;
|
|
1640
1701
|
toPort?: number;
|
|
1641
1702
|
protocol?: string;
|
|
1642
1703
|
};
|
|
1643
|
-
type
|
|
1704
|
+
type WorkloadComponent = {
|
|
1644
1705
|
readonly component: BlueprintComponent;
|
|
1645
|
-
readonly components: ReadonlyArray<BlueprintComponent>;
|
|
1646
|
-
|
|
1647
|
-
|
|
1706
|
+
readonly components: ReadonlyArray<BlueprintComponent>; /** Declares a traffic rule from this workload to another. The agent derives managed SG egress/ingress rules. */
|
|
1707
|
+
linkToWorkload: (links: WorkloadPortLink[]) => WorkloadComponent; /** Declares SG membership. The agent assigns the workload to the given security group at launch. No settings required. */
|
|
1708
|
+
linkToSecurityGroup: (sgs: SecurityGroupComponent[]) => WorkloadComponent;
|
|
1648
1709
|
};
|
|
1649
1710
|
type WorkloadBuilder = {
|
|
1650
1711
|
withId: (id: string) => WorkloadBuilder;
|
|
@@ -1677,17 +1738,17 @@ type WorkloadConfig = {
|
|
|
1677
1738
|
};
|
|
1678
1739
|
declare namespace Workload {
|
|
1679
1740
|
const getBuilder: () => WorkloadBuilder;
|
|
1680
|
-
const create: (config: WorkloadConfig) =>
|
|
1741
|
+
const create: (config: WorkloadConfig) => WorkloadComponent;
|
|
1681
1742
|
}
|
|
1682
1743
|
//#endregion
|
|
1683
1744
|
//#region src/fractal/component/network_and_compute/iaas/subnet.d.ts
|
|
1684
|
-
type
|
|
1745
|
+
type SubnetComponent = {
|
|
1685
1746
|
readonly subnet: BlueprintComponent;
|
|
1686
1747
|
readonly virtualMachines: ReadonlyArray<BlueprintComponent>;
|
|
1687
1748
|
readonly workloads: ReadonlyArray<BlueprintComponent>;
|
|
1688
1749
|
readonly components: ReadonlyArray<BlueprintComponent>;
|
|
1689
|
-
withVirtualMachines: (vms:
|
|
1690
|
-
withWorkloads: (workloads: ReadonlyArray<
|
|
1750
|
+
withVirtualMachines: (vms: VirtualMachineComponent[]) => SubnetComponent;
|
|
1751
|
+
withWorkloads: (workloads: ReadonlyArray<WorkloadComponent>) => SubnetComponent;
|
|
1691
1752
|
};
|
|
1692
1753
|
type SubnetResult = {
|
|
1693
1754
|
readonly subnet: BlueprintComponent;
|
|
@@ -1717,52 +1778,19 @@ type SubnetConfig = {
|
|
|
1717
1778
|
};
|
|
1718
1779
|
declare namespace Subnet {
|
|
1719
1780
|
const getBuilder: () => SubnetBuilder;
|
|
1720
|
-
const create: (config: SubnetConfig) =>
|
|
1721
|
-
}
|
|
1722
|
-
//#endregion
|
|
1723
|
-
//#region src/fractal/component/network_and_compute/iaas/security_group.d.ts
|
|
1724
|
-
type IngressRule = {
|
|
1725
|
-
protocol?: string;
|
|
1726
|
-
fromPort: number;
|
|
1727
|
-
toPort?: number;
|
|
1728
|
-
sourceCidr?: string;
|
|
1729
|
-
sourceGroupId?: string;
|
|
1730
|
-
};
|
|
1731
|
-
type SecurityGroupBuilder = {
|
|
1732
|
-
withId: (id: string) => SecurityGroupBuilder;
|
|
1733
|
-
withVersion: (major: number, minor: number, patch: number) => SecurityGroupBuilder;
|
|
1734
|
-
withDisplayName: (displayName: string) => SecurityGroupBuilder;
|
|
1735
|
-
withDescription: (description: string) => SecurityGroupBuilder;
|
|
1736
|
-
withIngressRules: (rules: IngressRule[]) => SecurityGroupBuilder;
|
|
1737
|
-
withLinks: (links: ComponentLink[]) => SecurityGroupBuilder;
|
|
1738
|
-
build: () => BlueprintComponent;
|
|
1739
|
-
};
|
|
1740
|
-
type SecurityGroupConfig = {
|
|
1741
|
-
id: string;
|
|
1742
|
-
version: {
|
|
1743
|
-
major: number;
|
|
1744
|
-
minor: number;
|
|
1745
|
-
patch: number;
|
|
1746
|
-
};
|
|
1747
|
-
displayName: string;
|
|
1748
|
-
description: string;
|
|
1749
|
-
ingressRules?: IngressRule[];
|
|
1750
|
-
};
|
|
1751
|
-
declare namespace SecurityGroup {
|
|
1752
|
-
const getBuilder: () => SecurityGroupBuilder;
|
|
1753
|
-
const create: (config: SecurityGroupConfig) => BlueprintComponent;
|
|
1781
|
+
const create: (config: SubnetConfig) => SubnetComponent;
|
|
1754
1782
|
}
|
|
1755
1783
|
//#endregion
|
|
1756
1784
|
//#region src/fractal/component/network_and_compute/iaas/virtual_network.d.ts
|
|
1757
|
-
type
|
|
1785
|
+
type VirtualNetworkComponent = {
|
|
1758
1786
|
readonly vpc: BlueprintComponent;
|
|
1759
1787
|
readonly subnets: ReadonlyArray<BlueprintComponent>;
|
|
1760
1788
|
readonly securityGroups: ReadonlyArray<BlueprintComponent>;
|
|
1761
1789
|
readonly virtualMachines: ReadonlyArray<BlueprintComponent>;
|
|
1762
1790
|
readonly workloads: ReadonlyArray<BlueprintComponent>;
|
|
1763
1791
|
readonly components: ReadonlyArray<BlueprintComponent>;
|
|
1764
|
-
withSubnets: (subnets:
|
|
1765
|
-
withSecurityGroups: (sgs: BlueprintComponent[]) =>
|
|
1792
|
+
withSubnets: (subnets: SubnetComponent[]) => VirtualNetworkComponent;
|
|
1793
|
+
withSecurityGroups: (sgs: BlueprintComponent[]) => VirtualNetworkComponent;
|
|
1766
1794
|
};
|
|
1767
1795
|
type VirtualNetworkResult = {
|
|
1768
1796
|
readonly vpc: BlueprintComponent;
|
|
@@ -1796,7 +1824,7 @@ type VirtualNetworkConfig = {
|
|
|
1796
1824
|
};
|
|
1797
1825
|
declare namespace VirtualNetwork {
|
|
1798
1826
|
const getBuilder: () => VirtualNetworkBuilder;
|
|
1799
|
-
const create: (config: VirtualNetworkConfig) =>
|
|
1827
|
+
const create: (config: VirtualNetworkConfig) => VirtualNetworkComponent;
|
|
1800
1828
|
}
|
|
1801
1829
|
//#endregion
|
|
1802
1830
|
//#region src/live_system/component/network_and_compute/iaas/vpc.d.ts
|
|
@@ -2626,14 +2654,14 @@ declare namespace HetznerServer {
|
|
|
2626
2654
|
}
|
|
2627
2655
|
//#endregion
|
|
2628
2656
|
//#region src/fractal/component/network_and_compute/paas/container_platform.d.ts
|
|
2629
|
-
type
|
|
2657
|
+
type ContainerPlatformComponent = {
|
|
2630
2658
|
readonly platform: BlueprintComponent;
|
|
2631
2659
|
/**
|
|
2632
2660
|
* Workload nodes with the platform dependency auto-wired into each component.
|
|
2633
2661
|
* Pass these to Subnet.withWorkloads() so the subnet dep is stacked on top.
|
|
2634
2662
|
*/
|
|
2635
|
-
readonly workloads: ReadonlyArray<
|
|
2636
|
-
withWorkloads: (workloads:
|
|
2663
|
+
readonly workloads: ReadonlyArray<WorkloadComponent>;
|
|
2664
|
+
withWorkloads: (workloads: WorkloadComponent[]) => ContainerPlatformComponent;
|
|
2637
2665
|
};
|
|
2638
2666
|
type ContainerPlatformBuilder = {
|
|
2639
2667
|
withId: (id: string) => ContainerPlatformBuilder;
|
|
@@ -2654,7 +2682,7 @@ type ContainerPlatformConfig = {
|
|
|
2654
2682
|
};
|
|
2655
2683
|
declare namespace ContainerPlatform {
|
|
2656
2684
|
const getBuilder: () => ContainerPlatformBuilder;
|
|
2657
|
-
const create: (config: ContainerPlatformConfig) =>
|
|
2685
|
+
const create: (config: ContainerPlatformConfig) => ContainerPlatformComponent;
|
|
2658
2686
|
}
|
|
2659
2687
|
//#endregion
|
|
2660
2688
|
//#region src/live_system/component/network_and_compute/paas/ecs_cluster.d.ts
|
|
@@ -2755,11 +2783,17 @@ declare namespace AwsEcsTaskDefinition {
|
|
|
2755
2783
|
/**
|
|
2756
2784
|
* Returned by satisfy() — all structural properties (dependencies, links,
|
|
2757
2785
|
* desiredCount) are locked from the blueprint. Only AWS-specific launch
|
|
2758
|
-
* parameters are set here.
|
|
2786
|
+
* parameters and live-system sub-component dependencies are set here.
|
|
2759
2787
|
*/
|
|
2760
2788
|
type SatisfiedAwsEcsServiceBuilder = {
|
|
2761
2789
|
withLaunchType: (type: string) => SatisfiedAwsEcsServiceBuilder;
|
|
2762
2790
|
withAssignPublicIp: (assign: boolean) => SatisfiedAwsEcsServiceBuilder;
|
|
2791
|
+
/**
|
|
2792
|
+
* Declares a live-system-only dependency on the ECS Task Definition that
|
|
2793
|
+
* this service will run. This has no blueprint equivalent — it is an
|
|
2794
|
+
* AWS-specific sub-component relationship.
|
|
2795
|
+
*/
|
|
2796
|
+
withTaskDefinition: (taskDef: LiveSystemComponent) => SatisfiedAwsEcsServiceBuilder;
|
|
2763
2797
|
build: () => LiveSystemComponent;
|
|
2764
2798
|
};
|
|
2765
2799
|
type AwsEcsServiceBuilder = {
|
|
@@ -2787,6 +2821,12 @@ type AwsEcsServiceConfig = {
|
|
|
2787
2821
|
};
|
|
2788
2822
|
declare namespace AwsEcsService {
|
|
2789
2823
|
const getBuilder: () => AwsEcsServiceBuilder;
|
|
2824
|
+
/**
|
|
2825
|
+
* Satisfies a blueprint Workload component as an AWS ECS Service.
|
|
2826
|
+
* All structural properties — dependencies (subnet, cluster), links
|
|
2827
|
+
* (traffic rules, SG membership), and desiredCount — are carried from
|
|
2828
|
+
* the blueprint unchanged. Only AWS-specific launch parameters are added here.
|
|
2829
|
+
*/
|
|
2790
2830
|
/**
|
|
2791
2831
|
* Satisfies a blueprint Workload component as an AWS ECS Service.
|
|
2792
2832
|
* All structural properties — dependencies (subnet, cluster), links
|
|
@@ -2825,4 +2865,4 @@ type Environment = Environment$1;
|
|
|
2825
2865
|
declare const LiveSystem: typeof LiveSystem$1;
|
|
2826
2866
|
type LiveSystem = LiveSystem$1;
|
|
2827
2867
|
//#endregion
|
|
2828
|
-
export { AwsEcsCluster, type AwsEcsClusterBuilder, type AwsEcsClusterConfig, AwsEcsService, type AwsEcsServiceBuilder, type AwsEcsServiceConfig, AwsEcsTaskDefinition, type AwsEcsTaskDefinitionBuilder, type AwsEcsTaskDefinitionConfig, AwsSecurityGroup, type AwsSecurityGroupBuilder, type AwsSecurityGroupConfig, AwsSubnet, type AwsSubnetBuilder, type AwsSubnetConfig, AwsVpc, type AwsVpcBuilder, type AwsVpcConfig, AzureNsg, type AzureNsgBuilder, type AzureNsgConfig, AzureSubnet, type AzureSubnetBuilder, type AzureSubnetConfig, AzureVm, type AzureVmBuilder, type AzureVmConfig, AzureVnet, type AzureVnetBuilder, type AzureVnetConfig, BoundedContext, ContainerPlatform, type ContainerPlatformBuilder, type
|
|
2868
|
+
export { AwsEcsCluster, type AwsEcsClusterBuilder, type AwsEcsClusterConfig, AwsEcsService, type AwsEcsServiceBuilder, type AwsEcsServiceConfig, AwsEcsTaskDefinition, type AwsEcsTaskDefinitionBuilder, type AwsEcsTaskDefinitionConfig, AwsSecurityGroup, type AwsSecurityGroupBuilder, type AwsSecurityGroupConfig, AwsSubnet, type AwsSubnetBuilder, type AwsSubnetConfig, AwsVpc, type AwsVpcBuilder, type AwsVpcConfig, AzureNsg, type AzureNsgBuilder, type AzureNsgConfig, AzureSubnet, type AzureSubnetBuilder, type AzureSubnetConfig, AzureVm, type AzureVmBuilder, type AzureVmConfig, AzureVnet, type AzureVnetBuilder, type AzureVnetConfig, BoundedContext, ContainerPlatform, type ContainerPlatformBuilder, type ContainerPlatformComponent, type ContainerPlatformConfig, Ec2Instance, type Ec2InstanceBuilder, type Ec2InstanceConfig, Environment, Fractal, GcpFirewall, type GcpFirewallBuilder, type GcpFirewallConfig, GcpSubnet, type GcpSubnetBuilder, type GcpSubnetConfig, GcpVm, type GcpVmBuilder, type GcpVmConfig, GcpVpc, type GcpVpcBuilder, type GcpVpcConfig, HetznerFirewall, type HetznerFirewallBuilder, type HetznerFirewallConfig, HetznerNetwork, type HetznerNetworkBuilder, type HetznerNetworkConfig, HetznerServer, type HetznerServerBuilder, type HetznerServerConfig, HetznerSubnet, type HetznerSubnetBuilder, type HetznerSubnetConfig, InfrastructureDomain, type IngressRule, KebabCaseString, LiveSystem, OciInstance, type OciInstanceBuilder, type OciInstanceConfig, OciSecurityList, type OciSecurityListBuilder, type OciSecurityListConfig, OciSubnet, type OciSubnetBuilder, type OciSubnetConfig, OciVcn, type OciVcnBuilder, type OciVcnConfig, OwnerId, OwnerType, PascalCaseString, type SatisfiedAwsEcsClusterBuilder, type SatisfiedAwsEcsServiceBuilder, type SatisfiedAwsEcsTaskDefinitionBuilder, type SatisfiedAwsSecurityGroupBuilder, type SatisfiedAwsSubnetBuilder, type SatisfiedAwsVpcBuilder, type SatisfiedAzureNsgBuilder, type SatisfiedAzureSubnetBuilder, type SatisfiedAzureVmBuilder, type SatisfiedAzureVnetBuilder, type SatisfiedEc2Builder, type SatisfiedGcpFirewallBuilder, type SatisfiedGcpSubnetBuilder, type SatisfiedGcpVmBuilder, type SatisfiedGcpVpcBuilder, type SatisfiedHetznerFirewallBuilder, type SatisfiedHetznerNetworkBuilder, type SatisfiedHetznerServerBuilder, type SatisfiedHetznerSubnetBuilder, type SatisfiedOciInstanceBuilder, type SatisfiedOciSecurityListBuilder, type SatisfiedOciSubnetBuilder, type SatisfiedOciVcnBuilder, SecurityGroup, type SecurityGroupBuilder, type SecurityGroupComponent, type SecurityGroupConfig, ServiceAccountCredentials, ServiceAccountId, ServiceDeliveryModel, Subnet, type SubnetBuilder, type SubnetComponent, type SubnetConfig, type SubnetResult, Version, VirtualMachine, type VirtualMachineBuilder, type VirtualMachineComponent, type VirtualMachineConfig, VirtualNetwork, type VirtualNetworkBuilder, type VirtualNetworkComponent, type VirtualNetworkConfig, type VirtualNetworkResult, type VmPortLink, Workload, type WorkloadBuilder, type WorkloadComponent, type WorkloadConfig, type WorkloadPortLink };
|