
com.pulumi.awsnative.autoscaling.kotlin.inputs.AutoScalingGroupNotificationConfigurationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.autoscaling.kotlin.inputs
import com.pulumi.awsnative.autoscaling.inputs.AutoScalingGroupNotificationConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* A structure that specifies an Amazon SNS notification configuration for the ``NotificationConfigurations`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.
* For an example template snippet, see [Configure Amazon EC2 Auto Scaling resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-auto-scaling.html).
* For more information, see [Get Amazon SNS notifications when your Auto Scaling group scales](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html) in the *Amazon EC2 Auto Scaling User Guide*.
* @property notificationTypes A list of event types that send a notification. Event types can include any of the following types.
* *Allowed values*:
* + ``autoscaling:EC2_INSTANCE_LAUNCH``
* + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR``
* + ``autoscaling:EC2_INSTANCE_TERMINATE``
* + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR``
* + ``autoscaling:TEST_NOTIFICATION``
* @property topicArn The Amazon Resource Name (ARN) of the Amazon SNS topic.
*/
public data class AutoScalingGroupNotificationConfigurationArgs(
public val notificationTypes: Output>? = null,
public val topicArn: Output>,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.autoscaling.inputs.AutoScalingGroupNotificationConfigurationArgs =
com.pulumi.awsnative.autoscaling.inputs.AutoScalingGroupNotificationConfigurationArgs.builder()
.notificationTypes(notificationTypes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.topicArn(topicArn.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}
/**
* Builder for [AutoScalingGroupNotificationConfigurationArgs].
*/
@PulumiTagMarker
public class AutoScalingGroupNotificationConfigurationArgsBuilder internal constructor() {
private var notificationTypes: Output>? = null
private var topicArn: Output>? = null
/**
* @param value A list of event types that send a notification. Event types can include any of the following types.
* *Allowed values*:
* + ``autoscaling:EC2_INSTANCE_LAUNCH``
* + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR``
* + ``autoscaling:EC2_INSTANCE_TERMINATE``
* + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR``
* + ``autoscaling:TEST_NOTIFICATION``
*/
@JvmName("mixwvbhnxvinttpi")
public suspend fun notificationTypes(`value`: Output>) {
this.notificationTypes = value
}
@JvmName("diodfnbjxusmnncf")
public suspend fun notificationTypes(vararg values: Output) {
this.notificationTypes = Output.all(values.asList())
}
/**
* @param values A list of event types that send a notification. Event types can include any of the following types.
* *Allowed values*:
* + ``autoscaling:EC2_INSTANCE_LAUNCH``
* + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR``
* + ``autoscaling:EC2_INSTANCE_TERMINATE``
* + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR``
* + ``autoscaling:TEST_NOTIFICATION``
*/
@JvmName("xynynevnpdxhvjod")
public suspend fun notificationTypes(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy