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

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

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.nimblestudio.kotlin

import com.pulumi.awsnative.nimblestudio.StudioArgs.builder
import com.pulumi.awsnative.nimblestudio.kotlin.inputs.StudioEncryptionConfigurationArgs
import com.pulumi.awsnative.nimblestudio.kotlin.inputs.StudioEncryptionConfigurationArgsBuilder
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.Map
import kotlin.jvm.JvmName

/**
 * Represents a studio that contains other Nimble Studio resources
 * @property adminRoleArn 

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

* @property displayName

A friendly name for the studio.

* @property studioEncryptionConfiguration Configuration of the encryption method that is used for the studio. * @property studioName

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

* @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) . * @property userRoleArn

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

*/ public data class StudioArgs( public val adminRoleArn: Output? = null, public val displayName: Output? = null, public val studioEncryptionConfiguration: Output? = null, public val studioName: Output? = null, public val tags: Output>? = null, public val userRoleArn: Output? = null, ) : ConvertibleToJava { override fun toJava(): com.pulumi.awsnative.nimblestudio.StudioArgs = com.pulumi.awsnative.nimblestudio.StudioArgs.builder() .adminRoleArn(adminRoleArn?.applyValue({ args0 -> args0 })) .displayName(displayName?.applyValue({ args0 -> args0 })) .studioEncryptionConfiguration( studioEncryptionConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ) .studioName(studioName?.applyValue({ args0 -> args0 })) .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() })) .userRoleArn(userRoleArn?.applyValue({ args0 -> args0 })).build() } /** * Builder for [StudioArgs]. */ @PulumiTagMarker public class StudioArgsBuilder internal constructor() { private var adminRoleArn: Output? = null private var displayName: Output? = null private var studioEncryptionConfiguration: Output? = null private var studioName: Output? = null private var tags: Output>? = null private var userRoleArn: Output? = null /** * @param value

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

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

A friendly name for the studio.

*/ @JvmName("gcofqihrimitybsf") public suspend fun displayName(`value`: Output) { this.displayName = value } /** * @param value Configuration of the encryption method that is used for the studio. */ @JvmName("daflvurvjkgcckcb") public suspend fun studioEncryptionConfiguration(`value`: Output) { this.studioEncryptionConfiguration = value } /** * @param value

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

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

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

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

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

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

A friendly name for the studio.

*/ @JvmName("hulrvywskvruxayo") public suspend fun displayName(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.displayName = mapped } /** * @param value Configuration of the encryption method that is used for the studio. */ @JvmName("rhpamjkvmespgiqg") public suspend fun studioEncryptionConfiguration(`value`: StudioEncryptionConfigurationArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.studioEncryptionConfiguration = mapped } /** * @param argument Configuration of the encryption method that is used for the studio. */ @JvmName("gmdttvfftnejivmv") public suspend fun studioEncryptionConfiguration(argument: suspend StudioEncryptionConfigurationArgsBuilder.() -> Unit) { val toBeMapped = StudioEncryptionConfigurationArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.studioEncryptionConfiguration = mapped } /** * @param value

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

*/ @JvmName("ppwcwlcnfpiiumim") public suspend fun studioName(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.studioName = 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("lxsodikrfxpistid") 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("bowauytaipiglcdq") public fun tags(vararg values: Pair) { val toBeMapped = values.toMap() val mapped = toBeMapped.let({ args0 -> of(args0) }) this.tags = mapped } /** * @param value

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

*/ @JvmName("tyddinbytacpttke") public suspend fun userRoleArn(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.userRoleArn = mapped } internal fun build(): StudioArgs = StudioArgs( adminRoleArn = adminRoleArn, displayName = displayName, studioEncryptionConfiguration = studioEncryptionConfiguration, studioName = studioName, tags = tags, userRoleArn = userRoleArn, ) }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy