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

com.pulumi.aws.sagemaker.kotlin.inputs.DomainDefaultUserSettingsJupyterLabAppSettingsArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.aws.sagemaker.kotlin.inputs

import com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsJupyterLabAppSettingsArgs.builder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property appLifecycleManagement Indicates whether idle shutdown is activated for JupyterLab applications. see `app_lifecycle_management` Block below.
 * @property builtInLifecycleConfigArn The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.
 * @property codeRepositories A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterServer application. see `code_repository` Block below.
 * @property customImages A list of custom SageMaker images that are configured to run as a JupyterLab app. see `custom_image` Block below.
 * @property defaultResourceSpec The default instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance. see `default_resource_spec` Block below.
 * @property emrSettings The configuration parameters that specify the IAM roles assumed by the execution role of SageMaker (assumable roles) and the cluster instances or job execution environments (execution roles or runtime roles) to manage and access resources required for running Amazon EMR clusters or Amazon EMR Serverless applications. see `emr_settings` Block below.
 * @property lifecycleConfigArns The Amazon Resource Name (ARN) of the Lifecycle Configurations.
 */
public data class DomainDefaultUserSettingsJupyterLabAppSettingsArgs(
    public val appLifecycleManagement: Output? = null,
    public val builtInLifecycleConfigArn: Output? = null,
    public val codeRepositories: Output>? = null,
    public val customImages: Output>? = null,
    public val defaultResourceSpec: Output? = null,
    public val emrSettings: Output? =
        null,
    public val lifecycleConfigArns: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsJupyterLabAppSettingsArgs =
        com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsJupyterLabAppSettingsArgs.builder()
            .appLifecycleManagement(
                appLifecycleManagement?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .builtInLifecycleConfigArn(builtInLifecycleConfigArn?.applyValue({ args0 -> args0 }))
            .codeRepositories(
                codeRepositories?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .customImages(
                customImages?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .defaultResourceSpec(
                defaultResourceSpec?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .emrSettings(emrSettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .lifecycleConfigArns(
                lifecycleConfigArns?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            ).build()
}

/**
 * Builder for [DomainDefaultUserSettingsJupyterLabAppSettingsArgs].
 */
@PulumiTagMarker
public class DomainDefaultUserSettingsJupyterLabAppSettingsArgsBuilder internal constructor() {
    private var appLifecycleManagement:
        Output? = null

    private var builtInLifecycleConfigArn: Output? = null

    private var codeRepositories:
        Output>? = null

    private var customImages:
        Output>? = null

    private var defaultResourceSpec:
        Output? = null

    private var emrSettings: Output? =
        null

    private var lifecycleConfigArns: Output>? = null

    /**
     * @param value Indicates whether idle shutdown is activated for JupyterLab applications. see `app_lifecycle_management` Block below.
     */
    @JvmName("oxdugxsghpcwokqy")
    public suspend fun appLifecycleManagement(`value`: Output) {
        this.appLifecycleManagement = value
    }

    /**
     * @param value The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.
     */
    @JvmName("nipolvtmvfngvttx")
    public suspend fun builtInLifecycleConfigArn(`value`: Output) {
        this.builtInLifecycleConfigArn = value
    }

    /**
     * @param value A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterServer application. see `code_repository` Block below.
     */
    @JvmName("mjicjhwpochunojt")
    public suspend fun codeRepositories(`value`: Output>) {
        this.codeRepositories = value
    }

    @JvmName("hybavkcctbdxavtt")
    public suspend fun codeRepositories(vararg values: Output) {
        this.codeRepositories = Output.all(values.asList())
    }

    /**
     * @param values A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterServer application. see `code_repository` Block below.
     */
    @JvmName("eoxxyeyfcqbsbpfv")
    public suspend fun codeRepositories(values: List>) {
        this.codeRepositories = Output.all(values)
    }

    /**
     * @param value A list of custom SageMaker images that are configured to run as a JupyterLab app. see `custom_image` Block below.
     */
    @JvmName("uenrqkhpevxrvrel")
    public suspend fun customImages(`value`: Output>) {
        this.customImages = value
    }

    @JvmName("qxmbsrqdeyvvkphh")
    public suspend fun customImages(vararg values: Output) {
        this.customImages = Output.all(values.asList())
    }

    /**
     * @param values A list of custom SageMaker images that are configured to run as a JupyterLab app. see `custom_image` Block below.
     */
    @JvmName("coyilmethmkqykji")
    public suspend fun customImages(values: List>) {
        this.customImages = Output.all(values)
    }

    /**
     * @param value The default instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance. see `default_resource_spec` Block below.
     */
    @JvmName("vffgkasepcmgpeet")
    public suspend fun defaultResourceSpec(`value`: Output) {
        this.defaultResourceSpec = value
    }

    /**
     * @param value The configuration parameters that specify the IAM roles assumed by the execution role of SageMaker (assumable roles) and the cluster instances or job execution environments (execution roles or runtime roles) to manage and access resources required for running Amazon EMR clusters or Amazon EMR Serverless applications. see `emr_settings` Block below.
     */
    @JvmName("sbclauplyvspdwgj")
    public suspend fun emrSettings(`value`: Output) {
        this.emrSettings = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the Lifecycle Configurations.
     */
    @JvmName("nonnaduryktkqgml")
    public suspend fun lifecycleConfigArns(`value`: Output>) {
        this.lifecycleConfigArns = value
    }

    @JvmName("tujaxyrvusamlvhk")
    public suspend fun lifecycleConfigArns(vararg values: Output) {
        this.lifecycleConfigArns = Output.all(values.asList())
    }

    /**
     * @param values The Amazon Resource Name (ARN) of the Lifecycle Configurations.
     */
    @JvmName("ybqiwwwyuvderjno")
    public suspend fun lifecycleConfigArns(values: List>) {
        this.lifecycleConfigArns = Output.all(values)
    }

    /**
     * @param value Indicates whether idle shutdown is activated for JupyterLab applications. see `app_lifecycle_management` Block below.
     */
    @JvmName("pxljroehfmdisixe")
    public suspend fun appLifecycleManagement(`value`: DomainDefaultUserSettingsJupyterLabAppSettingsAppLifecycleManagementArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.appLifecycleManagement = mapped
    }

    /**
     * @param argument Indicates whether idle shutdown is activated for JupyterLab applications. see `app_lifecycle_management` Block below.
     */
    @JvmName("upluflhukdlqewfy")
    public suspend fun appLifecycleManagement(argument: suspend DomainDefaultUserSettingsJupyterLabAppSettingsAppLifecycleManagementArgsBuilder.() -> Unit) {
        val toBeMapped =
            DomainDefaultUserSettingsJupyterLabAppSettingsAppLifecycleManagementArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.appLifecycleManagement = mapped
    }

    /**
     * @param value The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.
     */
    @JvmName("jimjbdcipwufeyly")
    public suspend fun builtInLifecycleConfigArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.builtInLifecycleConfigArn = mapped
    }

    /**
     * @param value A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterServer application. see `code_repository` Block below.
     */
    @JvmName("ktbllxxrjsjsmglt")
    public suspend fun codeRepositories(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.codeRepositories = mapped
    }

    /**
     * @param argument A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterServer application. see `code_repository` Block below.
     */
    @JvmName("xhlqwtdujytnsfmj")
    public suspend fun codeRepositories(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            DomainDefaultUserSettingsJupyterLabAppSettingsCodeRepositoryArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.codeRepositories = mapped
    }

    /**
     * @param argument A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterServer application. see `code_repository` Block below.
     */
    @JvmName("jqlvlwgmdcdgaxsu")
    public suspend fun codeRepositories(vararg argument: suspend DomainDefaultUserSettingsJupyterLabAppSettingsCodeRepositoryArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            DomainDefaultUserSettingsJupyterLabAppSettingsCodeRepositoryArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.codeRepositories = mapped
    }

    /**
     * @param argument A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterServer application. see `code_repository` Block below.
     */
    @JvmName("ouhtxxetafberpds")
    public suspend fun codeRepositories(argument: suspend DomainDefaultUserSettingsJupyterLabAppSettingsCodeRepositoryArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                DomainDefaultUserSettingsJupyterLabAppSettingsCodeRepositoryArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.codeRepositories = mapped
    }

    /**
     * @param values A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterServer application. see `code_repository` Block below.
     */
    @JvmName("vhokjthdbvtxwsqh")
    public suspend fun codeRepositories(vararg values: DomainDefaultUserSettingsJupyterLabAppSettingsCodeRepositoryArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.codeRepositories = mapped
    }

    /**
     * @param value A list of custom SageMaker images that are configured to run as a JupyterLab app. see `custom_image` Block below.
     */
    @JvmName("fkatdtlusqitrsev")
    public suspend fun customImages(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customImages = mapped
    }

    /**
     * @param argument A list of custom SageMaker images that are configured to run as a JupyterLab app. see `custom_image` Block below.
     */
    @JvmName("uormffckhvwinxag")
    public suspend fun customImages(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            DomainDefaultUserSettingsJupyterLabAppSettingsCustomImageArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customImages = mapped
    }

    /**
     * @param argument A list of custom SageMaker images that are configured to run as a JupyterLab app. see `custom_image` Block below.
     */
    @JvmName("krekywdhesyifryd")
    public suspend fun customImages(vararg argument: suspend DomainDefaultUserSettingsJupyterLabAppSettingsCustomImageArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            DomainDefaultUserSettingsJupyterLabAppSettingsCustomImageArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customImages = mapped
    }

    /**
     * @param argument A list of custom SageMaker images that are configured to run as a JupyterLab app. see `custom_image` Block below.
     */
    @JvmName("rqfivxyhwjufpups")
    public suspend fun customImages(argument: suspend DomainDefaultUserSettingsJupyterLabAppSettingsCustomImageArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                DomainDefaultUserSettingsJupyterLabAppSettingsCustomImageArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.customImages = mapped
    }

    /**
     * @param values A list of custom SageMaker images that are configured to run as a JupyterLab app. see `custom_image` Block below.
     */
    @JvmName("vqikmnghrayseuuo")
    public suspend fun customImages(vararg values: DomainDefaultUserSettingsJupyterLabAppSettingsCustomImageArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customImages = mapped
    }

    /**
     * @param value The default instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance. see `default_resource_spec` Block below.
     */
    @JvmName("mpxyvrdeboosfxkj")
    public suspend fun defaultResourceSpec(`value`: DomainDefaultUserSettingsJupyterLabAppSettingsDefaultResourceSpecArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.defaultResourceSpec = mapped
    }

    /**
     * @param argument The default instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance. see `default_resource_spec` Block below.
     */
    @JvmName("jowywlhncoaquiyo")
    public suspend fun defaultResourceSpec(argument: suspend DomainDefaultUserSettingsJupyterLabAppSettingsDefaultResourceSpecArgsBuilder.() -> Unit) {
        val toBeMapped =
            DomainDefaultUserSettingsJupyterLabAppSettingsDefaultResourceSpecArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.defaultResourceSpec = mapped
    }

    /**
     * @param value The configuration parameters that specify the IAM roles assumed by the execution role of SageMaker (assumable roles) and the cluster instances or job execution environments (execution roles or runtime roles) to manage and access resources required for running Amazon EMR clusters or Amazon EMR Serverless applications. see `emr_settings` Block below.
     */
    @JvmName("omvqrkrkmkxcidmf")
    public suspend fun emrSettings(`value`: DomainDefaultUserSettingsJupyterLabAppSettingsEmrSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.emrSettings = mapped
    }

    /**
     * @param argument The configuration parameters that specify the IAM roles assumed by the execution role of SageMaker (assumable roles) and the cluster instances or job execution environments (execution roles or runtime roles) to manage and access resources required for running Amazon EMR clusters or Amazon EMR Serverless applications. see `emr_settings` Block below.
     */
    @JvmName("jpoqnncwtqfcxxut")
    public suspend fun emrSettings(argument: suspend DomainDefaultUserSettingsJupyterLabAppSettingsEmrSettingsArgsBuilder.() -> Unit) {
        val toBeMapped =
            DomainDefaultUserSettingsJupyterLabAppSettingsEmrSettingsArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.emrSettings = mapped
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the Lifecycle Configurations.
     */
    @JvmName("gmjefpmxxwysbvwa")
    public suspend fun lifecycleConfigArns(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.lifecycleConfigArns = mapped
    }

    /**
     * @param values The Amazon Resource Name (ARN) of the Lifecycle Configurations.
     */
    @JvmName("ibekaiidmqmsxrwe")
    public suspend fun lifecycleConfigArns(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.lifecycleConfigArns = mapped
    }

    internal fun build(): DomainDefaultUserSettingsJupyterLabAppSettingsArgs =
        DomainDefaultUserSettingsJupyterLabAppSettingsArgs(
            appLifecycleManagement = appLifecycleManagement,
            builtInLifecycleConfigArn = builtInLifecycleConfigArn,
            codeRepositories = codeRepositories,
            customImages = customImages,
            defaultResourceSpec = defaultResourceSpec,
            emrSettings = emrSettings,
            lifecycleConfigArns = lifecycleConfigArns,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy