com.aliyun.sdk.service.ecs20140526.models.DescribeBandwidthLimitationRequest Maven / Gradle / Ivy
Show all versions of alibabacloud-ecs20140526 Show documentation
// 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 DescribeBandwidthLimitationRequest} extends {@link RequestModel}
*
* DescribeBandwidthLimitationRequest
*/
public class DescribeBandwidthLimitationRequest 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("InstanceChargeType")
private String instanceChargeType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("InstanceType")
@com.aliyun.core.annotation.Validation(required = true)
private String instanceType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OperationType")
private String operationType;
@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("ResourceId")
private String resourceId;
@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("SpotStrategy")
private String spotStrategy;
private DescribeBandwidthLimitationRequest(Builder builder) {
super(builder);
this.sourceRegionId = builder.sourceRegionId;
this.instanceChargeType = builder.instanceChargeType;
this.instanceType = builder.instanceType;
this.operationType = builder.operationType;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.regionId = builder.regionId;
this.resourceId = builder.resourceId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.spotStrategy = builder.spotStrategy;
}
public static Builder builder() {
return new Builder();
}
public static DescribeBandwidthLimitationRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return sourceRegionId
*/
public String getSourceRegionId() {
return this.sourceRegionId;
}
/**
* @return instanceChargeType
*/
public String getInstanceChargeType() {
return this.instanceChargeType;
}
/**
* @return instanceType
*/
public String getInstanceType() {
return this.instanceType;
}
/**
* @return operationType
*/
public String getOperationType() {
return this.operationType;
}
/**
* @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 resourceId
*/
public String getResourceId() {
return this.resourceId;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return resourceOwnerId
*/
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
/**
* @return spotStrategy
*/
public String getSpotStrategy() {
return this.spotStrategy;
}
public static final class Builder extends Request.Builder {
private String sourceRegionId;
private String instanceChargeType;
private String instanceType;
private String operationType;
private String ownerAccount;
private Long ownerId;
private String regionId;
private String resourceId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private String spotStrategy;
private Builder() {
super();
}
private Builder(DescribeBandwidthLimitationRequest request) {
super(request);
this.sourceRegionId = request.sourceRegionId;
this.instanceChargeType = request.instanceChargeType;
this.instanceType = request.instanceType;
this.operationType = request.operationType;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.regionId = request.regionId;
this.resourceId = request.resourceId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.spotStrategy = request.spotStrategy;
}
/**
* SourceRegionId.
*/
public Builder sourceRegionId(String sourceRegionId) {
this.putHostParameter("SourceRegionId", sourceRegionId);
this.sourceRegionId = sourceRegionId;
return this;
}
/**
* The billing method of the instance. For more information, see [Billing overview](~~25398~~). Valid values:
*
*
* * PrePaid: subscription
* * PostPaid: pay-as-you-go
*
* Default value: PostPaid.
*/
public Builder instanceChargeType(String instanceChargeType) {
this.putQueryParameter("InstanceChargeType", instanceChargeType);
this.instanceChargeType = instanceChargeType;
return this;
}
/**
* The instance type. For information about the values, see [Overview of ECS instance families](~~25378~~).
*/
public Builder instanceType(String instanceType) {
this.putQueryParameter("InstanceType", instanceType);
this.instanceType = instanceType;
return this;
}
/**
* Specifies the operation for which to query the maximum public bandwidth. Valid values:
*
*
* * Upgrade: upgrades the public bandwidth.
* * Downgrade: downgrades the public bandwidth.
* * Create: creates an ECS instance.
*
* Default value: Create.
*/
public Builder operationType(String operationType) {
this.putQueryParameter("OperationType", operationType);
this.operationType = operationType;
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;
}
/**
* The resource ID.
*
*
* > This parameter is required when the OperationType parameter is set to Upgrade or Downgrade.
*/
public Builder resourceId(String resourceId) {
this.putQueryParameter("ResourceId", resourceId);
this.resourceId = resourceId;
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 bidding policy for the pay-as-you-go instance. Valid values:
*
*
* * NoSpot: The instance is a pay-as-you-go instance.
* * SpotWithPriceLimit: The instance is a preemptible instance for which you can specify the maximum hourly price.
* * SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase 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.
*/
public Builder spotStrategy(String spotStrategy) {
this.putQueryParameter("SpotStrategy", spotStrategy);
this.spotStrategy = spotStrategy;
return this;
}
@Override
public DescribeBandwidthLimitationRequest build() {
return new DescribeBandwidthLimitationRequest(this);
}
}
}