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

com.pulumi.awsnative.nimblestudio.kotlin.StudioArgs.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.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("xbmswekuyfjbqdwu") public suspend fun adminRoleArn(`value`: Output) { this.adminRoleArn = value } /** * @param value

A friendly name for the studio.

*/ @JvmName("fxxewfhjnidwkyfq") public suspend fun displayName(`value`: Output) { this.displayName = value } /** * @param value Configuration of the encryption method that is used for the studio. */ @JvmName("xsfcckfkwydkhbwj") 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("yisccbvgnhuqrmpr") 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("ssgcejraqjhpxtvr") 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("aripiejfdhkowcjp") 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("gbwriydjbthflfbo") 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("aldtiuajklopaydw") 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("kywbgufclcabptxo") 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("janejrimjqonawek") 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("yvgctdyjktawsxtd") 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("tpqtoelifakjxqbc") 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("dgfkfqfiafethlld") 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("ibdoxyqotapwkvlg") 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