com.pulumi.gcp.storage.kotlin.inputs.TransferJobScheduleArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-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.gcp.storage.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.storage.inputs.TransferJobScheduleArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property repeatInterval Interval between the start of each scheduled transfer. If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
* @property scheduleEndDate The last day the recurring transfer will be run. If `schedule_end_date` is the same as `schedule_start_date`, the transfer will be executed only once. Structure documented below.
* @property scheduleStartDate The first day the recurring transfer is scheduled to run. If `schedule_start_date` is in the past, the transfer will run for the first time on the following day. Structure documented below.
* @property startTimeOfDay The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. Structure documented below.
*/
public data class TransferJobScheduleArgs(
public val repeatInterval: Output? = null,
public val scheduleEndDate: Output? = null,
public val scheduleStartDate: Output,
public val startTimeOfDay: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.storage.inputs.TransferJobScheduleArgs =
com.pulumi.gcp.storage.inputs.TransferJobScheduleArgs.builder()
.repeatInterval(repeatInterval?.applyValue({ args0 -> args0 }))
.scheduleEndDate(scheduleEndDate?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.scheduleStartDate(scheduleStartDate.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.startTimeOfDay(
startTimeOfDay?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [TransferJobScheduleArgs].
*/
@PulumiTagMarker
public class TransferJobScheduleArgsBuilder internal constructor() {
private var repeatInterval: Output? = null
private var scheduleEndDate: Output? = null
private var scheduleStartDate: Output? = null
private var startTimeOfDay: Output? = null
/**
* @param value Interval between the start of each scheduled transfer. If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
*/
@JvmName("gmosupmwgsnhqtgo")
public suspend fun repeatInterval(`value`: Output) {
this.repeatInterval = value
}
/**
* @param value The last day the recurring transfer will be run. If `schedule_end_date` is the same as `schedule_start_date`, the transfer will be executed only once. Structure documented below.
*/
@JvmName("uwnmbxjtoupsfwhv")
public suspend fun scheduleEndDate(`value`: Output) {
this.scheduleEndDate = value
}
/**
* @param value The first day the recurring transfer is scheduled to run. If `schedule_start_date` is in the past, the transfer will run for the first time on the following day. Structure documented below.
*/
@JvmName("itnsidemufdilsyv")
public suspend fun scheduleStartDate(`value`: Output) {
this.scheduleStartDate = value
}
/**
* @param value The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. Structure documented below.
*/
@JvmName("dcuyryobtjvgulok")
public suspend fun startTimeOfDay(`value`: Output) {
this.startTimeOfDay = value
}
/**
* @param value Interval between the start of each scheduled transfer. If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
*/
@JvmName("ijcnnujaksevgfqq")
public suspend fun repeatInterval(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.repeatInterval = mapped
}
/**
* @param value The last day the recurring transfer will be run. If `schedule_end_date` is the same as `schedule_start_date`, the transfer will be executed only once. Structure documented below.
*/
@JvmName("neouigguexrnremu")
public suspend fun scheduleEndDate(`value`: TransferJobScheduleScheduleEndDateArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.scheduleEndDate = mapped
}
/**
* @param argument The last day the recurring transfer will be run. If `schedule_end_date` is the same as `schedule_start_date`, the transfer will be executed only once. Structure documented below.
*/
@JvmName("glrpvruvcnorgsso")
public suspend fun scheduleEndDate(argument: suspend TransferJobScheduleScheduleEndDateArgsBuilder.() -> Unit) {
val toBeMapped = TransferJobScheduleScheduleEndDateArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.scheduleEndDate = mapped
}
/**
* @param value The first day the recurring transfer is scheduled to run. If `schedule_start_date` is in the past, the transfer will run for the first time on the following day. Structure documented below.
*/
@JvmName("padbdkqsqoxcqyyv")
public suspend fun scheduleStartDate(`value`: TransferJobScheduleScheduleStartDateArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.scheduleStartDate = mapped
}
/**
* @param argument The first day the recurring transfer is scheduled to run. If `schedule_start_date` is in the past, the transfer will run for the first time on the following day. Structure documented below.
*/
@JvmName("vdgaitmmgoosgpxy")
public suspend fun scheduleStartDate(argument: suspend TransferJobScheduleScheduleStartDateArgsBuilder.() -> Unit) {
val toBeMapped = TransferJobScheduleScheduleStartDateArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.scheduleStartDate = mapped
}
/**
* @param value The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. Structure documented below.
*/
@JvmName("igpmirewlbdrsnbi")
public suspend fun startTimeOfDay(`value`: TransferJobScheduleStartTimeOfDayArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.startTimeOfDay = mapped
}
/**
* @param argument The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. Structure documented below.
*/
@JvmName("nrhjqaiexnpldccy")
public suspend fun startTimeOfDay(argument: suspend TransferJobScheduleStartTimeOfDayArgsBuilder.() -> Unit) {
val toBeMapped = TransferJobScheduleStartTimeOfDayArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.startTimeOfDay = mapped
}
internal fun build(): TransferJobScheduleArgs = TransferJobScheduleArgs(
repeatInterval = repeatInterval,
scheduleEndDate = scheduleEndDate,
scheduleStartDate = scheduleStartDate ?: throw PulumiNullFieldException("scheduleStartDate"),
startTimeOfDay = startTimeOfDay,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy