1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. compute
  5. getDisk
Google Cloud Classic v7.2.1 published on Wednesday, Nov 22, 2023 by Pulumi

gcp.compute.getDisk

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.2.1 published on Wednesday, Nov 22, 2023 by Pulumi

    Get information about a Google Compute Persistent disks.

    the official documentation and its API.

    Example Usage

    using System.Collections.Generic;
    using System.Linq;
    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/v7/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:

    AsyncPrimaryDisks List<GetDiskAsyncPrimaryDisk>
    CreationTimestamp string

    Creation timestamp in RFC3339 text format.

    Description string

    The optional description of this resource.

    DiskEncryptionKeys List<GetDiskDiskEncryptionKey>
    EffectiveLabels Dictionary<string, string>
    EnableConfidentialCompute bool
    GuestOsFeatures List<GetDiskGuestOsFeature>
    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>

    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

    LastAttachTimestamp string

    Last attach timestamp in RFC3339 text format.

    LastDetachTimestamp string

    Last detach timestamp in RFC3339 text format.

    Licenses List<string>
    MultiWriter bool
    Name string
    PhysicalBlockSizeBytes int

    Physical block size of the persistent disk, in bytes.

    ProvisionedIops int
    ProvisionedThroughput int
    PulumiLabels Dictionary<string, string>
    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.

    AsyncPrimaryDisks []GetDiskAsyncPrimaryDisk
    CreationTimestamp string

    Creation timestamp in RFC3339 text format.

    Description string

    The optional description of this resource.

    DiskEncryptionKeys []GetDiskDiskEncryptionKey
    EffectiveLabels map[string]string
    EnableConfidentialCompute bool
    GuestOsFeatures []GetDiskGuestOsFeature
    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

    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

    LastAttachTimestamp string

    Last attach timestamp in RFC3339 text format.

    LastDetachTimestamp string

    Last detach timestamp in RFC3339 text format.

    Licenses []string
    MultiWriter bool
    Name string
    PhysicalBlockSizeBytes int

    Physical block size of the persistent disk, in bytes.

    ProvisionedIops int
    ProvisionedThroughput int
    PulumiLabels map[string]string
    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.

    asyncPrimaryDisks List<GetDiskAsyncPrimaryDisk>
    creationTimestamp String

    Creation timestamp in RFC3339 text format.

    description String

    The optional description of this resource.

    diskEncryptionKeys List<GetDiskDiskEncryptionKey>
    effectiveLabels Map<String,String>
    enableConfidentialCompute Boolean
    guestOsFeatures List<GetDiskGuestOsFeature>
    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>

    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

    lastAttachTimestamp String

    Last attach timestamp in RFC3339 text format.

    lastDetachTimestamp String

    Last detach timestamp in RFC3339 text format.

    licenses List<String>
    multiWriter Boolean
    name String
    physicalBlockSizeBytes Integer

    Physical block size of the persistent disk, in bytes.

    provisionedIops Integer
    provisionedThroughput Integer
    pulumiLabels Map<String,String>
    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.

    asyncPrimaryDisks GetDiskAsyncPrimaryDisk[]
    creationTimestamp string

    Creation timestamp in RFC3339 text format.

    description string

    The optional description of this resource.

    diskEncryptionKeys GetDiskDiskEncryptionKey[]
    effectiveLabels {[key: string]: string}
    enableConfidentialCompute boolean
    guestOsFeatures GetDiskGuestOsFeature[]
    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}

    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

    lastAttachTimestamp string

    Last attach timestamp in RFC3339 text format.

    lastDetachTimestamp string

    Last detach timestamp in RFC3339 text format.

    licenses string[]
    multiWriter boolean
    name string
    physicalBlockSizeBytes number

    Physical block size of the persistent disk, in bytes.

    provisionedIops number
    provisionedThroughput number
    pulumiLabels {[key: string]: string}
    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.

    async_primary_disks Sequence[GetDiskAsyncPrimaryDisk]
    creation_timestamp str

    Creation timestamp in RFC3339 text format.

    description str

    The optional description of this resource.

    disk_encryption_keys Sequence[GetDiskDiskEncryptionKey]
    effective_labels Mapping[str, str]
    enable_confidential_compute bool
    guest_os_features Sequence[GetDiskGuestOsFeature]
    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]

    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

    last_attach_timestamp str

    Last attach timestamp in RFC3339 text format.

    last_detach_timestamp str

    Last detach timestamp in RFC3339 text format.

    licenses Sequence[str]
    multi_writer bool
    name str
    physical_block_size_bytes int

    Physical block size of the persistent disk, in bytes.

    provisioned_iops int
    provisioned_throughput int
    pulumi_labels Mapping[str, str]
    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.

    asyncPrimaryDisks List<Property Map>
    creationTimestamp String

    Creation timestamp in RFC3339 text format.

    description String

    The optional description of this resource.

    diskEncryptionKeys List<Property Map>
    effectiveLabels Map<String>
    enableConfidentialCompute Boolean
    guestOsFeatures 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>

    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

    lastAttachTimestamp String

    Last attach timestamp in RFC3339 text format.

    lastDetachTimestamp String

    Last detach timestamp in RFC3339 text format.

    licenses List<String>
    multiWriter Boolean
    name String
    physicalBlockSizeBytes Number

    Physical block size of the persistent disk, in bytes.

    provisionedIops Number
    provisionedThroughput Number
    pulumiLabels Map<String>
    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

    GetDiskAsyncPrimaryDisk

    Disk string
    Disk string
    disk String
    disk string
    disk str
    disk String

    GetDiskDiskEncryptionKey

    GetDiskGuestOsFeature

    Type string

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

    Type string

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

    type String

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

    type string

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

    type str

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

    type String

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

    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.

    gcp logo
    Google Cloud Classic v7.2.1 published on Wednesday, Nov 22, 2023 by Pulumi