All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.sdk.service.ecs20140526.models.ModifyCapacityReservationRequest Maven / Gradle / Ivy

There is a newer version: 5.0.29
Show newest version
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ecs20140526.models;

import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;

/**
 * {@link ModifyCapacityReservationRequest} extends {@link RequestModel}
 *
 * 

ModifyCapacityReservationRequest

*/ public class ModifyCapacityReservationRequest extends Request { @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("PrivatePoolOptions") private PrivatePoolOptions privatePoolOptions; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Description") private String description; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("EndTime") private String endTime; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("EndTimeType") private String endTimeType; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("InstanceAmount") private Integer instanceAmount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("OwnerAccount") private String ownerAccount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("OwnerId") private Long ownerId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Platform") private String platform; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("RegionId") @com.aliyun.core.annotation.Validation(required = true) private String regionId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ResourceOwnerAccount") private String resourceOwnerAccount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ResourceOwnerId") private Long resourceOwnerId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("StartTime") private String startTime; private ModifyCapacityReservationRequest(Builder builder) { super(builder); this.privatePoolOptions = builder.privatePoolOptions; this.description = builder.description; this.endTime = builder.endTime; this.endTimeType = builder.endTimeType; this.instanceAmount = builder.instanceAmount; this.ownerAccount = builder.ownerAccount; this.ownerId = builder.ownerId; this.platform = builder.platform; this.regionId = builder.regionId; this.resourceOwnerAccount = builder.resourceOwnerAccount; this.resourceOwnerId = builder.resourceOwnerId; this.startTime = builder.startTime; } public static Builder builder() { return new Builder(); } public static ModifyCapacityReservationRequest create() { return builder().build(); } @Override public Builder toBuilder() { return new Builder(this); } /** * @return privatePoolOptions */ public PrivatePoolOptions getPrivatePoolOptions() { return this.privatePoolOptions; } /** * @return description */ public String getDescription() { return this.description; } /** * @return endTime */ public String getEndTime() { return this.endTime; } /** * @return endTimeType */ public String getEndTimeType() { return this.endTimeType; } /** * @return instanceAmount */ public Integer getInstanceAmount() { return this.instanceAmount; } /** * @return ownerAccount */ public String getOwnerAccount() { return this.ownerAccount; } /** * @return ownerId */ public Long getOwnerId() { return this.ownerId; } /** * @return platform */ public String getPlatform() { return this.platform; } /** * @return regionId */ public String getRegionId() { return this.regionId; } /** * @return resourceOwnerAccount */ public String getResourceOwnerAccount() { return this.resourceOwnerAccount; } /** * @return resourceOwnerId */ public Long getResourceOwnerId() { return this.resourceOwnerId; } /** * @return startTime */ public String getStartTime() { return this.startTime; } public static final class Builder extends Request.Builder { private PrivatePoolOptions privatePoolOptions; private String description; private String endTime; private String endTimeType; private Integer instanceAmount; private String ownerAccount; private Long ownerId; private String platform; private String regionId; private String resourceOwnerAccount; private Long resourceOwnerId; private String startTime; private Builder() { super(); } private Builder(ModifyCapacityReservationRequest request) { super(request); this.privatePoolOptions = request.privatePoolOptions; this.description = request.description; this.endTime = request.endTime; this.endTimeType = request.endTimeType; this.instanceAmount = request.instanceAmount; this.ownerAccount = request.ownerAccount; this.ownerId = request.ownerId; this.platform = request.platform; this.regionId = request.regionId; this.resourceOwnerAccount = request.resourceOwnerAccount; this.resourceOwnerId = request.resourceOwnerId; this.startTime = request.startTime; } /** * PrivatePoolOptions. */ public Builder privatePoolOptions(PrivatePoolOptions privatePoolOptions) { this.putQueryParameter("PrivatePoolOptions", privatePoolOptions); this.privatePoolOptions = privatePoolOptions; return this; } /** * The description of the capacity reservation. The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`. */ public Builder description(String description) { this.putQueryParameter("Description", description); this.description = description; return this; } /** * 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](~~25696~~). */ public Builder endTime(String endTime) { this.putQueryParameter("EndTime", endTime); this.endTime = endTime; return this; } /** * 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. */ public Builder endTimeType(String endTimeType) { this.putQueryParameter("EndTimeType", endTimeType); this.endTimeType = endTimeType; return this; } /** * 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. */ public Builder instanceAmount(Integer instanceAmount) { this.putQueryParameter("InstanceAmount", instanceAmount); this.instanceAmount = instanceAmount; return this; } /** * OwnerAccount. */ public Builder ownerAccount(String ownerAccount) { this.putQueryParameter("OwnerAccount", ownerAccount); this.ownerAccount = ownerAccount; return this; } /** * OwnerId. */ public Builder ownerId(Long ownerId) { this.putQueryParameter("OwnerId", ownerId); this.ownerId = ownerId; return this; } /** * The operating system of the image used by the instance. Valid values: *

* * * Windows * * Linux * * > This parameter is unavailable. */ public Builder platform(String platform) { this.putQueryParameter("Platform", platform); this.platform = platform; return this; } /** * The region ID of the capacity reservation. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list. */ public Builder regionId(String regionId) { this.putQueryParameter("RegionId", regionId); this.regionId = regionId; return this; } /** * ResourceOwnerAccount. */ public Builder resourceOwnerAccount(String resourceOwnerAccount) { this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount); this.resourceOwnerAccount = resourceOwnerAccount; return this; } /** * ResourceOwnerId. */ public Builder resourceOwnerId(Long resourceOwnerId) { this.putQueryParameter("ResourceOwnerId", resourceOwnerId); this.resourceOwnerId = resourceOwnerId; return this; } /** * 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. */ public Builder startTime(String startTime) { this.putQueryParameter("StartTime", startTime); this.startTime = startTime; return this; } @Override public ModifyCapacityReservationRequest build() { return new ModifyCapacityReservationRequest(this); } } public static class PrivatePoolOptions extends TeaModel { @com.aliyun.core.annotation.NameInMap("Id") @com.aliyun.core.annotation.Validation(required = true) private String id; @com.aliyun.core.annotation.NameInMap("Name") private String name; private PrivatePoolOptions(Builder builder) { this.id = builder.id; this.name = builder.name; } public static Builder builder() { return new Builder(); } public static PrivatePoolOptions create() { return builder().build(); } /** * @return id */ public String getId() { return this.id; } /** * @return name */ public String getName() { return this.name; } public static final class Builder { private String id; private String name; /** * The capacity reservation ID. */ public Builder id(String id) { this.id = id; return this; } /** * 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 (-). */ public Builder name(String name) { this.name = name; return this; } public PrivatePoolOptions build() { return new PrivatePoolOptions(this); } } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy