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

com.pulumi.awsnative.applicationinsights.kotlin.inputs.ApplicationHanaPrometheusExporterArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.applicationinsights.kotlin.inputs

import com.pulumi.awsnative.applicationinsights.inputs.ApplicationHanaPrometheusExporterArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * The HANA DB Prometheus Exporter settings.
 * @property agreeToInstallHanadbClient A flag which indicates agreeing to install SAP HANA DB client.
 * @property hanaPort The HANA DB port.
 * @property hanaSecretName The secret name which manages the HANA DB credentials e.g. {
 *   "username": "<>",
 *   "password": "<>"
 * }.
 * @property hanasid HANA DB SID.
 * @property prometheusPort Prometheus exporter port.
 */
public data class ApplicationHanaPrometheusExporterArgs(
    public val agreeToInstallHanadbClient: Output,
    public val hanaPort: Output,
    public val hanaSecretName: Output,
    public val hanasid: Output,
    public val prometheusPort: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.applicationinsights.inputs.ApplicationHanaPrometheusExporterArgs =
        com.pulumi.awsnative.applicationinsights.inputs.ApplicationHanaPrometheusExporterArgs.builder()
            .agreeToInstallHanadbClient(agreeToInstallHanadbClient.applyValue({ args0 -> args0 }))
            .hanaPort(hanaPort.applyValue({ args0 -> args0 }))
            .hanaSecretName(hanaSecretName.applyValue({ args0 -> args0 }))
            .hanasid(hanasid.applyValue({ args0 -> args0 }))
            .prometheusPort(prometheusPort?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ApplicationHanaPrometheusExporterArgs].
 */
@PulumiTagMarker
public class ApplicationHanaPrometheusExporterArgsBuilder internal constructor() {
    private var agreeToInstallHanadbClient: Output? = null

    private var hanaPort: Output? = null

    private var hanaSecretName: Output? = null

    private var hanasid: Output? = null

    private var prometheusPort: Output? = null

    /**
     * @param value A flag which indicates agreeing to install SAP HANA DB client.
     */
    @JvmName("ripkexkiogepqapf")
    public suspend fun agreeToInstallHanadbClient(`value`: Output) {
        this.agreeToInstallHanadbClient = value
    }

    /**
     * @param value The HANA DB port.
     */
    @JvmName("qgejdptpaaqnwgmo")
    public suspend fun hanaPort(`value`: Output) {
        this.hanaPort = value
    }

    /**
     * @param value The secret name which manages the HANA DB credentials e.g. {
     *   "username": "<>",
     *   "password": "<>"
     * }.
     */
    @JvmName("sboorjavwpplsogb")
    public suspend fun hanaSecretName(`value`: Output) {
        this.hanaSecretName = value
    }

    /**
     * @param value HANA DB SID.
     */
    @JvmName("bkynhcrntdavoweu")
    public suspend fun hanasid(`value`: Output) {
        this.hanasid = value
    }

    /**
     * @param value Prometheus exporter port.
     */
    @JvmName("frxvabwivxuqlryw")
    public suspend fun prometheusPort(`value`: Output) {
        this.prometheusPort = value
    }

    /**
     * @param value A flag which indicates agreeing to install SAP HANA DB client.
     */
    @JvmName("anxwpucrmmglmrqq")
    public suspend fun agreeToInstallHanadbClient(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.agreeToInstallHanadbClient = mapped
    }

    /**
     * @param value The HANA DB port.
     */
    @JvmName("ikbajfvlpxxukmmy")
    public suspend fun hanaPort(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.hanaPort = mapped
    }

    /**
     * @param value The secret name which manages the HANA DB credentials e.g. {
     *   "username": "<>",
     *   "password": "<>"
     * }.
     */
    @JvmName("jvycbryqfrqtxntu")
    public suspend fun hanaSecretName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.hanaSecretName = mapped
    }

    /**
     * @param value HANA DB SID.
     */
    @JvmName("lfdllnoustpidfhw")
    public suspend fun hanasid(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.hanasid = mapped
    }

    /**
     * @param value Prometheus exporter port.
     */
    @JvmName("uuevnukotrrflovl")
    public suspend fun prometheusPort(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.prometheusPort = mapped
    }

    internal fun build(): ApplicationHanaPrometheusExporterArgs =
        ApplicationHanaPrometheusExporterArgs(
            agreeToInstallHanadbClient = agreeToInstallHanadbClient ?: throw
                PulumiNullFieldException("agreeToInstallHanadbClient"),
            hanaPort = hanaPort ?: throw PulumiNullFieldException("hanaPort"),
            hanaSecretName = hanaSecretName ?: throw PulumiNullFieldException("hanaSecretName"),
            hanasid = hanasid ?: throw PulumiNullFieldException("hanasid"),
            prometheusPort = prometheusPort,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy