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

com.pulumi.aws.sagemaker.kotlin.inputs.DomainDefaultSpaceSettingsArgs.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: 6.57.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.aws.sagemaker.inputs.DomainDefaultSpaceSettingsArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
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 customFileSystemConfigs The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker Studio. See `custom_file_system_config` Block below.
 * @property customPosixUserConfig Details about the POSIX identity that is used for file system operations. See `custom_posix_user_config` Block below.
 * @property executionRole The execution role for the space.
 * @property jupyterLabAppSettings The settings for the JupyterLab application. See `jupyter_lab_app_settings` Block below.
 * @property jupyterServerAppSettings The Jupyter server's app settings. See `jupyter_server_app_settings` Block below.
 * @property kernelGatewayAppSettings The kernel gateway app settings. See `kernel_gateway_app_settings` Block below.
 * @property securityGroups The security groups for the Amazon Virtual Private Cloud that the space uses for communication.
 * @property spaceStorageSettings The storage settings for a private space. See `space_storage_settings` Block below.
 */
public data class DomainDefaultSpaceSettingsArgs(
    public val customFileSystemConfigs: Output>? = null,
    public val customPosixUserConfig: Output? =
        null,
    public val executionRole: Output,
    public val jupyterLabAppSettings: Output? =
        null,
    public val jupyterServerAppSettings: Output? = null,
    public val kernelGatewayAppSettings: Output? = null,
    public val securityGroups: Output>? = null,
    public val spaceStorageSettings: Output? =
        null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.sagemaker.inputs.DomainDefaultSpaceSettingsArgs =
        com.pulumi.aws.sagemaker.inputs.DomainDefaultSpaceSettingsArgs.builder()
            .customFileSystemConfigs(
                customFileSystemConfigs?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .customPosixUserConfig(
                customPosixUserConfig?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .executionRole(executionRole.applyValue({ args0 -> args0 }))
            .jupyterLabAppSettings(
                jupyterLabAppSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .jupyterServerAppSettings(
                jupyterServerAppSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .kernelGatewayAppSettings(
                kernelGatewayAppSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .securityGroups(securityGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .spaceStorageSettings(
                spaceStorageSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [DomainDefaultSpaceSettingsArgs].
 */
@PulumiTagMarker
public class DomainDefaultSpaceSettingsArgsBuilder internal constructor() {
    private var customFileSystemConfigs:
        Output>? = null

    private var customPosixUserConfig: Output? =
        null

    private var executionRole: Output? = null

    private var jupyterLabAppSettings: Output? =
        null

    private var jupyterServerAppSettings:
        Output? = null

    private var kernelGatewayAppSettings:
        Output? = null

    private var securityGroups: Output>? = null

    private var spaceStorageSettings: Output? =
        null

    /**
     * @param value The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker Studio. See `custom_file_system_config` Block below.
     */
    @JvmName("vqtukbclesqfulxk")
    public suspend fun customFileSystemConfigs(`value`: Output>) {
        this.customFileSystemConfigs = value
    }

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

    /**
     * @param values The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker Studio. See `custom_file_system_config` Block below.
     */
    @JvmName("doargpdwnjasjlbn")
    public suspend fun customFileSystemConfigs(values: List>) {
        this.customFileSystemConfigs = Output.all(values)
    }

    /**
     * @param value Details about the POSIX identity that is used for file system operations. See `custom_posix_user_config` Block below.
     */
    @JvmName("ylitdodbuhbbkbir")
    public suspend fun customPosixUserConfig(`value`: Output) {
        this.customPosixUserConfig = value
    }

    /**
     * @param value The execution role for the space.
     */
    @JvmName("duwnlwdcffojtsnj")
    public suspend fun executionRole(`value`: Output) {
        this.executionRole = value
    }

    /**
     * @param value The settings for the JupyterLab application. See `jupyter_lab_app_settings` Block below.
     */
    @JvmName("cdtfmdujuseiedfe")
    public suspend fun jupyterLabAppSettings(`value`: Output) {
        this.jupyterLabAppSettings = value
    }

    /**
     * @param value The Jupyter server's app settings. See `jupyter_server_app_settings` Block below.
     */
    @JvmName("otivwdkknoqmtfdc")
    public suspend fun jupyterServerAppSettings(`value`: Output) {
        this.jupyterServerAppSettings = value
    }

    /**
     * @param value The kernel gateway app settings. See `kernel_gateway_app_settings` Block below.
     */
    @JvmName("doyjwwfckcdnttqj")
    public suspend fun kernelGatewayAppSettings(`value`: Output) {
        this.kernelGatewayAppSettings = value
    }

    /**
     * @param value The security groups for the Amazon Virtual Private Cloud that the space uses for communication.
     */
    @JvmName("ureipjyrseyufodt")
    public suspend fun securityGroups(`value`: Output>) {
        this.securityGroups = value
    }

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

    /**
     * @param values The security groups for the Amazon Virtual Private Cloud that the space uses for communication.
     */
    @JvmName("opsgysnbwnxpexlh")
    public suspend fun securityGroups(values: List>) {
        this.securityGroups = Output.all(values)
    }

    /**
     * @param value The storage settings for a private space. See `space_storage_settings` Block below.
     */
    @JvmName("obdtugtytoqftlnm")
    public suspend fun spaceStorageSettings(`value`: Output) {
        this.spaceStorageSettings = value
    }

    /**
     * @param value The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker Studio. See `custom_file_system_config` Block below.
     */
    @JvmName("ukygqltovcglgiag")
    public suspend fun customFileSystemConfigs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customFileSystemConfigs = mapped
    }

    /**
     * @param argument The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker Studio. See `custom_file_system_config` Block below.
     */
    @JvmName("eyxpqikuqalmpkbg")
    public suspend fun customFileSystemConfigs(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            DomainDefaultSpaceSettingsCustomFileSystemConfigArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.customFileSystemConfigs = mapped
    }

    /**
     * @param argument The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker Studio. See `custom_file_system_config` Block below.
     */
    @JvmName("tlgcuoatdmvrwmwa")
    public suspend fun customFileSystemConfigs(vararg argument: suspend DomainDefaultSpaceSettingsCustomFileSystemConfigArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            DomainDefaultSpaceSettingsCustomFileSystemConfigArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.customFileSystemConfigs = mapped
    }

    /**
     * @param argument The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker Studio. See `custom_file_system_config` Block below.
     */
    @JvmName("ystqjspfpoaslfac")
    public suspend fun customFileSystemConfigs(argument: suspend DomainDefaultSpaceSettingsCustomFileSystemConfigArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                DomainDefaultSpaceSettingsCustomFileSystemConfigArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.customFileSystemConfigs = mapped
    }

    /**
     * @param values The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker Studio. See `custom_file_system_config` Block below.
     */
    @JvmName("kmipthjyohrdrdqu")
    public suspend fun customFileSystemConfigs(vararg values: DomainDefaultSpaceSettingsCustomFileSystemConfigArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customFileSystemConfigs = mapped
    }

    /**
     * @param value Details about the POSIX identity that is used for file system operations. See `custom_posix_user_config` Block below.
     */
    @JvmName("cjfuctetmdfdqcuq")
    public suspend fun customPosixUserConfig(`value`: DomainDefaultSpaceSettingsCustomPosixUserConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customPosixUserConfig = mapped
    }

    /**
     * @param argument Details about the POSIX identity that is used for file system operations. See `custom_posix_user_config` Block below.
     */
    @JvmName("gpldbqhigddlvdws")
    public suspend fun customPosixUserConfig(argument: suspend DomainDefaultSpaceSettingsCustomPosixUserConfigArgsBuilder.() -> Unit) {
        val toBeMapped = DomainDefaultSpaceSettingsCustomPosixUserConfigArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.customPosixUserConfig = mapped
    }

    /**
     * @param value The execution role for the space.
     */
    @JvmName("rhlkglqrtfxmxvuw")
    public suspend fun executionRole(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.executionRole = mapped
    }

    /**
     * @param value The settings for the JupyterLab application. See `jupyter_lab_app_settings` Block below.
     */
    @JvmName("noqwwnctnrmahryq")
    public suspend fun jupyterLabAppSettings(`value`: DomainDefaultSpaceSettingsJupyterLabAppSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.jupyterLabAppSettings = mapped
    }

    /**
     * @param argument The settings for the JupyterLab application. See `jupyter_lab_app_settings` Block below.
     */
    @JvmName("jtydcwcfdpvtnwss")
    public suspend fun jupyterLabAppSettings(argument: suspend DomainDefaultSpaceSettingsJupyterLabAppSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = DomainDefaultSpaceSettingsJupyterLabAppSettingsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.jupyterLabAppSettings = mapped
    }

    /**
     * @param value The Jupyter server's app settings. See `jupyter_server_app_settings` Block below.
     */
    @JvmName("vkbribcrxxwobqiq")
    public suspend fun jupyterServerAppSettings(`value`: DomainDefaultSpaceSettingsJupyterServerAppSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.jupyterServerAppSettings = mapped
    }

    /**
     * @param argument The Jupyter server's app settings. See `jupyter_server_app_settings` Block below.
     */
    @JvmName("hpdxglrigstljucm")
    public suspend fun jupyterServerAppSettings(argument: suspend DomainDefaultSpaceSettingsJupyterServerAppSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = DomainDefaultSpaceSettingsJupyterServerAppSettingsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.jupyterServerAppSettings = mapped
    }

    /**
     * @param value The kernel gateway app settings. See `kernel_gateway_app_settings` Block below.
     */
    @JvmName("jdaesewfrxhaalfx")
    public suspend fun kernelGatewayAppSettings(`value`: DomainDefaultSpaceSettingsKernelGatewayAppSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kernelGatewayAppSettings = mapped
    }

    /**
     * @param argument The kernel gateway app settings. See `kernel_gateway_app_settings` Block below.
     */
    @JvmName("xurafbuacpiicbku")
    public suspend fun kernelGatewayAppSettings(argument: suspend DomainDefaultSpaceSettingsKernelGatewayAppSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = DomainDefaultSpaceSettingsKernelGatewayAppSettingsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.kernelGatewayAppSettings = mapped
    }

    /**
     * @param value The security groups for the Amazon Virtual Private Cloud that the space uses for communication.
     */
    @JvmName("gtsbhrmhydmkfxxh")
    public suspend fun securityGroups(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.securityGroups = mapped
    }

    /**
     * @param values The security groups for the Amazon Virtual Private Cloud that the space uses for communication.
     */
    @JvmName("sjfgxmyywfweacvi")
    public suspend fun securityGroups(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.securityGroups = mapped
    }

    /**
     * @param value The storage settings for a private space. See `space_storage_settings` Block below.
     */
    @JvmName("wjvbhkxejngawjcn")
    public suspend fun spaceStorageSettings(`value`: DomainDefaultSpaceSettingsSpaceStorageSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.spaceStorageSettings = mapped
    }

    /**
     * @param argument The storage settings for a private space. See `space_storage_settings` Block below.
     */
    @JvmName("ktiqhdqkihxuktwh")
    public suspend fun spaceStorageSettings(argument: suspend DomainDefaultSpaceSettingsSpaceStorageSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = DomainDefaultSpaceSettingsSpaceStorageSettingsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.spaceStorageSettings = mapped
    }

    internal fun build(): DomainDefaultSpaceSettingsArgs = DomainDefaultSpaceSettingsArgs(
        customFileSystemConfigs = customFileSystemConfigs,
        customPosixUserConfig = customPosixUserConfig,
        executionRole = executionRole ?: throw PulumiNullFieldException("executionRole"),
        jupyterLabAppSettings = jupyterLabAppSettings,
        jupyterServerAppSettings = jupyterServerAppSettings,
        kernelGatewayAppSettings = kernelGatewayAppSettings,
        securityGroups = securityGroups,
        spaceStorageSettings = spaceStorageSettings,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy