com.aliyun.sdk.service.ess20220222.models.DescribeLifecycleHooksResponseBody Maven / Gradle / Ivy
Show all versions of alibabacloud-ess20220222 Show documentation
// 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 DescribeLifecycleHooksResponseBody} extends {@link TeaModel}
*
* DescribeLifecycleHooksResponseBody
*/
public class DescribeLifecycleHooksResponseBody extends TeaModel {
@com.aliyun.core.annotation.NameInMap("LifecycleHooks")
private java.util.List < LifecycleHooks> lifecycleHooks;
@com.aliyun.core.annotation.NameInMap("PageNumber")
private Integer pageNumber;
@com.aliyun.core.annotation.NameInMap("PageSize")
private Integer pageSize;
@com.aliyun.core.annotation.NameInMap("RequestId")
private String requestId;
@com.aliyun.core.annotation.NameInMap("TotalCount")
private Integer totalCount;
private DescribeLifecycleHooksResponseBody(Builder builder) {
this.lifecycleHooks = builder.lifecycleHooks;
this.pageNumber = builder.pageNumber;
this.pageSize = builder.pageSize;
this.requestId = builder.requestId;
this.totalCount = builder.totalCount;
}
public static Builder builder() {
return new Builder();
}
public static DescribeLifecycleHooksResponseBody create() {
return builder().build();
}
/**
* @return lifecycleHooks
*/
public java.util.List < LifecycleHooks> getLifecycleHooks() {
return this.lifecycleHooks;
}
/**
* @return pageNumber
*/
public Integer getPageNumber() {
return this.pageNumber;
}
/**
* @return pageSize
*/
public Integer getPageSize() {
return this.pageSize;
}
/**
* @return requestId
*/
public String getRequestId() {
return this.requestId;
}
/**
* @return totalCount
*/
public Integer getTotalCount() {
return this.totalCount;
}
public static final class Builder {
private java.util.List < LifecycleHooks> lifecycleHooks;
private Integer pageNumber;
private Integer pageSize;
private String requestId;
private Integer totalCount;
/**
* The details of the lifecycle hooks.
*/
public Builder lifecycleHooks(java.util.List < LifecycleHooks> lifecycleHooks) {
this.lifecycleHooks = lifecycleHooks;
return this;
}
/**
* The page number of the returned page.
*
* example:
* 1
*/
public Builder pageNumber(Integer pageNumber) {
this.pageNumber = pageNumber;
return this;
}
/**
* The number of entries returned per page.
*
* example:
* 50
*/
public Builder pageSize(Integer pageSize) {
this.pageSize = pageSize;
return this;
}
/**
* The ID of the request.
*
* example:
* 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
*/
public Builder requestId(String requestId) {
this.requestId = requestId;
return this;
}
/**
* The total number of lifecycle hooks.
*
* example:
* 1
*/
public Builder totalCount(Integer totalCount) {
this.totalCount = totalCount;
return this;
}
public DescribeLifecycleHooksResponseBody build() {
return new DescribeLifecycleHooksResponseBody(this);
}
}
/**
*
* {@link DescribeLifecycleHooksResponseBody} extends {@link TeaModel}
*
* DescribeLifecycleHooksResponseBody
*/
public static class LifecycleHooks extends TeaModel {
@com.aliyun.core.annotation.NameInMap("DefaultResult")
private String defaultResult;
@com.aliyun.core.annotation.NameInMap("HeartbeatTimeout")
private Integer heartbeatTimeout;
@com.aliyun.core.annotation.NameInMap("LifecycleHookId")
private String lifecycleHookId;
@com.aliyun.core.annotation.NameInMap("LifecycleHookName")
private String lifecycleHookName;
@com.aliyun.core.annotation.NameInMap("LifecycleHookStatus")
private String lifecycleHookStatus;
@com.aliyun.core.annotation.NameInMap("LifecycleTransition")
private String lifecycleTransition;
@com.aliyun.core.annotation.NameInMap("NotificationArn")
private String notificationArn;
@com.aliyun.core.annotation.NameInMap("NotificationMetadata")
private String notificationMetadata;
@com.aliyun.core.annotation.NameInMap("ScalingGroupId")
private String scalingGroupId;
private LifecycleHooks(Builder builder) {
this.defaultResult = builder.defaultResult;
this.heartbeatTimeout = builder.heartbeatTimeout;
this.lifecycleHookId = builder.lifecycleHookId;
this.lifecycleHookName = builder.lifecycleHookName;
this.lifecycleHookStatus = builder.lifecycleHookStatus;
this.lifecycleTransition = builder.lifecycleTransition;
this.notificationArn = builder.notificationArn;
this.notificationMetadata = builder.notificationMetadata;
this.scalingGroupId = builder.scalingGroupId;
}
public static Builder builder() {
return new Builder();
}
public static LifecycleHooks create() {
return builder().build();
}
/**
* @return defaultResult
*/
public String getDefaultResult() {
return this.defaultResult;
}
/**
* @return heartbeatTimeout
*/
public Integer getHeartbeatTimeout() {
return this.heartbeatTimeout;
}
/**
* @return lifecycleHookId
*/
public String getLifecycleHookId() {
return this.lifecycleHookId;
}
/**
* @return lifecycleHookName
*/
public String getLifecycleHookName() {
return this.lifecycleHookName;
}
/**
* @return lifecycleHookStatus
*/
public String getLifecycleHookStatus() {
return this.lifecycleHookStatus;
}
/**
* @return lifecycleTransition
*/
public String getLifecycleTransition() {
return this.lifecycleTransition;
}
/**
* @return notificationArn
*/
public String getNotificationArn() {
return this.notificationArn;
}
/**
* @return notificationMetadata
*/
public String getNotificationMetadata() {
return this.notificationMetadata;
}
/**
* @return scalingGroupId
*/
public String getScalingGroupId() {
return this.scalingGroupId;
}
public static final class Builder {
private String defaultResult;
private Integer heartbeatTimeout;
private String lifecycleHookId;
private String lifecycleHookName;
private String lifecycleHookStatus;
private String lifecycleTransition;
private String notificationArn;
private String notificationMetadata;
private String scalingGroupId;
/**
* The next action that is performed after the lifecycle hook times out.
*
* example:
* CONTINUE
*/
public Builder defaultResult(String defaultResult) {
this.defaultResult = defaultResult;
return this;
}
/**
* The period of time before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action that is specified by DefaultResult.
*
* example:
* 60
*/
public Builder heartbeatTimeout(Integer heartbeatTimeout) {
this.heartbeatTimeout = heartbeatTimeout;
return this;
}
/**
* The ID of the lifecycle hook.
*
* example:
* ash-bp19d1032y9kij96****
*/
public Builder lifecycleHookId(String lifecycleHookId) {
this.lifecycleHookId = lifecycleHookId;
return this;
}
/**
* The name of the lifecycle hook.
*
* example:
* lifecyclehook****
*/
public Builder lifecycleHookName(String lifecycleHookName) {
this.lifecycleHookName = lifecycleHookName;
return this;
}
/**
* The status of the lifecycle hook. Valid values:
*
* - Active: The lifecycle hook is enabled.
* - InActive: The lifecycle hook is disabled.
*
*
* example:
* Active
*/
public Builder lifecycleHookStatus(String lifecycleHookStatus) {
this.lifecycleHookStatus = lifecycleHookStatus;
return this;
}
/**
* The type of the scaling activity to which the lifecycle hook applies.
*
* example:
* SCALE_OUT
*/
public Builder lifecycleTransition(String lifecycleTransition) {
this.lifecycleTransition = lifecycleTransition;
return this;
}
/**
* The ARN of the notification recipient when the lifecycle hook takes effect. The value of this parameter is in one of the following formats:
*
* - If you did not specify this parameter, the return value is in the
acs:ess:{region-id}:{account-id}:null/null
format.
* - If you specified a Message Service (MNS) queue as the notification recipient, the return value is in the
acs:mns:{region-id}:{account-id}:queue/{queuename}
format.
* - If you specified an MNS topic as the notification recipient, the return value is in the
acs:mns:{region-id}:{account-id}:topic/{topicname}
format.
* - If you specified a CloudOps Orchestration Service (OOS) template as the notification recipient, the return value is in the
acs:oos:{region-id}:{account-id}:template/{templatename}
format.
* - If you specified an event bus as the notification recipient, the return value is in the
acs:eventbridge:{region-id}:{account-id}:eventbus/default
format.
*
* The variables in the preceding formats have the following meanings:
*
* - region-id: the region ID of your scaling group.
* - account-id: the ID of your Alibaba Cloud.
* - queuename: the name of the MNS queue.
* - topicname: the name of the MNS topic.
* - templatename: the name of the OOS template.
*
*
* example:
* acs:ess:cn-beijing:161456884340****:null/null
*/
public Builder notificationArn(String notificationArn) {
this.notificationArn = notificationArn;
return this;
}
/**
* The fixed string that is included in a notification that Auto Scaling sends when the lifecycle hook takes effect.
*
* example:
* Test Lifecycle Hook.
*/
public Builder notificationMetadata(String notificationMetadata) {
this.notificationMetadata = notificationMetadata;
return this;
}
/**
* The ID of the scaling group.
*
* example:
* asg-bp1igpak5ft1flyp****
*/
public Builder scalingGroupId(String scalingGroupId) {
this.scalingGroupId = scalingGroupId;
return this;
}
public LifecycleHooks build() {
return new LifecycleHooks(this);
}
}
}
}