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

com.pulumi.aws.ecs.kotlin.inputs.ServiceServiceConnectConfigurationServiceArgs.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.66.3.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.ecs.kotlin.inputs

import com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationServiceArgs.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 com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property clientAlias List of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
 * @property discoveryName Name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service.
 * @property ingressPortOverride Port number for the Service Connect proxy to listen on.
 * @property portName Name of one of the `portMappings` from all the containers in the task definition of this Amazon ECS service.
 * @property timeout Configuration timeouts for Service Connect
 * @property tls Configuration for enabling Transport Layer Security (TLS)
 */
public data class ServiceServiceConnectConfigurationServiceArgs(
    public val clientAlias: Output>? =
        null,
    public val discoveryName: Output? = null,
    public val ingressPortOverride: Output? = null,
    public val portName: Output,
    public val timeout: Output? = null,
    public val tls: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationServiceArgs =
        com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationServiceArgs.builder()
            .clientAlias(
                clientAlias?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .discoveryName(discoveryName?.applyValue({ args0 -> args0 }))
            .ingressPortOverride(ingressPortOverride?.applyValue({ args0 -> args0 }))
            .portName(portName.applyValue({ args0 -> args0 }))
            .timeout(timeout?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .tls(tls?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [ServiceServiceConnectConfigurationServiceArgs].
 */
@PulumiTagMarker
public class ServiceServiceConnectConfigurationServiceArgsBuilder internal constructor() {
    private var clientAlias: Output>? =
        null

    private var discoveryName: Output? = null

    private var ingressPortOverride: Output? = null

    private var portName: Output? = null

    private var timeout: Output? = null

    private var tls: Output? = null

    /**
     * @param value List of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
     */
    @JvmName("dlvwogbthvrapoal")
    public suspend fun clientAlias(`value`: Output>) {
        this.clientAlias = value
    }

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

    /**
     * @param values List of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
     */
    @JvmName("ylpbiqqydtndxdwf")
    public suspend fun clientAlias(values: List>) {
        this.clientAlias = Output.all(values)
    }

    /**
     * @param value Name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service.
     */
    @JvmName("eilsyeyhavavmqrq")
    public suspend fun discoveryName(`value`: Output) {
        this.discoveryName = value
    }

    /**
     * @param value Port number for the Service Connect proxy to listen on.
     */
    @JvmName("msbesyvxokrxdivf")
    public suspend fun ingressPortOverride(`value`: Output) {
        this.ingressPortOverride = value
    }

    /**
     * @param value Name of one of the `portMappings` from all the containers in the task definition of this Amazon ECS service.
     */
    @JvmName("xrttmbugwbihkjts")
    public suspend fun portName(`value`: Output) {
        this.portName = value
    }

    /**
     * @param value Configuration timeouts for Service Connect
     */
    @JvmName("ludlrntardwgnhbk")
    public suspend fun timeout(`value`: Output) {
        this.timeout = value
    }

    /**
     * @param value Configuration for enabling Transport Layer Security (TLS)
     */
    @JvmName("rvkdgkkottiuudgd")
    public suspend fun tls(`value`: Output) {
        this.tls = value
    }

    /**
     * @param value List of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
     */
    @JvmName("kpjkanvgaktnyite")
    public suspend fun clientAlias(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientAlias = mapped
    }

    /**
     * @param argument List of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
     */
    @JvmName("otjnfkbdqnxhqdqw")
    public suspend fun clientAlias(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ServiceServiceConnectConfigurationServiceClientAliasArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.clientAlias = mapped
    }

    /**
     * @param argument List of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
     */
    @JvmName("axnrlbwqvhioqhsi")
    public suspend fun clientAlias(vararg argument: suspend ServiceServiceConnectConfigurationServiceClientAliasArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ServiceServiceConnectConfigurationServiceClientAliasArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.clientAlias = mapped
    }

    /**
     * @param argument List of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
     */
    @JvmName("nvpvladpqhsnfqeu")
    public suspend fun clientAlias(argument: suspend ServiceServiceConnectConfigurationServiceClientAliasArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                ServiceServiceConnectConfigurationServiceClientAliasArgsBuilder().applySuspend {
                    argument()
                }.build(),
            )
        val mapped = of(toBeMapped)
        this.clientAlias = mapped
    }

    /**
     * @param values List of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
     */
    @JvmName("kqpjxfgybihxfjor")
    public suspend fun clientAlias(vararg values: ServiceServiceConnectConfigurationServiceClientAliasArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.clientAlias = mapped
    }

    /**
     * @param value Name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service.
     */
    @JvmName("imxecelghjlrfvtc")
    public suspend fun discoveryName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.discoveryName = mapped
    }

    /**
     * @param value Port number for the Service Connect proxy to listen on.
     */
    @JvmName("vvarnlgleagaqghy")
    public suspend fun ingressPortOverride(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ingressPortOverride = mapped
    }

    /**
     * @param value Name of one of the `portMappings` from all the containers in the task definition of this Amazon ECS service.
     */
    @JvmName("fbqfelddphiaqpst")
    public suspend fun portName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.portName = mapped
    }

    /**
     * @param value Configuration timeouts for Service Connect
     */
    @JvmName("fkwjmcxhqdouagfm")
    public suspend fun timeout(`value`: ServiceServiceConnectConfigurationServiceTimeoutArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeout = mapped
    }

    /**
     * @param argument Configuration timeouts for Service Connect
     */
    @JvmName("aebboaqnrxrcisbg")
    public suspend fun timeout(argument: suspend ServiceServiceConnectConfigurationServiceTimeoutArgsBuilder.() -> Unit) {
        val toBeMapped = ServiceServiceConnectConfigurationServiceTimeoutArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.timeout = mapped
    }

    /**
     * @param value Configuration for enabling Transport Layer Security (TLS)
     */
    @JvmName("befyurffldxemike")
    public suspend fun tls(`value`: ServiceServiceConnectConfigurationServiceTlsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tls = mapped
    }

    /**
     * @param argument Configuration for enabling Transport Layer Security (TLS)
     */
    @JvmName("njvtevxwvctlbomn")
    public suspend fun tls(argument: suspend ServiceServiceConnectConfigurationServiceTlsArgsBuilder.() -> Unit) {
        val toBeMapped = ServiceServiceConnectConfigurationServiceTlsArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.tls = mapped
    }

    internal fun build(): ServiceServiceConnectConfigurationServiceArgs =
        ServiceServiceConnectConfigurationServiceArgs(
            clientAlias = clientAlias,
            discoveryName = discoveryName,
            ingressPortOverride = ingressPortOverride,
            portName = portName ?: throw PulumiNullFieldException("portName"),
            timeout = timeout,
            tls = tls,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy