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

com.pulumi.aws.transfer.kotlin.ProfileArgs.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: 6.57.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.transfer.kotlin

import com.pulumi.aws.transfer.ProfileArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Provides a AWS Transfer AS2 Profile resource.
 * ## Example Usage
 * ### Basic
 * 
 * ```yaml
 * resources:
 *   example:
 *     type: aws:transfer:Profile
 *     properties:
 *       as2Id: example
 *       certificateIds:
 *         - ${exampleAwsTransferCertificate.certificateId}
 *       usage: LOCAL
 * ```
 * 
 * ## Import
 * Using `pulumi import`, import Transfer AS2 Profile using the `profile_id`. For example:
 * ```sh
 * $ pulumi import aws:transfer/profile:Profile example p-4221a88afd5f4362a
 * ```
 * @property as2Id The As2Id is the AS2 name as defined in the RFC 4130. For inbound ttransfers this is the AS2 From Header for the AS2 messages sent from the partner. For Outbound messages this is the AS2 To Header for the AS2 messages sent to the partner. his ID cannot include spaces.
 * @property certificateIds The list of certificate Ids from the imported certificate operation.
 * @property profileType The profile type should be LOCAL or PARTNER.
 * @property tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
 */
public data class ProfileArgs(
    public val as2Id: Output? = null,
    public val certificateIds: Output>? = null,
    public val profileType: Output? = null,
    public val tags: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.transfer.ProfileArgs =
        com.pulumi.aws.transfer.ProfileArgs.builder()
            .as2Id(as2Id?.applyValue({ args0 -> args0 }))
            .certificateIds(certificateIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .profileType(profileType?.applyValue({ args0 -> args0 }))
            .tags(
                tags?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            ).build()
}

/**
 * Builder for [ProfileArgs].
 */
@PulumiTagMarker
public class ProfileArgsBuilder internal constructor() {
    private var as2Id: Output? = null

    private var certificateIds: Output>? = null

    private var profileType: Output? = null

    private var tags: Output>? = null

    /**
     * @param value The As2Id is the AS2 name as defined in the RFC 4130. For inbound ttransfers this is the AS2 From Header for the AS2 messages sent from the partner. For Outbound messages this is the AS2 To Header for the AS2 messages sent to the partner. his ID cannot include spaces.
     */
    @JvmName("ojacjbyrqwhcbbrx")
    public suspend fun as2Id(`value`: Output) {
        this.as2Id = value
    }

    /**
     * @param value The list of certificate Ids from the imported certificate operation.
     */
    @JvmName("fnmekvyxfyfskgnv")
    public suspend fun certificateIds(`value`: Output>) {
        this.certificateIds = value
    }

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

    /**
     * @param values The list of certificate Ids from the imported certificate operation.
     */
    @JvmName("anvejnfakbahdyqf")
    public suspend fun certificateIds(values: List>) {
        this.certificateIds = Output.all(values)
    }

    /**
     * @param value The profile type should be LOCAL or PARTNER.
     */
    @JvmName("ofnbqylrnoubwipo")
    public suspend fun profileType(`value`: Output) {
        this.profileType = value
    }

    /**
     * @param value A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     */
    @JvmName("xgiegevotmnkurij")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value The As2Id is the AS2 name as defined in the RFC 4130. For inbound ttransfers this is the AS2 From Header for the AS2 messages sent from the partner. For Outbound messages this is the AS2 To Header for the AS2 messages sent to the partner. his ID cannot include spaces.
     */
    @JvmName("thqktefeusrntiqt")
    public suspend fun as2Id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.as2Id = mapped
    }

    /**
     * @param value The list of certificate Ids from the imported certificate operation.
     */
    @JvmName("kdqqmvilhkclsklo")
    public suspend fun certificateIds(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.certificateIds = mapped
    }

    /**
     * @param values The list of certificate Ids from the imported certificate operation.
     */
    @JvmName("gslfqixjaicbchof")
    public suspend fun certificateIds(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.certificateIds = mapped
    }

    /**
     * @param value The profile type should be LOCAL or PARTNER.
     */
    @JvmName("eshatdrluhebonie")
    public suspend fun profileType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.profileType = mapped
    }

    /**
     * @param value A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     */
    @JvmName("pjfcrewkmqycrdgo")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     */
    @JvmName("kslksgsfdkxiqtsi")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    internal fun build(): ProfileArgs = ProfileArgs(
        as2Id = as2Id,
        certificateIds = certificateIds,
        profileType = profileType,
        tags = tags,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy