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

com.pulumi.azurenative.datafactory.kotlin.inputs.WebActivityArgs.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: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.datafactory.kotlin.inputs

import com.pulumi.azurenative.datafactory.inputs.WebActivityArgs.builder
import com.pulumi.azurenative.datafactory.kotlin.enums.ActivityOnInactiveMarkAs
import com.pulumi.azurenative.datafactory.kotlin.enums.ActivityState
import com.pulumi.azurenative.datafactory.kotlin.enums.WebActivityMethod
import com.pulumi.core.Either
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 com.pulumi.kotlin.applySuspend
import kotlin.Any
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Web activity.
 * @property authentication Authentication method used for calling the endpoint.
 * @property body Represents the payload that will be sent to the endpoint. Required for POST/PUT method, not allowed for GET method Type: string (or Expression with resultType string).
 * @property connectVia The integration runtime reference.
 * @property datasets List of datasets passed to web endpoint.
 * @property dependsOn Activity depends on condition.
 * @property description Activity description.
 * @property disableCertValidation When set to true, Certificate validation will be disabled.
 * @property headers Represents the headers that will be sent to the request. For example, to set the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. Type: string (or Expression with resultType string).
 * @property httpRequestTimeout Timeout for the HTTP request to get a response. Format is in TimeSpan (hh:mm:ss). This value is the timeout to get a response, not the activity timeout. The default value is 00:01:00 (1 minute). The range is from 1 to 10 minutes
 * @property linkedServiceName Linked service reference.
 * @property linkedServices List of linked services passed to web endpoint.
 * @property method Rest API method for target endpoint.
 * @property name Activity name.
 * @property onInactiveMarkAs Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
 * @property policy Activity policy.
 * @property state Activity state. This is an optional property and if not provided, the state will be Active by default.
 * @property turnOffAsync Option to disable invoking HTTP GET on location given in response header of a HTTP 202 Response. If set true, it stops invoking HTTP GET on http location given in response header. If set false then continues to invoke HTTP GET call on location given in http response headers.
 * @property type Type of activity.
 * Expected value is 'WebActivity'.
 * @property url Web activity target endpoint and path. Type: string (or Expression with resultType string).
 * @property userProperties Activity user properties.
 */
public data class WebActivityArgs(
    public val authentication: Output? = null,
    public val body: Output? = null,
    public val connectVia: Output? = null,
    public val datasets: Output>? = null,
    public val dependsOn: Output>? = null,
    public val description: Output? = null,
    public val disableCertValidation: Output? = null,
    public val headers: Output>? = null,
    public val httpRequestTimeout: Output? = null,
    public val linkedServiceName: Output? = null,
    public val linkedServices: Output>? = null,
    public val method: Output>,
    public val name: Output,
    public val onInactiveMarkAs: Output>? = null,
    public val policy: Output? = null,
    public val state: Output>? = null,
    public val turnOffAsync: Output? = null,
    public val type: Output,
    public val url: Output,
    public val userProperties: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.datafactory.inputs.WebActivityArgs =
        com.pulumi.azurenative.datafactory.inputs.WebActivityArgs.builder()
            .authentication(authentication?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .body(body?.applyValue({ args0 -> args0 }))
            .connectVia(connectVia?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .datasets(
                datasets?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .dependsOn(
                dependsOn?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .description(description?.applyValue({ args0 -> args0 }))
            .disableCertValidation(disableCertValidation?.applyValue({ args0 -> args0 }))
            .headers(headers?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .httpRequestTimeout(httpRequestTimeout?.applyValue({ args0 -> args0 }))
            .linkedServiceName(linkedServiceName?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .linkedServices(
                linkedServices?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .method(
                method.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .name(name.applyValue({ args0 -> args0 }))
            .onInactiveMarkAs(
                onInactiveMarkAs?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .policy(policy?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .state(
                state?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .turnOffAsync(turnOffAsync?.applyValue({ args0 -> args0 }))
            .type(type.applyValue({ args0 -> args0 }))
            .url(url.applyValue({ args0 -> args0 }))
            .userProperties(
                userProperties?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [WebActivityArgs].
 */
@PulumiTagMarker
public class WebActivityArgsBuilder internal constructor() {
    private var authentication: Output? = null

    private var body: Output? = null

    private var connectVia: Output? = null

    private var datasets: Output>? = null

    private var dependsOn: Output>? = null

    private var description: Output? = null

    private var disableCertValidation: Output? = null

    private var headers: Output>? = null

    private var httpRequestTimeout: Output? = null

    private var linkedServiceName: Output? = null

    private var linkedServices: Output>? = null

    private var method: Output>? = null

    private var name: Output? = null

    private var onInactiveMarkAs: Output>? = null

    private var policy: Output? = null

    private var state: Output>? = null

    private var turnOffAsync: Output? = null

    private var type: Output? = null

    private var url: Output? = null

    private var userProperties: Output>? = null

    /**
     * @param value Authentication method used for calling the endpoint.
     */
    @JvmName("iwaxlfxjyhmabitr")
    public suspend fun authentication(`value`: Output) {
        this.authentication = value
    }

    /**
     * @param value Represents the payload that will be sent to the endpoint. Required for POST/PUT method, not allowed for GET method Type: string (or Expression with resultType string).
     */
    @JvmName("wckqmkfawepfnjub")
    public suspend fun body(`value`: Output) {
        this.body = value
    }

    /**
     * @param value The integration runtime reference.
     */
    @JvmName("kptpsewuogwtknyi")
    public suspend fun connectVia(`value`: Output) {
        this.connectVia = value
    }

    /**
     * @param value List of datasets passed to web endpoint.
     */
    @JvmName("jqhrggrgpruxppgm")
    public suspend fun datasets(`value`: Output>) {
        this.datasets = value
    }

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

    /**
     * @param values List of datasets passed to web endpoint.
     */
    @JvmName("jncldqsbcyqkjmex")
    public suspend fun datasets(values: List>) {
        this.datasets = Output.all(values)
    }

    /**
     * @param value Activity depends on condition.
     */
    @JvmName("ovundvhlyflbkxwc")
    public suspend fun dependsOn(`value`: Output>) {
        this.dependsOn = value
    }

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

    /**
     * @param values Activity depends on condition.
     */
    @JvmName("gnjxcwobryqbmkdt")
    public suspend fun dependsOn(values: List>) {
        this.dependsOn = Output.all(values)
    }

    /**
     * @param value Activity description.
     */
    @JvmName("hyhyvwdmvvsbvgpa")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value When set to true, Certificate validation will be disabled.
     */
    @JvmName("ycivxxsviqqtepwc")
    public suspend fun disableCertValidation(`value`: Output) {
        this.disableCertValidation = value
    }

    /**
     * @param value Represents the headers that will be sent to the request. For example, to set the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. Type: string (or Expression with resultType string).
     */
    @JvmName("dfukjippvwpmmqen")
    public suspend fun headers(`value`: Output>) {
        this.headers = value
    }

    /**
     * @param value Timeout for the HTTP request to get a response. Format is in TimeSpan (hh:mm:ss). This value is the timeout to get a response, not the activity timeout. The default value is 00:01:00 (1 minute). The range is from 1 to 10 minutes
     */
    @JvmName("ghupqxwddenfpvvm")
    public suspend fun httpRequestTimeout(`value`: Output) {
        this.httpRequestTimeout = value
    }

    /**
     * @param value Linked service reference.
     */
    @JvmName("kaiefhkehpuvcvjj")
    public suspend fun linkedServiceName(`value`: Output) {
        this.linkedServiceName = value
    }

    /**
     * @param value List of linked services passed to web endpoint.
     */
    @JvmName("gkimgoevadhmornf")
    public suspend fun linkedServices(`value`: Output>) {
        this.linkedServices = value
    }

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

    /**
     * @param values List of linked services passed to web endpoint.
     */
    @JvmName("akwynfafoqhpmxys")
    public suspend fun linkedServices(values: List>) {
        this.linkedServices = Output.all(values)
    }

    /**
     * @param value Rest API method for target endpoint.
     */
    @JvmName("pmctgqkjwvcwxwqp")
    public suspend fun method(`value`: Output>) {
        this.method = value
    }

    /**
     * @param value Activity name.
     */
    @JvmName("jbgeboigrfapdapd")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
     */
    @JvmName("gtnspvhthaufwvcu")
    public suspend fun onInactiveMarkAs(`value`: Output>) {
        this.onInactiveMarkAs = value
    }

    /**
     * @param value Activity policy.
     */
    @JvmName("aaqvlgiggrpvpbfg")
    public suspend fun policy(`value`: Output) {
        this.policy = value
    }

    /**
     * @param value Activity state. This is an optional property and if not provided, the state will be Active by default.
     */
    @JvmName("eksenrfphjmucxlt")
    public suspend fun state(`value`: Output>) {
        this.state = value
    }

    /**
     * @param value Option to disable invoking HTTP GET on location given in response header of a HTTP 202 Response. If set true, it stops invoking HTTP GET on http location given in response header. If set false then continues to invoke HTTP GET call on location given in http response headers.
     */
    @JvmName("uflcxtgkhdlfwdak")
    public suspend fun turnOffAsync(`value`: Output) {
        this.turnOffAsync = value
    }

    /**
     * @param value Type of activity.
     * Expected value is 'WebActivity'.
     */
    @JvmName("uqduscndlacqjgnk")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value Web activity target endpoint and path. Type: string (or Expression with resultType string).
     */
    @JvmName("scwhvylexeldbhir")
    public suspend fun url(`value`: Output) {
        this.url = value
    }

    /**
     * @param value Activity user properties.
     */
    @JvmName("lsnysmfjsnbbmvon")
    public suspend fun userProperties(`value`: Output>) {
        this.userProperties = value
    }

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

    /**
     * @param values Activity user properties.
     */
    @JvmName("cbsvosiwhkeetymq")
    public suspend fun userProperties(values: List>) {
        this.userProperties = Output.all(values)
    }

    /**
     * @param value Authentication method used for calling the endpoint.
     */
    @JvmName("fyrhhdcfueyfdxce")
    public suspend fun authentication(`value`: WebActivityAuthenticationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authentication = mapped
    }

    /**
     * @param argument Authentication method used for calling the endpoint.
     */
    @JvmName("lxlinqafncpswodm")
    public suspend fun authentication(argument: suspend WebActivityAuthenticationArgsBuilder.() -> Unit) {
        val toBeMapped = WebActivityAuthenticationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.authentication = mapped
    }

    /**
     * @param value Represents the payload that will be sent to the endpoint. Required for POST/PUT method, not allowed for GET method Type: string (or Expression with resultType string).
     */
    @JvmName("snljhnsunaaxumsm")
    public suspend fun body(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.body = mapped
    }

    /**
     * @param value The integration runtime reference.
     */
    @JvmName("xavwjkacgtnctbvb")
    public suspend fun connectVia(`value`: IntegrationRuntimeReferenceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.connectVia = mapped
    }

    /**
     * @param argument The integration runtime reference.
     */
    @JvmName("ecmevikhruwatiha")
    public suspend fun connectVia(argument: suspend IntegrationRuntimeReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = IntegrationRuntimeReferenceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.connectVia = mapped
    }

    /**
     * @param value List of datasets passed to web endpoint.
     */
    @JvmName("xawllculxdfsxrbk")
    public suspend fun datasets(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.datasets = mapped
    }

    /**
     * @param argument List of datasets passed to web endpoint.
     */
    @JvmName("irshvwrbwkjqashc")
    public suspend fun datasets(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            DatasetReferenceArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.datasets = mapped
    }

    /**
     * @param argument List of datasets passed to web endpoint.
     */
    @JvmName("qcasbhbyclwvkvtm")
    public suspend fun datasets(vararg argument: suspend DatasetReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            DatasetReferenceArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.datasets = mapped
    }

    /**
     * @param argument List of datasets passed to web endpoint.
     */
    @JvmName("nrroaculskrhghln")
    public suspend fun datasets(argument: suspend DatasetReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(DatasetReferenceArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.datasets = mapped
    }

    /**
     * @param values List of datasets passed to web endpoint.
     */
    @JvmName("opgqnpjmtwipuqvs")
    public suspend fun datasets(vararg values: DatasetReferenceArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.datasets = mapped
    }

    /**
     * @param value Activity depends on condition.
     */
    @JvmName("vugrdumnawqgwupg")
    public suspend fun dependsOn(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dependsOn = mapped
    }

    /**
     * @param argument Activity depends on condition.
     */
    @JvmName("lrkmfqieayvgthop")
    public suspend fun dependsOn(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActivityDependencyArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.dependsOn = mapped
    }

    /**
     * @param argument Activity depends on condition.
     */
    @JvmName("dhgaduyaccbrfpvw")
    public suspend fun dependsOn(vararg argument: suspend ActivityDependencyArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ActivityDependencyArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.dependsOn = mapped
    }

    /**
     * @param argument Activity depends on condition.
     */
    @JvmName("vtsqnjfaacfwqkaa")
    public suspend fun dependsOn(argument: suspend ActivityDependencyArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(ActivityDependencyArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.dependsOn = mapped
    }

    /**
     * @param values Activity depends on condition.
     */
    @JvmName("sshfaivllrxdtcrm")
    public suspend fun dependsOn(vararg values: ActivityDependencyArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.dependsOn = mapped
    }

    /**
     * @param value Activity description.
     */
    @JvmName("xqfbdsranbelrcht")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value When set to true, Certificate validation will be disabled.
     */
    @JvmName("ethooruiqybxdijx")
    public suspend fun disableCertValidation(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableCertValidation = mapped
    }

    /**
     * @param value Represents the headers that will be sent to the request. For example, to set the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. Type: string (or Expression with resultType string).
     */
    @JvmName("okdstslyihnecdon")
    public suspend fun headers(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.headers = mapped
    }

    /**
     * @param values Represents the headers that will be sent to the request. For example, to set the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. Type: string (or Expression with resultType string).
     */
    @JvmName("riixxbunjjevpsao")
    public fun headers(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.headers = mapped
    }

    /**
     * @param value Timeout for the HTTP request to get a response. Format is in TimeSpan (hh:mm:ss). This value is the timeout to get a response, not the activity timeout. The default value is 00:01:00 (1 minute). The range is from 1 to 10 minutes
     */
    @JvmName("isiuaokfrvavvcen")
    public suspend fun httpRequestTimeout(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpRequestTimeout = mapped
    }

    /**
     * @param value Linked service reference.
     */
    @JvmName("afkfbblbhjvajawm")
    public suspend fun linkedServiceName(`value`: LinkedServiceReferenceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.linkedServiceName = mapped
    }

    /**
     * @param argument Linked service reference.
     */
    @JvmName("avcoctxswicmtlry")
    public suspend fun linkedServiceName(argument: suspend LinkedServiceReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = LinkedServiceReferenceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.linkedServiceName = mapped
    }

    /**
     * @param value List of linked services passed to web endpoint.
     */
    @JvmName("kpxsdhpdturdlnbf")
    public suspend fun linkedServices(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.linkedServices = mapped
    }

    /**
     * @param argument List of linked services passed to web endpoint.
     */
    @JvmName("sywlwysavfqpqrnw")
    public suspend fun linkedServices(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            LinkedServiceReferenceArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.linkedServices = mapped
    }

    /**
     * @param argument List of linked services passed to web endpoint.
     */
    @JvmName("ftighnrqmtfyjyho")
    public suspend fun linkedServices(vararg argument: suspend LinkedServiceReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            LinkedServiceReferenceArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.linkedServices = mapped
    }

    /**
     * @param argument List of linked services passed to web endpoint.
     */
    @JvmName("xnlhecsknrawsdia")
    public suspend fun linkedServices(argument: suspend LinkedServiceReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(LinkedServiceReferenceArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.linkedServices = mapped
    }

    /**
     * @param values List of linked services passed to web endpoint.
     */
    @JvmName("ovvowxsdriisdtvt")
    public suspend fun linkedServices(vararg values: LinkedServiceReferenceArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.linkedServices = mapped
    }

    /**
     * @param value Rest API method for target endpoint.
     */
    @JvmName("dqeptapoqkiapiuk")
    public suspend fun method(`value`: Either) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.method = mapped
    }

    /**
     * @param value Rest API method for target endpoint.
     */
    @JvmName("esetecvoqeqwrrbg")
    public fun method(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.method = mapped
    }

    /**
     * @param value Rest API method for target endpoint.
     */
    @JvmName("qatucoxrqkmqbulc")
    public fun method(`value`: WebActivityMethod) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.method = mapped
    }

    /**
     * @param value Activity name.
     */
    @JvmName("xgkqxdcacilpynir")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
     */
    @JvmName("pgtedvtpvlkayduq")
    public suspend fun onInactiveMarkAs(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.onInactiveMarkAs = mapped
    }

    /**
     * @param value Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
     */
    @JvmName("tylrgfxfukgvvxvi")
    public fun onInactiveMarkAs(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.onInactiveMarkAs = mapped
    }

    /**
     * @param value Status result of the activity when the state is set to Inactive. This is an optional property and if not provided when the activity is inactive, the status will be Succeeded by default.
     */
    @JvmName("nnfekxbosmhsstmr")
    public fun onInactiveMarkAs(`value`: ActivityOnInactiveMarkAs) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.onInactiveMarkAs = mapped
    }

    /**
     * @param value Activity policy.
     */
    @JvmName("cdbuifkwcwouanne")
    public suspend fun policy(`value`: ActivityPolicyArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.policy = mapped
    }

    /**
     * @param argument Activity policy.
     */
    @JvmName("rxuwfvwxjsqkwtme")
    public suspend fun policy(argument: suspend ActivityPolicyArgsBuilder.() -> Unit) {
        val toBeMapped = ActivityPolicyArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.policy = mapped
    }

    /**
     * @param value Activity state. This is an optional property and if not provided, the state will be Active by default.
     */
    @JvmName("vfthapggrfnqfdft")
    public suspend fun state(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.state = mapped
    }

    /**
     * @param value Activity state. This is an optional property and if not provided, the state will be Active by default.
     */
    @JvmName("npxonjswukxeynld")
    public fun state(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.state = mapped
    }

    /**
     * @param value Activity state. This is an optional property and if not provided, the state will be Active by default.
     */
    @JvmName("rabcvakweikhwvfc")
    public fun state(`value`: ActivityState) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.state = mapped
    }

    /**
     * @param value Option to disable invoking HTTP GET on location given in response header of a HTTP 202 Response. If set true, it stops invoking HTTP GET on http location given in response header. If set false then continues to invoke HTTP GET call on location given in http response headers.
     */
    @JvmName("sprcmwxbohvltprs")
    public suspend fun turnOffAsync(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.turnOffAsync = mapped
    }

    /**
     * @param value Type of activity.
     * Expected value is 'WebActivity'.
     */
    @JvmName("lnehkvwmfxibhyau")
    public suspend fun type(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.type = mapped
    }

    /**
     * @param value Web activity target endpoint and path. Type: string (or Expression with resultType string).
     */
    @JvmName("itxbebtrwcvubhjf")
    public suspend fun url(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.url = mapped
    }

    /**
     * @param value Activity user properties.
     */
    @JvmName("eeruwnnmtolltwjr")
    public suspend fun userProperties(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.userProperties = mapped
    }

    /**
     * @param argument Activity user properties.
     */
    @JvmName("xrsbtdfxckgcmdao")
    public suspend fun userProperties(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            UserPropertyArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.userProperties = mapped
    }

    /**
     * @param argument Activity user properties.
     */
    @JvmName("bgpsytxhjahfagav")
    public suspend fun userProperties(vararg argument: suspend UserPropertyArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            UserPropertyArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.userProperties = mapped
    }

    /**
     * @param argument Activity user properties.
     */
    @JvmName("vfilwhanxrvehkrg")
    public suspend fun userProperties(argument: suspend UserPropertyArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(UserPropertyArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.userProperties = mapped
    }

    /**
     * @param values Activity user properties.
     */
    @JvmName("hmqekbsulkhwgvfc")
    public suspend fun userProperties(vararg values: UserPropertyArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.userProperties = mapped
    }

    internal fun build(): WebActivityArgs = WebActivityArgs(
        authentication = authentication,
        body = body,
        connectVia = connectVia,
        datasets = datasets,
        dependsOn = dependsOn,
        description = description,
        disableCertValidation = disableCertValidation,
        headers = headers,
        httpRequestTimeout = httpRequestTimeout,
        linkedServiceName = linkedServiceName,
        linkedServices = linkedServices,
        method = method ?: throw PulumiNullFieldException("method"),
        name = name ?: throw PulumiNullFieldException("name"),
        onInactiveMarkAs = onInactiveMarkAs,
        policy = policy,
        state = state,
        turnOffAsync = turnOffAsync,
        type = type ?: throw PulumiNullFieldException("type"),
        url = url ?: throw PulumiNullFieldException("url"),
        userProperties = userProperties,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy