import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Get information about Google Compute Images. Check that your service account has the `compute.imageUser` role if you want to share [custom images](https://cloud.google.com/compute/docs/images/sharing-images-across-projects) from another project. If you want to use [public images][pubimg], do not forget to specify the dedicated project. For more information see * [the official documentation](https://cloud.google.com/compute/docs/images) and its [API](https://cloud.google.com/compute/docs/reference/latest/images). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const debian = gcp.compute.getImages({ * filter: "name eq my-image.*", * }); * const _default = new gcp.compute.Instance("default", { * name: "test", * machineType: "f1-micro", * zone: "us-central1-a", * bootDisk: { * initializeParams: { * image: debian.then(debian => debian.images?.[0]?.selfLink), * }, * }, * networkInterfaces: [{ * network: defaultGoogleComputeNetwork.name, * }], * }); * ``` */ export declare function getImages(args?: GetImagesArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getImages. */ export interface GetImagesArgs { /** * Filter for the images to be returned by the data source. Syntax can be found [here](https://cloud.google.com/compute/docs/reference/rest/v1/images/list) in the filter section. * * - - - */ filter?: string; /** * The project in which the resource belongs. If it is not * provided, the provider project is used. If you are using a * [public base image][pubimg], be sure to specify the correct Image Project. */ project?: string; } /** * A collection of values returned by getImages. */ export interface GetImagesResult { readonly filter?: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly images: outputs.compute.GetImagesImage[]; readonly project?: string; } /** * Get information about Google Compute Images. Check that your service account has the `compute.imageUser` role if you want to share [custom images](https://cloud.google.com/compute/docs/images/sharing-images-across-projects) from another project. If you want to use [public images][pubimg], do not forget to specify the dedicated project. For more information see * [the official documentation](https://cloud.google.com/compute/docs/images) and its [API](https://cloud.google.com/compute/docs/reference/latest/images). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const debian = gcp.compute.getImages({ * filter: "name eq my-image.*", * }); * const _default = new gcp.compute.Instance("default", { * name: "test", * machineType: "f1-micro", * zone: "us-central1-a", * bootDisk: { * initializeParams: { * image: debian.then(debian => debian.images?.[0]?.selfLink), * }, * }, * networkInterfaces: [{ * network: defaultGoogleComputeNetwork.name, * }], * }); * ``` */ export declare function getImagesOutput(args?: GetImagesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getImages. */ export interface GetImagesOutputArgs { /** * Filter for the images to be returned by the data source. Syntax can be found [here](https://cloud.google.com/compute/docs/reference/rest/v1/images/list) in the filter section. * * - - - */ filter?: pulumi.Input; /** * The project in which the resource belongs. If it is not * provided, the provider project is used. If you are using a * [public base image][pubimg], be sure to specify the correct Image Project. */ project?: pulumi.Input; }