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

com.aliyun.sdk.service.ecs20140526.models.DescribeAvailableResourceRequest 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 DescribeAvailableResourceRequest} extends {@link RequestModel}
 *
 * 

DescribeAvailableResourceRequest

*/ public class DescribeAvailableResourceRequest extends Request { @com.aliyun.core.annotation.Host @com.aliyun.core.annotation.NameInMap("SourceRegionId") private String sourceRegionId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Cores") private Integer cores; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DataDiskCategory") private String dataDiskCategory; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DedicatedHostId") private String dedicatedHostId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DestinationResource") @com.aliyun.core.annotation.Validation(required = true) private String destinationResource; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("InstanceChargeType") private String instanceChargeType; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("InstanceType") private String instanceType; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("IoOptimized") private String ioOptimized; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Memory") private Float memory; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("NetworkCategory") private String networkCategory; @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; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ResourceType") private String resourceType; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Scope") private String scope; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("SpotDuration") @com.aliyun.core.annotation.Validation(maximum = 6) private Integer spotDuration; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("SpotStrategy") private String spotStrategy; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("SystemDiskCategory") private String systemDiskCategory; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ZoneId") private String zoneId; private DescribeAvailableResourceRequest(Builder builder) { super(builder); this.sourceRegionId = builder.sourceRegionId; this.cores = builder.cores; this.dataDiskCategory = builder.dataDiskCategory; this.dedicatedHostId = builder.dedicatedHostId; this.destinationResource = builder.destinationResource; this.instanceChargeType = builder.instanceChargeType; this.instanceType = builder.instanceType; this.ioOptimized = builder.ioOptimized; this.memory = builder.memory; this.networkCategory = builder.networkCategory; this.ownerAccount = builder.ownerAccount; this.ownerId = builder.ownerId; this.regionId = builder.regionId; this.resourceOwnerAccount = builder.resourceOwnerAccount; this.resourceOwnerId = builder.resourceOwnerId; this.resourceType = builder.resourceType; this.scope = builder.scope; this.spotDuration = builder.spotDuration; this.spotStrategy = builder.spotStrategy; this.systemDiskCategory = builder.systemDiskCategory; this.zoneId = builder.zoneId; } public static Builder builder() { return new Builder(); } public static DescribeAvailableResourceRequest create() { return builder().build(); } @Override public Builder toBuilder() { return new Builder(this); } /** * @return sourceRegionId */ public String getSourceRegionId() { return this.sourceRegionId; } /** * @return cores */ public Integer getCores() { return this.cores; } /** * @return dataDiskCategory */ public String getDataDiskCategory() { return this.dataDiskCategory; } /** * @return dedicatedHostId */ public String getDedicatedHostId() { return this.dedicatedHostId; } /** * @return destinationResource */ public String getDestinationResource() { return this.destinationResource; } /** * @return instanceChargeType */ public String getInstanceChargeType() { return this.instanceChargeType; } /** * @return instanceType */ public String getInstanceType() { return this.instanceType; } /** * @return ioOptimized */ public String getIoOptimized() { return this.ioOptimized; } /** * @return memory */ public Float getMemory() { return this.memory; } /** * @return networkCategory */ public String getNetworkCategory() { return this.networkCategory; } /** * @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; } /** * @return resourceType */ public String getResourceType() { return this.resourceType; } /** * @return scope */ public String getScope() { return this.scope; } /** * @return spotDuration */ public Integer getSpotDuration() { return this.spotDuration; } /** * @return spotStrategy */ public String getSpotStrategy() { return this.spotStrategy; } /** * @return systemDiskCategory */ public String getSystemDiskCategory() { return this.systemDiskCategory; } /** * @return zoneId */ public String getZoneId() { return this.zoneId; } public static final class Builder extends Request.Builder { private String sourceRegionId; private Integer cores; private String dataDiskCategory; private String dedicatedHostId; private String destinationResource; private String instanceChargeType; private String instanceType; private String ioOptimized; private Float memory; private String networkCategory; private String ownerAccount; private Long ownerId; private String regionId; private String resourceOwnerAccount; private Long resourceOwnerId; private String resourceType; private String scope; private Integer spotDuration; private String spotStrategy; private String systemDiskCategory; private String zoneId; private Builder() { super(); } private Builder(DescribeAvailableResourceRequest request) { super(request); this.sourceRegionId = request.sourceRegionId; this.cores = request.cores; this.dataDiskCategory = request.dataDiskCategory; this.dedicatedHostId = request.dedicatedHostId; this.destinationResource = request.destinationResource; this.instanceChargeType = request.instanceChargeType; this.instanceType = request.instanceType; this.ioOptimized = request.ioOptimized; this.memory = request.memory; this.networkCategory = request.networkCategory; this.ownerAccount = request.ownerAccount; this.ownerId = request.ownerId; this.regionId = request.regionId; this.resourceOwnerAccount = request.resourceOwnerAccount; this.resourceOwnerId = request.resourceOwnerId; this.resourceType = request.resourceType; this.scope = request.scope; this.spotDuration = request.spotDuration; this.spotStrategy = request.spotStrategy; this.systemDiskCategory = request.systemDiskCategory; this.zoneId = request.zoneId; } /** * SourceRegionId. */ public Builder sourceRegionId(String sourceRegionId) { this.putHostParameter("SourceRegionId", sourceRegionId); this.sourceRegionId = sourceRegionId; return this; } /** *

The number of vCPUs of the instance type. For more information, see Instance families.

*

The Cores parameter takes effect only when the DestinationResource parameter is set to InstanceType.

* * example: *

2

*/ public Builder cores(Integer cores) { this.putQueryParameter("Cores", cores); this.cores = cores; return this; } /** *

The category of the data disk. Valid values:

*
    *
  • cloud: basic disk
  • *
  • cloud_efficiency: ultra disk
  • *
  • cloud_ssd: standard SSD
  • *
  • ephemeral_ssd: local SSD
  • *
  • cloud_essd: ESSD
  • *
  • cloud_auto: ESSD AutoPL disk
  • *
* * example: *

cloud_ssd

*/ public Builder dataDiskCategory(String dataDiskCategory) { this.putQueryParameter("DataDiskCategory", dataDiskCategory); this.dataDiskCategory = dataDiskCategory; return this; } /** *

The ID of the dedicated host.

* * example: *

dh-bp165p6xk2tlw61e****

*/ public Builder dedicatedHostId(String dedicatedHostId) { this.putQueryParameter("DedicatedHostId", dedicatedHostId); this.dedicatedHostId = dedicatedHostId; return this; } /** *

The resource type to query. Valid values:

*
    *
  • Zone: zone.
  • *
  • IoOptimized: I/O optimized resource.
  • *
  • InstanceType: instance type.
  • *
  • SystemDisk: system disk.
  • *
  • DataDisk: data disk.
  • *
  • Network: network type.
  • *
  • ddh: dedicated host.
  • *
*

For more information about how to configure the DestinationResource parameter, see the Description section of this topic.

*

This parameter is required.

* * example: *

InstanceType

*/ public Builder destinationResource(String destinationResource) { this.putQueryParameter("DestinationResource", destinationResource); this.destinationResource = destinationResource; return this; } /** *

The billing method of the resource. For more information, see Billing overview. Valid values:

*
    *
  • PrePaid: subscription.
  • *
  • PostPaid: pay-as-you-go.
  • *
*

Default value: PostPaid.

* * example: *

PrePaid

*/ public Builder instanceChargeType(String instanceChargeType) { this.putQueryParameter("InstanceChargeType", instanceChargeType); this.instanceChargeType = instanceChargeType; return this; } /** *

The instance types. For more information, see Instance families or call the DescribeInstanceTypes operation to query the most recent instance type list.

*

For more information about how to configure the InstanceType parameter, see the Description section of this topic.

* * example: *

ecs.g5.large

*/ public Builder instanceType(String instanceType) { this.putQueryParameter("InstanceType", instanceType); this.instanceType = instanceType; return this; } /** *

Specifies whether the instance is an I/O optimized instance. Valid values:

*
    *
  • none: The instance is a non-I/O optimized instance.
  • *
  • optimized: The instance is an I/O optimized instance.
  • *
*

Default value: optimized.

* * example: *

optimized

*/ public Builder ioOptimized(String ioOptimized) { this.putQueryParameter("IoOptimized", ioOptimized); this.ioOptimized = ioOptimized; return this; } /** *

The memory size of the instance type. Unit: GiB. For more information, see Instance families.

*

The Memory parameter takes effect only when the DestinationResource parameter is set to InstanceType.

* * example: *

8.0

*/ public Builder memory(Float memory) { this.putQueryParameter("Memory", memory); this.memory = memory; return this; } /** *

The network type of the cluster. Valid values:

*
    *
  • vpc
  • *
  • classic
  • *
* * example: *

vpc

*/ public Builder networkCategory(String networkCategory) { this.putQueryParameter("NetworkCategory", networkCategory); this.networkCategory = networkCategory; 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 ID of the region for which to query resources. 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; } /** *

The type of the resource. Valid values:

*
    *
  • instance: ECS instance.
  • *
  • disk: cloud disk.
  • *
  • reservedinstance: reserved instance.
  • *
  • ddh: dedicated host.
  • *
* * example: *

instance

*/ public Builder resourceType(String resourceType) { this.putQueryParameter("ResourceType", resourceType); this.resourceType = resourceType; return this; } /** *

The scope of the reserved instance. Valid values:

*
    *
  • Region: regional.
  • *
  • Zone: zonal.
  • *
* * example: *

Region

*/ public Builder scope(String scope) { this.putQueryParameter("Scope", scope); this.scope = scope; return this; } /** *

The protection period of the preemptible instance. Unit: hours. Default value: 1. Valid values:

*
    *
  • 1: After a preemptible instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After the 1-hour protection period ends, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.
  • *
  • 0: After a preemptible instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.
  • *
*

Alibaba Cloud sends an ECS system event to notify you 5 minutes before the instance is released. Preemptible instances are billed by second. We recommend that you specify a protection period based on your business requirements.

*
*

This parameter takes effect only if SpotStrategy is set to SpotWithPriceLimit or SpotAsPriceGo.

*
* * example: *

1

*/ public Builder spotDuration(Integer spotDuration) { this.putQueryParameter("SpotDuration", spotDuration); this.spotDuration = spotDuration; return this; } /** *

The bidding policy for pay-as-you-go instances. Valid values:

*
    *
  • NoSpot: The instance is a pay-as-you-go instance.
  • *
  • SpotWithPriceLimit: The instance is a preemptible instance with a user-defined maximum hourly price.
  • *
  • SpotAsPriceGo: The instance is a preemptible instance for which the market price is automatically used as the bid price. The market price can be up to the pay-as-you-go price.
  • *
*

Default value: NoSpot.

*

The SpotStrategy parameter takes effect only when the InstanceChargeType parameter is set to PostPaid.

* * example: *

NoSpot

*/ public Builder spotStrategy(String spotStrategy) { this.putQueryParameter("SpotStrategy", spotStrategy); this.spotStrategy = spotStrategy; return this; } /** *

The category of the system disk. Valid values:

*
    *
  • cloud: basic disk
  • *
  • cloud_efficiency: ultra disk
  • *
  • cloud_ssd: standard SSD
  • *
  • ephemeral_ssd: local SSD
  • *
  • cloud_essd: Enterprise SSD (ESSD)
  • *
  • cloud_auto: ESSD AutoPL disk
  • *
*

Default value: cloud_efficiency.

*
*

This parameter must be specified when ResourceType is set to instance and DestinationResource is set to DataDisk. If you do not specify this parameter, the default value takes effect.

*
* * example: *

cloud_ssd

*/ public Builder systemDiskCategory(String systemDiskCategory) { this.putQueryParameter("SystemDiskCategory", systemDiskCategory); this.systemDiskCategory = systemDiskCategory; return this; } /** *

The ID of the zone where the instance resides.

*

This parameter is empty by default. When this parameter is empty, the system returns resources that match the other criteria in all zones within the region specified by RegionId.

* * example: *

cn-hangzhou-e

*/ public Builder zoneId(String zoneId) { this.putQueryParameter("ZoneId", zoneId); this.zoneId = zoneId; return this; } @Override public DescribeAvailableResourceRequest build() { return new DescribeAvailableResourceRequest(this); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy