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

com.aliyun.sdk.service.ess20220222.models.DescribeScalingInstancesRequest Maven / Gradle / Ivy

The newest version!
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ess20220222.models;

import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;

/**
 * 
 * {@link DescribeScalingInstancesRequest} extends {@link RequestModel}
 *
 * 

DescribeScalingInstancesRequest

*/ public class DescribeScalingInstancesRequest extends Request { @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("CreationType") private String creationType; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("CreationTypes") private java.util.List < String > creationTypes; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("HealthStatus") private String healthStatus; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("InstanceIds") private java.util.List < String > instanceIds; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("LifecycleState") private String lifecycleState; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("LifecycleStates") private java.util.List < String > lifecycleStates; @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("PageNumber") private Integer pageNumber; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("PageSize") @com.aliyun.core.annotation.Validation(maximum = 100) private Integer pageSize; @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("ScalingActivityId") private String scalingActivityId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ScalingConfigurationId") private String scalingConfigurationId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ScalingGroupId") private String scalingGroupId; private DescribeScalingInstancesRequest(Builder builder) { super(builder); this.creationType = builder.creationType; this.creationTypes = builder.creationTypes; this.healthStatus = builder.healthStatus; this.instanceIds = builder.instanceIds; this.lifecycleState = builder.lifecycleState; this.lifecycleStates = builder.lifecycleStates; this.ownerAccount = builder.ownerAccount; this.ownerId = builder.ownerId; this.pageNumber = builder.pageNumber; this.pageSize = builder.pageSize; this.regionId = builder.regionId; this.resourceOwnerAccount = builder.resourceOwnerAccount; this.resourceOwnerId = builder.resourceOwnerId; this.scalingActivityId = builder.scalingActivityId; this.scalingConfigurationId = builder.scalingConfigurationId; this.scalingGroupId = builder.scalingGroupId; } public static Builder builder() { return new Builder(); } public static DescribeScalingInstancesRequest create() { return builder().build(); } @Override public Builder toBuilder() { return new Builder(this); } /** * @return creationType */ public String getCreationType() { return this.creationType; } /** * @return creationTypes */ public java.util.List < String > getCreationTypes() { return this.creationTypes; } /** * @return healthStatus */ public String getHealthStatus() { return this.healthStatus; } /** * @return instanceIds */ public java.util.List < String > getInstanceIds() { return this.instanceIds; } /** * @return lifecycleState */ public String getLifecycleState() { return this.lifecycleState; } /** * @return lifecycleStates */ public java.util.List < String > getLifecycleStates() { return this.lifecycleStates; } /** * @return ownerAccount */ public String getOwnerAccount() { return this.ownerAccount; } /** * @return ownerId */ public Long getOwnerId() { return this.ownerId; } /** * @return pageNumber */ public Integer getPageNumber() { return this.pageNumber; } /** * @return pageSize */ public Integer getPageSize() { return this.pageSize; } /** * @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 scalingActivityId */ public String getScalingActivityId() { return this.scalingActivityId; } /** * @return scalingConfigurationId */ public String getScalingConfigurationId() { return this.scalingConfigurationId; } /** * @return scalingGroupId */ public String getScalingGroupId() { return this.scalingGroupId; } public static final class Builder extends Request.Builder { private String creationType; private java.util.List < String > creationTypes; private String healthStatus; private java.util.List < String > instanceIds; private String lifecycleState; private java.util.List < String > lifecycleStates; private String ownerAccount; private Long ownerId; private Integer pageNumber; private Integer pageSize; private String regionId; private String resourceOwnerAccount; private Long resourceOwnerId; private String scalingActivityId; private String scalingConfigurationId; private String scalingGroupId; private Builder() { super(); } private Builder(DescribeScalingInstancesRequest request) { super(request); this.creationType = request.creationType; this.creationTypes = request.creationTypes; this.healthStatus = request.healthStatus; this.instanceIds = request.instanceIds; this.lifecycleState = request.lifecycleState; this.lifecycleStates = request.lifecycleStates; this.ownerAccount = request.ownerAccount; this.ownerId = request.ownerId; this.pageNumber = request.pageNumber; this.pageSize = request.pageSize; this.regionId = request.regionId; this.resourceOwnerAccount = request.resourceOwnerAccount; this.resourceOwnerId = request.resourceOwnerId; this.scalingActivityId = request.scalingActivityId; this.scalingConfigurationId = request.scalingConfigurationId; this.scalingGroupId = request.scalingGroupId; } /** *

The instance creation method. Valid values:

*
    *
  • AutoCreated: The ECS instances are created by Auto Scaling based on the instance configuration source.
  • *
  • Attached: The ECS instances are manually added to the scaling group.
  • *
  • Managed: The Alibaba Cloud-managed third-party instances are manually added to the scaling group.
  • *
* * example: *

AutoCreated

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

The instance creation methods. If you specify this parameter, you cannot specify CreationType.

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

The health status of the ECS instance in the scaling group. If an ECS instance is not in the Running state, the instance is considered unhealthy. Valid values:

*
    *
  • Healthy
  • *
  • Unhealthy
  • *
*

Auto Scaling automatically removes unhealthy ECS instances from the scaling group and then releases the automatically created instances among the unhealthy instances.

*

Unhealthy ECS instances that are manually added to the scaling group are released based on the management mode of the lifecycles of the instances. If the lifecycles of the ECS instances are not managed by the scaling group, Auto Scaling removes the instances from the scaling group but does not release the instances. If the lifecycles of the ECS instances are managed by the scaling group, Auto Scaling removes the instances from the scaling group and releases the instances.

*
*

Make sure that you have sufficient balance within your Alibaba Cloud account. If your Alibaba Cloud account has an overdue payment, all pay-as-you-go ECS instances, including preemptible instances, may be stopped or even released. For information about how the status of ECS instances changes when you have an overdue payment in your Alibaba Cloud account, see Overdue payments.

*
* * example: *

Healthy

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

The IDs of the ECS instances.

*

The IDs of inactive instances are not displayed in the query result, and no errors are returned.

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

The lifecycle status of the ECS instance in the scaling group. Valid values:

*
    *
  • InService: The ECS instance is added to the scaling group and provides services as expected.
  • *
  • Pending: The ECS instance is being added to the scaling group. When an ECS instance is being added to the scaling group, Auto Scaling also adds the instance to the backend server groups of the attached load balancers and adds the private IP address of the instance to the IP address whitelists of the attached ApsaraDB RDS instances.
  • *
  • Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a scale-out lifecycle hook is in effect, the ECS instance remains in the Pending:Wait state until the timeout period for the lifecycle hook expires.
  • *
  • Protected: The ECS instance is protected. Protected ECS instances can continue to provide services as expected, but Auto Scaling does not manage the lifecycles of the ECS instances. You must manually manage the lifecycles of the ECS instances.
  • *
  • Standby: The ECS instance is on standby. Standby ECS instances do not provide services as expected, and the weights of the ECS instances as backend servers are reset to zero. Auto Scaling does not manage the lifecycles of the ECS instances. Therefore, you must manually manage the lifecycles of the ECS instances.
  • *
  • Stopped: The ECS instance is stopped. Stopped ECS instances no longer provide services.
  • *
  • Removing: The ECS instance is being removed from the scaling group. When an ECS instance is being removed from the scaling group, Auto Scaling also removes the instance from the backend server groups of the attached load balancers and removes the private IP address of the instance from the IP address whitelists of the attached ApsaraDB RDS instances.
  • *
  • Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a scale-in lifecycle hook is in effect, the ECS instance remains in the Removing:Wait state until the timeout period for the lifecycle hook expires.
  • *
* * example: *

InService

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

The lifecycle status of the ECS instances in the scaling group. You can specify only one of LifecycleStates and LifecycleState at a time. We recommend that you specify this parameter.

*/ public Builder lifecycleStates(java.util.List < String > lifecycleStates) { this.putQueryParameter("LifecycleStates", lifecycleStates); this.lifecycleStates = lifecycleStates; 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 page number. Pages start from page 1.

*

Default value: 1.

* * example: *

1

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

The number of entries per page. Maximum value: 100.

*

Default value: 10.

* * example: *

10

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

The region ID of the scaling group.

*

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 ID of the scaling activity.

* * example: *

asa-bp1c9djwrgxjyk31****

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

The ID of the scaling configuration.

* * example: *

asc-bp1i65jd06v04vdh****

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

The ID of the scaling group.

* * example: *

asg-bp1igpak5ft1flyp****

*/ public Builder scalingGroupId(String scalingGroupId) { this.putQueryParameter("ScalingGroupId", scalingGroupId); this.scalingGroupId = scalingGroupId; return this; } @Override public DescribeScalingInstancesRequest build() { return new DescribeScalingInstancesRequest(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy