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/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:
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> - 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>
A map of labels applied to this disk.
- Last
Attach stringTimestamp Last attach timestamp in RFC3339 text format.
- Last
Detach stringTimestamp Last detach timestamp in RFC3339 text format.
- Multi
Writer bool - Name string
- Physical
Block intSize Bytes Physical block size of the persistent disk, in bytes.
- Provisioned
Iops int - 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 - 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
A map of labels applied to this disk.
- Last
Attach stringTimestamp Last attach timestamp in RFC3339 text format.
- Last
Detach stringTimestamp Last detach timestamp in RFC3339 text format.
- Multi
Writer bool - Name string
- Physical
Block intSize Bytes Physical block size of the persistent disk, in bytes.
- Provisioned
Iops int - 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> - 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>
A map of labels applied to this disk.
- last
Attach StringTimestamp Last attach timestamp in RFC3339 text format.
- last
Detach StringTimestamp Last detach timestamp in RFC3339 text format.
- multi
Writer Boolean - name String
- physical
Block IntegerSize Bytes Physical block size of the persistent disk, in bytes.
- provisioned
Iops Integer - 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[] - 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}
A map of labels applied to this disk.
- last
Attach stringTimestamp Last attach timestamp in RFC3339 text format.
- last
Detach stringTimestamp Last detach timestamp in RFC3339 text format.
- multi
Writer boolean - name string
- physical
Block numberSize Bytes Physical block size of the persistent disk, in bytes.
- provisioned
Iops number - 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] - 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_ strtimestamp Last attach timestamp in RFC3339 text format.
- last_
detach_ strtimestamp Last detach timestamp in RFC3339 text format.
- multi_
writer bool - name str
- physical_
block_ intsize_ bytes 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_ 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 - 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>
A map of labels applied to this disk.
- last
Attach StringTimestamp Last attach timestamp in RFC3339 text format.
- last
Detach StringTimestamp Last detach timestamp in RFC3339 text format.
- multi
Writer Boolean - name String
- physical
Block NumberSize Bytes Physical block size of the persistent disk, in bytes.
- provisioned
Iops Number - 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
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.