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

com.pulumi.kubernetes.networking.v1beta1.inputs.IngressClassSpecPatchArgs Maven / Gradle / Ivy

There is a newer version: 4.21.0
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.networking.v1beta1.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.kubernetes.core.v1.inputs.TypedLocalObjectReferencePatchArgs;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * IngressClassSpec provides information about the class of an Ingress.
 * 
 */
public final class IngressClassSpecPatchArgs extends com.pulumi.resources.ResourceArgs {

    public static final IngressClassSpecPatchArgs Empty = new IngressClassSpecPatchArgs();

    /**
     * Controller refers to the name of the controller that should handle this class. This allows for different "flavors" that are controlled by the same controller. For example, you may have different Parameters for the same implementing controller. This should be specified as a domain-prefixed path no more than 250 characters in length, e.g. "acme.io/ingress-controller". This field is immutable.
     * 
     */
    @Import(name="controller")
    private @Nullable Output controller;

    /**
     * @return Controller refers to the name of the controller that should handle this class. This allows for different "flavors" that are controlled by the same controller. For example, you may have different Parameters for the same implementing controller. This should be specified as a domain-prefixed path no more than 250 characters in length, e.g. "acme.io/ingress-controller". This field is immutable.
     * 
     */
    public Optional> controller() {
        return Optional.ofNullable(this.controller);
    }

    /**
     * Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output parameters;

    /**
     * @return Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.
     * 
     */
    public Optional> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    private IngressClassSpecPatchArgs() {}

    private IngressClassSpecPatchArgs(IngressClassSpecPatchArgs $) {
        this.controller = $.controller;
        this.parameters = $.parameters;
    }

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

    public static final class Builder {
        private IngressClassSpecPatchArgs $;

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

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

        /**
         * @param controller Controller refers to the name of the controller that should handle this class. This allows for different "flavors" that are controlled by the same controller. For example, you may have different Parameters for the same implementing controller. This should be specified as a domain-prefixed path no more than 250 characters in length, e.g. "acme.io/ingress-controller". This field is immutable.
         * 
         * @return builder
         * 
         */
        public Builder controller(@Nullable Output controller) {
            $.controller = controller;
            return this;
        }

        /**
         * @param controller Controller refers to the name of the controller that should handle this class. This allows for different "flavors" that are controlled by the same controller. For example, you may have different Parameters for the same implementing controller. This should be specified as a domain-prefixed path no more than 250 characters in length, e.g. "acme.io/ingress-controller". This field is immutable.
         * 
         * @return builder
         * 
         */
        public Builder controller(String controller) {
            return controller(Output.of(controller));
        }

        /**
         * @param parameters Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.
         * 
         * @return builder
         * 
         */
        public Builder parameters(TypedLocalObjectReferencePatchArgs parameters) {
            return parameters(Output.of(parameters));
        }

        public IngressClassSpecPatchArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy