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

com.pulumi.azurenative.insights.kotlin.inputs.DataCollectionRuleDestinationsArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.insights.kotlin.inputs

import com.pulumi.azurenative.insights.inputs.DataCollectionRuleDestinationsArgs.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.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * The specification of destinations.
 * @property azureMonitorMetrics Azure Monitor Metrics destination.
 * @property eventHubs List of Event Hubs destinations.
 * @property eventHubsDirect List of Event Hubs Direct destinations.
 * @property logAnalytics List of Log Analytics destinations.
 * @property monitoringAccounts List of monitoring account destinations.
 * @property storageAccounts List of storage accounts destinations.
 * @property storageBlobsDirect List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
 * @property storageTablesDirect List of Storage Table Direct destinations.
 */
public data class DataCollectionRuleDestinationsArgs(
    public val azureMonitorMetrics: Output? = null,
    public val eventHubs: Output>? = null,
    public val eventHubsDirect: Output>? = null,
    public val logAnalytics: Output>? = null,
    public val monitoringAccounts: Output>? = null,
    public val storageAccounts: Output>? = null,
    public val storageBlobsDirect: Output>? = null,
    public val storageTablesDirect: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.insights.inputs.DataCollectionRuleDestinationsArgs =
        com.pulumi.azurenative.insights.inputs.DataCollectionRuleDestinationsArgs.builder()
            .azureMonitorMetrics(
                azureMonitorMetrics?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .eventHubs(
                eventHubs?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .eventHubsDirect(
                eventHubsDirect?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .logAnalytics(
                logAnalytics?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .monitoringAccounts(
                monitoringAccounts?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .storageAccounts(
                storageAccounts?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .storageBlobsDirect(
                storageBlobsDirect?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .storageTablesDirect(
                storageTablesDirect?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

/**
 * Builder for [DataCollectionRuleDestinationsArgs].
 */
@PulumiTagMarker
public class DataCollectionRuleDestinationsArgsBuilder internal constructor() {
    private var azureMonitorMetrics: Output? = null

    private var eventHubs: Output>? = null

    private var eventHubsDirect: Output>? = null

    private var logAnalytics: Output>? = null

    private var monitoringAccounts: Output>? = null

    private var storageAccounts: Output>? = null

    private var storageBlobsDirect: Output>? = null

    private var storageTablesDirect: Output>? = null

    /**
     * @param value Azure Monitor Metrics destination.
     */
    @JvmName("avsgmcmcxqoggnfy")
    public suspend fun azureMonitorMetrics(`value`: Output) {
        this.azureMonitorMetrics = value
    }

    /**
     * @param value List of Event Hubs destinations.
     */
    @JvmName("fhraqvewpljqgrsi")
    public suspend fun eventHubs(`value`: Output>) {
        this.eventHubs = value
    }

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

    /**
     * @param values List of Event Hubs destinations.
     */
    @JvmName("hnndxfqufawoendy")
    public suspend fun eventHubs(values: List>) {
        this.eventHubs = Output.all(values)
    }

    /**
     * @param value List of Event Hubs Direct destinations.
     */
    @JvmName("xxynrwikdciskflg")
    public suspend fun eventHubsDirect(`value`: Output>) {
        this.eventHubsDirect = value
    }

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

    /**
     * @param values List of Event Hubs Direct destinations.
     */
    @JvmName("nnflshhlkvynqctn")
    public suspend fun eventHubsDirect(values: List>) {
        this.eventHubsDirect = Output.all(values)
    }

    /**
     * @param value List of Log Analytics destinations.
     */
    @JvmName("gjeioqouyamqulck")
    public suspend fun logAnalytics(`value`: Output>) {
        this.logAnalytics = value
    }

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

    /**
     * @param values List of Log Analytics destinations.
     */
    @JvmName("jrwxibrmxaqardas")
    public suspend fun logAnalytics(values: List>) {
        this.logAnalytics = Output.all(values)
    }

    /**
     * @param value List of monitoring account destinations.
     */
    @JvmName("cnrhbkckkkbostnm")
    public suspend fun monitoringAccounts(`value`: Output>) {
        this.monitoringAccounts = value
    }

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

    /**
     * @param values List of monitoring account destinations.
     */
    @JvmName("oyocxhnrggcqnvod")
    public suspend fun monitoringAccounts(values: List>) {
        this.monitoringAccounts = Output.all(values)
    }

    /**
     * @param value List of storage accounts destinations.
     */
    @JvmName("mmdxntjrkpwqisib")
    public suspend fun storageAccounts(`value`: Output>) {
        this.storageAccounts = value
    }

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

    /**
     * @param values List of storage accounts destinations.
     */
    @JvmName("xlyjbavypfghguor")
    public suspend fun storageAccounts(values: List>) {
        this.storageAccounts = Output.all(values)
    }

    /**
     * @param value List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
     */
    @JvmName("hturrxgfjyowjrfu")
    public suspend fun storageBlobsDirect(`value`: Output>) {
        this.storageBlobsDirect = value
    }

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

    /**
     * @param values List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
     */
    @JvmName("wckjvashglkahpeb")
    public suspend fun storageBlobsDirect(values: List>) {
        this.storageBlobsDirect = Output.all(values)
    }

    /**
     * @param value List of Storage Table Direct destinations.
     */
    @JvmName("sfevjrfdrjuiijpt")
    public suspend fun storageTablesDirect(`value`: Output>) {
        this.storageTablesDirect = value
    }

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

    /**
     * @param values List of Storage Table Direct destinations.
     */
    @JvmName("adyfgjtmpfmyyrtm")
    public suspend fun storageTablesDirect(values: List>) {
        this.storageTablesDirect = Output.all(values)
    }

    /**
     * @param value Azure Monitor Metrics destination.
     */
    @JvmName("hrqlqrudydtcxpmn")
    public suspend fun azureMonitorMetrics(`value`: DestinationsSpecAzureMonitorMetricsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.azureMonitorMetrics = mapped
    }

    /**
     * @param argument Azure Monitor Metrics destination.
     */
    @JvmName("ymwjxjyfjviugwkl")
    public suspend fun azureMonitorMetrics(argument: suspend DestinationsSpecAzureMonitorMetricsArgsBuilder.() -> Unit) {
        val toBeMapped = DestinationsSpecAzureMonitorMetricsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.azureMonitorMetrics = mapped
    }

    /**
     * @param value List of Event Hubs destinations.
     */
    @JvmName("ajrnmqfjgqytylqo")
    public suspend fun eventHubs(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.eventHubs = mapped
    }

    /**
     * @param argument List of Event Hubs destinations.
     */
    @JvmName("utxjlpvvmqskgjyn")
    public suspend fun eventHubs(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EventHubDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.eventHubs = mapped
    }

    /**
     * @param argument List of Event Hubs destinations.
     */
    @JvmName("iqpmcjqwobdbplgu")
    public suspend fun eventHubs(vararg argument: suspend EventHubDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            EventHubDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.eventHubs = mapped
    }

    /**
     * @param argument List of Event Hubs destinations.
     */
    @JvmName("gynmdwvwuvgtqoit")
    public suspend fun eventHubs(argument: suspend EventHubDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(EventHubDestinationArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.eventHubs = mapped
    }

    /**
     * @param values List of Event Hubs destinations.
     */
    @JvmName("qubaqwahkbcbbied")
    public suspend fun eventHubs(vararg values: EventHubDestinationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.eventHubs = mapped
    }

    /**
     * @param value List of Event Hubs Direct destinations.
     */
    @JvmName("wytxlgvjuermkfnf")
    public suspend fun eventHubsDirect(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.eventHubsDirect = mapped
    }

    /**
     * @param argument List of Event Hubs Direct destinations.
     */
    @JvmName("tblkkdnhvltfgkpi")
    public suspend fun eventHubsDirect(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            EventHubDirectDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.eventHubsDirect = mapped
    }

    /**
     * @param argument List of Event Hubs Direct destinations.
     */
    @JvmName("empapkfcpahnpwfn")
    public suspend fun eventHubsDirect(vararg argument: suspend EventHubDirectDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            EventHubDirectDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.eventHubsDirect = mapped
    }

    /**
     * @param argument List of Event Hubs Direct destinations.
     */
    @JvmName("nbsujihlkkxommus")
    public suspend fun eventHubsDirect(argument: suspend EventHubDirectDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            EventHubDirectDestinationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.eventHubsDirect = mapped
    }

    /**
     * @param values List of Event Hubs Direct destinations.
     */
    @JvmName("vofucjdpkbvvhowq")
    public suspend fun eventHubsDirect(vararg values: EventHubDirectDestinationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.eventHubsDirect = mapped
    }

    /**
     * @param value List of Log Analytics destinations.
     */
    @JvmName("lfnmuvmiwuynejye")
    public suspend fun logAnalytics(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.logAnalytics = mapped
    }

    /**
     * @param argument List of Log Analytics destinations.
     */
    @JvmName("uimhcexvtlresajl")
    public suspend fun logAnalytics(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            LogAnalyticsDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.logAnalytics = mapped
    }

    /**
     * @param argument List of Log Analytics destinations.
     */
    @JvmName("pgnwtiggkcaxtqbx")
    public suspend fun logAnalytics(vararg argument: suspend LogAnalyticsDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            LogAnalyticsDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.logAnalytics = mapped
    }

    /**
     * @param argument List of Log Analytics destinations.
     */
    @JvmName("hixokuphicemiaxv")
    public suspend fun logAnalytics(argument: suspend LogAnalyticsDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            LogAnalyticsDestinationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.logAnalytics = mapped
    }

    /**
     * @param values List of Log Analytics destinations.
     */
    @JvmName("wlkqouuxtqanemup")
    public suspend fun logAnalytics(vararg values: LogAnalyticsDestinationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.logAnalytics = mapped
    }

    /**
     * @param value List of monitoring account destinations.
     */
    @JvmName("ndfivicrnobjxgwe")
    public suspend fun monitoringAccounts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.monitoringAccounts = mapped
    }

    /**
     * @param argument List of monitoring account destinations.
     */
    @JvmName("cyolhksiuqltefli")
    public suspend fun monitoringAccounts(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            MonitoringAccountDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.monitoringAccounts = mapped
    }

    /**
     * @param argument List of monitoring account destinations.
     */
    @JvmName("krfxviskwkpqkbiy")
    public suspend fun monitoringAccounts(vararg argument: suspend MonitoringAccountDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            MonitoringAccountDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.monitoringAccounts = mapped
    }

    /**
     * @param argument List of monitoring account destinations.
     */
    @JvmName("plaeenearxbjloop")
    public suspend fun monitoringAccounts(argument: suspend MonitoringAccountDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            MonitoringAccountDestinationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.monitoringAccounts = mapped
    }

    /**
     * @param values List of monitoring account destinations.
     */
    @JvmName("gtfhbtjxkrbugsbe")
    public suspend fun monitoringAccounts(vararg values: MonitoringAccountDestinationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.monitoringAccounts = mapped
    }

    /**
     * @param value List of storage accounts destinations.
     */
    @JvmName("pcjpjbiynwbafqki")
    public suspend fun storageAccounts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageAccounts = mapped
    }

    /**
     * @param argument List of storage accounts destinations.
     */
    @JvmName("lkhkqhxjwrcsfoib")
    public suspend fun storageAccounts(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            StorageBlobDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.storageAccounts = mapped
    }

    /**
     * @param argument List of storage accounts destinations.
     */
    @JvmName("kvjhtlfdiiefvxnj")
    public suspend fun storageAccounts(vararg argument: suspend StorageBlobDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            StorageBlobDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.storageAccounts = mapped
    }

    /**
     * @param argument List of storage accounts destinations.
     */
    @JvmName("tyqmsqmqcxjpswbu")
    public suspend fun storageAccounts(argument: suspend StorageBlobDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(StorageBlobDestinationArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.storageAccounts = mapped
    }

    /**
     * @param values List of storage accounts destinations.
     */
    @JvmName("vkcehnvacyrhsjbm")
    public suspend fun storageAccounts(vararg values: StorageBlobDestinationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.storageAccounts = mapped
    }

    /**
     * @param value List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
     */
    @JvmName("oqhajyjkjakbolxc")
    public suspend fun storageBlobsDirect(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageBlobsDirect = mapped
    }

    /**
     * @param argument List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
     */
    @JvmName("hksqsjvlxcabfttm")
    public suspend fun storageBlobsDirect(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            StorageBlobDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.storageBlobsDirect = mapped
    }

    /**
     * @param argument List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
     */
    @JvmName("waqudwtifgctfdem")
    public suspend fun storageBlobsDirect(vararg argument: suspend StorageBlobDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            StorageBlobDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.storageBlobsDirect = mapped
    }

    /**
     * @param argument List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
     */
    @JvmName("lspddonblljpicnj")
    public suspend fun storageBlobsDirect(argument: suspend StorageBlobDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(StorageBlobDestinationArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.storageBlobsDirect = mapped
    }

    /**
     * @param values List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
     */
    @JvmName("uvekswugfjegtrkc")
    public suspend fun storageBlobsDirect(vararg values: StorageBlobDestinationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.storageBlobsDirect = mapped
    }

    /**
     * @param value List of Storage Table Direct destinations.
     */
    @JvmName("ggomvpgsfxpstldx")
    public suspend fun storageTablesDirect(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageTablesDirect = mapped
    }

    /**
     * @param argument List of Storage Table Direct destinations.
     */
    @JvmName("dlbfdrnierbaxatg")
    public suspend fun storageTablesDirect(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            StorageTableDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.storageTablesDirect = mapped
    }

    /**
     * @param argument List of Storage Table Direct destinations.
     */
    @JvmName("fchtfabytiqnroyl")
    public suspend fun storageTablesDirect(vararg argument: suspend StorageTableDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            StorageTableDestinationArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.storageTablesDirect = mapped
    }

    /**
     * @param argument List of Storage Table Direct destinations.
     */
    @JvmName("ibpneshpmsxesbxe")
    public suspend fun storageTablesDirect(argument: suspend StorageTableDestinationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            StorageTableDestinationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.storageTablesDirect = mapped
    }

    /**
     * @param values List of Storage Table Direct destinations.
     */
    @JvmName("leegjyeqsflrpaur")
    public suspend fun storageTablesDirect(vararg values: StorageTableDestinationArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.storageTablesDirect = mapped
    }

    internal fun build(): DataCollectionRuleDestinationsArgs = DataCollectionRuleDestinationsArgs(
        azureMonitorMetrics = azureMonitorMetrics,
        eventHubs = eventHubs,
        eventHubsDirect = eventHubsDirect,
        logAnalytics = logAnalytics,
        monitoringAccounts = monitoringAccounts,
        storageAccounts = storageAccounts,
        storageBlobsDirect = storageBlobsDirect,
        storageTablesDirect = storageTablesDirect,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy