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

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

The newest version!
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ecs20140526.models;

import com.aliyun.sdk.gateway.pop.*;
import darabonba.core.*;
import darabonba.core.async.*;
import darabonba.core.sync.*;
import darabonba.core.client.*;
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 { @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("SystemDisk") private SystemDisk systemDisk; @com.aliyun.core.annotation.Host @com.aliyun.core.annotation.NameInMap("SourceRegionId") private String sourceRegionId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DataDisk") private java.util.List dataDisk; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("InstanceId") @com.aliyun.core.annotation.Validation(required = true) private String instanceId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("InstanceType") private String instanceType; @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("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; 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 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; 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 data disks.

*/ public Builder dataDisk(java.util.List 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.

*

This parameter is required.

* * example: *

i-bp1f2o4ldh8l****

*/ 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 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.*.

*
* * example: *

ecs.g6e.large

*/ 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 operation to query the most recent region list.

*

This parameter is required.

* * example: *

cn-hangzhou

*/ 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); } } /** * * {@link DescribeInstanceModificationPriceRequest} extends {@link TeaModel} * *

DescribeInstanceModificationPriceRequest

*/ public static class SystemDisk extends TeaModel { @com.aliyun.core.annotation.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 and Retired instance types.

*

Valid values:

*
    *
  • cloud_efficiency: ultra disk
  • *
  • cloud_ssd: standard SSD
  • *
*

This parameter is empty by default.

* * example: *

cloud_ssd

*/ public Builder category(String category) { this.category = category; return this; } public SystemDisk build() { return new SystemDisk(this); } } } /** * * {@link DescribeInstanceModificationPriceRequest} extends {@link TeaModel} * *

DescribeInstanceModificationPriceRequest

*/ public static class DataDisk extends TeaModel { @com.aliyun.core.annotation.NameInMap("Category") private String category; @com.aliyun.core.annotation.NameInMap("PerformanceLevel") private String performanceLevel; @com.aliyun.core.annotation.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: utra 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.*.

*
* * example: *

cloud_essd

*/ 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.

* * example: *

PL1

*/ 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: vary based on the DataDisk.N.PerformanceLevel value.

    *
      *
    • Valid values when DataDisk.N.PerformanceLevel is set to PL0: 1 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.

* * example: *

100

*/ public Builder size(Integer size) { this.size = size; return this; } public DataDisk build() { return new DataDisk(this); } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy