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

com.pulumi.awsnative.securityhub.kotlin.inputs.ConfigurationPolicySecurityControlsConfigurationArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.securityhub.kotlin.inputs

import com.pulumi.awsnative.securityhub.inputs.ConfigurationPolicySecurityControlsConfigurationArgs.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

/**
 * An object that defines which security controls are enabled in an AWS Security Hub configuration policy.
 * @property disabledSecurityControlIdentifiers A list of security controls that are disabled in the configuration policy
 * @property enabledSecurityControlIdentifiers A list of security controls that are enabled in the configuration policy.
 * @property securityControlCustomParameters A list of security controls and control parameter values that are included in a configuration policy.
 */
public data class ConfigurationPolicySecurityControlsConfigurationArgs(
    public val disabledSecurityControlIdentifiers: Output>? = null,
    public val enabledSecurityControlIdentifiers: Output>? = null,
    public val securityControlCustomParameters: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.securityhub.inputs.ConfigurationPolicySecurityControlsConfigurationArgs =
        com.pulumi.awsnative.securityhub.inputs.ConfigurationPolicySecurityControlsConfigurationArgs.builder()
            .disabledSecurityControlIdentifiers(
                disabledSecurityControlIdentifiers?.applyValue({ args0 ->
                    args0.map({ args0 -> args0 })
                }),
            )
            .enabledSecurityControlIdentifiers(
                enabledSecurityControlIdentifiers?.applyValue({ args0 ->
                    args0.map({ args0 -> args0 })
                }),
            )
            .securityControlCustomParameters(
                securityControlCustomParameters?.applyValue({ args0 ->
                    args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            ).build()
}

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

    private var enabledSecurityControlIdentifiers: Output>? = null

    private var securityControlCustomParameters:
        Output>? = null

    /**
     * @param value A list of security controls that are disabled in the configuration policy
     */
    @JvmName("ejsxvjdfcgdvctni")
    public suspend fun disabledSecurityControlIdentifiers(`value`: Output>) {
        this.disabledSecurityControlIdentifiers = value
    }

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

    /**
     * @param values A list of security controls that are disabled in the configuration policy
     */
    @JvmName("exdvrpuregygpves")
    public suspend fun disabledSecurityControlIdentifiers(values: List>) {
        this.disabledSecurityControlIdentifiers = Output.all(values)
    }

    /**
     * @param value A list of security controls that are enabled in the configuration policy.
     */
    @JvmName("xglikrmjruigtbih")
    public suspend fun enabledSecurityControlIdentifiers(`value`: Output>) {
        this.enabledSecurityControlIdentifiers = value
    }

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

    /**
     * @param values A list of security controls that are enabled in the configuration policy.
     */
    @JvmName("eldlohkssrbgxqch")
    public suspend fun enabledSecurityControlIdentifiers(values: List>) {
        this.enabledSecurityControlIdentifiers = Output.all(values)
    }

    /**
     * @param value A list of security controls and control parameter values that are included in a configuration policy.
     */
    @JvmName("dwjkomedcuyatyuc")
    public suspend fun securityControlCustomParameters(`value`: Output>) {
        this.securityControlCustomParameters = value
    }

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

    /**
     * @param values A list of security controls and control parameter values that are included in a configuration policy.
     */
    @JvmName("jxihwmvdgoaxyfjl")
    public suspend fun securityControlCustomParameters(values: List>) {
        this.securityControlCustomParameters = Output.all(values)
    }

    /**
     * @param value A list of security controls that are disabled in the configuration policy
     */
    @JvmName("dvlxwsygklaylptg")
    public suspend fun disabledSecurityControlIdentifiers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disabledSecurityControlIdentifiers = mapped
    }

    /**
     * @param values A list of security controls that are disabled in the configuration policy
     */
    @JvmName("hovmgymnfnbynfca")
    public suspend fun disabledSecurityControlIdentifiers(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.disabledSecurityControlIdentifiers = mapped
    }

    /**
     * @param value A list of security controls that are enabled in the configuration policy.
     */
    @JvmName("tmcoycwfmumgedae")
    public suspend fun enabledSecurityControlIdentifiers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enabledSecurityControlIdentifiers = mapped
    }

    /**
     * @param values A list of security controls that are enabled in the configuration policy.
     */
    @JvmName("ihsgiomvujfmvbvk")
    public suspend fun enabledSecurityControlIdentifiers(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.enabledSecurityControlIdentifiers = mapped
    }

    /**
     * @param value A list of security controls and control parameter values that are included in a configuration policy.
     */
    @JvmName("rwlabcrpupfplwxm")
    public suspend fun securityControlCustomParameters(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.securityControlCustomParameters = mapped
    }

    /**
     * @param argument A list of security controls and control parameter values that are included in a configuration policy.
     */
    @JvmName("krwyoygpwqhgrkxl")
    public suspend fun securityControlCustomParameters(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ConfigurationPolicySecurityControlCustomParameterArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.securityControlCustomParameters = mapped
    }

    /**
     * @param argument A list of security controls and control parameter values that are included in a configuration policy.
     */
    @JvmName("hhvbxtlyqucorvex")
    public suspend fun securityControlCustomParameters(vararg argument: suspend ConfigurationPolicySecurityControlCustomParameterArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ConfigurationPolicySecurityControlCustomParameterArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.securityControlCustomParameters = mapped
    }

    /**
     * @param argument A list of security controls and control parameter values that are included in a configuration policy.
     */
    @JvmName("xpgbmxakrkqicwbw")
    public suspend fun securityControlCustomParameters(argument: suspend ConfigurationPolicySecurityControlCustomParameterArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                ConfigurationPolicySecurityControlCustomParameterArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.securityControlCustomParameters = mapped
    }

    /**
     * @param values A list of security controls and control parameter values that are included in a configuration policy.
     */
    @JvmName("vrrrvhbumnqglcic")
    public suspend fun securityControlCustomParameters(vararg values: ConfigurationPolicySecurityControlCustomParameterArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.securityControlCustomParameters = mapped
    }

    internal fun build(): ConfigurationPolicySecurityControlsConfigurationArgs =
        ConfigurationPolicySecurityControlsConfigurationArgs(
            disabledSecurityControlIdentifiers = disabledSecurityControlIdentifiers,
            enabledSecurityControlIdentifiers = enabledSecurityControlIdentifiers,
            securityControlCustomParameters = securityControlCustomParameters,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy