@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
288 lines (287 loc) • 9.98 kB
TypeScript
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>;
}