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

com.pulumi.azurenative.datalakeanalytics.AccountArgs Maven / Gradle / Ivy

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

import com.pulumi.azurenative.datalakeanalytics.enums.FirewallAllowAzureIpsState;
import com.pulumi.azurenative.datalakeanalytics.enums.FirewallState;
import com.pulumi.azurenative.datalakeanalytics.enums.TierType;
import com.pulumi.azurenative.datalakeanalytics.inputs.AddDataLakeStoreWithAccountParametersArgs;
import com.pulumi.azurenative.datalakeanalytics.inputs.AddStorageAccountWithAccountParametersArgs;
import com.pulumi.azurenative.datalakeanalytics.inputs.CreateComputePolicyWithAccountParametersArgs;
import com.pulumi.azurenative.datalakeanalytics.inputs.CreateFirewallRuleWithAccountParametersArgs;
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.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final AccountArgs Empty = new AccountArgs();

    /**
     * The name of the Data Lake Analytics account.
     * 
     */
    @Import(name="accountName")
    private @Nullable Output accountName;

    /**
     * @return The name of the Data Lake Analytics account.
     * 
     */
    public Optional> accountName() {
        return Optional.ofNullable(this.accountName);
    }

    /**
     * The list of compute policies associated with this account.
     * 
     */
    @Import(name="computePolicies")
    private @Nullable Output> computePolicies;

    /**
     * @return The list of compute policies associated with this account.
     * 
     */
    public Optional>> computePolicies() {
        return Optional.ofNullable(this.computePolicies);
    }

    /**
     * The list of Data Lake Store accounts associated with this account.
     * 
     */
    @Import(name="dataLakeStoreAccounts", required=true)
    private Output> dataLakeStoreAccounts;

    /**
     * @return The list of Data Lake Store accounts associated with this account.
     * 
     */
    public Output> dataLakeStoreAccounts() {
        return this.dataLakeStoreAccounts;
    }

    /**
     * The default Data Lake Store account associated with this account.
     * 
     */
    @Import(name="defaultDataLakeStoreAccount", required=true)
    private Output defaultDataLakeStoreAccount;

    /**
     * @return The default Data Lake Store account associated with this account.
     * 
     */
    public Output defaultDataLakeStoreAccount() {
        return this.defaultDataLakeStoreAccount;
    }

    /**
     * The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced.
     * 
     */
    @Import(name="firewallAllowAzureIps")
    private @Nullable Output firewallAllowAzureIps;

    /**
     * @return The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced.
     * 
     */
    public Optional> firewallAllowAzureIps() {
        return Optional.ofNullable(this.firewallAllowAzureIps);
    }

    /**
     * The list of firewall rules associated with this account.
     * 
     */
    @Import(name="firewallRules")
    private @Nullable Output> firewallRules;

    /**
     * @return The list of firewall rules associated with this account.
     * 
     */
    public Optional>> firewallRules() {
        return Optional.ofNullable(this.firewallRules);
    }

    /**
     * The current state of the IP address firewall for this account.
     * 
     */
    @Import(name="firewallState")
    private @Nullable Output firewallState;

    /**
     * @return The current state of the IP address firewall for this account.
     * 
     */
    public Optional> firewallState() {
        return Optional.ofNullable(this.firewallState);
    }

    /**
     * The resource location.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The resource location.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The maximum supported degree of parallelism for this account.
     * 
     */
    @Import(name="maxDegreeOfParallelism")
    private @Nullable Output maxDegreeOfParallelism;

    /**
     * @return The maximum supported degree of parallelism for this account.
     * 
     */
    public Optional> maxDegreeOfParallelism() {
        return Optional.ofNullable(this.maxDegreeOfParallelism);
    }

    /**
     * The maximum supported degree of parallelism per job for this account.
     * 
     */
    @Import(name="maxDegreeOfParallelismPerJob")
    private @Nullable Output maxDegreeOfParallelismPerJob;

    /**
     * @return The maximum supported degree of parallelism per job for this account.
     * 
     */
    public Optional> maxDegreeOfParallelismPerJob() {
        return Optional.ofNullable(this.maxDegreeOfParallelismPerJob);
    }

    /**
     * The maximum supported jobs running under the account at the same time.
     * 
     */
    @Import(name="maxJobCount")
    private @Nullable Output maxJobCount;

    /**
     * @return The maximum supported jobs running under the account at the same time.
     * 
     */
    public Optional> maxJobCount() {
        return Optional.ofNullable(this.maxJobCount);
    }

    /**
     * The minimum supported priority per job for this account.
     * 
     */
    @Import(name="minPriorityPerJob")
    private @Nullable Output minPriorityPerJob;

    /**
     * @return The minimum supported priority per job for this account.
     * 
     */
    public Optional> minPriorityPerJob() {
        return Optional.ofNullable(this.minPriorityPerJob);
    }

    /**
     * The commitment tier for the next month.
     * 
     */
    @Import(name="newTier")
    private @Nullable Output newTier;

    /**
     * @return The commitment tier for the next month.
     * 
     */
    public Optional> newTier() {
        return Optional.ofNullable(this.newTier);
    }

    /**
     * The number of days that job metadata is retained.
     * 
     */
    @Import(name="queryStoreRetention")
    private @Nullable Output queryStoreRetention;

    /**
     * @return The number of days that job metadata is retained.
     * 
     */
    public Optional> queryStoreRetention() {
        return Optional.ofNullable(this.queryStoreRetention);
    }

    /**
     * The name of the Azure resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the Azure resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The list of Azure Blob Storage accounts associated with this account.
     * 
     */
    @Import(name="storageAccounts")
    private @Nullable Output> storageAccounts;

    /**
     * @return The list of Azure Blob Storage accounts associated with this account.
     * 
     */
    public Optional>> storageAccounts() {
        return Optional.ofNullable(this.storageAccounts);
    }

    /**
     * The resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return The resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private AccountArgs() {}

    private AccountArgs(AccountArgs $) {
        this.accountName = $.accountName;
        this.computePolicies = $.computePolicies;
        this.dataLakeStoreAccounts = $.dataLakeStoreAccounts;
        this.defaultDataLakeStoreAccount = $.defaultDataLakeStoreAccount;
        this.firewallAllowAzureIps = $.firewallAllowAzureIps;
        this.firewallRules = $.firewallRules;
        this.firewallState = $.firewallState;
        this.location = $.location;
        this.maxDegreeOfParallelism = $.maxDegreeOfParallelism;
        this.maxDegreeOfParallelismPerJob = $.maxDegreeOfParallelismPerJob;
        this.maxJobCount = $.maxJobCount;
        this.minPriorityPerJob = $.minPriorityPerJob;
        this.newTier = $.newTier;
        this.queryStoreRetention = $.queryStoreRetention;
        this.resourceGroupName = $.resourceGroupName;
        this.storageAccounts = $.storageAccounts;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private AccountArgs $;

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

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

        /**
         * @param accountName The name of the Data Lake Analytics account.
         * 
         * @return builder
         * 
         */
        public Builder accountName(@Nullable Output accountName) {
            $.accountName = accountName;
            return this;
        }

        /**
         * @param accountName The name of the Data Lake Analytics account.
         * 
         * @return builder
         * 
         */
        public Builder accountName(String accountName) {
            return accountName(Output.of(accountName));
        }

        /**
         * @param computePolicies The list of compute policies associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder computePolicies(@Nullable Output> computePolicies) {
            $.computePolicies = computePolicies;
            return this;
        }

        /**
         * @param computePolicies The list of compute policies associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder computePolicies(List computePolicies) {
            return computePolicies(Output.of(computePolicies));
        }

        /**
         * @param computePolicies The list of compute policies associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder computePolicies(CreateComputePolicyWithAccountParametersArgs... computePolicies) {
            return computePolicies(List.of(computePolicies));
        }

        /**
         * @param dataLakeStoreAccounts The list of Data Lake Store accounts associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder dataLakeStoreAccounts(Output> dataLakeStoreAccounts) {
            $.dataLakeStoreAccounts = dataLakeStoreAccounts;
            return this;
        }

        /**
         * @param dataLakeStoreAccounts The list of Data Lake Store accounts associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder dataLakeStoreAccounts(List dataLakeStoreAccounts) {
            return dataLakeStoreAccounts(Output.of(dataLakeStoreAccounts));
        }

        /**
         * @param dataLakeStoreAccounts The list of Data Lake Store accounts associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder dataLakeStoreAccounts(AddDataLakeStoreWithAccountParametersArgs... dataLakeStoreAccounts) {
            return dataLakeStoreAccounts(List.of(dataLakeStoreAccounts));
        }

        /**
         * @param defaultDataLakeStoreAccount The default Data Lake Store account associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder defaultDataLakeStoreAccount(Output defaultDataLakeStoreAccount) {
            $.defaultDataLakeStoreAccount = defaultDataLakeStoreAccount;
            return this;
        }

        /**
         * @param defaultDataLakeStoreAccount The default Data Lake Store account associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder defaultDataLakeStoreAccount(String defaultDataLakeStoreAccount) {
            return defaultDataLakeStoreAccount(Output.of(defaultDataLakeStoreAccount));
        }

        /**
         * @param firewallAllowAzureIps The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced.
         * 
         * @return builder
         * 
         */
        public Builder firewallAllowAzureIps(@Nullable Output firewallAllowAzureIps) {
            $.firewallAllowAzureIps = firewallAllowAzureIps;
            return this;
        }

        /**
         * @param firewallAllowAzureIps The current state of allowing or disallowing IPs originating within Azure through the firewall. If the firewall is disabled, this is not enforced.
         * 
         * @return builder
         * 
         */
        public Builder firewallAllowAzureIps(FirewallAllowAzureIpsState firewallAllowAzureIps) {
            return firewallAllowAzureIps(Output.of(firewallAllowAzureIps));
        }

        /**
         * @param firewallRules The list of firewall rules associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder firewallRules(@Nullable Output> firewallRules) {
            $.firewallRules = firewallRules;
            return this;
        }

        /**
         * @param firewallRules The list of firewall rules associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder firewallRules(List firewallRules) {
            return firewallRules(Output.of(firewallRules));
        }

        /**
         * @param firewallRules The list of firewall rules associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder firewallRules(CreateFirewallRuleWithAccountParametersArgs... firewallRules) {
            return firewallRules(List.of(firewallRules));
        }

        /**
         * @param firewallState The current state of the IP address firewall for this account.
         * 
         * @return builder
         * 
         */
        public Builder firewallState(@Nullable Output firewallState) {
            $.firewallState = firewallState;
            return this;
        }

        /**
         * @param firewallState The current state of the IP address firewall for this account.
         * 
         * @return builder
         * 
         */
        public Builder firewallState(FirewallState firewallState) {
            return firewallState(Output.of(firewallState));
        }

        /**
         * @param location The resource location.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The resource location.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param maxDegreeOfParallelism The maximum supported degree of parallelism for this account.
         * 
         * @return builder
         * 
         */
        public Builder maxDegreeOfParallelism(@Nullable Output maxDegreeOfParallelism) {
            $.maxDegreeOfParallelism = maxDegreeOfParallelism;
            return this;
        }

        /**
         * @param maxDegreeOfParallelism The maximum supported degree of parallelism for this account.
         * 
         * @return builder
         * 
         */
        public Builder maxDegreeOfParallelism(Integer maxDegreeOfParallelism) {
            return maxDegreeOfParallelism(Output.of(maxDegreeOfParallelism));
        }

        /**
         * @param maxDegreeOfParallelismPerJob The maximum supported degree of parallelism per job for this account.
         * 
         * @return builder
         * 
         */
        public Builder maxDegreeOfParallelismPerJob(@Nullable Output maxDegreeOfParallelismPerJob) {
            $.maxDegreeOfParallelismPerJob = maxDegreeOfParallelismPerJob;
            return this;
        }

        /**
         * @param maxDegreeOfParallelismPerJob The maximum supported degree of parallelism per job for this account.
         * 
         * @return builder
         * 
         */
        public Builder maxDegreeOfParallelismPerJob(Integer maxDegreeOfParallelismPerJob) {
            return maxDegreeOfParallelismPerJob(Output.of(maxDegreeOfParallelismPerJob));
        }

        /**
         * @param maxJobCount The maximum supported jobs running under the account at the same time.
         * 
         * @return builder
         * 
         */
        public Builder maxJobCount(@Nullable Output maxJobCount) {
            $.maxJobCount = maxJobCount;
            return this;
        }

        /**
         * @param maxJobCount The maximum supported jobs running under the account at the same time.
         * 
         * @return builder
         * 
         */
        public Builder maxJobCount(Integer maxJobCount) {
            return maxJobCount(Output.of(maxJobCount));
        }

        /**
         * @param minPriorityPerJob The minimum supported priority per job for this account.
         * 
         * @return builder
         * 
         */
        public Builder minPriorityPerJob(@Nullable Output minPriorityPerJob) {
            $.minPriorityPerJob = minPriorityPerJob;
            return this;
        }

        /**
         * @param minPriorityPerJob The minimum supported priority per job for this account.
         * 
         * @return builder
         * 
         */
        public Builder minPriorityPerJob(Integer minPriorityPerJob) {
            return minPriorityPerJob(Output.of(minPriorityPerJob));
        }

        /**
         * @param newTier The commitment tier for the next month.
         * 
         * @return builder
         * 
         */
        public Builder newTier(@Nullable Output newTier) {
            $.newTier = newTier;
            return this;
        }

        /**
         * @param newTier The commitment tier for the next month.
         * 
         * @return builder
         * 
         */
        public Builder newTier(TierType newTier) {
            return newTier(Output.of(newTier));
        }

        /**
         * @param queryStoreRetention The number of days that job metadata is retained.
         * 
         * @return builder
         * 
         */
        public Builder queryStoreRetention(@Nullable Output queryStoreRetention) {
            $.queryStoreRetention = queryStoreRetention;
            return this;
        }

        /**
         * @param queryStoreRetention The number of days that job metadata is retained.
         * 
         * @return builder
         * 
         */
        public Builder queryStoreRetention(Integer queryStoreRetention) {
            return queryStoreRetention(Output.of(queryStoreRetention));
        }

        /**
         * @param resourceGroupName The name of the Azure resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the Azure resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param storageAccounts The list of Azure Blob Storage accounts associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccounts(@Nullable Output> storageAccounts) {
            $.storageAccounts = storageAccounts;
            return this;
        }

        /**
         * @param storageAccounts The list of Azure Blob Storage accounts associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccounts(List storageAccounts) {
            return storageAccounts(Output.of(storageAccounts));
        }

        /**
         * @param storageAccounts The list of Azure Blob Storage accounts associated with this account.
         * 
         * @return builder
         * 
         */
        public Builder storageAccounts(AddStorageAccountWithAccountParametersArgs... storageAccounts) {
            return storageAccounts(List.of(storageAccounts));
        }

        /**
         * @param tags The resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags The resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public AccountArgs build() {
            if ($.dataLakeStoreAccounts == null) {
                throw new MissingRequiredPropertyException("AccountArgs", "dataLakeStoreAccounts");
            }
            if ($.defaultDataLakeStoreAccount == null) {
                throw new MissingRequiredPropertyException("AccountArgs", "defaultDataLakeStoreAccount");
            }
            $.firewallAllowAzureIps = Codegen.objectProp("firewallAllowAzureIps", FirewallAllowAzureIpsState.class).output().arg($.firewallAllowAzureIps).def(FirewallAllowAzureIpsState.Disabled).getNullable();
            $.firewallState = Codegen.objectProp("firewallState", FirewallState.class).output().arg($.firewallState).def(FirewallState.Disabled).getNullable();
            $.maxDegreeOfParallelism = Codegen.integerProp("maxDegreeOfParallelism").output().arg($.maxDegreeOfParallelism).def(30).getNullable();
            $.maxDegreeOfParallelismPerJob = Codegen.integerProp("maxDegreeOfParallelismPerJob").output().arg($.maxDegreeOfParallelismPerJob).def(32).getNullable();
            $.maxJobCount = Codegen.integerProp("maxJobCount").output().arg($.maxJobCount).def(3).getNullable();
            $.newTier = Codegen.objectProp("newTier", TierType.class).output().arg($.newTier).def(TierType.Consumption).getNullable();
            $.queryStoreRetention = Codegen.integerProp("queryStoreRetention").output().arg($.queryStoreRetention).def(30).getNullable();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("AccountArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy