import * as $dara from '@darabonba/typescript';
export declare class ModifyCapacityReservationRequestPrivatePoolOptions extends $dara.Model {
    /**
     * @remarks
     * The capacity reservation ID.
     *
     * This parameter is required.
     *
     * @example
     * crp-bp67acfmxazb4****
     */
    id?: string;
    /**
     * @remarks
     * The name of the capacity reservation. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (_), and hyphens (-).
     *
     * @example
     * eapTestName
     */
    name?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ModifyCapacityReservationRequest extends $dara.Model {
    privatePoolOptions?: ModifyCapacityReservationRequestPrivatePoolOptions;
    /**
     * @remarks
     * The description of the capacity reservation. The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`.
     *
     * @example
     * This is description.
     */
    description?: string;
    /**
     * @remarks
     * The expiration time of the capacity reservation. This parameter takes effect only when `EndTimeType` is set to Limited. Specify the time in the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in UTC. For more information, see [ISO 8601](https://help.aliyun.com/document_detail/25696.html).
     *
     * @example
     * 2021-10-30T06:32:00Z
     */
    endTime?: string;
    /**
     * @remarks
     * The release mode of the capacity reservation. Valid values:
     *
     * *   Limited: The capacity reservation is automatically released at the specified point in time. If you configure this parameter, you must also configure `EndTime`.
     * *   Unlimited: The capacity reservation must be manually released. You can release it anytime.
     *
     * @example
     * Unlimited
     */
    endTimeType?: string;
    /**
     * @remarks
     * The total number of instances for which capacity is reserved. Valid values: the number of used instances to 1000.
     *
     * > When you increase the number of instances, the increase may fail due to insufficient resources.
     *
     * @example
     * 100
     */
    instanceAmount?: number;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The operating system of the image used by the instance. Valid values:
     *
     * *   Windows
     * *   Linux
     *
     * > This parameter is unavailable.
     *
     * @example
     * Linux
     */
    platform?: string;
    /**
     * @remarks
     * The region ID of the capacity reservation. 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;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The mode in which the capacity reservation takes effect. Only immediate capacity reservations are supported. You do not need to specify a value for this parameter.
     *
     * > If you do not specify a value for this parameter, the capacity reservation immediately takes effect.
     *
     * @example
     * Now
     */
    startTime?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
