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

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

DescribeSpotAdviceResponseBody

*/ public class DescribeSpotAdviceResponseBody extends TeaModel { @com.aliyun.core.annotation.NameInMap("AvailableSpotZones") private AvailableSpotZones availableSpotZones; @com.aliyun.core.annotation.NameInMap("RegionId") private String regionId; @com.aliyun.core.annotation.NameInMap("RequestId") private String requestId; private DescribeSpotAdviceResponseBody(Builder builder) { this.availableSpotZones = builder.availableSpotZones; this.regionId = builder.regionId; this.requestId = builder.requestId; } public static Builder builder() { return new Builder(); } public static DescribeSpotAdviceResponseBody create() { return builder().build(); } /** * @return availableSpotZones */ public AvailableSpotZones getAvailableSpotZones() { return this.availableSpotZones; } /** * @return regionId */ public String getRegionId() { return this.regionId; } /** * @return requestId */ public String getRequestId() { return this.requestId; } public static final class Builder { private AvailableSpotZones availableSpotZones; private String regionId; private String requestId; /** *

Details about preemptible instances in the zones of the specified region.

*
*

The return values are sorted based on the historical percentages of average preemptible instance prices relative to pay-as-you-go instance prices for instance types.

*
*/ public Builder availableSpotZones(AvailableSpotZones availableSpotZones) { this.availableSpotZones = availableSpotZones; return this; } /** *

The region ID.

* * example: *

cn-hangzhou

*/ public Builder regionId(String regionId) { this.regionId = regionId; return this; } /** *

The request ID.

* * example: *

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

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

DescribeSpotAdviceResponseBody

*/ public static class AvailableSpotResource extends TeaModel { @com.aliyun.core.annotation.NameInMap("AverageSpotDiscount") private Integer averageSpotDiscount; @com.aliyun.core.annotation.NameInMap("InstanceType") private String instanceType; @com.aliyun.core.annotation.NameInMap("InterruptRateDesc") private String interruptRateDesc; @com.aliyun.core.annotation.NameInMap("InterruptionRate") private Float interruptionRate; private AvailableSpotResource(Builder builder) { this.averageSpotDiscount = builder.averageSpotDiscount; this.instanceType = builder.instanceType; this.interruptRateDesc = builder.interruptRateDesc; this.interruptionRate = builder.interruptionRate; } public static Builder builder() { return new Builder(); } public static AvailableSpotResource create() { return builder().build(); } /** * @return averageSpotDiscount */ public Integer getAverageSpotDiscount() { return this.averageSpotDiscount; } /** * @return instanceType */ public String getInstanceType() { return this.instanceType; } /** * @return interruptRateDesc */ public String getInterruptRateDesc() { return this.interruptRateDesc; } /** * @return interruptionRate */ public Float getInterruptionRate() { return this.interruptionRate; } public static final class Builder { private Integer averageSpotDiscount; private String instanceType; private String interruptRateDesc; private Float interruptionRate; /** *

The percentage of the average preemptible instance price relative to the pay-as-you-go instance price in the previous 30 days. Unit: %. Valid values: 1 to 100.

*

You can calculate the average preemptible instance price based on the return value. For example, if the pay-as-you-go instance price is 1 and the return value of this parameter is 20, the average preemptible instance price in the previous 30 days is 0.2.

* * example: *

20

*/ public Builder averageSpotDiscount(Integer averageSpotDiscount) { this.averageSpotDiscount = averageSpotDiscount; return this; } /** *

The instance type.

* * example: *

ecs.c5.large

*/ public Builder instanceType(String instanceType) { this.instanceType = instanceType; return this; } /** *

The release rate range of preemptible instances in the previous 30 days, which corresponds to the InterruptionRate value. Valid values:

*
    *
  • 0-3%
  • *
  • 3-5%
  • *
  • 5-10%
  • *
  • 10-100%
  • *
* * example: *

0-3%

*/ public Builder interruptRateDesc(String interruptRateDesc) { this.interruptRateDesc = interruptRateDesc; return this; } /** *

The average release rate of preemptible instances in the previous 30 days. Unit: %.

* * example: *

0

*/ public Builder interruptionRate(Float interruptionRate) { this.interruptionRate = interruptionRate; return this; } public AvailableSpotResource build() { return new AvailableSpotResource(this); } } } /** * * {@link DescribeSpotAdviceResponseBody} extends {@link TeaModel} * *

DescribeSpotAdviceResponseBody

*/ public static class AvailableSpotResources extends TeaModel { @com.aliyun.core.annotation.NameInMap("AvailableSpotResource") private java.util.List < AvailableSpotResource> availableSpotResource; private AvailableSpotResources(Builder builder) { this.availableSpotResource = builder.availableSpotResource; } public static Builder builder() { return new Builder(); } public static AvailableSpotResources create() { return builder().build(); } /** * @return availableSpotResource */ public java.util.List < AvailableSpotResource> getAvailableSpotResource() { return this.availableSpotResource; } public static final class Builder { private java.util.List < AvailableSpotResource> availableSpotResource; /** * AvailableSpotResource. */ public Builder availableSpotResource(java.util.List < AvailableSpotResource> availableSpotResource) { this.availableSpotResource = availableSpotResource; return this; } public AvailableSpotResources build() { return new AvailableSpotResources(this); } } } /** * * {@link DescribeSpotAdviceResponseBody} extends {@link TeaModel} * *

DescribeSpotAdviceResponseBody

*/ public static class AvailableSpotZone extends TeaModel { @com.aliyun.core.annotation.NameInMap("AvailableSpotResources") private AvailableSpotResources availableSpotResources; @com.aliyun.core.annotation.NameInMap("ZoneId") private String zoneId; private AvailableSpotZone(Builder builder) { this.availableSpotResources = builder.availableSpotResources; this.zoneId = builder.zoneId; } public static Builder builder() { return new Builder(); } public static AvailableSpotZone create() { return builder().build(); } /** * @return availableSpotResources */ public AvailableSpotResources getAvailableSpotResources() { return this.availableSpotResources; } /** * @return zoneId */ public String getZoneId() { return this.zoneId; } public static final class Builder { private AvailableSpotResources availableSpotResources; private String zoneId; /** *

Details about preemptible instances in the previous 30 days, including the release rate of preemptible instances and percentages of average preemptible instance prices relative to pay-as-you-go instance prices.

*/ public Builder availableSpotResources(AvailableSpotResources availableSpotResources) { this.availableSpotResources = availableSpotResources; return this; } /** *

The zone ID.

* * example: *

cn-hangzhou-i

*/ public Builder zoneId(String zoneId) { this.zoneId = zoneId; return this; } public AvailableSpotZone build() { return new AvailableSpotZone(this); } } } /** * * {@link DescribeSpotAdviceResponseBody} extends {@link TeaModel} * *

DescribeSpotAdviceResponseBody

*/ public static class AvailableSpotZones extends TeaModel { @com.aliyun.core.annotation.NameInMap("AvailableSpotZone") private java.util.List < AvailableSpotZone> availableSpotZone; private AvailableSpotZones(Builder builder) { this.availableSpotZone = builder.availableSpotZone; } public static Builder builder() { return new Builder(); } public static AvailableSpotZones create() { return builder().build(); } /** * @return availableSpotZone */ public java.util.List < AvailableSpotZone> getAvailableSpotZone() { return this.availableSpotZone; } public static final class Builder { private java.util.List < AvailableSpotZone> availableSpotZone; /** * AvailableSpotZone. */ public Builder availableSpotZone(java.util.List < AvailableSpotZone> availableSpotZone) { this.availableSpotZone = availableSpotZone; return this; } public AvailableSpotZones build() { return new AvailableSpotZones(this); } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy