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

com.pulumi.azurenative.timeseriesinsights.Gen2EnvironmentArgs 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.timeseriesinsights;

import com.pulumi.azurenative.timeseriesinsights.inputs.Gen2StorageConfigurationInputArgs;
import com.pulumi.azurenative.timeseriesinsights.inputs.SkuArgs;
import com.pulumi.azurenative.timeseriesinsights.inputs.TimeSeriesIdPropertyArgs;
import com.pulumi.azurenative.timeseriesinsights.inputs.WarmStoreConfigurationPropertiesArgs;
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.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final Gen2EnvironmentArgs Empty = new Gen2EnvironmentArgs();

    /**
     * Name of the environment
     * 
     */
    @Import(name="environmentName")
    private @Nullable Output environmentName;

    /**
     * @return Name of the environment
     * 
     */
    public Optional> environmentName() {
        return Optional.ofNullable(this.environmentName);
    }

    /**
     * The kind of the environment.
     * Expected value is 'Gen2'.
     * 
     */
    @Import(name="kind", required=true)
    private Output kind;

    /**
     * @return The kind of the environment.
     * Expected value is 'Gen2'.
     * 
     */
    public Output kind() {
        return this.kind;
    }

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

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

    /**
     * Name of an Azure Resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Name of an Azure Resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate.
     * 
     */
    @Import(name="sku", required=true)
    private Output sku;

    /**
     * @return The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate.
     * 
     */
    public Output sku() {
        return this.sku;
    }

    /**
     * The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data.
     * 
     */
    @Import(name="storageConfiguration", required=true)
    private Output storageConfiguration;

    /**
     * @return The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data.
     * 
     */
    public Output storageConfiguration() {
        return this.storageConfiguration;
    }

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

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

    /**
     * The list of event properties which will be used to define the environment's time series id.
     * 
     */
    @Import(name="timeSeriesIdProperties", required=true)
    private Output> timeSeriesIdProperties;

    /**
     * @return The list of event properties which will be used to define the environment's time series id.
     * 
     */
    public Output> timeSeriesIdProperties() {
        return this.timeSeriesIdProperties;
    }

    /**
     * The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query.
     * 
     */
    @Import(name="warmStoreConfiguration")
    private @Nullable Output warmStoreConfiguration;

    /**
     * @return The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query.
     * 
     */
    public Optional> warmStoreConfiguration() {
        return Optional.ofNullable(this.warmStoreConfiguration);
    }

    private Gen2EnvironmentArgs() {}

    private Gen2EnvironmentArgs(Gen2EnvironmentArgs $) {
        this.environmentName = $.environmentName;
        this.kind = $.kind;
        this.location = $.location;
        this.resourceGroupName = $.resourceGroupName;
        this.sku = $.sku;
        this.storageConfiguration = $.storageConfiguration;
        this.tags = $.tags;
        this.timeSeriesIdProperties = $.timeSeriesIdProperties;
        this.warmStoreConfiguration = $.warmStoreConfiguration;
    }

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

    public static final class Builder {
        private Gen2EnvironmentArgs $;

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

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

        /**
         * @param environmentName Name of the environment
         * 
         * @return builder
         * 
         */
        public Builder environmentName(@Nullable Output environmentName) {
            $.environmentName = environmentName;
            return this;
        }

        /**
         * @param environmentName Name of the environment
         * 
         * @return builder
         * 
         */
        public Builder environmentName(String environmentName) {
            return environmentName(Output.of(environmentName));
        }

        /**
         * @param kind The kind of the environment.
         * Expected value is 'Gen2'.
         * 
         * @return builder
         * 
         */
        public Builder kind(Output kind) {
            $.kind = kind;
            return this;
        }

        /**
         * @param kind The kind of the environment.
         * Expected value is 'Gen2'.
         * 
         * @return builder
         * 
         */
        public Builder kind(String kind) {
            return kind(Output.of(kind));
        }

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

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

        /**
         * @param resourceGroupName Name of an Azure Resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Name of an Azure Resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param sku The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate.
         * 
         * @return builder
         * 
         */
        public Builder sku(Output sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate.
         * 
         * @return builder
         * 
         */
        public Builder sku(SkuArgs sku) {
            return sku(Output.of(sku));
        }

        /**
         * @param storageConfiguration The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data.
         * 
         * @return builder
         * 
         */
        public Builder storageConfiguration(Output storageConfiguration) {
            $.storageConfiguration = storageConfiguration;
            return this;
        }

        /**
         * @param storageConfiguration The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data.
         * 
         * @return builder
         * 
         */
        public Builder storageConfiguration(Gen2StorageConfigurationInputArgs storageConfiguration) {
            return storageConfiguration(Output.of(storageConfiguration));
        }

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

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

        /**
         * @param timeSeriesIdProperties The list of event properties which will be used to define the environment's time series id.
         * 
         * @return builder
         * 
         */
        public Builder timeSeriesIdProperties(Output> timeSeriesIdProperties) {
            $.timeSeriesIdProperties = timeSeriesIdProperties;
            return this;
        }

        /**
         * @param timeSeriesIdProperties The list of event properties which will be used to define the environment's time series id.
         * 
         * @return builder
         * 
         */
        public Builder timeSeriesIdProperties(List timeSeriesIdProperties) {
            return timeSeriesIdProperties(Output.of(timeSeriesIdProperties));
        }

        /**
         * @param timeSeriesIdProperties The list of event properties which will be used to define the environment's time series id.
         * 
         * @return builder
         * 
         */
        public Builder timeSeriesIdProperties(TimeSeriesIdPropertyArgs... timeSeriesIdProperties) {
            return timeSeriesIdProperties(List.of(timeSeriesIdProperties));
        }

        /**
         * @param warmStoreConfiguration The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query.
         * 
         * @return builder
         * 
         */
        public Builder warmStoreConfiguration(@Nullable Output warmStoreConfiguration) {
            $.warmStoreConfiguration = warmStoreConfiguration;
            return this;
        }

        /**
         * @param warmStoreConfiguration The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query.
         * 
         * @return builder
         * 
         */
        public Builder warmStoreConfiguration(WarmStoreConfigurationPropertiesArgs warmStoreConfiguration) {
            return warmStoreConfiguration(Output.of(warmStoreConfiguration));
        }

        public Gen2EnvironmentArgs build() {
            $.kind = Codegen.stringProp("kind").output().arg($.kind).require();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("Gen2EnvironmentArgs", "resourceGroupName");
            }
            if ($.sku == null) {
                throw new MissingRequiredPropertyException("Gen2EnvironmentArgs", "sku");
            }
            if ($.storageConfiguration == null) {
                throw new MissingRequiredPropertyException("Gen2EnvironmentArgs", "storageConfiguration");
            }
            if ($.timeSeriesIdProperties == null) {
                throw new MissingRequiredPropertyException("Gen2EnvironmentArgs", "timeSeriesIdProperties");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy