1. Packages
  2. Hpegl Provider
  3. API Docs
  4. getMetalAvailableResources
hpegl 0.4.17 published on Monday, Apr 14, 2025 by hpe

hpegl.getMetalAvailableResources

Explore with Pulumi AI

Provides a list of available resources in a project for creating Hosts and Volumes.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as hpegl from "@pulumi/hpegl";

export = async () => {
    const physical = await hpegl.getMetalAvailableResources({});
    return {
        locations: physical.locations,
        images: physical.images,
        "ssh-keys": physical.sshKeys,
        networks: .filter(net => net.location == _var.location).map(net => (net)),
        volumes: .filter(vol => vol.location == _var.location).map(vol => (vol)),
        "volume-flavors": physical.volumeFlavors,
        "machine-sizes": physical.machineSizes,
        "storage-pools": physical.storagePools,
        "volume-collections": physical.volumeCollections,
    };
}
Copy
import pulumi
import pulumi_hpegl as hpegl

physical = hpegl.get_metal_available_resources()
pulumi.export("locations", physical.locations)
pulumi.export("images", physical.images)
pulumi.export("ssh-keys", physical.ssh_keys)
pulumi.export("networks", [net for net in physical.networks if net.location == var["location"]])
pulumi.export("volumes", [vol for vol in physical.volumes if vol.location == var["location"]])
pulumi.export("volume-flavors", physical.volume_flavors)
pulumi.export("machine-sizes", physical.machine_sizes)
pulumi.export("storage-pools", physical.storage_pools)
pulumi.export("volume-collections", physical.volume_collections)
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/hpegl/hpegl"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		physical, err := hpegl.GetMetalAvailableResources(ctx, &hpegl.GetMetalAvailableResourcesArgs{}, nil)
		if err != nil {
			return err
		}
		ctx.Export("locations", physical.Locations)
		ctx.Export("images", physical.Images)
		ctx.Export("ssh-keys", physical.SshKeys)
		ctx.Export("networks", []hpegl.GetMetalAvailableResourcesNetwork("TODO: For expression"))
		ctx.Export("volumes", []hpegl.GetMetalAvailableResourcesVolume("TODO: For expression"))
		ctx.Export("volume-flavors", physical.VolumeFlavors)
		ctx.Export("machine-sizes", physical.MachineSizes)
		ctx.Export("storage-pools", physical.StoragePools)
		ctx.Export("volume-collections", physical.VolumeCollections)
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Hpegl = Pulumi.Hpegl;

return await Deployment.RunAsync(() => 
{
    var physical = Hpegl.GetMetalAvailableResources.Invoke();

    return new Dictionary<string, object?>
    {
        ["locations"] = physical.Apply(getMetalAvailableResourcesResult => getMetalAvailableResourcesResult.Locations),
        ["images"] = physical.Apply(getMetalAvailableResourcesResult => getMetalAvailableResourcesResult.Images),
        ["ssh-keys"] = physical.Apply(getMetalAvailableResourcesResult => getMetalAvailableResourcesResult.SshKeys),
        ["networks"] = .Where(net => net.Location == @var.Location).Select(net => 
        {
            return net;
        }).ToList(),
        ["volumes"] = .Where(vol => vol.Location == @var.Location).Select(vol => 
        {
            return vol;
        }).ToList(),
        ["volume-flavors"] = physical.Apply(getMetalAvailableResourcesResult => getMetalAvailableResourcesResult.VolumeFlavors),
        ["machine-sizes"] = physical.Apply(getMetalAvailableResourcesResult => getMetalAvailableResourcesResult.MachineSizes),
        ["storage-pools"] = physical.Apply(getMetalAvailableResourcesResult => getMetalAvailableResourcesResult.StoragePools),
        ["volume-collections"] = physical.Apply(getMetalAvailableResourcesResult => getMetalAvailableResourcesResult.VolumeCollections),
    };
});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.hpegl.HpeglFunctions;
import com.pulumi.hpegl.inputs.GetMetalAvailableResourcesArgs;
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 physical = HpeglFunctions.getMetalAvailableResources();

        ctx.export("locations", physical.applyValue(getMetalAvailableResourcesResult -> getMetalAvailableResourcesResult.locations()));
        ctx.export("images", physical.applyValue(getMetalAvailableResourcesResult -> getMetalAvailableResourcesResult.images()));
        ctx.export("ssh-keys", physical.applyValue(getMetalAvailableResourcesResult -> getMetalAvailableResourcesResult.sshKeys()));
        ctx.export("networks", "TODO: ForExpression");
        ctx.export("volumes", "TODO: ForExpression");
        ctx.export("volume-flavors", physical.applyValue(getMetalAvailableResourcesResult -> getMetalAvailableResourcesResult.volumeFlavors()));
        ctx.export("machine-sizes", physical.applyValue(getMetalAvailableResourcesResult -> getMetalAvailableResourcesResult.machineSizes()));
        ctx.export("storage-pools", physical.applyValue(getMetalAvailableResourcesResult -> getMetalAvailableResourcesResult.storagePools()));
        ctx.export("volume-collections", physical.applyValue(getMetalAvailableResourcesResult -> getMetalAvailableResourcesResult.volumeCollections()));
    }
}
Copy
Coming soon!

Using getMetalAvailableResources

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getMetalAvailableResources(args: GetMetalAvailableResourcesArgs, opts?: InvokeOptions): Promise<GetMetalAvailableResourcesResult>
function getMetalAvailableResourcesOutput(args: GetMetalAvailableResourcesOutputArgs, opts?: InvokeOptions): Output<GetMetalAvailableResourcesResult>
Copy
def get_metal_available_resources(filters: Optional[Sequence[GetMetalAvailableResourcesFilter]] = None,
                                  id: Optional[str] = None,
                                  opts: Optional[InvokeOptions] = None) -> GetMetalAvailableResourcesResult
def get_metal_available_resources_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetMetalAvailableResourcesFilterArgs]]]] = None,
                                  id: Optional[pulumi.Input[str]] = None,
                                  opts: Optional[InvokeOptions] = None) -> Output[GetMetalAvailableResourcesResult]
Copy
func GetMetalAvailableResources(ctx *Context, args *GetMetalAvailableResourcesArgs, opts ...InvokeOption) (*GetMetalAvailableResourcesResult, error)
func GetMetalAvailableResourcesOutput(ctx *Context, args *GetMetalAvailableResourcesOutputArgs, opts ...InvokeOption) GetMetalAvailableResourcesResultOutput
Copy

> Note: This function is named GetMetalAvailableResources in the Go SDK.

public static class GetMetalAvailableResources 
{
    public static Task<GetMetalAvailableResourcesResult> InvokeAsync(GetMetalAvailableResourcesArgs args, InvokeOptions? opts = null)
    public static Output<GetMetalAvailableResourcesResult> Invoke(GetMetalAvailableResourcesInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetMetalAvailableResourcesResult> getMetalAvailableResources(GetMetalAvailableResourcesArgs args, InvokeOptions options)
public static Output<GetMetalAvailableResourcesResult> getMetalAvailableResources(GetMetalAvailableResourcesArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: hpegl:index/getMetalAvailableResources:getMetalAvailableResources
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Filters List<GetMetalAvailableResourcesFilter>
Id string
The ID of this resource.
Filters []GetMetalAvailableResourcesFilter
Id string
The ID of this resource.
filters List<GetMetalAvailableResourcesFilter>
id String
The ID of this resource.
filters GetMetalAvailableResourcesFilter[]
id string
The ID of this resource.
filters List<Property Map>
id String
The ID of this resource.

getMetalAvailableResources Result

The following output properties are available:

Supporting Types

GetMetalAvailableResourcesFilter

Name This property is required. string
Values This property is required. List<string>
Name This property is required. string
Values This property is required. []string
name This property is required. String
values This property is required. List<String>
name This property is required. string
values This property is required. string[]
name This property is required. str
values This property is required. Sequence[str]
name This property is required. String
values This property is required. List<String>

GetMetalAvailableResourcesImage

Category This property is required. string
Flavor This property is required. string
Id This property is required. string
Version This property is required. string
Category This property is required. string
Flavor This property is required. string
Id This property is required. string
Version This property is required. string
category This property is required. String
flavor This property is required. String
id This property is required. String
version This property is required. String
category This property is required. string
flavor This property is required. string
id This property is required. string
version This property is required. string
category This property is required. str
flavor This property is required. str
id This property is required. str
version This property is required. str
category This property is required. String
flavor This property is required. String
id This property is required. String
version This property is required. String

GetMetalAvailableResourcesLocation

Country This property is required. string
DataCenter This property is required. string
Id This property is required. string
Location This property is required. string
Region This property is required. string
Country This property is required. string
DataCenter This property is required. string
Id This property is required. string
Location This property is required. string
Region This property is required. string
country This property is required. String
dataCenter This property is required. String
id This property is required. String
location This property is required. String
region This property is required. String
country This property is required. string
dataCenter This property is required. string
id This property is required. string
location This property is required. string
region This property is required. string
country This property is required. str
data_center This property is required. str
id This property is required. str
location This property is required. str
region This property is required. str
country This property is required. String
dataCenter This property is required. String
id This property is required. String
location This property is required. String
region This property is required. String

GetMetalAvailableResourcesMachineSize

Description This property is required. string
Id This property is required. string
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
Quantity This property is required. double
Description This property is required. string
Id This property is required. string
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
Quantity This property is required. float64
description This property is required. String
id This property is required. String
location This property is required. String
locationId This property is required. String
name This property is required. String
quantity This property is required. Double
description This property is required. string
id This property is required. string
location This property is required. string
locationId This property is required. string
name This property is required. string
quantity This property is required. number
description This property is required. str
id This property is required. str
location This property is required. str
location_id This property is required. str
name This property is required. str
quantity This property is required. float
description This property is required. String
id This property is required. String
location This property is required. String
locationId This property is required. String
name This property is required. String
quantity This property is required. Number

GetMetalAvailableResourcesNetwork

Description This property is required. string
HostUse This property is required. string
Id This property is required. string
IpPoolId This property is required. string
IpPools This property is required. List<GetMetalAvailableResourcesNetworkIpPool>
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
Purpose This property is required. string
Vlan This property is required. double
Vni This property is required. double
Description This property is required. string
HostUse This property is required. string
Id This property is required. string
IpPoolId This property is required. string
IpPools This property is required. []GetMetalAvailableResourcesNetworkIpPool
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
Purpose This property is required. string
Vlan This property is required. float64
Vni This property is required. float64
description This property is required. String
hostUse This property is required. String
id This property is required. String
ipPoolId This property is required. String
ipPools This property is required. List<GetMetalAvailableResourcesNetworkIpPool>
location This property is required. String
locationId This property is required. String
name This property is required. String
purpose This property is required. String
vlan This property is required. Double
vni This property is required. Double
description This property is required. string
hostUse This property is required. string
id This property is required. string
ipPoolId This property is required. string
ipPools This property is required. GetMetalAvailableResourcesNetworkIpPool[]
location This property is required. string
locationId This property is required. string
name This property is required. string
purpose This property is required. string
vlan This property is required. number
vni This property is required. number
description This property is required. str
host_use This property is required. str
id This property is required. str
ip_pool_id This property is required. str
ip_pools This property is required. Sequence[GetMetalAvailableResourcesNetworkIpPool]
location This property is required. str
location_id This property is required. str
name This property is required. str
purpose This property is required. str
vlan This property is required. float
vni This property is required. float
description This property is required. String
hostUse This property is required. String
id This property is required. String
ipPoolId This property is required. String
ipPools This property is required. List<Property Map>
location This property is required. String
locationId This property is required. String
name This property is required. String
purpose This property is required. String
vlan This property is required. Number
vni This property is required. Number

GetMetalAvailableResourcesNetworkIpPool

BaseIp This property is required. string
DefaultRoute This property is required. string
Description This property is required. string
Dns This property is required. List<string>
IpVer This property is required. string
Name This property is required. string
Netmask This property is required. string
NoProxy This property is required. string
Ntps This property is required. List<string>
Proxy This property is required. string
Sources This property is required. List<GetMetalAvailableResourcesNetworkIpPoolSource>
BaseIp This property is required. string
DefaultRoute This property is required. string
Description This property is required. string
Dns This property is required. []string
IpVer This property is required. string
Name This property is required. string
Netmask This property is required. string
NoProxy This property is required. string
Ntps This property is required. []string
Proxy This property is required. string
Sources This property is required. []GetMetalAvailableResourcesNetworkIpPoolSource
baseIp This property is required. String
defaultRoute This property is required. String
description This property is required. String
dns This property is required. List<String>
ipVer This property is required. String
name This property is required. String
netmask This property is required. String
noProxy This property is required. String
ntps This property is required. List<String>
proxy This property is required. String
sources This property is required. List<GetMetalAvailableResourcesNetworkIpPoolSource>
baseIp This property is required. string
defaultRoute This property is required. string
description This property is required. string
dns This property is required. string[]
ipVer This property is required. string
name This property is required. string
netmask This property is required. string
noProxy This property is required. string
ntps This property is required. string[]
proxy This property is required. string
sources This property is required. GetMetalAvailableResourcesNetworkIpPoolSource[]
base_ip This property is required. str
default_route This property is required. str
description This property is required. str
dns This property is required. Sequence[str]
ip_ver This property is required. str
name This property is required. str
netmask This property is required. str
no_proxy This property is required. str
ntps This property is required. Sequence[str]
proxy This property is required. str
sources This property is required. Sequence[GetMetalAvailableResourcesNetworkIpPoolSource]
baseIp This property is required. String
defaultRoute This property is required. String
description This property is required. String
dns This property is required. List<String>
ipVer This property is required. String
name This property is required. String
netmask This property is required. String
noProxy This property is required. String
ntps This property is required. List<String>
proxy This property is required. String
sources This property is required. List<Property Map>

GetMetalAvailableResourcesNetworkIpPoolSource

BaseIp This property is required. string
Count This property is required. double
BaseIp This property is required. string
Count This property is required. float64
baseIp This property is required. String
count This property is required. Double
baseIp This property is required. string
count This property is required. number
base_ip This property is required. str
count This property is required. float
baseIp This property is required. String
count This property is required. Number

GetMetalAvailableResourcesSshKey

Id This property is required. string
Name This property is required. string
Id This property is required. string
Name This property is required. string
id This property is required. String
name This property is required. String
id This property is required. string
name This property is required. string
id This property is required. str
name This property is required. str
id This property is required. String
name This property is required. String

GetMetalAvailableResourcesStoragePool

Capacity This property is required. double
Id This property is required. string
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
Capacity This property is required. float64
Id This property is required. string
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
capacity This property is required. Double
id This property is required. String
location This property is required. String
locationId This property is required. String
name This property is required. String
capacity This property is required. number
id This property is required. string
location This property is required. string
locationId This property is required. string
name This property is required. string
capacity This property is required. float
id This property is required. str
location This property is required. str
location_id This property is required. str
name This property is required. str
capacity This property is required. Number
id This property is required. String
location This property is required. String
locationId This property is required. String
name This property is required. String

GetMetalAvailableResourcesVolume

ActiveSite This property is required. string
CreatedSite This property is required. string
Description This property is required. string
ExportCount This property is required. double
Flavor This property is required. string
FlavorId This property is required. string
Id This property is required. string
Labels This property is required. Dictionary<string, string>
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
ReplicationEnabled This property is required. bool
Shareable This property is required. bool
Size This property is required. double
SizeInUse This property is required. double
State This property is required. string
Status This property is required. string
StoragePool This property is required. string
StoragePoolId This property is required. string
Unmanaged This property is required. bool
VolumeCollection This property is required. string
VolumeCollectionId This property is required. string
Wwn This property is required. string
ActiveSite This property is required. string
CreatedSite This property is required. string
Description This property is required. string
ExportCount This property is required. float64
Flavor This property is required. string
FlavorId This property is required. string
Id This property is required. string
Labels This property is required. map[string]string
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
ReplicationEnabled This property is required. bool
Shareable This property is required. bool
Size This property is required. float64
SizeInUse This property is required. float64
State This property is required. string
Status This property is required. string
StoragePool This property is required. string
StoragePoolId This property is required. string
Unmanaged This property is required. bool
VolumeCollection This property is required. string
VolumeCollectionId This property is required. string
Wwn This property is required. string
activeSite This property is required. String
createdSite This property is required. String
description This property is required. String
exportCount This property is required. Double
flavor This property is required. String
flavorId This property is required. String
id This property is required. String
labels This property is required. Map<String,String>
location This property is required. String
locationId This property is required. String
name This property is required. String
replicationEnabled This property is required. Boolean
shareable This property is required. Boolean
size This property is required. Double
sizeInUse This property is required. Double
state This property is required. String
status This property is required. String
storagePool This property is required. String
storagePoolId This property is required. String
unmanaged This property is required. Boolean
volumeCollection This property is required. String
volumeCollectionId This property is required. String
wwn This property is required. String
activeSite This property is required. string
createdSite This property is required. string
description This property is required. string
exportCount This property is required. number
flavor This property is required. string
flavorId This property is required. string
id This property is required. string
labels This property is required. {[key: string]: string}
location This property is required. string
locationId This property is required. string
name This property is required. string
replicationEnabled This property is required. boolean
shareable This property is required. boolean
size This property is required. number
sizeInUse This property is required. number
state This property is required. string
status This property is required. string
storagePool This property is required. string
storagePoolId This property is required. string
unmanaged This property is required. boolean
volumeCollection This property is required. string
volumeCollectionId This property is required. string
wwn This property is required. string
active_site This property is required. str
created_site This property is required. str
description This property is required. str
export_count This property is required. float
flavor This property is required. str
flavor_id This property is required. str
id This property is required. str
labels This property is required. Mapping[str, str]
location This property is required. str
location_id This property is required. str
name This property is required. str
replication_enabled This property is required. bool
shareable This property is required. bool
size This property is required. float
size_in_use This property is required. float
state This property is required. str
status This property is required. str
storage_pool This property is required. str
storage_pool_id This property is required. str
unmanaged This property is required. bool
volume_collection This property is required. str
volume_collection_id This property is required. str
wwn This property is required. str
activeSite This property is required. String
createdSite This property is required. String
description This property is required. String
exportCount This property is required. Number
flavor This property is required. String
flavorId This property is required. String
id This property is required. String
labels This property is required. Map<String>
location This property is required. String
locationId This property is required. String
name This property is required. String
replicationEnabled This property is required. Boolean
shareable This property is required. Boolean
size This property is required. Number
sizeInUse This property is required. Number
state This property is required. String
status This property is required. String
storagePool This property is required. String
storagePoolId This property is required. String
unmanaged This property is required. Boolean
volumeCollection This property is required. String
volumeCollectionId This property is required. String
wwn This property is required. String

GetMetalAvailableResourcesVolumeCollection

Description This property is required. string
Id This property is required. string
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
StoragePoolIds This property is required. List<string>
Description This property is required. string
Id This property is required. string
Location This property is required. string
LocationId This property is required. string
Name This property is required. string
StoragePoolIds This property is required. []string
description This property is required. String
id This property is required. String
location This property is required. String
locationId This property is required. String
name This property is required. String
storagePoolIds This property is required. List<String>
description This property is required. string
id This property is required. string
location This property is required. string
locationId This property is required. string
name This property is required. string
storagePoolIds This property is required. string[]
description This property is required. str
id This property is required. str
location This property is required. str
location_id This property is required. str
name This property is required. str
storage_pool_ids This property is required. Sequence[str]
description This property is required. String
id This property is required. String
location This property is required. String
locationId This property is required. String
name This property is required. String
storagePoolIds This property is required. List<String>

GetMetalAvailableResourcesVolumeFlavor

Description This property is required. string
Id This property is required. string
Name This property is required. string
Description This property is required. string
Id This property is required. string
Name This property is required. string
description This property is required. String
id This property is required. String
name This property is required. String
description This property is required. string
id This property is required. string
name This property is required. string
description This property is required. str
id This property is required. str
name This property is required. str
description This property is required. String
id This property is required. String
name This property is required. String

Package Details

Repository
hpegl hpe/terraform-provider-hpegl
License
Notes
This Pulumi package is based on the hpegl Terraform Provider.