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

com.pulumi.awsnative.s3.kotlin.inputs.StorageLensGroupSelectionCriteriaArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.s3.kotlin.inputs

import com.pulumi.awsnative.s3.inputs.StorageLensGroupSelectionCriteriaArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Selection criteria for Storage Lens Group level metrics
 * @property exclude This property indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.
 * @property include This property indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.
 */
public data class StorageLensGroupSelectionCriteriaArgs(
    public val exclude: Output>? = null,
    public val include: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.s3.inputs.StorageLensGroupSelectionCriteriaArgs =
        com.pulumi.awsnative.s3.inputs.StorageLensGroupSelectionCriteriaArgs.builder()
            .exclude(exclude?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .include(include?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

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

    private var include: Output>? = null

    /**
     * @param value This property indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.
     */
    @JvmName("osaqpbuamonmqlbj")
    public suspend fun exclude(`value`: Output>) {
        this.exclude = value
    }

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

    /**
     * @param values This property indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.
     */
    @JvmName("uunbmiwbfpxjnijg")
    public suspend fun exclude(values: List>) {
        this.exclude = Output.all(values)
    }

    /**
     * @param value This property indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.
     */
    @JvmName("yoqvmyphrbvdnccv")
    public suspend fun include(`value`: Output>) {
        this.include = value
    }

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

    /**
     * @param values This property indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.
     */
    @JvmName("crxacdkmxmrfeajp")
    public suspend fun include(values: List>) {
        this.include = Output.all(values)
    }

    /**
     * @param value This property indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.
     */
    @JvmName("habvxcfcmvmsngwa")
    public suspend fun exclude(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.exclude = mapped
    }

    /**
     * @param values This property indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.
     */
    @JvmName("diduqnegysutsbfe")
    public suspend fun exclude(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.exclude = mapped
    }

    /**
     * @param value This property indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.
     */
    @JvmName("rpslixfpindgymjw")
    public suspend fun include(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.include = mapped
    }

    /**
     * @param values This property indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.
     */
    @JvmName("qvekhengkfaqhsdy")
    public suspend fun include(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.include = mapped
    }

    internal fun build(): StorageLensGroupSelectionCriteriaArgs =
        StorageLensGroupSelectionCriteriaArgs(
            exclude = exclude,
            include = include,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy