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

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

DescribeSpotPriceHistoryRequest

*/ public class DescribeSpotPriceHistoryRequest 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("EndTime") private String endTime; @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("IoOptimized") private String ioOptimized; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("NetworkType") @com.aliyun.core.annotation.Validation(required = true) private String networkType; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("OSType") private String OSType; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Offset") private Integer offset; @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("SpotDuration") private Integer spotDuration; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("StartTime") private String startTime; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ZoneId") private String zoneId; private DescribeSpotPriceHistoryRequest(Builder builder) { super(builder); this.sourceRegionId = builder.sourceRegionId; this.endTime = builder.endTime; this.instanceType = builder.instanceType; this.ioOptimized = builder.ioOptimized; this.networkType = builder.networkType; this.OSType = builder.OSType; this.offset = builder.offset; this.ownerAccount = builder.ownerAccount; this.ownerId = builder.ownerId; this.regionId = builder.regionId; this.resourceOwnerAccount = builder.resourceOwnerAccount; this.resourceOwnerId = builder.resourceOwnerId; this.spotDuration = builder.spotDuration; this.startTime = builder.startTime; this.zoneId = builder.zoneId; } public static Builder builder() { return new Builder(); } public static DescribeSpotPriceHistoryRequest create() { return builder().build(); } @Override public Builder toBuilder() { return new Builder(this); } /** * @return sourceRegionId */ public String getSourceRegionId() { return this.sourceRegionId; } /** * @return endTime */ public String getEndTime() { return this.endTime; } /** * @return instanceType */ public String getInstanceType() { return this.instanceType; } /** * @return ioOptimized */ public String getIoOptimized() { return this.ioOptimized; } /** * @return networkType */ public String getNetworkType() { return this.networkType; } /** * @return OSType */ public String getOSType() { return this.OSType; } /** * @return offset */ public Integer getOffset() { return this.offset; } /** * @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 spotDuration */ public Integer getSpotDuration() { return this.spotDuration; } /** * @return startTime */ public String getStartTime() { return this.startTime; } /** * @return zoneId */ public String getZoneId() { return this.zoneId; } public static final class Builder extends Request.Builder { private String sourceRegionId; private String endTime; private String instanceType; private String ioOptimized; private String networkType; private String OSType; private Integer offset; private String ownerAccount; private Long ownerId; private String regionId; private String resourceOwnerAccount; private Long resourceOwnerId; private Integer spotDuration; private String startTime; private String zoneId; private Builder() { super(); } private Builder(DescribeSpotPriceHistoryRequest request) { super(request); this.sourceRegionId = request.sourceRegionId; this.endTime = request.endTime; this.instanceType = request.instanceType; this.ioOptimized = request.ioOptimized; this.networkType = request.networkType; this.OSType = request.OSType; this.offset = request.offset; this.ownerAccount = request.ownerAccount; this.ownerId = request.ownerId; this.regionId = request.regionId; this.resourceOwnerAccount = request.resourceOwnerAccount; this.resourceOwnerId = request.resourceOwnerId; this.spotDuration = request.spotDuration; this.startTime = request.startTime; this.zoneId = request.zoneId; } /** * SourceRegionId. */ public Builder sourceRegionId(String sourceRegionId) { this.putHostParameter("SourceRegionId", sourceRegionId); this.sourceRegionId = sourceRegionId; return this; } /** *

The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.

*

This parameter is empty by default. If this parameter is empty, the current time is used.

* * example: *

2017-08-22T08:45:08Z

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

The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. The specified time can be up to 30 days earlier than the specified EndTime value.

*

This parameter is empty by default. If this parameter is empty, the time that is 3 hours earlier than the specified EndTime value is used.

*

This parameter is required.

* * example: *

ecs.t1.xsmall

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

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

*
    *
  • optimized: The instance is I/O optimized.
  • *
  • none: The instance is not I/O optimized.
  • *
*

For instances of generation I instance families, the default value is none.

*

For instances of other instance families, the default value is optimized.

* * example: *

optimized

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

The network type of the preemptible instance. Valid values:

*
    *
  • classic: classic network
  • *
  • vpc: Virtual Private Cloud (VPC)
  • *
*

This parameter is required.

* * example: *

vpc

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

The type of the operating system platform. Valid values:

*
    *
  • linux
  • *
  • windows
  • *
* * example: *

linux

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

The line from which the query starts.

*

Default value: 0

* * example: *

0

*/ public Builder offset(Integer offset) { this.putQueryParameter("Offset", offset); this.offset = offset; 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 zone ID of the preemptible instance.

*

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 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 you set SpotStrategy to SpotWithPriceLimit or SpotAsPriceGo.

*
* * example: *

1

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

The beginning of the time range to query. The value of this parameter and the value of EndTime can be up to 30 days apart. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.

*

This parameter is left empty by default. If this parameter is empty, the time that is 3 hours earlier than the value of EndTime is used.

* * example: *

2017-08-22T08:45:08Z

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

The spot price (market price) of the preemptible instance.

* * example: *

cn-hangzhou-g

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy