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<GetImagesResult>;
/**
 * 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<GetImagesResult>;
/**
 * 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<string | undefined>;
    /**
     * 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<string | undefined>;
}
//# sourceMappingURL=getImages.d.ts.map