Google Cloud Classic v7.29.0 published on Wednesday, Jun 26, 2024 by Pulumi
gcp.compute.getSnapshot
Explore with Pulumi AI
To get more information about Snapshot, see:
- API documentation
 - How-to Guides
 
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
//by name 
const snapshot = gcp.compute.getSnapshot({
    name: "my-snapshot",
});
// using a filter
const latest-snapshot = gcp.compute.getSnapshot({
    filter: "name != my-snapshot",
    mostRecent: true,
});
import pulumi
import pulumi_gcp as gcp
#by name 
snapshot = gcp.compute.get_snapshot(name="my-snapshot")
# using a filter
latest_snapshot = gcp.compute.get_snapshot(filter="name != my-snapshot",
    most_recent=True)
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 {
		// by name
		_, err := compute.LookupSnapshot(ctx, &compute.LookupSnapshotArgs{
			Name: pulumi.StringRef("my-snapshot"),
		}, nil)
		if err != nil {
			return err
		}
		// using a filter
		_, err = compute.LookupSnapshot(ctx, &compute.LookupSnapshotArgs{
			Filter:     pulumi.StringRef("name != my-snapshot"),
			MostRecent: pulumi.BoolRef(true),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    //by name 
    var snapshot = Gcp.Compute.GetSnapshot.Invoke(new()
    {
        Name = "my-snapshot",
    });
    // using a filter
    var latest_snapshot = Gcp.Compute.GetSnapshot.Invoke(new()
    {
        Filter = "name != my-snapshot",
        MostRecent = true,
    });
});
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.GetSnapshotArgs;
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) {
        //by name 
        final var snapshot = ComputeFunctions.getSnapshot(GetSnapshotArgs.builder()
            .name("my-snapshot")
            .build());
        // using a filter
        final var latest-snapshot = ComputeFunctions.getSnapshot(GetSnapshotArgs.builder()
            .filter("name != my-snapshot")
            .mostRecent(true)
            .build());
    }
}
variables:
  #by name
  snapshot:
    fn::invoke:
      Function: gcp:compute:getSnapshot
      Arguments:
        name: my-snapshot
  # using a filter
  latest-snapshot:
    fn::invoke:
      Function: gcp:compute:getSnapshot
      Arguments:
        filter: name != my-snapshot
        mostRecent: true
Using getSnapshot
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 getSnapshot(args: GetSnapshotArgs, opts?: InvokeOptions): Promise<GetSnapshotResult>
function getSnapshotOutput(args: GetSnapshotOutputArgs, opts?: InvokeOptions): Output<GetSnapshotResult>def get_snapshot(filter: Optional[str] = None,
                 most_recent: Optional[bool] = None,
                 name: Optional[str] = None,
                 project: Optional[str] = None,
                 opts: Optional[InvokeOptions] = None) -> GetSnapshotResult
def get_snapshot_output(filter: Optional[pulumi.Input[str]] = None,
                 most_recent: Optional[pulumi.Input[bool]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 project: Optional[pulumi.Input[str]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[GetSnapshotResult]func LookupSnapshot(ctx *Context, args *LookupSnapshotArgs, opts ...InvokeOption) (*LookupSnapshotResult, error)
func LookupSnapshotOutput(ctx *Context, args *LookupSnapshotOutputArgs, opts ...InvokeOption) LookupSnapshotResultOutput> Note: This function is named LookupSnapshot in the Go SDK.
public static class GetSnapshot 
{
    public static Task<GetSnapshotResult> InvokeAsync(GetSnapshotArgs args, InvokeOptions? opts = null)
    public static Output<GetSnapshotResult> Invoke(GetSnapshotInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetSnapshotResult> getSnapshot(GetSnapshotArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: gcp:compute/getSnapshot:getSnapshot
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Filter string
 - A filter to retrieve the compute snapshot.
See gcloud topic filters for reference.
If multiple compute snapshot match, either adjust the filter or specify 
most_recent. One ofnameorfiltermust be provided. If you want to use a regular expression, use theeq(equal) orne(not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. ExamplesourceDisk eq '.*(.*/data-disk$).*'. More details for golang Snapshots list call filters here. - Most
Recent bool - If 
filteris provided, ensures the most recent snapshot is returned when multiple compute snapshot match. - Name string
 - The name of the compute snapshot. One of 
nameorfiltermust be provided. - Project string
 - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
 
- Filter string
 - A filter to retrieve the compute snapshot.
See gcloud topic filters for reference.
If multiple compute snapshot match, either adjust the filter or specify 
most_recent. One ofnameorfiltermust be provided. If you want to use a regular expression, use theeq(equal) orne(not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. ExamplesourceDisk eq '.*(.*/data-disk$).*'. More details for golang Snapshots list call filters here. - Most
Recent bool - If 
filteris provided, ensures the most recent snapshot is returned when multiple compute snapshot match. - Name string
 - The name of the compute snapshot. One of 
nameorfiltermust be provided. - Project string
 - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
 
- filter String
 - A filter to retrieve the compute snapshot.
See gcloud topic filters for reference.
If multiple compute snapshot match, either adjust the filter or specify 
most_recent. One ofnameorfiltermust be provided. If you want to use a regular expression, use theeq(equal) orne(not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. ExamplesourceDisk eq '.*(.*/data-disk$).*'. More details for golang Snapshots list call filters here. - most
Recent Boolean - If 
filteris provided, ensures the most recent snapshot is returned when multiple compute snapshot match. - name String
 - The name of the compute snapshot. One of 
nameorfiltermust be provided. - project String
 - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
 
- filter string
 - A filter to retrieve the compute snapshot.
See gcloud topic filters for reference.
If multiple compute snapshot match, either adjust the filter or specify 
most_recent. One ofnameorfiltermust be provided. If you want to use a regular expression, use theeq(equal) orne(not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. ExamplesourceDisk eq '.*(.*/data-disk$).*'. More details for golang Snapshots list call filters here. - most
Recent boolean - If 
filteris provided, ensures the most recent snapshot is returned when multiple compute snapshot match. - name string
 - The name of the compute snapshot. One of 
nameorfiltermust be provided. - project string
 - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
 
- filter str
 - A filter to retrieve the compute snapshot.
See gcloud topic filters for reference.
If multiple compute snapshot match, either adjust the filter or specify 
most_recent. One ofnameorfiltermust be provided. If you want to use a regular expression, use theeq(equal) orne(not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. ExamplesourceDisk eq '.*(.*/data-disk$).*'. More details for golang Snapshots list call filters here. - most_
recent bool - If 
filteris provided, ensures the most recent snapshot is returned when multiple compute snapshot match. - name str
 - The name of the compute snapshot. One of 
nameorfiltermust be provided. - project str
 - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
 
- filter String
 - A filter to retrieve the compute snapshot.
See gcloud topic filters for reference.
If multiple compute snapshot match, either adjust the filter or specify 
most_recent. One ofnameorfiltermust be provided. If you want to use a regular expression, use theeq(equal) orne(not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. ExamplesourceDisk eq '.*(.*/data-disk$).*'. More details for golang Snapshots list call filters here. - most
Recent Boolean - If 
filteris provided, ensures the most recent snapshot is returned when multiple compute snapshot match. - name String
 - The name of the compute snapshot. One of 
nameorfiltermust be provided. - project String
 - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
 
getSnapshot Result
The following output properties are available:
- Chain
Name string - Creation
Timestamp string - Description string
 - Disk
Size intGb  - Effective
Labels Dictionary<string, string> - Id string
 - The provider-assigned unique ID for this managed resource.
 - Label
Fingerprint string - Labels Dictionary<string, string>
 - Licenses List<string>
 - Pulumi
Labels Dictionary<string, string> - Self
Link string - Snapshot
Encryption List<GetKeys Snapshot Snapshot Encryption Key>  - Snapshot
Id int - Source
Disk string - Source
Disk List<GetEncryption Keys Snapshot Source Disk Encryption Key>  - Storage
Bytes int - Storage
Locations List<string> - Zone string
 - Filter string
 - Most
Recent bool - Name string
 - Project string
 
- Chain
Name string - Creation
Timestamp string - Description string
 - Disk
Size intGb  - Effective
Labels map[string]string - Id string
 - The provider-assigned unique ID for this managed resource.
 - Label
Fingerprint string - Labels map[string]string
 - Licenses []string
 - Pulumi
Labels map[string]string - Self
Link string - Snapshot
Encryption []GetKeys Snapshot Snapshot Encryption Key  - Snapshot
Id int - Source
Disk string - Source
Disk []GetEncryption Keys Snapshot Source Disk Encryption Key  - Storage
Bytes int - Storage
Locations []string - Zone string
 - Filter string
 - Most
Recent bool - Name string
 - Project string
 
- chain
Name String - creation
Timestamp String - description String
 - disk
Size IntegerGb  - effective
Labels Map<String,String> - id String
 - The provider-assigned unique ID for this managed resource.
 - label
Fingerprint String - labels Map<String,String>
 - licenses List<String>
 - pulumi
Labels Map<String,String> - self
Link String - snapshot
Encryption List<GetKeys Snapshot Snapshot Encryption Key>  - snapshot
Id Integer - source
Disk String - source
Disk List<GetEncryption Keys Snapshot Source Disk Encryption Key>  - storage
Bytes Integer - storage
Locations List<String> - zone String
 - filter String
 - most
Recent Boolean - name String
 - project String
 
- chain
Name string - creation
Timestamp string - description string
 - disk
Size numberGb  - effective
Labels {[key: string]: string} - id string
 - The provider-assigned unique ID for this managed resource.
 - label
Fingerprint string - labels {[key: string]: string}
 - licenses string[]
 - pulumi
Labels {[key: string]: string} - self
Link string - snapshot
Encryption GetKeys Snapshot Snapshot Encryption Key[]  - snapshot
Id number - source
Disk string - source
Disk GetEncryption Keys Snapshot Source Disk Encryption Key[]  - storage
Bytes number - storage
Locations string[] - zone string
 - filter string
 - most
Recent boolean - name string
 - project string
 
- chain_
name str - creation_
timestamp str - description str
 - disk_
size_ intgb  - effective_
labels Mapping[str, str] - id str
 - The provider-assigned unique ID for this managed resource.
 - label_
fingerprint str - labels Mapping[str, str]
 - licenses Sequence[str]
 - pulumi_
labels Mapping[str, str] - self_
link str - snapshot_
encryption_ Sequence[Getkeys Snapshot Snapshot Encryption Key]  - snapshot_
id int - source_
disk str - source_
disk_ Sequence[Getencryption_ keys Snapshot Source Disk Encryption Key]  - storage_
bytes int - storage_
locations Sequence[str] - zone str
 - filter str
 - most_
recent bool - name str
 - project str
 
- chain
Name String - creation
Timestamp String - description String
 - disk
Size NumberGb  - effective
Labels Map<String> - id String
 - The provider-assigned unique ID for this managed resource.
 - label
Fingerprint String - labels Map<String>
 - licenses List<String>
 - pulumi
Labels Map<String> - self
Link String - snapshot
Encryption List<Property Map>Keys  - snapshot
Id Number - source
Disk String - source
Disk List<Property Map>Encryption Keys  - storage
Bytes Number - storage
Locations List<String> - zone String
 - filter String
 - most
Recent Boolean - name String
 - project String
 
Supporting Types
GetSnapshotSnapshotEncryptionKey    
- Kms
Key stringSelf Link  - The name of the encryption key that is stored in Google Cloud KMS.
 - Kms
Key stringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - Raw
Key string - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 - Sha256 string
 - The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
 
- Kms
Key stringSelf Link  - The name of the encryption key that is stored in Google Cloud KMS.
 - Kms
Key stringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - Raw
Key string - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 - Sha256 string
 - The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
 
- kms
Key StringSelf Link  - The name of the encryption key that is stored in Google Cloud KMS.
 - kms
Key StringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - raw
Key String - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 - sha256 String
 - The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
 
- kms
Key stringSelf Link  - The name of the encryption key that is stored in Google Cloud KMS.
 - kms
Key stringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - raw
Key string - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 - sha256 string
 - The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
 
- kms_
key_ strself_ link  - The name of the encryption key that is stored in Google Cloud KMS.
 - kms_
key_ strservice_ account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - raw_
key str - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 - sha256 str
 - The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
 
- kms
Key StringSelf Link  - The name of the encryption key that is stored in Google Cloud KMS.
 - kms
Key StringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - raw
Key String - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 - sha256 String
 - The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.
 
GetSnapshotSourceDiskEncryptionKey     
- Kms
Key stringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - Raw
Key string - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 
- Kms
Key stringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - Raw
Key string - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 
- kms
Key StringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - raw
Key String - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 
- kms
Key stringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - raw
Key string - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 
- kms_
key_ strservice_ account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - raw_
key str - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 
- kms
Key StringService Account  - The service account used for the encryption request for the given KMS key. If absent, the Compute Engine Service Agent service account is used.
 - raw
Key String - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource.
 
Package Details
- Repository
 - Google Cloud (GCP) Classic pulumi/pulumi-gcp
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
google-betaTerraform Provider.