gcp.compute.getDisk
Explore with Pulumi AI
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:
getDisk Result
The following output properties are available:
- Async
Primary List<GetDisks Disk Async Primary Disk> - Creation
Timestamp string Creation timestamp in RFC3339 text format.
- Description string
The optional description of this resource.
- Disk
Encryption List<GetKeys Disk Disk Encryption Key> - Effective
Labels Dictionary<string, string> - Enable
Confidential boolCompute - Guest
Os List<GetFeatures Disk Guest Os Feature> - Id string
The provider-assigned unique ID for this managed resource.
- Image string
The image from which to initialize this disk.
- Interface string
- Label
Fingerprint 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.
- Last
Attach stringTimestamp Last attach timestamp in RFC3339 text format.
- Last
Detach stringTimestamp Last detach timestamp in RFC3339 text format.
- Licenses List<string>
- Multi
Writer bool - Name string
- Physical
Block intSize Bytes Physical block size of the persistent disk, in bytes.
- Provisioned
Iops int - Provisioned
Throughput int - Pulumi
Labels Dictionary<string, string> - Resource
Policies List<string> - Self
Link 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.
- Source
Disk string - Source
Disk stringId - Source
Image List<GetEncryption Keys Disk Source Image Encryption Key> The customer-supplied encryption key of the source image.
- Source
Image stringId 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 List<GetEncryption Keys Disk Source Snapshot Encryption Key> The customer-supplied encryption key of the source snapshot.
- Source
Snapshot stringId 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.
- Async
Primary []GetDisks Disk Async Primary Disk - Creation
Timestamp string Creation timestamp in RFC3339 text format.
- Description string
The optional description of this resource.
- Disk
Encryption []GetKeys Disk Disk Encryption Key - Effective
Labels map[string]string - Enable
Confidential boolCompute - Guest
Os []GetFeatures Disk Guest Os Feature - Id string
The provider-assigned unique ID for this managed resource.
- Image string
The image from which to initialize this disk.
- Interface string
- Label
Fingerprint 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.
- Last
Attach stringTimestamp Last attach timestamp in RFC3339 text format.
- Last
Detach stringTimestamp Last detach timestamp in RFC3339 text format.
- Licenses []string
- Multi
Writer bool - Name string
- Physical
Block intSize Bytes Physical block size of the persistent disk, in bytes.
- Provisioned
Iops int - Provisioned
Throughput int - Pulumi
Labels map[string]string - Resource
Policies []string - Self
Link 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.
- Source
Disk string - Source
Disk stringId - Source
Image []GetEncryption Keys Disk Source Image Encryption Key The customer-supplied encryption key of the source image.
- Source
Image stringId 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 []GetEncryption Keys Disk Source Snapshot Encryption Key The customer-supplied encryption key of the source snapshot.
- Source
Snapshot stringId 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 List<GetDisks Disk Async Primary Disk> - creation
Timestamp String Creation timestamp in RFC3339 text format.
- description String
The optional description of this resource.
- disk
Encryption List<GetKeys Disk Disk Encryption Key> - effective
Labels Map<String,String> - enable
Confidential BooleanCompute - guest
Os List<GetFeatures Disk Guest Os Feature> - id String
The provider-assigned unique ID for this managed resource.
- image String
The image from which to initialize this disk.
- interface_ String
- label
Fingerprint 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.
- last
Attach StringTimestamp Last attach timestamp in RFC3339 text format.
- last
Detach StringTimestamp Last detach timestamp in RFC3339 text format.
- licenses List<String>
- multi
Writer Boolean - name String
- physical
Block IntegerSize Bytes Physical block size of the persistent disk, in bytes.
- provisioned
Iops Integer - provisioned
Throughput Integer - pulumi
Labels Map<String,String> - resource
Policies List<String> - self
Link 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.
- source
Disk String - source
Disk StringId - source
Image List<GetEncryption Keys Disk Source Image Encryption Key> The customer-supplied encryption key of the source image.
- source
Image StringId 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 List<GetEncryption Keys Disk Source Snapshot Encryption Key> The customer-supplied encryption key of the source snapshot.
- source
Snapshot StringId 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.
- async
Primary GetDisks Disk Async Primary Disk[] - creation
Timestamp string Creation timestamp in RFC3339 text format.
- description string
The optional description of this resource.
- disk
Encryption GetKeys Disk Disk Encryption Key[] - effective
Labels {[key: string]: string} - enable
Confidential booleanCompute - guest
Os GetFeatures Disk Guest Os Feature[] - id string
The provider-assigned unique ID for this managed resource.
- image string
The image from which to initialize this disk.
- interface string
- label
Fingerprint 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.
- last
Attach stringTimestamp Last attach timestamp in RFC3339 text format.
- last
Detach stringTimestamp Last detach timestamp in RFC3339 text format.
- licenses string[]
- multi
Writer boolean - name string
- physical
Block numberSize Bytes Physical block size of the persistent disk, in bytes.
- provisioned
Iops number - provisioned
Throughput number - pulumi
Labels {[key: string]: string} - resource
Policies string[] - self
Link 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.
- source
Disk string - source
Disk stringId - source
Image GetEncryption Keys Disk Source Image Encryption Key[] The customer-supplied encryption key of the source image.
- source
Image stringId 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 GetEncryption Keys Disk Source Snapshot Encryption Key[] The customer-supplied encryption key of the source snapshot.
- source
Snapshot stringId 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_ Sequence[Getdisks Disk Async Primary Disk] - creation_
timestamp str Creation timestamp in RFC3339 text format.
- description str
The optional description of this resource.
- disk_
encryption_ Sequence[Getkeys Disk Disk Encryption Key] - effective_
labels Mapping[str, str] - enable_
confidential_ boolcompute - guest_
os_ Sequence[Getfeatures Disk Guest Os Feature] - 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_ strtimestamp Last attach timestamp in RFC3339 text format.
- last_
detach_ strtimestamp Last detach timestamp in RFC3339 text format.
- licenses Sequence[str]
- multi_
writer bool - name str
- physical_
block_ intsize_ bytes 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_ strid - source_
image_ Sequence[Getencryption_ keys Disk Source Image Encryption Key] The customer-supplied encryption key of the source image.
- source_
image_ strid 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_ Sequence[Getencryption_ keys Disk Source Snapshot Encryption Key] The customer-supplied encryption key of the source snapshot.
- source_
snapshot_ strid 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.
- async
Primary List<Property Map>Disks - creation
Timestamp String Creation timestamp in RFC3339 text format.
- description String
The optional description of this resource.
- disk
Encryption List<Property Map>Keys - effective
Labels Map<String> - enable
Confidential BooleanCompute - guest
Os List<Property Map>Features - id String
The provider-assigned unique ID for this managed resource.
- image String
The image from which to initialize this disk.
- interface String
- label
Fingerprint 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.
- last
Attach StringTimestamp Last attach timestamp in RFC3339 text format.
- last
Detach StringTimestamp Last detach timestamp in RFC3339 text format.
- licenses List<String>
- multi
Writer Boolean - name String
- physical
Block NumberSize Bytes Physical block size of the persistent disk, in bytes.
- provisioned
Iops Number - provisioned
Throughput Number - pulumi
Labels Map<String> - resource
Policies List<String> - self
Link 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.
- source
Disk String - source
Disk StringId - source
Image List<Property Map>Encryption Keys The customer-supplied encryption key of the source image.
- source
Image StringId 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 List<Property Map>Encryption Keys The customer-supplied encryption key of the source snapshot.
- source
Snapshot StringId 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
- Kms
Key stringSelf Link - Kms
Key stringService Account - Raw
Key string - Rsa
Encrypted stringKey - Sha256 string
- Kms
Key stringSelf Link - Kms
Key stringService Account - Raw
Key string - Rsa
Encrypted stringKey - Sha256 string
- kms
Key StringSelf Link - kms
Key StringService Account - raw
Key String - rsa
Encrypted StringKey - sha256 String
- kms
Key stringSelf Link - kms
Key stringService Account - raw
Key string - rsa
Encrypted stringKey - sha256 string
- kms_
key_ strself_ link - kms_
key_ strservice_ account - raw_
key str - rsa_
encrypted_ strkey - sha256 str
- kms
Key StringSelf Link - kms
Key StringService Account - raw
Key String - rsa
Encrypted StringKey - sha256 String
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
- Kms
Key stringSelf Link - Kms
Key stringService Account - Raw
Key string - Sha256 string
- Kms
Key stringSelf Link - Kms
Key stringService Account - Raw
Key string - Sha256 string
- kms
Key StringSelf Link - kms
Key StringService Account - raw
Key String - sha256 String
- kms
Key stringSelf Link - kms
Key stringService Account - raw
Key string - sha256 string
- kms_
key_ strself_ link - kms_
key_ strservice_ account - raw_
key str - sha256 str
- kms
Key StringSelf Link - kms
Key StringService Account - raw
Key String - sha256 String
GetDiskSourceSnapshotEncryptionKey
- Kms
Key stringSelf Link - Kms
Key stringService Account - Raw
Key string - Sha256 string
- Kms
Key stringSelf Link - Kms
Key stringService Account - Raw
Key string - Sha256 string
- kms
Key StringSelf Link - kms
Key StringService Account - raw
Key String - sha256 String
- kms
Key stringSelf Link - kms
Key stringService Account - raw
Key string - sha256 string
- kms_
key_ strself_ link - kms_
key_ strservice_ account - raw_
key str - sha256 str
- kms
Key StringSelf Link - kms
Key StringService Account - raw
Key String - sha256 String
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.