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

com.pulumi.kubernetes.apiextensions.v1.kotlin.inputs.CustomResourceColumnDefinitionArgs.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.apiextensions.v1.kotlin.inputs

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.kubernetes.apiextensions.v1.inputs.CustomResourceColumnDefinitionArgs.builder
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * CustomResourceColumnDefinition specifies a column for server side printing.
 * @property description description is a human readable description of this column.
 * @property format format is an optional OpenAPI type definition for this column. The 'name' format is applied to the primary identifier column to assist in clients identifying column is the resource name. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
 * @property jsonPath jsonPath is a simple JSON path (i.e. with array notation) which is evaluated against each custom resource to produce the value for this column.
 * @property name name is a human readable name for the column.
 * @property priority priority is an integer defining the relative importance of this column compared to others. Lower numbers are considered higher priority. Columns that may be omitted in limited space scenarios should be given a priority greater than 0.
 * @property type type is an OpenAPI type definition for this column. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
 */
public data class CustomResourceColumnDefinitionArgs(
    public val description: Output? = null,
    public val format: Output? = null,
    public val jsonPath: Output,
    public val name: Output,
    public val priority: Output? = null,
    public val type: Output,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.kubernetes.apiextensions.v1.inputs.CustomResourceColumnDefinitionArgs =
        com.pulumi.kubernetes.apiextensions.v1.inputs.CustomResourceColumnDefinitionArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .format(format?.applyValue({ args0 -> args0 }))
            .jsonPath(jsonPath.applyValue({ args0 -> args0 }))
            .name(name.applyValue({ args0 -> args0 }))
            .priority(priority?.applyValue({ args0 -> args0 }))
            .type(type.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [CustomResourceColumnDefinitionArgs].
 */
@PulumiTagMarker
public class CustomResourceColumnDefinitionArgsBuilder internal constructor() {
    private var description: Output? = null

    private var format: Output? = null

    private var jsonPath: Output? = null

    private var name: Output? = null

    private var priority: Output? = null

    private var type: Output? = null

    /**
     * @param value description is a human readable description of this column.
     */
    @JvmName("qcorabavnclresnv")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value format is an optional OpenAPI type definition for this column. The 'name' format is applied to the primary identifier column to assist in clients identifying column is the resource name. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
     */
    @JvmName("iwlfsqpcrjseeiaj")
    public suspend fun format(`value`: Output) {
        this.format = value
    }

    /**
     * @param value jsonPath is a simple JSON path (i.e. with array notation) which is evaluated against each custom resource to produce the value for this column.
     */
    @JvmName("qbryoowbeiuisjpw")
    public suspend fun jsonPath(`value`: Output) {
        this.jsonPath = value
    }

    /**
     * @param value name is a human readable name for the column.
     */
    @JvmName("jdrufbpwsetlqyqr")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value priority is an integer defining the relative importance of this column compared to others. Lower numbers are considered higher priority. Columns that may be omitted in limited space scenarios should be given a priority greater than 0.
     */
    @JvmName("vagsvlhfnltsmuve")
    public suspend fun priority(`value`: Output) {
        this.priority = value
    }

    /**
     * @param value type is an OpenAPI type definition for this column. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
     */
    @JvmName("xunmabvyuevdxdaq")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value description is a human readable description of this column.
     */
    @JvmName("owkehnhlnpyknwof")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value format is an optional OpenAPI type definition for this column. The 'name' format is applied to the primary identifier column to assist in clients identifying column is the resource name. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
     */
    @JvmName("oxwsyamdqljxbjmp")
    public suspend fun format(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.format = mapped
    }

    /**
     * @param value jsonPath is a simple JSON path (i.e. with array notation) which is evaluated against each custom resource to produce the value for this column.
     */
    @JvmName("rwfyumjbagshdsce")
    public suspend fun jsonPath(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.jsonPath = mapped
    }

    /**
     * @param value name is a human readable name for the column.
     */
    @JvmName("wcltfhrmdhxhcaeu")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value priority is an integer defining the relative importance of this column compared to others. Lower numbers are considered higher priority. Columns that may be omitted in limited space scenarios should be given a priority greater than 0.
     */
    @JvmName("jigyhhpraftrifkk")
    public suspend fun priority(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.priority = mapped
    }

    /**
     * @param value type is an OpenAPI type definition for this column. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
     */
    @JvmName("wcvrdpwmupqbfqmc")
    public suspend fun type(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.type = mapped
    }

    internal fun build(): CustomResourceColumnDefinitionArgs = CustomResourceColumnDefinitionArgs(
        description = description,
        format = format,
        jsonPath = jsonPath ?: throw PulumiNullFieldException("jsonPath"),
        name = name ?: throw PulumiNullFieldException("name"),
        priority = priority,
        type = type ?: throw PulumiNullFieldException("type"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy