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

com.pulumi.signalfx.TimeChartArgs Maven / Gradle / Ivy

// *** 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.signalfx;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.signalfx.inputs.TimeChartAxisLeftArgs;
import com.pulumi.signalfx.inputs.TimeChartAxisRightArgs;
import com.pulumi.signalfx.inputs.TimeChartEventOptionArgs;
import com.pulumi.signalfx.inputs.TimeChartHistogramOptionArgs;
import com.pulumi.signalfx.inputs.TimeChartLegendOptionsFieldArgs;
import com.pulumi.signalfx.inputs.TimeChartVizOptionArgs;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final TimeChartArgs Empty = new TimeChartArgs();

    /**
     * Force the chart to display zero on the y-axes, even if none of the data is near zero.
     * 
     */
    @Import(name="axesIncludeZero")
    private @Nullable Output axesIncludeZero;

    /**
     * @return Force the chart to display zero on the y-axes, even if none of the data is near zero.
     * 
     */
    public Optional> axesIncludeZero() {
        return Optional.ofNullable(this.axesIncludeZero);
    }

    /**
     * Specifies the digits Splunk Observability Cloud displays for values plotted on the chart. Defaults to `3`.
     * 
     */
    @Import(name="axesPrecision")
    private @Nullable Output axesPrecision;

    /**
     * @return Specifies the digits Splunk Observability Cloud displays for values plotted on the chart. Defaults to `3`.
     * 
     */
    public Optional> axesPrecision() {
        return Optional.ofNullable(this.axesPrecision);
    }

    /**
     * Set of axis options.
     * 
     */
    @Import(name="axisLeft")
    private @Nullable Output axisLeft;

    /**
     * @return Set of axis options.
     * 
     */
    public Optional> axisLeft() {
        return Optional.ofNullable(this.axisLeft);
    }

    /**
     * Set of axis options.
     * 
     */
    @Import(name="axisRight")
    private @Nullable Output axisRight;

    /**
     * @return Set of axis options.
     * 
     */
    public Optional> axisRight() {
        return Optional.ofNullable(this.axisRight);
    }

    /**
     * Must be `"Dimension"` or `"Metric"`. `"Dimension"` by default.
     * 
     */
    @Import(name="colorBy")
    private @Nullable Output colorBy;

    /**
     * @return Must be `"Dimension"` or `"Metric"`. `"Dimension"` by default.
     * 
     */
    public Optional> colorBy() {
        return Optional.ofNullable(this.colorBy);
    }

    /**
     * Description of the chart.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the chart.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * If `false`, samples a subset of the output MTS, which improves UI performance. `false` by default
     * 
     */
    @Import(name="disableSampling")
    private @Nullable Output disableSampling;

    /**
     * @return If `false`, samples a subset of the output MTS, which improves UI performance. `false` by default
     * 
     */
    public Optional> disableSampling() {
        return Optional.ofNullable(this.disableSampling);
    }

    /**
     * Seconds since epoch. Used for visualization. Conflicts with `time_range`.
     * 
     */
    @Import(name="endTime")
    private @Nullable Output endTime;

    /**
     * @return Seconds since epoch. Used for visualization. Conflicts with `time_range`.
     * 
     */
    public Optional> endTime() {
        return Optional.ofNullable(this.endTime);
    }

    /**
     * Event customization options, associated with a publish statement. You will need to use this to change settings for any `events(…)` statements you use.
     * 
     */
    @Import(name="eventOptions")
    private @Nullable Output> eventOptions;

    /**
     * @return Event customization options, associated with a publish statement. You will need to use this to change settings for any `events(…)` statements you use.
     * 
     */
    public Optional>> eventOptions() {
        return Optional.ofNullable(this.eventOptions);
    }

    /**
     * Only used when `plot_type` is `"Histogram"`. Histogram specific options.
     * 
     */
    @Import(name="histogramOptions")
    private @Nullable Output> histogramOptions;

    /**
     * @return Only used when `plot_type` is `"Histogram"`. Histogram specific options.
     * 
     */
    public Optional>> histogramOptions() {
        return Optional.ofNullable(this.histogramOptions);
    }

    /**
     * List of properties that should not be displayed in the chart legend (i.e. dimension names). All the properties are visible by default. Deprecated, please use `legend_options_fields`.
     * 
     * @deprecated
     * Please use legend_options_fields
     * 
     */
    @Deprecated /* Please use legend_options_fields */
    @Import(name="legendFieldsToHides")
    private @Nullable Output> legendFieldsToHides;

    /**
     * @return List of properties that should not be displayed in the chart legend (i.e. dimension names). All the properties are visible by default. Deprecated, please use `legend_options_fields`.
     * 
     * @deprecated
     * Please use legend_options_fields
     * 
     */
    @Deprecated /* Please use legend_options_fields */
    public Optional>> legendFieldsToHides() {
        return Optional.ofNullable(this.legendFieldsToHides);
    }

    /**
     * List of property names and enabled flags that should be displayed in the data table for the chart, in the order provided. This option cannot be used with `legend_fields_to_hide`.
     * 
     */
    @Import(name="legendOptionsFields")
    private @Nullable Output> legendOptionsFields;

    /**
     * @return List of property names and enabled flags that should be displayed in the data table for the chart, in the order provided. This option cannot be used with `legend_fields_to_hide`.
     * 
     */
    public Optional>> legendOptionsFields() {
        return Optional.ofNullable(this.legendOptionsFields);
    }

    /**
     * How long (in seconds) to wait for late datapoints.
     * 
     */
    @Import(name="maxDelay")
    private @Nullable Output maxDelay;

    /**
     * @return How long (in seconds) to wait for late datapoints.
     * 
     */
    public Optional> maxDelay() {
        return Optional.ofNullable(this.maxDelay);
    }

    /**
     * The minimum resolution (in seconds) to use for computing the underlying program.
     * 
     */
    @Import(name="minimumResolution")
    private @Nullable Output minimumResolution;

    /**
     * @return The minimum resolution (in seconds) to use for computing the underlying program.
     * 
     */
    public Optional> minimumResolution() {
        return Optional.ofNullable(this.minimumResolution);
    }

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

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

    /**
     * Dimensions to show in the on-chart legend. On-chart legend is off unless a dimension is specified. Allowed: `"metric"`, `"plot_label"` and any dimension.
     * 
     */
    @Import(name="onChartLegendDimension")
    private @Nullable Output onChartLegendDimension;

    /**
     * @return Dimensions to show in the on-chart legend. On-chart legend is off unless a dimension is specified. Allowed: `"metric"`, `"plot_label"` and any dimension.
     * 
     */
    public Optional> onChartLegendDimension() {
        return Optional.ofNullable(this.onChartLegendDimension);
    }

    /**
     * The default plot display style for the visualization. Must be `"LineChart"`, `"AreaChart"`, `"ColumnChart"`, or `"Histogram"`. Default: `"LineChart"`.
     * 
     */
    @Import(name="plotType")
    private @Nullable Output plotType;

    /**
     * @return The default plot display style for the visualization. Must be `"LineChart"`, `"AreaChart"`, `"ColumnChart"`, or `"Histogram"`. Default: `"LineChart"`.
     * 
     */
    public Optional> plotType() {
        return Optional.ofNullable(this.plotType);
    }

    /**
     * Signalflow program text for the chart. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
     * 
     */
    @Import(name="programText", required=true)
    private Output programText;

    /**
     * @return Signalflow program text for the chart. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
     * 
     */
    public Output programText() {
        return this.programText;
    }

    /**
     * Show markers (circles) for each datapoint used to draw line or area charts. `false` by default.
     * 
     */
    @Import(name="showDataMarkers")
    private @Nullable Output showDataMarkers;

    /**
     * @return Show markers (circles) for each datapoint used to draw line or area charts. `false` by default.
     * 
     */
    public Optional> showDataMarkers() {
        return Optional.ofNullable(this.showDataMarkers);
    }

    /**
     * Whether vertical highlight lines should be drawn in the visualizations at times when events occurred. `false` by default.
     * 
     */
    @Import(name="showEventLines")
    private @Nullable Output showEventLines;

    /**
     * @return Whether vertical highlight lines should be drawn in the visualizations at times when events occurred. `false` by default.
     * 
     */
    public Optional> showEventLines() {
        return Optional.ofNullable(this.showEventLines);
    }

    /**
     * Whether area and bar charts in the visualization should be stacked. `false` by default.
     * 
     */
    @Import(name="stacked")
    private @Nullable Output stacked;

    /**
     * @return Whether area and bar charts in the visualization should be stacked. `false` by default.
     * 
     */
    public Optional> stacked() {
        return Optional.ofNullable(this.stacked);
    }

    /**
     * Seconds since epoch. Used for visualization. Conflicts with `time_range`.
     * 
     */
    @Import(name="startTime")
    private @Nullable Output startTime;

    /**
     * @return Seconds since epoch. Used for visualization. Conflicts with `time_range`.
     * 
     */
    public Optional> startTime() {
        return Optional.ofNullable(this.startTime);
    }

    /**
     * Tags associated with the chart
     * 
     * @deprecated
     * signalfx_time_chart.tags is being removed in the next release
     * 
     */
    @Deprecated /* signalfx_time_chart.tags is being removed in the next release */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Tags associated with the chart
     * 
     * @deprecated
     * signalfx_time_chart.tags is being removed in the next release
     * 
     */
    @Deprecated /* signalfx_time_chart.tags is being removed in the next release */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * How many seconds ago from which to display data. For example, the last hour would be `3600`, etc. Conflicts with `start_time` and `end_time`.
     * 
     */
    @Import(name="timeRange")
    private @Nullable Output timeRange;

    /**
     * @return How many seconds ago from which to display data. For example, the last hour would be `3600`, etc. Conflicts with `start_time` and `end_time`.
     * 
     */
    public Optional> timeRange() {
        return Optional.ofNullable(this.timeRange);
    }

    /**
     * Time zone that SignalFlow uses as the basis of calendar window transformation methods. For example, if you set "timezone": "Europe/Paris" and then use the transformation sum(cycle="week", cycle_start="Monday") in your chart's SignalFlow program, the calendar window starts on Monday, Paris time. See the [full list of timezones for more](https://dev.splunk.com/observability/docs/signalflow/). `"UTC"` by default.
     * 
     */
    @Import(name="timezone")
    private @Nullable Output timezone;

    /**
     * @return Time zone that SignalFlow uses as the basis of calendar window transformation methods. For example, if you set "timezone": "Europe/Paris" and then use the transformation sum(cycle="week", cycle_start="Monday") in your chart's SignalFlow program, the calendar window starts on Monday, Paris time. See the [full list of timezones for more](https://dev.splunk.com/observability/docs/signalflow/). `"UTC"` by default.
     * 
     */
    public Optional> timezone() {
        return Optional.ofNullable(this.timezone);
    }

    /**
     * Must be `"Metric"` or `"Binary`". `"Metric"` by default.
     * 
     */
    @Import(name="unitPrefix")
    private @Nullable Output unitPrefix;

    /**
     * @return Must be `"Metric"` or `"Binary`". `"Metric"` by default.
     * 
     */
    public Optional> unitPrefix() {
        return Optional.ofNullable(this.unitPrefix);
    }

    /**
     * Plot-level customization options, associated with a publish statement.
     * 
     */
    @Import(name="vizOptions")
    private @Nullable Output> vizOptions;

    /**
     * @return Plot-level customization options, associated with a publish statement.
     * 
     */
    public Optional>> vizOptions() {
        return Optional.ofNullable(this.vizOptions);
    }

    private TimeChartArgs() {}

    private TimeChartArgs(TimeChartArgs $) {
        this.axesIncludeZero = $.axesIncludeZero;
        this.axesPrecision = $.axesPrecision;
        this.axisLeft = $.axisLeft;
        this.axisRight = $.axisRight;
        this.colorBy = $.colorBy;
        this.description = $.description;
        this.disableSampling = $.disableSampling;
        this.endTime = $.endTime;
        this.eventOptions = $.eventOptions;
        this.histogramOptions = $.histogramOptions;
        this.legendFieldsToHides = $.legendFieldsToHides;
        this.legendOptionsFields = $.legendOptionsFields;
        this.maxDelay = $.maxDelay;
        this.minimumResolution = $.minimumResolution;
        this.name = $.name;
        this.onChartLegendDimension = $.onChartLegendDimension;
        this.plotType = $.plotType;
        this.programText = $.programText;
        this.showDataMarkers = $.showDataMarkers;
        this.showEventLines = $.showEventLines;
        this.stacked = $.stacked;
        this.startTime = $.startTime;
        this.tags = $.tags;
        this.timeRange = $.timeRange;
        this.timezone = $.timezone;
        this.unitPrefix = $.unitPrefix;
        this.vizOptions = $.vizOptions;
    }

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

    public static final class Builder {
        private TimeChartArgs $;

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

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

        /**
         * @param axesIncludeZero Force the chart to display zero on the y-axes, even if none of the data is near zero.
         * 
         * @return builder
         * 
         */
        public Builder axesIncludeZero(@Nullable Output axesIncludeZero) {
            $.axesIncludeZero = axesIncludeZero;
            return this;
        }

        /**
         * @param axesIncludeZero Force the chart to display zero on the y-axes, even if none of the data is near zero.
         * 
         * @return builder
         * 
         */
        public Builder axesIncludeZero(Boolean axesIncludeZero) {
            return axesIncludeZero(Output.of(axesIncludeZero));
        }

        /**
         * @param axesPrecision Specifies the digits Splunk Observability Cloud displays for values plotted on the chart. Defaults to `3`.
         * 
         * @return builder
         * 
         */
        public Builder axesPrecision(@Nullable Output axesPrecision) {
            $.axesPrecision = axesPrecision;
            return this;
        }

        /**
         * @param axesPrecision Specifies the digits Splunk Observability Cloud displays for values plotted on the chart. Defaults to `3`.
         * 
         * @return builder
         * 
         */
        public Builder axesPrecision(Integer axesPrecision) {
            return axesPrecision(Output.of(axesPrecision));
        }

        /**
         * @param axisLeft Set of axis options.
         * 
         * @return builder
         * 
         */
        public Builder axisLeft(@Nullable Output axisLeft) {
            $.axisLeft = axisLeft;
            return this;
        }

        /**
         * @param axisLeft Set of axis options.
         * 
         * @return builder
         * 
         */
        public Builder axisLeft(TimeChartAxisLeftArgs axisLeft) {
            return axisLeft(Output.of(axisLeft));
        }

        /**
         * @param axisRight Set of axis options.
         * 
         * @return builder
         * 
         */
        public Builder axisRight(@Nullable Output axisRight) {
            $.axisRight = axisRight;
            return this;
        }

        /**
         * @param axisRight Set of axis options.
         * 
         * @return builder
         * 
         */
        public Builder axisRight(TimeChartAxisRightArgs axisRight) {
            return axisRight(Output.of(axisRight));
        }

        /**
         * @param colorBy Must be `"Dimension"` or `"Metric"`. `"Dimension"` by default.
         * 
         * @return builder
         * 
         */
        public Builder colorBy(@Nullable Output colorBy) {
            $.colorBy = colorBy;
            return this;
        }

        /**
         * @param colorBy Must be `"Dimension"` or `"Metric"`. `"Dimension"` by default.
         * 
         * @return builder
         * 
         */
        public Builder colorBy(String colorBy) {
            return colorBy(Output.of(colorBy));
        }

        /**
         * @param description Description of the chart.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the chart.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param disableSampling If `false`, samples a subset of the output MTS, which improves UI performance. `false` by default
         * 
         * @return builder
         * 
         */
        public Builder disableSampling(@Nullable Output disableSampling) {
            $.disableSampling = disableSampling;
            return this;
        }

        /**
         * @param disableSampling If `false`, samples a subset of the output MTS, which improves UI performance. `false` by default
         * 
         * @return builder
         * 
         */
        public Builder disableSampling(Boolean disableSampling) {
            return disableSampling(Output.of(disableSampling));
        }

        /**
         * @param endTime Seconds since epoch. Used for visualization. Conflicts with `time_range`.
         * 
         * @return builder
         * 
         */
        public Builder endTime(@Nullable Output endTime) {
            $.endTime = endTime;
            return this;
        }

        /**
         * @param endTime Seconds since epoch. Used for visualization. Conflicts with `time_range`.
         * 
         * @return builder
         * 
         */
        public Builder endTime(Integer endTime) {
            return endTime(Output.of(endTime));
        }

        /**
         * @param eventOptions Event customization options, associated with a publish statement. You will need to use this to change settings for any `events(…)` statements you use.
         * 
         * @return builder
         * 
         */
        public Builder eventOptions(@Nullable Output> eventOptions) {
            $.eventOptions = eventOptions;
            return this;
        }

        /**
         * @param eventOptions Event customization options, associated with a publish statement. You will need to use this to change settings for any `events(…)` statements you use.
         * 
         * @return builder
         * 
         */
        public Builder eventOptions(List eventOptions) {
            return eventOptions(Output.of(eventOptions));
        }

        /**
         * @param eventOptions Event customization options, associated with a publish statement. You will need to use this to change settings for any `events(…)` statements you use.
         * 
         * @return builder
         * 
         */
        public Builder eventOptions(TimeChartEventOptionArgs... eventOptions) {
            return eventOptions(List.of(eventOptions));
        }

        /**
         * @param histogramOptions Only used when `plot_type` is `"Histogram"`. Histogram specific options.
         * 
         * @return builder
         * 
         */
        public Builder histogramOptions(@Nullable Output> histogramOptions) {
            $.histogramOptions = histogramOptions;
            return this;
        }

        /**
         * @param histogramOptions Only used when `plot_type` is `"Histogram"`. Histogram specific options.
         * 
         * @return builder
         * 
         */
        public Builder histogramOptions(List histogramOptions) {
            return histogramOptions(Output.of(histogramOptions));
        }

        /**
         * @param histogramOptions Only used when `plot_type` is `"Histogram"`. Histogram specific options.
         * 
         * @return builder
         * 
         */
        public Builder histogramOptions(TimeChartHistogramOptionArgs... histogramOptions) {
            return histogramOptions(List.of(histogramOptions));
        }

        /**
         * @param legendFieldsToHides List of properties that should not be displayed in the chart legend (i.e. dimension names). All the properties are visible by default. Deprecated, please use `legend_options_fields`.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use legend_options_fields
         * 
         */
        @Deprecated /* Please use legend_options_fields */
        public Builder legendFieldsToHides(@Nullable Output> legendFieldsToHides) {
            $.legendFieldsToHides = legendFieldsToHides;
            return this;
        }

        /**
         * @param legendFieldsToHides List of properties that should not be displayed in the chart legend (i.e. dimension names). All the properties are visible by default. Deprecated, please use `legend_options_fields`.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use legend_options_fields
         * 
         */
        @Deprecated /* Please use legend_options_fields */
        public Builder legendFieldsToHides(List legendFieldsToHides) {
            return legendFieldsToHides(Output.of(legendFieldsToHides));
        }

        /**
         * @param legendFieldsToHides List of properties that should not be displayed in the chart legend (i.e. dimension names). All the properties are visible by default. Deprecated, please use `legend_options_fields`.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use legend_options_fields
         * 
         */
        @Deprecated /* Please use legend_options_fields */
        public Builder legendFieldsToHides(String... legendFieldsToHides) {
            return legendFieldsToHides(List.of(legendFieldsToHides));
        }

        /**
         * @param legendOptionsFields List of property names and enabled flags that should be displayed in the data table for the chart, in the order provided. This option cannot be used with `legend_fields_to_hide`.
         * 
         * @return builder
         * 
         */
        public Builder legendOptionsFields(@Nullable Output> legendOptionsFields) {
            $.legendOptionsFields = legendOptionsFields;
            return this;
        }

        /**
         * @param legendOptionsFields List of property names and enabled flags that should be displayed in the data table for the chart, in the order provided. This option cannot be used with `legend_fields_to_hide`.
         * 
         * @return builder
         * 
         */
        public Builder legendOptionsFields(List legendOptionsFields) {
            return legendOptionsFields(Output.of(legendOptionsFields));
        }

        /**
         * @param legendOptionsFields List of property names and enabled flags that should be displayed in the data table for the chart, in the order provided. This option cannot be used with `legend_fields_to_hide`.
         * 
         * @return builder
         * 
         */
        public Builder legendOptionsFields(TimeChartLegendOptionsFieldArgs... legendOptionsFields) {
            return legendOptionsFields(List.of(legendOptionsFields));
        }

        /**
         * @param maxDelay How long (in seconds) to wait for late datapoints.
         * 
         * @return builder
         * 
         */
        public Builder maxDelay(@Nullable Output maxDelay) {
            $.maxDelay = maxDelay;
            return this;
        }

        /**
         * @param maxDelay How long (in seconds) to wait for late datapoints.
         * 
         * @return builder
         * 
         */
        public Builder maxDelay(Integer maxDelay) {
            return maxDelay(Output.of(maxDelay));
        }

        /**
         * @param minimumResolution The minimum resolution (in seconds) to use for computing the underlying program.
         * 
         * @return builder
         * 
         */
        public Builder minimumResolution(@Nullable Output minimumResolution) {
            $.minimumResolution = minimumResolution;
            return this;
        }

        /**
         * @param minimumResolution The minimum resolution (in seconds) to use for computing the underlying program.
         * 
         * @return builder
         * 
         */
        public Builder minimumResolution(Integer minimumResolution) {
            return minimumResolution(Output.of(minimumResolution));
        }

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

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

        /**
         * @param onChartLegendDimension Dimensions to show in the on-chart legend. On-chart legend is off unless a dimension is specified. Allowed: `"metric"`, `"plot_label"` and any dimension.
         * 
         * @return builder
         * 
         */
        public Builder onChartLegendDimension(@Nullable Output onChartLegendDimension) {
            $.onChartLegendDimension = onChartLegendDimension;
            return this;
        }

        /**
         * @param onChartLegendDimension Dimensions to show in the on-chart legend. On-chart legend is off unless a dimension is specified. Allowed: `"metric"`, `"plot_label"` and any dimension.
         * 
         * @return builder
         * 
         */
        public Builder onChartLegendDimension(String onChartLegendDimension) {
            return onChartLegendDimension(Output.of(onChartLegendDimension));
        }

        /**
         * @param plotType The default plot display style for the visualization. Must be `"LineChart"`, `"AreaChart"`, `"ColumnChart"`, or `"Histogram"`. Default: `"LineChart"`.
         * 
         * @return builder
         * 
         */
        public Builder plotType(@Nullable Output plotType) {
            $.plotType = plotType;
            return this;
        }

        /**
         * @param plotType The default plot display style for the visualization. Must be `"LineChart"`, `"AreaChart"`, `"ColumnChart"`, or `"Histogram"`. Default: `"LineChart"`.
         * 
         * @return builder
         * 
         */
        public Builder plotType(String plotType) {
            return plotType(Output.of(plotType));
        }

        /**
         * @param programText Signalflow program text for the chart. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
         * 
         * @return builder
         * 
         */
        public Builder programText(Output programText) {
            $.programText = programText;
            return this;
        }

        /**
         * @param programText Signalflow program text for the chart. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
         * 
         * @return builder
         * 
         */
        public Builder programText(String programText) {
            return programText(Output.of(programText));
        }

        /**
         * @param showDataMarkers Show markers (circles) for each datapoint used to draw line or area charts. `false` by default.
         * 
         * @return builder
         * 
         */
        public Builder showDataMarkers(@Nullable Output showDataMarkers) {
            $.showDataMarkers = showDataMarkers;
            return this;
        }

        /**
         * @param showDataMarkers Show markers (circles) for each datapoint used to draw line or area charts. `false` by default.
         * 
         * @return builder
         * 
         */
        public Builder showDataMarkers(Boolean showDataMarkers) {
            return showDataMarkers(Output.of(showDataMarkers));
        }

        /**
         * @param showEventLines Whether vertical highlight lines should be drawn in the visualizations at times when events occurred. `false` by default.
         * 
         * @return builder
         * 
         */
        public Builder showEventLines(@Nullable Output showEventLines) {
            $.showEventLines = showEventLines;
            return this;
        }

        /**
         * @param showEventLines Whether vertical highlight lines should be drawn in the visualizations at times when events occurred. `false` by default.
         * 
         * @return builder
         * 
         */
        public Builder showEventLines(Boolean showEventLines) {
            return showEventLines(Output.of(showEventLines));
        }

        /**
         * @param stacked Whether area and bar charts in the visualization should be stacked. `false` by default.
         * 
         * @return builder
         * 
         */
        public Builder stacked(@Nullable Output stacked) {
            $.stacked = stacked;
            return this;
        }

        /**
         * @param stacked Whether area and bar charts in the visualization should be stacked. `false` by default.
         * 
         * @return builder
         * 
         */
        public Builder stacked(Boolean stacked) {
            return stacked(Output.of(stacked));
        }

        /**
         * @param startTime Seconds since epoch. Used for visualization. Conflicts with `time_range`.
         * 
         * @return builder
         * 
         */
        public Builder startTime(@Nullable Output startTime) {
            $.startTime = startTime;
            return this;
        }

        /**
         * @param startTime Seconds since epoch. Used for visualization. Conflicts with `time_range`.
         * 
         * @return builder
         * 
         */
        public Builder startTime(Integer startTime) {
            return startTime(Output.of(startTime));
        }

        /**
         * @param tags Tags associated with the chart
         * 
         * @return builder
         * 
         * @deprecated
         * signalfx_time_chart.tags is being removed in the next release
         * 
         */
        @Deprecated /* signalfx_time_chart.tags is being removed in the next release */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Tags associated with the chart
         * 
         * @return builder
         * 
         * @deprecated
         * signalfx_time_chart.tags is being removed in the next release
         * 
         */
        @Deprecated /* signalfx_time_chart.tags is being removed in the next release */
        public Builder tags(List tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tags Tags associated with the chart
         * 
         * @return builder
         * 
         * @deprecated
         * signalfx_time_chart.tags is being removed in the next release
         * 
         */
        @Deprecated /* signalfx_time_chart.tags is being removed in the next release */
        public Builder tags(String... tags) {
            return tags(List.of(tags));
        }

        /**
         * @param timeRange How many seconds ago from which to display data. For example, the last hour would be `3600`, etc. Conflicts with `start_time` and `end_time`.
         * 
         * @return builder
         * 
         */
        public Builder timeRange(@Nullable Output timeRange) {
            $.timeRange = timeRange;
            return this;
        }

        /**
         * @param timeRange How many seconds ago from which to display data. For example, the last hour would be `3600`, etc. Conflicts with `start_time` and `end_time`.
         * 
         * @return builder
         * 
         */
        public Builder timeRange(Integer timeRange) {
            return timeRange(Output.of(timeRange));
        }

        /**
         * @param timezone Time zone that SignalFlow uses as the basis of calendar window transformation methods. For example, if you set "timezone": "Europe/Paris" and then use the transformation sum(cycle="week", cycle_start="Monday") in your chart's SignalFlow program, the calendar window starts on Monday, Paris time. See the [full list of timezones for more](https://dev.splunk.com/observability/docs/signalflow/). `"UTC"` by default.
         * 
         * @return builder
         * 
         */
        public Builder timezone(@Nullable Output timezone) {
            $.timezone = timezone;
            return this;
        }

        /**
         * @param timezone Time zone that SignalFlow uses as the basis of calendar window transformation methods. For example, if you set "timezone": "Europe/Paris" and then use the transformation sum(cycle="week", cycle_start="Monday") in your chart's SignalFlow program, the calendar window starts on Monday, Paris time. See the [full list of timezones for more](https://dev.splunk.com/observability/docs/signalflow/). `"UTC"` by default.
         * 
         * @return builder
         * 
         */
        public Builder timezone(String timezone) {
            return timezone(Output.of(timezone));
        }

        /**
         * @param unitPrefix Must be `"Metric"` or `"Binary`". `"Metric"` by default.
         * 
         * @return builder
         * 
         */
        public Builder unitPrefix(@Nullable Output unitPrefix) {
            $.unitPrefix = unitPrefix;
            return this;
        }

        /**
         * @param unitPrefix Must be `"Metric"` or `"Binary`". `"Metric"` by default.
         * 
         * @return builder
         * 
         */
        public Builder unitPrefix(String unitPrefix) {
            return unitPrefix(Output.of(unitPrefix));
        }

        /**
         * @param vizOptions Plot-level customization options, associated with a publish statement.
         * 
         * @return builder
         * 
         */
        public Builder vizOptions(@Nullable Output> vizOptions) {
            $.vizOptions = vizOptions;
            return this;
        }

        /**
         * @param vizOptions Plot-level customization options, associated with a publish statement.
         * 
         * @return builder
         * 
         */
        public Builder vizOptions(List vizOptions) {
            return vizOptions(Output.of(vizOptions));
        }

        /**
         * @param vizOptions Plot-level customization options, associated with a publish statement.
         * 
         * @return builder
         * 
         */
        public Builder vizOptions(TimeChartVizOptionArgs... vizOptions) {
            return vizOptions(List.of(vizOptions));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy