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

com.pulumi.awsnative.opensearchservice.kotlin.inputs.DomainAdvancedSecurityOptionsInputArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.opensearchservice.kotlin.inputs

import com.pulumi.awsnative.opensearchservice.inputs.DomainAdvancedSecurityOptionsInputArgs.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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property anonymousAuthDisableDate Date and time when the migration period will be disabled. Only necessary when [enabling fine-grained access control on an existing domain](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-enabling-existing) .
 * @property anonymousAuthEnabled True to enable a 30-day migration period during which administrators can create role mappings. Only necessary when [enabling fine-grained access control on an existing domain](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-enabling-existing) .
 * @property enabled True to enable fine-grained access control. You must also enable encryption of data at rest and node-to-node encryption. See [Fine-grained access control in Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html) .
 * @property internalUserDatabaseEnabled True to enable the internal user database.
 * @property masterUserOptions Specifies information about the master user.
 * @property samlOptions Container for information about the SAML configuration for OpenSearch Dashboards.
 */
public data class DomainAdvancedSecurityOptionsInputArgs(
    public val anonymousAuthDisableDate: Output? = null,
    public val anonymousAuthEnabled: Output? = null,
    public val enabled: Output? = null,
    public val internalUserDatabaseEnabled: Output? = null,
    public val masterUserOptions: Output? = null,
    public val samlOptions: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.opensearchservice.inputs.DomainAdvancedSecurityOptionsInputArgs =
        com.pulumi.awsnative.opensearchservice.inputs.DomainAdvancedSecurityOptionsInputArgs.builder()
            .anonymousAuthDisableDate(anonymousAuthDisableDate?.applyValue({ args0 -> args0 }))
            .anonymousAuthEnabled(anonymousAuthEnabled?.applyValue({ args0 -> args0 }))
            .enabled(enabled?.applyValue({ args0 -> args0 }))
            .internalUserDatabaseEnabled(internalUserDatabaseEnabled?.applyValue({ args0 -> args0 }))
            .masterUserOptions(masterUserOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .samlOptions(samlOptions?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [DomainAdvancedSecurityOptionsInputArgs].
 */
@PulumiTagMarker
public class DomainAdvancedSecurityOptionsInputArgsBuilder internal constructor() {
    private var anonymousAuthDisableDate: Output? = null

    private var anonymousAuthEnabled: Output? = null

    private var enabled: Output? = null

    private var internalUserDatabaseEnabled: Output? = null

    private var masterUserOptions: Output? = null

    private var samlOptions: Output? = null

    /**
     * @param value Date and time when the migration period will be disabled. Only necessary when [enabling fine-grained access control on an existing domain](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-enabling-existing) .
     */
    @JvmName("sicbidttvrgmxqwe")
    public suspend fun anonymousAuthDisableDate(`value`: Output) {
        this.anonymousAuthDisableDate = value
    }

    /**
     * @param value True to enable a 30-day migration period during which administrators can create role mappings. Only necessary when [enabling fine-grained access control on an existing domain](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-enabling-existing) .
     */
    @JvmName("chyyqaancrewuhok")
    public suspend fun anonymousAuthEnabled(`value`: Output) {
        this.anonymousAuthEnabled = value
    }

    /**
     * @param value True to enable fine-grained access control. You must also enable encryption of data at rest and node-to-node encryption. See [Fine-grained access control in Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html) .
     */
    @JvmName("lmiqsxwvostefllv")
    public suspend fun enabled(`value`: Output) {
        this.enabled = value
    }

    /**
     * @param value True to enable the internal user database.
     */
    @JvmName("gejfuqhdcypyvhek")
    public suspend fun internalUserDatabaseEnabled(`value`: Output) {
        this.internalUserDatabaseEnabled = value
    }

    /**
     * @param value Specifies information about the master user.
     */
    @JvmName("tdtobhxshmiexaip")
    public suspend fun masterUserOptions(`value`: Output) {
        this.masterUserOptions = value
    }

    /**
     * @param value Container for information about the SAML configuration for OpenSearch Dashboards.
     */
    @JvmName("ltadalxoqiaioegn")
    public suspend fun samlOptions(`value`: Output) {
        this.samlOptions = value
    }

    /**
     * @param value Date and time when the migration period will be disabled. Only necessary when [enabling fine-grained access control on an existing domain](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-enabling-existing) .
     */
    @JvmName("ktevldxgiqoofodg")
    public suspend fun anonymousAuthDisableDate(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.anonymousAuthDisableDate = mapped
    }

    /**
     * @param value True to enable a 30-day migration period during which administrators can create role mappings. Only necessary when [enabling fine-grained access control on an existing domain](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-enabling-existing) .
     */
    @JvmName("hhobcbjpxdbusbsi")
    public suspend fun anonymousAuthEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.anonymousAuthEnabled = mapped
    }

    /**
     * @param value True to enable fine-grained access control. You must also enable encryption of data at rest and node-to-node encryption. See [Fine-grained access control in Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html) .
     */
    @JvmName("meicswyindprrrbj")
    public suspend fun enabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enabled = mapped
    }

    /**
     * @param value True to enable the internal user database.
     */
    @JvmName("lhmkykpdsthfumyt")
    public suspend fun internalUserDatabaseEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.internalUserDatabaseEnabled = mapped
    }

    /**
     * @param value Specifies information about the master user.
     */
    @JvmName("gcsyxqbmdgaqhehm")
    public suspend fun masterUserOptions(`value`: DomainMasterUserOptionsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.masterUserOptions = mapped
    }

    /**
     * @param argument Specifies information about the master user.
     */
    @JvmName("ftfxpdptgpvclifd")
    public suspend fun masterUserOptions(argument: suspend DomainMasterUserOptionsArgsBuilder.() -> Unit) {
        val toBeMapped = DomainMasterUserOptionsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.masterUserOptions = mapped
    }

    /**
     * @param value Container for information about the SAML configuration for OpenSearch Dashboards.
     */
    @JvmName("yjaqdbhubasfqhkp")
    public suspend fun samlOptions(`value`: DomainSamlOptionsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.samlOptions = mapped
    }

    /**
     * @param argument Container for information about the SAML configuration for OpenSearch Dashboards.
     */
    @JvmName("ylsqdultffhnpybj")
    public suspend fun samlOptions(argument: suspend DomainSamlOptionsArgsBuilder.() -> Unit) {
        val toBeMapped = DomainSamlOptionsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.samlOptions = mapped
    }

    internal fun build(): DomainAdvancedSecurityOptionsInputArgs =
        DomainAdvancedSecurityOptionsInputArgs(
            anonymousAuthDisableDate = anonymousAuthDisableDate,
            anonymousAuthEnabled = anonymousAuthEnabled,
            enabled = enabled,
            internalUserDatabaseEnabled = internalUserDatabaseEnabled,
            masterUserOptions = masterUserOptions,
            samlOptions = samlOptions,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy