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

com.pulumi.alicloud.cms.outputs.HybridMonitorSlsTaskSlsProcessConfig 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.cms.outputs;

import com.pulumi.alicloud.cms.outputs.HybridMonitorSlsTaskSlsProcessConfigExpress;
import com.pulumi.alicloud.cms.outputs.HybridMonitorSlsTaskSlsProcessConfigFilter;
import com.pulumi.alicloud.cms.outputs.HybridMonitorSlsTaskSlsProcessConfigGroupBy;
import com.pulumi.alicloud.cms.outputs.HybridMonitorSlsTaskSlsProcessConfigStatistic;
import com.pulumi.core.annotations.CustomType;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class HybridMonitorSlsTaskSlsProcessConfig {
    /**
     * @return The extended field that specifies the result of basic operations that are performed on aggregation results.
     * 
     */
    private @Nullable List expresses;
    /**
     * @return The conditions that are used to filter logs imported from Log Service. See `filter` below.
     * 
     */
    private @Nullable HybridMonitorSlsTaskSlsProcessConfigFilter filter;
    /**
     * @return The dimension based on which data is aggregated. This parameter is equivalent to the GROUP BY clause in SQL. See `group_by` below.
     * 
     */
    private @Nullable List groupBies;
    /**
     * @return The method that is used to aggregate logs imported from Log Service. See `statistics` below.
     * 
     */
    private @Nullable List statistics;

    private HybridMonitorSlsTaskSlsProcessConfig() {}
    /**
     * @return The extended field that specifies the result of basic operations that are performed on aggregation results.
     * 
     */
    public List expresses() {
        return this.expresses == null ? List.of() : this.expresses;
    }
    /**
     * @return The conditions that are used to filter logs imported from Log Service. See `filter` below.
     * 
     */
    public Optional filter() {
        return Optional.ofNullable(this.filter);
    }
    /**
     * @return The dimension based on which data is aggregated. This parameter is equivalent to the GROUP BY clause in SQL. See `group_by` below.
     * 
     */
    public List groupBies() {
        return this.groupBies == null ? List.of() : this.groupBies;
    }
    /**
     * @return The method that is used to aggregate logs imported from Log Service. See `statistics` below.
     * 
     */
    public List statistics() {
        return this.statistics == null ? List.of() : this.statistics;
    }

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

    public static Builder builder(HybridMonitorSlsTaskSlsProcessConfig defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List expresses;
        private @Nullable HybridMonitorSlsTaskSlsProcessConfigFilter filter;
        private @Nullable List groupBies;
        private @Nullable List statistics;
        public Builder() {}
        public Builder(HybridMonitorSlsTaskSlsProcessConfig defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.expresses = defaults.expresses;
    	      this.filter = defaults.filter;
    	      this.groupBies = defaults.groupBies;
    	      this.statistics = defaults.statistics;
        }

        @CustomType.Setter
        public Builder expresses(@Nullable List expresses) {

            this.expresses = expresses;
            return this;
        }
        public Builder expresses(HybridMonitorSlsTaskSlsProcessConfigExpress... expresses) {
            return expresses(List.of(expresses));
        }
        @CustomType.Setter
        public Builder filter(@Nullable HybridMonitorSlsTaskSlsProcessConfigFilter filter) {

            this.filter = filter;
            return this;
        }
        @CustomType.Setter
        public Builder groupBies(@Nullable List groupBies) {

            this.groupBies = groupBies;
            return this;
        }
        public Builder groupBies(HybridMonitorSlsTaskSlsProcessConfigGroupBy... groupBies) {
            return groupBies(List.of(groupBies));
        }
        @CustomType.Setter
        public Builder statistics(@Nullable List statistics) {

            this.statistics = statistics;
            return this;
        }
        public Builder statistics(HybridMonitorSlsTaskSlsProcessConfigStatistic... statistics) {
            return statistics(List.of(statistics));
        }
        public HybridMonitorSlsTaskSlsProcessConfig build() {
            final var _resultValue = new HybridMonitorSlsTaskSlsProcessConfig();
            _resultValue.expresses = expresses;
            _resultValue.filter = filter;
            _resultValue.groupBies = groupBies;
            _resultValue.statistics = statistics;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy