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

com.pulumi.azurenative.analysisservices.ServerDetailsArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.analysisservices;

import com.pulumi.azurenative.analysisservices.enums.ConnectionMode;
import com.pulumi.azurenative.analysisservices.inputs.GatewayDetailsArgs;
import com.pulumi.azurenative.analysisservices.inputs.IPv4FirewallSettingsArgs;
import com.pulumi.azurenative.analysisservices.inputs.ResourceSkuArgs;
import com.pulumi.azurenative.analysisservices.inputs.ServerAdministratorsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ServerDetailsArgs Empty = new ServerDetailsArgs();

    /**
     * A collection of AS server administrators
     * 
     */
    @Import(name="asAdministrators")
    private @Nullable Output asAdministrators;

    /**
     * @return A collection of AS server administrators
     * 
     */
    public Optional> asAdministrators() {
        return Optional.ofNullable(this.asAdministrators);
    }

    /**
     * The SAS container URI to the backup container.
     * 
     */
    @Import(name="backupBlobContainerUri")
    private @Nullable Output backupBlobContainerUri;

    /**
     * @return The SAS container URI to the backup container.
     * 
     */
    public Optional> backupBlobContainerUri() {
        return Optional.ofNullable(this.backupBlobContainerUri);
    }

    /**
     * The gateway details configured for the AS server.
     * 
     */
    @Import(name="gatewayDetails")
    private @Nullable Output gatewayDetails;

    /**
     * @return The gateway details configured for the AS server.
     * 
     */
    public Optional> gatewayDetails() {
        return Optional.ofNullable(this.gatewayDetails);
    }

    /**
     * The firewall settings for the AS server.
     * 
     */
    @Import(name="ipV4FirewallSettings")
    private @Nullable Output ipV4FirewallSettings;

    /**
     * @return The firewall settings for the AS server.
     * 
     */
    public Optional> ipV4FirewallSettings() {
        return Optional.ofNullable(this.ipV4FirewallSettings);
    }

    /**
     * Location of the Analysis Services resource.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Location of the Analysis Services resource.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The managed mode of the server (0 = not managed, 1 = managed).
     * 
     */
    @Import(name="managedMode")
    private @Nullable Output managedMode;

    /**
     * @return The managed mode of the server (0 = not managed, 1 = managed).
     * 
     */
    public Optional> managedMode() {
        return Optional.ofNullable(this.managedMode);
    }

    /**
     * How the read-write server's participation in the query pool is controlled.<br/>It can have the following values: <ul><li>readOnly - indicates that the read-write server is intended not to participate in query operations</li><li>all - indicates that the read-write server can participate in query operations</li></ul>Specifying readOnly when capacity is 1 results in error.
     * 
     */
    @Import(name="querypoolConnectionMode")
    private @Nullable Output querypoolConnectionMode;

    /**
     * @return How the read-write server's participation in the query pool is controlled.<br/>It can have the following values: <ul><li>readOnly - indicates that the read-write server is intended not to participate in query operations</li><li>all - indicates that the read-write server can participate in query operations</li></ul>Specifying readOnly when capacity is 1 results in error.
     * 
     */
    public Optional> querypoolConnectionMode() {
        return Optional.ofNullable(this.querypoolConnectionMode);
    }

    /**
     * The name of the Azure Resource group of which a given Analysis Services server is part. This name must be at least 1 character in length, and no more than 90.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the Azure Resource group of which a given Analysis Services server is part. This name must be at least 1 character in length, and no more than 90.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The server monitor mode for AS server
     * 
     */
    @Import(name="serverMonitorMode")
    private @Nullable Output serverMonitorMode;

    /**
     * @return The server monitor mode for AS server
     * 
     */
    public Optional> serverMonitorMode() {
        return Optional.ofNullable(this.serverMonitorMode);
    }

    /**
     * The name of the Analysis Services server. It must be a minimum of 3 characters, and a maximum of 63.
     * 
     */
    @Import(name="serverName")
    private @Nullable Output serverName;

    /**
     * @return The name of the Analysis Services server. It must be a minimum of 3 characters, and a maximum of 63.
     * 
     */
    public Optional> serverName() {
        return Optional.ofNullable(this.serverName);
    }

    /**
     * The SKU of the Analysis Services resource.
     * 
     */
    @Import(name="sku", required=true)
    private Output sku;

    /**
     * @return The SKU of the Analysis Services resource.
     * 
     */
    public Output sku() {
        return this.sku;
    }

    /**
     * Key-value pairs of additional resource provisioning properties.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value pairs of additional resource provisioning properties.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private ServerDetailsArgs() {}

    private ServerDetailsArgs(ServerDetailsArgs $) {
        this.asAdministrators = $.asAdministrators;
        this.backupBlobContainerUri = $.backupBlobContainerUri;
        this.gatewayDetails = $.gatewayDetails;
        this.ipV4FirewallSettings = $.ipV4FirewallSettings;
        this.location = $.location;
        this.managedMode = $.managedMode;
        this.querypoolConnectionMode = $.querypoolConnectionMode;
        this.resourceGroupName = $.resourceGroupName;
        this.serverMonitorMode = $.serverMonitorMode;
        this.serverName = $.serverName;
        this.sku = $.sku;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private ServerDetailsArgs $;

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

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

        /**
         * @param asAdministrators A collection of AS server administrators
         * 
         * @return builder
         * 
         */
        public Builder asAdministrators(@Nullable Output asAdministrators) {
            $.asAdministrators = asAdministrators;
            return this;
        }

        /**
         * @param asAdministrators A collection of AS server administrators
         * 
         * @return builder
         * 
         */
        public Builder asAdministrators(ServerAdministratorsArgs asAdministrators) {
            return asAdministrators(Output.of(asAdministrators));
        }

        /**
         * @param backupBlobContainerUri The SAS container URI to the backup container.
         * 
         * @return builder
         * 
         */
        public Builder backupBlobContainerUri(@Nullable Output backupBlobContainerUri) {
            $.backupBlobContainerUri = backupBlobContainerUri;
            return this;
        }

        /**
         * @param backupBlobContainerUri The SAS container URI to the backup container.
         * 
         * @return builder
         * 
         */
        public Builder backupBlobContainerUri(String backupBlobContainerUri) {
            return backupBlobContainerUri(Output.of(backupBlobContainerUri));
        }

        /**
         * @param gatewayDetails The gateway details configured for the AS server.
         * 
         * @return builder
         * 
         */
        public Builder gatewayDetails(@Nullable Output gatewayDetails) {
            $.gatewayDetails = gatewayDetails;
            return this;
        }

        /**
         * @param gatewayDetails The gateway details configured for the AS server.
         * 
         * @return builder
         * 
         */
        public Builder gatewayDetails(GatewayDetailsArgs gatewayDetails) {
            return gatewayDetails(Output.of(gatewayDetails));
        }

        /**
         * @param ipV4FirewallSettings The firewall settings for the AS server.
         * 
         * @return builder
         * 
         */
        public Builder ipV4FirewallSettings(@Nullable Output ipV4FirewallSettings) {
            $.ipV4FirewallSettings = ipV4FirewallSettings;
            return this;
        }

        /**
         * @param ipV4FirewallSettings The firewall settings for the AS server.
         * 
         * @return builder
         * 
         */
        public Builder ipV4FirewallSettings(IPv4FirewallSettingsArgs ipV4FirewallSettings) {
            return ipV4FirewallSettings(Output.of(ipV4FirewallSettings));
        }

        /**
         * @param location Location of the Analysis Services resource.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Location of the Analysis Services resource.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param managedMode The managed mode of the server (0 = not managed, 1 = managed).
         * 
         * @return builder
         * 
         */
        public Builder managedMode(@Nullable Output managedMode) {
            $.managedMode = managedMode;
            return this;
        }

        /**
         * @param managedMode The managed mode of the server (0 = not managed, 1 = managed).
         * 
         * @return builder
         * 
         */
        public Builder managedMode(Integer managedMode) {
            return managedMode(Output.of(managedMode));
        }

        /**
         * @param querypoolConnectionMode How the read-write server's participation in the query pool is controlled.<br/>It can have the following values: <ul><li>readOnly - indicates that the read-write server is intended not to participate in query operations</li><li>all - indicates that the read-write server can participate in query operations</li></ul>Specifying readOnly when capacity is 1 results in error.
         * 
         * @return builder
         * 
         */
        public Builder querypoolConnectionMode(@Nullable Output querypoolConnectionMode) {
            $.querypoolConnectionMode = querypoolConnectionMode;
            return this;
        }

        /**
         * @param querypoolConnectionMode How the read-write server's participation in the query pool is controlled.<br/>It can have the following values: <ul><li>readOnly - indicates that the read-write server is intended not to participate in query operations</li><li>all - indicates that the read-write server can participate in query operations</li></ul>Specifying readOnly when capacity is 1 results in error.
         * 
         * @return builder
         * 
         */
        public Builder querypoolConnectionMode(ConnectionMode querypoolConnectionMode) {
            return querypoolConnectionMode(Output.of(querypoolConnectionMode));
        }

        /**
         * @param resourceGroupName The name of the Azure Resource group of which a given Analysis Services server is part. This name must be at least 1 character in length, and no more than 90.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the Azure Resource group of which a given Analysis Services server is part. This name must be at least 1 character in length, and no more than 90.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param serverMonitorMode The server monitor mode for AS server
         * 
         * @return builder
         * 
         */
        public Builder serverMonitorMode(@Nullable Output serverMonitorMode) {
            $.serverMonitorMode = serverMonitorMode;
            return this;
        }

        /**
         * @param serverMonitorMode The server monitor mode for AS server
         * 
         * @return builder
         * 
         */
        public Builder serverMonitorMode(Integer serverMonitorMode) {
            return serverMonitorMode(Output.of(serverMonitorMode));
        }

        /**
         * @param serverName The name of the Analysis Services server. It must be a minimum of 3 characters, and a maximum of 63.
         * 
         * @return builder
         * 
         */
        public Builder serverName(@Nullable Output serverName) {
            $.serverName = serverName;
            return this;
        }

        /**
         * @param serverName The name of the Analysis Services server. It must be a minimum of 3 characters, and a maximum of 63.
         * 
         * @return builder
         * 
         */
        public Builder serverName(String serverName) {
            return serverName(Output.of(serverName));
        }

        /**
         * @param sku The SKU of the Analysis Services resource.
         * 
         * @return builder
         * 
         */
        public Builder sku(Output sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku The SKU of the Analysis Services resource.
         * 
         * @return builder
         * 
         */
        public Builder sku(ResourceSkuArgs sku) {
            return sku(Output.of(sku));
        }

        /**
         * @param tags Key-value pairs of additional resource provisioning properties.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value pairs of additional resource provisioning properties.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public ServerDetailsArgs build() {
            $.managedMode = Codegen.integerProp("managedMode").output().arg($.managedMode).def(1).getNullable();
            $.querypoolConnectionMode = Codegen.objectProp("querypoolConnectionMode", ConnectionMode.class).output().arg($.querypoolConnectionMode).def(ConnectionMode.All).getNullable();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ServerDetailsArgs", "resourceGroupName");
            }
            $.serverMonitorMode = Codegen.integerProp("serverMonitorMode").output().arg($.serverMonitorMode).def(1).getNullable();
            if ($.sku == null) {
                throw new MissingRequiredPropertyException("ServerDetailsArgs", "sku");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy