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

com.pulumi.azurenative.storage.inputs.RoutingPreferenceArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.azurenative.storage.inputs;

import com.pulumi.azurenative.storage.enums.RoutingChoice;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user data, the default option is microsoft routing
 * 
 */
public final class RoutingPreferenceArgs extends com.pulumi.resources.ResourceArgs {

    public static final RoutingPreferenceArgs Empty = new RoutingPreferenceArgs();

    /**
     * A boolean flag which indicates whether internet routing storage endpoints are to be published
     * 
     */
    @Import(name="publishInternetEndpoints")
    private @Nullable Output publishInternetEndpoints;

    /**
     * @return A boolean flag which indicates whether internet routing storage endpoints are to be published
     * 
     */
    public Optional> publishInternetEndpoints() {
        return Optional.ofNullable(this.publishInternetEndpoints);
    }

    /**
     * A boolean flag which indicates whether microsoft routing storage endpoints are to be published
     * 
     */
    @Import(name="publishMicrosoftEndpoints")
    private @Nullable Output publishMicrosoftEndpoints;

    /**
     * @return A boolean flag which indicates whether microsoft routing storage endpoints are to be published
     * 
     */
    public Optional> publishMicrosoftEndpoints() {
        return Optional.ofNullable(this.publishMicrosoftEndpoints);
    }

    /**
     * Routing Choice defines the kind of network routing opted by the user.
     * 
     */
    @Import(name="routingChoice")
    private @Nullable Output> routingChoice;

    /**
     * @return Routing Choice defines the kind of network routing opted by the user.
     * 
     */
    public Optional>> routingChoice() {
        return Optional.ofNullable(this.routingChoice);
    }

    private RoutingPreferenceArgs() {}

    private RoutingPreferenceArgs(RoutingPreferenceArgs $) {
        this.publishInternetEndpoints = $.publishInternetEndpoints;
        this.publishMicrosoftEndpoints = $.publishMicrosoftEndpoints;
        this.routingChoice = $.routingChoice;
    }

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

    public static final class Builder {
        private RoutingPreferenceArgs $;

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

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

        /**
         * @param publishInternetEndpoints A boolean flag which indicates whether internet routing storage endpoints are to be published
         * 
         * @return builder
         * 
         */
        public Builder publishInternetEndpoints(@Nullable Output publishInternetEndpoints) {
            $.publishInternetEndpoints = publishInternetEndpoints;
            return this;
        }

        /**
         * @param publishInternetEndpoints A boolean flag which indicates whether internet routing storage endpoints are to be published
         * 
         * @return builder
         * 
         */
        public Builder publishInternetEndpoints(Boolean publishInternetEndpoints) {
            return publishInternetEndpoints(Output.of(publishInternetEndpoints));
        }

        /**
         * @param publishMicrosoftEndpoints A boolean flag which indicates whether microsoft routing storage endpoints are to be published
         * 
         * @return builder
         * 
         */
        public Builder publishMicrosoftEndpoints(@Nullable Output publishMicrosoftEndpoints) {
            $.publishMicrosoftEndpoints = publishMicrosoftEndpoints;
            return this;
        }

        /**
         * @param publishMicrosoftEndpoints A boolean flag which indicates whether microsoft routing storage endpoints are to be published
         * 
         * @return builder
         * 
         */
        public Builder publishMicrosoftEndpoints(Boolean publishMicrosoftEndpoints) {
            return publishMicrosoftEndpoints(Output.of(publishMicrosoftEndpoints));
        }

        /**
         * @param routingChoice Routing Choice defines the kind of network routing opted by the user.
         * 
         * @return builder
         * 
         */
        public Builder routingChoice(@Nullable Output> routingChoice) {
            $.routingChoice = routingChoice;
            return this;
        }

        /**
         * @param routingChoice Routing Choice defines the kind of network routing opted by the user.
         * 
         * @return builder
         * 
         */
        public Builder routingChoice(Either routingChoice) {
            return routingChoice(Output.of(routingChoice));
        }

        /**
         * @param routingChoice Routing Choice defines the kind of network routing opted by the user.
         * 
         * @return builder
         * 
         */
        public Builder routingChoice(String routingChoice) {
            return routingChoice(Either.ofLeft(routingChoice));
        }

        /**
         * @param routingChoice Routing Choice defines the kind of network routing opted by the user.
         * 
         * @return builder
         * 
         */
        public Builder routingChoice(RoutingChoice routingChoice) {
            return routingChoice(Either.ofRight(routingChoice));
        }

        public RoutingPreferenceArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy