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

com.aliyun.sdk.service.ecs20140526.models.DescribeInstanceModificationPriceRequest 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 com.aliyun.core.annotation.*;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;

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

DescribeInstanceModificationPriceRequest

*/ public class DescribeInstanceModificationPriceRequest extends Request { @Query @NameInMap("SystemDisk") private SystemDisk systemDisk; @Host @NameInMap("SourceRegionId") private String sourceRegionId; @Query @NameInMap("DataDisk") private java.util.List < DataDisk> dataDisk; @Query @NameInMap("InstanceId") @Validation(required = true) private String instanceId; @Query @NameInMap("InstanceType") private String instanceType; @Query @NameInMap("OwnerAccount") private String ownerAccount; @Query @NameInMap("OwnerId") private Long ownerId; @Query @NameInMap("RegionId") @Validation(required = true) private String regionId; @Query @NameInMap("ResourceOwnerAccount") private String resourceOwnerAccount; @Query @NameInMap("ResourceOwnerId") private Long resourceOwnerId; private DescribeInstanceModificationPriceRequest(Builder builder) { super(builder); this.systemDisk = builder.systemDisk; this.sourceRegionId = builder.sourceRegionId; this.dataDisk = builder.dataDisk; this.instanceId = builder.instanceId; this.instanceType = builder.instanceType; this.ownerAccount = builder.ownerAccount; this.ownerId = builder.ownerId; this.regionId = builder.regionId; this.resourceOwnerAccount = builder.resourceOwnerAccount; this.resourceOwnerId = builder.resourceOwnerId; } public static Builder builder() { return new Builder(); } public static DescribeInstanceModificationPriceRequest create() { return builder().build(); } @Override public Builder toBuilder() { return new Builder(this); } /** * @return systemDisk */ public SystemDisk getSystemDisk() { return this.systemDisk; } /** * @return sourceRegionId */ public String getSourceRegionId() { return this.sourceRegionId; } /** * @return dataDisk */ public java.util.List < DataDisk> getDataDisk() { return this.dataDisk; } /** * @return instanceId */ public String getInstanceId() { return this.instanceId; } /** * @return instanceType */ public String getInstanceType() { return this.instanceType; } /** * @return ownerAccount */ public String getOwnerAccount() { return this.ownerAccount; } /** * @return ownerId */ public Long getOwnerId() { return this.ownerId; } /** * @return regionId */ public String getRegionId() { return this.regionId; } /** * @return resourceOwnerAccount */ public String getResourceOwnerAccount() { return this.resourceOwnerAccount; } /** * @return resourceOwnerId */ public Long getResourceOwnerId() { return this.resourceOwnerId; } public static final class Builder extends Request.Builder { private SystemDisk systemDisk; private String sourceRegionId; private java.util.List < DataDisk> dataDisk; private String instanceId; private String instanceType; private String ownerAccount; private Long ownerId; private String regionId; private String resourceOwnerAccount; private Long resourceOwnerId; private Builder() { super(); } private Builder(DescribeInstanceModificationPriceRequest request) { super(request); this.systemDisk = request.systemDisk; this.sourceRegionId = request.sourceRegionId; this.dataDisk = request.dataDisk; this.instanceId = request.instanceId; this.instanceType = request.instanceType; this.ownerAccount = request.ownerAccount; this.ownerId = request.ownerId; this.regionId = request.regionId; this.resourceOwnerAccount = request.resourceOwnerAccount; this.resourceOwnerId = request.resourceOwnerId; } /** * SystemDisk. */ public Builder systemDisk(SystemDisk systemDisk) { this.putQueryParameter("SystemDisk", systemDisk); this.systemDisk = systemDisk; return this; } /** * SourceRegionId. */ public Builder sourceRegionId(String sourceRegionId) { this.putHostParameter("SourceRegionId", sourceRegionId); this.sourceRegionId = sourceRegionId; return this; } /** * The information about the data disk. */ public Builder dataDisk(java.util.List < DataDisk> dataDisk) { this.putQueryParameter("DataDisk", dataDisk); this.dataDisk = dataDisk; return this; } /** * The ID of the instance for which you want to query pricing information for a configuration upgrade. */ public Builder instanceId(String instanceId) { this.putQueryParameter("InstanceId", instanceId); this.instanceId = instanceId; return this; } /** * The new instance type. We recommend that you call the [DescribeResourcesModification](~~66187~~) operation to query the instance types available for configuration upgrades in a specified zone. *

* * > When you call the DescribeInstanceModificationPrice operation, you must specify at least one of the following parameters: `InstanceType` and `DataDisk.N.*`. */ public Builder instanceType(String instanceType) { this.putQueryParameter("InstanceType", instanceType); this.instanceType = instanceType; 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 region ID. 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; } @Override public DescribeInstanceModificationPriceRequest build() { return new DescribeInstanceModificationPriceRequest(this); } } public static class SystemDisk extends TeaModel { @NameInMap("Category") private String category; private SystemDisk(Builder builder) { this.category = builder.category; } public static Builder builder() { return new Builder(); } public static SystemDisk create() { return builder().build(); } /** * @return category */ public String getCategory() { return this.category; } public static final class Builder { private String category; /** * The category of the system disk. You must specify this parameter only when you upgrade a non-I/O optimized instance of a retired instance type to an I/O optimized instance of an available instance type. For more information about instance types, see [Instance families](~~25378~~) and [Retired instance types](~~55263~~). *

* * Valid values: * * * cloud_efficiency: ultra disk * * cloud_ssd: standard SSD * * This parameter is empty by default. */ public Builder category(String category) { this.category = category; return this; } public SystemDisk build() { return new SystemDisk(this); } } } public static class DataDisk extends TeaModel { @NameInMap("Category") private String category; @NameInMap("PerformanceLevel") private String performanceLevel; @NameInMap("Size") private Integer size; private DataDisk(Builder builder) { this.category = builder.category; this.performanceLevel = builder.performanceLevel; this.size = builder.size; } public static Builder builder() { return new Builder(); } public static DataDisk create() { return builder().build(); } /** * @return category */ public String getCategory() { return this.category; } /** * @return performanceLevel */ public String getPerformanceLevel() { return this.performanceLevel; } /** * @return size */ public Integer getSize() { return this.size; } public static final class Builder { private String category; private String performanceLevel; private Integer size; /** * The category of data disk N. You can specify this parameter if you want to query the pricing information about newly attached subscription data disks. Valid values of N: 1 to 16. Valid values: *

* * * cloud_efficiency: ultra disk * * cloud_ssd: standard SSD * * cloud_essd: ESSD * * cloud: basic disk * * This parameter is empty by default. * * > When you call the DescribeInstanceModificationPrice operation, you must specify at least one of the following parameters: `InstanceType` and `DataDisk.N.*`. */ public Builder category(String category) { this.category = category; return this; } /** * The performance level of data disk N that is an enhanced SSD (ESSD). The value of N must be the same as that in `DataDisk.N.Category` when DataDisk.N.Category is set to cloud_essd. Valid values: *

* * * PL0: A single ESSD can deliver up to 10,000 random read/write IOPS. * * PL1: A single ESSD can deliver up to 50,000 random read/write IOPS. * * PL2: A single ESSD can deliver up to 100,000 random read/write IOPS. * * PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. * * Default value: PL1. * * For more information about ESSD performance levels, see [ESSDs](~~122389~~). */ public Builder performanceLevel(String performanceLevel) { this.performanceLevel = performanceLevel; return this; } /** * The capacity of data disk N. Valid values of N: 1 to 16. Unit: GiB. Valid values: *

* * * Valid values when DataDisk.N.Category is set to cloud_efficiency: 20 to 32768. * * * Valid values when DataDisk.N.Category is set to cloud_ssd: 20 to 32768. * * * Valid values when DataDisk.N.Category is set to cloud_essd: depends on the value of `DataDisk.N.PerformanceLevel`. * * * Valid values when DataDisk.N.PerformanceLevel is set to PL0: 40 to 32768. * * Valid values when DataDisk.N.PerformanceLevel is set to PL1: 20 to 32768. * * Valid values when DataDisk.N.PerformanceLevel is set to PL2: 461 to 32768. * * Valid values when DataDisk.N.PerformanceLevel is set to PL3: 1261 to 32768. * * * Valid values when DataDisk.N.Category is set to cloud: 5 to 2000. * * The default value is the minimum capacity allowed for the specified data disk category. */ public Builder size(Integer size) { this.size = size; return this; } public DataDisk build() { return new DataDisk(this); } } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy