// This file is auto-generated, don't edit it import * as $dara from '@darabonba/typescript'; export 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 } { return { id: 'Id', name: 'Name', }; } static types(): { [key: string]: any } { return { id: 'string', name: 'string', }; } validate() { super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export 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 } { return { privatePoolOptions: 'PrivatePoolOptions', description: 'Description', endTime: 'EndTime', endTimeType: 'EndTimeType', instanceAmount: 'InstanceAmount', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', platform: 'Platform', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { privatePoolOptions: ModifyCapacityReservationRequestPrivatePoolOptions, description: 'string', endTime: 'string', endTimeType: 'string', instanceAmount: 'number', ownerAccount: 'string', ownerId: 'number', platform: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } validate() { if(this.privatePoolOptions && typeof (this.privatePoolOptions as any).validate === 'function') { (this.privatePoolOptions as any).validate(); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } }