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

com.pulumi.awsnative.iotsitewise.kotlin.PortalArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.iotsitewise.kotlin

import com.pulumi.awsnative.iotsitewise.PortalArgs.builder
import com.pulumi.awsnative.iotsitewise.kotlin.inputs.AlarmsPropertiesArgs
import com.pulumi.awsnative.iotsitewise.kotlin.inputs.AlarmsPropertiesArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
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

/**
 * Resource schema for AWS::IoTSiteWise::Portal
 * @property alarms Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range.
 * @property notificationSenderEmail The email address that sends alarm notifications.
 * @property portalAuthMode The service to use to authenticate users to the portal. Choose from SSO or IAM. You can't change this value after you create a portal.
 * @property portalContactEmail The AWS administrator's contact email address.
 * @property portalDescription A description for the portal.
 * @property portalName A friendly name for the portal.
 * @property roleArn The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf.
 * @property tags A list of key-value pairs that contain metadata for the portal.
 */
public data class PortalArgs(
    public val alarms: Output? = null,
    public val notificationSenderEmail: Output? = null,
    public val portalAuthMode: Output? = null,
    public val portalContactEmail: Output? = null,
    public val portalDescription: Output? = null,
    public val portalName: Output? = null,
    public val roleArn: Output? = null,
    public val tags: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.iotsitewise.PortalArgs =
        com.pulumi.awsnative.iotsitewise.PortalArgs.builder()
            .alarms(alarms?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .notificationSenderEmail(notificationSenderEmail?.applyValue({ args0 -> args0 }))
            .portalAuthMode(portalAuthMode?.applyValue({ args0 -> args0 }))
            .portalContactEmail(portalContactEmail?.applyValue({ args0 -> args0 }))
            .portalDescription(portalDescription?.applyValue({ args0 -> args0 }))
            .portalName(portalName?.applyValue({ args0 -> args0 }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 }))
            .tags(
                tags?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [PortalArgs].
 */
@PulumiTagMarker
public class PortalArgsBuilder internal constructor() {
    private var alarms: Output? = null

    private var notificationSenderEmail: Output? = null

    private var portalAuthMode: Output? = null

    private var portalContactEmail: Output? = null

    private var portalDescription: Output? = null

    private var portalName: Output? = null

    private var roleArn: Output? = null

    private var tags: Output>? = null

    /**
     * @param value Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range.
     */
    @JvmName("pxqkorkiumqukchv")
    public suspend fun alarms(`value`: Output) {
        this.alarms = value
    }

    /**
     * @param value The email address that sends alarm notifications.
     */
    @JvmName("oxgfurbyasobhmls")
    public suspend fun notificationSenderEmail(`value`: Output) {
        this.notificationSenderEmail = value
    }

    /**
     * @param value The service to use to authenticate users to the portal. Choose from SSO or IAM. You can't change this value after you create a portal.
     */
    @JvmName("ilnnfyqqoxweugff")
    public suspend fun portalAuthMode(`value`: Output) {
        this.portalAuthMode = value
    }

    /**
     * @param value The AWS administrator's contact email address.
     */
    @JvmName("rwdeqikgijkasxui")
    public suspend fun portalContactEmail(`value`: Output) {
        this.portalContactEmail = value
    }

    /**
     * @param value A description for the portal.
     */
    @JvmName("sxtgwuchvextrvaj")
    public suspend fun portalDescription(`value`: Output) {
        this.portalDescription = value
    }

    /**
     * @param value A friendly name for the portal.
     */
    @JvmName("qirvrvyqbumvowls")
    public suspend fun portalName(`value`: Output) {
        this.portalName = value
    }

    /**
     * @param value The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf.
     */
    @JvmName("yagptkymgpvhqtba")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value A list of key-value pairs that contain metadata for the portal.
     */
    @JvmName("anpjqkydysrlhkkl")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

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

    /**
     * @param values A list of key-value pairs that contain metadata for the portal.
     */
    @JvmName("pcrmyxfmjqjivexw")
    public suspend fun tags(values: List>) {
        this.tags = Output.all(values)
    }

    /**
     * @param value Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range.
     */
    @JvmName("xxgqpstsvaagoiyo")
    public suspend fun alarms(`value`: AlarmsPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.alarms = mapped
    }

    /**
     * @param argument Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range.
     */
    @JvmName("lxgljtrorraiesdm")
    public suspend fun alarms(argument: suspend AlarmsPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = AlarmsPropertiesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.alarms = mapped
    }

    /**
     * @param value The email address that sends alarm notifications.
     */
    @JvmName("rpsbfnnrbwbojoks")
    public suspend fun notificationSenderEmail(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.notificationSenderEmail = mapped
    }

    /**
     * @param value The service to use to authenticate users to the portal. Choose from SSO or IAM. You can't change this value after you create a portal.
     */
    @JvmName("qvnnwomwdorjlfra")
    public suspend fun portalAuthMode(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.portalAuthMode = mapped
    }

    /**
     * @param value The AWS administrator's contact email address.
     */
    @JvmName("yqmlpmetvecacvpm")
    public suspend fun portalContactEmail(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.portalContactEmail = mapped
    }

    /**
     * @param value A description for the portal.
     */
    @JvmName("rarjsgxjcvsjwapj")
    public suspend fun portalDescription(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.portalDescription = mapped
    }

    /**
     * @param value A friendly name for the portal.
     */
    @JvmName("wsnsuhygarhamcuo")
    public suspend fun portalName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.portalName = mapped
    }

    /**
     * @param value The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf.
     */
    @JvmName("aqjnnlbqmipxtxvf")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    /**
     * @param value A list of key-value pairs that contain metadata for the portal.
     */
    @JvmName("ayfbluwyutypcuvs")
    public suspend fun tags(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param argument A list of key-value pairs that contain metadata for the portal.
     */
    @JvmName("useemwagipthhfno")
    public suspend fun tags(argument: List Unit>) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument A list of key-value pairs that contain metadata for the portal.
     */
    @JvmName("pryxylndbcaqgrtb")
    public suspend fun tags(vararg argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument A list of key-value pairs that contain metadata for the portal.
     */
    @JvmName("skgfgnatnigmgval")
    public suspend fun tags(argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param values A list of key-value pairs that contain metadata for the portal.
     */
    @JvmName("kyouugtvjunmpciu")
    public suspend fun tags(vararg values: TagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    internal fun build(): PortalArgs = PortalArgs(
        alarms = alarms,
        notificationSenderEmail = notificationSenderEmail,
        portalAuthMode = portalAuthMode,
        portalContactEmail = portalContactEmail,
        portalDescription = portalDescription,
        portalName = portalName,
        roleArn = roleArn,
        tags = tags,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy