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

com.pulumi.awsnative.nimblestudio.kotlin.StudioComponentArgs.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: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.nimblestudio.kotlin

import com.pulumi.awsnative.nimblestudio.StudioComponentArgs.builder
import com.pulumi.awsnative.nimblestudio.kotlin.enums.StudioComponentSubtype
import com.pulumi.awsnative.nimblestudio.kotlin.enums.StudioComponentType
import com.pulumi.awsnative.nimblestudio.kotlin.inputs.StudioComponentInitializationScriptArgs
import com.pulumi.awsnative.nimblestudio.kotlin.inputs.StudioComponentInitializationScriptArgsBuilder
import com.pulumi.awsnative.nimblestudio.kotlin.inputs.StudioComponentScriptParameterKeyValueArgs
import com.pulumi.awsnative.nimblestudio.kotlin.inputs.StudioComponentScriptParameterKeyValueArgsBuilder
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.Any
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 studio component that connects a non-Nimble Studio resource in your account to your studio
 * @property configuration The configuration of the studio component, based on component type.
 * @property description 

The description.

* @property ec2SecurityGroupIds

The EC2 security groups that control access to the studio component.

* @property initializationScripts

Initialization scripts for studio components.

* @property name

The name for the studio component.

* @property runtimeRoleArn An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. * @property scriptParameters

Parameters for the studio component scripts.

* @property secureInitializationRoleArn An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs. * @property studioId

The studio ID.

* @property subtype The specific subtype of a studio component. * @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 type The type of the studio component. */ public data class StudioComponentArgs( public val configuration: Output? = null, public val description: Output? = null, public val ec2SecurityGroupIds: Output>? = null, public val initializationScripts: Output>? = null, public val name: Output? = null, public val runtimeRoleArn: Output? = null, public val scriptParameters: Output>? = null, public val secureInitializationRoleArn: Output? = null, public val studioId: Output? = null, public val subtype: Output? = null, public val tags: Output>? = null, public val type: Output? = null, ) : ConvertibleToJava { override fun toJava(): com.pulumi.awsnative.nimblestudio.StudioComponentArgs = com.pulumi.awsnative.nimblestudio.StudioComponentArgs.builder() .configuration(configuration?.applyValue({ args0 -> args0 })) .description(description?.applyValue({ args0 -> args0 })) .ec2SecurityGroupIds(ec2SecurityGroupIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })) .initializationScripts( initializationScripts?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }), ) .name(name?.applyValue({ args0 -> args0 })) .runtimeRoleArn(runtimeRoleArn?.applyValue({ args0 -> args0 })) .scriptParameters( scriptParameters?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }), ) .secureInitializationRoleArn(secureInitializationRoleArn?.applyValue({ args0 -> args0 })) .studioId(studioId?.applyValue({ args0 -> args0 })) .subtype(subtype?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })) .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() })) .type(type?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build() } /** * Builder for [StudioComponentArgs]. */ @PulumiTagMarker public class StudioComponentArgsBuilder internal constructor() { private var configuration: Output? = null private var description: Output? = null private var ec2SecurityGroupIds: Output>? = null private var initializationScripts: Output>? = null private var name: Output? = null private var runtimeRoleArn: Output? = null private var scriptParameters: Output>? = null private var secureInitializationRoleArn: Output? = null private var studioId: Output? = null private var subtype: Output? = null private var tags: Output>? = null private var type: Output? = null /** * @param value The configuration of the studio component, based on component type. */ @JvmName("ogovgvqyktpopkhe") public suspend fun configuration(`value`: Output) { this.configuration = value } /** * @param value

The description.

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

The EC2 security groups that control access to the studio component.

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

The EC2 security groups that control access to the studio component.

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

Initialization scripts for studio components.

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

Initialization scripts for studio components.

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

The name for the studio component.

*/ @JvmName("enpgkysqjudjrvou") public suspend fun name(`value`: Output) { this.name = value } /** * @param value An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. */ @JvmName("bcbqinqrelarqksi") public suspend fun runtimeRoleArn(`value`: Output) { this.runtimeRoleArn = value } /** * @param value

Parameters for the studio component scripts.

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

Parameters for the studio component scripts.

*/ @JvmName("hwhmkyutpsuimtnf") public suspend fun scriptParameters(values: List>) { this.scriptParameters = Output.all(values) } /** * @param value An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs. */ @JvmName("yrqoehfcgbhclfcn") public suspend fun secureInitializationRoleArn(`value`: Output) { this.secureInitializationRoleArn = value } /** * @param value

The studio ID.

*/ @JvmName("jagjqdtwmloqulhe") public suspend fun studioId(`value`: Output) { this.studioId = value } /** * @param value The specific subtype of a studio component. */ @JvmName("paisftpgevdipabg") public suspend fun subtype(`value`: Output) { this.subtype = 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("ebutpqnukgmynqkx") public suspend fun tags(`value`: Output>) { this.tags = value } /** * @param value The type of the studio component. */ @JvmName("slpofepdgjdjxymb") public suspend fun type(`value`: Output) { this.type = value } /** * @param value The configuration of the studio component, based on component type. */ @JvmName("rwpaktkyivdexvkh") public suspend fun configuration(`value`: Any?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.configuration = mapped } /** * @param value

The description.

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

The EC2 security groups that control access to the studio component.

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

The EC2 security groups that control access to the studio component.

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

Initialization scripts for studio components.

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

Initialization scripts for studio components.

*/ @JvmName("imeqmvmhyubmasnb") public suspend fun initializationScripts(argument: List Unit>) { val toBeMapped = argument.toList().map { StudioComponentInitializationScriptArgsBuilder().applySuspend { it() }.build() } val mapped = of(toBeMapped) this.initializationScripts = mapped } /** * @param argument

Initialization scripts for studio components.

*/ @JvmName("puraubpeedcdfwjr") public suspend fun initializationScripts(vararg argument: suspend StudioComponentInitializationScriptArgsBuilder.() -> Unit) { val toBeMapped = argument.toList().map { StudioComponentInitializationScriptArgsBuilder().applySuspend { it() }.build() } val mapped = of(toBeMapped) this.initializationScripts = mapped } /** * @param argument

Initialization scripts for studio components.

*/ @JvmName("aufmysmnjrhtspsw") public suspend fun initializationScripts(argument: suspend StudioComponentInitializationScriptArgsBuilder.() -> Unit) { val toBeMapped = listOf( StudioComponentInitializationScriptArgsBuilder().applySuspend { argument() }.build(), ) val mapped = of(toBeMapped) this.initializationScripts = mapped } /** * @param values

Initialization scripts for studio components.

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

The name for the studio component.

*/ @JvmName("misuqoeygxwnawbg") public suspend fun name(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.name = mapped } /** * @param value An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. */ @JvmName("orbkjqcgquvrgmpp") public suspend fun runtimeRoleArn(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.runtimeRoleArn = mapped } /** * @param value

Parameters for the studio component scripts.

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

Parameters for the studio component scripts.

*/ @JvmName("fcgwnkheyolmfcwx") public suspend fun scriptParameters(argument: List Unit>) { val toBeMapped = argument.toList().map { StudioComponentScriptParameterKeyValueArgsBuilder().applySuspend { it() }.build() } val mapped = of(toBeMapped) this.scriptParameters = mapped } /** * @param argument

Parameters for the studio component scripts.

*/ @JvmName("igsybdmtpegcawnp") public suspend fun scriptParameters(vararg argument: suspend StudioComponentScriptParameterKeyValueArgsBuilder.() -> Unit) { val toBeMapped = argument.toList().map { StudioComponentScriptParameterKeyValueArgsBuilder().applySuspend { it() }.build() } val mapped = of(toBeMapped) this.scriptParameters = mapped } /** * @param argument

Parameters for the studio component scripts.

*/ @JvmName("gvgefrmpxuvvouhl") public suspend fun scriptParameters(argument: suspend StudioComponentScriptParameterKeyValueArgsBuilder.() -> Unit) { val toBeMapped = listOf( StudioComponentScriptParameterKeyValueArgsBuilder().applySuspend { argument() }.build(), ) val mapped = of(toBeMapped) this.scriptParameters = mapped } /** * @param values

Parameters for the studio component scripts.

*/ @JvmName("gpvsxokkrytudksl") public suspend fun scriptParameters(vararg values: StudioComponentScriptParameterKeyValueArgs) { val toBeMapped = values.toList() val mapped = toBeMapped.let({ args0 -> of(args0) }) this.scriptParameters = mapped } /** * @param value An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs. */ @JvmName("hbvjkuggreebvhnt") public suspend fun secureInitializationRoleArn(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.secureInitializationRoleArn = mapped } /** * @param value

The studio ID.

*/ @JvmName("obwjwdyaxnclmwfx") public suspend fun studioId(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.studioId = mapped } /** * @param value The specific subtype of a studio component. */ @JvmName("tmpjphmyxltarhcu") public suspend fun subtype(`value`: StudioComponentSubtype?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.subtype = 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("dwrjbjjuivbtijbc") 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("bhynhcyuoeuattwq") public fun tags(vararg values: Pair) { val toBeMapped = values.toMap() val mapped = toBeMapped.let({ args0 -> of(args0) }) this.tags = mapped } /** * @param value The type of the studio component. */ @JvmName("xfetopbmemsiuhjm") public suspend fun type(`value`: StudioComponentType?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.type = mapped } internal fun build(): StudioComponentArgs = StudioComponentArgs( configuration = configuration, description = description, ec2SecurityGroupIds = ec2SecurityGroupIds, initializationScripts = initializationScripts, name = name, runtimeRoleArn = runtimeRoleArn, scriptParameters = scriptParameters, secureInitializationRoleArn = secureInitializationRoleArn, studioId = studioId, subtype = subtype, tags = tags, type = type, ) }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy