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

com.pulumi.consul.inputs.ConfigEntryServiceRouterRouteMatchHttpArgs Maven / Gradle / Ivy

There is a newer version: 3.13.0-alpha.1732771629
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.consul.inputs;

import com.pulumi.consul.inputs.ConfigEntryServiceRouterRouteMatchHttpHeaderArgs;
import com.pulumi.consul.inputs.ConfigEntryServiceRouterRouteMatchHttpQueryParamArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ConfigEntryServiceRouterRouteMatchHttpArgs extends com.pulumi.resources.ResourceArgs {

    public static final ConfigEntryServiceRouterRouteMatchHttpArgs Empty = new ConfigEntryServiceRouterRouteMatchHttpArgs();

    /**
     * Specifies information in the HTTP request header to match with.
     * 
     */
    @Import(name="headers")
    private @Nullable Output> headers;

    /**
     * @return Specifies information in the HTTP request header to match with.
     * 
     */
    public Optional>> headers() {
        return Optional.ofNullable(this.headers);
    }

    /**
     * Specifies HTTP methods that the match applies to.
     * 
     */
    @Import(name="methods")
    private @Nullable Output> methods;

    /**
     * @return Specifies HTTP methods that the match applies to.
     * 
     */
    public Optional>> methods() {
        return Optional.ofNullable(this.methods);
    }

    /**
     * Specifies the exact path to match on the HTTP request path.
     * 
     */
    @Import(name="pathExact")
    private @Nullable Output pathExact;

    /**
     * @return Specifies the exact path to match on the HTTP request path.
     * 
     */
    public Optional> pathExact() {
        return Optional.ofNullable(this.pathExact);
    }

    /**
     * Specifies the path prefix to match on the HTTP request path.
     * 
     */
    @Import(name="pathPrefix")
    private @Nullable Output pathPrefix;

    /**
     * @return Specifies the path prefix to match on the HTTP request path.
     * 
     */
    public Optional> pathPrefix() {
        return Optional.ofNullable(this.pathPrefix);
    }

    /**
     * Specifies a regular expression to match on the HTTP request path.
     * 
     */
    @Import(name="pathRegex")
    private @Nullable Output pathRegex;

    /**
     * @return Specifies a regular expression to match on the HTTP request path.
     * 
     */
    public Optional> pathRegex() {
        return Optional.ofNullable(this.pathRegex);
    }

    /**
     * Specifies information to match to on HTTP query parameters.
     * 
     */
    @Import(name="queryParams")
    private @Nullable Output> queryParams;

    /**
     * @return Specifies information to match to on HTTP query parameters.
     * 
     */
    public Optional>> queryParams() {
        return Optional.ofNullable(this.queryParams);
    }

    private ConfigEntryServiceRouterRouteMatchHttpArgs() {}

    private ConfigEntryServiceRouterRouteMatchHttpArgs(ConfigEntryServiceRouterRouteMatchHttpArgs $) {
        this.headers = $.headers;
        this.methods = $.methods;
        this.pathExact = $.pathExact;
        this.pathPrefix = $.pathPrefix;
        this.pathRegex = $.pathRegex;
        this.queryParams = $.queryParams;
    }

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

    public static final class Builder {
        private ConfigEntryServiceRouterRouteMatchHttpArgs $;

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

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

        /**
         * @param headers Specifies information in the HTTP request header to match with.
         * 
         * @return builder
         * 
         */
        public Builder headers(@Nullable Output> headers) {
            $.headers = headers;
            return this;
        }

        /**
         * @param headers Specifies information in the HTTP request header to match with.
         * 
         * @return builder
         * 
         */
        public Builder headers(List headers) {
            return headers(Output.of(headers));
        }

        /**
         * @param headers Specifies information in the HTTP request header to match with.
         * 
         * @return builder
         * 
         */
        public Builder headers(ConfigEntryServiceRouterRouteMatchHttpHeaderArgs... headers) {
            return headers(List.of(headers));
        }

        /**
         * @param methods Specifies HTTP methods that the match applies to.
         * 
         * @return builder
         * 
         */
        public Builder methods(@Nullable Output> methods) {
            $.methods = methods;
            return this;
        }

        /**
         * @param methods Specifies HTTP methods that the match applies to.
         * 
         * @return builder
         * 
         */
        public Builder methods(List methods) {
            return methods(Output.of(methods));
        }

        /**
         * @param methods Specifies HTTP methods that the match applies to.
         * 
         * @return builder
         * 
         */
        public Builder methods(String... methods) {
            return methods(List.of(methods));
        }

        /**
         * @param pathExact Specifies the exact path to match on the HTTP request path.
         * 
         * @return builder
         * 
         */
        public Builder pathExact(@Nullable Output pathExact) {
            $.pathExact = pathExact;
            return this;
        }

        /**
         * @param pathExact Specifies the exact path to match on the HTTP request path.
         * 
         * @return builder
         * 
         */
        public Builder pathExact(String pathExact) {
            return pathExact(Output.of(pathExact));
        }

        /**
         * @param pathPrefix Specifies the path prefix to match on the HTTP request path.
         * 
         * @return builder
         * 
         */
        public Builder pathPrefix(@Nullable Output pathPrefix) {
            $.pathPrefix = pathPrefix;
            return this;
        }

        /**
         * @param pathPrefix Specifies the path prefix to match on the HTTP request path.
         * 
         * @return builder
         * 
         */
        public Builder pathPrefix(String pathPrefix) {
            return pathPrefix(Output.of(pathPrefix));
        }

        /**
         * @param pathRegex Specifies a regular expression to match on the HTTP request path.
         * 
         * @return builder
         * 
         */
        public Builder pathRegex(@Nullable Output pathRegex) {
            $.pathRegex = pathRegex;
            return this;
        }

        /**
         * @param pathRegex Specifies a regular expression to match on the HTTP request path.
         * 
         * @return builder
         * 
         */
        public Builder pathRegex(String pathRegex) {
            return pathRegex(Output.of(pathRegex));
        }

        /**
         * @param queryParams Specifies information to match to on HTTP query parameters.
         * 
         * @return builder
         * 
         */
        public Builder queryParams(@Nullable Output> queryParams) {
            $.queryParams = queryParams;
            return this;
        }

        /**
         * @param queryParams Specifies information to match to on HTTP query parameters.
         * 
         * @return builder
         * 
         */
        public Builder queryParams(List queryParams) {
            return queryParams(Output.of(queryParams));
        }

        /**
         * @param queryParams Specifies information to match to on HTTP query parameters.
         * 
         * @return builder
         * 
         */
        public Builder queryParams(ConfigEntryServiceRouterRouteMatchHttpQueryParamArgs... queryParams) {
            return queryParams(List.of(queryParams));
        }

        public ConfigEntryServiceRouterRouteMatchHttpArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy