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

com.pulumi.alicloud.log.StoreArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.log;

import com.pulumi.alicloud.log.inputs.StoreEncryptConfArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final StoreArgs Empty = new StoreArgs();

    /**
     * Determines whether to append log meta automatically. The meta includes log receive time and client IP address. Default to `true`.
     * 
     */
    @Import(name="appendMeta")
    private @Nullable Output appendMeta;

    /**
     * @return Determines whether to append log meta automatically. The meta includes log receive time and client IP address. Default to `true`.
     * 
     */
    public Optional> appendMeta() {
        return Optional.ofNullable(this.appendMeta);
    }

    /**
     * Determines whether to automatically split a shard. Default to `false`.
     * 
     */
    @Import(name="autoSplit")
    private @Nullable Output autoSplit;

    /**
     * @return Determines whether to automatically split a shard. Default to `false`.
     * 
     */
    public Optional> autoSplit() {
        return Optional.ofNullable(this.autoSplit);
    }

    /**
     * Whether open webtracking. webtracking network tracing, support the collection of HTML log, H5, Ios and android platforms.
     * 
     */
    @Import(name="enableWebTracking")
    private @Nullable Output enableWebTracking;

    /**
     * @return Whether open webtracking. webtracking network tracing, support the collection of HTML log, H5, Ios and android platforms.
     * 
     */
    public Optional> enableWebTracking() {
        return Optional.ofNullable(this.enableWebTracking);
    }

    /**
     * Encrypted storage of data, providing data static protection capability, encrypt_conf can be updated since 1.188.0 (only enable change is supported when updating logstore). See `encrypt_conf` below.
     * 
     */
    @Import(name="encryptConf")
    private @Nullable Output encryptConf;

    /**
     * @return Encrypted storage of data, providing data static protection capability, encrypt_conf can be updated since 1.188.0 (only enable change is supported when updating logstore). See `encrypt_conf` below.
     * 
     */
    public Optional> encryptConf() {
        return Optional.ofNullable(this.encryptConf);
    }

    /**
     * The ttl of hot storage. Default to 30, at least 30, hot storage ttl must be less than ttl.
     * 
     */
    @Import(name="hotTtl")
    private @Nullable Output hotTtl;

    /**
     * @return The ttl of hot storage. Default to 30, at least 30, hot storage ttl must be less than ttl.
     * 
     */
    public Optional> hotTtl() {
        return Optional.ofNullable(this.hotTtl);
    }

    /**
     * The log store, which is unique in the same project. You need to specify one of the attributes: `logstore_name`, `name`.
     * 
     */
    @Import(name="logstoreName")
    private @Nullable Output logstoreName;

    /**
     * @return The log store, which is unique in the same project. You need to specify one of the attributes: `logstore_name`, `name`.
     * 
     */
    public Optional> logstoreName() {
        return Optional.ofNullable(this.logstoreName);
    }

    /**
     * The maximum number of shards for automatic split, which is in the range of 1 to 256. You must specify this parameter when autoSplit is true.
     * 
     */
    @Import(name="maxSplitShardCount")
    private @Nullable Output maxSplitShardCount;

    /**
     * @return The maximum number of shards for automatic split, which is in the range of 1 to 256. You must specify this parameter when autoSplit is true.
     * 
     */
    public Optional> maxSplitShardCount() {
        return Optional.ofNullable(this.maxSplitShardCount);
    }

    /**
     * Metering mode. The default metering mode of ChargeByFunction, ChargeByDataIngest traffic mode.
     * 
     */
    @Import(name="meteringMode")
    private @Nullable Output meteringMode;

    /**
     * @return Metering mode. The default metering mode of ChargeByFunction, ChargeByDataIngest traffic mode.
     * 
     */
    public Optional> meteringMode() {
        return Optional.ofNullable(this.meteringMode);
    }

    /**
     * The mode of storage. Default to `standard`, must be `standard` or `query`, `lite`.
     * 
     */
    @Import(name="mode")
    private @Nullable Output mode;

    /**
     * @return The mode of storage. Default to `standard`, must be `standard` or `query`, `lite`.
     * 
     */
    public Optional> mode() {
        return Optional.ofNullable(this.mode);
    }

    /**
     * . Field 'name' has been deprecated from provider version 1.215.0. New field 'logstore_name' instead.
     * 
     * @deprecated
     * Field 'name' has been deprecated since provider version 1.215.0. New field 'logstore_name' instead.
     * 
     */
    @Deprecated /* Field 'name' has been deprecated since provider version 1.215.0. New field 'logstore_name' instead. */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return . Field 'name' has been deprecated from provider version 1.215.0. New field 'logstore_name' instead.
     * 
     * @deprecated
     * Field 'name' has been deprecated since provider version 1.215.0. New field 'logstore_name' instead.
     * 
     */
    @Deprecated /* Field 'name' has been deprecated since provider version 1.215.0. New field 'logstore_name' instead. */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * . Field 'project' has been deprecated from provider version 1.215.0. New field 'project_name' instead.
     * 
     * @deprecated
     * Field 'project' has been deprecated since provider version 1.215.0. New field 'project_name' instead.
     * 
     */
    @Deprecated /* Field 'project' has been deprecated since provider version 1.215.0. New field 'project_name' instead. */
    @Import(name="project")
    private @Nullable Output project;

    /**
     * @return . Field 'project' has been deprecated from provider version 1.215.0. New field 'project_name' instead.
     * 
     * @deprecated
     * Field 'project' has been deprecated since provider version 1.215.0. New field 'project_name' instead.
     * 
     */
    @Deprecated /* Field 'project' has been deprecated since provider version 1.215.0. New field 'project_name' instead. */
    public Optional> project() {
        return Optional.ofNullable(this.project);
    }

    /**
     * The project name to the log store belongs. You need to specify one of the attributes: `project_name`, `project`.
     * 
     */
    @Import(name="projectName")
    private @Nullable Output projectName;

    /**
     * @return The project name to the log store belongs. You need to specify one of the attributes: `project_name`, `project`.
     * 
     */
    public Optional> projectName() {
        return Optional.ofNullable(this.projectName);
    }

    /**
     * The data retention time (in days). Valid values: [1-3650]. Default to 30. Log store data will be stored permanently when the value is 3650.
     * 
     */
    @Import(name="retentionPeriod")
    private @Nullable Output retentionPeriod;

    /**
     * @return The data retention time (in days). Valid values: [1-3650]. Default to 30. Log store data will be stored permanently when the value is 3650.
     * 
     */
    public Optional> retentionPeriod() {
        return Optional.ofNullable(this.retentionPeriod);
    }

    /**
     * The number of shards in this log store. Default to 2. You can modify it by "Split" or "Merge" operations. [Refer to details](https://www.alibabacloud.com/help/zh/sls/product-overview/shard).
     * 
     */
    @Import(name="shardCount")
    private @Nullable Output shardCount;

    /**
     * @return The number of shards in this log store. Default to 2. You can modify it by "Split" or "Merge" operations. [Refer to details](https://www.alibabacloud.com/help/zh/sls/product-overview/shard).
     * 
     */
    public Optional> shardCount() {
        return Optional.ofNullable(this.shardCount);
    }

    /**
     * Determines whether store type is metric. `Metrics` means metric store, empty means log store.
     * 
     * The following arguments will be discarded. Please use new fields as soon as possible:
     * 
     */
    @Import(name="telemetryType")
    private @Nullable Output telemetryType;

    /**
     * @return Determines whether store type is metric. `Metrics` means metric store, empty means log store.
     * 
     * The following arguments will be discarded. Please use new fields as soon as possible:
     * 
     */
    public Optional> telemetryType() {
        return Optional.ofNullable(this.telemetryType);
    }

    private StoreArgs() {}

    private StoreArgs(StoreArgs $) {
        this.appendMeta = $.appendMeta;
        this.autoSplit = $.autoSplit;
        this.enableWebTracking = $.enableWebTracking;
        this.encryptConf = $.encryptConf;
        this.hotTtl = $.hotTtl;
        this.logstoreName = $.logstoreName;
        this.maxSplitShardCount = $.maxSplitShardCount;
        this.meteringMode = $.meteringMode;
        this.mode = $.mode;
        this.name = $.name;
        this.project = $.project;
        this.projectName = $.projectName;
        this.retentionPeriod = $.retentionPeriod;
        this.shardCount = $.shardCount;
        this.telemetryType = $.telemetryType;
    }

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

    public static final class Builder {
        private StoreArgs $;

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

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

        /**
         * @param appendMeta Determines whether to append log meta automatically. The meta includes log receive time and client IP address. Default to `true`.
         * 
         * @return builder
         * 
         */
        public Builder appendMeta(@Nullable Output appendMeta) {
            $.appendMeta = appendMeta;
            return this;
        }

        /**
         * @param appendMeta Determines whether to append log meta automatically. The meta includes log receive time and client IP address. Default to `true`.
         * 
         * @return builder
         * 
         */
        public Builder appendMeta(Boolean appendMeta) {
            return appendMeta(Output.of(appendMeta));
        }

        /**
         * @param autoSplit Determines whether to automatically split a shard. Default to `false`.
         * 
         * @return builder
         * 
         */
        public Builder autoSplit(@Nullable Output autoSplit) {
            $.autoSplit = autoSplit;
            return this;
        }

        /**
         * @param autoSplit Determines whether to automatically split a shard. Default to `false`.
         * 
         * @return builder
         * 
         */
        public Builder autoSplit(Boolean autoSplit) {
            return autoSplit(Output.of(autoSplit));
        }

        /**
         * @param enableWebTracking Whether open webtracking. webtracking network tracing, support the collection of HTML log, H5, Ios and android platforms.
         * 
         * @return builder
         * 
         */
        public Builder enableWebTracking(@Nullable Output enableWebTracking) {
            $.enableWebTracking = enableWebTracking;
            return this;
        }

        /**
         * @param enableWebTracking Whether open webtracking. webtracking network tracing, support the collection of HTML log, H5, Ios and android platforms.
         * 
         * @return builder
         * 
         */
        public Builder enableWebTracking(Boolean enableWebTracking) {
            return enableWebTracking(Output.of(enableWebTracking));
        }

        /**
         * @param encryptConf Encrypted storage of data, providing data static protection capability, encrypt_conf can be updated since 1.188.0 (only enable change is supported when updating logstore). See `encrypt_conf` below.
         * 
         * @return builder
         * 
         */
        public Builder encryptConf(@Nullable Output encryptConf) {
            $.encryptConf = encryptConf;
            return this;
        }

        /**
         * @param encryptConf Encrypted storage of data, providing data static protection capability, encrypt_conf can be updated since 1.188.0 (only enable change is supported when updating logstore). See `encrypt_conf` below.
         * 
         * @return builder
         * 
         */
        public Builder encryptConf(StoreEncryptConfArgs encryptConf) {
            return encryptConf(Output.of(encryptConf));
        }

        /**
         * @param hotTtl The ttl of hot storage. Default to 30, at least 30, hot storage ttl must be less than ttl.
         * 
         * @return builder
         * 
         */
        public Builder hotTtl(@Nullable Output hotTtl) {
            $.hotTtl = hotTtl;
            return this;
        }

        /**
         * @param hotTtl The ttl of hot storage. Default to 30, at least 30, hot storage ttl must be less than ttl.
         * 
         * @return builder
         * 
         */
        public Builder hotTtl(Integer hotTtl) {
            return hotTtl(Output.of(hotTtl));
        }

        /**
         * @param logstoreName The log store, which is unique in the same project. You need to specify one of the attributes: `logstore_name`, `name`.
         * 
         * @return builder
         * 
         */
        public Builder logstoreName(@Nullable Output logstoreName) {
            $.logstoreName = logstoreName;
            return this;
        }

        /**
         * @param logstoreName The log store, which is unique in the same project. You need to specify one of the attributes: `logstore_name`, `name`.
         * 
         * @return builder
         * 
         */
        public Builder logstoreName(String logstoreName) {
            return logstoreName(Output.of(logstoreName));
        }

        /**
         * @param maxSplitShardCount The maximum number of shards for automatic split, which is in the range of 1 to 256. You must specify this parameter when autoSplit is true.
         * 
         * @return builder
         * 
         */
        public Builder maxSplitShardCount(@Nullable Output maxSplitShardCount) {
            $.maxSplitShardCount = maxSplitShardCount;
            return this;
        }

        /**
         * @param maxSplitShardCount The maximum number of shards for automatic split, which is in the range of 1 to 256. You must specify this parameter when autoSplit is true.
         * 
         * @return builder
         * 
         */
        public Builder maxSplitShardCount(Integer maxSplitShardCount) {
            return maxSplitShardCount(Output.of(maxSplitShardCount));
        }

        /**
         * @param meteringMode Metering mode. The default metering mode of ChargeByFunction, ChargeByDataIngest traffic mode.
         * 
         * @return builder
         * 
         */
        public Builder meteringMode(@Nullable Output meteringMode) {
            $.meteringMode = meteringMode;
            return this;
        }

        /**
         * @param meteringMode Metering mode. The default metering mode of ChargeByFunction, ChargeByDataIngest traffic mode.
         * 
         * @return builder
         * 
         */
        public Builder meteringMode(String meteringMode) {
            return meteringMode(Output.of(meteringMode));
        }

        /**
         * @param mode The mode of storage. Default to `standard`, must be `standard` or `query`, `lite`.
         * 
         * @return builder
         * 
         */
        public Builder mode(@Nullable Output mode) {
            $.mode = mode;
            return this;
        }

        /**
         * @param mode The mode of storage. Default to `standard`, must be `standard` or `query`, `lite`.
         * 
         * @return builder
         * 
         */
        public Builder mode(String mode) {
            return mode(Output.of(mode));
        }

        /**
         * @param name . Field 'name' has been deprecated from provider version 1.215.0. New field 'logstore_name' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field 'name' has been deprecated since provider version 1.215.0. New field 'logstore_name' instead.
         * 
         */
        @Deprecated /* Field 'name' has been deprecated since provider version 1.215.0. New field 'logstore_name' instead. */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name . Field 'name' has been deprecated from provider version 1.215.0. New field 'logstore_name' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field 'name' has been deprecated since provider version 1.215.0. New field 'logstore_name' instead.
         * 
         */
        @Deprecated /* Field 'name' has been deprecated since provider version 1.215.0. New field 'logstore_name' instead. */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param project . Field 'project' has been deprecated from provider version 1.215.0. New field 'project_name' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field 'project' has been deprecated since provider version 1.215.0. New field 'project_name' instead.
         * 
         */
        @Deprecated /* Field 'project' has been deprecated since provider version 1.215.0. New field 'project_name' instead. */
        public Builder project(@Nullable Output project) {
            $.project = project;
            return this;
        }

        /**
         * @param project . Field 'project' has been deprecated from provider version 1.215.0. New field 'project_name' instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field 'project' has been deprecated since provider version 1.215.0. New field 'project_name' instead.
         * 
         */
        @Deprecated /* Field 'project' has been deprecated since provider version 1.215.0. New field 'project_name' instead. */
        public Builder project(String project) {
            return project(Output.of(project));
        }

        /**
         * @param projectName The project name to the log store belongs. You need to specify one of the attributes: `project_name`, `project`.
         * 
         * @return builder
         * 
         */
        public Builder projectName(@Nullable Output projectName) {
            $.projectName = projectName;
            return this;
        }

        /**
         * @param projectName The project name to the log store belongs. You need to specify one of the attributes: `project_name`, `project`.
         * 
         * @return builder
         * 
         */
        public Builder projectName(String projectName) {
            return projectName(Output.of(projectName));
        }

        /**
         * @param retentionPeriod The data retention time (in days). Valid values: [1-3650]. Default to 30. Log store data will be stored permanently when the value is 3650.
         * 
         * @return builder
         * 
         */
        public Builder retentionPeriod(@Nullable Output retentionPeriod) {
            $.retentionPeriod = retentionPeriod;
            return this;
        }

        /**
         * @param retentionPeriod The data retention time (in days). Valid values: [1-3650]. Default to 30. Log store data will be stored permanently when the value is 3650.
         * 
         * @return builder
         * 
         */
        public Builder retentionPeriod(Integer retentionPeriod) {
            return retentionPeriod(Output.of(retentionPeriod));
        }

        /**
         * @param shardCount The number of shards in this log store. Default to 2. You can modify it by "Split" or "Merge" operations. [Refer to details](https://www.alibabacloud.com/help/zh/sls/product-overview/shard).
         * 
         * @return builder
         * 
         */
        public Builder shardCount(@Nullable Output shardCount) {
            $.shardCount = shardCount;
            return this;
        }

        /**
         * @param shardCount The number of shards in this log store. Default to 2. You can modify it by "Split" or "Merge" operations. [Refer to details](https://www.alibabacloud.com/help/zh/sls/product-overview/shard).
         * 
         * @return builder
         * 
         */
        public Builder shardCount(Integer shardCount) {
            return shardCount(Output.of(shardCount));
        }

        /**
         * @param telemetryType Determines whether store type is metric. `Metrics` means metric store, empty means log store.
         * 
         * The following arguments will be discarded. Please use new fields as soon as possible:
         * 
         * @return builder
         * 
         */
        public Builder telemetryType(@Nullable Output telemetryType) {
            $.telemetryType = telemetryType;
            return this;
        }

        /**
         * @param telemetryType Determines whether store type is metric. `Metrics` means metric store, empty means log store.
         * 
         * The following arguments will be discarded. Please use new fields as soon as possible:
         * 
         * @return builder
         * 
         */
        public Builder telemetryType(String telemetryType) {
            return telemetryType(Output.of(telemetryType));
        }

        public StoreArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy