import * as $dara from '@darabonba/typescript';
export declare class DescribeDisksRequestFilter extends $dara.Model {
    /**
     * @remarks
     * The key of filter 1 used to query resources. Set the value to `CreationStartTime`. You can specify a time by setting both `Filter.1.Key` and `Filter.1.Value` to query resources that were created after the specified time.
     *
     * @example
     * CreationStartTime
     */
    key?: string;
    /**
     * @remarks
     * The value of filter 1 used to query resources. Set the value to a time. If you specify this parameter, you must also specify the `Filter.1.Key` parameter. Specify the time in the `yyyy-MM-ddTHH:mmZ` format. The time must be in UTC.
     *
     * @example
     * 2017-12-05T22:40Z
     */
    value?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeDisksRequestTag extends $dara.Model {
    /**
     * @remarks
     * The key of tag N of the disk. Valid values of N: 1 to 20.
     *
     * If you specify a single tag to query resources, up to 1,000 resources to which the tag is added are returned. If you specify multiple tags to query resources, up to 1,000 resources to which all specified tags are added are returned. To query more than 1,000 resources that have specified tags added, call the [ListTagResources](https://help.aliyun.com/document_detail/110425.html) operation.
     *
     * @example
     * TestKey
     */
    key?: string;
    /**
     * @remarks
     * The value of tag N of the disk. Valid values of N: 1 to 20.
     *
     * @example
     * TestValue
     */
    value?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeDisksRequest extends $dara.Model {
    filter?: DescribeDisksRequestFilter[];
    /**
     * @remarks
     * The additional attributes. Set the value to `Placement`, which indicates the data storage locations of the disk.
     *
     * >  This attribute is valid only for Regional Enterprise SSDs (ESSDs).
     *
     * @example
     * IOPS
     */
    additionalAttributes?: string[];
    /**
     * @remarks
     * The ID of the automatic snapshot policy that is applied to the cloud disk.
     *
     * @example
     * sp-m5e2w2jutw8bv31****
     */
    autoSnapshotPolicyId?: string;
    /**
     * @remarks
     * The disk category. Valid values:
     *
     * *   all: all disk categories
     * *   cloud: basic disk
     * *   cloud_efficiency: ultra disk
     * *   cloud_ssd: standard SSD
     * *   cloud_essd: Enterprise SSD (ESSD)
     * *   cloud_auto: ESSD AutoPL disk
     * *   cloud_regional_disk_auto: Regional ESSD
     * *   cloud_essd_entry: ESSD Entry disk
     * *   elastic_ephemeral_disk_standard: standard elastic ephemeral disk
     * *   elastic_ephemeral_disk_premium: premium elastic ephemeral disk
     * *   local_ssd_pro: I/O-intensive local disk
     * *   local_hdd_pro: throughput-intensive local disk
     * *   ephemeral: retired local disk
     * *   ephemeral_ssd: retired local SSD
     *
     * Default value: all.
     *
     * Enumerated values:
     *
     * *   all: all disks categories
     * *   cloud_efficiency: ultra disk
     * *   cloud_ssd: standard SSD
     * *   local_ssd_pro: I/O-intensive local disk
     * *   ephemeral: retired local disk
     * *   cloud_essd_entry: ESSD Entry disk
     * *   elastic_ephemeral_disk_premium: premium elastic ephemeral disk
     * *   cloud: basic disk
     * *   ephemeral_ssd: retired local SSD
     * *   cloud_auto: ESSD AutoPL disk
     * *   cloud_regional_disk_auto: Regional ESSD
     * *   cloud_essd: ESSD
     * *   elastic_ephemeral_disk_standard: standard elastic ephemeral disk
     * *   local_hdd_pro: throughput-intensive local disk
     *
     * @example
     * all
     */
    category?: string;
    /**
     * @remarks
     * Specifies whether to delete the automatic snapshots of the cloud disk after the disk is released.
     *
     * *   true
     * *   false
     *
     * Default value: false
     *
     * @example
     * false
     */
    deleteAutoSnapshot?: boolean;
    /**
     * @remarks
     * Specifies whether the disk is released when the associated instance is released. Valid values:
     *
     * *   true: The disk is released when the associated instance is released.
     * *   false: The disk is retained as a pay-as-you-go data disk when the associated instance is released.
     *
     * Default value: false.
     *
     * @example
     * false
     */
    deleteWithInstance?: boolean;
    /**
     * @remarks
     * The billing method of the disk. Valid values:
     *
     * *   PrePaid: subscription
     * *   PostPaid: pay-as-you-go
     *
     * @example
     * PostPaid
     */
    diskChargeType?: string;
    /**
     * @remarks
     * The IDs of cloud disks, local disks, or elastic ephemeral disks. The value is a JSON array that consists of up to 100 disk IDs. Separate the disk IDs with commas (,).
     *
     * @example
     * ["d-bp67acfmxazb4p****", "d-bp67acfmxazb4g****", … "d-bp67acfmxazb4d****"]
     */
    diskIds?: string;
    /**
     * @remarks
     * The name of the disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-).
     *
     * @example
     * testDiskName
     */
    diskName?: string;
    /**
     * @remarks
     * The type of the disk. Valid values:
     *
     * *   all: system disk and data disk
     * *   system: system disk
     * *   data: data disk
     *
     * Default value: all.
     *
     * >  Elastic ephemeral disks cannot be used as system disks.
     *
     * @example
     * all
     */
    diskType?: string;
    /**
     * @remarks
     * Specifies whether to perform only a dry run without performing the actual request. Valid values:
     *
     * *   true: performs only a dry run. The systems checks whether your AccessKey pair is valid, whether RAM users are granted permissions, and whether the required parameters are specified. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.
     * *   false: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
     *
     * Default value: false
     *
     * @example
     * false
     */
    dryRun?: boolean;
    /**
     * @remarks
     * Specifies whether the automatic snapshot policy feature is enabled for the cloud disk. Valid values:
     *
     * *   true
     * *   false
     *
     * >  This parameter is deprecated. By default, the automatic snapshot policy feature is enabled for cloud disks. You need to only apply an automatic snapshot policy to a cloud disk before you can use the automatic snapshot policy.
     *
     * @example
     * true
     */
    enableAutoSnapshot?: boolean;
    /**
     * @remarks
     * Specifies whether an automatic snapshot policy is applied to the cloud disk.
     *
     * *   true: An automatic snapshot policy is applied to the cloud disk.
     * *   false: No automatic snapshot policy is applied to the cloud disk.
     *
     * Default value: false
     *
     * @example
     * false
     */
    enableAutomatedSnapshotPolicy?: boolean;
    /**
     * @remarks
     * Specifies whether the disk is a Shared Block Storage device.
     *
     * @example
     * false
     */
    enableShared?: boolean;
    /**
     * @remarks
     * Specifies whether to query only encrypted cloud disks.
     *
     * *   true: queries only encrypted cloud disks.
     * *   false: does not query encrypted cloud disks.
     *
     * Default value: false
     *
     * @example
     * false
     */
    encrypted?: boolean;
    /**
     * @remarks
     * The ID of the Elastic Compute Service (ECS) instance to which the disk is attached.
     *
     * @example
     * i-bp67acfmxazb4q****
     */
    instanceId?: string;
    /**
     * @remarks
     * The ID of the Key Management Service (KMS) key that is used by the cloud disk.
     *
     * @example
     * 0e478b7a-4262-4802-b8cb-00d3fb40****
     */
    KMSKeyId?: string;
    /**
     * @remarks
     * The reason why the disk is locked. Valid values:
     *
     * *   financial: The disk is locked due to overdue payments.
     * *   security: The disk is locked due to security reasons.
     *
     * @example
     * recycling
     */
    lockReason?: string;
    /**
     * @remarks
     * The maximum number of entries per page. Valid values: 10 to 500.
     *
     * Default value:
     *
     * *   If you do not specify this parameter or you set this parameter to a value less than 10, the default value is 10.
     * *   If you set this parameter to a value greater than 500, the default value is 500.
     *
     * @example
     * 50
     */
    maxResults?: number;
    /**
     * @remarks
     * Specifies whether to enable the multi-attach feature for the disk. Valid values:
     *
     * *   Disabled
     * *   Enabled
     * *   LegacyShared: Shared Block Storage devices are queried.
     *
     * @example
     * Disabled
     */
    multiAttach?: string;
    /**
     * @remarks
     * The query token. Set the value to the `NextToken` value that was returned in the last call to this operation.
     *
     * For more information about how to check the responses returned by this operation, see the preceding "Description" section.
     *
     * @example
     * AAAAAdDWBF2****
     */
    nextToken?: string;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * >  This parameter will be removed in the future. We recommend that you use `NextToken` and `MaxResults` for a paged query.
     *
     * @example
     * 1
     */
    pageNumber?: number;
    /**
     * @remarks
     * >  This parameter will be removed in the future. We recommend that you use `NextToken` and `MaxResults` for a paged query.
     *
     * @example
     * 10
     */
    pageSize?: number;
    /**
     * @remarks
     * Specifies whether the disk is removable. Valid values:
     *
     * *   true: The disk is removable. A removable disk can independently exist and can be attached to or detached from an instance within the same zone.
     * *   false: The disk is not removable. A disk that is not removable cannot independently exist or be attached to or detached from an instance within the same zone.
     *
     * The `Portable` attribute of the following types of disks is `false`, and these types of disks share the same lifecycle with their associated instances:
     *
     * *   Local disks
     * *   Local SSDs
     * *   Subscription data disks
     *
     * @example
     * false
     */
    portable?: boolean;
    /**
     * @remarks
     * The region ID of the disk. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent region list.
     *
     * This parameter is required.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    /**
     * @remarks
     * The ID of the resource group to which the disk belongs. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response.
     *
     * >  Resources in the default resource group are displayed in the response regardless of the value specified for this parameter.
     *
     * @example
     * rg-bp67acfmxazb4p****
     */
    resourceGroupId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The ID of the snapshot from which you create the cloud disk.
     *
     * @example
     * s-bp67acfmxazb4p****
     */
    snapshotId?: string;
    /**
     * @remarks
     * The status of the disk. For more information, see [Disk states](https://help.aliyun.com/document_detail/25689.html). Valid values:
     *
     * *   In_use
     * *   Available
     * *   Attaching
     * *   Detaching
     * *   Creating
     * *   ReIniting
     * *   All
     *
     * Default value: All.
     *
     * @example
     * All
     */
    status?: string;
    /**
     * @remarks
     * The tags of the disk.
     */
    tag?: DescribeDisksRequestTag[];
    /**
     * @remarks
     * The zone ID.
     *
     * @example
     * cn-hangzhou-g
     */
    zoneId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
