hpegl 0.4.18 published on Friday, Apr 18, 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,
};
}
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)
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
})
}
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),
};
});
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()));
}
}
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>
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]
func GetMetalAvailableResources(ctx *Context, args *GetMetalAvailableResourcesArgs, opts ...InvokeOption) (*GetMetalAvailableResourcesResult, error)
func GetMetalAvailableResourcesOutput(ctx *Context, args *GetMetalAvailableResourcesOutputArgs, opts ...InvokeOption) GetMetalAvailableResourcesResultOutput
> 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)
}
public static CompletableFuture<GetMetalAvailableResourcesResult> getMetalAvailableResources(GetMetalAvailableResourcesArgs args, InvokeOptions options)
public static Output<GetMetalAvailableResourcesResult> getMetalAvailableResources(GetMetalAvailableResourcesArgs args, InvokeOptions options)
fn::invoke:
function: hpegl:index/getMetalAvailableResources:getMetalAvailableResources
arguments:
# arguments dictionary
The following arguments are supported:
- Filters
List<Get
Metal Available Resources Filter> - Id string
- The ID of this resource.
- Filters
[]Get
Metal Available Resources Filter - Id string
- The ID of this resource.
- filters
List<Get
Metal Available Resources Filter> - id String
- The ID of this resource.
- filters
Get
Metal Available Resources Filter[] - id string
- The ID of this resource.
- filters
Sequence[Get
Metal Available Resources Filter] - id str
- The ID of this resource.
- filters List<Property Map>
- id String
- The ID of this resource.
getMetalAvailableResources Result
The following output properties are available:
- Id string
- The ID of this resource.
- Images
List<Get
Metal Available Resources Image> - Locations
List<Get
Metal Available Resources Location> - Machine
Sizes List<GetMetal Available Resources Machine Size> - Networks
List<Get
Metal Available Resources Network> - Ssh
Keys List<GetMetal Available Resources Ssh Key> - Storage
Pools List<GetMetal Available Resources Storage Pool> - Volume
Collections List<GetMetal Available Resources Volume Collection> - Volume
Flavors List<GetMetal Available Resources Volume Flavor> - Volumes
List<Get
Metal Available Resources Volume> - Filters
List<Get
Metal Available Resources Filter>
- Id string
- The ID of this resource.
- Images
[]Get
Metal Available Resources Image - Locations
[]Get
Metal Available Resources Location - Machine
Sizes []GetMetal Available Resources Machine Size - Networks
[]Get
Metal Available Resources Network - Ssh
Keys []GetMetal Available Resources Ssh Key - Storage
Pools []GetMetal Available Resources Storage Pool - Volume
Collections []GetMetal Available Resources Volume Collection - Volume
Flavors []GetMetal Available Resources Volume Flavor - Volumes
[]Get
Metal Available Resources Volume - Filters
[]Get
Metal Available Resources Filter
- id String
- The ID of this resource.
- images
List<Get
Metal Available Resources Image> - locations
List<Get
Metal Available Resources Location> - machine
Sizes List<GetMetal Available Resources Machine Size> - networks
List<Get
Metal Available Resources Network> - ssh
Keys List<GetMetal Available Resources Ssh Key> - storage
Pools List<GetMetal Available Resources Storage Pool> - volume
Collections List<GetMetal Available Resources Volume Collection> - volume
Flavors List<GetMetal Available Resources Volume Flavor> - volumes
List<Get
Metal Available Resources Volume> - filters
List<Get
Metal Available Resources Filter>
- id string
- The ID of this resource.
- images
Get
Metal Available Resources Image[] - locations
Get
Metal Available Resources Location[] - machine
Sizes GetMetal Available Resources Machine Size[] - networks
Get
Metal Available Resources Network[] - ssh
Keys GetMetal Available Resources Ssh Key[] - storage
Pools GetMetal Available Resources Storage Pool[] - volume
Collections GetMetal Available Resources Volume Collection[] - volume
Flavors GetMetal Available Resources Volume Flavor[] - volumes
Get
Metal Available Resources Volume[] - filters
Get
Metal Available Resources Filter[]
- id str
- The ID of this resource.
- images
Sequence[Get
Metal Available Resources Image] - locations
Sequence[Get
Metal Available Resources Location] - machine_
sizes Sequence[GetMetal Available Resources Machine Size] - networks
Sequence[Get
Metal Available Resources Network] - ssh_
keys Sequence[GetMetal Available Resources Ssh Key] - storage_
pools Sequence[GetMetal Available Resources Storage Pool] - volume_
collections Sequence[GetMetal Available Resources Volume Collection] - volume_
flavors Sequence[GetMetal Available Resources Volume Flavor] - volumes
Sequence[Get
Metal Available Resources Volume] - filters
Sequence[Get
Metal Available Resources Filter]
- id String
- The ID of this resource.
- images List<Property Map>
- locations List<Property Map>
- machine
Sizes List<Property Map> - networks List<Property Map>
- ssh
Keys List<Property Map> - storage
Pools List<Property Map> - volume
Collections List<Property Map> - volume
Flavors List<Property Map> - volumes List<Property Map>
- filters List<Property Map>
Supporting Types
GetMetalAvailableResourcesFilter
GetMetalAvailableResourcesImage
GetMetalAvailableResourcesLocation
- Country string
- Data
Center string - Id string
- Location string
- Region string
- Country string
- Data
Center string - Id string
- Location string
- Region string
- country String
- data
Center String - id String
- location String
- region String
- country string
- data
Center string - id string
- location string
- region string
- country str
- data_
center str - id str
- location str
- region str
- country String
- data
Center String - id String
- location String
- region String
GetMetalAvailableResourcesMachineSize
- Description string
- Id string
- Location string
- Location
Id string - Name string
- Quantity double
- Description string
- Id string
- Location string
- Location
Id string - Name string
- Quantity float64
- description String
- id String
- location String
- location
Id String - name String
- quantity Double
- description string
- id string
- location string
- location
Id string - name string
- quantity number
- description str
- id str
- location str
- location_
id str - name str
- quantity float
- description String
- id String
- location String
- location
Id String - name String
- quantity Number
GetMetalAvailableResourcesNetwork
- Description string
- Host
Use string - Id string
- Ip
Pool stringId - Ip
Pools List<GetMetal Available Resources Network Ip Pool> - Location string
- Location
Id string - Name string
- Purpose string
- Vlan double
- Vni double
- Description string
- Host
Use string - Id string
- Ip
Pool stringId - Ip
Pools []GetMetal Available Resources Network Ip Pool - Location string
- Location
Id string - Name string
- Purpose string
- Vlan float64
- Vni float64
- description String
- host
Use String - id String
- ip
Pool StringId - ip
Pools List<GetMetal Available Resources Network Ip Pool> - location String
- location
Id String - name String
- purpose String
- vlan Double
- vni Double
- description string
- host
Use string - id string
- ip
Pool stringId - ip
Pools GetMetal Available Resources Network Ip Pool[] - location string
- location
Id string - name string
- purpose string
- vlan number
- vni number
- description str
- host_
use str - id str
- ip_
pool_ strid - ip_
pools Sequence[GetMetal Available Resources Network Ip Pool] - location str
- location_
id str - name str
- purpose str
- vlan float
- vni float
- description String
- host
Use String - id String
- ip
Pool StringId - ip
Pools List<Property Map> - location String
- location
Id String - name String
- purpose String
- vlan Number
- vni Number
GetMetalAvailableResourcesNetworkIpPool
- Base
Ip string - Default
Route string - Description string
- Dns List<string>
- Ip
Ver string - Name string
- Netmask string
- No
Proxy string - Ntps List<string>
- Proxy string
- Sources
List<Get
Metal Available Resources Network Ip Pool Source>
- Base
Ip string - Default
Route string - Description string
- Dns []string
- Ip
Ver string - Name string
- Netmask string
- No
Proxy string - Ntps []string
- Proxy string
- Sources
[]Get
Metal Available Resources Network Ip Pool Source
- base
Ip String - default
Route String - description String
- dns List<String>
- ip
Ver String - name String
- netmask String
- no
Proxy String - ntps List<String>
- proxy String
- sources
List<Get
Metal Available Resources Network Ip Pool Source>
- base
Ip string - default
Route string - description string
- dns string[]
- ip
Ver string - name string
- netmask string
- no
Proxy string - ntps string[]
- proxy string
- sources
Get
Metal Available Resources Network Ip Pool Source[]
- base_
ip str - default_
route str - description str
- dns Sequence[str]
- ip_
ver str - name str
- netmask str
- no_
proxy str - ntps Sequence[str]
- proxy str
- sources
Sequence[Get
Metal Available Resources Network Ip Pool Source]
- base
Ip String - default
Route String - description String
- dns List<String>
- ip
Ver String - name String
- netmask String
- no
Proxy String - ntps List<String>
- proxy String
- sources List<Property Map>
GetMetalAvailableResourcesNetworkIpPoolSource
GetMetalAvailableResourcesSshKey
GetMetalAvailableResourcesStoragePool
- Capacity double
- Id string
- Location string
- Location
Id string - Name string
- Capacity float64
- Id string
- Location string
- Location
Id string - Name string
- capacity Double
- id String
- location String
- location
Id String - name String
- capacity number
- id string
- location string
- location
Id string - name string
- capacity float
- id str
- location str
- location_
id str - name str
- capacity Number
- id String
- location String
- location
Id String - name String
GetMetalAvailableResourcesVolume
- Active
Site string - Created
Site string - Description string
- Export
Count double - Flavor string
- Flavor
Id string - Id string
- Labels Dictionary<string, string>
- Location string
- Location
Id string - Name string
- Replication
Enabled bool - bool
- Size double
- Size
In doubleUse - State string
- Status string
- Storage
Pool string - Storage
Pool stringId - Unmanaged bool
- Volume
Collection string - Volume
Collection stringId - Wwn string
- Active
Site string - Created
Site string - Description string
- Export
Count float64 - Flavor string
- Flavor
Id string - Id string
- Labels map[string]string
- Location string
- Location
Id string - Name string
- Replication
Enabled bool - bool
- Size float64
- Size
In float64Use - State string
- Status string
- Storage
Pool string - Storage
Pool stringId - Unmanaged bool
- Volume
Collection string - Volume
Collection stringId - Wwn string
- active
Site String - created
Site String - description String
- export
Count Double - flavor String
- flavor
Id String - id String
- labels Map<String,String>
- location String
- location
Id String - name String
- replication
Enabled Boolean - Boolean
- size Double
- size
In DoubleUse - state String
- status String
- storage
Pool String - storage
Pool StringId - unmanaged Boolean
- volume
Collection String - volume
Collection StringId - wwn String
- active
Site string - created
Site string - description string
- export
Count number - flavor string
- flavor
Id string - id string
- labels {[key: string]: string}
- location string
- location
Id string - name string
- replication
Enabled boolean - boolean
- size number
- size
In numberUse - state string
- status string
- storage
Pool string - storage
Pool stringId - unmanaged boolean
- volume
Collection string - volume
Collection stringId - wwn string
- active_
site str - created_
site str - description str
- export_
count float - flavor str
- flavor_
id str - id str
- labels Mapping[str, str]
- location str
- location_
id str - name str
- replication_
enabled bool - bool
- size float
- size_
in_ floatuse - state str
- status str
- storage_
pool str - storage_
pool_ strid - unmanaged bool
- volume_
collection str - volume_
collection_ strid - wwn str
- active
Site String - created
Site String - description String
- export
Count Number - flavor String
- flavor
Id String - id String
- labels Map<String>
- location String
- location
Id String - name String
- replication
Enabled Boolean - Boolean
- size Number
- size
In NumberUse - state String
- status String
- storage
Pool String - storage
Pool StringId - unmanaged Boolean
- volume
Collection String - volume
Collection StringId - wwn String
GetMetalAvailableResourcesVolumeCollection
- Description string
- Id string
- Location string
- Location
Id string - Name string
- Storage
Pool List<string>Ids
- Description string
- Id string
- Location string
- Location
Id string - Name string
- Storage
Pool []stringIds
- description String
- id String
- location String
- location
Id String - name String
- storage
Pool List<String>Ids
- description string
- id string
- location string
- location
Id string - name string
- storage
Pool string[]Ids
- description str
- id str
- location str
- location_
id str - name str
- storage_
pool_ Sequence[str]ids
- description String
- id String
- location String
- location
Id String - name String
- storage
Pool List<String>Ids
GetMetalAvailableResourcesVolumeFlavor
- Description string
- Id string
- Name string
- Description string
- Id string
- Name string
- description String
- id String
- name String
- description string
- id string
- name string
- description str
- id str
- name str
- description String
- id String
- name String
Package Details
- Repository
- hpegl hpe/terraform-provider-hpegl
- License
- Notes
- This Pulumi package is based on the
hpegl
Terraform Provider.