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

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

import com.pulumi.azurenative.timeseriesinsights.enums.StorageLimitExceededBehavior;
import com.pulumi.azurenative.timeseriesinsights.inputs.SkuArgs;
import com.pulumi.azurenative.timeseriesinsights.inputs.TimeSeriesIdPropertyArgs;
import com.pulumi.core.Either;
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 Gen1EnvironmentArgs extends com.pulumi.resources.ResourceArgs {

    public static final Gen1EnvironmentArgs Empty = new Gen1EnvironmentArgs();

    /**
     * ISO8601 timespan specifying the minimum number of days the environment's events will be available for query.
     * 
     */
    @Import(name="dataRetentionTime", required=true)
    private Output dataRetentionTime;

    /**
     * @return ISO8601 timespan specifying the minimum number of days the environment's events will be available for query.
     * 
     */
    public Output dataRetentionTime() {
        return this.dataRetentionTime;
    }

    /**
     * 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 'Gen1'.
     * 
     */
    @Import(name="kind", required=true)
    private Output kind;

    /**
     * @return The kind of the environment.
     * Expected value is 'Gen1'.
     * 
     */
    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);
    }

    /**
     * The list of event properties which will be used to partition data in the environment. Currently, only a single partition key property is supported.
     * 
     */
    @Import(name="partitionKeyProperties")
    private @Nullable Output> partitionKeyProperties;

    /**
     * @return The list of event properties which will be used to partition data in the environment. Currently, only a single partition key property is supported.
     * 
     */
    public Optional>> partitionKeyProperties() {
        return Optional.ofNullable(this.partitionKeyProperties);
    }

    /**
     * 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 behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If "PauseIngress" is specified, new events will not be read from the event source. If "PurgeOldData" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.
     * 
     */
    @Import(name="storageLimitExceededBehavior")
    private @Nullable Output> storageLimitExceededBehavior;

    /**
     * @return The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If "PauseIngress" is specified, new events will not be read from the event source. If "PurgeOldData" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.
     * 
     */
    public Optional>> storageLimitExceededBehavior() {
        return Optional.ofNullable(this.storageLimitExceededBehavior);
    }

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

    private Gen1EnvironmentArgs() {}

    private Gen1EnvironmentArgs(Gen1EnvironmentArgs $) {
        this.dataRetentionTime = $.dataRetentionTime;
        this.environmentName = $.environmentName;
        this.kind = $.kind;
        this.location = $.location;
        this.partitionKeyProperties = $.partitionKeyProperties;
        this.resourceGroupName = $.resourceGroupName;
        this.sku = $.sku;
        this.storageLimitExceededBehavior = $.storageLimitExceededBehavior;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private Gen1EnvironmentArgs $;

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

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

        /**
         * @param dataRetentionTime ISO8601 timespan specifying the minimum number of days the environment's events will be available for query.
         * 
         * @return builder
         * 
         */
        public Builder dataRetentionTime(Output dataRetentionTime) {
            $.dataRetentionTime = dataRetentionTime;
            return this;
        }

        /**
         * @param dataRetentionTime ISO8601 timespan specifying the minimum number of days the environment's events will be available for query.
         * 
         * @return builder
         * 
         */
        public Builder dataRetentionTime(String dataRetentionTime) {
            return dataRetentionTime(Output.of(dataRetentionTime));
        }

        /**
         * @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 'Gen1'.
         * 
         * @return builder
         * 
         */
        public Builder kind(Output kind) {
            $.kind = kind;
            return this;
        }

        /**
         * @param kind The kind of the environment.
         * Expected value is 'Gen1'.
         * 
         * @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 partitionKeyProperties The list of event properties which will be used to partition data in the environment. Currently, only a single partition key property is supported.
         * 
         * @return builder
         * 
         */
        public Builder partitionKeyProperties(@Nullable Output> partitionKeyProperties) {
            $.partitionKeyProperties = partitionKeyProperties;
            return this;
        }

        /**
         * @param partitionKeyProperties The list of event properties which will be used to partition data in the environment. Currently, only a single partition key property is supported.
         * 
         * @return builder
         * 
         */
        public Builder partitionKeyProperties(List partitionKeyProperties) {
            return partitionKeyProperties(Output.of(partitionKeyProperties));
        }

        /**
         * @param partitionKeyProperties The list of event properties which will be used to partition data in the environment. Currently, only a single partition key property is supported.
         * 
         * @return builder
         * 
         */
        public Builder partitionKeyProperties(TimeSeriesIdPropertyArgs... partitionKeyProperties) {
            return partitionKeyProperties(List.of(partitionKeyProperties));
        }

        /**
         * @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 storageLimitExceededBehavior The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If "PauseIngress" is specified, new events will not be read from the event source. If "PurgeOldData" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.
         * 
         * @return builder
         * 
         */
        public Builder storageLimitExceededBehavior(@Nullable Output> storageLimitExceededBehavior) {
            $.storageLimitExceededBehavior = storageLimitExceededBehavior;
            return this;
        }

        /**
         * @param storageLimitExceededBehavior The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If "PauseIngress" is specified, new events will not be read from the event source. If "PurgeOldData" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.
         * 
         * @return builder
         * 
         */
        public Builder storageLimitExceededBehavior(Either storageLimitExceededBehavior) {
            return storageLimitExceededBehavior(Output.of(storageLimitExceededBehavior));
        }

        /**
         * @param storageLimitExceededBehavior The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If "PauseIngress" is specified, new events will not be read from the event source. If "PurgeOldData" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.
         * 
         * @return builder
         * 
         */
        public Builder storageLimitExceededBehavior(String storageLimitExceededBehavior) {
            return storageLimitExceededBehavior(Either.ofLeft(storageLimitExceededBehavior));
        }

        /**
         * @param storageLimitExceededBehavior The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If "PauseIngress" is specified, new events will not be read from the event source. If "PurgeOldData" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.
         * 
         * @return builder
         * 
         */
        public Builder storageLimitExceededBehavior(StorageLimitExceededBehavior storageLimitExceededBehavior) {
            return storageLimitExceededBehavior(Either.ofRight(storageLimitExceededBehavior));
        }

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

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy