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

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

CreateElasticityAssuranceRequest

*/ public class CreateElasticityAssuranceRequest extends Request { @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("PrivatePoolOptions") private PrivatePoolOptions privatePoolOptions; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("AssuranceTimes") private String assuranceTimes; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ClientToken") private String clientToken; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Description") private String description; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("InstanceAmount") private Integer instanceAmount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("InstanceCpuCoreCount") private Integer instanceCpuCoreCount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("InstanceType") @com.aliyun.core.annotation.Validation(required = true) private java.util.List < 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("Period") private Integer period; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("PeriodUnit") private String periodUnit; @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("ResourceGroupId") private String resourceGroupId; @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("StartTime") private String startTime; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Tag") private java.util.List < Tag> tag; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ZoneId") @com.aliyun.core.annotation.Validation(required = true) private java.util.List < String > zoneId; private CreateElasticityAssuranceRequest(Builder builder) { super(builder); this.privatePoolOptions = builder.privatePoolOptions; this.assuranceTimes = builder.assuranceTimes; this.clientToken = builder.clientToken; this.description = builder.description; this.instanceAmount = builder.instanceAmount; this.instanceCpuCoreCount = builder.instanceCpuCoreCount; this.instanceType = builder.instanceType; this.ownerAccount = builder.ownerAccount; this.ownerId = builder.ownerId; this.period = builder.period; this.periodUnit = builder.periodUnit; this.regionId = builder.regionId; this.resourceGroupId = builder.resourceGroupId; this.resourceOwnerAccount = builder.resourceOwnerAccount; this.resourceOwnerId = builder.resourceOwnerId; this.startTime = builder.startTime; this.tag = builder.tag; this.zoneId = builder.zoneId; } public static Builder builder() { return new Builder(); } public static CreateElasticityAssuranceRequest create() { return builder().build(); } @Override public Builder toBuilder() { return new Builder(this); } /** * @return privatePoolOptions */ public PrivatePoolOptions getPrivatePoolOptions() { return this.privatePoolOptions; } /** * @return assuranceTimes */ public String getAssuranceTimes() { return this.assuranceTimes; } /** * @return clientToken */ public String getClientToken() { return this.clientToken; } /** * @return description */ public String getDescription() { return this.description; } /** * @return instanceAmount */ public Integer getInstanceAmount() { return this.instanceAmount; } /** * @return instanceCpuCoreCount */ public Integer getInstanceCpuCoreCount() { return this.instanceCpuCoreCount; } /** * @return instanceType */ public java.util.List < String > getInstanceType() { return this.instanceType; } /** * @return ownerAccount */ public String getOwnerAccount() { return this.ownerAccount; } /** * @return ownerId */ public Long getOwnerId() { return this.ownerId; } /** * @return period */ public Integer getPeriod() { return this.period; } /** * @return periodUnit */ public String getPeriodUnit() { return this.periodUnit; } /** * @return regionId */ public String getRegionId() { return this.regionId; } /** * @return resourceGroupId */ public String getResourceGroupId() { return this.resourceGroupId; } /** * @return resourceOwnerAccount */ public String getResourceOwnerAccount() { return this.resourceOwnerAccount; } /** * @return resourceOwnerId */ public Long getResourceOwnerId() { return this.resourceOwnerId; } /** * @return startTime */ public String getStartTime() { return this.startTime; } /** * @return tag */ public java.util.List < Tag> getTag() { return this.tag; } /** * @return zoneId */ public java.util.List < String > getZoneId() { return this.zoneId; } public static final class Builder extends Request.Builder { private PrivatePoolOptions privatePoolOptions; private String assuranceTimes; private String clientToken; private String description; private Integer instanceAmount; private Integer instanceCpuCoreCount; private java.util.List < String > instanceType; private String ownerAccount; private Long ownerId; private Integer period; private String periodUnit; private String regionId; private String resourceGroupId; private String resourceOwnerAccount; private Long resourceOwnerId; private String startTime; private java.util.List < Tag> tag; private java.util.List < String > zoneId; private Builder() { super(); } private Builder(CreateElasticityAssuranceRequest request) { super(request); this.privatePoolOptions = request.privatePoolOptions; this.assuranceTimes = request.assuranceTimes; this.clientToken = request.clientToken; this.description = request.description; this.instanceAmount = request.instanceAmount; this.instanceCpuCoreCount = request.instanceCpuCoreCount; this.instanceType = request.instanceType; this.ownerAccount = request.ownerAccount; this.ownerId = request.ownerId; this.period = request.period; this.periodUnit = request.periodUnit; this.regionId = request.regionId; this.resourceGroupId = request.resourceGroupId; this.resourceOwnerAccount = request.resourceOwnerAccount; this.resourceOwnerId = request.resourceOwnerId; this.startTime = request.startTime; this.tag = request.tag; this.zoneId = request.zoneId; } /** * PrivatePoolOptions. */ public Builder privatePoolOptions(PrivatePoolOptions privatePoolOptions) { this.putQueryParameter("PrivatePoolOptions", privatePoolOptions); this.privatePoolOptions = privatePoolOptions; return this; } /** *

The total number of times that the elasticity assurance can be applied. Set the value to Unlimited. This value indicates that the elasticity assurance can be applied an unlimited number of times within its effective duration.

*

Default value: Unlimited.

* * example: *

Unlimited

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

The client token that you want to use to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence.

* * example: *

0c593ea1-3bea-11e9-b96b-88e9fe637760

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

The description of the elasticity assurance. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.

*

This parameter is empty by default.

* * example: *

This is description.

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

The total number of instances for which to reserve capacity of an instance type.

*

Valid values: 1 to 1000.

* * example: *

2

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

This parameter is no longer used.

*
* * example: *

null

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

The instance type. An elasticity assurance can be created to reserve the capacity of a single instance type.

*

This parameter is required.

* * example: *

ecs.c6.xlarge

*/ public Builder instanceType(java.util.List < 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 term of the elasticity assurance. The unit of the term is determined by the PeriodUnit value. Valid values:

*
    *
  • When PeriodUnit is set to Month, the valid values are 1, 2, 3, 4, 5, 6, 7, 8, and 9.
  • *
  • When PeriodUnit is set to Year, the valid values are 1, 2, 3, 4, and 5.
  • *
*

Default value: 1.

* * example: *

1

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

The unit of the term of the elasticity assurance. Valid values:

*
    *
  • Month
  • *
  • Year
  • *
*

Default value: Year.

* * example: *

Year

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

The ID of the region in which to create the elasticity assurance. 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; } /** *

The ID of the resource group to which to assign the elasticity assurance.

* * example: *

rg-bp67acfmxazb4p****

*/ public Builder resourceGroupId(String resourceGroupId) { this.putQueryParameter("ResourceGroupId", resourceGroupId); this.resourceGroupId = resourceGroupId; 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 time when the elasticity assurance takes effect. The default value is the time when the CreateElasticityAssurance operation is called to create the elasticity assurance. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. For more information, see ISO 8601.

* * example: *

2020-10-30T06:32:00Z

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

The tags to add to the elasticity assurance.

*/ public Builder tag(java.util.List < Tag> tag) { this.putQueryParameter("Tag", tag); this.tag = tag; return this; } /** *

The ID of the zone in which to create the elasticity assurance. An elasticity assurance can be used to reserve resources within a single zone.

*

This parameter is required.

* * example: *

cn-hangzhou-h

*/ public Builder zoneId(java.util.List < String > zoneId) { this.putQueryParameter("ZoneId", zoneId); this.zoneId = zoneId; return this; } @Override public CreateElasticityAssuranceRequest build() { return new CreateElasticityAssuranceRequest(this); } } /** * * {@link CreateElasticityAssuranceRequest} extends {@link TeaModel} * *

CreateElasticityAssuranceRequest

*/ public static class PrivatePoolOptions extends TeaModel { @com.aliyun.core.annotation.NameInMap("MatchCriteria") private String matchCriteria; @com.aliyun.core.annotation.NameInMap("Name") private String name; private PrivatePoolOptions(Builder builder) { this.matchCriteria = builder.matchCriteria; this.name = builder.name; } public static Builder builder() { return new Builder(); } public static PrivatePoolOptions create() { return builder().build(); } /** * @return matchCriteria */ public String getMatchCriteria() { return this.matchCriteria; } /** * @return name */ public String getName() { return this.name; } public static final class Builder { private String matchCriteria; private String name; /** *

The type of the private pool with which you want to associate the elasticity assurance. Valid values:

*
    *
  • Open: open private pool.
  • *
  • Target: specified private pool.
  • *
*

Default value: Open.

* * example: *

Open

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

The name of the elasticity assurance. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-).

* * example: *

eapTestName

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

CreateElasticityAssuranceRequest

*/ public static class Tag extends TeaModel { @com.aliyun.core.annotation.NameInMap("Key") private String key; @com.aliyun.core.annotation.NameInMap("Value") private String value; private Tag(Builder builder) { this.key = builder.key; this.value = builder.value; } public static Builder builder() { return new Builder(); } public static Tag create() { return builder().build(); } /** * @return key */ public String getKey() { return this.key; } /** * @return value */ public String getValue() { return this.value; } public static final class Builder { private String key; private String value; /** *

The key of tag N to add to the elasticity assurance. Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot contain http:// or https://. The tag key cannot start with acs: or aliyun.

* * example: *

TestKey

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

The value of tag N to add to the elasticity assurance. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with acs:. The tag value cannot contain http:// or https://.

* * example: *

TestValue

*/ public Builder value(String value) { this.value = value; return this; } public Tag build() { return new Tag(this); } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy