com.pulumi.awsnative.evidently.kotlin.outputs.GetExperimentResult.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.evidently.kotlin.outputs
import com.pulumi.awsnative.kotlin.outputs.Tag
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property arn The ARN of the experiment. For example, `arn:aws:evidently:us-west-2:0123455678912:project/myProject/experiment/myExperiment`
* @property description An optional description of the experiment.
* @property metricGoals An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal. You can use up to three metrics in an experiment.
* @property onlineAbConfig A structure that contains the configuration of which variation to use as the "control" version. The "control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.
* @property randomizationSalt When Evidently assigns a particular user session to an experiment, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and `randomizationSalt` . If you omit `randomizationSalt` , Evidently uses the experiment name as the `randomizationSalt` .
* @property removeSegment Set this to `true` to remove the segment that is associated with this experiment. You can't use this parameter if the experiment is currently running.
* @property runningStatus Start Experiment. Default is False
* @property samplingRate The portion of the available audience that you want to allocate to this experiment, in thousandths of a percent. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.
* This is represented in thousandths of a percent. For example, specify 10,000 to allocate 10% of the available audience.
* @property segment Specifies an audience *segment* to use in the experiment. When a segment is used in an experiment, only user sessions that match the segment pattern are used in the experiment.
* For more information, see [Segment rule pattern syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html#CloudWatch-Evidently-segments-syntax) .
* @property tags An array of key-value pairs to apply to this resource.
* @property treatments An array of structures that describe the configuration of each feature variation used in the experiment.
*/
public data class GetExperimentResult(
public val arn: String? = null,
public val description: String? = null,
public val metricGoals: List? = null,
public val onlineAbConfig: ExperimentOnlineAbConfigObject? = null,
public val randomizationSalt: String? = null,
public val removeSegment: Boolean? = null,
public val runningStatus: ExperimentRunningStatusObject? = null,
public val samplingRate: Int? = null,
public val segment: String? = null,
public val tags: List? = null,
public val treatments: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.evidently.outputs.GetExperimentResult): GetExperimentResult = GetExperimentResult(
arn = javaType.arn().map({ args0 -> args0 }).orElse(null),
description = javaType.description().map({ args0 -> args0 }).orElse(null),
metricGoals = javaType.metricGoals().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.evidently.kotlin.outputs.ExperimentMetricGoalObject.Companion.toKotlin(args0)
})
}),
onlineAbConfig = javaType.onlineAbConfig().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.evidently.kotlin.outputs.ExperimentOnlineAbConfigObject.Companion.toKotlin(args0)
})
}).orElse(null),
randomizationSalt = javaType.randomizationSalt().map({ args0 -> args0 }).orElse(null),
removeSegment = javaType.removeSegment().map({ args0 -> args0 }).orElse(null),
runningStatus = javaType.runningStatus().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.evidently.kotlin.outputs.ExperimentRunningStatusObject.Companion.toKotlin(args0)
})
}).orElse(null),
samplingRate = javaType.samplingRate().map({ args0 -> args0 }).orElse(null),
segment = javaType.segment().map({ args0 -> args0 }).orElse(null),
tags = javaType.tags().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.kotlin.outputs.Tag.Companion.toKotlin(args0)
})
}),
treatments = javaType.treatments().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.evidently.kotlin.outputs.ExperimentTreatmentObject.Companion.toKotlin(args0)
})
}),
)
}
}