@cdktf/provider-newrelic
Version:
Prebuilt newrelic Provider for Terraform CDK (cdktf)
842 lines (841 loc) • 46.4 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface NrqlAlertConditionConfig extends cdktf.TerraformMetaArguments {
/**
* The New Relic account ID for managing your NRQL alert conditions.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#account_id NrqlAlertCondition#account_id}
*/
readonly accountId?: number;
/**
* How long we wait for data that belongs in each aggregation window. Depending on your data, a longer delay may increase accuracy but delay notifications. Use aggregationDelay with the EVENT_FLOW and CADENCE aggregation methods.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#aggregation_delay NrqlAlertCondition#aggregation_delay}
*/
readonly aggregationDelay?: string;
/**
* The method that determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Default is EVENT_FLOW.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#aggregation_method NrqlAlertCondition#aggregation_method}
*/
readonly aggregationMethod?: string;
/**
* How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregationTimer with the EVENT_TIMER aggregation method.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#aggregation_timer NrqlAlertCondition#aggregation_timer}
*/
readonly aggregationTimer?: string;
/**
* The duration of the time window used to evaluate the NRQL query, in seconds.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#aggregation_window NrqlAlertCondition#aggregation_window}
*/
readonly aggregationWindow?: number;
/**
* The baseline direction of a baseline NRQL alert condition. Valid values are: 'LOWER_ONLY', 'UPPER_AND_LOWER', 'UPPER_ONLY' (case insensitive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#baseline_direction NrqlAlertCondition#baseline_direction}
*/
readonly baselineDirection?: string;
/**
* Whether to close all open incidents when the signal expires.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#close_violations_on_expiration NrqlAlertCondition#close_violations_on_expiration}
*/
readonly closeViolationsOnExpiration?: boolean | cdktf.IResolvable;
/**
* The description of the NRQL alert condition.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#description NrqlAlertCondition#description}
*/
readonly description?: string;
/**
* Whether or not to enable the alert condition.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#enabled NrqlAlertCondition#enabled}
*/
readonly enabled?: boolean | cdktf.IResolvable;
/**
* How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes)
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#evaluation_delay NrqlAlertCondition#evaluation_delay}
*/
readonly evaluationDelay?: number;
/**
* The amount of time (in seconds) to wait before considering the signal expired. Must be in the range of 30 to 172800 (inclusive)
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#expiration_duration NrqlAlertCondition#expiration_duration}
*/
readonly expirationDuration?: number;
/**
* Which strategy to use when filling gaps in the signal. If static, the 'fill value' will be used for filling gaps in the signal. Valid values are: 'NONE', 'LAST_VALUE', or 'STATIC' (case insensitive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#fill_option NrqlAlertCondition#fill_option}
*/
readonly fillOption?: string;
/**
* If using the 'static' fill option, this value will be used for filling gaps in the signal.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#fill_value NrqlAlertCondition#fill_value}
*/
readonly fillValue?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#id NrqlAlertCondition#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Whether to ignore expected termination of a signal when considering whether to create a loss of signal incident
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#ignore_on_expected_termination NrqlAlertCondition#ignore_on_expected_termination}
*/
readonly ignoreOnExpectedTermination?: boolean | cdktf.IResolvable;
/**
* The title of the condition.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#name NrqlAlertCondition#name}
*/
readonly name: string;
/**
* Whether to create a new incident to capture that the signal expired.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#open_violation_on_expiration NrqlAlertCondition#open_violation_on_expiration}
*/
readonly openViolationOnExpiration?: boolean | cdktf.IResolvable;
/**
* The ID of the policy where this condition should be used.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#policy_id NrqlAlertCondition#policy_id}
*/
readonly policyId: number;
/**
* Runbook URL to display in notifications.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#runbook_url NrqlAlertCondition#runbook_url}
*/
readonly runbookUrl?: string;
/**
* The duration of overlapping time windows used to smooth the chart line, in seconds. Must be a factor of `aggregation_window` and less than the aggregation window. If `aggregation_window` is less than or equal to 3600 seconds, it should be greater or equal to 30 seconds. If `aggregation_window` is greater than 3600 seconds but less than 7200 seconds, it should be greater or equal to `aggregation_window / 120`. If `aggregation_window` is greater than 7200 seconds, it should be greater or equal to `aggregation_window / 24
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#slide_by NrqlAlertCondition#slide_by}
*/
readonly slideBy?: number;
/**
* This field allows you to create a custom title to be used when incidents are opened by the condition. Setting this field will override the default title. Must be Handlebars format.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#title_template NrqlAlertCondition#title_template}
*/
readonly titleTemplate?: string;
/**
* The type of NRQL alert condition to create. Valid values are: 'static', 'baseline'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#type NrqlAlertCondition#type}
*/
readonly type?: string;
/**
* Sets a time limit, in hours, that will automatically force-close a long-lasting incident after the time limit you select. Possible values are 'ONE_HOUR', 'TWO_HOURS', 'FOUR_HOURS', 'EIGHT_HOURS', 'TWELVE_HOURS', 'TWENTY_FOUR_HOURS', 'THIRTY_DAYS' (case insensitive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#violation_time_limit NrqlAlertCondition#violation_time_limit}
*/
readonly violationTimeLimit?: string;
/**
* Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. Must be in the range of 300 to 2592000 (inclusive)
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#violation_time_limit_seconds NrqlAlertCondition#violation_time_limit_seconds}
*/
readonly violationTimeLimitSeconds?: number;
/**
* critical block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#critical NrqlAlertCondition#critical}
*/
readonly critical?: NrqlAlertConditionCritical;
/**
* nrql block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#nrql NrqlAlertCondition#nrql}
*/
readonly nrql: NrqlAlertConditionNrql;
/**
* term block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#term NrqlAlertCondition#term}
*/
readonly term?: NrqlAlertConditionTerm[] | cdktf.IResolvable;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#timeouts NrqlAlertCondition#timeouts}
*/
readonly timeouts?: NrqlAlertConditionTimeouts;
/**
* warning block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#warning NrqlAlertCondition#warning}
*/
readonly warning?: NrqlAlertConditionWarning;
}
export interface NrqlAlertConditionCriticalPrediction {
/**
* BETA PREVIEW: the `predict_by` field is in limited release and only enabled for preview on a per-account basis. - The duration, in seconds, that the prediction should look into the future.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#predict_by NrqlAlertCondition#predict_by}
*/
readonly predictBy?: number;
/**
* BETA PREVIEW: the `prefer_prediction_violation` field is in limited release and only enabled for preview on a per-account basis. - If a prediction incident is open when a term's static threshold is breached by the actual signal, default behavior is to close the prediction incident and open a static incident. Setting `prefer_prediction_violation` to `true` overrides this behavior leaving the prediction incident open and preventing a static incident from opening.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#prefer_prediction_violation NrqlAlertCondition#prefer_prediction_violation}
*/
readonly preferPredictionViolation?: boolean | cdktf.IResolvable;
}
export declare function nrqlAlertConditionCriticalPredictionToTerraform(struct?: NrqlAlertConditionCriticalPredictionOutputReference | NrqlAlertConditionCriticalPrediction): any;
export declare function nrqlAlertConditionCriticalPredictionToHclTerraform(struct?: NrqlAlertConditionCriticalPredictionOutputReference | NrqlAlertConditionCriticalPrediction): any;
export declare class NrqlAlertConditionCriticalPredictionOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): NrqlAlertConditionCriticalPrediction | undefined;
set internalValue(value: NrqlAlertConditionCriticalPrediction | undefined);
private _predictBy?;
get predictBy(): number;
set predictBy(value: number);
resetPredictBy(): void;
get predictByInput(): number | undefined;
private _preferPredictionViolation?;
get preferPredictionViolation(): boolean | cdktf.IResolvable;
set preferPredictionViolation(value: boolean | cdktf.IResolvable);
resetPreferPredictionViolation(): void;
get preferPredictionViolationInput(): boolean | cdktf.IResolvable | undefined;
}
export interface NrqlAlertConditionCritical {
/**
* In minutes, must be in the range of 1 to 120 (inclusive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#duration NrqlAlertCondition#duration}
*/
readonly duration?: number;
/**
* One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#operator NrqlAlertCondition#operator}
*/
readonly operator?: string;
/**
* For baseline conditions must be in range [1, 1000].
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#threshold NrqlAlertCondition#threshold}
*/
readonly threshold: number;
/**
* The duration, in seconds, that the threshold must violate in order to create an incident. Value must be a multiple of the 'aggregation_window' (which has a default of 60 seconds). Value must be within 120-86400 seconds for baseline conditions, and within 60-86400 seconds for static conditions
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#threshold_duration NrqlAlertCondition#threshold_duration}
*/
readonly thresholdDuration?: number;
/**
* The criteria for how many data points must be in violation for the specified threshold duration. Valid values are: 'ALL' or 'AT_LEAST_ONCE' (case insensitive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#threshold_occurrences NrqlAlertCondition#threshold_occurrences}
*/
readonly thresholdOccurrences?: string;
/**
* Valid values are: 'all' or 'any'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#time_function NrqlAlertCondition#time_function}
*/
readonly timeFunction?: string;
/**
* prediction block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#prediction NrqlAlertCondition#prediction}
*/
readonly prediction?: NrqlAlertConditionCriticalPrediction;
}
export declare function nrqlAlertConditionCriticalToTerraform(struct?: NrqlAlertConditionCriticalOutputReference | NrqlAlertConditionCritical): any;
export declare function nrqlAlertConditionCriticalToHclTerraform(struct?: NrqlAlertConditionCriticalOutputReference | NrqlAlertConditionCritical): any;
export declare class NrqlAlertConditionCriticalOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): NrqlAlertConditionCritical | undefined;
set internalValue(value: NrqlAlertConditionCritical | undefined);
private _duration?;
get duration(): number;
set duration(value: number);
resetDuration(): void;
get durationInput(): number | undefined;
private _operator?;
get operator(): string;
set operator(value: string);
resetOperator(): void;
get operatorInput(): string | undefined;
private _threshold?;
get threshold(): number;
set threshold(value: number);
get thresholdInput(): number | undefined;
private _thresholdDuration?;
get thresholdDuration(): number;
set thresholdDuration(value: number);
resetThresholdDuration(): void;
get thresholdDurationInput(): number | undefined;
private _thresholdOccurrences?;
get thresholdOccurrences(): string;
set thresholdOccurrences(value: string);
resetThresholdOccurrences(): void;
get thresholdOccurrencesInput(): string | undefined;
private _timeFunction?;
get timeFunction(): string;
set timeFunction(value: string);
resetTimeFunction(): void;
get timeFunctionInput(): string | undefined;
private _prediction;
get prediction(): NrqlAlertConditionCriticalPredictionOutputReference;
putPrediction(value: NrqlAlertConditionCriticalPrediction): void;
resetPrediction(): void;
get predictionInput(): NrqlAlertConditionCriticalPrediction | undefined;
}
export interface NrqlAlertConditionNrql {
/**
* The New Relic account ID to use as the basis for the NRQL alert condition's `query`; will default to `account_id` if unspecified.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#data_account_id NrqlAlertCondition#data_account_id}
*/
readonly dataAccountId?: number;
/**
* NRQL queries are evaluated in one-minute time windows. The start time depends on the value you provide in the NRQL condition's `evaluation_offset`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#evaluation_offset NrqlAlertCondition#evaluation_offset}
*/
readonly evaluationOffset?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#query NrqlAlertCondition#query}
*/
readonly query: string;
/**
* NRQL queries are evaluated in one-minute time windows. The start time depends on the value you provide in the NRQL condition's `since_value`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#since_value NrqlAlertCondition#since_value}
*/
readonly sinceValue?: string;
}
export declare function nrqlAlertConditionNrqlToTerraform(struct?: NrqlAlertConditionNrqlOutputReference | NrqlAlertConditionNrql): any;
export declare function nrqlAlertConditionNrqlToHclTerraform(struct?: NrqlAlertConditionNrqlOutputReference | NrqlAlertConditionNrql): any;
export declare class NrqlAlertConditionNrqlOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): NrqlAlertConditionNrql | undefined;
set internalValue(value: NrqlAlertConditionNrql | undefined);
private _dataAccountId?;
get dataAccountId(): number;
set dataAccountId(value: number);
resetDataAccountId(): void;
get dataAccountIdInput(): number | undefined;
private _evaluationOffset?;
get evaluationOffset(): number;
set evaluationOffset(value: number);
resetEvaluationOffset(): void;
get evaluationOffsetInput(): number | undefined;
private _query?;
get query(): string;
set query(value: string);
get queryInput(): string | undefined;
private _sinceValue?;
get sinceValue(): string;
set sinceValue(value: string);
resetSinceValue(): void;
get sinceValueInput(): string | undefined;
}
export interface NrqlAlertConditionTermPrediction {
/**
* BETA PREVIEW: the `predict_by` field is in limited release and only enabled for preview on a per-account basis. - The duration, in seconds, that the prediction should look into the future.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#predict_by NrqlAlertCondition#predict_by}
*/
readonly predictBy?: number;
/**
* BETA PREVIEW: the `prefer_prediction_violation` field is in limited release and only enabled for preview on a per-account basis. - If a prediction incident is open when a term's static threshold is breached by the actual signal, default behavior is to close the prediction incident and open a static incident. Setting `prefer_prediction_violation` to `true` overrides this behavior leaving the prediction incident open and preventing a static incident from opening.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#prefer_prediction_violation NrqlAlertCondition#prefer_prediction_violation}
*/
readonly preferPredictionViolation?: boolean | cdktf.IResolvable;
}
export declare function nrqlAlertConditionTermPredictionToTerraform(struct?: NrqlAlertConditionTermPredictionOutputReference | NrqlAlertConditionTermPrediction): any;
export declare function nrqlAlertConditionTermPredictionToHclTerraform(struct?: NrqlAlertConditionTermPredictionOutputReference | NrqlAlertConditionTermPrediction): any;
export declare class NrqlAlertConditionTermPredictionOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): NrqlAlertConditionTermPrediction | undefined;
set internalValue(value: NrqlAlertConditionTermPrediction | undefined);
private _predictBy?;
get predictBy(): number;
set predictBy(value: number);
resetPredictBy(): void;
get predictByInput(): number | undefined;
private _preferPredictionViolation?;
get preferPredictionViolation(): boolean | cdktf.IResolvable;
set preferPredictionViolation(value: boolean | cdktf.IResolvable);
resetPreferPredictionViolation(): void;
get preferPredictionViolationInput(): boolean | cdktf.IResolvable | undefined;
}
export interface NrqlAlertConditionTerm {
/**
* In minutes, must be in the range of 1 to 120 (inclusive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#duration NrqlAlertCondition#duration}
*/
readonly duration?: number;
/**
* One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#operator NrqlAlertCondition#operator}
*/
readonly operator?: string;
/**
* One of (critical, warning). Defaults to 'critical'. At least one condition term must have priority set to 'critical'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#priority NrqlAlertCondition#priority}
*/
readonly priority?: string;
/**
* For baseline conditions must be in range [1, 1000].
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#threshold NrqlAlertCondition#threshold}
*/
readonly threshold: number;
/**
* The duration, in seconds, that the threshold must violate in order to create an incident. Value must be a multiple of the 'aggregation_window' (which has a default of 60 seconds). Value must be within 120-86400 seconds for baseline conditions, and within 60-86400 seconds for static conditions
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#threshold_duration NrqlAlertCondition#threshold_duration}
*/
readonly thresholdDuration?: number;
/**
* The criteria for how many data points must be in violation for the specified threshold duration. Valid values are: 'ALL' or 'AT_LEAST_ONCE' (case insensitive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#threshold_occurrences NrqlAlertCondition#threshold_occurrences}
*/
readonly thresholdOccurrences?: string;
/**
* Valid values are: 'all' or 'any'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#time_function NrqlAlertCondition#time_function}
*/
readonly timeFunction?: string;
/**
* prediction block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#prediction NrqlAlertCondition#prediction}
*/
readonly prediction?: NrqlAlertConditionTermPrediction;
}
export declare function nrqlAlertConditionTermToTerraform(struct?: NrqlAlertConditionTerm | cdktf.IResolvable): any;
export declare function nrqlAlertConditionTermToHclTerraform(struct?: NrqlAlertConditionTerm | cdktf.IResolvable): any;
export declare class NrqlAlertConditionTermOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): NrqlAlertConditionTerm | cdktf.IResolvable | undefined;
set internalValue(value: NrqlAlertConditionTerm | cdktf.IResolvable | undefined);
private _duration?;
get duration(): number;
set duration(value: number);
resetDuration(): void;
get durationInput(): number | undefined;
private _operator?;
get operator(): string;
set operator(value: string);
resetOperator(): void;
get operatorInput(): string | undefined;
private _priority?;
get priority(): string;
set priority(value: string);
resetPriority(): void;
get priorityInput(): string | undefined;
private _threshold?;
get threshold(): number;
set threshold(value: number);
get thresholdInput(): number | undefined;
private _thresholdDuration?;
get thresholdDuration(): number;
set thresholdDuration(value: number);
resetThresholdDuration(): void;
get thresholdDurationInput(): number | undefined;
private _thresholdOccurrences?;
get thresholdOccurrences(): string;
set thresholdOccurrences(value: string);
resetThresholdOccurrences(): void;
get thresholdOccurrencesInput(): string | undefined;
private _timeFunction?;
get timeFunction(): string;
set timeFunction(value: string);
resetTimeFunction(): void;
get timeFunctionInput(): string | undefined;
private _prediction;
get prediction(): NrqlAlertConditionTermPredictionOutputReference;
putPrediction(value: NrqlAlertConditionTermPrediction): void;
resetPrediction(): void;
get predictionInput(): NrqlAlertConditionTermPrediction | undefined;
}
export declare class NrqlAlertConditionTermList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: NrqlAlertConditionTerm[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): NrqlAlertConditionTermOutputReference;
}
export interface NrqlAlertConditionTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#create NrqlAlertCondition#create}
*/
readonly create?: string;
}
export declare function nrqlAlertConditionTimeoutsToTerraform(struct?: NrqlAlertConditionTimeouts | cdktf.IResolvable): any;
export declare function nrqlAlertConditionTimeoutsToHclTerraform(struct?: NrqlAlertConditionTimeouts | cdktf.IResolvable): any;
export declare class NrqlAlertConditionTimeoutsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): NrqlAlertConditionTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: NrqlAlertConditionTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
}
export interface NrqlAlertConditionWarningPrediction {
/**
* BETA PREVIEW: the `predict_by` field is in limited release and only enabled for preview on a per-account basis. - The duration, in seconds, that the prediction should look into the future.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#predict_by NrqlAlertCondition#predict_by}
*/
readonly predictBy?: number;
/**
* BETA PREVIEW: the `prefer_prediction_violation` field is in limited release and only enabled for preview on a per-account basis. - If a prediction incident is open when a term's static threshold is breached by the actual signal, default behavior is to close the prediction incident and open a static incident. Setting `prefer_prediction_violation` to `true` overrides this behavior leaving the prediction incident open and preventing a static incident from opening.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#prefer_prediction_violation NrqlAlertCondition#prefer_prediction_violation}
*/
readonly preferPredictionViolation?: boolean | cdktf.IResolvable;
}
export declare function nrqlAlertConditionWarningPredictionToTerraform(struct?: NrqlAlertConditionWarningPredictionOutputReference | NrqlAlertConditionWarningPrediction): any;
export declare function nrqlAlertConditionWarningPredictionToHclTerraform(struct?: NrqlAlertConditionWarningPredictionOutputReference | NrqlAlertConditionWarningPrediction): any;
export declare class NrqlAlertConditionWarningPredictionOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): NrqlAlertConditionWarningPrediction | undefined;
set internalValue(value: NrqlAlertConditionWarningPrediction | undefined);
private _predictBy?;
get predictBy(): number;
set predictBy(value: number);
resetPredictBy(): void;
get predictByInput(): number | undefined;
private _preferPredictionViolation?;
get preferPredictionViolation(): boolean | cdktf.IResolvable;
set preferPredictionViolation(value: boolean | cdktf.IResolvable);
resetPreferPredictionViolation(): void;
get preferPredictionViolationInput(): boolean | cdktf.IResolvable | undefined;
}
export interface NrqlAlertConditionWarning {
/**
* In minutes, must be in the range of 1 to 120 (inclusive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#duration NrqlAlertCondition#duration}
*/
readonly duration?: number;
/**
* One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#operator NrqlAlertCondition#operator}
*/
readonly operator?: string;
/**
* For baseline conditions must be in range [1, 1000].
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#threshold NrqlAlertCondition#threshold}
*/
readonly threshold: number;
/**
* The duration, in seconds, that the threshold must violate in order to create an incident. Value must be a multiple of the 'aggregation_window' (which has a default of 60 seconds). Value must be within 120-86400 seconds for baseline conditions, and within 60-86400 seconds for static conditions
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#threshold_duration NrqlAlertCondition#threshold_duration}
*/
readonly thresholdDuration?: number;
/**
* The criteria for how many data points must be in violation for the specified threshold duration. Valid values are: 'ALL' or 'AT_LEAST_ONCE' (case insensitive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#threshold_occurrences NrqlAlertCondition#threshold_occurrences}
*/
readonly thresholdOccurrences?: string;
/**
* Valid values are: 'all' or 'any'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#time_function NrqlAlertCondition#time_function}
*/
readonly timeFunction?: string;
/**
* prediction block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#prediction NrqlAlertCondition#prediction}
*/
readonly prediction?: NrqlAlertConditionWarningPrediction;
}
export declare function nrqlAlertConditionWarningToTerraform(struct?: NrqlAlertConditionWarningOutputReference | NrqlAlertConditionWarning): any;
export declare function nrqlAlertConditionWarningToHclTerraform(struct?: NrqlAlertConditionWarningOutputReference | NrqlAlertConditionWarning): any;
export declare class NrqlAlertConditionWarningOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): NrqlAlertConditionWarning | undefined;
set internalValue(value: NrqlAlertConditionWarning | undefined);
private _duration?;
get duration(): number;
set duration(value: number);
resetDuration(): void;
get durationInput(): number | undefined;
private _operator?;
get operator(): string;
set operator(value: string);
resetOperator(): void;
get operatorInput(): string | undefined;
private _threshold?;
get threshold(): number;
set threshold(value: number);
get thresholdInput(): number | undefined;
private _thresholdDuration?;
get thresholdDuration(): number;
set thresholdDuration(value: number);
resetThresholdDuration(): void;
get thresholdDurationInput(): number | undefined;
private _thresholdOccurrences?;
get thresholdOccurrences(): string;
set thresholdOccurrences(value: string);
resetThresholdOccurrences(): void;
get thresholdOccurrencesInput(): string | undefined;
private _timeFunction?;
get timeFunction(): string;
set timeFunction(value: string);
resetTimeFunction(): void;
get timeFunctionInput(): string | undefined;
private _prediction;
get prediction(): NrqlAlertConditionWarningPredictionOutputReference;
putPrediction(value: NrqlAlertConditionWarningPrediction): void;
resetPrediction(): void;
get predictionInput(): NrqlAlertConditionWarningPrediction | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition newrelic_nrql_alert_condition}
*/
export declare class NrqlAlertCondition extends cdktf.TerraformResource {
static readonly tfResourceType = "newrelic_nrql_alert_condition";
/**
* Generates CDKTF code for importing a NrqlAlertCondition resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the NrqlAlertCondition to import
* @param importFromId The id of the existing NrqlAlertCondition that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the NrqlAlertCondition to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/nrql_alert_condition newrelic_nrql_alert_condition} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options NrqlAlertConditionConfig
*/
constructor(scope: Construct, id: string, config: NrqlAlertConditionConfig);
private _accountId?;
get accountId(): number;
set accountId(value: number);
resetAccountId(): void;
get accountIdInput(): number | undefined;
private _aggregationDelay?;
get aggregationDelay(): string;
set aggregationDelay(value: string);
resetAggregationDelay(): void;
get aggregationDelayInput(): string | undefined;
private _aggregationMethod?;
get aggregationMethod(): string;
set aggregationMethod(value: string);
resetAggregationMethod(): void;
get aggregationMethodInput(): string | undefined;
private _aggregationTimer?;
get aggregationTimer(): string;
set aggregationTimer(value: string);
resetAggregationTimer(): void;
get aggregationTimerInput(): string | undefined;
private _aggregationWindow?;
get aggregationWindow(): number;
set aggregationWindow(value: number);
resetAggregationWindow(): void;
get aggregationWindowInput(): number | undefined;
private _baselineDirection?;
get baselineDirection(): string;
set baselineDirection(value: string);
resetBaselineDirection(): void;
get baselineDirectionInput(): string | undefined;
private _closeViolationsOnExpiration?;
get closeViolationsOnExpiration(): boolean | cdktf.IResolvable;
set closeViolationsOnExpiration(value: boolean | cdktf.IResolvable);
resetCloseViolationsOnExpiration(): void;
get closeViolationsOnExpirationInput(): boolean | cdktf.IResolvable | undefined;
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean | cdktf.IResolvable);
resetEnabled(): void;
get enabledInput(): boolean | cdktf.IResolvable | undefined;
get entityGuid(): string;
private _evaluationDelay?;
get evaluationDelay(): number;
set evaluationDelay(value: number);
resetEvaluationDelay(): void;
get evaluationDelayInput(): number | undefined;
private _expirationDuration?;
get expirationDuration(): number;
set expirationDuration(value: number);
resetExpirationDuration(): void;
get expirationDurationInput(): number | undefined;
private _fillOption?;
get fillOption(): string;
set fillOption(value: string);
resetFillOption(): void;
get fillOptionInput(): string | undefined;
private _fillValue?;
get fillValue(): number;
set fillValue(value: number);
resetFillValue(): void;
get fillValueInput(): number | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _ignoreOnExpectedTermination?;
get ignoreOnExpectedTermination(): boolean | cdktf.IResolvable;
set ignoreOnExpectedTermination(value: boolean | cdktf.IResolvable);
resetIgnoreOnExpectedTermination(): void;
get ignoreOnExpectedTerminationInput(): boolean | cdktf.IResolvable | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _openViolationOnExpiration?;
get openViolationOnExpiration(): boolean | cdktf.IResolvable;
set openViolationOnExpiration(value: boolean | cdktf.IResolvable);
resetOpenViolationOnExpiration(): void;
get openViolationOnExpirationInput(): boolean | cdktf.IResolvable | undefined;
private _policyId?;
get policyId(): number;
set policyId(value: number);
get policyIdInput(): number | undefined;
private _runbookUrl?;
get runbookUrl(): string;
set runbookUrl(value: string);
resetRunbookUrl(): void;
get runbookUrlInput(): string | undefined;
private _slideBy?;
get slideBy(): number;
set slideBy(value: number);
resetSlideBy(): void;
get slideByInput(): number | undefined;
private _titleTemplate?;
get titleTemplate(): string;
set titleTemplate(value: string);
resetTitleTemplate(): void;
get titleTemplateInput(): string | undefined;
private _type?;
get type(): string;
set type(value: string);
resetType(): void;
get typeInput(): string | undefined;
private _violationTimeLimit?;
get violationTimeLimit(): string;
set violationTimeLimit(value: string);
resetViolationTimeLimit(): void;
get violationTimeLimitInput(): string | undefined;
private _violationTimeLimitSeconds?;
get violationTimeLimitSeconds(): number;
set violationTimeLimitSeconds(value: number);
resetViolationTimeLimitSeconds(): void;
get violationTimeLimitSecondsInput(): number | undefined;
private _critical;
get critical(): NrqlAlertConditionCriticalOutputReference;
putCritical(value: NrqlAlertConditionCritical): void;
resetCritical(): void;
get criticalInput(): NrqlAlertConditionCritical | undefined;
private _nrql;
get nrql(): NrqlAlertConditionNrqlOutputReference;
putNrql(value: NrqlAlertConditionNrql): void;
get nrqlInput(): NrqlAlertConditionNrql | undefined;
private _term;
get term(): NrqlAlertConditionTermList;
putTerm(value: NrqlAlertConditionTerm[] | cdktf.IResolvable): void;
resetTerm(): void;
get termInput(): cdktf.IResolvable | NrqlAlertConditionTerm[] | undefined;
private _timeouts;
get timeouts(): NrqlAlertConditionTimeoutsOutputReference;
putTimeouts(value: NrqlAlertConditionTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | NrqlAlertConditionTimeouts | undefined;
private _warning;
get warning(): NrqlAlertConditionWarningOutputReference;
putWarning(value: NrqlAlertConditionWarning): void;
resetWarning(): void;
get warningInput(): NrqlAlertConditionWarning | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}