import * as pulumi from "@pulumi/pulumi"; /** * The `vra.image.getImage` data source can be used to discover the lookup machine images with cloud accounts. This can then be used with resource that require an image. For example, to create an image profile using the `vra.image.Profile` resource. * * ## Example Usage * * This is an example of how to lookup images from a vSphere cloud account. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vra from "@pulumi/vra"; * import * as vra from "@pulumiverse/vra"; * * const thisVSphere = vra.cloudaccount.getVSphere({ * name: _var.cloud_account, * }); * const thisRegion = thisVSphere.then(thisVSphere => vra.region.getRegion({ * cloudAccountId: thisVSphere.id, * region: _var.region, * })); * const image0 = thisVSphere.then(thisVSphere => vra.image.getImage({ * filter: `name eq '${_var.image_name_0}' and cloudAccountId eq '${thisVSphere.id}' and externalRegionId eq '${_var.region}'`, * })); * const image1 = thisVSphere.then(thisVSphere => vra.image.getImage({ * filter: `name eq '${_var.image_name_1}' and cloudAccountId eq '${thisVSphere.id}' and externalRegionId eq '${_var.region}'`, * })); * const thisProfile = new vra.image.Profile("thisProfile", { * description: _var.image_profile_description, * regionId: thisRegion.then(thisRegion => thisRegion.id), * imageMappings: [ * { * name: _var.image_name_0, * imageId: image0.then(image0 => image0.id), * }, * { * name: _var.image_name_1, * imageId: image1.then(image1 => image1.id), * }, * ], * }); * ``` */ export declare function getImage(args: GetImageArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getImage. */ export interface GetImageArgs { /** * Search criteria to narrow down the image discovery. */ filter: string; } /** * A collection of values returned by getImage. */ export interface GetImageResult { /** * A human-friendly description of the image. */ readonly description: string; /** * External entity id on the provider side. */ readonly externalId: string; readonly filter: string; /** * The id of the image. */ readonly id: string; /** * A human-friendly name used as an identifier in APIs that support this option. */ readonly name: string; /** * Indicates whether this image is private. For vSphere, private images are templates and snapshots and public images are content library items. */ readonly private: boolean; /** * The regionId of the image. For a vSphere cloud account, it is the `externalRegionId` such as `Datacenter:datacenter-2` and for an AWS cloud account, it is region name such as `us-east-1`, etc. */ readonly region: string; } export declare function getImageOutput(args: GetImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output; /** * A collection of arguments for invoking getImage. */ export interface GetImageOutputArgs { /** * Search criteria to narrow down the image discovery. */ filter: pulumi.Input; }