gcp logo
Google Cloud Classic v6.48.0, Jan 24 23

gcp.compute.getDisk

Get information about a Google Compute Persistent disks.

the official documentation and its API.

Example Usage

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var persistent_boot_disk = Gcp.Compute.GetDisk.Invoke(new()
    {
        Name = "persistent-boot-disk",
        Project = "example",
    });

    // ...
    var @default = new Gcp.Compute.Instance("default", new()
    {
        BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
        {
            Source = persistent_boot_disk.Apply(persistent_boot_disk => persistent_boot_disk.Apply(getDiskResult => getDiskResult.SelfLink)),
            AutoDelete = false,
        },
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		persistent_boot_disk, err := compute.LookupDisk(ctx, &compute.LookupDiskArgs{
			Name:    "persistent-boot-disk",
			Project: pulumi.StringRef("example"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = compute.NewInstance(ctx, "default", &compute.InstanceArgs{
			BootDisk: &compute.InstanceBootDiskArgs{
				Source:     *pulumi.String(persistent_boot_disk.SelfLink),
				AutoDelete: pulumi.Bool(false),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetDiskArgs;
import com.pulumi.gcp.compute.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
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 persistent-boot-disk = ComputeFunctions.getDisk(GetDiskArgs.builder()
            .name("persistent-boot-disk")
            .project("example")
            .build());

        var default_ = new Instance("default", InstanceArgs.builder()        
            .bootDisk(InstanceBootDiskArgs.builder()
                .source(persistent_boot_disk.selfLink())
                .autoDelete(false)
                .build())
            .build());

    }
}
import pulumi
import pulumi_gcp as gcp

persistent_boot_disk = gcp.compute.get_disk(name="persistent-boot-disk",
    project="example")
# ...
default = gcp.compute.Instance("default", boot_disk=gcp.compute.InstanceBootDiskArgs(
    source=persistent_boot_disk.self_link,
    auto_delete=False,
))
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const persistent-boot-disk = gcp.compute.getDisk({
    name: "persistent-boot-disk",
    project: "example",
});
// ...
const _default = new gcp.compute.Instance("default", {bootDisk: {
    source: persistent_boot_disk.then(persistent_boot_disk => persistent_boot_disk.selfLink),
    autoDelete: false,
}});
resources:
  default:
    type: gcp:compute:Instance
    properties:
      bootDisk:
        source: ${["persistent-boot-disk"].selfLink}
        autoDelete: false
variables:
  persistent-boot-disk:
    fn::invoke:
      Function: gcp:compute:getDisk
      Arguments:
        name: persistent-boot-disk
        project: example

Using getDisk

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 getDisk(args: GetDiskArgs, opts?: InvokeOptions): Promise<GetDiskResult>
function getDiskOutput(args: GetDiskOutputArgs, opts?: InvokeOptions): Output<GetDiskResult>
def get_disk(name: Optional[str] = None,
             project: Optional[str] = None,
             zone: Optional[str] = None,
             opts: Optional[InvokeOptions] = None) -> GetDiskResult
def get_disk_output(name: Optional[pulumi.Input[str]] = None,
             project: Optional[pulumi.Input[str]] = None,
             zone: Optional[pulumi.Input[str]] = None,
             opts: Optional[InvokeOptions] = None) -> Output[GetDiskResult]
func LookupDisk(ctx *Context, args *LookupDiskArgs, opts ...InvokeOption) (*LookupDiskResult, error)
func LookupDiskOutput(ctx *Context, args *LookupDiskOutputArgs, opts ...InvokeOption) LookupDiskResultOutput

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

public static class GetDisk 
{
    public static Task<GetDiskResult> InvokeAsync(GetDiskArgs args, InvokeOptions? opts = null)
    public static Output<GetDiskResult> Invoke(GetDiskInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetDiskResult> getDisk(GetDiskArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: gcp:compute/getDisk:getDisk
  arguments:
    # arguments dictionary

The following arguments are supported:

Name string

The name of a specific disk.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Zone string

A reference to the zone where the disk resides.

Name string

The name of a specific disk.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Zone string

A reference to the zone where the disk resides.

name String

The name of a specific disk.

project String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

zone String

A reference to the zone where the disk resides.

name string

The name of a specific disk.

project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

zone string

A reference to the zone where the disk resides.

name str

The name of a specific disk.

project str

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

zone str

A reference to the zone where the disk resides.

name String

The name of a specific disk.

project String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

zone String

A reference to the zone where the disk resides.

getDisk Result

The following output properties are available:

CreationTimestamp string

Creation timestamp in RFC3339 text format.

Description string

The optional description of this resource.

DiskEncryptionKeys List<GetDiskDiskEncryptionKey>
Id string

The provider-assigned unique ID for this managed resource.

Image string

The image from which to initialize this disk.

Interface string
LabelFingerprint string

The fingerprint used for optimistic locking of this resource. Used internally during updates.

Labels Dictionary<string, string>

A map of labels applied to this disk.

LastAttachTimestamp string

Last attach timestamp in RFC3339 text format.

LastDetachTimestamp string

Last detach timestamp in RFC3339 text format.

MultiWriter bool
Name string
PhysicalBlockSizeBytes int

Physical block size of the persistent disk, in bytes.

ProvisionedIops int
ResourcePolicies List<string>
SelfLink string

The URI of the created resource.

Size int

Size of the persistent disk, specified in GB.

Snapshot string

The source snapshot used to create this disk.

SourceDisk string
SourceDiskId string
SourceImageEncryptionKeys List<GetDiskSourceImageEncryptionKey>

The customer-supplied encryption key of the source image.

SourceImageId string

The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.

SourceSnapshotEncryptionKeys List<GetDiskSourceSnapshotEncryptionKey>

The customer-supplied encryption key of the source snapshot.

SourceSnapshotId string

The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.

Type string

URL of the disk type resource describing which disk type to use to create the disk.

Users List<string>

Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance

Project string
Zone string

A reference to the zone where the disk resides.

CreationTimestamp string

Creation timestamp in RFC3339 text format.

Description string

The optional description of this resource.

DiskEncryptionKeys []GetDiskDiskEncryptionKey
Id string

The provider-assigned unique ID for this managed resource.

Image string

The image from which to initialize this disk.

Interface string
LabelFingerprint string

The fingerprint used for optimistic locking of this resource. Used internally during updates.

Labels map[string]string

A map of labels applied to this disk.

LastAttachTimestamp string

Last attach timestamp in RFC3339 text format.

LastDetachTimestamp string

Last detach timestamp in RFC3339 text format.

MultiWriter bool
Name string
PhysicalBlockSizeBytes int

Physical block size of the persistent disk, in bytes.

ProvisionedIops int
ResourcePolicies []string
SelfLink string

The URI of the created resource.

Size int

Size of the persistent disk, specified in GB.

Snapshot string

The source snapshot used to create this disk.

SourceDisk string
SourceDiskId string
SourceImageEncryptionKeys []GetDiskSourceImageEncryptionKey

The customer-supplied encryption key of the source image.

SourceImageId string

The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.

SourceSnapshotEncryptionKeys []GetDiskSourceSnapshotEncryptionKey

The customer-supplied encryption key of the source snapshot.

SourceSnapshotId string

The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.

Type string

URL of the disk type resource describing which disk type to use to create the disk.

Users []string

Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance

Project string
Zone string

A reference to the zone where the disk resides.

creationTimestamp String

Creation timestamp in RFC3339 text format.

description String

The optional description of this resource.

diskEncryptionKeys List<GetDiskDiskEncryptionKey>
id String

The provider-assigned unique ID for this managed resource.

image String

The image from which to initialize this disk.

interface_ String
labelFingerprint String

The fingerprint used for optimistic locking of this resource. Used internally during updates.

labels Map<String,String>

A map of labels applied to this disk.

lastAttachTimestamp String

Last attach timestamp in RFC3339 text format.

lastDetachTimestamp String

Last detach timestamp in RFC3339 text format.

multiWriter Boolean
name String
physicalBlockSizeBytes Integer

Physical block size of the persistent disk, in bytes.

provisionedIops Integer
resourcePolicies List<String>
selfLink String

The URI of the created resource.

size Integer

Size of the persistent disk, specified in GB.

snapshot String

The source snapshot used to create this disk.

sourceDisk String
sourceDiskId String
sourceImageEncryptionKeys List<GetDiskSourceImageEncryptionKey>

The customer-supplied encryption key of the source image.

sourceImageId String

The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.

sourceSnapshotEncryptionKeys List<GetDiskSourceSnapshotEncryptionKey>

The customer-supplied encryption key of the source snapshot.

sourceSnapshotId String

The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.

type String

URL of the disk type resource describing which disk type to use to create the disk.

users List<String>

Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance

project String
zone String

A reference to the zone where the disk resides.

creationTimestamp string

Creation timestamp in RFC3339 text format.

description string

The optional description of this resource.

diskEncryptionKeys GetDiskDiskEncryptionKey[]
id string

The provider-assigned unique ID for this managed resource.

image string

The image from which to initialize this disk.

interface string
labelFingerprint string

The fingerprint used for optimistic locking of this resource. Used internally during updates.

labels {[key: string]: string}

A map of labels applied to this disk.

lastAttachTimestamp string

Last attach timestamp in RFC3339 text format.

lastDetachTimestamp string

Last detach timestamp in RFC3339 text format.

multiWriter boolean
name string
physicalBlockSizeBytes number

Physical block size of the persistent disk, in bytes.

provisionedIops number
resourcePolicies string[]
selfLink string

The URI of the created resource.

size number

Size of the persistent disk, specified in GB.

snapshot string

The source snapshot used to create this disk.

sourceDisk string
sourceDiskId string
sourceImageEncryptionKeys GetDiskSourceImageEncryptionKey[]

The customer-supplied encryption key of the source image.

sourceImageId string

The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.

sourceSnapshotEncryptionKeys GetDiskSourceSnapshotEncryptionKey[]

The customer-supplied encryption key of the source snapshot.

sourceSnapshotId string

The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.

type string

URL of the disk type resource describing which disk type to use to create the disk.

users string[]

Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance

project string
zone string

A reference to the zone where the disk resides.

creation_timestamp str

Creation timestamp in RFC3339 text format.

description str

The optional description of this resource.

disk_encryption_keys Sequence[GetDiskDiskEncryptionKey]
id str

The provider-assigned unique ID for this managed resource.

image str

The image from which to initialize this disk.

interface str
label_fingerprint str

The fingerprint used for optimistic locking of this resource. Used internally during updates.

labels Mapping[str, str]

A map of labels applied to this disk.

last_attach_timestamp str

Last attach timestamp in RFC3339 text format.

last_detach_timestamp str

Last detach timestamp in RFC3339 text format.

multi_writer bool
name str
physical_block_size_bytes int

Physical block size of the persistent disk, in bytes.

provisioned_iops int
resource_policies Sequence[str]
self_link str

The URI of the created resource.

size int

Size of the persistent disk, specified in GB.

snapshot str

The source snapshot used to create this disk.

source_disk str
source_disk_id str
source_image_encryption_keys Sequence[GetDiskSourceImageEncryptionKey]

The customer-supplied encryption key of the source image.

source_image_id str

The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.

source_snapshot_encryption_keys Sequence[GetDiskSourceSnapshotEncryptionKey]

The customer-supplied encryption key of the source snapshot.

source_snapshot_id str

The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.

type str

URL of the disk type resource describing which disk type to use to create the disk.

users Sequence[str]

Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance

project str
zone str

A reference to the zone where the disk resides.

creationTimestamp String

Creation timestamp in RFC3339 text format.

description String

The optional description of this resource.

diskEncryptionKeys List<Property Map>
id String

The provider-assigned unique ID for this managed resource.

image String

The image from which to initialize this disk.

interface String
labelFingerprint String

The fingerprint used for optimistic locking of this resource. Used internally during updates.

labels Map<String>

A map of labels applied to this disk.

lastAttachTimestamp String

Last attach timestamp in RFC3339 text format.

lastDetachTimestamp String

Last detach timestamp in RFC3339 text format.

multiWriter Boolean
name String
physicalBlockSizeBytes Number

Physical block size of the persistent disk, in bytes.

provisionedIops Number
resourcePolicies List<String>
selfLink String

The URI of the created resource.

size Number

Size of the persistent disk, specified in GB.

snapshot String

The source snapshot used to create this disk.

sourceDisk String
sourceDiskId String
sourceImageEncryptionKeys List<Property Map>

The customer-supplied encryption key of the source image.

sourceImageId String

The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.

sourceSnapshotEncryptionKeys List<Property Map>

The customer-supplied encryption key of the source snapshot.

sourceSnapshotId String

The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.

type String

URL of the disk type resource describing which disk type to use to create the disk.

users List<String>

Links to the users of the disk (attached instances) in form: project/zones/zone/instances/instance

project String
zone String

A reference to the zone where the disk resides.

Supporting Types

GetDiskDiskEncryptionKey

GetDiskSourceImageEncryptionKey

GetDiskSourceSnapshotEncryptionKey

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes

This Pulumi package is based on the google-beta Terraform Provider.