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

com.pulumi.kubernetes.batch.v1.kotlin.inputs.PodFailurePolicyOnExitCodesRequirementPatchArgs.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.batch.v1.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kubernetes.batch.v1.inputs.PodFailurePolicyOnExitCodesRequirementPatchArgs.builder
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * PodFailurePolicyOnExitCodesRequirement describes the requirement for handling a failed pod based on its container exit codes. In particular, it lookups the .state.terminated.exitCode for each app container and init container status, represented by the .status.containerStatuses and .status.initContainerStatuses fields in the Pod status, respectively. Containers completed with success (exit code 0) are excluded from the requirement check.
 * @property containerName Restricts the check for exit codes to the container with the specified name. When null, the rule applies to all containers. When specified, it should match one the container or initContainer names in the pod template.
 * @property operator Represents the relationship between the container exit code(s) and the specified values. Containers completed with success (exit code 0) are excluded from the requirement check. Possible values are:
 * - In: the requirement is satisfied if at least one container exit code
 *   (might be multiple if there are multiple containers not restricted
 *   by the 'containerName' field) is in the set of specified values.
 * - NotIn: the requirement is satisfied if at least one container exit code
 *   (might be multiple if there are multiple containers not restricted
 *   by the 'containerName' field) is not in the set of specified values.
 * Additional values are considered to be added in the future. Clients should react to an unknown operator by assuming the requirement is not satisfied.
 * @property values Specifies the set of values. Each returned container exit code (might be multiple in case of multiple containers) is checked against this set of values with respect to the operator. The list of values must be ordered and must not contain duplicates. Value '0' cannot be used for the In operator. At least one element is required. At most 255 elements are allowed.
 */
public data class PodFailurePolicyOnExitCodesRequirementPatchArgs(
    public val containerName: Output? = null,
    public val `operator`: Output? = null,
    public val values: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.kubernetes.batch.v1.inputs.PodFailurePolicyOnExitCodesRequirementPatchArgs =
        com.pulumi.kubernetes.batch.v1.inputs.PodFailurePolicyOnExitCodesRequirementPatchArgs.builder()
            .containerName(containerName?.applyValue({ args0 -> args0 }))
            .`operator`(`operator`?.applyValue({ args0 -> args0 }))
            .values(values?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

/**
 * Builder for [PodFailurePolicyOnExitCodesRequirementPatchArgs].
 */
@PulumiTagMarker
public class PodFailurePolicyOnExitCodesRequirementPatchArgsBuilder internal constructor() {
    private var containerName: Output? = null

    private var `operator`: Output? = null

    private var values: Output>? = null

    /**
     * @param value Restricts the check for exit codes to the container with the specified name. When null, the rule applies to all containers. When specified, it should match one the container or initContainer names in the pod template.
     */
    @JvmName("pwkgkfsnhsviovyc")
    public suspend fun containerName(`value`: Output) {
        this.containerName = value
    }

    /**
     * @param value Represents the relationship between the container exit code(s) and the specified values. Containers completed with success (exit code 0) are excluded from the requirement check. Possible values are:
     * - In: the requirement is satisfied if at least one container exit code
     *   (might be multiple if there are multiple containers not restricted
     *   by the 'containerName' field) is in the set of specified values.
     * - NotIn: the requirement is satisfied if at least one container exit code
     *   (might be multiple if there are multiple containers not restricted
     *   by the 'containerName' field) is not in the set of specified values.
     * Additional values are considered to be added in the future. Clients should react to an unknown operator by assuming the requirement is not satisfied.
     */
    @JvmName("sekuvqjfverolqmj")
    public suspend fun `operator`(`value`: Output) {
        this.`operator` = value
    }

    /**
     * @param value Specifies the set of values. Each returned container exit code (might be multiple in case of multiple containers) is checked against this set of values with respect to the operator. The list of values must be ordered and must not contain duplicates. Value '0' cannot be used for the In operator. At least one element is required. At most 255 elements are allowed.
     */
    @JvmName("bhpbmwqnntrswqqi")
    public suspend fun values(`value`: Output>) {
        this.values = value
    }

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

    /**
     * @param values Specifies the set of values. Each returned container exit code (might be multiple in case of multiple containers) is checked against this set of values with respect to the operator. The list of values must be ordered and must not contain duplicates. Value '0' cannot be used for the In operator. At least one element is required. At most 255 elements are allowed.
     */
    @JvmName("xmbwxgjxwaboaatf")
    public suspend fun values(values: List>) {
        this.values = Output.all(values)
    }

    /**
     * @param value Restricts the check for exit codes to the container with the specified name. When null, the rule applies to all containers. When specified, it should match one the container or initContainer names in the pod template.
     */
    @JvmName("ycskuyqkxxgtxfob")
    public suspend fun containerName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.containerName = mapped
    }

    /**
     * @param value Represents the relationship between the container exit code(s) and the specified values. Containers completed with success (exit code 0) are excluded from the requirement check. Possible values are:
     * - In: the requirement is satisfied if at least one container exit code
     *   (might be multiple if there are multiple containers not restricted
     *   by the 'containerName' field) is in the set of specified values.
     * - NotIn: the requirement is satisfied if at least one container exit code
     *   (might be multiple if there are multiple containers not restricted
     *   by the 'containerName' field) is not in the set of specified values.
     * Additional values are considered to be added in the future. Clients should react to an unknown operator by assuming the requirement is not satisfied.
     */
    @JvmName("encualxdufalyrqb")
    public suspend fun `operator`(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.`operator` = mapped
    }

    /**
     * @param value Specifies the set of values. Each returned container exit code (might be multiple in case of multiple containers) is checked against this set of values with respect to the operator. The list of values must be ordered and must not contain duplicates. Value '0' cannot be used for the In operator. At least one element is required. At most 255 elements are allowed.
     */
    @JvmName("aidkqlwirgscdtno")
    public suspend fun values(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.values = mapped
    }

    /**
     * @param values Specifies the set of values. Each returned container exit code (might be multiple in case of multiple containers) is checked against this set of values with respect to the operator. The list of values must be ordered and must not contain duplicates. Value '0' cannot be used for the In operator. At least one element is required. At most 255 elements are allowed.
     */
    @JvmName("hxcmtxcgcxfjjymy")
    public suspend fun values(vararg values: Int) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.values = mapped
    }

    internal fun build(): PodFailurePolicyOnExitCodesRequirementPatchArgs =
        PodFailurePolicyOnExitCodesRequirementPatchArgs(
            containerName = containerName,
            `operator` = `operator`,
            values = values,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy