1. Packages
  2. Gcore Provider
  3. API Docs
  4. getVolume
gcore 0.19.0 published on Monday, Apr 14, 2025 by g-core

gcore.getVolume

Explore with Pulumi AI

gcore 0.19.0 published on Monday, Apr 14, 2025 by g-core

Represent volume. A volume is a file storage which is similar to SSD and HDD hard disks

Example Usage

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

const pr = gcore.getProject({
    name: "test",
});
const rg = gcore.getRegion({
    name: "ED-10 Preprod",
});
const tv = Promise.all([rg, pr]).then(([rg, pr]) => gcore.getVolume({
    name: "test-hd",
    regionId: rg.id,
    projectId: pr.id,
}));
export const view = tv;
Copy
import pulumi
import pulumi_gcore as gcore

pr = gcore.get_project(name="test")
rg = gcore.get_region(name="ED-10 Preprod")
tv = gcore.get_volume(name="test-hd",
    region_id=rg.id,
    project_id=pr.id)
pulumi.export("view", tv)
Copy
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pr, err := gcore.GetProject(ctx, &gcore.GetProjectArgs{
			Name: "test",
		}, nil)
		if err != nil {
			return err
		}
		rg, err := gcore.GetRegion(ctx, &gcore.GetRegionArgs{
			Name: "ED-10 Preprod",
		}, nil)
		if err != nil {
			return err
		}
		tv, err := gcore.LookupVolume(ctx, &gcore.LookupVolumeArgs{
			Name:      "test-hd",
			RegionId:  pulumi.Float64Ref(rg.Id),
			ProjectId: pulumi.Float64Ref(pr.Id),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("view", tv)
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcore = Pulumi.Gcore;

return await Deployment.RunAsync(() => 
{
    var pr = Gcore.GetProject.Invoke(new()
    {
        Name = "test",
    });

    var rg = Gcore.GetRegion.Invoke(new()
    {
        Name = "ED-10 Preprod",
    });

    var tv = Gcore.GetVolume.Invoke(new()
    {
        Name = "test-hd",
        RegionId = rg.Apply(getRegionResult => getRegionResult.Id),
        ProjectId = pr.Apply(getProjectResult => getProjectResult.Id),
    });

    return new Dictionary<string, object?>
    {
        ["view"] = tv,
    };
});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcore.GcoreFunctions;
import com.pulumi.gcore.inputs.GetProjectArgs;
import com.pulumi.gcore.inputs.GetRegionArgs;
import com.pulumi.gcore.inputs.GetVolumeArgs;
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 pr = GcoreFunctions.getProject(GetProjectArgs.builder()
            .name("test")
            .build());

        final var rg = GcoreFunctions.getRegion(GetRegionArgs.builder()
            .name("ED-10 Preprod")
            .build());

        final var tv = GcoreFunctions.getVolume(GetVolumeArgs.builder()
            .name("test-hd")
            .regionId(rg.applyValue(getRegionResult -> getRegionResult.id()))
            .projectId(pr.applyValue(getProjectResult -> getProjectResult.id()))
            .build());

        ctx.export("view", tv.applyValue(getVolumeResult -> getVolumeResult));
    }
}
Copy
variables:
  pr:
    fn::invoke:
      function: gcore:getProject
      arguments:
        name: test
  rg:
    fn::invoke:
      function: gcore:getRegion
      arguments:
        name: ED-10 Preprod
  tv:
    fn::invoke:
      function: gcore:getVolume
      arguments:
        name: test-hd
        regionId: ${rg.id}
        projectId: ${pr.id}
outputs:
  view: ${tv}
Copy

Using getVolume

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 getVolume(args: GetVolumeArgs, opts?: InvokeOptions): Promise<GetVolumeResult>
function getVolumeOutput(args: GetVolumeOutputArgs, opts?: InvokeOptions): Output<GetVolumeResult>
Copy
def get_volume(id: Optional[str] = None,
               metadata_k: Optional[str] = None,
               metadata_kv: Optional[Mapping[str, str]] = None,
               name: Optional[str] = None,
               project_id: Optional[float] = None,
               project_name: Optional[str] = None,
               region_id: Optional[float] = None,
               region_name: Optional[str] = None,
               opts: Optional[InvokeOptions] = None) -> GetVolumeResult
def get_volume_output(id: Optional[pulumi.Input[str]] = None,
               metadata_k: Optional[pulumi.Input[str]] = None,
               metadata_kv: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
               name: Optional[pulumi.Input[str]] = None,
               project_id: Optional[pulumi.Input[float]] = None,
               project_name: Optional[pulumi.Input[str]] = None,
               region_id: Optional[pulumi.Input[float]] = None,
               region_name: Optional[pulumi.Input[str]] = None,
               opts: Optional[InvokeOptions] = None) -> Output[GetVolumeResult]
Copy
func LookupVolume(ctx *Context, args *LookupVolumeArgs, opts ...InvokeOption) (*LookupVolumeResult, error)
func LookupVolumeOutput(ctx *Context, args *LookupVolumeOutputArgs, opts ...InvokeOption) LookupVolumeResultOutput
Copy

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

public static class GetVolume 
{
    public static Task<GetVolumeResult> InvokeAsync(GetVolumeArgs args, InvokeOptions? opts = null)
    public static Output<GetVolumeResult> Invoke(GetVolumeInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetVolumeResult> getVolume(GetVolumeArgs args, InvokeOptions options)
public static Output<GetVolumeResult> getVolume(GetVolumeArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: gcore:index/getVolume:getVolume
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Name This property is required. string
Id string
The ID of this resource.
MetadataK string
MetadataKv Dictionary<string, string>
ProjectId double
ProjectName string
RegionId double
RegionName string
Name This property is required. string
Id string
The ID of this resource.
MetadataK string
MetadataKv map[string]string
ProjectId float64
ProjectName string
RegionId float64
RegionName string
name This property is required. String
id String
The ID of this resource.
metadataK String
metadataKv Map<String,String>
projectId Double
projectName String
regionId Double
regionName String
name This property is required. string
id string
The ID of this resource.
metadataK string
metadataKv {[key: string]: string}
projectId number
projectName string
regionId number
regionName string
name This property is required. str
id str
The ID of this resource.
metadata_k str
metadata_kv Mapping[str, str]
project_id float
project_name str
region_id float
region_name str
name This property is required. String
id String
The ID of this resource.
metadataK String
metadataKv Map<String>
projectId Number
projectName String
regionId Number
regionName String

getVolume Result

The following output properties are available:

Id string
The ID of this resource.
MetadataReadOnlies List<GetVolumeMetadataReadOnly>
Name string
Size double
TypeName string
Available value is 'standard', 'ssd_hiiops', 'cold', 'ultra'. Defaults to standard
MetadataK string
MetadataKv Dictionary<string, string>
ProjectId double
ProjectName string
RegionId double
RegionName string
Id string
The ID of this resource.
MetadataReadOnlies []GetVolumeMetadataReadOnly
Name string
Size float64
TypeName string
Available value is 'standard', 'ssd_hiiops', 'cold', 'ultra'. Defaults to standard
MetadataK string
MetadataKv map[string]string
ProjectId float64
ProjectName string
RegionId float64
RegionName string
id String
The ID of this resource.
metadataReadOnlies List<GetVolumeMetadataReadOnly>
name String
size Double
typeName String
Available value is 'standard', 'ssd_hiiops', 'cold', 'ultra'. Defaults to standard
metadataK String
metadataKv Map<String,String>
projectId Double
projectName String
regionId Double
regionName String
id string
The ID of this resource.
metadataReadOnlies GetVolumeMetadataReadOnly[]
name string
size number
typeName string
Available value is 'standard', 'ssd_hiiops', 'cold', 'ultra'. Defaults to standard
metadataK string
metadataKv {[key: string]: string}
projectId number
projectName string
regionId number
regionName string
id str
The ID of this resource.
metadata_read_onlies Sequence[GetVolumeMetadataReadOnly]
name str
size float
type_name str
Available value is 'standard', 'ssd_hiiops', 'cold', 'ultra'. Defaults to standard
metadata_k str
metadata_kv Mapping[str, str]
project_id float
project_name str
region_id float
region_name str
id String
The ID of this resource.
metadataReadOnlies List<Property Map>
name String
size Number
typeName String
Available value is 'standard', 'ssd_hiiops', 'cold', 'ultra'. Defaults to standard
metadataK String
metadataKv Map<String>
projectId Number
projectName String
regionId Number
regionName String

Supporting Types

GetVolumeMetadataReadOnly

Key This property is required. string
ReadOnly This property is required. bool
Value This property is required. string
Key This property is required. string
ReadOnly This property is required. bool
Value This property is required. string
key This property is required. String
readOnly This property is required. Boolean
value This property is required. String
key This property is required. string
readOnly This property is required. boolean
value This property is required. string
key This property is required. str
read_only This property is required. bool
value This property is required. str
key This property is required. String
readOnly This property is required. Boolean
value This property is required. String

Package Details

Repository
gcore g-core/terraform-provider-gcore
License
Notes
This Pulumi package is based on the gcore Terraform Provider.
gcore 0.19.0 published on Monday, Apr 14, 2025 by g-core