gcp.compute.getSnapshot
Explore with Pulumi AI
To get more information about Snapshot, see:
- API documentation
- How-to Guides
Example Usage
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var snapshot = Gcp.Compute.GetSnapshot.Invoke(new()
{
Name = "my-snapshot",
});
var latest_snapshot = Gcp.Compute.GetSnapshot.Invoke(new()
{
Filter = "name != my-snapshot",
MostRecent = 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 {
_, err := compute.LookupSnapshot(ctx, &compute.LookupSnapshotArgs{
Name: pulumi.StringRef("my-snapshot"),
}, nil)
if err != nil {
return err
}
_, err = compute.LookupSnapshot(ctx, &compute.LookupSnapshotArgs{
Filter: pulumi.StringRef("name != my-snapshot"),
MostRecent: pulumi.BoolRef(true),
}, nil)
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.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) {
final var snapshot = ComputeFunctions.getSnapshot(GetSnapshotArgs.builder()
.name("my-snapshot")
.build());
final var latest-snapshot = ComputeFunctions.getSnapshot(GetSnapshotArgs.builder()
.filter("name != my-snapshot")
.mostRecent(true)
.build());
}
}
import pulumi
import pulumi_gcp as gcp
snapshot = gcp.compute.get_snapshot(name="my-snapshot")
latest_snapshot = gcp.compute.get_snapshot(filter="name != my-snapshot",
most_recent=True)
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const snapshot = gcp.compute.getSnapshot({
name: "my-snapshot",
});
const latest-snapshot = gcp.compute.getSnapshot({
filter: "name != my-snapshot",
mostRecent: true,
});
variables:
snapshot:
fn::invoke:
Function: gcp:compute:getSnapshot
Arguments:
name: my-snapshot
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 dictionary
The 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 ofname
orfilter
must be provided.- Most
Recent bool If
filter
is provided, ensures the most recent snapshot is returned when multiple compute snapshot match.- Name string
The name of the compute snapshot. One of
name
orfilter
must 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 ofname
orfilter
must be provided.- Most
Recent bool If
filter
is provided, ensures the most recent snapshot is returned when multiple compute snapshot match.- Name string
The name of the compute snapshot. One of
name
orfilter
must 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 ofname
orfilter
must be provided.- most
Recent Boolean If
filter
is provided, ensures the most recent snapshot is returned when multiple compute snapshot match.- name String
The name of the compute snapshot. One of
name
orfilter
must 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 ofname
orfilter
must be provided.- most
Recent boolean If
filter
is provided, ensures the most recent snapshot is returned when multiple compute snapshot match.- name string
The name of the compute snapshot. One of
name
orfilter
must 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 ofname
orfilter
must be provided.- most_
recent bool If
filter
is provided, ensures the most recent snapshot is returned when multiple compute snapshot match.- name str
The name of the compute snapshot. One of
name
orfilter
must 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 ofname
orfilter
must be provided.- most
Recent Boolean If
filter
is provided, ensures the most recent snapshot is returned when multiple compute snapshot match.- name String
The name of the compute snapshot. One of
name
orfilter
must 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 - 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
GetSnapshotSourceDiskEncryptionKey
- Kms
Key stringService Account - Raw
Key string
- Kms
Key stringService Account - Raw
Key string
- kms
Key StringService Account - raw
Key String
- kms
Key stringService Account - raw
Key string
- kms_
key_ strservice_ account - raw_
key str
- kms
Key StringService Account - raw
Key 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.