All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azure.monitoring.inputs.MetricAlertDynamicCriteriaArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** 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.azure.monitoring.inputs;
import com.pulumi.azure.monitoring.inputs.MetricAlertDynamicCriteriaDimensionArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 MetricAlertDynamicCriteriaArgs extends com.pulumi.resources.ResourceArgs {
public static final MetricAlertDynamicCriteriaArgs Empty = new MetricAlertDynamicCriteriaArgs();
/**
* The statistic that runs over the metric values. Possible values are `Average`, `Count`, `Minimum`, `Maximum` and `Total`.
*
*/
@Import(name="aggregation", required=true)
private Output aggregation;
/**
* @return The statistic that runs over the metric values. Possible values are `Average`, `Count`, `Minimum`, `Maximum` and `Total`.
*
*/
public Output aggregation() {
return this.aggregation;
}
/**
* The extent of deviation required to trigger an alert. Possible values are `Low`, `Medium` and `High`.
*
*/
@Import(name="alertSensitivity", required=true)
private Output alertSensitivity;
/**
* @return The extent of deviation required to trigger an alert. Possible values are `Low`, `Medium` and `High`.
*
*/
public Output alertSensitivity() {
return this.alertSensitivity;
}
/**
* One or more `dimension` blocks as defined below.
*
*/
@Import(name="dimensions")
private @Nullable Output> dimensions;
/**
* @return One or more `dimension` blocks as defined below.
*
*/
public Optional>> dimensions() {
return Optional.ofNullable(this.dimensions);
}
/**
* The number of violations to trigger an alert. Should be smaller or equal to `evaluation_total_count`. Defaults to `4`.
*
*/
@Import(name="evaluationFailureCount")
private @Nullable Output evaluationFailureCount;
/**
* @return The number of violations to trigger an alert. Should be smaller or equal to `evaluation_total_count`. Defaults to `4`.
*
*/
public Optional> evaluationFailureCount() {
return Optional.ofNullable(this.evaluationFailureCount);
}
/**
* The number of aggregated lookback points. The lookback time window is calculated based on the aggregation granularity (`window_size`) and the selected number of aggregated points. Defaults to `4`.
*
*/
@Import(name="evaluationTotalCount")
private @Nullable Output evaluationTotalCount;
/**
* @return The number of aggregated lookback points. The lookback time window is calculated based on the aggregation granularity (`window_size`) and the selected number of aggregated points. Defaults to `4`.
*
*/
public Optional> evaluationTotalCount() {
return Optional.ofNullable(this.evaluationTotalCount);
}
/**
* The [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date from which to start learning the metric historical data and calculate the dynamic thresholds.
*
*/
@Import(name="ignoreDataBefore")
private @Nullable Output ignoreDataBefore;
/**
* @return The [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date from which to start learning the metric historical data and calculate the dynamic thresholds.
*
*/
public Optional> ignoreDataBefore() {
return Optional.ofNullable(this.ignoreDataBefore);
}
/**
* One of the metric names to be monitored.
*
*/
@Import(name="metricName", required=true)
private Output metricName;
/**
* @return One of the metric names to be monitored.
*
*/
public Output metricName() {
return this.metricName;
}
/**
* One of the metric namespaces to be monitored.
*
*/
@Import(name="metricNamespace", required=true)
private Output metricNamespace;
/**
* @return One of the metric namespaces to be monitored.
*
*/
public Output metricNamespace() {
return this.metricNamespace;
}
/**
* The criteria operator. Possible values are `LessThan`, `GreaterThan` and `GreaterOrLessThan`.
*
*/
@Import(name="operator", required=true)
private Output operator;
/**
* @return The criteria operator. Possible values are `LessThan`, `GreaterThan` and `GreaterOrLessThan`.
*
*/
public Output operator() {
return this.operator;
}
/**
* Skip the metric validation to allow creating an alert rule on a custom metric that isn't yet emitted?
*
*/
@Import(name="skipMetricValidation")
private @Nullable Output skipMetricValidation;
/**
* @return Skip the metric validation to allow creating an alert rule on a custom metric that isn't yet emitted?
*
*/
public Optional> skipMetricValidation() {
return Optional.ofNullable(this.skipMetricValidation);
}
private MetricAlertDynamicCriteriaArgs() {}
private MetricAlertDynamicCriteriaArgs(MetricAlertDynamicCriteriaArgs $) {
this.aggregation = $.aggregation;
this.alertSensitivity = $.alertSensitivity;
this.dimensions = $.dimensions;
this.evaluationFailureCount = $.evaluationFailureCount;
this.evaluationTotalCount = $.evaluationTotalCount;
this.ignoreDataBefore = $.ignoreDataBefore;
this.metricName = $.metricName;
this.metricNamespace = $.metricNamespace;
this.operator = $.operator;
this.skipMetricValidation = $.skipMetricValidation;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(MetricAlertDynamicCriteriaArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private MetricAlertDynamicCriteriaArgs $;
public Builder() {
$ = new MetricAlertDynamicCriteriaArgs();
}
public Builder(MetricAlertDynamicCriteriaArgs defaults) {
$ = new MetricAlertDynamicCriteriaArgs(Objects.requireNonNull(defaults));
}
/**
* @param aggregation The statistic that runs over the metric values. Possible values are `Average`, `Count`, `Minimum`, `Maximum` and `Total`.
*
* @return builder
*
*/
public Builder aggregation(Output aggregation) {
$.aggregation = aggregation;
return this;
}
/**
* @param aggregation The statistic that runs over the metric values. Possible values are `Average`, `Count`, `Minimum`, `Maximum` and `Total`.
*
* @return builder
*
*/
public Builder aggregation(String aggregation) {
return aggregation(Output.of(aggregation));
}
/**
* @param alertSensitivity The extent of deviation required to trigger an alert. Possible values are `Low`, `Medium` and `High`.
*
* @return builder
*
*/
public Builder alertSensitivity(Output alertSensitivity) {
$.alertSensitivity = alertSensitivity;
return this;
}
/**
* @param alertSensitivity The extent of deviation required to trigger an alert. Possible values are `Low`, `Medium` and `High`.
*
* @return builder
*
*/
public Builder alertSensitivity(String alertSensitivity) {
return alertSensitivity(Output.of(alertSensitivity));
}
/**
* @param dimensions One or more `dimension` blocks as defined below.
*
* @return builder
*
*/
public Builder dimensions(@Nullable Output> dimensions) {
$.dimensions = dimensions;
return this;
}
/**
* @param dimensions One or more `dimension` blocks as defined below.
*
* @return builder
*
*/
public Builder dimensions(List dimensions) {
return dimensions(Output.of(dimensions));
}
/**
* @param dimensions One or more `dimension` blocks as defined below.
*
* @return builder
*
*/
public Builder dimensions(MetricAlertDynamicCriteriaDimensionArgs... dimensions) {
return dimensions(List.of(dimensions));
}
/**
* @param evaluationFailureCount The number of violations to trigger an alert. Should be smaller or equal to `evaluation_total_count`. Defaults to `4`.
*
* @return builder
*
*/
public Builder evaluationFailureCount(@Nullable Output evaluationFailureCount) {
$.evaluationFailureCount = evaluationFailureCount;
return this;
}
/**
* @param evaluationFailureCount The number of violations to trigger an alert. Should be smaller or equal to `evaluation_total_count`. Defaults to `4`.
*
* @return builder
*
*/
public Builder evaluationFailureCount(Integer evaluationFailureCount) {
return evaluationFailureCount(Output.of(evaluationFailureCount));
}
/**
* @param evaluationTotalCount The number of aggregated lookback points. The lookback time window is calculated based on the aggregation granularity (`window_size`) and the selected number of aggregated points. Defaults to `4`.
*
* @return builder
*
*/
public Builder evaluationTotalCount(@Nullable Output evaluationTotalCount) {
$.evaluationTotalCount = evaluationTotalCount;
return this;
}
/**
* @param evaluationTotalCount The number of aggregated lookback points. The lookback time window is calculated based on the aggregation granularity (`window_size`) and the selected number of aggregated points. Defaults to `4`.
*
* @return builder
*
*/
public Builder evaluationTotalCount(Integer evaluationTotalCount) {
return evaluationTotalCount(Output.of(evaluationTotalCount));
}
/**
* @param ignoreDataBefore The [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date from which to start learning the metric historical data and calculate the dynamic thresholds.
*
* @return builder
*
*/
public Builder ignoreDataBefore(@Nullable Output ignoreDataBefore) {
$.ignoreDataBefore = ignoreDataBefore;
return this;
}
/**
* @param ignoreDataBefore The [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date from which to start learning the metric historical data and calculate the dynamic thresholds.
*
* @return builder
*
*/
public Builder ignoreDataBefore(String ignoreDataBefore) {
return ignoreDataBefore(Output.of(ignoreDataBefore));
}
/**
* @param metricName One of the metric names to be monitored.
*
* @return builder
*
*/
public Builder metricName(Output metricName) {
$.metricName = metricName;
return this;
}
/**
* @param metricName One of the metric names to be monitored.
*
* @return builder
*
*/
public Builder metricName(String metricName) {
return metricName(Output.of(metricName));
}
/**
* @param metricNamespace One of the metric namespaces to be monitored.
*
* @return builder
*
*/
public Builder metricNamespace(Output metricNamespace) {
$.metricNamespace = metricNamespace;
return this;
}
/**
* @param metricNamespace One of the metric namespaces to be monitored.
*
* @return builder
*
*/
public Builder metricNamespace(String metricNamespace) {
return metricNamespace(Output.of(metricNamespace));
}
/**
* @param operator The criteria operator. Possible values are `LessThan`, `GreaterThan` and `GreaterOrLessThan`.
*
* @return builder
*
*/
public Builder operator(Output operator) {
$.operator = operator;
return this;
}
/**
* @param operator The criteria operator. Possible values are `LessThan`, `GreaterThan` and `GreaterOrLessThan`.
*
* @return builder
*
*/
public Builder operator(String operator) {
return operator(Output.of(operator));
}
/**
* @param skipMetricValidation Skip the metric validation to allow creating an alert rule on a custom metric that isn't yet emitted?
*
* @return builder
*
*/
public Builder skipMetricValidation(@Nullable Output skipMetricValidation) {
$.skipMetricValidation = skipMetricValidation;
return this;
}
/**
* @param skipMetricValidation Skip the metric validation to allow creating an alert rule on a custom metric that isn't yet emitted?
*
* @return builder
*
*/
public Builder skipMetricValidation(Boolean skipMetricValidation) {
return skipMetricValidation(Output.of(skipMetricValidation));
}
public MetricAlertDynamicCriteriaArgs build() {
if ($.aggregation == null) {
throw new MissingRequiredPropertyException("MetricAlertDynamicCriteriaArgs", "aggregation");
}
if ($.alertSensitivity == null) {
throw new MissingRequiredPropertyException("MetricAlertDynamicCriteriaArgs", "alertSensitivity");
}
if ($.metricName == null) {
throw new MissingRequiredPropertyException("MetricAlertDynamicCriteriaArgs", "metricName");
}
if ($.metricNamespace == null) {
throw new MissingRequiredPropertyException("MetricAlertDynamicCriteriaArgs", "metricNamespace");
}
if ($.operator == null) {
throw new MissingRequiredPropertyException("MetricAlertDynamicCriteriaArgs", "operator");
}
return $;
}
}
}