Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.evidently.kotlin.inputs.LaunchScheduledSplitsConfigStepArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.evidently.kotlin.inputs
import com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigStepArgs.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 com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property groupWeights The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step. For more information, refer to the [AWS documentation for ScheduledSplitConfig groupWeights](https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_ScheduledSplitConfig.html).
* @property segmentOverrides One or up to six blocks that specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Detailed below.
* @property startTime Specifies the date and time that this step of the launch starts.
*/
public data class LaunchScheduledSplitsConfigStepArgs(
public val groupWeights: Output>,
public val segmentOverrides: Output>? =
null,
public val startTime: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigStepArgs =
com.pulumi.aws.evidently.inputs.LaunchScheduledSplitsConfigStepArgs.builder()
.groupWeights(
groupWeights.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.segmentOverrides(
segmentOverrides?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.startTime(startTime.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [LaunchScheduledSplitsConfigStepArgs].
*/
@PulumiTagMarker
public class LaunchScheduledSplitsConfigStepArgsBuilder internal constructor() {
private var groupWeights: Output>? = null
private var segmentOverrides: Output>? =
null
private var startTime: Output? = null
/**
* @param value The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step. For more information, refer to the [AWS documentation for ScheduledSplitConfig groupWeights](https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_ScheduledSplitConfig.html).
*/
@JvmName("qeyncfkybnkulrkv")
public suspend fun groupWeights(`value`: Output>) {
this.groupWeights = value
}
/**
* @param value One or up to six blocks that specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Detailed below.
*/
@JvmName("comxdweauexiohoi")
public suspend fun segmentOverrides(`value`: Output>) {
this.segmentOverrides = value
}
@JvmName("epdkwpgfcxmoupsa")
public suspend fun segmentOverrides(vararg values: Output) {
this.segmentOverrides = Output.all(values.asList())
}
/**
* @param values One or up to six blocks that specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Detailed below.
*/
@JvmName("tjukyxplvwjrytqg")
public suspend fun segmentOverrides(values: List>) {
this.segmentOverrides = Output.all(values)
}
/**
* @param value Specifies the date and time that this step of the launch starts.
*/
@JvmName("fncypuwcoexvnxjk")
public suspend fun startTime(`value`: Output) {
this.startTime = value
}
/**
* @param value The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step. For more information, refer to the [AWS documentation for ScheduledSplitConfig groupWeights](https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_ScheduledSplitConfig.html).
*/
@JvmName("iygotjabeayouddx")
public suspend fun groupWeights(`value`: Map) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.groupWeights = mapped
}
/**
* @param values The traffic allocation percentages among the feature variations during one step of a launch. This is a set of key-value pairs. The keys are variation names. The values represent the percentage of traffic to allocate to that variation during this step. For more information, refer to the [AWS documentation for ScheduledSplitConfig groupWeights](https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_ScheduledSplitConfig.html).
*/
@JvmName("npthmicsmeryfbdn")
public fun groupWeights(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.groupWeights = mapped
}
/**
* @param value One or up to six blocks that specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Detailed below.
*/
@JvmName("rmcpkmkgxdskvkar")
public suspend fun segmentOverrides(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.segmentOverrides = mapped
}
/**
* @param argument One or up to six blocks that specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Detailed below.
*/
@JvmName("fvghdxdhmgpplhuj")
public suspend fun segmentOverrides(argument: List Unit>) {
val toBeMapped = argument.toList().map {
LaunchScheduledSplitsConfigStepSegmentOverrideArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.segmentOverrides = mapped
}
/**
* @param argument One or up to six blocks that specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Detailed below.
*/
@JvmName("crdcvnojehgkrunj")
public suspend fun segmentOverrides(vararg argument: suspend LaunchScheduledSplitsConfigStepSegmentOverrideArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
LaunchScheduledSplitsConfigStepSegmentOverrideArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.segmentOverrides = mapped
}
/**
* @param argument One or up to six blocks that specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Detailed below.
*/
@JvmName("tcmfalbnlykdtrbw")
public suspend fun segmentOverrides(argument: suspend LaunchScheduledSplitsConfigStepSegmentOverrideArgsBuilder.() -> Unit) {
val toBeMapped = listOf(
LaunchScheduledSplitsConfigStepSegmentOverrideArgsBuilder().applySuspend
{ argument() }.build(),
)
val mapped = of(toBeMapped)
this.segmentOverrides = mapped
}
/**
* @param values One or up to six blocks that specify different traffic splits for one or more audience segments. A segment is a portion of your audience that share one or more characteristics. Examples could be Chrome browser users, users in Europe, or Firefox browser users in Europe who also fit other criteria that your application collects, such as age. Detailed below.
*/
@JvmName("gfkhvdpbmsyaqlsf")
public suspend fun segmentOverrides(vararg values: LaunchScheduledSplitsConfigStepSegmentOverrideArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.segmentOverrides = mapped
}
/**
* @param value Specifies the date and time that this step of the launch starts.
*/
@JvmName("kponsfritkiphpmq")
public suspend fun startTime(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.startTime = mapped
}
internal fun build(): LaunchScheduledSplitsConfigStepArgs = LaunchScheduledSplitsConfigStepArgs(
groupWeights = groupWeights ?: throw PulumiNullFieldException("groupWeights"),
segmentOverrides = segmentOverrides,
startTime = startTime ?: throw PulumiNullFieldException("startTime"),
)
}