com.aliyun.sdk.service.ess20220222.models.ModifyNotificationConfigurationRequest 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 ModifyNotificationConfigurationRequest} extends {@link RequestModel}
*
* ModifyNotificationConfigurationRequest
*/
public class ModifyNotificationConfigurationRequest extends Request {
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("NotificationArn")
@com.aliyun.core.annotation.Validation(required = true)
private String notificationArn;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("NotificationTypes")
@com.aliyun.core.annotation.Validation(required = true)
private java.util.List < String > notificationTypes;
@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")
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("ScalingGroupId")
@com.aliyun.core.annotation.Validation(required = true)
private String scalingGroupId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("TimeZone")
private String timeZone;
private ModifyNotificationConfigurationRequest(Builder builder) {
super(builder);
this.notificationArn = builder.notificationArn;
this.notificationTypes = builder.notificationTypes;
this.ownerId = builder.ownerId;
this.regionId = builder.regionId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.scalingGroupId = builder.scalingGroupId;
this.timeZone = builder.timeZone;
}
public static Builder builder() {
return new Builder();
}
public static ModifyNotificationConfigurationRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return notificationArn
*/
public String getNotificationArn() {
return this.notificationArn;
}
/**
* @return notificationTypes
*/
public java.util.List < String > getNotificationTypes() {
return this.notificationTypes;
}
/**
* @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 scalingGroupId
*/
public String getScalingGroupId() {
return this.scalingGroupId;
}
/**
* @return timeZone
*/
public String getTimeZone() {
return this.timeZone;
}
public static final class Builder extends Request.Builder {
private String notificationArn;
private java.util.List < String > notificationTypes;
private Long ownerId;
private String regionId;
private String resourceOwnerAccount;
private String scalingGroupId;
private String timeZone;
private Builder() {
super();
}
private Builder(ModifyNotificationConfigurationRequest request) {
super(request);
this.notificationArn = request.notificationArn;
this.notificationTypes = request.notificationTypes;
this.ownerId = request.ownerId;
this.regionId = request.regionId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.scalingGroupId = request.scalingGroupId;
this.timeZone = request.timeZone;
}
/**
* The Alibaba Cloud Resource Name (ARN) of the notification method. The following list describes the value formats of this parameter:
*
*
* * If you use CloudMonitor as the notification method, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.
* * If you use an MNS queue as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.
* * If you use an MNS topic as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` 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.
*/
public Builder notificationArn(String notificationArn) {
this.putQueryParameter("NotificationArn", notificationArn);
this.notificationArn = notificationArn;
return this;
}
/**
* The event types.
*/
public Builder notificationTypes(java.util.List < String > notificationTypes) {
this.putQueryParameter("NotificationTypes", notificationTypes);
this.notificationTypes = notificationTypes;
return this;
}
/**
* OwnerId.
*/
public Builder ownerId(Long ownerId) {
this.putQueryParameter("OwnerId", ownerId);
this.ownerId = ownerId;
return this;
}
/**
* The region ID of the scaling group.
*/
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;
}
/**
* The ID of the scaling group.
*/
public Builder scalingGroupId(String scalingGroupId) {
this.putQueryParameter("ScalingGroupId", scalingGroupId);
this.scalingGroupId = scalingGroupId;
return this;
}
/**
* TimeZone.
*/
public Builder timeZone(String timeZone) {
this.putQueryParameter("TimeZone", timeZone);
this.timeZone = timeZone;
return this;
}
@Override
public ModifyNotificationConfigurationRequest build() {
return new ModifyNotificationConfigurationRequest(this);
}
}
}