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

com.pulumi.awsnative.s3.kotlin.inputs.StorageLensGroupOrArgs.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: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.awsnative.s3.inputs.StorageLensGroupOrArgs.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

/**
 * The Storage Lens group will include objects that match any of the specified filter values.
 * @property matchAnyPrefix This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.
 * @property matchAnySuffix This property contains the list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.
 * @property matchAnyTag This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.
 * @property matchObjectAge This property filters objects that match the specified object age range.
 * @property matchObjectSize This property contains the `BytesGreaterThan` and `BytesLessThan` values to define the object size range (minimum and maximum number of Bytes).
 */
public data class StorageLensGroupOrArgs(
    public val matchAnyPrefix: Output>? = null,
    public val matchAnySuffix: Output>? = null,
    public val matchAnyTag: Output>? = null,
    public val matchObjectAge: Output? = null,
    public val matchObjectSize: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.s3.inputs.StorageLensGroupOrArgs =
        com.pulumi.awsnative.s3.inputs.StorageLensGroupOrArgs.builder()
            .matchAnyPrefix(matchAnyPrefix?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .matchAnySuffix(matchAnySuffix?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .matchAnyTag(
                matchAnyTag?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .matchObjectAge(matchObjectAge?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .matchObjectSize(
                matchObjectSize?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

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

    private var matchAnySuffix: Output>? = null

    private var matchAnyTag: Output>? = null

    private var matchObjectAge: Output? = null

    private var matchObjectSize: Output? = null

    /**
     * @param value This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.
     */
    @JvmName("xxfxqesvauegtikb")
    public suspend fun matchAnyPrefix(`value`: Output>) {
        this.matchAnyPrefix = value
    }

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

    /**
     * @param values This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.
     */
    @JvmName("kddjdvebafhboxfs")
    public suspend fun matchAnyPrefix(values: List>) {
        this.matchAnyPrefix = Output.all(values)
    }

    /**
     * @param value This property contains the list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.
     */
    @JvmName("jgpqduwklhfutwwn")
    public suspend fun matchAnySuffix(`value`: Output>) {
        this.matchAnySuffix = value
    }

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

    /**
     * @param values This property contains the list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.
     */
    @JvmName("bgwmqabkcyjqphbk")
    public suspend fun matchAnySuffix(values: List>) {
        this.matchAnySuffix = Output.all(values)
    }

    /**
     * @param value This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.
     */
    @JvmName("fglthfbblfonugqc")
    public suspend fun matchAnyTag(`value`: Output>) {
        this.matchAnyTag = value
    }

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

    /**
     * @param values This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.
     */
    @JvmName("cvbnspywsvopmxqa")
    public suspend fun matchAnyTag(values: List>) {
        this.matchAnyTag = Output.all(values)
    }

    /**
     * @param value This property filters objects that match the specified object age range.
     */
    @JvmName("saysmojxawqcxnae")
    public suspend fun matchObjectAge(`value`: Output) {
        this.matchObjectAge = value
    }

    /**
     * @param value This property contains the `BytesGreaterThan` and `BytesLessThan` values to define the object size range (minimum and maximum number of Bytes).
     */
    @JvmName("jlpmabhtjevdpwki")
    public suspend fun matchObjectSize(`value`: Output) {
        this.matchObjectSize = value
    }

    /**
     * @param value This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.
     */
    @JvmName("fsxdaghusuoqaxvq")
    public suspend fun matchAnyPrefix(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.matchAnyPrefix = mapped
    }

    /**
     * @param values This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.
     */
    @JvmName("ppctdauvjxrmoprc")
    public suspend fun matchAnyPrefix(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.matchAnyPrefix = mapped
    }

    /**
     * @param value This property contains the list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.
     */
    @JvmName("htxdupwicvwwfrki")
    public suspend fun matchAnySuffix(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.matchAnySuffix = mapped
    }

    /**
     * @param values This property contains the list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.
     */
    @JvmName("lgfqwjcelcdwypah")
    public suspend fun matchAnySuffix(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.matchAnySuffix = mapped
    }

    /**
     * @param value This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.
     */
    @JvmName("piruddkkcjmwyqgc")
    public suspend fun matchAnyTag(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.matchAnyTag = mapped
    }

    /**
     * @param argument This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.
     */
    @JvmName("dxjkytjpxqopbyti")
    public suspend fun matchAnyTag(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            StorageLensGroupTagArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.matchAnyTag = mapped
    }

    /**
     * @param argument This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.
     */
    @JvmName("ptehmknrgnqmriur")
    public suspend fun matchAnyTag(vararg argument: suspend StorageLensGroupTagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            StorageLensGroupTagArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.matchAnyTag = mapped
    }

    /**
     * @param argument This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.
     */
    @JvmName("xacpxnmqcarviqfr")
    public suspend fun matchAnyTag(argument: suspend StorageLensGroupTagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(StorageLensGroupTagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.matchAnyTag = mapped
    }

    /**
     * @param values This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.
     */
    @JvmName("ejwlaylwtfetaimk")
    public suspend fun matchAnyTag(vararg values: StorageLensGroupTagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.matchAnyTag = mapped
    }

    /**
     * @param value This property filters objects that match the specified object age range.
     */
    @JvmName("yecedeqnshciypxp")
    public suspend fun matchObjectAge(`value`: StorageLensGroupMatchObjectAgeArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.matchObjectAge = mapped
    }

    /**
     * @param argument This property filters objects that match the specified object age range.
     */
    @JvmName("rinnnvhfmbkofgbm")
    public suspend fun matchObjectAge(argument: suspend StorageLensGroupMatchObjectAgeArgsBuilder.() -> Unit) {
        val toBeMapped = StorageLensGroupMatchObjectAgeArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.matchObjectAge = mapped
    }

    /**
     * @param value This property contains the `BytesGreaterThan` and `BytesLessThan` values to define the object size range (minimum and maximum number of Bytes).
     */
    @JvmName("ykdwdsfnqevfrsgn")
    public suspend fun matchObjectSize(`value`: StorageLensGroupMatchObjectSizeArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.matchObjectSize = mapped
    }

    /**
     * @param argument This property contains the `BytesGreaterThan` and `BytesLessThan` values to define the object size range (minimum and maximum number of Bytes).
     */
    @JvmName("pvtmbraoqobcrvgg")
    public suspend fun matchObjectSize(argument: suspend StorageLensGroupMatchObjectSizeArgsBuilder.() -> Unit) {
        val toBeMapped = StorageLensGroupMatchObjectSizeArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.matchObjectSize = mapped
    }

    internal fun build(): StorageLensGroupOrArgs = StorageLensGroupOrArgs(
        matchAnyPrefix = matchAnyPrefix,
        matchAnySuffix = matchAnySuffix,
        matchAnyTag = matchAnyTag,
        matchObjectAge = matchObjectAge,
        matchObjectSize = matchObjectSize,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy