@fractal_cloud/sdk 1.0.0 → 1.1.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/dist/index.d.mts CHANGED
@@ -1594,6 +1594,1209 @@ type LiveSystem$1 = {
1594
1594
  destroy: (credentials: ServiceAccountCredentials$1) => Promise<void>;
1595
1595
  };
1596
1596
  //#endregion
1597
+ //#region src/fractal/component/network_and_compute/iaas/vm.d.ts
1598
+ type VmPortLink = {
1599
+ target: VirtualMachineNode;
1600
+ fromPort: number;
1601
+ toPort?: number;
1602
+ protocol?: string;
1603
+ };
1604
+ type VirtualMachineNode = {
1605
+ readonly component: BlueprintComponent;
1606
+ readonly components: ReadonlyArray<BlueprintComponent>;
1607
+ withLinks: (links: VmPortLink[]) => VirtualMachineNode;
1608
+ };
1609
+ type VirtualMachineBuilder = {
1610
+ withId: (id: string) => VirtualMachineBuilder;
1611
+ withVersion: (major: number, minor: number, patch: number) => VirtualMachineBuilder;
1612
+ withDisplayName: (displayName: string) => VirtualMachineBuilder;
1613
+ withDescription: (description: string) => VirtualMachineBuilder;
1614
+ withLinks: (links: ComponentLink[]) => VirtualMachineBuilder;
1615
+ build: () => BlueprintComponent;
1616
+ };
1617
+ type VirtualMachineConfig = {
1618
+ id: string;
1619
+ version: {
1620
+ major: number;
1621
+ minor: number;
1622
+ patch: number;
1623
+ };
1624
+ displayName: string;
1625
+ description?: string;
1626
+ };
1627
+ declare namespace VirtualMachine {
1628
+ const getBuilder: () => VirtualMachineBuilder;
1629
+ const create: (config: VirtualMachineConfig) => VirtualMachineNode;
1630
+ }
1631
+ //#endregion
1632
+ //#region src/fractal/component/custom_workloads/caas/workload.d.ts
1633
+ /**
1634
+ * Link from one Workload to another, declaring a traffic rule.
1635
+ * The agent derives managed SG egress/ingress rules from these.
1636
+ */
1637
+ type WorkloadPortLink = {
1638
+ target: WorkloadNode;
1639
+ fromPort: number;
1640
+ toPort?: number;
1641
+ protocol?: string;
1642
+ };
1643
+ type WorkloadNode = {
1644
+ readonly component: BlueprintComponent;
1645
+ readonly components: ReadonlyArray<BlueprintComponent>;
1646
+ withLinks: (links: WorkloadPortLink[]) => WorkloadNode;
1647
+ withSecurityGroups: (sgs: BlueprintComponent[]) => WorkloadNode;
1648
+ };
1649
+ type WorkloadBuilder = {
1650
+ withId: (id: string) => WorkloadBuilder;
1651
+ withVersion: (major: number, minor: number, patch: number) => WorkloadBuilder;
1652
+ withDisplayName: (displayName: string) => WorkloadBuilder;
1653
+ withDescription: (description: string) => WorkloadBuilder;
1654
+ withContainerImage: (image: string) => WorkloadBuilder;
1655
+ withContainerPort: (port: number) => WorkloadBuilder;
1656
+ withContainerName: (name: string) => WorkloadBuilder;
1657
+ withCpu: (cpu: string) => WorkloadBuilder;
1658
+ withMemory: (memory: string) => WorkloadBuilder;
1659
+ withDesiredCount: (count: number) => WorkloadBuilder;
1660
+ build: () => BlueprintComponent;
1661
+ };
1662
+ type WorkloadConfig = {
1663
+ id: string;
1664
+ version: {
1665
+ major: number;
1666
+ minor: number;
1667
+ patch: number;
1668
+ };
1669
+ displayName: string;
1670
+ description?: string;
1671
+ containerImage: string;
1672
+ containerPort?: number;
1673
+ containerName?: string;
1674
+ cpu?: string;
1675
+ memory?: string;
1676
+ desiredCount?: number;
1677
+ };
1678
+ declare namespace Workload {
1679
+ const getBuilder: () => WorkloadBuilder;
1680
+ const create: (config: WorkloadConfig) => WorkloadNode;
1681
+ }
1682
+ //#endregion
1683
+ //#region src/fractal/component/network_and_compute/iaas/subnet.d.ts
1684
+ type SubnetNode = {
1685
+ readonly subnet: BlueprintComponent;
1686
+ readonly virtualMachines: ReadonlyArray<BlueprintComponent>;
1687
+ readonly workloads: ReadonlyArray<BlueprintComponent>;
1688
+ readonly components: ReadonlyArray<BlueprintComponent>;
1689
+ withVirtualMachines: (vms: VirtualMachineNode[]) => SubnetNode;
1690
+ withWorkloads: (workloads: ReadonlyArray<WorkloadNode>) => SubnetNode;
1691
+ };
1692
+ type SubnetResult = {
1693
+ readonly subnet: BlueprintComponent;
1694
+ readonly virtualMachines: ReadonlyArray<BlueprintComponent>;
1695
+ readonly components: ReadonlyArray<BlueprintComponent>;
1696
+ };
1697
+ type SubnetBuilder = {
1698
+ withId: (id: string) => SubnetBuilder;
1699
+ withVersion: (major: number, minor: number, patch: number) => SubnetBuilder;
1700
+ withDisplayName: (displayName: string) => SubnetBuilder;
1701
+ withDescription: (description: string) => SubnetBuilder;
1702
+ withCidrBlock: (cidrBlock: string) => SubnetBuilder;
1703
+ withVirtualMachine: (builder: VirtualMachineBuilder) => SubnetBuilder;
1704
+ withLinks: (links: ComponentLink[]) => SubnetBuilder;
1705
+ build: () => SubnetResult;
1706
+ };
1707
+ type SubnetConfig = {
1708
+ id: string;
1709
+ version: {
1710
+ major: number;
1711
+ minor: number;
1712
+ patch: number;
1713
+ };
1714
+ displayName: string;
1715
+ description?: string;
1716
+ cidrBlock?: string;
1717
+ };
1718
+ declare namespace Subnet {
1719
+ const getBuilder: () => SubnetBuilder;
1720
+ const create: (config: SubnetConfig) => SubnetNode;
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;
1754
+ }
1755
+ //#endregion
1756
+ //#region src/fractal/component/network_and_compute/iaas/virtual_network.d.ts
1757
+ type VirtualNetworkNode = {
1758
+ readonly vpc: BlueprintComponent;
1759
+ readonly subnets: ReadonlyArray<BlueprintComponent>;
1760
+ readonly securityGroups: ReadonlyArray<BlueprintComponent>;
1761
+ readonly virtualMachines: ReadonlyArray<BlueprintComponent>;
1762
+ readonly workloads: ReadonlyArray<BlueprintComponent>;
1763
+ readonly components: ReadonlyArray<BlueprintComponent>;
1764
+ withSubnets: (subnets: SubnetNode[]) => VirtualNetworkNode;
1765
+ withSecurityGroups: (sgs: BlueprintComponent[]) => VirtualNetworkNode;
1766
+ };
1767
+ type VirtualNetworkResult = {
1768
+ readonly vpc: BlueprintComponent;
1769
+ readonly subnets: ReadonlyArray<BlueprintComponent>;
1770
+ readonly securityGroups: ReadonlyArray<BlueprintComponent>;
1771
+ readonly virtualMachines: ReadonlyArray<BlueprintComponent>;
1772
+ readonly workloads: ReadonlyArray<BlueprintComponent>;
1773
+ readonly components: ReadonlyArray<BlueprintComponent>;
1774
+ };
1775
+ type VirtualNetworkBuilder = {
1776
+ withId: (id: string) => VirtualNetworkBuilder;
1777
+ withVersion: (major: number, minor: number, patch: number) => VirtualNetworkBuilder;
1778
+ withDisplayName: (displayName: string) => VirtualNetworkBuilder;
1779
+ withDescription: (description: string) => VirtualNetworkBuilder;
1780
+ withCidrBlock: (cidrBlock: string) => VirtualNetworkBuilder;
1781
+ withSubnet: (builder: SubnetBuilder) => VirtualNetworkBuilder;
1782
+ withSecurityGroup: (builder: SecurityGroupBuilder) => VirtualNetworkBuilder;
1783
+ withLinks: (links: ComponentLink[]) => VirtualNetworkBuilder;
1784
+ build: () => VirtualNetworkResult;
1785
+ };
1786
+ type VirtualNetworkConfig = {
1787
+ id: string;
1788
+ version: {
1789
+ major: number;
1790
+ minor: number;
1791
+ patch: number;
1792
+ };
1793
+ displayName: string;
1794
+ description?: string;
1795
+ cidrBlock?: string;
1796
+ };
1797
+ declare namespace VirtualNetwork {
1798
+ const getBuilder: () => VirtualNetworkBuilder;
1799
+ const create: (config: VirtualNetworkConfig) => VirtualNetworkNode;
1800
+ }
1801
+ //#endregion
1802
+ //#region src/live_system/component/network_and_compute/iaas/vpc.d.ts
1803
+ /**
1804
+ * Returned by satisfy() — only exposes vendor-specific parameters.
1805
+ * Structural properties (id, version, displayName, description, cidrBlock,
1806
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
1807
+ */
1808
+ type SatisfiedAwsVpcBuilder = {
1809
+ withInstanceTenancy: (instanceTenancy: 'default' | 'dedicated') => SatisfiedAwsVpcBuilder;
1810
+ withEnableDnsSupport: (enable: boolean) => SatisfiedAwsVpcBuilder;
1811
+ withEnableDnsHostnames: (enable: boolean) => SatisfiedAwsVpcBuilder;
1812
+ build: () => LiveSystemComponent;
1813
+ };
1814
+ type AwsVpcBuilder = {
1815
+ withId: (id: string) => AwsVpcBuilder;
1816
+ withVersion: (major: number, minor: number, patch: number) => AwsVpcBuilder;
1817
+ withDisplayName: (displayName: string) => AwsVpcBuilder;
1818
+ withDescription: (description: string) => AwsVpcBuilder;
1819
+ withCidrBlock: (cidrBlock: string) => AwsVpcBuilder;
1820
+ withInstanceTenancy: (instanceTenancy: 'default' | 'dedicated') => AwsVpcBuilder;
1821
+ withEnableDnsSupport: (enable: boolean) => AwsVpcBuilder;
1822
+ withEnableDnsHostnames: (enable: boolean) => AwsVpcBuilder;
1823
+ build: () => LiveSystemComponent;
1824
+ };
1825
+ type AwsVpcConfig = {
1826
+ id: string;
1827
+ version: {
1828
+ major: number;
1829
+ minor: number;
1830
+ patch: number;
1831
+ };
1832
+ displayName: string;
1833
+ description?: string;
1834
+ cidrBlock: string;
1835
+ instanceTenancy?: 'default' | 'dedicated';
1836
+ enableDnsSupport?: boolean;
1837
+ enableDnsHostnames?: boolean;
1838
+ };
1839
+ declare namespace AwsVpc {
1840
+ const getBuilder: () => AwsVpcBuilder;
1841
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedAwsVpcBuilder;
1842
+ const create: (config: AwsVpcConfig) => LiveSystemComponent;
1843
+ }
1844
+ //#endregion
1845
+ //#region src/live_system/component/network_and_compute/iaas/subnet.d.ts
1846
+ /**
1847
+ * Returned by satisfy() — only exposes vendor-specific parameters.
1848
+ * Structural properties (id, version, displayName, description, cidrBlock,
1849
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
1850
+ */
1851
+ type SatisfiedAwsSubnetBuilder = {
1852
+ withAvailabilityZone: (availabilityZone: string) => SatisfiedAwsSubnetBuilder;
1853
+ build: () => LiveSystemComponent;
1854
+ };
1855
+ type AwsSubnetBuilder = {
1856
+ withId: (id: string) => AwsSubnetBuilder;
1857
+ withVersion: (major: number, minor: number, patch: number) => AwsSubnetBuilder;
1858
+ withDisplayName: (displayName: string) => AwsSubnetBuilder;
1859
+ withDescription: (description: string) => AwsSubnetBuilder;
1860
+ withCidrBlock: (cidrBlock: string) => AwsSubnetBuilder;
1861
+ withAvailabilityZone: (availabilityZone: string) => AwsSubnetBuilder;
1862
+ build: () => LiveSystemComponent;
1863
+ };
1864
+ type AwsSubnetConfig = {
1865
+ id: string;
1866
+ version: {
1867
+ major: number;
1868
+ minor: number;
1869
+ patch: number;
1870
+ };
1871
+ displayName: string;
1872
+ description?: string;
1873
+ cidrBlock: string;
1874
+ availabilityZone: string;
1875
+ };
1876
+ declare namespace AwsSubnet {
1877
+ const getBuilder: () => AwsSubnetBuilder;
1878
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedAwsSubnetBuilder;
1879
+ const create: (config: AwsSubnetConfig) => LiveSystemComponent;
1880
+ }
1881
+ //#endregion
1882
+ //#region src/live_system/component/network_and_compute/iaas/security_group.d.ts
1883
+ /**
1884
+ * Returned by satisfy() — structural properties (id, version, displayName,
1885
+ * description, dependencies, links, ingressRules) are locked to the blueprint
1886
+ * and cannot be overridden.
1887
+ */
1888
+ type SatisfiedAwsSecurityGroupBuilder = {
1889
+ build: () => LiveSystemComponent;
1890
+ };
1891
+ type AwsSecurityGroupBuilder = {
1892
+ withId: (id: string) => AwsSecurityGroupBuilder;
1893
+ withVersion: (major: number, minor: number, patch: number) => AwsSecurityGroupBuilder;
1894
+ withDisplayName: (displayName: string) => AwsSecurityGroupBuilder;
1895
+ withDescription: (description: string) => AwsSecurityGroupBuilder;
1896
+ withIngressRules: (rules: IngressRule[]) => AwsSecurityGroupBuilder;
1897
+ build: () => LiveSystemComponent;
1898
+ };
1899
+ type AwsSecurityGroupConfig = {
1900
+ id: string;
1901
+ version: {
1902
+ major: number;
1903
+ minor: number;
1904
+ patch: number;
1905
+ };
1906
+ displayName: string;
1907
+ description: string;
1908
+ ingressRules?: IngressRule[];
1909
+ };
1910
+ declare namespace AwsSecurityGroup {
1911
+ const getBuilder: () => AwsSecurityGroupBuilder;
1912
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedAwsSecurityGroupBuilder;
1913
+ const create: (config: AwsSecurityGroupConfig) => LiveSystemComponent;
1914
+ }
1915
+ //#endregion
1916
+ //#region src/live_system/component/network_and_compute/iaas/ec2_instance.d.ts
1917
+ /**
1918
+ * Returned by satisfy() — only exposes vendor-specific parameters.
1919
+ * Structural properties (id, version, displayName, description, dependencies,
1920
+ * links) are locked to the blueprint and cannot be overridden.
1921
+ */
1922
+ type SatisfiedEc2Builder = {
1923
+ withAmiId: (amiId: string) => SatisfiedEc2Builder;
1924
+ withInstanceType: (instanceType: string) => SatisfiedEc2Builder;
1925
+ withKeyName: (keyName: string) => SatisfiedEc2Builder;
1926
+ withUserData: (userData: string) => SatisfiedEc2Builder;
1927
+ withIamInstanceProfile: (profile: string) => SatisfiedEc2Builder;
1928
+ withAssociatePublicIp: (associate: boolean) => SatisfiedEc2Builder;
1929
+ build: () => LiveSystemComponent;
1930
+ };
1931
+ type Ec2InstanceBuilder = {
1932
+ withId: (id: string) => Ec2InstanceBuilder;
1933
+ withVersion: (major: number, minor: number, patch: number) => Ec2InstanceBuilder;
1934
+ withDisplayName: (displayName: string) => Ec2InstanceBuilder;
1935
+ withDescription: (description: string) => Ec2InstanceBuilder;
1936
+ withAmiId: (amiId: string) => Ec2InstanceBuilder;
1937
+ withInstanceType: (instanceType: string) => Ec2InstanceBuilder;
1938
+ withKeyName: (keyName: string) => Ec2InstanceBuilder;
1939
+ withUserData: (userData: string) => Ec2InstanceBuilder;
1940
+ withIamInstanceProfile: (profile: string) => Ec2InstanceBuilder;
1941
+ withAssociatePublicIp: (associate: boolean) => Ec2InstanceBuilder;
1942
+ build: () => LiveSystemComponent;
1943
+ };
1944
+ type Ec2InstanceConfig = {
1945
+ id: string;
1946
+ version: {
1947
+ major: number;
1948
+ minor: number;
1949
+ patch: number;
1950
+ };
1951
+ displayName: string;
1952
+ description?: string;
1953
+ amiId: string;
1954
+ instanceType: string;
1955
+ keyName?: string;
1956
+ userData?: string;
1957
+ iamInstanceProfile?: string;
1958
+ associatePublicIp?: boolean;
1959
+ };
1960
+ declare namespace Ec2Instance {
1961
+ const getBuilder: () => Ec2InstanceBuilder;
1962
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedEc2Builder;
1963
+ const create: (config: Ec2InstanceConfig) => LiveSystemComponent;
1964
+ }
1965
+ //#endregion
1966
+ //#region src/live_system/component/network_and_compute/iaas/azure_vnet.d.ts
1967
+ /**
1968
+ * Returned by satisfy() — only exposes vendor-specific parameters.
1969
+ * Structural properties (id, version, displayName, description, cidrBlock,
1970
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
1971
+ */
1972
+ type SatisfiedAzureVnetBuilder = {
1973
+ withLocation: (location: string) => SatisfiedAzureVnetBuilder;
1974
+ withResourceGroup: (rg: string) => SatisfiedAzureVnetBuilder;
1975
+ build: () => LiveSystemComponent;
1976
+ };
1977
+ type AzureVnetBuilder = {
1978
+ withId: (id: string) => AzureVnetBuilder;
1979
+ withVersion: (major: number, minor: number, patch: number) => AzureVnetBuilder;
1980
+ withDisplayName: (displayName: string) => AzureVnetBuilder;
1981
+ withDescription: (description: string) => AzureVnetBuilder;
1982
+ withCidrBlock: (cidrBlock: string) => AzureVnetBuilder;
1983
+ withLocation: (location: string) => AzureVnetBuilder;
1984
+ withResourceGroup: (rg: string) => AzureVnetBuilder;
1985
+ build: () => LiveSystemComponent;
1986
+ };
1987
+ type AzureVnetConfig = {
1988
+ id: string;
1989
+ version: {
1990
+ major: number;
1991
+ minor: number;
1992
+ patch: number;
1993
+ };
1994
+ displayName: string;
1995
+ description?: string;
1996
+ cidrBlock: string;
1997
+ location: string;
1998
+ resourceGroup: string;
1999
+ };
2000
+ declare namespace AzureVnet {
2001
+ const getBuilder: () => AzureVnetBuilder;
2002
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedAzureVnetBuilder;
2003
+ const create: (config: AzureVnetConfig) => LiveSystemComponent;
2004
+ }
2005
+ //#endregion
2006
+ //#region src/live_system/component/network_and_compute/iaas/azure_subnet.d.ts
2007
+ /**
2008
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2009
+ * Structural properties (id, version, displayName, description, cidrBlock,
2010
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
2011
+ */
2012
+ type SatisfiedAzureSubnetBuilder = {
2013
+ withResourceGroup: (rg: string) => SatisfiedAzureSubnetBuilder;
2014
+ build: () => LiveSystemComponent;
2015
+ };
2016
+ type AzureSubnetBuilder = {
2017
+ withId: (id: string) => AzureSubnetBuilder;
2018
+ withVersion: (major: number, minor: number, patch: number) => AzureSubnetBuilder;
2019
+ withDisplayName: (displayName: string) => AzureSubnetBuilder;
2020
+ withDescription: (description: string) => AzureSubnetBuilder;
2021
+ withCidrBlock: (cidrBlock: string) => AzureSubnetBuilder;
2022
+ withResourceGroup: (rg: string) => AzureSubnetBuilder;
2023
+ build: () => LiveSystemComponent;
2024
+ };
2025
+ type AzureSubnetConfig = {
2026
+ id: string;
2027
+ version: {
2028
+ major: number;
2029
+ minor: number;
2030
+ patch: number;
2031
+ };
2032
+ displayName: string;
2033
+ description?: string;
2034
+ cidrBlock: string;
2035
+ resourceGroup: string;
2036
+ };
2037
+ declare namespace AzureSubnet {
2038
+ const getBuilder: () => AzureSubnetBuilder;
2039
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedAzureSubnetBuilder;
2040
+ const create: (config: AzureSubnetConfig) => LiveSystemComponent;
2041
+ }
2042
+ //#endregion
2043
+ //#region src/live_system/component/network_and_compute/iaas/azure_nsg.d.ts
2044
+ /**
2045
+ * Returned by satisfy() — structural properties (id, version, displayName,
2046
+ * description, dependencies, links, ingressRules) are locked to the blueprint
2047
+ * and cannot be overridden.
2048
+ */
2049
+ type SatisfiedAzureNsgBuilder = {
2050
+ withLocation: (location: string) => SatisfiedAzureNsgBuilder;
2051
+ withResourceGroup: (rg: string) => SatisfiedAzureNsgBuilder;
2052
+ build: () => LiveSystemComponent;
2053
+ };
2054
+ type AzureNsgBuilder = {
2055
+ withId: (id: string) => AzureNsgBuilder;
2056
+ withVersion: (major: number, minor: number, patch: number) => AzureNsgBuilder;
2057
+ withDisplayName: (displayName: string) => AzureNsgBuilder;
2058
+ withDescription: (description: string) => AzureNsgBuilder;
2059
+ withIngressRules: (rules: IngressRule[]) => AzureNsgBuilder;
2060
+ withLocation: (location: string) => AzureNsgBuilder;
2061
+ withResourceGroup: (rg: string) => AzureNsgBuilder;
2062
+ build: () => LiveSystemComponent;
2063
+ };
2064
+ type AzureNsgConfig = {
2065
+ id: string;
2066
+ version: {
2067
+ major: number;
2068
+ minor: number;
2069
+ patch: number;
2070
+ };
2071
+ displayName: string;
2072
+ description?: string;
2073
+ ingressRules?: IngressRule[];
2074
+ location: string;
2075
+ resourceGroup: string;
2076
+ };
2077
+ declare namespace AzureNsg {
2078
+ const getBuilder: () => AzureNsgBuilder;
2079
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedAzureNsgBuilder;
2080
+ const create: (config: AzureNsgConfig) => LiveSystemComponent;
2081
+ }
2082
+ //#endregion
2083
+ //#region src/live_system/component/network_and_compute/iaas/azure_vm.d.ts
2084
+ /**
2085
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2086
+ * Structural properties (id, version, displayName, description, dependencies,
2087
+ * links) are locked to the blueprint and cannot be overridden.
2088
+ */
2089
+ type SatisfiedAzureVmBuilder = {
2090
+ withVmSize: (vmSize: string) => SatisfiedAzureVmBuilder;
2091
+ withLocation: (location: string) => SatisfiedAzureVmBuilder;
2092
+ withResourceGroup: (rg: string) => SatisfiedAzureVmBuilder;
2093
+ withAdminUsername: (username: string) => SatisfiedAzureVmBuilder;
2094
+ withImagePublisher: (publisher: string) => SatisfiedAzureVmBuilder;
2095
+ withImageOffer: (offer: string) => SatisfiedAzureVmBuilder;
2096
+ withImageSku: (sku: string) => SatisfiedAzureVmBuilder;
2097
+ withSshPublicKey: (key: string) => SatisfiedAzureVmBuilder;
2098
+ withOsDiskSizeGb: (gb: number) => SatisfiedAzureVmBuilder;
2099
+ build: () => LiveSystemComponent;
2100
+ };
2101
+ type AzureVmBuilder = {
2102
+ withId: (id: string) => AzureVmBuilder;
2103
+ withVersion: (major: number, minor: number, patch: number) => AzureVmBuilder;
2104
+ withDisplayName: (displayName: string) => AzureVmBuilder;
2105
+ withDescription: (description: string) => AzureVmBuilder;
2106
+ withVmSize: (vmSize: string) => AzureVmBuilder;
2107
+ withLocation: (location: string) => AzureVmBuilder;
2108
+ withResourceGroup: (rg: string) => AzureVmBuilder;
2109
+ withAdminUsername: (username: string) => AzureVmBuilder;
2110
+ withImagePublisher: (publisher: string) => AzureVmBuilder;
2111
+ withImageOffer: (offer: string) => AzureVmBuilder;
2112
+ withImageSku: (sku: string) => AzureVmBuilder;
2113
+ withSshPublicKey: (key: string) => AzureVmBuilder;
2114
+ withOsDiskSizeGb: (gb: number) => AzureVmBuilder;
2115
+ build: () => LiveSystemComponent;
2116
+ };
2117
+ type AzureVmConfig = {
2118
+ id: string;
2119
+ version: {
2120
+ major: number;
2121
+ minor: number;
2122
+ patch: number;
2123
+ };
2124
+ displayName: string;
2125
+ description?: string;
2126
+ vmSize: string;
2127
+ location: string;
2128
+ resourceGroup: string;
2129
+ adminUsername: string;
2130
+ imagePublisher: string;
2131
+ imageOffer: string;
2132
+ imageSku: string;
2133
+ sshPublicKey?: string;
2134
+ osDiskSizeGb?: number;
2135
+ };
2136
+ declare namespace AzureVm {
2137
+ const getBuilder: () => AzureVmBuilder;
2138
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedAzureVmBuilder;
2139
+ const create: (config: AzureVmConfig) => LiveSystemComponent;
2140
+ }
2141
+ //#endregion
2142
+ //#region src/live_system/component/network_and_compute/iaas/gcp_vpc.d.ts
2143
+ /**
2144
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2145
+ * Structural properties (id, version, displayName, description, cidrBlock,
2146
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
2147
+ */
2148
+ type SatisfiedGcpVpcBuilder = {
2149
+ withAutoCreateSubnetworks: (enabled: boolean) => SatisfiedGcpVpcBuilder;
2150
+ withRoutingMode: (mode: 'REGIONAL' | 'GLOBAL') => SatisfiedGcpVpcBuilder;
2151
+ build: () => LiveSystemComponent;
2152
+ };
2153
+ type GcpVpcBuilder = {
2154
+ withId: (id: string) => GcpVpcBuilder;
2155
+ withVersion: (major: number, minor: number, patch: number) => GcpVpcBuilder;
2156
+ withDisplayName: (displayName: string) => GcpVpcBuilder;
2157
+ withDescription: (description: string) => GcpVpcBuilder;
2158
+ withCidrBlock: (cidrBlock: string) => GcpVpcBuilder;
2159
+ withAutoCreateSubnetworks: (enabled: boolean) => GcpVpcBuilder;
2160
+ withRoutingMode: (mode: 'REGIONAL' | 'GLOBAL') => GcpVpcBuilder;
2161
+ build: () => LiveSystemComponent;
2162
+ };
2163
+ type GcpVpcConfig = {
2164
+ id: string;
2165
+ version: {
2166
+ major: number;
2167
+ minor: number;
2168
+ patch: number;
2169
+ };
2170
+ displayName: string;
2171
+ description?: string;
2172
+ cidrBlock: string;
2173
+ autoCreateSubnetworks?: boolean;
2174
+ routingMode?: 'REGIONAL' | 'GLOBAL';
2175
+ };
2176
+ declare namespace GcpVpc {
2177
+ const getBuilder: () => GcpVpcBuilder;
2178
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedGcpVpcBuilder;
2179
+ const create: (config: GcpVpcConfig) => LiveSystemComponent;
2180
+ }
2181
+ //#endregion
2182
+ //#region src/live_system/component/network_and_compute/iaas/gcp_subnet.d.ts
2183
+ /**
2184
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2185
+ * Structural properties (id, version, displayName, description, cidrBlock,
2186
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
2187
+ */
2188
+ type SatisfiedGcpSubnetBuilder = {
2189
+ withRegion: (region: string) => SatisfiedGcpSubnetBuilder;
2190
+ withPrivateIpGoogleAccess: (enabled: boolean) => SatisfiedGcpSubnetBuilder;
2191
+ build: () => LiveSystemComponent;
2192
+ };
2193
+ type GcpSubnetBuilder = {
2194
+ withId: (id: string) => GcpSubnetBuilder;
2195
+ withVersion: (major: number, minor: number, patch: number) => GcpSubnetBuilder;
2196
+ withDisplayName: (displayName: string) => GcpSubnetBuilder;
2197
+ withDescription: (description: string) => GcpSubnetBuilder;
2198
+ withCidrBlock: (cidrBlock: string) => GcpSubnetBuilder;
2199
+ withRegion: (region: string) => GcpSubnetBuilder;
2200
+ withPrivateIpGoogleAccess: (enabled: boolean) => GcpSubnetBuilder;
2201
+ build: () => LiveSystemComponent;
2202
+ };
2203
+ type GcpSubnetConfig = {
2204
+ id: string;
2205
+ version: {
2206
+ major: number;
2207
+ minor: number;
2208
+ patch: number;
2209
+ };
2210
+ displayName: string;
2211
+ description?: string;
2212
+ cidrBlock: string;
2213
+ region: string;
2214
+ privateIpGoogleAccess?: boolean;
2215
+ };
2216
+ declare namespace GcpSubnet {
2217
+ const getBuilder: () => GcpSubnetBuilder;
2218
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedGcpSubnetBuilder;
2219
+ const create: (config: GcpSubnetConfig) => LiveSystemComponent;
2220
+ }
2221
+ //#endregion
2222
+ //#region src/live_system/component/network_and_compute/iaas/gcp_firewall.d.ts
2223
+ /**
2224
+ * Returned by satisfy() — structural properties (id, version, displayName,
2225
+ * description, dependencies, links, ingressRules) are locked to the blueprint
2226
+ * and cannot be overridden.
2227
+ */
2228
+ type SatisfiedGcpFirewallBuilder = {
2229
+ build: () => LiveSystemComponent;
2230
+ };
2231
+ type GcpFirewallBuilder = {
2232
+ withId: (id: string) => GcpFirewallBuilder;
2233
+ withVersion: (major: number, minor: number, patch: number) => GcpFirewallBuilder;
2234
+ withDisplayName: (displayName: string) => GcpFirewallBuilder;
2235
+ withDescription: (description: string) => GcpFirewallBuilder;
2236
+ withIngressRules: (rules: IngressRule[]) => GcpFirewallBuilder;
2237
+ build: () => LiveSystemComponent;
2238
+ };
2239
+ type GcpFirewallConfig = {
2240
+ id: string;
2241
+ version: {
2242
+ major: number;
2243
+ minor: number;
2244
+ patch: number;
2245
+ };
2246
+ displayName: string;
2247
+ description?: string;
2248
+ ingressRules?: IngressRule[];
2249
+ };
2250
+ declare namespace GcpFirewall {
2251
+ const getBuilder: () => GcpFirewallBuilder;
2252
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedGcpFirewallBuilder;
2253
+ const create: (config: GcpFirewallConfig) => LiveSystemComponent;
2254
+ }
2255
+ //#endregion
2256
+ //#region src/live_system/component/network_and_compute/iaas/gcp_vm.d.ts
2257
+ /**
2258
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2259
+ * Structural properties (id, version, displayName, description, dependencies,
2260
+ * links) are locked to the blueprint and cannot be overridden.
2261
+ */
2262
+ type SatisfiedGcpVmBuilder = {
2263
+ withMachineType: (machineType: string) => SatisfiedGcpVmBuilder;
2264
+ withZone: (zone: string) => SatisfiedGcpVmBuilder;
2265
+ withImageProject: (project: string) => SatisfiedGcpVmBuilder;
2266
+ withImageFamily: (family: string) => SatisfiedGcpVmBuilder;
2267
+ withServiceAccountEmail: (email: string) => SatisfiedGcpVmBuilder;
2268
+ build: () => LiveSystemComponent;
2269
+ };
2270
+ type GcpVmBuilder = {
2271
+ withId: (id: string) => GcpVmBuilder;
2272
+ withVersion: (major: number, minor: number, patch: number) => GcpVmBuilder;
2273
+ withDisplayName: (displayName: string) => GcpVmBuilder;
2274
+ withDescription: (description: string) => GcpVmBuilder;
2275
+ withMachineType: (machineType: string) => GcpVmBuilder;
2276
+ withZone: (zone: string) => GcpVmBuilder;
2277
+ withImageProject: (project: string) => GcpVmBuilder;
2278
+ withImageFamily: (family: string) => GcpVmBuilder;
2279
+ withServiceAccountEmail: (email: string) => GcpVmBuilder;
2280
+ build: () => LiveSystemComponent;
2281
+ };
2282
+ type GcpVmConfig = {
2283
+ id: string;
2284
+ version: {
2285
+ major: number;
2286
+ minor: number;
2287
+ patch: number;
2288
+ };
2289
+ displayName: string;
2290
+ description?: string;
2291
+ machineType: string;
2292
+ zone: string;
2293
+ imageProject: string;
2294
+ imageFamily?: string;
2295
+ serviceAccountEmail?: string;
2296
+ };
2297
+ declare namespace GcpVm {
2298
+ const getBuilder: () => GcpVmBuilder;
2299
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedGcpVmBuilder;
2300
+ const create: (config: GcpVmConfig) => LiveSystemComponent;
2301
+ }
2302
+ //#endregion
2303
+ //#region src/live_system/component/network_and_compute/iaas/oci_vcn.d.ts
2304
+ /**
2305
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2306
+ * Structural properties (id, version, displayName, description, cidrBlock,
2307
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
2308
+ */
2309
+ type SatisfiedOciVcnBuilder = {
2310
+ withCompartmentId: (id: string) => SatisfiedOciVcnBuilder;
2311
+ build: () => LiveSystemComponent;
2312
+ };
2313
+ type OciVcnBuilder = {
2314
+ withId: (id: string) => OciVcnBuilder;
2315
+ withVersion: (major: number, minor: number, patch: number) => OciVcnBuilder;
2316
+ withDisplayName: (displayName: string) => OciVcnBuilder;
2317
+ withDescription: (description: string) => OciVcnBuilder;
2318
+ withCidrBlock: (cidrBlock: string) => OciVcnBuilder;
2319
+ withCompartmentId: (id: string) => OciVcnBuilder;
2320
+ build: () => LiveSystemComponent;
2321
+ };
2322
+ type OciVcnConfig = {
2323
+ id: string;
2324
+ version: {
2325
+ major: number;
2326
+ minor: number;
2327
+ patch: number;
2328
+ };
2329
+ displayName: string;
2330
+ description?: string;
2331
+ cidrBlock: string;
2332
+ compartmentId: string;
2333
+ };
2334
+ declare namespace OciVcn {
2335
+ const getBuilder: () => OciVcnBuilder;
2336
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedOciVcnBuilder;
2337
+ const create: (config: OciVcnConfig) => LiveSystemComponent;
2338
+ }
2339
+ //#endregion
2340
+ //#region src/live_system/component/network_and_compute/iaas/oci_subnet.d.ts
2341
+ /**
2342
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2343
+ * Structural properties (id, version, displayName, description, cidrBlock,
2344
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
2345
+ */
2346
+ type SatisfiedOciSubnetBuilder = {
2347
+ withCompartmentId: (id: string) => SatisfiedOciSubnetBuilder;
2348
+ withAvailabilityDomain: (ad: string) => SatisfiedOciSubnetBuilder;
2349
+ withProhibitPublicIpOnVnic: (prohibit: boolean) => SatisfiedOciSubnetBuilder;
2350
+ build: () => LiveSystemComponent;
2351
+ };
2352
+ type OciSubnetBuilder = {
2353
+ withId: (id: string) => OciSubnetBuilder;
2354
+ withVersion: (major: number, minor: number, patch: number) => OciSubnetBuilder;
2355
+ withDisplayName: (displayName: string) => OciSubnetBuilder;
2356
+ withDescription: (description: string) => OciSubnetBuilder;
2357
+ withCidrBlock: (cidrBlock: string) => OciSubnetBuilder;
2358
+ withCompartmentId: (id: string) => OciSubnetBuilder;
2359
+ withAvailabilityDomain: (ad: string) => OciSubnetBuilder;
2360
+ withProhibitPublicIpOnVnic: (prohibit: boolean) => OciSubnetBuilder;
2361
+ build: () => LiveSystemComponent;
2362
+ };
2363
+ type OciSubnetConfig = {
2364
+ id: string;
2365
+ version: {
2366
+ major: number;
2367
+ minor: number;
2368
+ patch: number;
2369
+ };
2370
+ displayName: string;
2371
+ description?: string;
2372
+ cidrBlock: string;
2373
+ compartmentId: string;
2374
+ availabilityDomain?: string;
2375
+ prohibitPublicIpOnVnic?: boolean;
2376
+ };
2377
+ declare namespace OciSubnet {
2378
+ const getBuilder: () => OciSubnetBuilder;
2379
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedOciSubnetBuilder;
2380
+ const create: (config: OciSubnetConfig) => LiveSystemComponent;
2381
+ }
2382
+ //#endregion
2383
+ //#region src/live_system/component/network_and_compute/iaas/oci_security_list.d.ts
2384
+ /**
2385
+ * Returned by satisfy() — structural properties (id, version, displayName,
2386
+ * description, dependencies, links, ingressRules) are locked to the blueprint
2387
+ * and cannot be overridden.
2388
+ */
2389
+ type SatisfiedOciSecurityListBuilder = {
2390
+ withCompartmentId: (id: string) => SatisfiedOciSecurityListBuilder;
2391
+ build: () => LiveSystemComponent;
2392
+ };
2393
+ type OciSecurityListBuilder = {
2394
+ withId: (id: string) => OciSecurityListBuilder;
2395
+ withVersion: (major: number, minor: number, patch: number) => OciSecurityListBuilder;
2396
+ withDisplayName: (displayName: string) => OciSecurityListBuilder;
2397
+ withDescription: (description: string) => OciSecurityListBuilder;
2398
+ withIngressRules: (rules: IngressRule[]) => OciSecurityListBuilder;
2399
+ withCompartmentId: (id: string) => OciSecurityListBuilder;
2400
+ build: () => LiveSystemComponent;
2401
+ };
2402
+ type OciSecurityListConfig = {
2403
+ id: string;
2404
+ version: {
2405
+ major: number;
2406
+ minor: number;
2407
+ patch: number;
2408
+ };
2409
+ displayName: string;
2410
+ description?: string;
2411
+ ingressRules?: IngressRule[];
2412
+ compartmentId: string;
2413
+ };
2414
+ declare namespace OciSecurityList {
2415
+ const getBuilder: () => OciSecurityListBuilder;
2416
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedOciSecurityListBuilder;
2417
+ const create: (config: OciSecurityListConfig) => LiveSystemComponent;
2418
+ }
2419
+ //#endregion
2420
+ //#region src/live_system/component/network_and_compute/iaas/oci_instance.d.ts
2421
+ /**
2422
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2423
+ * Structural properties (id, version, displayName, description,
2424
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
2425
+ */
2426
+ type SatisfiedOciInstanceBuilder = {
2427
+ withCompartmentId: (id: string) => SatisfiedOciInstanceBuilder;
2428
+ withAvailabilityDomain: (ad: string) => SatisfiedOciInstanceBuilder;
2429
+ withShape: (shape: string) => SatisfiedOciInstanceBuilder;
2430
+ withImageId: (imageId: string) => SatisfiedOciInstanceBuilder;
2431
+ withOcpus: (ocpus: number) => SatisfiedOciInstanceBuilder;
2432
+ withMemoryInGbs: (gb: number) => SatisfiedOciInstanceBuilder;
2433
+ withSshPublicKey: (key: string) => SatisfiedOciInstanceBuilder;
2434
+ build: () => LiveSystemComponent;
2435
+ };
2436
+ type OciInstanceBuilder = {
2437
+ withId: (id: string) => OciInstanceBuilder;
2438
+ withVersion: (major: number, minor: number, patch: number) => OciInstanceBuilder;
2439
+ withDisplayName: (displayName: string) => OciInstanceBuilder;
2440
+ withDescription: (description: string) => OciInstanceBuilder;
2441
+ withCompartmentId: (id: string) => OciInstanceBuilder;
2442
+ withAvailabilityDomain: (ad: string) => OciInstanceBuilder;
2443
+ withShape: (shape: string) => OciInstanceBuilder;
2444
+ withImageId: (imageId: string) => OciInstanceBuilder;
2445
+ withOcpus: (ocpus: number) => OciInstanceBuilder;
2446
+ withMemoryInGbs: (gb: number) => OciInstanceBuilder;
2447
+ withSshPublicKey: (key: string) => OciInstanceBuilder;
2448
+ build: () => LiveSystemComponent;
2449
+ };
2450
+ type OciInstanceConfig = {
2451
+ id: string;
2452
+ version: {
2453
+ major: number;
2454
+ minor: number;
2455
+ patch: number;
2456
+ };
2457
+ displayName: string;
2458
+ description?: string;
2459
+ compartmentId: string;
2460
+ availabilityDomain: string;
2461
+ shape: string;
2462
+ imageId: string;
2463
+ ocpus?: number;
2464
+ memoryInGbs?: number;
2465
+ sshPublicKey?: string;
2466
+ };
2467
+ declare namespace OciInstance {
2468
+ const getBuilder: () => OciInstanceBuilder;
2469
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedOciInstanceBuilder;
2470
+ const create: (config: OciInstanceConfig) => LiveSystemComponent;
2471
+ }
2472
+ //#endregion
2473
+ //#region src/live_system/component/network_and_compute/iaas/hetzner_network.d.ts
2474
+ /**
2475
+ * Returned by satisfy() — structural properties (id, version, displayName,
2476
+ * description, cidrBlock, dependencies, links) are locked to the blueprint
2477
+ * and cannot be overridden.
2478
+ */
2479
+ type SatisfiedHetznerNetworkBuilder = {
2480
+ build: () => LiveSystemComponent;
2481
+ };
2482
+ type HetznerNetworkBuilder = {
2483
+ withId: (id: string) => HetznerNetworkBuilder;
2484
+ withVersion: (major: number, minor: number, patch: number) => HetznerNetworkBuilder;
2485
+ withDisplayName: (displayName: string) => HetznerNetworkBuilder;
2486
+ withDescription: (description: string) => HetznerNetworkBuilder;
2487
+ withCidrBlock: (cidrBlock: string) => HetznerNetworkBuilder;
2488
+ build: () => LiveSystemComponent;
2489
+ };
2490
+ type HetznerNetworkConfig = {
2491
+ id: string;
2492
+ version: {
2493
+ major: number;
2494
+ minor: number;
2495
+ patch: number;
2496
+ };
2497
+ displayName: string;
2498
+ description?: string;
2499
+ cidrBlock: string;
2500
+ };
2501
+ declare namespace HetznerNetwork {
2502
+ const getBuilder: () => HetznerNetworkBuilder;
2503
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedHetznerNetworkBuilder;
2504
+ const create: (config: HetznerNetworkConfig) => LiveSystemComponent;
2505
+ }
2506
+ //#endregion
2507
+ //#region src/live_system/component/network_and_compute/iaas/hetzner_subnet.d.ts
2508
+ /**
2509
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2510
+ * Structural properties (id, version, displayName, description, cidrBlock,
2511
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
2512
+ */
2513
+ type SatisfiedHetznerSubnetBuilder = {
2514
+ withNetworkZone: (zone: string) => SatisfiedHetznerSubnetBuilder;
2515
+ withType: (type: string) => SatisfiedHetznerSubnetBuilder;
2516
+ build: () => LiveSystemComponent;
2517
+ };
2518
+ type HetznerSubnetBuilder = {
2519
+ withId: (id: string) => HetznerSubnetBuilder;
2520
+ withVersion: (major: number, minor: number, patch: number) => HetznerSubnetBuilder;
2521
+ withDisplayName: (displayName: string) => HetznerSubnetBuilder;
2522
+ withDescription: (description: string) => HetznerSubnetBuilder;
2523
+ withCidrBlock: (cidrBlock: string) => HetznerSubnetBuilder;
2524
+ withNetworkZone: (zone: string) => HetznerSubnetBuilder;
2525
+ withType: (type: string) => HetznerSubnetBuilder;
2526
+ build: () => LiveSystemComponent;
2527
+ };
2528
+ type HetznerSubnetConfig = {
2529
+ id: string;
2530
+ version: {
2531
+ major: number;
2532
+ minor: number;
2533
+ patch: number;
2534
+ };
2535
+ displayName: string;
2536
+ description?: string;
2537
+ cidrBlock: string;
2538
+ networkZone: string;
2539
+ type?: string;
2540
+ };
2541
+ declare namespace HetznerSubnet {
2542
+ const getBuilder: () => HetznerSubnetBuilder;
2543
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedHetznerSubnetBuilder;
2544
+ const create: (config: HetznerSubnetConfig) => LiveSystemComponent;
2545
+ }
2546
+ //#endregion
2547
+ //#region src/live_system/component/network_and_compute/iaas/hetzner_firewall.d.ts
2548
+ /**
2549
+ * Returned by satisfy() — structural properties (id, version, displayName,
2550
+ * description, dependencies, links, ingressRules) are locked to the blueprint
2551
+ * and cannot be overridden.
2552
+ */
2553
+ type SatisfiedHetznerFirewallBuilder = {
2554
+ build: () => LiveSystemComponent;
2555
+ };
2556
+ type HetznerFirewallBuilder = {
2557
+ withId: (id: string) => HetznerFirewallBuilder;
2558
+ withVersion: (major: number, minor: number, patch: number) => HetznerFirewallBuilder;
2559
+ withDisplayName: (displayName: string) => HetznerFirewallBuilder;
2560
+ withDescription: (description: string) => HetznerFirewallBuilder;
2561
+ withIngressRules: (rules: IngressRule[]) => HetznerFirewallBuilder;
2562
+ build: () => LiveSystemComponent;
2563
+ };
2564
+ type HetznerFirewallConfig = {
2565
+ id: string;
2566
+ version: {
2567
+ major: number;
2568
+ minor: number;
2569
+ patch: number;
2570
+ };
2571
+ displayName: string;
2572
+ description?: string;
2573
+ ingressRules?: IngressRule[];
2574
+ };
2575
+ declare namespace HetznerFirewall {
2576
+ const getBuilder: () => HetznerFirewallBuilder;
2577
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedHetznerFirewallBuilder;
2578
+ const create: (config: HetznerFirewallConfig) => LiveSystemComponent;
2579
+ }
2580
+ //#endregion
2581
+ //#region src/live_system/component/network_and_compute/iaas/hetzner_server.d.ts
2582
+ /**
2583
+ * Returned by satisfy() — only exposes vendor-specific parameters.
2584
+ * Structural properties (id, version, displayName, description,
2585
+ * dependencies, links) are locked to the blueprint and cannot be overridden.
2586
+ */
2587
+ type SatisfiedHetznerServerBuilder = {
2588
+ withServerType: (serverType: string) => SatisfiedHetznerServerBuilder;
2589
+ withLocation: (location: string) => SatisfiedHetznerServerBuilder;
2590
+ withImage: (image: string) => SatisfiedHetznerServerBuilder;
2591
+ withSshKeys: (keys: string[]) => SatisfiedHetznerServerBuilder;
2592
+ withUserData: (userData: string) => SatisfiedHetznerServerBuilder;
2593
+ build: () => LiveSystemComponent;
2594
+ };
2595
+ type HetznerServerBuilder = {
2596
+ withId: (id: string) => HetznerServerBuilder;
2597
+ withVersion: (major: number, minor: number, patch: number) => HetznerServerBuilder;
2598
+ withDisplayName: (displayName: string) => HetznerServerBuilder;
2599
+ withDescription: (description: string) => HetznerServerBuilder;
2600
+ withServerType: (serverType: string) => HetznerServerBuilder;
2601
+ withLocation: (location: string) => HetznerServerBuilder;
2602
+ withImage: (image: string) => HetznerServerBuilder;
2603
+ withSshKeys: (keys: string[]) => HetznerServerBuilder;
2604
+ withUserData: (userData: string) => HetznerServerBuilder;
2605
+ build: () => LiveSystemComponent;
2606
+ };
2607
+ type HetznerServerConfig = {
2608
+ id: string;
2609
+ version: {
2610
+ major: number;
2611
+ minor: number;
2612
+ patch: number;
2613
+ };
2614
+ displayName: string;
2615
+ description?: string;
2616
+ serverType: string;
2617
+ location: string;
2618
+ image: string;
2619
+ sshKeys?: string[];
2620
+ userData?: string;
2621
+ };
2622
+ declare namespace HetznerServer {
2623
+ const getBuilder: () => HetznerServerBuilder;
2624
+ const satisfy: (blueprint: BlueprintComponent) => SatisfiedHetznerServerBuilder;
2625
+ const create: (config: HetznerServerConfig) => LiveSystemComponent;
2626
+ }
2627
+ //#endregion
2628
+ //#region src/fractal/component/network_and_compute/paas/container_platform.d.ts
2629
+ type ContainerPlatformNode = {
2630
+ readonly platform: BlueprintComponent;
2631
+ /**
2632
+ * Workload nodes with the platform dependency auto-wired into each component.
2633
+ * Pass these to Subnet.withWorkloads() so the subnet dep is stacked on top.
2634
+ */
2635
+ readonly workloads: ReadonlyArray<WorkloadNode>;
2636
+ withWorkloads: (workloads: WorkloadNode[]) => ContainerPlatformNode;
2637
+ };
2638
+ type ContainerPlatformBuilder = {
2639
+ withId: (id: string) => ContainerPlatformBuilder;
2640
+ withVersion: (major: number, minor: number, patch: number) => ContainerPlatformBuilder;
2641
+ withDisplayName: (displayName: string) => ContainerPlatformBuilder;
2642
+ withDescription: (description: string) => ContainerPlatformBuilder;
2643
+ build: () => BlueprintComponent;
2644
+ };
2645
+ type ContainerPlatformConfig = {
2646
+ id: string;
2647
+ version: {
2648
+ major: number;
2649
+ minor: number;
2650
+ patch: number;
2651
+ };
2652
+ displayName: string;
2653
+ description?: string;
2654
+ };
2655
+ declare namespace ContainerPlatform {
2656
+ const getBuilder: () => ContainerPlatformBuilder;
2657
+ const create: (config: ContainerPlatformConfig) => ContainerPlatformNode;
2658
+ }
2659
+ //#endregion
2660
+ //#region src/live_system/component/network_and_compute/paas/ecs_cluster.d.ts
2661
+ /**
2662
+ * Returned by satisfy() — id, version, and displayName are locked from the
2663
+ * blueprint ContainerPlatform. No AWS-specific parameters are needed for a
2664
+ * basic ECS cluster, so only build() is exposed.
2665
+ */
2666
+ type SatisfiedAwsEcsClusterBuilder = {
2667
+ build: () => LiveSystemComponent;
2668
+ };
2669
+ type AwsEcsClusterBuilder = {
2670
+ withId: (id: string) => AwsEcsClusterBuilder;
2671
+ withVersion: (major: number, minor: number, patch: number) => AwsEcsClusterBuilder;
2672
+ withDisplayName: (displayName: string) => AwsEcsClusterBuilder;
2673
+ withDescription: (description: string) => AwsEcsClusterBuilder;
2674
+ build: () => LiveSystemComponent;
2675
+ };
2676
+ type AwsEcsClusterConfig = {
2677
+ id: string;
2678
+ version: {
2679
+ major: number;
2680
+ minor: number;
2681
+ patch: number;
2682
+ };
2683
+ displayName: string;
2684
+ description?: string;
2685
+ };
2686
+ declare namespace AwsEcsCluster {
2687
+ const getBuilder: () => AwsEcsClusterBuilder;
2688
+ /**
2689
+ * Satisfies a blueprint ContainerPlatform component as an AWS ECS Cluster.
2690
+ * Carries id, version, displayName, and description from the blueprint.
2691
+ */
2692
+ const satisfy: (platform: BlueprintComponent) => SatisfiedAwsEcsClusterBuilder;
2693
+ const create: (config: AwsEcsClusterConfig) => LiveSystemComponent;
2694
+ }
2695
+ //#endregion
2696
+ //#region src/live_system/component/network_and_compute/paas/ecs_task_definition.d.ts
2697
+ /**
2698
+ * Returned by satisfy() — blueprint params (image, port, cpu, memory) are
2699
+ * locked. Only IAM role ARNs and network mode can be added here.
2700
+ *
2701
+ * The component ID is derived as `${workload.id}-task` to avoid collision
2702
+ * with the AwsEcsService component that satisfies the same blueprint workload.
2703
+ */
2704
+ type SatisfiedAwsEcsTaskDefinitionBuilder = {
2705
+ withNetworkMode: (mode: string) => SatisfiedAwsEcsTaskDefinitionBuilder;
2706
+ withExecutionRoleArn: (arn: string) => SatisfiedAwsEcsTaskDefinitionBuilder;
2707
+ withTaskRoleArn: (arn: string) => SatisfiedAwsEcsTaskDefinitionBuilder;
2708
+ build: () => LiveSystemComponent;
2709
+ };
2710
+ type AwsEcsTaskDefinitionBuilder = {
2711
+ withId: (id: string) => AwsEcsTaskDefinitionBuilder;
2712
+ withVersion: (major: number, minor: number, patch: number) => AwsEcsTaskDefinitionBuilder;
2713
+ withDisplayName: (displayName: string) => AwsEcsTaskDefinitionBuilder;
2714
+ withDescription: (description: string) => AwsEcsTaskDefinitionBuilder;
2715
+ withContainerImage: (image: string) => AwsEcsTaskDefinitionBuilder;
2716
+ withContainerPort: (port: number) => AwsEcsTaskDefinitionBuilder;
2717
+ withContainerName: (name: string) => AwsEcsTaskDefinitionBuilder;
2718
+ withCpu: (cpu: string) => AwsEcsTaskDefinitionBuilder;
2719
+ withMemory: (memory: string) => AwsEcsTaskDefinitionBuilder;
2720
+ withNetworkMode: (mode: string) => AwsEcsTaskDefinitionBuilder;
2721
+ withExecutionRoleArn: (arn: string) => AwsEcsTaskDefinitionBuilder;
2722
+ withTaskRoleArn: (arn: string) => AwsEcsTaskDefinitionBuilder;
2723
+ build: () => LiveSystemComponent;
2724
+ };
2725
+ type AwsEcsTaskDefinitionConfig = {
2726
+ id: string;
2727
+ version: {
2728
+ major: number;
2729
+ minor: number;
2730
+ patch: number;
2731
+ };
2732
+ displayName: string;
2733
+ description?: string;
2734
+ containerImage: string;
2735
+ containerPort?: number;
2736
+ containerName?: string;
2737
+ cpu?: string;
2738
+ memory?: string;
2739
+ networkMode?: string;
2740
+ executionRoleArn?: string;
2741
+ taskRoleArn?: string;
2742
+ };
2743
+ declare namespace AwsEcsTaskDefinition {
2744
+ const getBuilder: () => AwsEcsTaskDefinitionBuilder;
2745
+ /**
2746
+ * Satisfies a blueprint Workload component as an AWS ECS Task Definition.
2747
+ * The component ID is `${workload.id}-task` to avoid collision with the
2748
+ * AwsEcsService that satisfies the same workload.
2749
+ */
2750
+ const satisfy: (workload: BlueprintComponent) => SatisfiedAwsEcsTaskDefinitionBuilder;
2751
+ const create: (config: AwsEcsTaskDefinitionConfig) => LiveSystemComponent;
2752
+ }
2753
+ //#endregion
2754
+ //#region src/live_system/component/network_and_compute/paas/ecs_service.d.ts
2755
+ /**
2756
+ * Returned by satisfy() — all structural properties (dependencies, links,
2757
+ * desiredCount) are locked from the blueprint. Only AWS-specific launch
2758
+ * parameters are set here.
2759
+ */
2760
+ type SatisfiedAwsEcsServiceBuilder = {
2761
+ withLaunchType: (type: string) => SatisfiedAwsEcsServiceBuilder;
2762
+ withAssignPublicIp: (assign: boolean) => SatisfiedAwsEcsServiceBuilder;
2763
+ build: () => LiveSystemComponent;
2764
+ };
2765
+ type AwsEcsServiceBuilder = {
2766
+ withId: (id: string) => AwsEcsServiceBuilder;
2767
+ withVersion: (major: number, minor: number, patch: number) => AwsEcsServiceBuilder;
2768
+ withDisplayName: (displayName: string) => AwsEcsServiceBuilder;
2769
+ withDescription: (description: string) => AwsEcsServiceBuilder;
2770
+ withDesiredCount: (count: number) => AwsEcsServiceBuilder;
2771
+ withLaunchType: (type: string) => AwsEcsServiceBuilder;
2772
+ withAssignPublicIp: (assign: boolean) => AwsEcsServiceBuilder;
2773
+ build: () => LiveSystemComponent;
2774
+ };
2775
+ type AwsEcsServiceConfig = {
2776
+ id: string;
2777
+ version: {
2778
+ major: number;
2779
+ minor: number;
2780
+ patch: number;
2781
+ };
2782
+ displayName: string;
2783
+ description?: string;
2784
+ desiredCount?: number;
2785
+ launchType?: string;
2786
+ assignPublicIp?: boolean;
2787
+ };
2788
+ declare namespace AwsEcsService {
2789
+ const getBuilder: () => AwsEcsServiceBuilder;
2790
+ /**
2791
+ * Satisfies a blueprint Workload component as an AWS ECS Service.
2792
+ * All structural properties — dependencies (subnet, cluster), links
2793
+ * (traffic rules, SG membership), and desiredCount — are carried from
2794
+ * the blueprint unchanged. Only AWS-specific launch parameters are added here.
2795
+ */
2796
+ const satisfy: (workload: BlueprintComponent) => SatisfiedAwsEcsServiceBuilder;
2797
+ const create: (config: AwsEcsServiceConfig) => LiveSystemComponent;
2798
+ }
2799
+ //#endregion
1597
2800
  //#region src/index.d.ts
1598
2801
  declare const BoundedContext: typeof BoundedContext$1;
1599
2802
  type BoundedContext = BoundedContext$1;
@@ -1622,4 +2825,4 @@ type Environment = Environment$1;
1622
2825
  declare const LiveSystem: typeof LiveSystem$1;
1623
2826
  type LiveSystem = LiveSystem$1;
1624
2827
  //#endregion
1625
- export { BoundedContext, Environment, Fractal, InfrastructureDomain, KebabCaseString, LiveSystem, OwnerId, OwnerType, PascalCaseString, ServiceAccountCredentials, ServiceAccountId, ServiceDeliveryModel, Version };
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 ContainerPlatformConfig, type ContainerPlatformNode, 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 SecurityGroupConfig, ServiceAccountCredentials, ServiceAccountId, ServiceDeliveryModel, Subnet, type SubnetBuilder, type SubnetConfig, type SubnetNode, type SubnetResult, Version, VirtualMachine, type VirtualMachineBuilder, type VirtualMachineConfig, type VirtualMachineNode, VirtualNetwork, type VirtualNetworkBuilder, type VirtualNetworkConfig, type VirtualNetworkNode, type VirtualNetworkResult, type VmPortLink, Workload, type WorkloadBuilder, type WorkloadConfig, type WorkloadNode, type WorkloadPortLink };