![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azurenative.app.kotlin.inputs.IngressArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-native-kotlin Show documentation
Show all versions of pulumi-azure-native-kotlin Show documentation
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.azurenative.app.kotlin.inputs
import com.pulumi.azurenative.app.inputs.IngressArgs.builder
import com.pulumi.azurenative.app.kotlin.enums.IngressClientCertificateMode
import com.pulumi.azurenative.app.kotlin.enums.IngressTransportMethod
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.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Container App Ingress configuration.
* @property allowInsecure Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections
* @property clientCertificateMode Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require indicates server requires a client certificate.
* @property corsPolicy CORS policy for container app
* @property customDomains custom domain bindings for Container Apps' hostnames.
* @property exposedPort Exposed Port in containers for TCP traffic from ingress
* @property external Bool indicating if app exposes an external http endpoint
* @property ipSecurityRestrictions Rules to restrict incoming IP address.
* @property targetPort Target Port in containers for traffic from ingress
* @property traffic Traffic weights for app's revisions
* @property transport Ingress transport protocol
*/
public data class IngressArgs(
public val allowInsecure: Output? = null,
public val clientCertificateMode: Output>? = null,
public val corsPolicy: Output? = null,
public val customDomains: Output>? = null,
public val exposedPort: Output? = null,
public val `external`: Output? = null,
public val ipSecurityRestrictions: Output>? = null,
public val targetPort: Output? = null,
public val traffic: Output>? = null,
public val transport: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.app.inputs.IngressArgs =
com.pulumi.azurenative.app.inputs.IngressArgs.builder()
.allowInsecure(allowInsecure?.applyValue({ args0 -> args0 }))
.clientCertificateMode(
clientCertificateMode?.applyValue({ args0 ->
args0.transform({ args0 ->
args0
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.corsPolicy(corsPolicy?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.customDomains(
customDomains?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.exposedPort(exposedPort?.applyValue({ args0 -> args0 }))
.`external`(`external`?.applyValue({ args0 -> args0 }))
.ipSecurityRestrictions(
ipSecurityRestrictions?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.targetPort(targetPort?.applyValue({ args0 -> args0 }))
.traffic(
traffic?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.transport(
transport?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
).build()
}
/**
* Builder for [IngressArgs].
*/
@PulumiTagMarker
public class IngressArgsBuilder internal constructor() {
private var allowInsecure: Output? = null
private var clientCertificateMode: Output>? = null
private var corsPolicy: Output? = null
private var customDomains: Output>? = null
private var exposedPort: Output? = null
private var `external`: Output? = null
private var ipSecurityRestrictions: Output>? = null
private var targetPort: Output? = null
private var traffic: Output>? = null
private var transport: Output>? = null
/**
* @param value Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections
*/
@JvmName("hlpbkklemhexargd")
public suspend fun allowInsecure(`value`: Output) {
this.allowInsecure = value
}
/**
* @param value Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require indicates server requires a client certificate.
*/
@JvmName("widpbiwiyjovlqak")
public suspend fun clientCertificateMode(`value`: Output>) {
this.clientCertificateMode = value
}
/**
* @param value CORS policy for container app
*/
@JvmName("xctityctgespaqcv")
public suspend fun corsPolicy(`value`: Output) {
this.corsPolicy = value
}
/**
* @param value custom domain bindings for Container Apps' hostnames.
*/
@JvmName("vpcwqfgtgbuiswtx")
public suspend fun customDomains(`value`: Output>) {
this.customDomains = value
}
@JvmName("vtcpxjkvufjnryoo")
public suspend fun customDomains(vararg values: Output) {
this.customDomains = Output.all(values.asList())
}
/**
* @param values custom domain bindings for Container Apps' hostnames.
*/
@JvmName("pjxitrfyxqkpexal")
public suspend fun customDomains(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy