com.pulumi.alicloud.ess.NotificationArgs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alicloud Show documentation
Show all versions of alicloud Show documentation
A Pulumi package for creating and managing AliCloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.alicloud.ess;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
public final class NotificationArgs extends com.pulumi.resources.ResourceArgs {
public static final NotificationArgs Empty = new NotificationArgs();
/**
* The Alibaba Cloud Resource Name (ARN) of the notification object, The value must be in `acs:ess:{region}:{account-id}:{resource-relative-id}` format.
* * region: the region ID of the scaling group. For more information, see `Regions and zones`
* * account-id: the ID of your account.
* * resource-relative-id: the notification method. Valid values : `cloudmonitor`, MNS queue: `queue/{queuename}`, Replace the queuename with the specific MNS queue name, MNS topic: `topic/{topicname}`, Replace the topicname with the specific MNS topic name.
*
*/
@Import(name="notificationArn", required=true)
private Output notificationArn;
/**
* @return The Alibaba Cloud Resource Name (ARN) of the notification object, The value must be in `acs:ess:{region}:{account-id}:{resource-relative-id}` format.
* * region: the region ID of the scaling group. For more information, see `Regions and zones`
* * account-id: the ID of your account.
* * resource-relative-id: the notification method. Valid values : `cloudmonitor`, MNS queue: `queue/{queuename}`, Replace the queuename with the specific MNS queue name, MNS topic: `topic/{topicname}`, Replace the topicname with the specific MNS topic name.
*
*/
public Output notificationArn() {
return this.notificationArn;
}
/**
* The notification types of Auto Scaling events and resource changes. Supported notification types: 'AUTOSCALING:SCALE_OUT_SUCCESS', 'AUTOSCALING:SCALE_IN_SUCCESS', 'AUTOSCALING:SCALE_OUT_ERROR', 'AUTOSCALING:SCALE_IN_ERROR', 'AUTOSCALING:SCALE_REJECT', 'AUTOSCALING:SCALE_OUT_START', 'AUTOSCALING:SCALE_IN_START', 'AUTOSCALING:SCHEDULE_TASK_EXPIRING'.
*
*/
@Import(name="notificationTypes", required=true)
private Output> notificationTypes;
/**
* @return The notification types of Auto Scaling events and resource changes. Supported notification types: 'AUTOSCALING:SCALE_OUT_SUCCESS', 'AUTOSCALING:SCALE_IN_SUCCESS', 'AUTOSCALING:SCALE_OUT_ERROR', 'AUTOSCALING:SCALE_IN_ERROR', 'AUTOSCALING:SCALE_REJECT', 'AUTOSCALING:SCALE_OUT_START', 'AUTOSCALING:SCALE_IN_START', 'AUTOSCALING:SCHEDULE_TASK_EXPIRING'.
*
*/
public Output> notificationTypes() {
return this.notificationTypes;
}
/**
* The ID of the Auto Scaling group.
*
*/
@Import(name="scalingGroupId", required=true)
private Output scalingGroupId;
/**
* @return The ID of the Auto Scaling group.
*
*/
public Output scalingGroupId() {
return this.scalingGroupId;
}
private NotificationArgs() {}
private NotificationArgs(NotificationArgs $) {
this.notificationArn = $.notificationArn;
this.notificationTypes = $.notificationTypes;
this.scalingGroupId = $.scalingGroupId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(NotificationArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private NotificationArgs $;
public Builder() {
$ = new NotificationArgs();
}
public Builder(NotificationArgs defaults) {
$ = new NotificationArgs(Objects.requireNonNull(defaults));
}
/**
* @param notificationArn The Alibaba Cloud Resource Name (ARN) of the notification object, The value must be in `acs:ess:{region}:{account-id}:{resource-relative-id}` format.
* * region: the region ID of the scaling group. For more information, see `Regions and zones`
* * account-id: the ID of your account.
* * resource-relative-id: the notification method. Valid values : `cloudmonitor`, MNS queue: `queue/{queuename}`, Replace the queuename with the specific MNS queue name, MNS topic: `topic/{topicname}`, Replace the topicname with the specific MNS topic name.
*
* @return builder
*
*/
public Builder notificationArn(Output notificationArn) {
$.notificationArn = notificationArn;
return this;
}
/**
* @param notificationArn The Alibaba Cloud Resource Name (ARN) of the notification object, The value must be in `acs:ess:{region}:{account-id}:{resource-relative-id}` format.
* * region: the region ID of the scaling group. For more information, see `Regions and zones`
* * account-id: the ID of your account.
* * resource-relative-id: the notification method. Valid values : `cloudmonitor`, MNS queue: `queue/{queuename}`, Replace the queuename with the specific MNS queue name, MNS topic: `topic/{topicname}`, Replace the topicname with the specific MNS topic name.
*
* @return builder
*
*/
public Builder notificationArn(String notificationArn) {
return notificationArn(Output.of(notificationArn));
}
/**
* @param notificationTypes The notification types of Auto Scaling events and resource changes. Supported notification types: 'AUTOSCALING:SCALE_OUT_SUCCESS', 'AUTOSCALING:SCALE_IN_SUCCESS', 'AUTOSCALING:SCALE_OUT_ERROR', 'AUTOSCALING:SCALE_IN_ERROR', 'AUTOSCALING:SCALE_REJECT', 'AUTOSCALING:SCALE_OUT_START', 'AUTOSCALING:SCALE_IN_START', 'AUTOSCALING:SCHEDULE_TASK_EXPIRING'.
*
* @return builder
*
*/
public Builder notificationTypes(Output> notificationTypes) {
$.notificationTypes = notificationTypes;
return this;
}
/**
* @param notificationTypes The notification types of Auto Scaling events and resource changes. Supported notification types: 'AUTOSCALING:SCALE_OUT_SUCCESS', 'AUTOSCALING:SCALE_IN_SUCCESS', 'AUTOSCALING:SCALE_OUT_ERROR', 'AUTOSCALING:SCALE_IN_ERROR', 'AUTOSCALING:SCALE_REJECT', 'AUTOSCALING:SCALE_OUT_START', 'AUTOSCALING:SCALE_IN_START', 'AUTOSCALING:SCHEDULE_TASK_EXPIRING'.
*
* @return builder
*
*/
public Builder notificationTypes(List notificationTypes) {
return notificationTypes(Output.of(notificationTypes));
}
/**
* @param notificationTypes The notification types of Auto Scaling events and resource changes. Supported notification types: 'AUTOSCALING:SCALE_OUT_SUCCESS', 'AUTOSCALING:SCALE_IN_SUCCESS', 'AUTOSCALING:SCALE_OUT_ERROR', 'AUTOSCALING:SCALE_IN_ERROR', 'AUTOSCALING:SCALE_REJECT', 'AUTOSCALING:SCALE_OUT_START', 'AUTOSCALING:SCALE_IN_START', 'AUTOSCALING:SCHEDULE_TASK_EXPIRING'.
*
* @return builder
*
*/
public Builder notificationTypes(String... notificationTypes) {
return notificationTypes(List.of(notificationTypes));
}
/**
* @param scalingGroupId The ID of the Auto Scaling group.
*
* @return builder
*
*/
public Builder scalingGroupId(Output scalingGroupId) {
$.scalingGroupId = scalingGroupId;
return this;
}
/**
* @param scalingGroupId The ID of the Auto Scaling group.
*
* @return builder
*
*/
public Builder scalingGroupId(String scalingGroupId) {
return scalingGroupId(Output.of(scalingGroupId));
}
public NotificationArgs build() {
if ($.notificationArn == null) {
throw new MissingRequiredPropertyException("NotificationArgs", "notificationArn");
}
if ($.notificationTypes == null) {
throw new MissingRequiredPropertyException("NotificationArgs", "notificationTypes");
}
if ($.scalingGroupId == null) {
throw new MissingRequiredPropertyException("NotificationArgs", "scalingGroupId");
}
return $;
}
}
}