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

com.pulumi.aws.mq.kotlin.inputs.BrokerUserArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.aws.mq.kotlin.inputs

import com.pulumi.aws.mq.inputs.BrokerUserArgs.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 kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property consoleAccess Whether to enable access to the [ActiveMQ Web Console](http://activemq.apache.org/web-console.html) for the user. Applies to `engine_type` of `ActiveMQ` only.
 * @property groups List of groups (20 maximum) to which the ActiveMQ user belongs. Applies to `engine_type` of `ActiveMQ` only.
 * @property password Password of the user. It must be 12 to 250 characters long, at least 4 unique characters, and must not contain commas.
 * @property replicationUser Whether to set set replication user. Defaults to `false`.
 * @property username Username of the user.
 * > **NOTE:** AWS currently does not support updating RabbitMQ users. Updates to users can only be in the RabbitMQ UI.
 */
public data class BrokerUserArgs(
    public val consoleAccess: Output? = null,
    public val groups: Output>? = null,
    public val password: Output,
    public val replicationUser: Output? = null,
    public val username: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.mq.inputs.BrokerUserArgs =
        com.pulumi.aws.mq.inputs.BrokerUserArgs.builder()
            .consoleAccess(consoleAccess?.applyValue({ args0 -> args0 }))
            .groups(groups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .password(password.applyValue({ args0 -> args0 }))
            .replicationUser(replicationUser?.applyValue({ args0 -> args0 }))
            .username(username.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [BrokerUserArgs].
 */
@PulumiTagMarker
public class BrokerUserArgsBuilder internal constructor() {
    private var consoleAccess: Output? = null

    private var groups: Output>? = null

    private var password: Output? = null

    private var replicationUser: Output? = null

    private var username: Output? = null

    /**
     * @param value Whether to enable access to the [ActiveMQ Web Console](http://activemq.apache.org/web-console.html) for the user. Applies to `engine_type` of `ActiveMQ` only.
     */
    @JvmName("hcqgjhxyochlhvfs")
    public suspend fun consoleAccess(`value`: Output) {
        this.consoleAccess = value
    }

    /**
     * @param value List of groups (20 maximum) to which the ActiveMQ user belongs. Applies to `engine_type` of `ActiveMQ` only.
     */
    @JvmName("ruougiknvmcwupkh")
    public suspend fun groups(`value`: Output>) {
        this.groups = value
    }

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

    /**
     * @param values List of groups (20 maximum) to which the ActiveMQ user belongs. Applies to `engine_type` of `ActiveMQ` only.
     */
    @JvmName("nwhsquwqkubxiwgy")
    public suspend fun groups(values: List>) {
        this.groups = Output.all(values)
    }

    /**
     * @param value Password of the user. It must be 12 to 250 characters long, at least 4 unique characters, and must not contain commas.
     */
    @JvmName("cdngfxlaevmmysrn")
    public suspend fun password(`value`: Output) {
        this.password = value
    }

    /**
     * @param value Whether to set set replication user. Defaults to `false`.
     */
    @JvmName("aoyplbapcqsmtngu")
    public suspend fun replicationUser(`value`: Output) {
        this.replicationUser = value
    }

    /**
     * @param value Username of the user.
     * > **NOTE:** AWS currently does not support updating RabbitMQ users. Updates to users can only be in the RabbitMQ UI.
     */
    @JvmName("jfalothcufnmprde")
    public suspend fun username(`value`: Output) {
        this.username = value
    }

    /**
     * @param value Whether to enable access to the [ActiveMQ Web Console](http://activemq.apache.org/web-console.html) for the user. Applies to `engine_type` of `ActiveMQ` only.
     */
    @JvmName("njpoynvixgeyclld")
    public suspend fun consoleAccess(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.consoleAccess = mapped
    }

    /**
     * @param value List of groups (20 maximum) to which the ActiveMQ user belongs. Applies to `engine_type` of `ActiveMQ` only.
     */
    @JvmName("eabgokknmlkjknam")
    public suspend fun groups(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.groups = mapped
    }

    /**
     * @param values List of groups (20 maximum) to which the ActiveMQ user belongs. Applies to `engine_type` of `ActiveMQ` only.
     */
    @JvmName("qelrffgjleoohpob")
    public suspend fun groups(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.groups = mapped
    }

    /**
     * @param value Password of the user. It must be 12 to 250 characters long, at least 4 unique characters, and must not contain commas.
     */
    @JvmName("ykxbmnuadqmqrrgy")
    public suspend fun password(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.password = mapped
    }

    /**
     * @param value Whether to set set replication user. Defaults to `false`.
     */
    @JvmName("mymcyrxhnlcipwun")
    public suspend fun replicationUser(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.replicationUser = mapped
    }

    /**
     * @param value Username of the user.
     * > **NOTE:** AWS currently does not support updating RabbitMQ users. Updates to users can only be in the RabbitMQ UI.
     */
    @JvmName("witobbwkdidlbojm")
    public suspend fun username(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.username = mapped
    }

    internal fun build(): BrokerUserArgs = BrokerUserArgs(
        consoleAccess = consoleAccess,
        groups = groups,
        password = password ?: throw PulumiNullFieldException("password"),
        replicationUser = replicationUser,
        username = username ?: throw PulumiNullFieldException("username"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy