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

com.pulumi.kubernetes.apiextensions.v1.inputs.CustomResourceColumnDefinitionArgs Maven / Gradle / Ivy

There is a newer version: 4.19.0-alpha.1730750641
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

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

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * CustomResourceColumnDefinition specifies a column for server side printing.
 * 
 */
public final class CustomResourceColumnDefinitionArgs extends com.pulumi.resources.ResourceArgs {

    public static final CustomResourceColumnDefinitionArgs Empty = new CustomResourceColumnDefinitionArgs();

    /**
     * description is a human readable description of this column.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return description is a human readable description of this column.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * 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.
     * 
     */
    @Import(name="format")
    private @Nullable Output format;

    /**
     * @return 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.
     * 
     */
    public Optional> format() {
        return Optional.ofNullable(this.format);
    }

    /**
     * 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.
     * 
     */
    @Import(name="jsonPath", required=true)
    private Output jsonPath;

    /**
     * @return 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.
     * 
     */
    public Output jsonPath() {
        return this.jsonPath;
    }

    /**
     * name is a human readable name for the column.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return name is a human readable name for the column.
     * 
     */
    public Output name() {
        return this.name;
    }

    /**
     * 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.
     * 
     */
    @Import(name="priority")
    private @Nullable Output priority;

    /**
     * @return 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.
     * 
     */
    public Optional> priority() {
        return Optional.ofNullable(this.priority);
    }

    /**
     * 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.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return 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 Output type() {
        return this.type;
    }

    private CustomResourceColumnDefinitionArgs() {}

    private CustomResourceColumnDefinitionArgs(CustomResourceColumnDefinitionArgs $) {
        this.description = $.description;
        this.format = $.format;
        this.jsonPath = $.jsonPath;
        this.name = $.name;
        this.priority = $.priority;
        this.type = $.type;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(CustomResourceColumnDefinitionArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private CustomResourceColumnDefinitionArgs $;

        public Builder() {
            $ = new CustomResourceColumnDefinitionArgs();
        }

        public Builder(CustomResourceColumnDefinitionArgs defaults) {
            $ = new CustomResourceColumnDefinitionArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param description description is a human readable description of this column.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description description is a human readable description of this column.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder format(@Nullable Output format) {
            $.format = format;
            return this;
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder format(String format) {
            return format(Output.of(format));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder jsonPath(Output jsonPath) {
            $.jsonPath = jsonPath;
            return this;
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder jsonPath(String jsonPath) {
            return jsonPath(Output.of(jsonPath));
        }

        /**
         * @param name name is a human readable name for the column.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name name is a human readable name for the column.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder priority(@Nullable Output priority) {
            $.priority = priority;
            return this;
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder priority(Integer priority) {
            return priority(Output.of(priority));
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param 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.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public CustomResourceColumnDefinitionArgs build() {
            if ($.jsonPath == null) {
                throw new MissingRequiredPropertyException("CustomResourceColumnDefinitionArgs", "jsonPath");
            }
            if ($.name == null) {
                throw new MissingRequiredPropertyException("CustomResourceColumnDefinitionArgs", "name");
            }
            if ($.type == null) {
                throw new MissingRequiredPropertyException("CustomResourceColumnDefinitionArgs", "type");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy