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

com.pulumi.azurenative.sqlvirtualmachine.inputs.WsfcDomainProfileArgs 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.sqlvirtualmachine.inputs;

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


/**
 * Active Directory account details to operate Windows Server Failover Cluster.
 * 
 */
public final class WsfcDomainProfileArgs extends com.pulumi.resources.ResourceArgs {

    public static final WsfcDomainProfileArgs Empty = new WsfcDomainProfileArgs();

    /**
     * Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain).
     * 
     */
    @Import(name="clusterBootstrapAccount")
    private @Nullable Output clusterBootstrapAccount;

    /**
     * @return Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain).
     * 
     */
    public Optional> clusterBootstrapAccount() {
        return Optional.ofNullable(this.clusterBootstrapAccount);
    }

    /**
     * Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster.
     * 
     */
    @Import(name="clusterOperatorAccount")
    private @Nullable Output clusterOperatorAccount;

    /**
     * @return Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster.
     * 
     */
    public Optional> clusterOperatorAccount() {
        return Optional.ofNullable(this.clusterOperatorAccount);
    }

    /**
     * Cluster subnet type.
     * 
     */
    @Import(name="clusterSubnetType")
    private @Nullable Output> clusterSubnetType;

    /**
     * @return Cluster subnet type.
     * 
     */
    public Optional>> clusterSubnetType() {
        return Optional.ofNullable(this.clusterSubnetType);
    }

    /**
     * Fully qualified name of the domain.
     * 
     */
    @Import(name="domainFqdn")
    private @Nullable Output domainFqdn;

    /**
     * @return Fully qualified name of the domain.
     * 
     */
    public Optional> domainFqdn() {
        return Optional.ofNullable(this.domainFqdn);
    }

    /**
     * Optional path for fileshare witness.
     * 
     */
    @Import(name="fileShareWitnessPath")
    private @Nullable Output fileShareWitnessPath;

    /**
     * @return Optional path for fileshare witness.
     * 
     */
    public Optional> fileShareWitnessPath() {
        return Optional.ofNullable(this.fileShareWitnessPath);
    }

    /**
     * Organizational Unit path in which the nodes and cluster will be present.
     * 
     */
    @Import(name="ouPath")
    private @Nullable Output ouPath;

    /**
     * @return Organizational Unit path in which the nodes and cluster will be present.
     * 
     */
    public Optional> ouPath() {
        return Optional.ofNullable(this.ouPath);
    }

    /**
     * Account name under which SQL service will run on all participating SQL virtual machines in the cluster.
     * 
     */
    @Import(name="sqlServiceAccount")
    private @Nullable Output sqlServiceAccount;

    /**
     * @return Account name under which SQL service will run on all participating SQL virtual machines in the cluster.
     * 
     */
    public Optional> sqlServiceAccount() {
        return Optional.ofNullable(this.sqlServiceAccount);
    }

    /**
     * Primary key of the witness storage account.
     * 
     */
    @Import(name="storageAccountPrimaryKey")
    private @Nullable Output storageAccountPrimaryKey;

    /**
     * @return Primary key of the witness storage account.
     * 
     */
    public Optional> storageAccountPrimaryKey() {
        return Optional.ofNullable(this.storageAccountPrimaryKey);
    }

    /**
     * Fully qualified ARM resource id of the witness storage account.
     * 
     */
    @Import(name="storageAccountUrl")
    private @Nullable Output storageAccountUrl;

    /**
     * @return Fully qualified ARM resource id of the witness storage account.
     * 
     */
    public Optional> storageAccountUrl() {
        return Optional.ofNullable(this.storageAccountUrl);
    }

    private WsfcDomainProfileArgs() {}

    private WsfcDomainProfileArgs(WsfcDomainProfileArgs $) {
        this.clusterBootstrapAccount = $.clusterBootstrapAccount;
        this.clusterOperatorAccount = $.clusterOperatorAccount;
        this.clusterSubnetType = $.clusterSubnetType;
        this.domainFqdn = $.domainFqdn;
        this.fileShareWitnessPath = $.fileShareWitnessPath;
        this.ouPath = $.ouPath;
        this.sqlServiceAccount = $.sqlServiceAccount;
        this.storageAccountPrimaryKey = $.storageAccountPrimaryKey;
        this.storageAccountUrl = $.storageAccountUrl;
    }

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

    public static final class Builder {
        private WsfcDomainProfileArgs $;

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

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

        /**
         * @param clusterBootstrapAccount Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain).
         * 
         * @return builder
         * 
         */
        public Builder clusterBootstrapAccount(@Nullable Output clusterBootstrapAccount) {
            $.clusterBootstrapAccount = clusterBootstrapAccount;
            return this;
        }

        /**
         * @param clusterBootstrapAccount Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain).
         * 
         * @return builder
         * 
         */
        public Builder clusterBootstrapAccount(String clusterBootstrapAccount) {
            return clusterBootstrapAccount(Output.of(clusterBootstrapAccount));
        }

        /**
         * @param clusterOperatorAccount Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterOperatorAccount(@Nullable Output clusterOperatorAccount) {
            $.clusterOperatorAccount = clusterOperatorAccount;
            return this;
        }

        /**
         * @param clusterOperatorAccount Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterOperatorAccount(String clusterOperatorAccount) {
            return clusterOperatorAccount(Output.of(clusterOperatorAccount));
        }

        /**
         * @param clusterSubnetType Cluster subnet type.
         * 
         * @return builder
         * 
         */
        public Builder clusterSubnetType(@Nullable Output> clusterSubnetType) {
            $.clusterSubnetType = clusterSubnetType;
            return this;
        }

        /**
         * @param clusterSubnetType Cluster subnet type.
         * 
         * @return builder
         * 
         */
        public Builder clusterSubnetType(Either clusterSubnetType) {
            return clusterSubnetType(Output.of(clusterSubnetType));
        }

        /**
         * @param clusterSubnetType Cluster subnet type.
         * 
         * @return builder
         * 
         */
        public Builder clusterSubnetType(String clusterSubnetType) {
            return clusterSubnetType(Either.ofLeft(clusterSubnetType));
        }

        /**
         * @param clusterSubnetType Cluster subnet type.
         * 
         * @return builder
         * 
         */
        public Builder clusterSubnetType(ClusterSubnetType clusterSubnetType) {
            return clusterSubnetType(Either.ofRight(clusterSubnetType));
        }

        /**
         * @param domainFqdn Fully qualified name of the domain.
         * 
         * @return builder
         * 
         */
        public Builder domainFqdn(@Nullable Output domainFqdn) {
            $.domainFqdn = domainFqdn;
            return this;
        }

        /**
         * @param domainFqdn Fully qualified name of the domain.
         * 
         * @return builder
         * 
         */
        public Builder domainFqdn(String domainFqdn) {
            return domainFqdn(Output.of(domainFqdn));
        }

        /**
         * @param fileShareWitnessPath Optional path for fileshare witness.
         * 
         * @return builder
         * 
         */
        public Builder fileShareWitnessPath(@Nullable Output fileShareWitnessPath) {
            $.fileShareWitnessPath = fileShareWitnessPath;
            return this;
        }

        /**
         * @param fileShareWitnessPath Optional path for fileshare witness.
         * 
         * @return builder
         * 
         */
        public Builder fileShareWitnessPath(String fileShareWitnessPath) {
            return fileShareWitnessPath(Output.of(fileShareWitnessPath));
        }

        /**
         * @param ouPath Organizational Unit path in which the nodes and cluster will be present.
         * 
         * @return builder
         * 
         */
        public Builder ouPath(@Nullable Output ouPath) {
            $.ouPath = ouPath;
            return this;
        }

        /**
         * @param ouPath Organizational Unit path in which the nodes and cluster will be present.
         * 
         * @return builder
         * 
         */
        public Builder ouPath(String ouPath) {
            return ouPath(Output.of(ouPath));
        }

        /**
         * @param sqlServiceAccount Account name under which SQL service will run on all participating SQL virtual machines in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder sqlServiceAccount(@Nullable Output sqlServiceAccount) {
            $.sqlServiceAccount = sqlServiceAccount;
            return this;
        }

        /**
         * @param sqlServiceAccount Account name under which SQL service will run on all participating SQL virtual machines in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder sqlServiceAccount(String sqlServiceAccount) {
            return sqlServiceAccount(Output.of(sqlServiceAccount));
        }

        /**
         * @param storageAccountPrimaryKey Primary key of the witness storage account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountPrimaryKey(@Nullable Output storageAccountPrimaryKey) {
            $.storageAccountPrimaryKey = storageAccountPrimaryKey;
            return this;
        }

        /**
         * @param storageAccountPrimaryKey Primary key of the witness storage account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountPrimaryKey(String storageAccountPrimaryKey) {
            return storageAccountPrimaryKey(Output.of(storageAccountPrimaryKey));
        }

        /**
         * @param storageAccountUrl Fully qualified ARM resource id of the witness storage account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountUrl(@Nullable Output storageAccountUrl) {
            $.storageAccountUrl = storageAccountUrl;
            return this;
        }

        /**
         * @param storageAccountUrl Fully qualified ARM resource id of the witness storage account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountUrl(String storageAccountUrl) {
            return storageAccountUrl(Output.of(storageAccountUrl));
        }

        public WsfcDomainProfileArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy