UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

143 lines (142 loc) 5.5 kB
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 '.*(.*&#47;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 '.*(.*&#47;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>; }