UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

288 lines (287 loc) 9.98 kB
import * as pulumi from "@pulumi/pulumi"; import { output as outputs } from "../types"; /** * Use this data source to query the detailed information list of the EVS disks within HuaweiCloud. */ export declare function getVolumes(args?: GetVolumesArgs, opts?: pulumi.InvokeOptions): Promise<GetVolumesResult>; /** * A collection of arguments for invoking getVolumes. */ export interface GetVolumesArgs { /** * Specifies the availability zone for the disks. */ availabilityZone?: string; /** * Specifies the dedicated storage pool ID. All disks in the dedicated storage * pool can be filtered by exact match. */ dedicatedStorageId?: string; /** * Specifies the dedicated storage pool name. All disks in the dedicated * storage pool can be filtered by fuzzy match. */ dedicatedStorageName?: string; /** * Specifies the enterprise project ID for filtering. */ enterpriseProjectId?: string; /** * Specifies the disk IDs. The value is in the ids=['id1','id2',...,'idx'] format. * In the response, the `ids` value contains valid disk IDs only. Invalid disk IDs are ignored. * The details about a maximum of `60` disks can be queried. If `volumeId` and `ids` are both specified in the request, * `volumeId` will be ignored. * Please pay attention to escape special characters before use. Please refer to the usage of example. */ ids?: string; /** * Specifies the disk metadata. * Please pay attention to escape special characters before use. Please refer to the usage of example. */ metadata?: string; /** * Specifies the name for the disks. This field will undergo a fuzzy matching query, the * query result is for all disks whose names contain this value. */ name?: string; /** * Specifies the region in which to query the disk list. * If omitted, the provider-level region will be used. */ region?: string; /** * Specifies the server ID to which the disks are attached. */ serverId?: string; /** * Specifies the service type. Supported services are **EVS**, **DSS**, and **DESS**. */ serviceType?: string; /** * Specifies whether the disk is shareable. */ shareable?: boolean; /** * Specifies the result sorting order. The default value is **desc**. * + **desc**: The descending order. * + **asc**: The ascending order. */ sortDir?: string; /** * Specifies the keyword based on which the returned results are sorted. * The value can be **id**, **status**, **size**, or **created_at**, and the default value is **created_at**. */ sortKey?: string; /** * Specifies the disk status. The valid values are as following: * + **FREEZED** * + **BIND_ERROR** * + **BINDING** * + **PENDING_DELETE** * + **PENDING_CREATE** * + **NOTIFYING** * + **NOTIFY_DELETE** * + **PENDING_UPDATE** * + **DOWN** * + **ACTIVE** * + **ELB** * + **ERROR** * + **VPN** */ status?: string; /** * Specifies the included key/value pairs which associated with the desired disk. */ tags?: { [key: string]: string; }; /** * Specifies the ID for the disk. */ volumeId?: string; /** * Specifies the type ID for the disks. */ volumeTypeId?: string; } /** * A collection of values returned by getVolumes. */ export interface GetVolumesResult { /** * The availability zone of the disk. */ readonly availabilityZone?: string; /** * The ID of the dedicated storage pool housing the disk. */ readonly dedicatedStorageId?: string; /** * The name of the dedicated storage pool housing the disk. */ readonly dedicatedStorageName?: string; /** * The ID of the enterprise project associated with the disk. */ readonly enterpriseProjectId?: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly ids?: string; /** * The key-value pair disk metadata. Valid key-value pairs are as follows: * + **__system__cmkid**: The encryption CMK ID in metadata. This attribute is used together with **__system__encrypted** * for encryption. * + **__system__encrypted**: The encryption field in metadata. The value can be `0` (no encryption) or `1` (encryption). * If this attribute is not specified, the encryption attribute of the disk is the same as that of the data source. * If the disk is not created from a data source, the disk is not encrypted by default. * + **full_clone**: The creation method when the disk is created from a snapshot. `0`: linked clone. `1`: full clone. * + **hw:passthrough**: If this attribute value is **true**, the disk device type is SCSI, which allows ECS OSs to directly * access the underlying storage media and supports SCSI reservation commands. If this attribute is set to **false**, * the disk device type is VBD, which is also the default type. VBD supports only simple SCSI read/write commands. * If this attribute is not specified, the disk device type is VBD. * + **orderID**: The attribute that describes the disk billing mode in metadata. If this attribute has a value, the disk * is billed on a yearly/monthly basis. If this attribute is empty, the disk is billed on a pay-per-use basis. */ readonly metadata?: string; /** * The disk name. */ readonly name?: string; readonly region?: string; /** * The ID of the server to which the disk is attached. */ readonly serverId?: string; /** * The service type, such as EVS, DSS or DESS. */ readonly serviceType?: string; /** * Whether the disk is shareable. */ readonly shareable?: boolean; readonly sortDir?: string; readonly sortKey?: string; /** * The disk status. */ readonly status?: string; /** * The disk tags. */ readonly tags?: { [key: string]: string; }; /** * The disk ID. */ readonly volumeId?: string; readonly volumeTypeId?: string; /** * The detailed information of the disks. Structure is documented below. */ readonly volumes: outputs.Evs.GetVolumesVolume[]; } export declare function getVolumesOutput(args?: GetVolumesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetVolumesResult>; /** * A collection of arguments for invoking getVolumes. */ export interface GetVolumesOutputArgs { /** * Specifies the availability zone for the disks. */ availabilityZone?: pulumi.Input<string>; /** * Specifies the dedicated storage pool ID. All disks in the dedicated storage * pool can be filtered by exact match. */ dedicatedStorageId?: pulumi.Input<string>; /** * Specifies the dedicated storage pool name. All disks in the dedicated * storage pool can be filtered by fuzzy match. */ dedicatedStorageName?: pulumi.Input<string>; /** * Specifies the enterprise project ID for filtering. */ enterpriseProjectId?: pulumi.Input<string>; /** * Specifies the disk IDs. The value is in the ids=['id1','id2',...,'idx'] format. * In the response, the `ids` value contains valid disk IDs only. Invalid disk IDs are ignored. * The details about a maximum of `60` disks can be queried. If `volumeId` and `ids` are both specified in the request, * `volumeId` will be ignored. * Please pay attention to escape special characters before use. Please refer to the usage of example. */ ids?: pulumi.Input<string>; /** * Specifies the disk metadata. * Please pay attention to escape special characters before use. Please refer to the usage of example. */ metadata?: pulumi.Input<string>; /** * Specifies the name for the disks. This field will undergo a fuzzy matching query, the * query result is for all disks whose names contain this value. */ name?: pulumi.Input<string>; /** * Specifies the region in which to query the disk list. * If omitted, the provider-level region will be used. */ region?: pulumi.Input<string>; /** * Specifies the server ID to which the disks are attached. */ serverId?: pulumi.Input<string>; /** * Specifies the service type. Supported services are **EVS**, **DSS**, and **DESS**. */ serviceType?: pulumi.Input<string>; /** * Specifies whether the disk is shareable. */ shareable?: pulumi.Input<boolean>; /** * Specifies the result sorting order. The default value is **desc**. * + **desc**: The descending order. * + **asc**: The ascending order. */ sortDir?: pulumi.Input<string>; /** * Specifies the keyword based on which the returned results are sorted. * The value can be **id**, **status**, **size**, or **created_at**, and the default value is **created_at**. */ sortKey?: pulumi.Input<string>; /** * Specifies the disk status. The valid values are as following: * + **FREEZED** * + **BIND_ERROR** * + **BINDING** * + **PENDING_DELETE** * + **PENDING_CREATE** * + **NOTIFYING** * + **NOTIFY_DELETE** * + **PENDING_UPDATE** * + **DOWN** * + **ACTIVE** * + **ELB** * + **ERROR** * + **VPN** */ status?: pulumi.Input<string>; /** * Specifies the included key/value pairs which associated with the desired disk. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Specifies the ID for the disk. */ volumeId?: pulumi.Input<string>; /** * Specifies the type ID for the disks. */ volumeTypeId?: pulumi.Input<string>; }