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

com.pulumi.kubernetes.extensions.v1beta1.kotlin.outputs.HTTPIngressPathPatch.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: 4.18.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.extensions.v1beta1.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 * HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend.
 * @property backend Backend defines the referenced service endpoint to which the traffic will be forwarded to.
 * @property path Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/'. If unspecified, the path defaults to a catch all sending traffic to the backend.
 * @property pathType PathType determines the interpretation of the Path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by '/'. Matching is
 *   done on a path element by element basis. A path element refers is the
 *   list of labels in the path split by the '/' separator. A request is a
 *   match for path p if every p is an element-wise prefix of p of the
 *   request path. Note that if the last element of the path is a substring
 *   of the last element in request path, it is not a match (e.g. /foo/bar
 *   matches /foo/bar/baz, but does not match /foo/barbaz).
 * * ImplementationSpecific: Interpretation of the Path matching is up to
 *   the IngressClass. Implementations can treat this as a separate PathType
 *   or treat it identically to Prefix or Exact path types.
 * Implementations are required to support all path types. Defaults to ImplementationSpecific.
 */
public data class HTTPIngressPathPatch(
    public val backend: IngressBackendPatch? = null,
    public val path: String? = null,
    public val pathType: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.kubernetes.extensions.v1beta1.outputs.HTTPIngressPathPatch): HTTPIngressPathPatch = HTTPIngressPathPatch(
            backend = javaType.backend().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.kubernetes.extensions.v1beta1.kotlin.outputs.IngressBackendPatch.Companion.toKotlin(args0)
                })
            }).orElse(null),
            path = javaType.path().map({ args0 -> args0 }).orElse(null),
            pathType = javaType.pathType().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy