Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.ecs.kotlin.inputs
import com.pulumi.awsnative.ecs.inputs.ServiceConnectServiceArgs.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
/**
* The Service Connect service object configuration. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.
* @property clientAliases The 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.
* Each alias ("endpoint") is a fully-qualified name and port number that other Amazon ECS tasks ("clients") can use to connect to this service.
* Each name and port mapping must be unique within the namespace.
* For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.
* @property discoveryName The ``discoveryName`` is the name of the new CMAP service that Amazon ECS creates for this Amazon ECS service. This must be unique within the CMAP namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.
* If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.
* @property ingressPortOverride The port number for the Service Connect proxy to listen on.
* Use the value of this field to bypass the proxy for traffic on the port number specified in the named ``portMapping`` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service.
* In ``awsvpc`` mode and Fargate, the default value is the container port number. The container port number is in the ``portMapping`` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.
* @property portName The ``portName`` must match the name of one of the ``portMappings`` from all the containers in the task definition of this Amazon ECS service.
* @property timeout A reference to an object that represents the configured timeouts for Service Connect.
* @property tls A reference to an object that represents a Transport Layer Security (TLS) configuration.
*/
public data class ServiceConnectServiceArgs(
public val clientAliases: 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.awsnative.ecs.inputs.ServiceConnectServiceArgs =
com.pulumi.awsnative.ecs.inputs.ServiceConnectServiceArgs.builder()
.clientAliases(
clientAliases?.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 [ServiceConnectServiceArgs].
*/
@PulumiTagMarker
public class ServiceConnectServiceArgsBuilder internal constructor() {
private var clientAliases: 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 The 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.
* Each alias ("endpoint") is a fully-qualified name and port number that other Amazon ECS tasks ("clients") can use to connect to this service.
* Each name and port mapping must be unique within the namespace.
* For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.
*/
@JvmName("pkjtfrswkwhrfsrk")
public suspend fun clientAliases(`value`: Output>) {
this.clientAliases = value
}
@JvmName("iypcbvnfhgasfkcf")
public suspend fun clientAliases(vararg values: Output) {
this.clientAliases = Output.all(values.asList())
}
/**
* @param values The 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.
* Each alias ("endpoint") is a fully-qualified name and port number that other Amazon ECS tasks ("clients") can use to connect to this service.
* Each name and port mapping must be unique within the namespace.
* For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.
*/
@JvmName("wgpdmbtyxnafplbd")
public suspend fun clientAliases(values: List