All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.nimblestudio.kotlin.LaunchProfileArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 0.122.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.nimblestudio.kotlin

import com.pulumi.awsnative.nimblestudio.LaunchProfileArgs.builder
import com.pulumi.awsnative.nimblestudio.kotlin.inputs.LaunchProfileStreamConfigurationArgs
import com.pulumi.awsnative.nimblestudio.kotlin.inputs.LaunchProfileStreamConfigurationArgsBuilder
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.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Represents a launch profile which delegates access to a collection of studio components to studio users
 * @property description 

The description.

* @property ec2SubnetIds

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. * These subnets must support the specified instance types.

* @property launchProfileProtocolVersions

The version number of the protocol that is used by the launch profile. The only valid * version is "2021-03-31".

* @property name

The name for the launch profile.

* @property streamConfiguration A configuration for a streaming session. * @property studioComponentIds

Unique identifiers for a collection of studio components that can be used with this * launch profile.

* @property studioId

The studio ID.

* @property tags An array of key-value pairs to apply to this resource. * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . */ public data class LaunchProfileArgs( public val description: Output? = null, public val ec2SubnetIds: Output>? = null, public val launchProfileProtocolVersions: Output>? = null, public val name: Output? = null, public val streamConfiguration: Output? = null, public val studioComponentIds: Output>? = null, public val studioId: Output? = null, public val tags: Output>? = null, ) : ConvertibleToJava { override fun toJava(): com.pulumi.awsnative.nimblestudio.LaunchProfileArgs = com.pulumi.awsnative.nimblestudio.LaunchProfileArgs.builder() .description(description?.applyValue({ args0 -> args0 })) .ec2SubnetIds(ec2SubnetIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })) .launchProfileProtocolVersions( launchProfileProtocolVersions?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }), ) .name(name?.applyValue({ args0 -> args0 })) .streamConfiguration( streamConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ) .studioComponentIds(studioComponentIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })) .studioId(studioId?.applyValue({ args0 -> args0 })) .tags( tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }), ).build() } /** * Builder for [LaunchProfileArgs]. */ @PulumiTagMarker public class LaunchProfileArgsBuilder internal constructor() { private var description: Output? = null private var ec2SubnetIds: Output>? = null private var launchProfileProtocolVersions: Output>? = null private var name: Output? = null private var streamConfiguration: Output? = null private var studioComponentIds: Output>? = null private var studioId: Output? = null private var tags: Output>? = null /** * @param value

The description.

*/ @JvmName("jamtypxyljmcuqgq") public suspend fun description(`value`: Output) { this.description = value } /** * @param value

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. * These subnets must support the specified instance types.

*/ @JvmName("nerrdcljdgfvvpqn") public suspend fun ec2SubnetIds(`value`: Output>) { this.ec2SubnetIds = value } @JvmName("vqtrwxilpopychro") public suspend fun ec2SubnetIds(vararg values: Output) { this.ec2SubnetIds = Output.all(values.asList()) } /** * @param values

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. * These subnets must support the specified instance types.

*/ @JvmName("kuyfcguavntjjsbl") public suspend fun ec2SubnetIds(values: List>) { this.ec2SubnetIds = Output.all(values) } /** * @param value

The version number of the protocol that is used by the launch profile. The only valid * version is "2021-03-31".

*/ @JvmName("amqfeprnscbsoejd") public suspend fun launchProfileProtocolVersions(`value`: Output>) { this.launchProfileProtocolVersions = value } @JvmName("fovxmpnhwywdvbcv") public suspend fun launchProfileProtocolVersions(vararg values: Output) { this.launchProfileProtocolVersions = Output.all(values.asList()) } /** * @param values

The version number of the protocol that is used by the launch profile. The only valid * version is "2021-03-31".

*/ @JvmName("mlevgxwbticpaocu") public suspend fun launchProfileProtocolVersions(values: List>) { this.launchProfileProtocolVersions = Output.all(values) } /** * @param value

The name for the launch profile.

*/ @JvmName("umvcwvqnafwqxyjg") public suspend fun name(`value`: Output) { this.name = value } /** * @param value A configuration for a streaming session. */ @JvmName("fhjyyduyrbunlfju") public suspend fun streamConfiguration(`value`: Output) { this.streamConfiguration = value } /** * @param value

Unique identifiers for a collection of studio components that can be used with this * launch profile.

*/ @JvmName("hofpcuvofkmxlnxn") public suspend fun studioComponentIds(`value`: Output>) { this.studioComponentIds = value } @JvmName("gocchknlpuslvjgp") public suspend fun studioComponentIds(vararg values: Output) { this.studioComponentIds = Output.all(values.asList()) } /** * @param values

Unique identifiers for a collection of studio components that can be used with this * launch profile.

*/ @JvmName("qmoniolhdufqmaag") public suspend fun studioComponentIds(values: List>) { this.studioComponentIds = Output.all(values) } /** * @param value

The studio ID.

*/ @JvmName("jcgcajsgxvoydhhw") public suspend fun studioId(`value`: Output) { this.studioId = value } /** * @param value An array of key-value pairs to apply to this resource. * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . */ @JvmName("msbytpdedeeakxun") public suspend fun tags(`value`: Output>) { this.tags = value } /** * @param value

The description.

*/ @JvmName("bsliytveupjdvkgw") public suspend fun description(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.description = mapped } /** * @param value

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. * These subnets must support the specified instance types.

*/ @JvmName("tnnyqegqtqviwsab") public suspend fun ec2SubnetIds(`value`: List?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.ec2SubnetIds = mapped } /** * @param values

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. * These subnets must support the specified instance types.

*/ @JvmName("iovabpqnkkefiuwf") public suspend fun ec2SubnetIds(vararg values: String) { val toBeMapped = values.toList() val mapped = toBeMapped.let({ args0 -> of(args0) }) this.ec2SubnetIds = mapped } /** * @param value

The version number of the protocol that is used by the launch profile. The only valid * version is "2021-03-31".

*/ @JvmName("qrdjudeliwpqjepe") public suspend fun launchProfileProtocolVersions(`value`: List?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.launchProfileProtocolVersions = mapped } /** * @param values

The version number of the protocol that is used by the launch profile. The only valid * version is "2021-03-31".

*/ @JvmName("dykhycxpxaayhntt") public suspend fun launchProfileProtocolVersions(vararg values: String) { val toBeMapped = values.toList() val mapped = toBeMapped.let({ args0 -> of(args0) }) this.launchProfileProtocolVersions = mapped } /** * @param value

The name for the launch profile.

*/ @JvmName("cmelbyjwidooijre") public suspend fun name(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.name = mapped } /** * @param value A configuration for a streaming session. */ @JvmName("gmnqpmrtmyprvrdo") public suspend fun streamConfiguration(`value`: LaunchProfileStreamConfigurationArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.streamConfiguration = mapped } /** * @param argument A configuration for a streaming session. */ @JvmName("siirgsnrlcbboywe") public suspend fun streamConfiguration(argument: suspend LaunchProfileStreamConfigurationArgsBuilder.() -> Unit) { val toBeMapped = LaunchProfileStreamConfigurationArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.streamConfiguration = mapped } /** * @param value

Unique identifiers for a collection of studio components that can be used with this * launch profile.

*/ @JvmName("xweylrfvhreviepo") public suspend fun studioComponentIds(`value`: List?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.studioComponentIds = mapped } /** * @param values

Unique identifiers for a collection of studio components that can be used with this * launch profile.

*/ @JvmName("pcydxtpgnsictxwr") public suspend fun studioComponentIds(vararg values: String) { val toBeMapped = values.toList() val mapped = toBeMapped.let({ args0 -> of(args0) }) this.studioComponentIds = mapped } /** * @param value

The studio ID.

*/ @JvmName("gnwkjbigtusudttv") public suspend fun studioId(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.studioId = mapped } /** * @param value An array of key-value pairs to apply to this resource. * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . */ @JvmName("lqmiyrunvarwlcst") public suspend fun tags(`value`: Map?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.tags = mapped } /** * @param values An array of key-value pairs to apply to this resource. * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . */ @JvmName("offtvlkmucfrqfoa") public fun tags(vararg values: Pair) { val toBeMapped = values.toMap() val mapped = toBeMapped.let({ args0 -> of(args0) }) this.tags = mapped } internal fun build(): LaunchProfileArgs = LaunchProfileArgs( description = description, ec2SubnetIds = ec2SubnetIds, launchProfileProtocolVersions = launchProfileProtocolVersions, name = name, streamConfiguration = streamConfiguration, studioComponentIds = studioComponentIds, studioId = studioId, tags = tags, ) }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy