com.pulumi.awsnative.simspaceweaver.kotlin.SimulationArgs.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.simspaceweaver.kotlin
import com.pulumi.awsnative.simspaceweaver.SimulationArgs.builder
import com.pulumi.awsnative.simspaceweaver.kotlin.inputs.SimulationS3LocationArgs
import com.pulumi.awsnative.simspaceweaver.kotlin.inputs.SimulationS3LocationArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation.
* ## Example Usage
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* @property maximumDuration The maximum running time of the simulation.
* @property name The name of the simulation.
* @property roleArn Role ARN.
* @property schemaS3Location The location of the simulation schema in Amazon Simple Storage Service ( Amazon S3 ). For more information about Amazon S3 , see the [*Amazon Simple Storage Service User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) .
* Provide a `SchemaS3Location` to start your simulation from a schema.
* If you provide a `SchemaS3Location` then you can't provide a `SnapshotS3Location` .
* @property snapshotS3Location The location of the snapshot in Amazon Simple Storage Service ( Amazon S3 ). For more information about Amazon S3 , see the [*Amazon Simple Storage Service User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) .
* Provide a `SnapshotS3Location` to start your simulation from a snapshot.
* If you provide a `SnapshotS3Location` then you can't provide a `SchemaS3Location` .
*/
public data class SimulationArgs(
public val maximumDuration: Output? = null,
public val name: Output? = null,
public val roleArn: Output? = null,
public val schemaS3Location: Output? = null,
public val snapshotS3Location: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.simspaceweaver.SimulationArgs =
com.pulumi.awsnative.simspaceweaver.SimulationArgs.builder()
.maximumDuration(maximumDuration?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.roleArn(roleArn?.applyValue({ args0 -> args0 }))
.schemaS3Location(schemaS3Location?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.snapshotS3Location(
snapshotS3Location?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [SimulationArgs].
*/
@PulumiTagMarker
public class SimulationArgsBuilder internal constructor() {
private var maximumDuration: Output? = null
private var name: Output? = null
private var roleArn: Output? = null
private var schemaS3Location: Output? = null
private var snapshotS3Location: Output? = null
/**
* @param value The maximum running time of the simulation.
*/
@JvmName("tqxcsjlgqcpxgsdo")
public suspend fun maximumDuration(`value`: Output) {
this.maximumDuration = value
}
/**
* @param value The name of the simulation.
*/
@JvmName("jimvbgakjfwahvop")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Role ARN.
*/
@JvmName("xnkfyjfsasnbcskj")
public suspend fun roleArn(`value`: Output) {
this.roleArn = value
}
/**
* @param value The location of the simulation schema in Amazon Simple Storage Service ( Amazon S3 ). For more information about Amazon S3 , see the [*Amazon Simple Storage Service User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) .
* Provide a `SchemaS3Location` to start your simulation from a schema.
* If you provide a `SchemaS3Location` then you can't provide a `SnapshotS3Location` .
*/
@JvmName("ifygsmybbvobbhde")
public suspend fun schemaS3Location(`value`: Output) {
this.schemaS3Location = value
}
/**
* @param value The location of the snapshot in Amazon Simple Storage Service ( Amazon S3 ). For more information about Amazon S3 , see the [*Amazon Simple Storage Service User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) .
* Provide a `SnapshotS3Location` to start your simulation from a snapshot.
* If you provide a `SnapshotS3Location` then you can't provide a `SchemaS3Location` .
*/
@JvmName("lhkywusenctttucq")
public suspend fun snapshotS3Location(`value`: Output) {
this.snapshotS3Location = value
}
/**
* @param value The maximum running time of the simulation.
*/
@JvmName("kibehovshdegmygq")
public suspend fun maximumDuration(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maximumDuration = mapped
}
/**
* @param value The name of the simulation.
*/
@JvmName("icpbuxvdlllootga")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Role ARN.
*/
@JvmName("nklbbiiefrwdnyli")
public suspend fun roleArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.roleArn = mapped
}
/**
* @param value The location of the simulation schema in Amazon Simple Storage Service ( Amazon S3 ). For more information about Amazon S3 , see the [*Amazon Simple Storage Service User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) .
* Provide a `SchemaS3Location` to start your simulation from a schema.
* If you provide a `SchemaS3Location` then you can't provide a `SnapshotS3Location` .
*/
@JvmName("febjknbqpvtmwgsj")
public suspend fun schemaS3Location(`value`: SimulationS3LocationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.schemaS3Location = mapped
}
/**
* @param argument The location of the simulation schema in Amazon Simple Storage Service ( Amazon S3 ). For more information about Amazon S3 , see the [*Amazon Simple Storage Service User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) .
* Provide a `SchemaS3Location` to start your simulation from a schema.
* If you provide a `SchemaS3Location` then you can't provide a `SnapshotS3Location` .
*/
@JvmName("uhgarrccspxadxvu")
public suspend fun schemaS3Location(argument: suspend SimulationS3LocationArgsBuilder.() -> Unit) {
val toBeMapped = SimulationS3LocationArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.schemaS3Location = mapped
}
/**
* @param value The location of the snapshot in Amazon Simple Storage Service ( Amazon S3 ). For more information about Amazon S3 , see the [*Amazon Simple Storage Service User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) .
* Provide a `SnapshotS3Location` to start your simulation from a snapshot.
* If you provide a `SnapshotS3Location` then you can't provide a `SchemaS3Location` .
*/
@JvmName("hjgjeafnjdulyrvx")
public suspend fun snapshotS3Location(`value`: SimulationS3LocationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.snapshotS3Location = mapped
}
/**
* @param argument The location of the snapshot in Amazon Simple Storage Service ( Amazon S3 ). For more information about Amazon S3 , see the [*Amazon Simple Storage Service User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) .
* Provide a `SnapshotS3Location` to start your simulation from a snapshot.
* If you provide a `SnapshotS3Location` then you can't provide a `SchemaS3Location` .
*/
@JvmName("kwdfvyoiuwrgmkqb")
public suspend fun snapshotS3Location(argument: suspend SimulationS3LocationArgsBuilder.() -> Unit) {
val toBeMapped = SimulationS3LocationArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.snapshotS3Location = mapped
}
internal fun build(): SimulationArgs = SimulationArgs(
maximumDuration = maximumDuration,
name = name,
roleArn = roleArn,
schemaS3Location = schemaS3Location,
snapshotS3Location = snapshotS3Location,
)
}