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

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

@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("rxevcxfgjmdcjqfq") 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("qsaxrmgnvchxeowg") public suspend fun ec2SubnetIds(`value`: Output>) { this.ec2SubnetIds = value } @JvmName("lwiqehdrihvweccf") 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("xuftgwrgmpwhqyux") 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("yfecwjfdclevexbe") public suspend fun launchProfileProtocolVersions(`value`: Output>) { this.launchProfileProtocolVersions = value } @JvmName("siucwuoutymasrrs") 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("dfxwvehxijmowycc") public suspend fun launchProfileProtocolVersions(values: List>) { this.launchProfileProtocolVersions = Output.all(values) } /** * @param value

The name for the launch profile.

*/ @JvmName("elnnuwhulsjdxltx") public suspend fun name(`value`: Output) { this.name = value } /** * @param value A configuration for a streaming session. */ @JvmName("kfohwokngrjuwowb") 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("fitrmacahfhsspyk") public suspend fun studioComponentIds(`value`: Output>) { this.studioComponentIds = value } @JvmName("cglndkponwirclsb") 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("sickhmnbufrgmthq") public suspend fun studioComponentIds(values: List>) { this.studioComponentIds = Output.all(values) } /** * @param value

The studio ID.

*/ @JvmName("mcanwwqrqdwcbnmj") 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("elcoqplipatytasc") public suspend fun tags(`value`: Output>) { this.tags = value } /** * @param value

The description.

*/ @JvmName("ggmyefcluqrjgucg") 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("llmnqrilkhgvngiv") 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("quqmehfhxaweghui") 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("vtiaakearnqrawvg") 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("lsfjpgplbmgqdabl") 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("mnnibkcvxhblcepp") 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("uwuimlelnwqcxuxn") 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("pdjlthqcbgqbrykq") 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("gpecvravfsmilolb") 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("nvigaikxksdgsxrj") 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("iokgawhcxnpqncyu") 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("dfnfncrwftchogds") 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("stsirujofiexqpfh") 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 - 2025 Weber Informatics LLC | Privacy Policy