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

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

import com.pulumi.azurenative.operationalinsights.enums.PublicNetworkAccessType;
import com.pulumi.azurenative.operationalinsights.inputs.IdentityArgs;
import com.pulumi.azurenative.operationalinsights.inputs.WorkspaceCappingArgs;
import com.pulumi.azurenative.operationalinsights.inputs.WorkspaceFeaturesArgs;
import com.pulumi.azurenative.operationalinsights.inputs.WorkspaceSkuArgs;
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.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final WorkspaceArgs Empty = new WorkspaceArgs();

    /**
     * The resource ID of the default Data Collection Rule to use for this workspace. Expected format is - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dcrName}.
     * 
     */
    @Import(name="defaultDataCollectionRuleResourceId")
    private @Nullable Output defaultDataCollectionRuleResourceId;

    /**
     * @return The resource ID of the default Data Collection Rule to use for this workspace. Expected format is - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dcrName}.
     * 
     */
    public Optional> defaultDataCollectionRuleResourceId() {
        return Optional.ofNullable(this.defaultDataCollectionRuleResourceId);
    }

    /**
     * Workspace features.
     * 
     */
    @Import(name="features")
    private @Nullable Output features;

    /**
     * @return Workspace features.
     * 
     */
    public Optional> features() {
        return Optional.ofNullable(this.features);
    }

    /**
     * Indicates whether customer managed storage is mandatory for query management.
     * 
     */
    @Import(name="forceCmkForQuery")
    private @Nullable Output forceCmkForQuery;

    /**
     * @return Indicates whether customer managed storage is mandatory for query management.
     * 
     */
    public Optional> forceCmkForQuery() {
        return Optional.ofNullable(this.forceCmkForQuery);
    }

    /**
     * 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);
    }

    /**
     * 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 network access type for accessing Log Analytics ingestion.
     * 
     */
    @Import(name="publicNetworkAccessForIngestion")
    private @Nullable Output> publicNetworkAccessForIngestion;

    /**
     * @return The network access type for accessing Log Analytics ingestion.
     * 
     */
    public Optional>> publicNetworkAccessForIngestion() {
        return Optional.ofNullable(this.publicNetworkAccessForIngestion);
    }

    /**
     * The network access type for accessing Log Analytics query.
     * 
     */
    @Import(name="publicNetworkAccessForQuery")
    private @Nullable Output> publicNetworkAccessForQuery;

    /**
     * @return The network access type for accessing Log Analytics query.
     * 
     */
    public Optional>> publicNetworkAccessForQuery() {
        return Optional.ofNullable(this.publicNetworkAccessForQuery);
    }

    /**
     * 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 workspace data retention in days. Allowed values are per pricing plan. See pricing tiers documentation for details.
     * 
     */
    @Import(name="retentionInDays")
    private @Nullable Output retentionInDays;

    /**
     * @return The workspace data retention in days. Allowed values are per pricing plan. See pricing tiers documentation for details.
     * 
     */
    public Optional> retentionInDays() {
        return Optional.ofNullable(this.retentionInDays);
    }

    /**
     * The SKU of the workspace.
     * 
     */
    @Import(name="sku")
    private @Nullable Output sku;

    /**
     * @return The SKU of the workspace.
     * 
     */
    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);
    }

    /**
     * The daily volume cap for ingestion.
     * 
     */
    @Import(name="workspaceCapping")
    private @Nullable Output workspaceCapping;

    /**
     * @return The daily volume cap for ingestion.
     * 
     */
    public Optional> workspaceCapping() {
        return Optional.ofNullable(this.workspaceCapping);
    }

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

    /**
     * @return The name of the workspace.
     * 
     */
    public Optional> workspaceName() {
        return Optional.ofNullable(this.workspaceName);
    }

    private WorkspaceArgs() {}

    private WorkspaceArgs(WorkspaceArgs $) {
        this.defaultDataCollectionRuleResourceId = $.defaultDataCollectionRuleResourceId;
        this.features = $.features;
        this.forceCmkForQuery = $.forceCmkForQuery;
        this.identity = $.identity;
        this.location = $.location;
        this.publicNetworkAccessForIngestion = $.publicNetworkAccessForIngestion;
        this.publicNetworkAccessForQuery = $.publicNetworkAccessForQuery;
        this.resourceGroupName = $.resourceGroupName;
        this.retentionInDays = $.retentionInDays;
        this.sku = $.sku;
        this.tags = $.tags;
        this.workspaceCapping = $.workspaceCapping;
        this.workspaceName = $.workspaceName;
    }

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

    public static final class Builder {
        private WorkspaceArgs $;

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

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

        /**
         * @param defaultDataCollectionRuleResourceId The resource ID of the default Data Collection Rule to use for this workspace. Expected format is - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dcrName}.
         * 
         * @return builder
         * 
         */
        public Builder defaultDataCollectionRuleResourceId(@Nullable Output defaultDataCollectionRuleResourceId) {
            $.defaultDataCollectionRuleResourceId = defaultDataCollectionRuleResourceId;
            return this;
        }

        /**
         * @param defaultDataCollectionRuleResourceId The resource ID of the default Data Collection Rule to use for this workspace. Expected format is - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dcrName}.
         * 
         * @return builder
         * 
         */
        public Builder defaultDataCollectionRuleResourceId(String defaultDataCollectionRuleResourceId) {
            return defaultDataCollectionRuleResourceId(Output.of(defaultDataCollectionRuleResourceId));
        }

        /**
         * @param features Workspace features.
         * 
         * @return builder
         * 
         */
        public Builder features(@Nullable Output features) {
            $.features = features;
            return this;
        }

        /**
         * @param features Workspace features.
         * 
         * @return builder
         * 
         */
        public Builder features(WorkspaceFeaturesArgs features) {
            return features(Output.of(features));
        }

        /**
         * @param forceCmkForQuery Indicates whether customer managed storage is mandatory for query management.
         * 
         * @return builder
         * 
         */
        public Builder forceCmkForQuery(@Nullable Output forceCmkForQuery) {
            $.forceCmkForQuery = forceCmkForQuery;
            return this;
        }

        /**
         * @param forceCmkForQuery Indicates whether customer managed storage is mandatory for query management.
         * 
         * @return builder
         * 
         */
        public Builder forceCmkForQuery(Boolean forceCmkForQuery) {
            return forceCmkForQuery(Output.of(forceCmkForQuery));
        }

        /**
         * @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 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 publicNetworkAccessForIngestion The network access type for accessing Log Analytics ingestion.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessForIngestion(@Nullable Output> publicNetworkAccessForIngestion) {
            $.publicNetworkAccessForIngestion = publicNetworkAccessForIngestion;
            return this;
        }

        /**
         * @param publicNetworkAccessForIngestion The network access type for accessing Log Analytics ingestion.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessForIngestion(Either publicNetworkAccessForIngestion) {
            return publicNetworkAccessForIngestion(Output.of(publicNetworkAccessForIngestion));
        }

        /**
         * @param publicNetworkAccessForIngestion The network access type for accessing Log Analytics ingestion.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessForIngestion(String publicNetworkAccessForIngestion) {
            return publicNetworkAccessForIngestion(Either.ofLeft(publicNetworkAccessForIngestion));
        }

        /**
         * @param publicNetworkAccessForIngestion The network access type for accessing Log Analytics ingestion.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessForIngestion(PublicNetworkAccessType publicNetworkAccessForIngestion) {
            return publicNetworkAccessForIngestion(Either.ofRight(publicNetworkAccessForIngestion));
        }

        /**
         * @param publicNetworkAccessForQuery The network access type for accessing Log Analytics query.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessForQuery(@Nullable Output> publicNetworkAccessForQuery) {
            $.publicNetworkAccessForQuery = publicNetworkAccessForQuery;
            return this;
        }

        /**
         * @param publicNetworkAccessForQuery The network access type for accessing Log Analytics query.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessForQuery(Either publicNetworkAccessForQuery) {
            return publicNetworkAccessForQuery(Output.of(publicNetworkAccessForQuery));
        }

        /**
         * @param publicNetworkAccessForQuery The network access type for accessing Log Analytics query.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessForQuery(String publicNetworkAccessForQuery) {
            return publicNetworkAccessForQuery(Either.ofLeft(publicNetworkAccessForQuery));
        }

        /**
         * @param publicNetworkAccessForQuery The network access type for accessing Log Analytics query.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessForQuery(PublicNetworkAccessType publicNetworkAccessForQuery) {
            return publicNetworkAccessForQuery(Either.ofRight(publicNetworkAccessForQuery));
        }

        /**
         * @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 retentionInDays The workspace data retention in days. Allowed values are per pricing plan. See pricing tiers documentation for details.
         * 
         * @return builder
         * 
         */
        public Builder retentionInDays(@Nullable Output retentionInDays) {
            $.retentionInDays = retentionInDays;
            return this;
        }

        /**
         * @param retentionInDays The workspace data retention in days. Allowed values are per pricing plan. See pricing tiers documentation for details.
         * 
         * @return builder
         * 
         */
        public Builder retentionInDays(Integer retentionInDays) {
            return retentionInDays(Output.of(retentionInDays));
        }

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

        /**
         * @param sku The SKU of the workspace.
         * 
         * @return builder
         * 
         */
        public Builder sku(WorkspaceSkuArgs 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));
        }

        /**
         * @param workspaceCapping The daily volume cap for ingestion.
         * 
         * @return builder
         * 
         */
        public Builder workspaceCapping(@Nullable Output workspaceCapping) {
            $.workspaceCapping = workspaceCapping;
            return this;
        }

        /**
         * @param workspaceCapping The daily volume cap for ingestion.
         * 
         * @return builder
         * 
         */
        public Builder workspaceCapping(WorkspaceCappingArgs workspaceCapping) {
            return workspaceCapping(Output.of(workspaceCapping));
        }

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

        /**
         * @param workspaceName The name of the workspace.
         * 
         * @return builder
         * 
         */
        public Builder workspaceName(String workspaceName) {
            return workspaceName(Output.of(workspaceName));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy