
com.pulumi.awsnative.redshift.kotlin.ScheduledActionArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.redshift.kotlin
import com.pulumi.awsnative.redshift.ScheduledActionArgs.builder
import com.pulumi.awsnative.redshift.kotlin.inputs.ScheduledActionTypeArgs
import com.pulumi.awsnative.redshift.kotlin.inputs.ScheduledActionTypeArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action.
* @property enable If true, the schedule is enabled. If false, the scheduled action does not trigger.
* @property endTime The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger.
* @property iamRole The IAM role to assume to run the target action.
* @property schedule The schedule in `at( )` or `cron( )` format.
* @property scheduledActionDescription The description of the scheduled action.
* @property scheduledActionName The name of the scheduled action. The name must be unique within an account.
* @property startTime The start time in UTC of the scheduled action. Before this time, the scheduled action does not trigger.
* @property targetAction A JSON format string of the Amazon Redshift API operation with input parameters.
*/
public data class ScheduledActionArgs(
public val enable: Output? = null,
public val endTime: Output? = null,
public val iamRole: Output? = null,
public val schedule: Output? = null,
public val scheduledActionDescription: Output? = null,
public val scheduledActionName: Output? = null,
public val startTime: Output? = null,
public val targetAction: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.redshift.ScheduledActionArgs =
com.pulumi.awsnative.redshift.ScheduledActionArgs.builder()
.enable(enable?.applyValue({ args0 -> args0 }))
.endTime(endTime?.applyValue({ args0 -> args0 }))
.iamRole(iamRole?.applyValue({ args0 -> args0 }))
.schedule(schedule?.applyValue({ args0 -> args0 }))
.scheduledActionDescription(scheduledActionDescription?.applyValue({ args0 -> args0 }))
.scheduledActionName(scheduledActionName?.applyValue({ args0 -> args0 }))
.startTime(startTime?.applyValue({ args0 -> args0 }))
.targetAction(targetAction?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [ScheduledActionArgs].
*/
@PulumiTagMarker
public class ScheduledActionArgsBuilder internal constructor() {
private var enable: Output? = null
private var endTime: Output? = null
private var iamRole: Output? = null
private var schedule: Output? = null
private var scheduledActionDescription: Output? = null
private var scheduledActionName: Output? = null
private var startTime: Output? = null
private var targetAction: Output? = null
/**
* @param value If true, the schedule is enabled. If false, the scheduled action does not trigger.
*/
@JvmName("iecswboxgxkstgse")
public suspend fun enable(`value`: Output) {
this.enable = value
}
/**
* @param value The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger.
*/
@JvmName("pbootylnngcxktax")
public suspend fun endTime(`value`: Output) {
this.endTime = value
}
/**
* @param value The IAM role to assume to run the target action.
*/
@JvmName("ydlvqrxcbbvgonps")
public suspend fun iamRole(`value`: Output) {
this.iamRole = value
}
/**
* @param value The schedule in `at( )` or `cron( )` format.
*/
@JvmName("anqrkgwplpocpfuv")
public suspend fun schedule(`value`: Output) {
this.schedule = value
}
/**
* @param value The description of the scheduled action.
*/
@JvmName("utvygkcxvqvclqum")
public suspend fun scheduledActionDescription(`value`: Output) {
this.scheduledActionDescription = value
}
/**
* @param value The name of the scheduled action. The name must be unique within an account.
*/
@JvmName("cmtmuavxqujssibt")
public suspend fun scheduledActionName(`value`: Output) {
this.scheduledActionName = value
}
/**
* @param value The start time in UTC of the scheduled action. Before this time, the scheduled action does not trigger.
*/
@JvmName("jcmksyfmwajfoulh")
public suspend fun startTime(`value`: Output) {
this.startTime = value
}
/**
* @param value A JSON format string of the Amazon Redshift API operation with input parameters.
*/
@JvmName("vmxsoqkdvjsuyial")
public suspend fun targetAction(`value`: Output) {
this.targetAction = value
}
/**
* @param value If true, the schedule is enabled. If false, the scheduled action does not trigger.
*/
@JvmName("vsuvkmjgqkcfokpv")
public suspend fun enable(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enable = mapped
}
/**
* @param value The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger.
*/
@JvmName("nrppsqlxolspclkd")
public suspend fun endTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.endTime = mapped
}
/**
* @param value The IAM role to assume to run the target action.
*/
@JvmName("mcehyglmipwraibw")
public suspend fun iamRole(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iamRole = mapped
}
/**
* @param value The schedule in `at( )` or `cron( )` format.
*/
@JvmName("llwxjbnyenmfbhju")
public suspend fun schedule(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.schedule = mapped
}
/**
* @param value The description of the scheduled action.
*/
@JvmName("ecfxeqisnnwdjbrs")
public suspend fun scheduledActionDescription(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.scheduledActionDescription = mapped
}
/**
* @param value The name of the scheduled action. The name must be unique within an account.
*/
@JvmName("bqxhprseljbvlvkj")
public suspend fun scheduledActionName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.scheduledActionName = mapped
}
/**
* @param value The start time in UTC of the scheduled action. Before this time, the scheduled action does not trigger.
*/
@JvmName("hshtfpuyuldqsohx")
public suspend fun startTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.startTime = mapped
}
/**
* @param value A JSON format string of the Amazon Redshift API operation with input parameters.
*/
@JvmName("hwtdbqcmjnuaqkfc")
public suspend fun targetAction(`value`: ScheduledActionTypeArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.targetAction = mapped
}
/**
* @param argument A JSON format string of the Amazon Redshift API operation with input parameters.
*/
@JvmName("rnmietcunwmlkajr")
public suspend fun targetAction(argument: suspend ScheduledActionTypeArgsBuilder.() -> Unit) {
val toBeMapped = ScheduledActionTypeArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.targetAction = mapped
}
internal fun build(): ScheduledActionArgs = ScheduledActionArgs(
enable = enable,
endTime = endTime,
iamRole = iamRole,
schedule = schedule,
scheduledActionDescription = scheduledActionDescription,
scheduledActionName = scheduledActionName,
startTime = startTime,
targetAction = targetAction,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy