1. Packages
  2. Hpegl Provider
  3. API Docs
  4. MetalHost
hpegl 0.4.18 published on Friday, Apr 18, 2025 by hpe

hpegl.MetalHost

Explore with Pulumi AI

hpegl logo
hpegl 0.4.18 published on Friday, Apr 18, 2025 by hpe

    Provides Host resource. This allows Metal Host creation, deletion and update.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as hpegl from "@pulumi/hpegl";
    
    const config = new pulumi.Config();
    const location = config.get("location") || "USA:Central:AFCDCC1";
    const hostActionAsync = config.getBoolean("hostActionAsync") || true;
    const iscsiVolume = new hpegl.MetalVolume("iscsiVolume", {
        size: 5,
        shareable: true,
        flavor: "Fast",
        location: location,
        description: "Terraform shareable volume",
    });
    // Example of Host creation with implicit dependencies
    const newssh1 = new hpegl.MetalSshKey("newssh1", {publicKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCv03o//GEQ9/6eI1qZleyBbSndg0n5AkcKVnf5D4fEjwkWrtSIJEnROqJddEAn2XYALAk9x1AcB4Nue3q4tDG17VeK3ODo0+9Dx0LYqUTawnFWmo4X80QKr658Jmt7Enmnk5x2IrUDcNwAzALVellkBbwq7QbYUu1swSycNlNhSfGizqo/lQCNIHXyeRQ8oJxOuZkbiturXHZL389blIrTeUo53xmwE1TolVS8QzZRN8ve1GjFvpC5dl6orzi6LXDcrDcbZaxlrW+YQqyaipFRAw1DyTalrfpqxtq/Y9+Elz5xgCnUaepHN6ha/k81wtI2rySHga6pMOcJKlxaRS5OfzdrWh7oi2tEAaiq2y3pTr9hROQ2OGcMNU5gxbVU2ymeXdHVsAHMCmyKvQe0g0/fJzmNA/excogFCWDN7Spy9s2V39IbEKttyXjD/dpave7re9eFzYHA1CBEnNjMuvJj0H4tnpAETdQ6UbnjbE4JYn5eKGvnJ2w1JTfSdMK8nMcxqo4HfHWuLFuntCV9GAlWIVIvJn1pYisY8kEOtN5w6QrLTfsei96/TfssAsfhrDrVtgcgNU3EvZlC6Uaaly7D0ISFeufsxkPswu+jGNUJvGEqDiqvt05lSEZWS5viR/TOROTlicaGN9dhez/fqHcj5cnuoK1pmibK5GT7/Yf1Gw== user1@quattronetworks.com"});
    let terraHost: hpegl.MetalHost | undefined;
    if (1 == true) {
        terraHost = new hpegl.MetalHost("terraHost", {
            image: "ubuntu@18.04-20201102",
            machineSize: "A2atpq",
            sshes: [newssh1.metalSshKeyId],
            networks: [
                "Public",
                "Storage",
            ],
            networkRoute: "Public",
            location: location,
            description: "Hello from Terraform",
            volumeAttachments: [iscsiVolume.metalVolumeId],
            hostActionAsync: hostActionAsync,
        });
    }
    //# uncomment below to override the 60m timeouts
    //# see https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/retries-and-customizable-timeouts
    // timeouts {
    //   create = "90m"
    //   update = "5m"
    //   delete = "5m"
    // }
    const newpnet1 = new hpegl.MetalNetwork("newpnet1", {
        description: "New private network 1 description",
        location: location,
        ipPool: {
            name: "npool",
            description: "New IP pool description",
            ipVer: "IPv4",
            baseIp: "10.0.0.0",
            netmask: "/24",
            defaultRoute: "10.0.0.1",
            sources: [{
                baseIp: "10.0.0.3",
                count: 10,
            }],
            dns: ["10.0.0.50"],
            proxy: "https://10.0.0.60",
            noProxy: "10.0.0.5",
            ntps: ["10.0.0.80"],
        },
    });
    let terraHostNewSsh: hpegl.MetalHost | undefined;
    if (1 == true) {
        terraHostNewSsh = new hpegl.MetalHost("terraHostNewSsh", {
            image: "ubuntu@18.04-20201102",
            machineSize: "A2atpq",
            sshes: [newssh1.metalSshKeyId],
            networks: [
                "Public",
                newpnet1.name,
            ],
            networkRoute: "Public",
            networkUntagged: newpnet1.name,
            location: location,
            description: "Hello from Terraform",
            labels: {
                ServiceType: "BMaaS",
            },
            hostActionAsync: hostActionAsync,
        });
    }
    
    import pulumi
    import pulumi_hpegl as hpegl
    
    config = pulumi.Config()
    location = config.get("location")
    if location is None:
        location = "USA:Central:AFCDCC1"
    host_action_async = config.get_bool("hostActionAsync")
    if host_action_async is None:
        host_action_async = True
    iscsi_volume = hpegl.MetalVolume("iscsiVolume",
        size=5,
        shareable=True,
        flavor="Fast",
        location=location,
        description="Terraform shareable volume")
    # Example of Host creation with implicit dependencies
    newssh1 = hpegl.MetalSshKey("newssh1", public_key="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCv03o//GEQ9/6eI1qZleyBbSndg0n5AkcKVnf5D4fEjwkWrtSIJEnROqJddEAn2XYALAk9x1AcB4Nue3q4tDG17VeK3ODo0+9Dx0LYqUTawnFWmo4X80QKr658Jmt7Enmnk5x2IrUDcNwAzALVellkBbwq7QbYUu1swSycNlNhSfGizqo/lQCNIHXyeRQ8oJxOuZkbiturXHZL389blIrTeUo53xmwE1TolVS8QzZRN8ve1GjFvpC5dl6orzi6LXDcrDcbZaxlrW+YQqyaipFRAw1DyTalrfpqxtq/Y9+Elz5xgCnUaepHN6ha/k81wtI2rySHga6pMOcJKlxaRS5OfzdrWh7oi2tEAaiq2y3pTr9hROQ2OGcMNU5gxbVU2ymeXdHVsAHMCmyKvQe0g0/fJzmNA/excogFCWDN7Spy9s2V39IbEKttyXjD/dpave7re9eFzYHA1CBEnNjMuvJj0H4tnpAETdQ6UbnjbE4JYn5eKGvnJ2w1JTfSdMK8nMcxqo4HfHWuLFuntCV9GAlWIVIvJn1pYisY8kEOtN5w6QrLTfsei96/TfssAsfhrDrVtgcgNU3EvZlC6Uaaly7D0ISFeufsxkPswu+jGNUJvGEqDiqvt05lSEZWS5viR/TOROTlicaGN9dhez/fqHcj5cnuoK1pmibK5GT7/Yf1Gw== user1@quattronetworks.com")
    terra_host = None
    if 1 == True:
        terra_host = hpegl.MetalHost("terraHost",
            image="ubuntu@18.04-20201102",
            machine_size="A2atpq",
            sshes=[newssh1.metal_ssh_key_id],
            networks=[
                "Public",
                "Storage",
            ],
            network_route="Public",
            location=location,
            description="Hello from Terraform",
            volume_attachments=[iscsi_volume.metal_volume_id],
            host_action_async=host_action_async)
    ## uncomment below to override the 60m timeouts
    ## see https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/retries-and-customizable-timeouts
    # timeouts {
    #   create = "90m"
    #   update = "5m"
    #   delete = "5m"
    # }
    newpnet1 = hpegl.MetalNetwork("newpnet1",
        description="New private network 1 description",
        location=location,
        ip_pool={
            "name": "npool",
            "description": "New IP pool description",
            "ip_ver": "IPv4",
            "base_ip": "10.0.0.0",
            "netmask": "/24",
            "default_route": "10.0.0.1",
            "sources": [{
                "base_ip": "10.0.0.3",
                "count": 10,
            }],
            "dns": ["10.0.0.50"],
            "proxy": "https://10.0.0.60",
            "no_proxy": "10.0.0.5",
            "ntps": ["10.0.0.80"],
        })
    terra_host_new_ssh = None
    if 1 == True:
        terra_host_new_ssh = hpegl.MetalHost("terraHostNewSsh",
            image="ubuntu@18.04-20201102",
            machine_size="A2atpq",
            sshes=[newssh1.metal_ssh_key_id],
            networks=[
                "Public",
                newpnet1.name,
            ],
            network_route="Public",
            network_untagged=newpnet1.name,
            location=location,
            description="Hello from Terraform",
            labels={
                "ServiceType": "BMaaS",
            },
            host_action_async=host_action_async)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/hpegl/hpegl"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		location := "USA:Central:AFCDCC1"
    		if param := cfg.Get("location"); param != "" {
    			location = param
    		}
    		hostActionAsync := true
    		if param := cfg.GetBool("hostActionAsync"); param {
    			hostActionAsync = param
    		}
    		iscsiVolume, err := hpegl.NewMetalVolume(ctx, "iscsiVolume", &hpegl.MetalVolumeArgs{
    			Size:        pulumi.Float64(5),
    			Shareable:   pulumi.Bool(true),
    			Flavor:      pulumi.String("Fast"),
    			Location:    pulumi.String(location),
    			Description: pulumi.String("Terraform shareable volume"),
    		})
    		if err != nil {
    			return err
    		}
    		// Example of Host creation with implicit dependencies
    		newssh1, err := hpegl.NewMetalSshKey(ctx, "newssh1", &hpegl.MetalSshKeyArgs{
    			PublicKey: pulumi.String("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCv03o//GEQ9/6eI1qZleyBbSndg0n5AkcKVnf5D4fEjwkWrtSIJEnROqJddEAn2XYALAk9x1AcB4Nue3q4tDG17VeK3ODo0+9Dx0LYqUTawnFWmo4X80QKr658Jmt7Enmnk5x2IrUDcNwAzALVellkBbwq7QbYUu1swSycNlNhSfGizqo/lQCNIHXyeRQ8oJxOuZkbiturXHZL389blIrTeUo53xmwE1TolVS8QzZRN8ve1GjFvpC5dl6orzi6LXDcrDcbZaxlrW+YQqyaipFRAw1DyTalrfpqxtq/Y9+Elz5xgCnUaepHN6ha/k81wtI2rySHga6pMOcJKlxaRS5OfzdrWh7oi2tEAaiq2y3pTr9hROQ2OGcMNU5gxbVU2ymeXdHVsAHMCmyKvQe0g0/fJzmNA/excogFCWDN7Spy9s2V39IbEKttyXjD/dpave7re9eFzYHA1CBEnNjMuvJj0H4tnpAETdQ6UbnjbE4JYn5eKGvnJ2w1JTfSdMK8nMcxqo4HfHWuLFuntCV9GAlWIVIvJn1pYisY8kEOtN5w6QrLTfsei96/TfssAsfhrDrVtgcgNU3EvZlC6Uaaly7D0ISFeufsxkPswu+jGNUJvGEqDiqvt05lSEZWS5viR/TOROTlicaGN9dhez/fqHcj5cnuoK1pmibK5GT7/Yf1Gw== user1@quattronetworks.com"),
    		})
    		if err != nil {
    			return err
    		}
    		var terraHost []*hpegl.MetalHost
    		for index := 0; index < 1 == true; index++ {
    			key0 := index
    			_ := index
    			__res, err := hpegl.NewMetalHost(ctx, fmt.Sprintf("terraHost-%v", key0), &hpegl.MetalHostArgs{
    				Image:       pulumi.String("ubuntu@18.04-20201102"),
    				MachineSize: pulumi.String("A2atpq"),
    				Sshes: pulumi.StringArray{
    					newssh1.MetalSshKeyId,
    				},
    				Networks: pulumi.StringArray{
    					pulumi.String("Public"),
    					pulumi.String("Storage"),
    				},
    				NetworkRoute: pulumi.String("Public"),
    				Location:     pulumi.String(location),
    				Description:  pulumi.String("Hello from Terraform"),
    				VolumeAttachments: pulumi.StringArray{
    					iscsiVolume.MetalVolumeId,
    				},
    				HostActionAsync: pulumi.Bool(hostActionAsync),
    			})
    			if err != nil {
    				return err
    			}
    			terraHost = append(terraHost, __res)
    		}
    		newpnet1, err := hpegl.NewMetalNetwork(ctx, "newpnet1", &hpegl.MetalNetworkArgs{
    			Description: pulumi.String("New private network 1 description"),
    			Location:    pulumi.String(location),
    			IpPool: &hpegl.MetalNetworkIpPoolArgs{
    				Name:         pulumi.String("npool"),
    				Description:  pulumi.String("New IP pool description"),
    				IpVer:        pulumi.String("IPv4"),
    				BaseIp:       pulumi.String("10.0.0.0"),
    				Netmask:      pulumi.String("/24"),
    				DefaultRoute: pulumi.String("10.0.0.1"),
    				Sources: hpegl.MetalNetworkIpPoolSourceArray{
    					&hpegl.MetalNetworkIpPoolSourceArgs{
    						BaseIp: pulumi.String("10.0.0.3"),
    						Count:  pulumi.Float64(10),
    					},
    				},
    				Dns: pulumi.StringArray{
    					pulumi.String("10.0.0.50"),
    				},
    				Proxy:   pulumi.String("https://10.0.0.60"),
    				NoProxy: pulumi.String("10.0.0.5"),
    				Ntps: pulumi.StringArray{
    					pulumi.String("10.0.0.80"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		var terraHostNewSsh []*hpegl.MetalHost
    		for index := 0; index < 1 == true; index++ {
    			key0 := index
    			_ := index
    			__res, err := hpegl.NewMetalHost(ctx, fmt.Sprintf("terraHostNewSsh-%v", key0), &hpegl.MetalHostArgs{
    				Image:       pulumi.String("ubuntu@18.04-20201102"),
    				MachineSize: pulumi.String("A2atpq"),
    				Sshes: pulumi.StringArray{
    					newssh1.MetalSshKeyId,
    				},
    				Networks: pulumi.StringArray{
    					pulumi.String("Public"),
    					newpnet1.Name,
    				},
    				NetworkRoute:    pulumi.String("Public"),
    				NetworkUntagged: newpnet1.Name,
    				Location:        pulumi.String(location),
    				Description:     pulumi.String("Hello from Terraform"),
    				Labels: pulumi.StringMap{
    					"ServiceType": pulumi.String("BMaaS"),
    				},
    				HostActionAsync: pulumi.Bool(hostActionAsync),
    			})
    			if err != nil {
    				return err
    			}
    			terraHostNewSsh = append(terraHostNewSsh, __res)
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Hpegl = Pulumi.Hpegl;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var location = config.Get("location") ?? "USA:Central:AFCDCC1";
        var hostActionAsync = config.GetBoolean("hostActionAsync") ?? true;
        var iscsiVolume = new Hpegl.MetalVolume("iscsiVolume", new()
        {
            Size = 5,
            Shareable = true,
            Flavor = "Fast",
            Location = location,
            Description = "Terraform shareable volume",
        });
    
        // Example of Host creation with implicit dependencies
        var newssh1 = new Hpegl.MetalSshKey("newssh1", new()
        {
            PublicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCv03o//GEQ9/6eI1qZleyBbSndg0n5AkcKVnf5D4fEjwkWrtSIJEnROqJddEAn2XYALAk9x1AcB4Nue3q4tDG17VeK3ODo0+9Dx0LYqUTawnFWmo4X80QKr658Jmt7Enmnk5x2IrUDcNwAzALVellkBbwq7QbYUu1swSycNlNhSfGizqo/lQCNIHXyeRQ8oJxOuZkbiturXHZL389blIrTeUo53xmwE1TolVS8QzZRN8ve1GjFvpC5dl6orzi6LXDcrDcbZaxlrW+YQqyaipFRAw1DyTalrfpqxtq/Y9+Elz5xgCnUaepHN6ha/k81wtI2rySHga6pMOcJKlxaRS5OfzdrWh7oi2tEAaiq2y3pTr9hROQ2OGcMNU5gxbVU2ymeXdHVsAHMCmyKvQe0g0/fJzmNA/excogFCWDN7Spy9s2V39IbEKttyXjD/dpave7re9eFzYHA1CBEnNjMuvJj0H4tnpAETdQ6UbnjbE4JYn5eKGvnJ2w1JTfSdMK8nMcxqo4HfHWuLFuntCV9GAlWIVIvJn1pYisY8kEOtN5w6QrLTfsei96/TfssAsfhrDrVtgcgNU3EvZlC6Uaaly7D0ISFeufsxkPswu+jGNUJvGEqDiqvt05lSEZWS5viR/TOROTlicaGN9dhez/fqHcj5cnuoK1pmibK5GT7/Yf1Gw== user1@quattronetworks.com",
        });
    
        var terraHost = new List<Hpegl.MetalHost>();
        for (var rangeIndex = 0; rangeIndex < (1 == true); rangeIndex++)
        {
            var range = new { Value = rangeIndex };
            terraHost.Add(new Hpegl.MetalHost($"terraHost-{range.Value}", new()
            {
                Image = "ubuntu@18.04-20201102",
                MachineSize = "A2atpq",
                Sshes = new[]
                {
                    newssh1.MetalSshKeyId,
                },
                Networks = new[]
                {
                    "Public",
                    "Storage",
                },
                NetworkRoute = "Public",
                Location = location,
                Description = "Hello from Terraform",
                VolumeAttachments = new[]
                {
                    iscsiVolume.MetalVolumeId,
                },
                HostActionAsync = hostActionAsync,
            }));
        }
        //# uncomment below to override the 60m timeouts
        //# see https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/retries-and-customizable-timeouts
        // timeouts {
        //   create = "90m"
        //   update = "5m"
        //   delete = "5m"
        // }
        var newpnet1 = new Hpegl.MetalNetwork("newpnet1", new()
        {
            Description = "New private network 1 description",
            Location = location,
            IpPool = new Hpegl.Inputs.MetalNetworkIpPoolArgs
            {
                Name = "npool",
                Description = "New IP pool description",
                IpVer = "IPv4",
                BaseIp = "10.0.0.0",
                Netmask = "/24",
                DefaultRoute = "10.0.0.1",
                Sources = new[]
                {
                    new Hpegl.Inputs.MetalNetworkIpPoolSourceArgs
                    {
                        BaseIp = "10.0.0.3",
                        Count = 10,
                    },
                },
                Dns = new[]
                {
                    "10.0.0.50",
                },
                Proxy = "https://10.0.0.60",
                NoProxy = "10.0.0.5",
                Ntps = new[]
                {
                    "10.0.0.80",
                },
            },
        });
    
        var terraHostNewSsh = new List<Hpegl.MetalHost>();
        for (var rangeIndex = 0; rangeIndex < (1 == true); rangeIndex++)
        {
            var range = new { Value = rangeIndex };
            terraHostNewSsh.Add(new Hpegl.MetalHost($"terraHostNewSsh-{range.Value}", new()
            {
                Image = "ubuntu@18.04-20201102",
                MachineSize = "A2atpq",
                Sshes = new[]
                {
                    newssh1.MetalSshKeyId,
                },
                Networks = new[]
                {
                    "Public",
                    newpnet1.Name,
                },
                NetworkRoute = "Public",
                NetworkUntagged = newpnet1.Name,
                Location = location,
                Description = "Hello from Terraform",
                Labels = 
                {
                    { "ServiceType", "BMaaS" },
                },
                HostActionAsync = hostActionAsync,
            }));
        }
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.hpegl.MetalVolume;
    import com.pulumi.hpegl.MetalVolumeArgs;
    import com.pulumi.hpegl.MetalSshKey;
    import com.pulumi.hpegl.MetalSshKeyArgs;
    import com.pulumi.hpegl.MetalHost;
    import com.pulumi.hpegl.MetalHostArgs;
    import com.pulumi.hpegl.MetalNetwork;
    import com.pulumi.hpegl.MetalNetworkArgs;
    import com.pulumi.hpegl.inputs.MetalNetworkIpPoolArgs;
    import com.pulumi.codegen.internal.KeyedValue;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var config = ctx.config();
            final var location = config.get("location").orElse("USA:Central:AFCDCC1");
            final var hostActionAsync = config.get("hostActionAsync").orElse(true);
            var iscsiVolume = new MetalVolume("iscsiVolume", MetalVolumeArgs.builder()
                .size(5)
                .shareable(true)
                .flavor("Fast")
                .location(location)
                .description("Terraform shareable volume")
                .build());
    
            // Example of Host creation with implicit dependencies
            var newssh1 = new MetalSshKey("newssh1", MetalSshKeyArgs.builder()
                .publicKey("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCv03o//GEQ9/6eI1qZleyBbSndg0n5AkcKVnf5D4fEjwkWrtSIJEnROqJddEAn2XYALAk9x1AcB4Nue3q4tDG17VeK3ODo0+9Dx0LYqUTawnFWmo4X80QKr658Jmt7Enmnk5x2IrUDcNwAzALVellkBbwq7QbYUu1swSycNlNhSfGizqo/lQCNIHXyeRQ8oJxOuZkbiturXHZL389blIrTeUo53xmwE1TolVS8QzZRN8ve1GjFvpC5dl6orzi6LXDcrDcbZaxlrW+YQqyaipFRAw1DyTalrfpqxtq/Y9+Elz5xgCnUaepHN6ha/k81wtI2rySHga6pMOcJKlxaRS5OfzdrWh7oi2tEAaiq2y3pTr9hROQ2OGcMNU5gxbVU2ymeXdHVsAHMCmyKvQe0g0/fJzmNA/excogFCWDN7Spy9s2V39IbEKttyXjD/dpave7re9eFzYHA1CBEnNjMuvJj0H4tnpAETdQ6UbnjbE4JYn5eKGvnJ2w1JTfSdMK8nMcxqo4HfHWuLFuntCV9GAlWIVIvJn1pYisY8kEOtN5w6QrLTfsei96/TfssAsfhrDrVtgcgNU3EvZlC6Uaaly7D0ISFeufsxkPswu+jGNUJvGEqDiqvt05lSEZWS5viR/TOROTlicaGN9dhez/fqHcj5cnuoK1pmibK5GT7/Yf1Gw== user1@quattronetworks.com")
                .build());
    
            for (var i = 0; i < (1 == true); i++) {
                new MetalHost("terraHost-" + i, MetalHostArgs.builder()
                    .image("ubuntu@18.04-20201102")
                    .machineSize("A2atpq")
                    .sshes(newssh1.metalSshKeyId())
                    .networks(                
                        "Public",
                        "Storage")
                    .networkRoute("Public")
                    .location(location)
                    .description("Hello from Terraform")
                    .volumeAttachments(iscsiVolume.metalVolumeId())
                    .hostActionAsync(hostActionAsync)
                    .build());
    
            
    }
            //# uncomment below to override the 60m timeouts
            //# see https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/retries-and-customizable-timeouts
            // timeouts {
            //   create = "90m"
            //   update = "5m"
            //   delete = "5m"
            // }
            var newpnet1 = new MetalNetwork("newpnet1", MetalNetworkArgs.builder()
                .description("New private network 1 description")
                .location(location)
                .ipPool(MetalNetworkIpPoolArgs.builder()
                    .name("npool")
                    .description("New IP pool description")
                    .ipVer("IPv4")
                    .baseIp("10.0.0.0")
                    .netmask("/24")
                    .defaultRoute("10.0.0.1")
                    .sources(MetalNetworkIpPoolSourceArgs.builder()
                        .baseIp("10.0.0.3")
                        .count(10)
                        .build())
                    .dns("10.0.0.50")
                    .proxy("https://10.0.0.60")
                    .noProxy("10.0.0.5")
                    .ntps("10.0.0.80")
                    .build())
                .build());
    
            for (var i = 0; i < (1 == true); i++) {
                new MetalHost("terraHostNewSsh-" + i, MetalHostArgs.builder()
                    .image("ubuntu@18.04-20201102")
                    .machineSize("A2atpq")
                    .sshes(newssh1.metalSshKeyId())
                    .networks(                
                        "Public",
                        newpnet1.name())
                    .networkRoute("Public")
                    .networkUntagged(newpnet1.name())
                    .location(location)
                    .description("Hello from Terraform")
                    .labels(Map.of("ServiceType", "BMaaS"))
                    .hostActionAsync(hostActionAsync)
                    .build());
    
            
    }
        }
    }
    
    configuration:
      location:
        type: string
        default: USA:Central:AFCDCC1
      hostActionAsync:
        type: bool
        default: true
    resources:
      iscsiVolume:
        type: hpegl:MetalVolume
        properties:
          size: 5
          shareable: true
          flavor: Fast
          location: ${location}
          description: Terraform shareable volume
      terraHost:
        type: hpegl:MetalHost
        properties:
          image: ubuntu@18.04-20201102
          machineSize: A2atpq
          sshes:
            - ${newssh1.metalSshKeyId}
          networks:
            - Public
            - Storage
          networkRoute: Public
          location: ${location}
          description: Hello from Terraform
          volumeAttachments:
            - ${iscsiVolume.metalVolumeId}
          hostActionAsync: ${hostActionAsync}
        options: {}
      # Example of Host creation with implicit dependencies
      newssh1:
        type: hpegl:MetalSshKey
        properties:
          publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCv03o//GEQ9/6eI1qZleyBbSndg0n5AkcKVnf5D4fEjwkWrtSIJEnROqJddEAn2XYALAk9x1AcB4Nue3q4tDG17VeK3ODo0+9Dx0LYqUTawnFWmo4X80QKr658Jmt7Enmnk5x2IrUDcNwAzALVellkBbwq7QbYUu1swSycNlNhSfGizqo/lQCNIHXyeRQ8oJxOuZkbiturXHZL389blIrTeUo53xmwE1TolVS8QzZRN8ve1GjFvpC5dl6orzi6LXDcrDcbZaxlrW+YQqyaipFRAw1DyTalrfpqxtq/Y9+Elz5xgCnUaepHN6ha/k81wtI2rySHga6pMOcJKlxaRS5OfzdrWh7oi2tEAaiq2y3pTr9hROQ2OGcMNU5gxbVU2ymeXdHVsAHMCmyKvQe0g0/fJzmNA/excogFCWDN7Spy9s2V39IbEKttyXjD/dpave7re9eFzYHA1CBEnNjMuvJj0H4tnpAETdQ6UbnjbE4JYn5eKGvnJ2w1JTfSdMK8nMcxqo4HfHWuLFuntCV9GAlWIVIvJn1pYisY8kEOtN5w6QrLTfsei96/TfssAsfhrDrVtgcgNU3EvZlC6Uaaly7D0ISFeufsxkPswu+jGNUJvGEqDiqvt05lSEZWS5viR/TOROTlicaGN9dhez/fqHcj5cnuoK1pmibK5GT7/Yf1Gw== user1@quattronetworks.com
      newpnet1:
        type: hpegl:MetalNetwork
        properties:
          description: New private network 1 description
          location: ${location}
          ipPool:
            name: npool
            description: New IP pool description
            ipVer: IPv4
            baseIp: 10.0.0.0
            netmask: /24
            defaultRoute: 10.0.0.1
            sources:
              - baseIp: 10.0.0.3
                count: 10
            dns:
              - 10.0.0.50
            proxy: https://10.0.0.60
            noProxy: 10.0.0.5
            ntps:
              - 10.0.0.80
      terraHostNewSsh:
        type: hpegl:MetalHost
        properties:
          image: ubuntu@18.04-20201102
          machineSize: A2atpq
          sshes:
            - ${newssh1.metalSshKeyId}
          networks:
            - Public
            - ${newpnet1.name}
          networkRoute: Public
          networkUntagged: ${newpnet1.name}
          location: ${location}
          description: Hello from Terraform
          labels:
            ServiceType: BMaaS
          hostActionAsync: ${hostActionAsync}
        options: {}
    

    Create MetalHost Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new MetalHost(name: string, args: MetalHostArgs, opts?: CustomResourceOptions);
    @overload
    def MetalHost(resource_name: str,
                  args: MetalHostArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def MetalHost(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  location: Optional[str] = None,
                  sshes: Optional[Sequence[str]] = None,
                  networks: Optional[Sequence[str]] = None,
                  image: Optional[str] = None,
                  machine_size: Optional[str] = None,
                  initiator_name: Optional[str] = None,
                  labels: Optional[Mapping[str, str]] = None,
                  allocated_ips: Optional[Sequence[str]] = None,
                  metal_host_id: Optional[str] = None,
                  name: Optional[str] = None,
                  network_route: Optional[str] = None,
                  network_untagged: Optional[str] = None,
                  host_action_async: Optional[bool] = None,
                  description: Optional[str] = None,
                  timeouts: Optional[MetalHostTimeoutsArgs] = None,
                  user_data: Optional[str] = None,
                  volume_attachments: Optional[Sequence[str]] = None,
                  volume_infos: Optional[Sequence[MetalHostVolumeInfoArgs]] = None)
    func NewMetalHost(ctx *Context, name string, args MetalHostArgs, opts ...ResourceOption) (*MetalHost, error)
    public MetalHost(string name, MetalHostArgs args, CustomResourceOptions? opts = null)
    public MetalHost(String name, MetalHostArgs args)
    public MetalHost(String name, MetalHostArgs args, CustomResourceOptions options)
    
    type: hpegl:MetalHost
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args MetalHostArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args MetalHostArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args MetalHostArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args MetalHostArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args MetalHostArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var metalHostResource = new Hpegl.MetalHost("metalHostResource", new()
    {
        Location = "string",
        Sshes = new[]
        {
            "string",
        },
        Networks = new[]
        {
            "string",
        },
        Image = "string",
        MachineSize = "string",
        InitiatorName = "string",
        Labels = 
        {
            { "string", "string" },
        },
        AllocatedIps = new[]
        {
            "string",
        },
        MetalHostId = "string",
        Name = "string",
        NetworkRoute = "string",
        NetworkUntagged = "string",
        HostActionAsync = false,
        Description = "string",
        Timeouts = new Hpegl.Inputs.MetalHostTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
        UserData = "string",
        VolumeAttachments = new[]
        {
            "string",
        },
        VolumeInfos = new[]
        {
            new Hpegl.Inputs.MetalHostVolumeInfoArgs
            {
                Name = "string",
                DiscoveryIp = "string",
                Id = "string",
                TargetIqn = "string",
            },
        },
    });
    
    example, err := hpegl.NewMetalHost(ctx, "metalHostResource", &hpegl.MetalHostArgs{
    	Location: pulumi.String("string"),
    	Sshes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Networks: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Image:         pulumi.String("string"),
    	MachineSize:   pulumi.String("string"),
    	InitiatorName: pulumi.String("string"),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	AllocatedIps: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	MetalHostId:     pulumi.String("string"),
    	Name:            pulumi.String("string"),
    	NetworkRoute:    pulumi.String("string"),
    	NetworkUntagged: pulumi.String("string"),
    	HostActionAsync: pulumi.Bool(false),
    	Description:     pulumi.String("string"),
    	Timeouts: &hpegl.MetalHostTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    	UserData: pulumi.String("string"),
    	VolumeAttachments: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	VolumeInfos: hpegl.MetalHostVolumeInfoArray{
    		&hpegl.MetalHostVolumeInfoArgs{
    			Name:        pulumi.String("string"),
    			DiscoveryIp: pulumi.String("string"),
    			Id:          pulumi.String("string"),
    			TargetIqn:   pulumi.String("string"),
    		},
    	},
    })
    
    var metalHostResource = new MetalHost("metalHostResource", MetalHostArgs.builder()
        .location("string")
        .sshes("string")
        .networks("string")
        .image("string")
        .machineSize("string")
        .initiatorName("string")
        .labels(Map.of("string", "string"))
        .allocatedIps("string")
        .metalHostId("string")
        .name("string")
        .networkRoute("string")
        .networkUntagged("string")
        .hostActionAsync(false)
        .description("string")
        .timeouts(MetalHostTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .userData("string")
        .volumeAttachments("string")
        .volumeInfos(MetalHostVolumeInfoArgs.builder()
            .name("string")
            .discoveryIp("string")
            .id("string")
            .targetIqn("string")
            .build())
        .build());
    
    metal_host_resource = hpegl.MetalHost("metalHostResource",
        location="string",
        sshes=["string"],
        networks=["string"],
        image="string",
        machine_size="string",
        initiator_name="string",
        labels={
            "string": "string",
        },
        allocated_ips=["string"],
        metal_host_id="string",
        name="string",
        network_route="string",
        network_untagged="string",
        host_action_async=False,
        description="string",
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        },
        user_data="string",
        volume_attachments=["string"],
        volume_infos=[{
            "name": "string",
            "discovery_ip": "string",
            "id": "string",
            "target_iqn": "string",
        }])
    
    const metalHostResource = new hpegl.MetalHost("metalHostResource", {
        location: "string",
        sshes: ["string"],
        networks: ["string"],
        image: "string",
        machineSize: "string",
        initiatorName: "string",
        labels: {
            string: "string",
        },
        allocatedIps: ["string"],
        metalHostId: "string",
        name: "string",
        networkRoute: "string",
        networkUntagged: "string",
        hostActionAsync: false,
        description: "string",
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
        userData: "string",
        volumeAttachments: ["string"],
        volumeInfos: [{
            name: "string",
            discoveryIp: "string",
            id: "string",
            targetIqn: "string",
        }],
    });
    
    type: hpegl:MetalHost
    properties:
        allocatedIps:
            - string
        description: string
        hostActionAsync: false
        image: string
        initiatorName: string
        labels:
            string: string
        location: string
        machineSize: string
        metalHostId: string
        name: string
        networkRoute: string
        networkUntagged: string
        networks:
            - string
        sshes:
            - string
        timeouts:
            create: string
            delete: string
            update: string
        userData: string
        volumeAttachments:
            - string
        volumeInfos:
            - discoveryIp: string
              id: string
              name: string
              targetIqn: string
    

    MetalHost Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The MetalHost resource accepts the following input properties:

    Image string
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    Location string
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    MachineSize string
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    Networks List<string>
    List of network name e.g. ['Public', 'Private'].
    Sshes List<string>
    A list of SSH keys that will be pushed to the host.
    AllocatedIps List<string>
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    Description string
    A wordy description of the machine and purpose.
    HostActionAsync bool
    set true to do host create, update, and delete asynchronously. The default is true.
    InitiatorName string
    The iSCSI initiator name for this host.
    Labels Dictionary<string, string>
    map of label name to label value for this host
    MetalHostId string
    The ID of this resource.
    Name string
    Any friendly name to identify the host that will become the OS hostname in lower case.
    NetworkRoute string
    Network selected for the default route
    NetworkUntagged string
    Untagged network
    Timeouts MetalHostTimeouts
    UserData string
    Any yaml compliant string that will be merged into cloud-init for this host.
    VolumeAttachments List<string>
    List of existing volume IDs
    VolumeInfos List<MetalHostVolumeInfo>
    Information about volumes attached to this host.
    Image string
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    Location string
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    MachineSize string
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    Networks []string
    List of network name e.g. ['Public', 'Private'].
    Sshes []string
    A list of SSH keys that will be pushed to the host.
    AllocatedIps []string
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    Description string
    A wordy description of the machine and purpose.
    HostActionAsync bool
    set true to do host create, update, and delete asynchronously. The default is true.
    InitiatorName string
    The iSCSI initiator name for this host.
    Labels map[string]string
    map of label name to label value for this host
    MetalHostId string
    The ID of this resource.
    Name string
    Any friendly name to identify the host that will become the OS hostname in lower case.
    NetworkRoute string
    Network selected for the default route
    NetworkUntagged string
    Untagged network
    Timeouts MetalHostTimeoutsArgs
    UserData string
    Any yaml compliant string that will be merged into cloud-init for this host.
    VolumeAttachments []string
    List of existing volume IDs
    VolumeInfos []MetalHostVolumeInfoArgs
    Information about volumes attached to this host.
    image String
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    location String
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    machineSize String
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    networks List<String>
    List of network name e.g. ['Public', 'Private'].
    sshes List<String>
    A list of SSH keys that will be pushed to the host.
    allocatedIps List<String>
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    description String
    A wordy description of the machine and purpose.
    hostActionAsync Boolean
    set true to do host create, update, and delete asynchronously. The default is true.
    initiatorName String
    The iSCSI initiator name for this host.
    labels Map<String,String>
    map of label name to label value for this host
    metalHostId String
    The ID of this resource.
    name String
    Any friendly name to identify the host that will become the OS hostname in lower case.
    networkRoute String
    Network selected for the default route
    networkUntagged String
    Untagged network
    timeouts MetalHostTimeouts
    userData String
    Any yaml compliant string that will be merged into cloud-init for this host.
    volumeAttachments List<String>
    List of existing volume IDs
    volumeInfos List<MetalHostVolumeInfo>
    Information about volumes attached to this host.
    image string
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    location string
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    machineSize string
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    networks string[]
    List of network name e.g. ['Public', 'Private'].
    sshes string[]
    A list of SSH keys that will be pushed to the host.
    allocatedIps string[]
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    description string
    A wordy description of the machine and purpose.
    hostActionAsync boolean
    set true to do host create, update, and delete asynchronously. The default is true.
    initiatorName string
    The iSCSI initiator name for this host.
    labels {[key: string]: string}
    map of label name to label value for this host
    metalHostId string
    The ID of this resource.
    name string
    Any friendly name to identify the host that will become the OS hostname in lower case.
    networkRoute string
    Network selected for the default route
    networkUntagged string
    Untagged network
    timeouts MetalHostTimeouts
    userData string
    Any yaml compliant string that will be merged into cloud-init for this host.
    volumeAttachments string[]
    List of existing volume IDs
    volumeInfos MetalHostVolumeInfo[]
    Information about volumes attached to this host.
    image str
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    location str
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    machine_size str
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    networks Sequence[str]
    List of network name e.g. ['Public', 'Private'].
    sshes Sequence[str]
    A list of SSH keys that will be pushed to the host.
    allocated_ips Sequence[str]
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    description str
    A wordy description of the machine and purpose.
    host_action_async bool
    set true to do host create, update, and delete asynchronously. The default is true.
    initiator_name str
    The iSCSI initiator name for this host.
    labels Mapping[str, str]
    map of label name to label value for this host
    metal_host_id str
    The ID of this resource.
    name str
    Any friendly name to identify the host that will become the OS hostname in lower case.
    network_route str
    Network selected for the default route
    network_untagged str
    Untagged network
    timeouts MetalHostTimeoutsArgs
    user_data str
    Any yaml compliant string that will be merged into cloud-init for this host.
    volume_attachments Sequence[str]
    List of existing volume IDs
    volume_infos Sequence[MetalHostVolumeInfoArgs]
    Information about volumes attached to this host.
    image String
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    location String
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    machineSize String
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    networks List<String>
    List of network name e.g. ['Public', 'Private'].
    sshes List<String>
    A list of SSH keys that will be pushed to the host.
    allocatedIps List<String>
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    description String
    A wordy description of the machine and purpose.
    hostActionAsync Boolean
    set true to do host create, update, and delete asynchronously. The default is true.
    initiatorName String
    The iSCSI initiator name for this host.
    labels Map<String>
    map of label name to label value for this host
    metalHostId String
    The ID of this resource.
    name String
    Any friendly name to identify the host that will become the OS hostname in lower case.
    networkRoute String
    Network selected for the default route
    networkUntagged String
    Untagged network
    timeouts Property Map
    userData String
    Any yaml compliant string that will be merged into cloud-init for this host.
    volumeAttachments List<String>
    List of existing volume IDs
    volumeInfos List<Property Map>
    Information about volumes attached to this host.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the MetalHost resource produces the following output properties:

    ChapSecret string
    The iSCSI CHAP secret for this host.
    ChapUser string
    The iSCSI CHAP name for this host.
    Connections Dictionary<string, string>
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    ConnectionsGateway Dictionary<string, string>
    A map of network connection name to gateway IP address.
    ConnectionsSubnet Dictionary<string, string>
    A map of network connection name to subnet IP address.
    ConnectionsVlan Dictionary<string, double>
    A map of network connection name to VLAN ID.
    Id string
    The provider-assigned unique ID for this managed resource.
    LocationId string
    UUID of the location
    MachineSizeId string
    Machine size ID
    NetworkIds List<string>
    List of network UUIDs.
    NetworkRouteId string
    Network ID of the default route
    NetworkUntaggedId string
    Untagged network ID
    PortalCommOkay bool
    The current portal communication state of the host
    PowerState string
    The current power state of the host
    SshIds List<string>
    State string
    The current state of the host
    SubState string
    The current state of the deployment
    SummaryStatus string
    The current health status of the host
    Wwpns List<string>
    FC HBA world wide port names.
    ChapSecret string
    The iSCSI CHAP secret for this host.
    ChapUser string
    The iSCSI CHAP name for this host.
    Connections map[string]string
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    ConnectionsGateway map[string]string
    A map of network connection name to gateway IP address.
    ConnectionsSubnet map[string]string
    A map of network connection name to subnet IP address.
    ConnectionsVlan map[string]float64
    A map of network connection name to VLAN ID.
    Id string
    The provider-assigned unique ID for this managed resource.
    LocationId string
    UUID of the location
    MachineSizeId string
    Machine size ID
    NetworkIds []string
    List of network UUIDs.
    NetworkRouteId string
    Network ID of the default route
    NetworkUntaggedId string
    Untagged network ID
    PortalCommOkay bool
    The current portal communication state of the host
    PowerState string
    The current power state of the host
    SshIds []string
    State string
    The current state of the host
    SubState string
    The current state of the deployment
    SummaryStatus string
    The current health status of the host
    Wwpns []string
    FC HBA world wide port names.
    chapSecret String
    The iSCSI CHAP secret for this host.
    chapUser String
    The iSCSI CHAP name for this host.
    connections Map<String,String>
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    connectionsGateway Map<String,String>
    A map of network connection name to gateway IP address.
    connectionsSubnet Map<String,String>
    A map of network connection name to subnet IP address.
    connectionsVlan Map<String,Double>
    A map of network connection name to VLAN ID.
    id String
    The provider-assigned unique ID for this managed resource.
    locationId String
    UUID of the location
    machineSizeId String
    Machine size ID
    networkIds List<String>
    List of network UUIDs.
    networkRouteId String
    Network ID of the default route
    networkUntaggedId String
    Untagged network ID
    portalCommOkay Boolean
    The current portal communication state of the host
    powerState String
    The current power state of the host
    sshIds List<String>
    state String
    The current state of the host
    subState String
    The current state of the deployment
    summaryStatus String
    The current health status of the host
    wwpns List<String>
    FC HBA world wide port names.
    chapSecret string
    The iSCSI CHAP secret for this host.
    chapUser string
    The iSCSI CHAP name for this host.
    connections {[key: string]: string}
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    connectionsGateway {[key: string]: string}
    A map of network connection name to gateway IP address.
    connectionsSubnet {[key: string]: string}
    A map of network connection name to subnet IP address.
    connectionsVlan {[key: string]: number}
    A map of network connection name to VLAN ID.
    id string
    The provider-assigned unique ID for this managed resource.
    locationId string
    UUID of the location
    machineSizeId string
    Machine size ID
    networkIds string[]
    List of network UUIDs.
    networkRouteId string
    Network ID of the default route
    networkUntaggedId string
    Untagged network ID
    portalCommOkay boolean
    The current portal communication state of the host
    powerState string
    The current power state of the host
    sshIds string[]
    state string
    The current state of the host
    subState string
    The current state of the deployment
    summaryStatus string
    The current health status of the host
    wwpns string[]
    FC HBA world wide port names.
    chap_secret str
    The iSCSI CHAP secret for this host.
    chap_user str
    The iSCSI CHAP name for this host.
    connections Mapping[str, str]
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    connections_gateway Mapping[str, str]
    A map of network connection name to gateway IP address.
    connections_subnet Mapping[str, str]
    A map of network connection name to subnet IP address.
    connections_vlan Mapping[str, float]
    A map of network connection name to VLAN ID.
    id str
    The provider-assigned unique ID for this managed resource.
    location_id str
    UUID of the location
    machine_size_id str
    Machine size ID
    network_ids Sequence[str]
    List of network UUIDs.
    network_route_id str
    Network ID of the default route
    network_untagged_id str
    Untagged network ID
    portal_comm_okay bool
    The current portal communication state of the host
    power_state str
    The current power state of the host
    ssh_ids Sequence[str]
    state str
    The current state of the host
    sub_state str
    The current state of the deployment
    summary_status str
    The current health status of the host
    wwpns Sequence[str]
    FC HBA world wide port names.
    chapSecret String
    The iSCSI CHAP secret for this host.
    chapUser String
    The iSCSI CHAP name for this host.
    connections Map<String>
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    connectionsGateway Map<String>
    A map of network connection name to gateway IP address.
    connectionsSubnet Map<String>
    A map of network connection name to subnet IP address.
    connectionsVlan Map<Number>
    A map of network connection name to VLAN ID.
    id String
    The provider-assigned unique ID for this managed resource.
    locationId String
    UUID of the location
    machineSizeId String
    Machine size ID
    networkIds List<String>
    List of network UUIDs.
    networkRouteId String
    Network ID of the default route
    networkUntaggedId String
    Untagged network ID
    portalCommOkay Boolean
    The current portal communication state of the host
    powerState String
    The current power state of the host
    sshIds List<String>
    state String
    The current state of the host
    subState String
    The current state of the deployment
    summaryStatus String
    The current health status of the host
    wwpns List<String>
    FC HBA world wide port names.

    Look up Existing MetalHost Resource

    Get an existing MetalHost resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: MetalHostState, opts?: CustomResourceOptions): MetalHost
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            allocated_ips: Optional[Sequence[str]] = None,
            chap_secret: Optional[str] = None,
            chap_user: Optional[str] = None,
            connections: Optional[Mapping[str, str]] = None,
            connections_gateway: Optional[Mapping[str, str]] = None,
            connections_subnet: Optional[Mapping[str, str]] = None,
            connections_vlan: Optional[Mapping[str, float]] = None,
            description: Optional[str] = None,
            host_action_async: Optional[bool] = None,
            image: Optional[str] = None,
            initiator_name: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            location: Optional[str] = None,
            location_id: Optional[str] = None,
            machine_size: Optional[str] = None,
            machine_size_id: Optional[str] = None,
            metal_host_id: Optional[str] = None,
            name: Optional[str] = None,
            network_ids: Optional[Sequence[str]] = None,
            network_route: Optional[str] = None,
            network_route_id: Optional[str] = None,
            network_untagged: Optional[str] = None,
            network_untagged_id: Optional[str] = None,
            networks: Optional[Sequence[str]] = None,
            portal_comm_okay: Optional[bool] = None,
            power_state: Optional[str] = None,
            ssh_ids: Optional[Sequence[str]] = None,
            sshes: Optional[Sequence[str]] = None,
            state: Optional[str] = None,
            sub_state: Optional[str] = None,
            summary_status: Optional[str] = None,
            timeouts: Optional[MetalHostTimeoutsArgs] = None,
            user_data: Optional[str] = None,
            volume_attachments: Optional[Sequence[str]] = None,
            volume_infos: Optional[Sequence[MetalHostVolumeInfoArgs]] = None,
            wwpns: Optional[Sequence[str]] = None) -> MetalHost
    func GetMetalHost(ctx *Context, name string, id IDInput, state *MetalHostState, opts ...ResourceOption) (*MetalHost, error)
    public static MetalHost Get(string name, Input<string> id, MetalHostState? state, CustomResourceOptions? opts = null)
    public static MetalHost get(String name, Output<String> id, MetalHostState state, CustomResourceOptions options)
    resources:  _:    type: hpegl:MetalHost    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AllocatedIps List<string>
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    ChapSecret string
    The iSCSI CHAP secret for this host.
    ChapUser string
    The iSCSI CHAP name for this host.
    Connections Dictionary<string, string>
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    ConnectionsGateway Dictionary<string, string>
    A map of network connection name to gateway IP address.
    ConnectionsSubnet Dictionary<string, string>
    A map of network connection name to subnet IP address.
    ConnectionsVlan Dictionary<string, double>
    A map of network connection name to VLAN ID.
    Description string
    A wordy description of the machine and purpose.
    HostActionAsync bool
    set true to do host create, update, and delete asynchronously. The default is true.
    Image string
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    InitiatorName string
    The iSCSI initiator name for this host.
    Labels Dictionary<string, string>
    map of label name to label value for this host
    Location string
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    LocationId string
    UUID of the location
    MachineSize string
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    MachineSizeId string
    Machine size ID
    MetalHostId string
    The ID of this resource.
    Name string
    Any friendly name to identify the host that will become the OS hostname in lower case.
    NetworkIds List<string>
    List of network UUIDs.
    NetworkRoute string
    Network selected for the default route
    NetworkRouteId string
    Network ID of the default route
    NetworkUntagged string
    Untagged network
    NetworkUntaggedId string
    Untagged network ID
    Networks List<string>
    List of network name e.g. ['Public', 'Private'].
    PortalCommOkay bool
    The current portal communication state of the host
    PowerState string
    The current power state of the host
    SshIds List<string>
    Sshes List<string>
    A list of SSH keys that will be pushed to the host.
    State string
    The current state of the host
    SubState string
    The current state of the deployment
    SummaryStatus string
    The current health status of the host
    Timeouts MetalHostTimeouts
    UserData string
    Any yaml compliant string that will be merged into cloud-init for this host.
    VolumeAttachments List<string>
    List of existing volume IDs
    VolumeInfos List<MetalHostVolumeInfo>
    Information about volumes attached to this host.
    Wwpns List<string>
    FC HBA world wide port names.
    AllocatedIps []string
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    ChapSecret string
    The iSCSI CHAP secret for this host.
    ChapUser string
    The iSCSI CHAP name for this host.
    Connections map[string]string
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    ConnectionsGateway map[string]string
    A map of network connection name to gateway IP address.
    ConnectionsSubnet map[string]string
    A map of network connection name to subnet IP address.
    ConnectionsVlan map[string]float64
    A map of network connection name to VLAN ID.
    Description string
    A wordy description of the machine and purpose.
    HostActionAsync bool
    set true to do host create, update, and delete asynchronously. The default is true.
    Image string
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    InitiatorName string
    The iSCSI initiator name for this host.
    Labels map[string]string
    map of label name to label value for this host
    Location string
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    LocationId string
    UUID of the location
    MachineSize string
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    MachineSizeId string
    Machine size ID
    MetalHostId string
    The ID of this resource.
    Name string
    Any friendly name to identify the host that will become the OS hostname in lower case.
    NetworkIds []string
    List of network UUIDs.
    NetworkRoute string
    Network selected for the default route
    NetworkRouteId string
    Network ID of the default route
    NetworkUntagged string
    Untagged network
    NetworkUntaggedId string
    Untagged network ID
    Networks []string
    List of network name e.g. ['Public', 'Private'].
    PortalCommOkay bool
    The current portal communication state of the host
    PowerState string
    The current power state of the host
    SshIds []string
    Sshes []string
    A list of SSH keys that will be pushed to the host.
    State string
    The current state of the host
    SubState string
    The current state of the deployment
    SummaryStatus string
    The current health status of the host
    Timeouts MetalHostTimeoutsArgs
    UserData string
    Any yaml compliant string that will be merged into cloud-init for this host.
    VolumeAttachments []string
    List of existing volume IDs
    VolumeInfos []MetalHostVolumeInfoArgs
    Information about volumes attached to this host.
    Wwpns []string
    FC HBA world wide port names.
    allocatedIps List<String>
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    chapSecret String
    The iSCSI CHAP secret for this host.
    chapUser String
    The iSCSI CHAP name for this host.
    connections Map<String,String>
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    connectionsGateway Map<String,String>
    A map of network connection name to gateway IP address.
    connectionsSubnet Map<String,String>
    A map of network connection name to subnet IP address.
    connectionsVlan Map<String,Double>
    A map of network connection name to VLAN ID.
    description String
    A wordy description of the machine and purpose.
    hostActionAsync Boolean
    set true to do host create, update, and delete asynchronously. The default is true.
    image String
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    initiatorName String
    The iSCSI initiator name for this host.
    labels Map<String,String>
    map of label name to label value for this host
    location String
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    locationId String
    UUID of the location
    machineSize String
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    machineSizeId String
    Machine size ID
    metalHostId String
    The ID of this resource.
    name String
    Any friendly name to identify the host that will become the OS hostname in lower case.
    networkIds List<String>
    List of network UUIDs.
    networkRoute String
    Network selected for the default route
    networkRouteId String
    Network ID of the default route
    networkUntagged String
    Untagged network
    networkUntaggedId String
    Untagged network ID
    networks List<String>
    List of network name e.g. ['Public', 'Private'].
    portalCommOkay Boolean
    The current portal communication state of the host
    powerState String
    The current power state of the host
    sshIds List<String>
    sshes List<String>
    A list of SSH keys that will be pushed to the host.
    state String
    The current state of the host
    subState String
    The current state of the deployment
    summaryStatus String
    The current health status of the host
    timeouts MetalHostTimeouts
    userData String
    Any yaml compliant string that will be merged into cloud-init for this host.
    volumeAttachments List<String>
    List of existing volume IDs
    volumeInfos List<MetalHostVolumeInfo>
    Information about volumes attached to this host.
    wwpns List<String>
    FC HBA world wide port names.
    allocatedIps string[]
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    chapSecret string
    The iSCSI CHAP secret for this host.
    chapUser string
    The iSCSI CHAP name for this host.
    connections {[key: string]: string}
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    connectionsGateway {[key: string]: string}
    A map of network connection name to gateway IP address.
    connectionsSubnet {[key: string]: string}
    A map of network connection name to subnet IP address.
    connectionsVlan {[key: string]: number}
    A map of network connection name to VLAN ID.
    description string
    A wordy description of the machine and purpose.
    hostActionAsync boolean
    set true to do host create, update, and delete asynchronously. The default is true.
    image string
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    initiatorName string
    The iSCSI initiator name for this host.
    labels {[key: string]: string}
    map of label name to label value for this host
    location string
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    locationId string
    UUID of the location
    machineSize string
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    machineSizeId string
    Machine size ID
    metalHostId string
    The ID of this resource.
    name string
    Any friendly name to identify the host that will become the OS hostname in lower case.
    networkIds string[]
    List of network UUIDs.
    networkRoute string
    Network selected for the default route
    networkRouteId string
    Network ID of the default route
    networkUntagged string
    Untagged network
    networkUntaggedId string
    Untagged network ID
    networks string[]
    List of network name e.g. ['Public', 'Private'].
    portalCommOkay boolean
    The current portal communication state of the host
    powerState string
    The current power state of the host
    sshIds string[]
    sshes string[]
    A list of SSH keys that will be pushed to the host.
    state string
    The current state of the host
    subState string
    The current state of the deployment
    summaryStatus string
    The current health status of the host
    timeouts MetalHostTimeouts
    userData string
    Any yaml compliant string that will be merged into cloud-init for this host.
    volumeAttachments string[]
    List of existing volume IDs
    volumeInfos MetalHostVolumeInfo[]
    Information about volumes attached to this host.
    wwpns string[]
    FC HBA world wide port names.
    allocated_ips Sequence[str]
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    chap_secret str
    The iSCSI CHAP secret for this host.
    chap_user str
    The iSCSI CHAP name for this host.
    connections Mapping[str, str]
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    connections_gateway Mapping[str, str]
    A map of network connection name to gateway IP address.
    connections_subnet Mapping[str, str]
    A map of network connection name to subnet IP address.
    connections_vlan Mapping[str, float]
    A map of network connection name to VLAN ID.
    description str
    A wordy description of the machine and purpose.
    host_action_async bool
    set true to do host create, update, and delete asynchronously. The default is true.
    image str
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    initiator_name str
    The iSCSI initiator name for this host.
    labels Mapping[str, str]
    map of label name to label value for this host
    location str
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    location_id str
    UUID of the location
    machine_size str
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    machine_size_id str
    Machine size ID
    metal_host_id str
    The ID of this resource.
    name str
    Any friendly name to identify the host that will become the OS hostname in lower case.
    network_ids Sequence[str]
    List of network UUIDs.
    network_route str
    Network selected for the default route
    network_route_id str
    Network ID of the default route
    network_untagged str
    Untagged network
    network_untagged_id str
    Untagged network ID
    networks Sequence[str]
    List of network name e.g. ['Public', 'Private'].
    portal_comm_okay bool
    The current portal communication state of the host
    power_state str
    The current power state of the host
    ssh_ids Sequence[str]
    sshes Sequence[str]
    A list of SSH keys that will be pushed to the host.
    state str
    The current state of the host
    sub_state str
    The current state of the deployment
    summary_status str
    The current health status of the host
    timeouts MetalHostTimeoutsArgs
    user_data str
    Any yaml compliant string that will be merged into cloud-init for this host.
    volume_attachments Sequence[str]
    List of existing volume IDs
    volume_infos Sequence[MetalHostVolumeInfoArgs]
    Information about volumes attached to this host.
    wwpns Sequence[str]
    FC HBA world wide port names.
    allocatedIps List<String>
    List of pre-allocated IP addresses in one-to-one correspondance wth Networks.
    chapSecret String
    The iSCSI CHAP secret for this host.
    chapUser String
    The iSCSI CHAP name for this host.
    connections Map<String>
    A map of network connection name to assigned IP addrese, eg {'Private':'10.83.0.17'}.
    connectionsGateway Map<String>
    A map of network connection name to gateway IP address.
    connectionsSubnet Map<String>
    A map of network connection name to subnet IP address.
    connectionsVlan Map<Number>
    A map of network connection name to VLAN ID.
    description String
    A wordy description of the machine and purpose.
    hostActionAsync Boolean
    set true to do host create, update, and delete asynchronously. The default is true.
    image String
    A specific flavor and version in the form of flavor@version, eg 'ubuntu@18.04'.
    initiatorName String
    The iSCSI initiator name for this host.
    labels Map<String>
    map of label name to label value for this host
    location String
    The location of where the machine will be provisioned, of the form 'country:region:centre', eg 'USA:Texas:AUSL2'.
    locationId String
    UUID of the location
    machineSize String
    Some generic sizing information for the machine like 'Small', 'Very Large'.
    machineSizeId String
    Machine size ID
    metalHostId String
    The ID of this resource.
    name String
    Any friendly name to identify the host that will become the OS hostname in lower case.
    networkIds List<String>
    List of network UUIDs.
    networkRoute String
    Network selected for the default route
    networkRouteId String
    Network ID of the default route
    networkUntagged String
    Untagged network
    networkUntaggedId String
    Untagged network ID
    networks List<String>
    List of network name e.g. ['Public', 'Private'].
    portalCommOkay Boolean
    The current portal communication state of the host
    powerState String
    The current power state of the host
    sshIds List<String>
    sshes List<String>
    A list of SSH keys that will be pushed to the host.
    state String
    The current state of the host
    subState String
    The current state of the deployment
    summaryStatus String
    The current health status of the host
    timeouts Property Map
    userData String
    Any yaml compliant string that will be merged into cloud-init for this host.
    volumeAttachments List<String>
    List of existing volume IDs
    volumeInfos List<Property Map>
    Information about volumes attached to this host.
    wwpns List<String>
    FC HBA world wide port names.

    Supporting Types

    MetalHostTimeouts, MetalHostTimeoutsArgs

    Create string
    Delete string
    Update string
    Create string
    Delete string
    Update string
    create String
    delete String
    update String
    create string
    delete string
    update string
    create str
    delete str
    update str
    create String
    delete String
    update String

    MetalHostVolumeInfo, MetalHostVolumeInfoArgs

    Name string
    A friendly name of the volume attached.
    DiscoveryIp string
    iSCSI Discovery IP.
    Id string
    The ID the volume attached.
    TargetIqn string
    iSCSI Target IQN.
    Name string
    A friendly name of the volume attached.
    DiscoveryIp string
    iSCSI Discovery IP.
    Id string
    The ID the volume attached.
    TargetIqn string
    iSCSI Target IQN.
    name String
    A friendly name of the volume attached.
    discoveryIp String
    iSCSI Discovery IP.
    id String
    The ID the volume attached.
    targetIqn String
    iSCSI Target IQN.
    name string
    A friendly name of the volume attached.
    discoveryIp string
    iSCSI Discovery IP.
    id string
    The ID the volume attached.
    targetIqn string
    iSCSI Target IQN.
    name str
    A friendly name of the volume attached.
    discovery_ip str
    iSCSI Discovery IP.
    id str
    The ID the volume attached.
    target_iqn str
    iSCSI Target IQN.
    name String
    A friendly name of the volume attached.
    discoveryIp String
    iSCSI Discovery IP.
    id String
    The ID the volume attached.
    targetIqn String
    iSCSI Target IQN.

    Package Details

    Repository
    hpegl hpe/terraform-provider-hpegl
    License
    Notes
    This Pulumi package is based on the hpegl Terraform Provider.
    hpegl logo
    hpegl 0.4.18 published on Friday, Apr 18, 2025 by hpe