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

com.pulumi.azurenative.operationalinsights.ClusterArgs 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.operationalinsights;

import com.pulumi.azurenative.operationalinsights.enums.BillingType;
import com.pulumi.azurenative.operationalinsights.inputs.ClusterSkuArgs;
import com.pulumi.azurenative.operationalinsights.inputs.IdentityArgs;
import com.pulumi.azurenative.operationalinsights.inputs.KeyVaultPropertiesArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ClusterArgs Empty = new ClusterArgs();

    /**
     * The cluster's billing type.
     * 
     */
    @Import(name="billingType")
    private @Nullable Output> billingType;

    /**
     * @return The cluster's billing type.
     * 
     */
    public Optional>> billingType() {
        return Optional.ofNullable(this.billingType);
    }

    /**
     * The name of the Log Analytics cluster.
     * 
     */
    @Import(name="clusterName")
    private @Nullable Output clusterName;

    /**
     * @return The name of the Log Analytics cluster.
     * 
     */
    public Optional> clusterName() {
        return Optional.ofNullable(this.clusterName);
    }

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

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

    /**
     * Sets whether the cluster will support availability zones. This can be set as true only in regions where Azure Data Explorer support Availability Zones. This Property can not be modified after cluster creation. Default value is 'true' if region supports Availability Zones.
     * 
     */
    @Import(name="isAvailabilityZonesEnabled")
    private @Nullable Output isAvailabilityZonesEnabled;

    /**
     * @return Sets whether the cluster will support availability zones. This can be set as true only in regions where Azure Data Explorer support Availability Zones. This Property can not be modified after cluster creation. Default value is 'true' if region supports Availability Zones.
     * 
     */
    public Optional> isAvailabilityZonesEnabled() {
        return Optional.ofNullable(this.isAvailabilityZonesEnabled);
    }

    /**
     * Configures whether cluster will use double encryption. This Property can not be modified after cluster creation. Default value is 'true'
     * 
     */
    @Import(name="isDoubleEncryptionEnabled")
    private @Nullable Output isDoubleEncryptionEnabled;

    /**
     * @return Configures whether cluster will use double encryption. This Property can not be modified after cluster creation. Default value is 'true'
     * 
     */
    public Optional> isDoubleEncryptionEnabled() {
        return Optional.ofNullable(this.isDoubleEncryptionEnabled);
    }

    /**
     * The associated key properties.
     * 
     */
    @Import(name="keyVaultProperties")
    private @Nullable Output keyVaultProperties;

    /**
     * @return The associated key properties.
     * 
     */
    public Optional> keyVaultProperties() {
        return Optional.ofNullable(this.keyVaultProperties);
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

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

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

    /**
     * The sku properties.
     * 
     */
    @Import(name="sku")
    private @Nullable Output sku;

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

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

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

    private ClusterArgs() {}

    private ClusterArgs(ClusterArgs $) {
        this.billingType = $.billingType;
        this.clusterName = $.clusterName;
        this.identity = $.identity;
        this.isAvailabilityZonesEnabled = $.isAvailabilityZonesEnabled;
        this.isDoubleEncryptionEnabled = $.isDoubleEncryptionEnabled;
        this.keyVaultProperties = $.keyVaultProperties;
        this.location = $.location;
        this.resourceGroupName = $.resourceGroupName;
        this.sku = $.sku;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private ClusterArgs $;

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

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

        /**
         * @param billingType The cluster's billing type.
         * 
         * @return builder
         * 
         */
        public Builder billingType(@Nullable Output> billingType) {
            $.billingType = billingType;
            return this;
        }

        /**
         * @param billingType The cluster's billing type.
         * 
         * @return builder
         * 
         */
        public Builder billingType(Either billingType) {
            return billingType(Output.of(billingType));
        }

        /**
         * @param billingType The cluster's billing type.
         * 
         * @return builder
         * 
         */
        public Builder billingType(String billingType) {
            return billingType(Either.ofLeft(billingType));
        }

        /**
         * @param billingType The cluster's billing type.
         * 
         * @return builder
         * 
         */
        public Builder billingType(BillingType billingType) {
            return billingType(Either.ofRight(billingType));
        }

        /**
         * @param clusterName The name of the Log Analytics cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(@Nullable Output clusterName) {
            $.clusterName = clusterName;
            return this;
        }

        /**
         * @param clusterName The name of the Log Analytics cluster.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(String clusterName) {
            return clusterName(Output.of(clusterName));
        }

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

        /**
         * @param identity The identity of the resource.
         * 
         * @return builder
         * 
         */
        public Builder identity(IdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param isAvailabilityZonesEnabled Sets whether the cluster will support availability zones. This can be set as true only in regions where Azure Data Explorer support Availability Zones. This Property can not be modified after cluster creation. Default value is 'true' if region supports Availability Zones.
         * 
         * @return builder
         * 
         */
        public Builder isAvailabilityZonesEnabled(@Nullable Output isAvailabilityZonesEnabled) {
            $.isAvailabilityZonesEnabled = isAvailabilityZonesEnabled;
            return this;
        }

        /**
         * @param isAvailabilityZonesEnabled Sets whether the cluster will support availability zones. This can be set as true only in regions where Azure Data Explorer support Availability Zones. This Property can not be modified after cluster creation. Default value is 'true' if region supports Availability Zones.
         * 
         * @return builder
         * 
         */
        public Builder isAvailabilityZonesEnabled(Boolean isAvailabilityZonesEnabled) {
            return isAvailabilityZonesEnabled(Output.of(isAvailabilityZonesEnabled));
        }

        /**
         * @param isDoubleEncryptionEnabled Configures whether cluster will use double encryption. This Property can not be modified after cluster creation. Default value is 'true'
         * 
         * @return builder
         * 
         */
        public Builder isDoubleEncryptionEnabled(@Nullable Output isDoubleEncryptionEnabled) {
            $.isDoubleEncryptionEnabled = isDoubleEncryptionEnabled;
            return this;
        }

        /**
         * @param isDoubleEncryptionEnabled Configures whether cluster will use double encryption. This Property can not be modified after cluster creation. Default value is 'true'
         * 
         * @return builder
         * 
         */
        public Builder isDoubleEncryptionEnabled(Boolean isDoubleEncryptionEnabled) {
            return isDoubleEncryptionEnabled(Output.of(isDoubleEncryptionEnabled));
        }

        /**
         * @param keyVaultProperties The associated key properties.
         * 
         * @return builder
         * 
         */
        public Builder keyVaultProperties(@Nullable Output keyVaultProperties) {
            $.keyVaultProperties = keyVaultProperties;
            return this;
        }

        /**
         * @param keyVaultProperties The associated key properties.
         * 
         * @return builder
         * 
         */
        public Builder keyVaultProperties(KeyVaultPropertiesArgs keyVaultProperties) {
            return keyVaultProperties(Output.of(keyVaultProperties));
        }

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

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

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

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

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

        /**
         * @param sku The sku properties.
         * 
         * @return builder
         * 
         */
        public Builder sku(ClusterSkuArgs sku) {
            return sku(Output.of(sku));
        }

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

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

        public ClusterArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ClusterArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy