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

com.pulumi.junipermist.org.inputs.ServiceState Maven / Gradle / Ivy

// *** 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.junipermist.org.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.junipermist.org.inputs.ServiceSpecArgs;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ServiceState Empty = new ServiceState();

    /**
     * if `type`==`custom`, ip subnets (e.g. 10.0.0.0/8)
     * 
     */
    @Import(name="addresses")
    private @Nullable Output> addresses;

    /**
     * @return if `type`==`custom`, ip subnets (e.g. 10.0.0.0/8)
     * 
     */
    public Optional>> addresses() {
        return Optional.ofNullable(this.addresses);
    }

    /**
     * when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_categories
     * 
     */
    @Import(name="appCategories")
    private @Nullable Output> appCategories;

    /**
     * @return when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_categories
     * 
     */
    public Optional>> appCategories() {
        return Optional.ofNullable(this.appCategories);
    }

    /**
     * when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_subcategories
     * 
     */
    @Import(name="appSubcategories")
    private @Nullable Output> appSubcategories;

    /**
     * @return when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_subcategories
     * 
     */
    public Optional>> appSubcategories() {
        return Optional.ofNullable(this.appSubcategories);
    }

    /**
     * when `type`==`apps`, list of applications are available through: * /api/v1/const/applications *
     * /api/v1/const/gateway_applications * /insight/top_app_by-bytes?wired=true
     * 
     */
    @Import(name="apps")
    private @Nullable Output> apps;

    /**
     * @return when `type`==`apps`, list of applications are available through: * /api/v1/const/applications *
     * /api/v1/const/gateway_applications * /insight/top_app_by-bytes?wired=true
     * 
     */
    public Optional>> apps() {
        return Optional.ofNullable(this.apps);
    }

    @Import(name="description")
    private @Nullable Output description;

    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    @Import(name="dscp")
    private @Nullable Output dscp;

    public Optional> dscp() {
        return Optional.ofNullable(this.dscp);
    }

    /**
     * enum: `non_revertable`, `none`, `revertable`
     * 
     */
    @Import(name="failoverPolicy")
    private @Nullable Output failoverPolicy;

    /**
     * @return enum: `non_revertable`, `none`, `revertable`
     * 
     */
    public Optional> failoverPolicy() {
        return Optional.ofNullable(this.failoverPolicy);
    }

    /**
     * if `type`==`custom`, web filtering
     * 
     */
    @Import(name="hostnames")
    private @Nullable Output> hostnames;

    /**
     * @return if `type`==`custom`, web filtering
     * 
     */
    public Optional>> hostnames() {
        return Optional.ofNullable(this.hostnames);
    }

    @Import(name="maxJitter")
    private @Nullable Output maxJitter;

    public Optional> maxJitter() {
        return Optional.ofNullable(this.maxJitter);
    }

    @Import(name="maxLatency")
    private @Nullable Output maxLatency;

    public Optional> maxLatency() {
        return Optional.ofNullable(this.maxLatency);
    }

    @Import(name="maxLoss")
    private @Nullable Output maxLoss;

    public Optional> maxLoss() {
        return Optional.ofNullable(this.maxLoss);
    }

    @Import(name="name")
    private @Nullable Output name;

    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    @Import(name="orgId")
    private @Nullable Output orgId;

    public Optional> orgId() {
        return Optional.ofNullable(this.orgId);
    }

    /**
     * whether to enable measure SLE
     * 
     */
    @Import(name="sleEnabled")
    private @Nullable Output sleEnabled;

    /**
     * @return whether to enable measure SLE
     * 
     */
    public Optional> sleEnabled() {
        return Optional.ofNullable(this.sleEnabled);
    }

    /**
     * when `type`==`custom`, optional, if it doesn't exist, http and https is assumed
     * 
     */
    @Import(name="specs")
    private @Nullable Output> specs;

    /**
     * @return when `type`==`custom`, optional, if it doesn't exist, http and https is assumed
     * 
     */
    public Optional>> specs() {
        return Optional.ofNullable(this.specs);
    }

    @Import(name="ssrRelaxedTcpStateEnforcement")
    private @Nullable Output ssrRelaxedTcpStateEnforcement;

    public Optional> ssrRelaxedTcpStateEnforcement() {
        return Optional.ofNullable(this.ssrRelaxedTcpStateEnforcement);
    }

    /**
     * when `traffic_type`==`custom`. enum: `best_effort`, `high`, `low`, `medium`
     * 
     */
    @Import(name="trafficClass")
    private @Nullable Output trafficClass;

    /**
     * @return when `traffic_type`==`custom`. enum: `best_effort`, `high`, `low`, `medium`
     * 
     */
    public Optional> trafficClass() {
        return Optional.ofNullable(this.trafficClass);
    }

    /**
     * values from `/api/v1/consts/traffic_types`
     * 
     */
    @Import(name="trafficType")
    private @Nullable Output trafficType;

    /**
     * @return values from `/api/v1/consts/traffic_types`
     * 
     */
    public Optional> trafficType() {
        return Optional.ofNullable(this.trafficType);
    }

    /**
     * enum: `app_categories`, `apps`, `custom`, `urls`
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return enum: `app_categories`, `apps`, `custom`, `urls`
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    /**
     * when `type`==`urls`, no need for spec as URL can encode the ports being used
     * 
     */
    @Import(name="urls")
    private @Nullable Output> urls;

    /**
     * @return when `type`==`urls`, no need for spec as URL can encode the ports being used
     * 
     */
    public Optional>> urls() {
        return Optional.ofNullable(this.urls);
    }

    private ServiceState() {}

    private ServiceState(ServiceState $) {
        this.addresses = $.addresses;
        this.appCategories = $.appCategories;
        this.appSubcategories = $.appSubcategories;
        this.apps = $.apps;
        this.description = $.description;
        this.dscp = $.dscp;
        this.failoverPolicy = $.failoverPolicy;
        this.hostnames = $.hostnames;
        this.maxJitter = $.maxJitter;
        this.maxLatency = $.maxLatency;
        this.maxLoss = $.maxLoss;
        this.name = $.name;
        this.orgId = $.orgId;
        this.sleEnabled = $.sleEnabled;
        this.specs = $.specs;
        this.ssrRelaxedTcpStateEnforcement = $.ssrRelaxedTcpStateEnforcement;
        this.trafficClass = $.trafficClass;
        this.trafficType = $.trafficType;
        this.type = $.type;
        this.urls = $.urls;
    }

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

    public static final class Builder {
        private ServiceState $;

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

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

        /**
         * @param addresses if `type`==`custom`, ip subnets (e.g. 10.0.0.0/8)
         * 
         * @return builder
         * 
         */
        public Builder addresses(@Nullable Output> addresses) {
            $.addresses = addresses;
            return this;
        }

        /**
         * @param addresses if `type`==`custom`, ip subnets (e.g. 10.0.0.0/8)
         * 
         * @return builder
         * 
         */
        public Builder addresses(List addresses) {
            return addresses(Output.of(addresses));
        }

        /**
         * @param addresses if `type`==`custom`, ip subnets (e.g. 10.0.0.0/8)
         * 
         * @return builder
         * 
         */
        public Builder addresses(String... addresses) {
            return addresses(List.of(addresses));
        }

        /**
         * @param appCategories when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_categories
         * 
         * @return builder
         * 
         */
        public Builder appCategories(@Nullable Output> appCategories) {
            $.appCategories = appCategories;
            return this;
        }

        /**
         * @param appCategories when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_categories
         * 
         * @return builder
         * 
         */
        public Builder appCategories(List appCategories) {
            return appCategories(Output.of(appCategories));
        }

        /**
         * @param appCategories when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_categories
         * 
         * @return builder
         * 
         */
        public Builder appCategories(String... appCategories) {
            return appCategories(List.of(appCategories));
        }

        /**
         * @param appSubcategories when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_subcategories
         * 
         * @return builder
         * 
         */
        public Builder appSubcategories(@Nullable Output> appSubcategories) {
            $.appSubcategories = appSubcategories;
            return this;
        }

        /**
         * @param appSubcategories when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_subcategories
         * 
         * @return builder
         * 
         */
        public Builder appSubcategories(List appSubcategories) {
            return appSubcategories(Output.of(appSubcategories));
        }

        /**
         * @param appSubcategories when `type`==`app_categories`, list of application categories are available through /api/v1/const/app_subcategories
         * 
         * @return builder
         * 
         */
        public Builder appSubcategories(String... appSubcategories) {
            return appSubcategories(List.of(appSubcategories));
        }

        /**
         * @param apps when `type`==`apps`, list of applications are available through: * /api/v1/const/applications *
         * /api/v1/const/gateway_applications * /insight/top_app_by-bytes?wired=true
         * 
         * @return builder
         * 
         */
        public Builder apps(@Nullable Output> apps) {
            $.apps = apps;
            return this;
        }

        /**
         * @param apps when `type`==`apps`, list of applications are available through: * /api/v1/const/applications *
         * /api/v1/const/gateway_applications * /insight/top_app_by-bytes?wired=true
         * 
         * @return builder
         * 
         */
        public Builder apps(List apps) {
            return apps(Output.of(apps));
        }

        /**
         * @param apps when `type`==`apps`, list of applications are available through: * /api/v1/const/applications *
         * /api/v1/const/gateway_applications * /insight/top_app_by-bytes?wired=true
         * 
         * @return builder
         * 
         */
        public Builder apps(String... apps) {
            return apps(List.of(apps));
        }

        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        public Builder description(String description) {
            return description(Output.of(description));
        }

        public Builder dscp(@Nullable Output dscp) {
            $.dscp = dscp;
            return this;
        }

        public Builder dscp(String dscp) {
            return dscp(Output.of(dscp));
        }

        /**
         * @param failoverPolicy enum: `non_revertable`, `none`, `revertable`
         * 
         * @return builder
         * 
         */
        public Builder failoverPolicy(@Nullable Output failoverPolicy) {
            $.failoverPolicy = failoverPolicy;
            return this;
        }

        /**
         * @param failoverPolicy enum: `non_revertable`, `none`, `revertable`
         * 
         * @return builder
         * 
         */
        public Builder failoverPolicy(String failoverPolicy) {
            return failoverPolicy(Output.of(failoverPolicy));
        }

        /**
         * @param hostnames if `type`==`custom`, web filtering
         * 
         * @return builder
         * 
         */
        public Builder hostnames(@Nullable Output> hostnames) {
            $.hostnames = hostnames;
            return this;
        }

        /**
         * @param hostnames if `type`==`custom`, web filtering
         * 
         * @return builder
         * 
         */
        public Builder hostnames(List hostnames) {
            return hostnames(Output.of(hostnames));
        }

        /**
         * @param hostnames if `type`==`custom`, web filtering
         * 
         * @return builder
         * 
         */
        public Builder hostnames(String... hostnames) {
            return hostnames(List.of(hostnames));
        }

        public Builder maxJitter(@Nullable Output maxJitter) {
            $.maxJitter = maxJitter;
            return this;
        }

        public Builder maxJitter(String maxJitter) {
            return maxJitter(Output.of(maxJitter));
        }

        public Builder maxLatency(@Nullable Output maxLatency) {
            $.maxLatency = maxLatency;
            return this;
        }

        public Builder maxLatency(String maxLatency) {
            return maxLatency(Output.of(maxLatency));
        }

        public Builder maxLoss(@Nullable Output maxLoss) {
            $.maxLoss = maxLoss;
            return this;
        }

        public Builder maxLoss(String maxLoss) {
            return maxLoss(Output.of(maxLoss));
        }

        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        public Builder name(String name) {
            return name(Output.of(name));
        }

        public Builder orgId(@Nullable Output orgId) {
            $.orgId = orgId;
            return this;
        }

        public Builder orgId(String orgId) {
            return orgId(Output.of(orgId));
        }

        /**
         * @param sleEnabled whether to enable measure SLE
         * 
         * @return builder
         * 
         */
        public Builder sleEnabled(@Nullable Output sleEnabled) {
            $.sleEnabled = sleEnabled;
            return this;
        }

        /**
         * @param sleEnabled whether to enable measure SLE
         * 
         * @return builder
         * 
         */
        public Builder sleEnabled(Boolean sleEnabled) {
            return sleEnabled(Output.of(sleEnabled));
        }

        /**
         * @param specs when `type`==`custom`, optional, if it doesn't exist, http and https is assumed
         * 
         * @return builder
         * 
         */
        public Builder specs(@Nullable Output> specs) {
            $.specs = specs;
            return this;
        }

        /**
         * @param specs when `type`==`custom`, optional, if it doesn't exist, http and https is assumed
         * 
         * @return builder
         * 
         */
        public Builder specs(List specs) {
            return specs(Output.of(specs));
        }

        /**
         * @param specs when `type`==`custom`, optional, if it doesn't exist, http and https is assumed
         * 
         * @return builder
         * 
         */
        public Builder specs(ServiceSpecArgs... specs) {
            return specs(List.of(specs));
        }

        public Builder ssrRelaxedTcpStateEnforcement(@Nullable Output ssrRelaxedTcpStateEnforcement) {
            $.ssrRelaxedTcpStateEnforcement = ssrRelaxedTcpStateEnforcement;
            return this;
        }

        public Builder ssrRelaxedTcpStateEnforcement(Boolean ssrRelaxedTcpStateEnforcement) {
            return ssrRelaxedTcpStateEnforcement(Output.of(ssrRelaxedTcpStateEnforcement));
        }

        /**
         * @param trafficClass when `traffic_type`==`custom`. enum: `best_effort`, `high`, `low`, `medium`
         * 
         * @return builder
         * 
         */
        public Builder trafficClass(@Nullable Output trafficClass) {
            $.trafficClass = trafficClass;
            return this;
        }

        /**
         * @param trafficClass when `traffic_type`==`custom`. enum: `best_effort`, `high`, `low`, `medium`
         * 
         * @return builder
         * 
         */
        public Builder trafficClass(String trafficClass) {
            return trafficClass(Output.of(trafficClass));
        }

        /**
         * @param trafficType values from `/api/v1/consts/traffic_types`
         * 
         * @return builder
         * 
         */
        public Builder trafficType(@Nullable Output trafficType) {
            $.trafficType = trafficType;
            return this;
        }

        /**
         * @param trafficType values from `/api/v1/consts/traffic_types`
         * 
         * @return builder
         * 
         */
        public Builder trafficType(String trafficType) {
            return trafficType(Output.of(trafficType));
        }

        /**
         * @param type enum: `app_categories`, `apps`, `custom`, `urls`
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type enum: `app_categories`, `apps`, `custom`, `urls`
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param urls when `type`==`urls`, no need for spec as URL can encode the ports being used
         * 
         * @return builder
         * 
         */
        public Builder urls(@Nullable Output> urls) {
            $.urls = urls;
            return this;
        }

        /**
         * @param urls when `type`==`urls`, no need for spec as URL can encode the ports being used
         * 
         * @return builder
         * 
         */
        public Builder urls(List urls) {
            return urls(Output.of(urls));
        }

        /**
         * @param urls when `type`==`urls`, no need for spec as URL can encode the ports being used
         * 
         * @return builder
         * 
         */
        public Builder urls(String... urls) {
            return urls(List.of(urls));
        }

        public ServiceState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy