@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
143 lines (142 loc) • 5.5 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
* To get more information about Snapshot, see:
*
* * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/snapshots)
* * How-to Guides
* * [Official Documentation](https://cloud.google.com/compute/docs/disks/create-snapshots)
*
* ## Example Usage
*
* ```typescript
* 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,
* });
* ```
*/
export declare function getSnapshot(args?: GetSnapshotArgs, opts?: pulumi.InvokeOptions): Promise<GetSnapshotResult>;
/**
* A collection of arguments for invoking getSnapshot.
*/
export interface GetSnapshotArgs {
/**
* A filter to retrieve the compute snapshot.
* See [API filter parameter documentation](https://cloud.google.com/compute/docs/reference/rest/v1/snapshots/list#body.QUERY_PARAMETERS.filter) for reference.
* If multiple compute snapshot match, either adjust the filter or specify `mostRecent`. One of `name` or `filter` must be provided.
* If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Example `sourceDisk eq '.*(.*/data-disk$).*'`. More details for golang Snapshots list call filters [here](https://pkg.go.dev/google.golang.org/api/compute/v1#SnapshotsListCall.Filter).
*/
filter?: string;
/**
* If `filter` is provided, ensures the most recent snapshot is returned when multiple compute snapshot match.
*
* - - -
*/
mostRecent?: boolean;
/**
* The name of the compute snapshot. One of `name` or `filter` must be provided.
*/
name?: string;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: string;
}
/**
* A collection of values returned by getSnapshot.
*/
export interface GetSnapshotResult {
readonly chainName: string;
readonly creationTimestamp: string;
readonly description: string;
readonly diskSizeGb: number;
readonly effectiveLabels: {
[key: string]: string;
};
readonly filter?: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly labelFingerprint: string;
readonly labels: {
[key: string]: string;
};
readonly licenses: string[];
readonly mostRecent?: boolean;
readonly name?: string;
readonly project?: string;
readonly pulumiLabels: {
[key: string]: string;
};
readonly selfLink: string;
readonly snapshotEncryptionKeys: outputs.compute.GetSnapshotSnapshotEncryptionKey[];
readonly snapshotId: number;
readonly sourceDisk: string;
readonly sourceDiskEncryptionKeys: outputs.compute.GetSnapshotSourceDiskEncryptionKey[];
readonly storageBytes: number;
readonly storageLocations: string[];
readonly zone: string;
}
/**
* To get more information about Snapshot, see:
*
* * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/snapshots)
* * How-to Guides
* * [Official Documentation](https://cloud.google.com/compute/docs/disks/create-snapshots)
*
* ## Example Usage
*
* ```typescript
* 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,
* });
* ```
*/
export declare function getSnapshotOutput(args?: GetSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSnapshotResult>;
/**
* A collection of arguments for invoking getSnapshot.
*/
export interface GetSnapshotOutputArgs {
/**
* A filter to retrieve the compute snapshot.
* See [API filter parameter documentation](https://cloud.google.com/compute/docs/reference/rest/v1/snapshots/list#body.QUERY_PARAMETERS.filter) for reference.
* If multiple compute snapshot match, either adjust the filter or specify `mostRecent`. One of `name` or `filter` must be provided.
* If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Example `sourceDisk eq '.*(.*/data-disk$).*'`. More details for golang Snapshots list call filters [here](https://pkg.go.dev/google.golang.org/api/compute/v1#SnapshotsListCall.Filter).
*/
filter?: pulumi.Input<string>;
/**
* If `filter` is provided, ensures the most recent snapshot is returned when multiple compute snapshot match.
*
* - - -
*/
mostRecent?: pulumi.Input<boolean>;
/**
* The name of the compute snapshot. One of `name` or `filter` must be provided.
*/
name?: pulumi.Input<string>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string>;
}