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

com.pulumi.azure.containerapp.kotlin.outputs.AppIngress.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.containerapp.kotlin.outputs

import kotlin.Boolean
import kotlin.Deprecated
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property allowInsecureConnections Should this ingress allow insecure connections?
 * @property customDomain One or more `custom_domain` block as detailed below.
 * @property exposedPort The exposed port on the container for the Ingress traffic.
 * > **Note:** `exposed_port` can only be specified when `transport` is set to `tcp`.
 * @property externalEnabled Are connections to this Ingress from outside the Container App Environment enabled? Defaults to `false`.
 * @property fqdn The FQDN of the ingress.
 * @property ipSecurityRestrictions One or more `ip_security_restriction` blocks for IP-filtering rules as defined below.
 * @property targetPort The target port on the container for the Ingress traffic.
 * @property trafficWeights One or more `traffic_weight` blocks as detailed below.
 * @property transport The transport method for the Ingress. Possible values are `auto`, `http`, `http2` and `tcp`. Defaults to `auto`.
 */
public data class AppIngress(
    public val allowInsecureConnections: Boolean? = null,
    @Deprecated(
        message = """
  This property is deprecated in favour of the new `azure.containerapp.CustomDomain` resource and
      will become computed only in a future release.
  """,
    )
    public val customDomain: AppIngressCustomDomain? = null,
    public val exposedPort: Int? = null,
    public val externalEnabled: Boolean? = null,
    public val fqdn: String? = null,
    public val ipSecurityRestrictions: List? = null,
    public val targetPort: Int,
    public val trafficWeights: List,
    public val transport: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.containerapp.outputs.AppIngress): AppIngress =
            AppIngress(
                allowInsecureConnections = javaType.allowInsecureConnections().map({ args0 -> args0 }).orElse(null),
                customDomain = javaType.customDomain().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppIngressCustomDomain.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                exposedPort = javaType.exposedPort().map({ args0 -> args0 }).orElse(null),
                externalEnabled = javaType.externalEnabled().map({ args0 -> args0 }).orElse(null),
                fqdn = javaType.fqdn().map({ args0 -> args0 }).orElse(null),
                ipSecurityRestrictions = javaType.ipSecurityRestrictions().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppIngressIpSecurityRestriction.Companion.toKotlin(args0)
                    })
                }),
                targetPort = javaType.targetPort(),
                trafficWeights = javaType.trafficWeights().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.containerapp.kotlin.outputs.AppIngressTrafficWeight.Companion.toKotlin(args0)
                    })
                }),
                transport = javaType.transport().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy