UNPKG

@pulumi/openstack

Version:

A Pulumi package for creating and managing OpenStack cloud resources.

233 lines (232 loc) 7.19 kB
import * as pulumi from "@pulumi/pulumi"; /** * Use this data source to get a list of Openstack Image IDs matching the * specified criteria. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as openstack from "@pulumi/openstack"; * * const images = openstack.images.getImageIds({ * nameRegex: "^Ubuntu 16\\.04.*-amd64", * sort: "updated_at", * properties: { * key: "value", * }, * }); * ``` */ export declare function getImageIds(args?: GetImageIdsArgs, opts?: pulumi.InvokeOptions): Promise<GetImageIdsResult>; /** * A collection of arguments for invoking getImageIds. */ export interface GetImageIdsArgs { /** * The container format of the image. */ containerFormat?: string; /** * The disk format of the image. */ diskFormat?: string; /** * Whether or not the image is hidden from public list. */ hidden?: boolean; /** * The status of the image. Must be one of * "accepted", "pending", "rejected", or "all". */ memberStatus?: string; /** * The name of the image. Cannot be used simultaneously with * `nameRegex`. */ name?: string; /** * The regular expressian of the name of the image. * Cannot be used simultaneously with `name`. Unlike filtering by `name` the * `nameRegex` filtering does by client on the result of OpenStack search * query. */ nameRegex?: string; /** * The owner (UUID) of the image. */ owner?: string; /** * a map of key/value pairs to match an image with. * All specified properties must be matched. Unlike other options filtering by * `properties` does by client on the result of OpenStack search query. */ properties?: { [key: string]: string; }; /** * The region in which to obtain the V2 Glance client. A * Glance client is needed to create an Image that can be used with a compute * instance. If omitted, the `region` argument of the provider is used. */ region?: string; /** * The maximum size (in bytes) of the image to return. */ sizeMax?: number; /** * The minimum size (in bytes) of the image to return. */ sizeMin?: number; /** * Sorts the response by one or more attribute and sort * direction combinations. You can also set multiple sort keys and directions. * Default direction is `desc`. Use the comma (,) character to separate multiple * values. For example expression `sort = "name:asc,status"` sorts ascending by * name and descending by status. */ sort?: string; /** * Search for images with a specific tag. */ tag?: string; /** * A list of tags required to be set on the image (all * specified tags must be in the images tag list for it to be matched). */ tags?: string[]; /** * The visibility of the image. Must be one of * "public", "private", "community", or "shared". Defaults to "private". */ visibility?: string; } /** * A collection of values returned by getImageIds. */ export interface GetImageIdsResult { readonly containerFormat?: string; readonly diskFormat?: string; readonly hidden?: boolean; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly ids: string[]; readonly memberStatus?: string; readonly name?: string; readonly nameRegex?: string; readonly owner?: string; readonly properties?: { [key: string]: string; }; readonly region: string; readonly sizeMax?: number; readonly sizeMin?: number; readonly sort?: string; readonly tag?: string; readonly tags?: string[]; readonly visibility?: string; } /** * Use this data source to get a list of Openstack Image IDs matching the * specified criteria. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as openstack from "@pulumi/openstack"; * * const images = openstack.images.getImageIds({ * nameRegex: "^Ubuntu 16\\.04.*-amd64", * sort: "updated_at", * properties: { * key: "value", * }, * }); * ``` */ export declare function getImageIdsOutput(args?: GetImageIdsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetImageIdsResult>; /** * A collection of arguments for invoking getImageIds. */ export interface GetImageIdsOutputArgs { /** * The container format of the image. */ containerFormat?: pulumi.Input<string>; /** * The disk format of the image. */ diskFormat?: pulumi.Input<string>; /** * Whether or not the image is hidden from public list. */ hidden?: pulumi.Input<boolean>; /** * The status of the image. Must be one of * "accepted", "pending", "rejected", or "all". */ memberStatus?: pulumi.Input<string>; /** * The name of the image. Cannot be used simultaneously with * `nameRegex`. */ name?: pulumi.Input<string>; /** * The regular expressian of the name of the image. * Cannot be used simultaneously with `name`. Unlike filtering by `name` the * `nameRegex` filtering does by client on the result of OpenStack search * query. */ nameRegex?: pulumi.Input<string>; /** * The owner (UUID) of the image. */ owner?: pulumi.Input<string>; /** * a map of key/value pairs to match an image with. * All specified properties must be matched. Unlike other options filtering by * `properties` does by client on the result of OpenStack search query. */ properties?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * The region in which to obtain the V2 Glance client. A * Glance client is needed to create an Image that can be used with a compute * instance. If omitted, the `region` argument of the provider is used. */ region?: pulumi.Input<string>; /** * The maximum size (in bytes) of the image to return. */ sizeMax?: pulumi.Input<number>; /** * The minimum size (in bytes) of the image to return. */ sizeMin?: pulumi.Input<number>; /** * Sorts the response by one or more attribute and sort * direction combinations. You can also set multiple sort keys and directions. * Default direction is `desc`. Use the comma (,) character to separate multiple * values. For example expression `sort = "name:asc,status"` sorts ascending by * name and descending by status. */ sort?: pulumi.Input<string>; /** * Search for images with a specific tag. */ tag?: pulumi.Input<string>; /** * A list of tags required to be set on the image (all * specified tags must be in the images tag list for it to be matched). */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * The visibility of the image. Must be one of * "public", "private", "community", or "shared". Defaults to "private". */ visibility?: pulumi.Input<string>; }