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

com.pulumi.azurenative.datafactory.kotlin.inputs.AmazonMWSLinkedServiceArgs.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.AmazonMWSLinkedServiceArgs.builder
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.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Amazon Marketplace Web Service linked service.
 * @property accessKeyId The access key id used to access data.
 * @property annotations List of tags that can be used for describing the linked service.
 * @property connectVia The integration runtime reference.
 * @property description Linked service description.
 * @property encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
 * @property endpoint The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com)
 * @property marketplaceID The Amazon Marketplace ID you want to retrieve data from. To retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e. A2EUQ1WTGCTBG2)
 * @property mwsAuthToken The Amazon MWS authentication token.
 * @property parameters Parameters for linked service.
 * @property secretKey The secret key used to access data.
 * @property sellerID The Amazon seller ID.
 * @property type Type of linked service.
 * Expected value is 'AmazonMWS'.
 * @property useEncryptedEndpoints Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
 * @property useHostVerification Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
 * @property usePeerVerification Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
 * @property version Version of the linked service.
 */
public data class AmazonMWSLinkedServiceArgs(
    public val accessKeyId: Output,
    public val annotations: Output>? = null,
    public val connectVia: Output? = null,
    public val description: Output? = null,
    public val encryptedCredential: Output? = null,
    public val endpoint: Output,
    public val marketplaceID: Output,
    public val mwsAuthToken: Output>? =
        null,
    public val parameters: Output>? = null,
    public val secretKey: Output>? = null,
    public val sellerID: Output,
    public val type: Output,
    public val useEncryptedEndpoints: Output? = null,
    public val useHostVerification: Output? = null,
    public val usePeerVerification: Output? = null,
    public val version: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.datafactory.inputs.AmazonMWSLinkedServiceArgs =
        com.pulumi.azurenative.datafactory.inputs.AmazonMWSLinkedServiceArgs.builder()
            .accessKeyId(accessKeyId.applyValue({ args0 -> args0 }))
            .annotations(annotations?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .connectVia(connectVia?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .description(description?.applyValue({ args0 -> args0 }))
            .encryptedCredential(encryptedCredential?.applyValue({ args0 -> args0 }))
            .endpoint(endpoint.applyValue({ args0 -> args0 }))
            .marketplaceID(marketplaceID.applyValue({ args0 -> args0 }))
            .mwsAuthToken(
                mwsAuthToken?.applyValue({ args0 ->
                    args0.transform({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .parameters(
                parameters?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value.let({ args0 -> args0.toJava() }))
                    }).toMap()
                }),
            )
            .secretKey(
                secretKey?.applyValue({ args0 ->
                    args0.transform({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .sellerID(sellerID.applyValue({ args0 -> args0 }))
            .type(type.applyValue({ args0 -> args0 }))
            .useEncryptedEndpoints(useEncryptedEndpoints?.applyValue({ args0 -> args0 }))
            .useHostVerification(useHostVerification?.applyValue({ args0 -> args0 }))
            .usePeerVerification(usePeerVerification?.applyValue({ args0 -> args0 }))
            .version(version?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AmazonMWSLinkedServiceArgs].
 */
@PulumiTagMarker
public class AmazonMWSLinkedServiceArgsBuilder internal constructor() {
    private var accessKeyId: Output? = null

    private var annotations: Output>? = null

    private var connectVia: Output? = null

    private var description: Output? = null

    private var encryptedCredential: Output? = null

    private var endpoint: Output? = null

    private var marketplaceID: Output? = null

    private var mwsAuthToken: Output>? =
        null

    private var parameters: Output>? = null

    private var secretKey: Output>? = null

    private var sellerID: Output? = null

    private var type: Output? = null

    private var useEncryptedEndpoints: Output? = null

    private var useHostVerification: Output? = null

    private var usePeerVerification: Output? = null

    private var version: Output? = null

    /**
     * @param value The access key id used to access data.
     */
    @JvmName("pnnktphmvbislxqx")
    public suspend fun accessKeyId(`value`: Output) {
        this.accessKeyId = value
    }

    /**
     * @param value List of tags that can be used for describing the linked service.
     */
    @JvmName("nhtqboqdnwfmphlr")
    public suspend fun annotations(`value`: Output>) {
        this.annotations = value
    }

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

    /**
     * @param values List of tags that can be used for describing the linked service.
     */
    @JvmName("kcghxbgckormqmtj")
    public suspend fun annotations(values: List>) {
        this.annotations = Output.all(values)
    }

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

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

    /**
     * @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     */
    @JvmName("hcoxeiyfmlybghom")
    public suspend fun encryptedCredential(`value`: Output) {
        this.encryptedCredential = value
    }

    /**
     * @param value The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com)
     */
    @JvmName("pxwqvqmrqkrujklo")
    public suspend fun endpoint(`value`: Output) {
        this.endpoint = value
    }

    /**
     * @param value The Amazon Marketplace ID you want to retrieve data from. To retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e. A2EUQ1WTGCTBG2)
     */
    @JvmName("tihsprigttgbnkaa")
    public suspend fun marketplaceID(`value`: Output) {
        this.marketplaceID = value
    }

    /**
     * @param value The Amazon MWS authentication token.
     */
    @JvmName("klseoivepyhjydvi")
    public suspend fun mwsAuthToken(`value`: Output>) {
        this.mwsAuthToken = value
    }

    /**
     * @param value Parameters for linked service.
     */
    @JvmName("jgjclcipmquvwise")
    public suspend fun parameters(`value`: Output>) {
        this.parameters = value
    }

    /**
     * @param value The secret key used to access data.
     */
    @JvmName("kqrtansrcmotorhi")
    public suspend fun secretKey(`value`: Output>) {
        this.secretKey = value
    }

    /**
     * @param value The Amazon seller ID.
     */
    @JvmName("jyncktxjsxhudtsp")
    public suspend fun sellerID(`value`: Output) {
        this.sellerID = value
    }

    /**
     * @param value Type of linked service.
     * Expected value is 'AmazonMWS'.
     */
    @JvmName("uwrjcyeyjhhvgtlc")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
     */
    @JvmName("effxgdnwfsbdihfl")
    public suspend fun useEncryptedEndpoints(`value`: Output) {
        this.useEncryptedEndpoints = value
    }

    /**
     * @param value Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
     */
    @JvmName("bhjebnwglybqknms")
    public suspend fun useHostVerification(`value`: Output) {
        this.useHostVerification = value
    }

    /**
     * @param value Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
     */
    @JvmName("vmbnrkpwqmqikxts")
    public suspend fun usePeerVerification(`value`: Output) {
        this.usePeerVerification = value
    }

    /**
     * @param value Version of the linked service.
     */
    @JvmName("caemsifvwfxhftwf")
    public suspend fun version(`value`: Output) {
        this.version = value
    }

    /**
     * @param value The access key id used to access data.
     */
    @JvmName("gilqxqpveajnxxkd")
    public suspend fun accessKeyId(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.accessKeyId = mapped
    }

    /**
     * @param value List of tags that can be used for describing the linked service.
     */
    @JvmName("twdaghonvfusjydy")
    public suspend fun annotations(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param values List of tags that can be used for describing the linked service.
     */
    @JvmName("avjtgglwqnqbotrb")
    public suspend fun annotations(vararg values: Any) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param value The integration runtime reference.
     */
    @JvmName("melgepmbipbuxkto")
    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("fxaesldopgnqfmlg")
    public suspend fun connectVia(argument: suspend IntegrationRuntimeReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = IntegrationRuntimeReferenceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.connectVia = mapped
    }

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

    /**
     * @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     */
    @JvmName("lhoabsfyiyyeryxy")
    public suspend fun encryptedCredential(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryptedCredential = mapped
    }

    /**
     * @param value The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com)
     */
    @JvmName("rnhgylamwbbniehd")
    public suspend fun endpoint(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.endpoint = mapped
    }

    /**
     * @param value The Amazon Marketplace ID you want to retrieve data from. To retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e. A2EUQ1WTGCTBG2)
     */
    @JvmName("libqclxlotmvaghi")
    public suspend fun marketplaceID(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.marketplaceID = mapped
    }

    /**
     * @param value The Amazon MWS authentication token.
     */
    @JvmName("ftlpyhhhrknapjdx")
    public suspend fun mwsAuthToken(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mwsAuthToken = mapped
    }

    /**
     * @param value The Amazon MWS authentication token.
     */
    @JvmName("pkjtvgnpjdegyimj")
    public fun mwsAuthToken(`value`: AzureKeyVaultSecretReferenceArgs) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.mwsAuthToken = mapped
    }

    /**
     * @param value The Amazon MWS authentication token.
     */
    @JvmName("gjggtqqiqnwjpuii")
    public fun mwsAuthToken(`value`: SecureStringArgs) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.mwsAuthToken = mapped
    }

    /**
     * @param value Parameters for linked service.
     */
    @JvmName("avxaevgmlbmgtdlq")
    public suspend fun parameters(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.parameters = mapped
    }

    /**
     * @param argument Parameters for linked service.
     */
    @JvmName("mycvglwmsjcisxkc")
    public suspend fun parameters(vararg argument: Pair Unit>) {
        val toBeMapped = argument.toList().map { (left, right) ->
            left to
                ParameterSpecificationArgsBuilder().applySuspend { right() }.build()
        }.toMap()
        val mapped = of(toBeMapped)
        this.parameters = mapped
    }

    /**
     * @param values Parameters for linked service.
     */
    @JvmName("owfwetmiucdlheuj")
    public fun parameters(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.parameters = mapped
    }

    /**
     * @param value The secret key used to access data.
     */
    @JvmName("yqxoeasmfbmvfdsy")
    public suspend fun secretKey(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.secretKey = mapped
    }

    /**
     * @param value The secret key used to access data.
     */
    @JvmName("mwcamwxmyrmmwfpu")
    public fun secretKey(`value`: AzureKeyVaultSecretReferenceArgs) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.secretKey = mapped
    }

    /**
     * @param value The secret key used to access data.
     */
    @JvmName("snsaksrsemevgrmp")
    public fun secretKey(`value`: SecureStringArgs) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.secretKey = mapped
    }

    /**
     * @param value The Amazon seller ID.
     */
    @JvmName("blwhqjqxylsxlvlr")
    public suspend fun sellerID(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.sellerID = mapped
    }

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

    /**
     * @param value Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
     */
    @JvmName("tqhvkbxixnjipjke")
    public suspend fun useEncryptedEndpoints(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.useEncryptedEndpoints = mapped
    }

    /**
     * @param value Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
     */
    @JvmName("wxukhqpovyuqcnit")
    public suspend fun useHostVerification(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.useHostVerification = mapped
    }

    /**
     * @param value Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
     */
    @JvmName("dbvnphfqnadcrhpq")
    public suspend fun usePeerVerification(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.usePeerVerification = mapped
    }

    /**
     * @param value Version of the linked service.
     */
    @JvmName("acyaddxvkmmsepir")
    public suspend fun version(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.version = mapped
    }

    internal fun build(): AmazonMWSLinkedServiceArgs = AmazonMWSLinkedServiceArgs(
        accessKeyId = accessKeyId ?: throw PulumiNullFieldException("accessKeyId"),
        annotations = annotations,
        connectVia = connectVia,
        description = description,
        encryptedCredential = encryptedCredential,
        endpoint = endpoint ?: throw PulumiNullFieldException("endpoint"),
        marketplaceID = marketplaceID ?: throw PulumiNullFieldException("marketplaceID"),
        mwsAuthToken = mwsAuthToken,
        parameters = parameters,
        secretKey = secretKey,
        sellerID = sellerID ?: throw PulumiNullFieldException("sellerID"),
        type = type ?: throw PulumiNullFieldException("type"),
        useEncryptedEndpoints = useEncryptedEndpoints,
        useHostVerification = useHostVerification,
        usePeerVerification = usePeerVerification,
        version = version,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy