1. Packages
  2. New Relic
  3. API Docs
  4. NrqlAlertCondition
New Relic v5.22.0 published on Wednesday, Mar 27, 2024 by Pulumi

newrelic.NrqlAlertCondition

Explore with Pulumi AI

newrelic logo
New Relic v5.22.0 published on Wednesday, Mar 27, 2024 by Pulumi

    Use this resource to create and manage NRQL alert conditions in New Relic.

    Example Usage

    Type: static (default)

    import * as pulumi from "@pulumi/pulumi";
    import * as newrelic from "@pulumi/newrelic";
    
    const fooAlertPolicy = new newrelic.AlertPolicy("fooAlertPolicy", {});
    const fooNrqlAlertCondition = new newrelic.NrqlAlertCondition("fooNrqlAlertCondition", {
        accountId: 12345678,
        policyId: fooAlertPolicy.id,
        type: "static",
        description: "Alert when transactions are taking too long",
        runbookUrl: "https://www.example.com",
        enabled: true,
        violationTimeLimitSeconds: 3600,
        fillOption: "static",
        fillValue: 1,
        aggregationWindow: 60,
        aggregationMethod: "event_flow",
        aggregationDelay: "120",
        expirationDuration: 120,
        openViolationOnExpiration: true,
        closeViolationsOnExpiration: true,
        slideBy: 30,
        nrql: {
            query: "SELECT average(duration) FROM Transaction where appName = 'Your App'",
        },
        critical: {
            operator: "above",
            threshold: 5.5,
            thresholdDuration: 300,
            thresholdOccurrences: "ALL",
        },
        warning: {
            operator: "above",
            threshold: 3.5,
            thresholdDuration: 600,
            thresholdOccurrences: "ALL",
        },
    });
    
    import pulumi
    import pulumi_newrelic as newrelic
    
    foo_alert_policy = newrelic.AlertPolicy("fooAlertPolicy")
    foo_nrql_alert_condition = newrelic.NrqlAlertCondition("fooNrqlAlertCondition",
        account_id=12345678,
        policy_id=foo_alert_policy.id,
        type="static",
        description="Alert when transactions are taking too long",
        runbook_url="https://www.example.com",
        enabled=True,
        violation_time_limit_seconds=3600,
        fill_option="static",
        fill_value=1,
        aggregation_window=60,
        aggregation_method="event_flow",
        aggregation_delay="120",
        expiration_duration=120,
        open_violation_on_expiration=True,
        close_violations_on_expiration=True,
        slide_by=30,
        nrql=newrelic.NrqlAlertConditionNrqlArgs(
            query="SELECT average(duration) FROM Transaction where appName = 'Your App'",
        ),
        critical=newrelic.NrqlAlertConditionCriticalArgs(
            operator="above",
            threshold=5.5,
            threshold_duration=300,
            threshold_occurrences="ALL",
        ),
        warning=newrelic.NrqlAlertConditionWarningArgs(
            operator="above",
            threshold=3.5,
            threshold_duration=600,
            threshold_occurrences="ALL",
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		fooAlertPolicy, err := newrelic.NewAlertPolicy(ctx, "fooAlertPolicy", nil)
    		if err != nil {
    			return err
    		}
    		_, err = newrelic.NewNrqlAlertCondition(ctx, "fooNrqlAlertCondition", &newrelic.NrqlAlertConditionArgs{
    			AccountId:                   pulumi.Int(12345678),
    			PolicyId:                    fooAlertPolicy.ID(),
    			Type:                        pulumi.String("static"),
    			Description:                 pulumi.String("Alert when transactions are taking too long"),
    			RunbookUrl:                  pulumi.String("https://www.example.com"),
    			Enabled:                     pulumi.Bool(true),
    			ViolationTimeLimitSeconds:   pulumi.Int(3600),
    			FillOption:                  pulumi.String("static"),
    			FillValue:                   pulumi.Float64(1),
    			AggregationWindow:           pulumi.Int(60),
    			AggregationMethod:           pulumi.String("event_flow"),
    			AggregationDelay:            pulumi.String("120"),
    			ExpirationDuration:          pulumi.Int(120),
    			OpenViolationOnExpiration:   pulumi.Bool(true),
    			CloseViolationsOnExpiration: pulumi.Bool(true),
    			SlideBy:                     pulumi.Int(30),
    			Nrql: &newrelic.NrqlAlertConditionNrqlArgs{
    				Query: pulumi.String("SELECT average(duration) FROM Transaction where appName = 'Your App'"),
    			},
    			Critical: &newrelic.NrqlAlertConditionCriticalArgs{
    				Operator:             pulumi.String("above"),
    				Threshold:            pulumi.Float64(5.5),
    				ThresholdDuration:    pulumi.Int(300),
    				ThresholdOccurrences: pulumi.String("ALL"),
    			},
    			Warning: &newrelic.NrqlAlertConditionWarningArgs{
    				Operator:             pulumi.String("above"),
    				Threshold:            pulumi.Float64(3.5),
    				ThresholdDuration:    pulumi.Int(600),
    				ThresholdOccurrences: pulumi.String("ALL"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using NewRelic = Pulumi.NewRelic;
    
    return await Deployment.RunAsync(() => 
    {
        var fooAlertPolicy = new NewRelic.AlertPolicy("fooAlertPolicy");
    
        var fooNrqlAlertCondition = new NewRelic.NrqlAlertCondition("fooNrqlAlertCondition", new()
        {
            AccountId = 12345678,
            PolicyId = fooAlertPolicy.Id,
            Type = "static",
            Description = "Alert when transactions are taking too long",
            RunbookUrl = "https://www.example.com",
            Enabled = true,
            ViolationTimeLimitSeconds = 3600,
            FillOption = "static",
            FillValue = 1,
            AggregationWindow = 60,
            AggregationMethod = "event_flow",
            AggregationDelay = "120",
            ExpirationDuration = 120,
            OpenViolationOnExpiration = true,
            CloseViolationsOnExpiration = true,
            SlideBy = 30,
            Nrql = new NewRelic.Inputs.NrqlAlertConditionNrqlArgs
            {
                Query = "SELECT average(duration) FROM Transaction where appName = 'Your App'",
            },
            Critical = new NewRelic.Inputs.NrqlAlertConditionCriticalArgs
            {
                Operator = "above",
                Threshold = 5.5,
                ThresholdDuration = 300,
                ThresholdOccurrences = "ALL",
            },
            Warning = new NewRelic.Inputs.NrqlAlertConditionWarningArgs
            {
                Operator = "above",
                Threshold = 3.5,
                ThresholdDuration = 600,
                ThresholdOccurrences = "ALL",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.newrelic.AlertPolicy;
    import com.pulumi.newrelic.NrqlAlertCondition;
    import com.pulumi.newrelic.NrqlAlertConditionArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionNrqlArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionCriticalArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionWarningArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var fooAlertPolicy = new AlertPolicy("fooAlertPolicy");
    
            var fooNrqlAlertCondition = new NrqlAlertCondition("fooNrqlAlertCondition", NrqlAlertConditionArgs.builder()        
                .accountId(12345678)
                .policyId(fooAlertPolicy.id())
                .type("static")
                .description("Alert when transactions are taking too long")
                .runbookUrl("https://www.example.com")
                .enabled(true)
                .violationTimeLimitSeconds(3600)
                .fillOption("static")
                .fillValue(1)
                .aggregationWindow(60)
                .aggregationMethod("event_flow")
                .aggregationDelay(120)
                .expirationDuration(120)
                .openViolationOnExpiration(true)
                .closeViolationsOnExpiration(true)
                .slideBy(30)
                .nrql(NrqlAlertConditionNrqlArgs.builder()
                    .query("SELECT average(duration) FROM Transaction where appName = 'Your App'")
                    .build())
                .critical(NrqlAlertConditionCriticalArgs.builder()
                    .operator("above")
                    .threshold(5.5)
                    .thresholdDuration(300)
                    .thresholdOccurrences("ALL")
                    .build())
                .warning(NrqlAlertConditionWarningArgs.builder()
                    .operator("above")
                    .threshold(3.5)
                    .thresholdDuration(600)
                    .thresholdOccurrences("ALL")
                    .build())
                .build());
    
        }
    }
    
    resources:
      fooAlertPolicy:
        type: newrelic:AlertPolicy
      fooNrqlAlertCondition:
        type: newrelic:NrqlAlertCondition
        properties:
          accountId: 1.2345678e+07
          policyId: ${fooAlertPolicy.id}
          type: static
          description: Alert when transactions are taking too long
          runbookUrl: https://www.example.com
          enabled: true
          violationTimeLimitSeconds: 3600
          fillOption: static
          fillValue: 1
          aggregationWindow: 60
          aggregationMethod: event_flow
          aggregationDelay: 120
          expirationDuration: 120
          openViolationOnExpiration: true
          closeViolationsOnExpiration: true
          slideBy: 30
          nrql:
            query: SELECT average(duration) FROM Transaction where appName = 'Your App'
          critical:
            operator: above
            threshold: 5.5
            thresholdDuration: 300
            thresholdOccurrences: ALL
          warning:
            operator: above
            threshold: 3.5
            thresholdDuration: 600
            thresholdOccurrences: ALL
    

    NRQL

    The nrql block supports the following arguments:

    • query - (Required) The NRQL query to execute for the condition.
    • evaluation_offset - (Optional) DEPRECATED: Use aggregation_method instead. Represented in minutes and must be within 1-20 minutes (inclusive). NRQL queries are evaluated based on their aggregation_window size. The start time depends on this value. It’s recommended to set this to 3 windows. An offset of less than 3 windows will trigger incidents sooner, but you may see more false positives and negatives due to data latency. With evaluation_offset set to 3 windows and an aggregation_window of 60 seconds, the NRQL time window applied to your query will be: SINCE 3 minutes ago UNTIL 2 minutes ago. evaluation_offset cannot be set with aggregation_method, aggregation_delay, or aggregation_timer.
    • since_value - (Optional) DEPRECATED: Use aggregation_method instead. The value to be used in the SINCE <X> minutes ago clause for the NRQL query. Must be between 1-20 (inclusive).

    Terms

    NOTE: The direct use of the term has been deprecated, and users should use critical and warning instead. What follows now applies to the named priority attributes for critical and warning, but for those attributes the priority is not allowed. At least one critical or warning term must be defined.

    NRQL alert conditions support up to two terms. At least one term must have priority set to critical and the second optional term must have priority set to warning.

    The term block supports the following arguments:

    • operator - (Optional) Valid values are above, above_or_equals, below, below_or_equals, equals, or not_equals (case insensitive). Defaults to equals. Note that when using a type of baseline, the only valid option here is above.

    • priority - (Optional) critical or warning. Defaults to critical.

    • threshold - (Required) The value which will trigger an incident.
      For baseline NRQL alert conditions, the value must be in the range [1, 1000]. The value is the number of standard deviations from the baseline that the metric must exceed in order to create an incident.

    • threshold_duration - (Optional) 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).
      For baseline NRQL alert conditions, the value must be within 120-86400 seconds (inclusive).
      For static NRQL alert conditions, the value must be within 60-86400 seconds (inclusive).

    • threshold_occurrences - (Optional) 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).

    • duration - (Optional) DEPRECATED: Use threshold_duration instead. The duration of time, in minutes, that the threshold must violate for in order to create an incident. Must be within 1-120 (inclusive).

    • time_function - (Optional) DEPRECATED: Use threshold_occurrences instead. The criteria for how many data points must be in violation for the specified threshold duration. Valid values are: all or any.

    NOTE: When a critical or warning block is added to this resource, using either duration or threshold_duration (one of the two) is mandatory. Both of these should not be specified.

    NOTE: When a critical or warning block is added to this resource, using either time_function or threshold_occurrences (one of the two) is mandatory. Both of these should not be specified.

    Additional Examples

    Type: baseline

    Baseline NRQL alert conditions are dynamic in nature and adjust to the behavior of your data. The example below demonstrates a baseline NRQL alert condition for alerting when transaction durations are above a specified threshold and dynamically adjusts based on data trends.

    import * as pulumi from "@pulumi/pulumi";
    import * as newrelic from "@pulumi/newrelic";
    
    const fooAlertPolicy = new newrelic.AlertPolicy("fooAlertPolicy", {});
    const fooNrqlAlertCondition = new newrelic.NrqlAlertCondition("fooNrqlAlertCondition", {
        accountId: "your_account_id",
        policyId: fooAlertPolicy.id,
        type: "static",
        description: "Alert when transactions are taking too long",
        runbookUrl: "https://www.example.com",
        enabled: true,
        violationTimeLimitSeconds: 3600,
        fillOption: "static",
        fillValue: 1,
        aggregationWindow: 60,
        aggregationMethod: "event_flow",
        aggregationDelay: "120",
        expirationDuration: 120,
        openViolationOnExpiration: true,
        closeViolationsOnExpiration: true,
        slideBy: 30,
        nrql: {
            query: "SELECT average(duration) FROM Transaction where appName = 'Your App'",
        },
        critical: {
            operator: "above",
            threshold: 5.5,
            thresholdDuration: 300,
            thresholdOccurrences: "ALL",
        },
        warning: {
            operator: "above",
            threshold: 3.5,
            thresholdDuration: 600,
            thresholdOccurrences: "ALL",
        },
    });
    
    import pulumi
    import pulumi_newrelic as newrelic
    
    foo_alert_policy = newrelic.AlertPolicy("fooAlertPolicy")
    foo_nrql_alert_condition = newrelic.NrqlAlertCondition("fooNrqlAlertCondition",
        account_id="your_account_id",
        policy_id=foo_alert_policy.id,
        type="static",
        description="Alert when transactions are taking too long",
        runbook_url="https://www.example.com",
        enabled=True,
        violation_time_limit_seconds=3600,
        fill_option="static",
        fill_value=1,
        aggregation_window=60,
        aggregation_method="event_flow",
        aggregation_delay="120",
        expiration_duration=120,
        open_violation_on_expiration=True,
        close_violations_on_expiration=True,
        slide_by=30,
        nrql=newrelic.NrqlAlertConditionNrqlArgs(
            query="SELECT average(duration) FROM Transaction where appName = 'Your App'",
        ),
        critical=newrelic.NrqlAlertConditionCriticalArgs(
            operator="above",
            threshold=5.5,
            threshold_duration=300,
            threshold_occurrences="ALL",
        ),
        warning=newrelic.NrqlAlertConditionWarningArgs(
            operator="above",
            threshold=3.5,
            threshold_duration=600,
            threshold_occurrences="ALL",
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		fooAlertPolicy, err := newrelic.NewAlertPolicy(ctx, "fooAlertPolicy", nil)
    		if err != nil {
    			return err
    		}
    		_, err = newrelic.NewNrqlAlertCondition(ctx, "fooNrqlAlertCondition", &newrelic.NrqlAlertConditionArgs{
    			AccountId:                   pulumi.Int("your_account_id"),
    			PolicyId:                    fooAlertPolicy.ID(),
    			Type:                        pulumi.String("static"),
    			Description:                 pulumi.String("Alert when transactions are taking too long"),
    			RunbookUrl:                  pulumi.String("https://www.example.com"),
    			Enabled:                     pulumi.Bool(true),
    			ViolationTimeLimitSeconds:   pulumi.Int(3600),
    			FillOption:                  pulumi.String("static"),
    			FillValue:                   pulumi.Float64(1),
    			AggregationWindow:           pulumi.Int(60),
    			AggregationMethod:           pulumi.String("event_flow"),
    			AggregationDelay:            pulumi.String("120"),
    			ExpirationDuration:          pulumi.Int(120),
    			OpenViolationOnExpiration:   pulumi.Bool(true),
    			CloseViolationsOnExpiration: pulumi.Bool(true),
    			SlideBy:                     pulumi.Int(30),
    			Nrql: &newrelic.NrqlAlertConditionNrqlArgs{
    				Query: pulumi.String("SELECT average(duration) FROM Transaction where appName = 'Your App'"),
    			},
    			Critical: &newrelic.NrqlAlertConditionCriticalArgs{
    				Operator:             pulumi.String("above"),
    				Threshold:            pulumi.Float64(5.5),
    				ThresholdDuration:    pulumi.Int(300),
    				ThresholdOccurrences: pulumi.String("ALL"),
    			},
    			Warning: &newrelic.NrqlAlertConditionWarningArgs{
    				Operator:             pulumi.String("above"),
    				Threshold:            pulumi.Float64(3.5),
    				ThresholdDuration:    pulumi.Int(600),
    				ThresholdOccurrences: pulumi.String("ALL"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using NewRelic = Pulumi.NewRelic;
    
    return await Deployment.RunAsync(() => 
    {
        var fooAlertPolicy = new NewRelic.AlertPolicy("fooAlertPolicy");
    
        var fooNrqlAlertCondition = new NewRelic.NrqlAlertCondition("fooNrqlAlertCondition", new()
        {
            AccountId = "your_account_id",
            PolicyId = fooAlertPolicy.Id,
            Type = "static",
            Description = "Alert when transactions are taking too long",
            RunbookUrl = "https://www.example.com",
            Enabled = true,
            ViolationTimeLimitSeconds = 3600,
            FillOption = "static",
            FillValue = 1,
            AggregationWindow = 60,
            AggregationMethod = "event_flow",
            AggregationDelay = "120",
            ExpirationDuration = 120,
            OpenViolationOnExpiration = true,
            CloseViolationsOnExpiration = true,
            SlideBy = 30,
            Nrql = new NewRelic.Inputs.NrqlAlertConditionNrqlArgs
            {
                Query = "SELECT average(duration) FROM Transaction where appName = 'Your App'",
            },
            Critical = new NewRelic.Inputs.NrqlAlertConditionCriticalArgs
            {
                Operator = "above",
                Threshold = 5.5,
                ThresholdDuration = 300,
                ThresholdOccurrences = "ALL",
            },
            Warning = new NewRelic.Inputs.NrqlAlertConditionWarningArgs
            {
                Operator = "above",
                Threshold = 3.5,
                ThresholdDuration = 600,
                ThresholdOccurrences = "ALL",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.newrelic.AlertPolicy;
    import com.pulumi.newrelic.NrqlAlertCondition;
    import com.pulumi.newrelic.NrqlAlertConditionArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionNrqlArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionCriticalArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionWarningArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var fooAlertPolicy = new AlertPolicy("fooAlertPolicy");
    
            var fooNrqlAlertCondition = new NrqlAlertCondition("fooNrqlAlertCondition", NrqlAlertConditionArgs.builder()        
                .accountId("your_account_id")
                .policyId(fooAlertPolicy.id())
                .type("static")
                .description("Alert when transactions are taking too long")
                .runbookUrl("https://www.example.com")
                .enabled(true)
                .violationTimeLimitSeconds(3600)
                .fillOption("static")
                .fillValue(1)
                .aggregationWindow(60)
                .aggregationMethod("event_flow")
                .aggregationDelay(120)
                .expirationDuration(120)
                .openViolationOnExpiration(true)
                .closeViolationsOnExpiration(true)
                .slideBy(30)
                .nrql(NrqlAlertConditionNrqlArgs.builder()
                    .query("SELECT average(duration) FROM Transaction where appName = 'Your App'")
                    .build())
                .critical(NrqlAlertConditionCriticalArgs.builder()
                    .operator("above")
                    .threshold(5.5)
                    .thresholdDuration(300)
                    .thresholdOccurrences("ALL")
                    .build())
                .warning(NrqlAlertConditionWarningArgs.builder()
                    .operator("above")
                    .threshold(3.5)
                    .thresholdDuration(600)
                    .thresholdOccurrences("ALL")
                    .build())
                .build());
    
        }
    }
    
    resources:
      fooAlertPolicy:
        type: newrelic:AlertPolicy
      fooNrqlAlertCondition:
        type: newrelic:NrqlAlertCondition
        properties:
          accountId: your_account_id
          policyId: ${fooAlertPolicy.id}
          type: static
          description: Alert when transactions are taking too long
          runbookUrl: https://www.example.com
          enabled: true
          violationTimeLimitSeconds: 3600
          fillOption: static
          fillValue: 1
          aggregationWindow: 60
          aggregationMethod: event_flow
          aggregationDelay: 120
          expirationDuration: 120
          openViolationOnExpiration: true
          closeViolationsOnExpiration: true
          slideBy: 30
          nrql:
            query: SELECT average(duration) FROM Transaction where appName = 'Your App'
          critical:
            operator: above
            threshold: 5.5
            thresholdDuration: 300
            thresholdOccurrences: ALL
          warning:
            operator: above
            threshold: 3.5
            thresholdDuration: 600
            thresholdOccurrences: ALL
    

    Tags

    Manage NRQL alert condition tags with newrelic.EntityTags. For up-to-date documentation about the tagging resource, please check newrelic.EntityTags.

    import * as pulumi from "@pulumi/pulumi";
    import * as newrelic from "@pulumi/newrelic";
    
    const fooAlertPolicy = new newrelic.AlertPolicy("fooAlertPolicy", {});
    const fooNrqlAlertCondition = new newrelic.NrqlAlertCondition("fooNrqlAlertCondition", {
        accountId: 12345678,
        policyId: fooAlertPolicy.id,
        type: "static",
        description: "Alert when transactions are taking too long",
        runbookUrl: "https://www.example.com",
        enabled: true,
        violationTimeLimitSeconds: 3600,
        fillOption: "static",
        fillValue: 1,
        aggregationWindow: 60,
        aggregationMethod: "event_flow",
        aggregationDelay: "120",
        expirationDuration: 120,
        openViolationOnExpiration: true,
        closeViolationsOnExpiration: true,
        slideBy: 30,
        nrql: {
            query: "SELECT average(duration) FROM Transaction where appName = 'Your App'",
        },
        critical: {
            operator: "above",
            threshold: 5.5,
            thresholdDuration: 300,
            thresholdOccurrences: "ALL",
        },
        warning: {
            operator: "above",
            threshold: 3.5,
            thresholdDuration: 600,
            thresholdOccurrences: "ALL",
        },
    });
    const myConditionEntityTags = new newrelic.EntityTags("myConditionEntityTags", {
        guid: fooNrqlAlertCondition.entityGuid,
        tags: [
            {
                key: "my-key",
                values: [
                    "my-value",
                    "my-other-value",
                ],
            },
            {
                key: "my-key-2",
                values: ["my-value-2"],
            },
        ],
    });
    
    import pulumi
    import pulumi_newrelic as newrelic
    
    foo_alert_policy = newrelic.AlertPolicy("fooAlertPolicy")
    foo_nrql_alert_condition = newrelic.NrqlAlertCondition("fooNrqlAlertCondition",
        account_id=12345678,
        policy_id=foo_alert_policy.id,
        type="static",
        description="Alert when transactions are taking too long",
        runbook_url="https://www.example.com",
        enabled=True,
        violation_time_limit_seconds=3600,
        fill_option="static",
        fill_value=1,
        aggregation_window=60,
        aggregation_method="event_flow",
        aggregation_delay="120",
        expiration_duration=120,
        open_violation_on_expiration=True,
        close_violations_on_expiration=True,
        slide_by=30,
        nrql=newrelic.NrqlAlertConditionNrqlArgs(
            query="SELECT average(duration) FROM Transaction where appName = 'Your App'",
        ),
        critical=newrelic.NrqlAlertConditionCriticalArgs(
            operator="above",
            threshold=5.5,
            threshold_duration=300,
            threshold_occurrences="ALL",
        ),
        warning=newrelic.NrqlAlertConditionWarningArgs(
            operator="above",
            threshold=3.5,
            threshold_duration=600,
            threshold_occurrences="ALL",
        ))
    my_condition_entity_tags = newrelic.EntityTags("myConditionEntityTags",
        guid=foo_nrql_alert_condition.entity_guid,
        tags=[
            newrelic.EntityTagsTagArgs(
                key="my-key",
                values=[
                    "my-value",
                    "my-other-value",
                ],
            ),
            newrelic.EntityTagsTagArgs(
                key="my-key-2",
                values=["my-value-2"],
            ),
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		fooAlertPolicy, err := newrelic.NewAlertPolicy(ctx, "fooAlertPolicy", nil)
    		if err != nil {
    			return err
    		}
    		fooNrqlAlertCondition, err := newrelic.NewNrqlAlertCondition(ctx, "fooNrqlAlertCondition", &newrelic.NrqlAlertConditionArgs{
    			AccountId:                   pulumi.Int(12345678),
    			PolicyId:                    fooAlertPolicy.ID(),
    			Type:                        pulumi.String("static"),
    			Description:                 pulumi.String("Alert when transactions are taking too long"),
    			RunbookUrl:                  pulumi.String("https://www.example.com"),
    			Enabled:                     pulumi.Bool(true),
    			ViolationTimeLimitSeconds:   pulumi.Int(3600),
    			FillOption:                  pulumi.String("static"),
    			FillValue:                   pulumi.Float64(1),
    			AggregationWindow:           pulumi.Int(60),
    			AggregationMethod:           pulumi.String("event_flow"),
    			AggregationDelay:            pulumi.String("120"),
    			ExpirationDuration:          pulumi.Int(120),
    			OpenViolationOnExpiration:   pulumi.Bool(true),
    			CloseViolationsOnExpiration: pulumi.Bool(true),
    			SlideBy:                     pulumi.Int(30),
    			Nrql: &newrelic.NrqlAlertConditionNrqlArgs{
    				Query: pulumi.String("SELECT average(duration) FROM Transaction where appName = 'Your App'"),
    			},
    			Critical: &newrelic.NrqlAlertConditionCriticalArgs{
    				Operator:             pulumi.String("above"),
    				Threshold:            pulumi.Float64(5.5),
    				ThresholdDuration:    pulumi.Int(300),
    				ThresholdOccurrences: pulumi.String("ALL"),
    			},
    			Warning: &newrelic.NrqlAlertConditionWarningArgs{
    				Operator:             pulumi.String("above"),
    				Threshold:            pulumi.Float64(3.5),
    				ThresholdDuration:    pulumi.Int(600),
    				ThresholdOccurrences: pulumi.String("ALL"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = newrelic.NewEntityTags(ctx, "myConditionEntityTags", &newrelic.EntityTagsArgs{
    			Guid: fooNrqlAlertCondition.EntityGuid,
    			Tags: newrelic.EntityTagsTagArray{
    				&newrelic.EntityTagsTagArgs{
    					Key: pulumi.String("my-key"),
    					Values: pulumi.StringArray{
    						pulumi.String("my-value"),
    						pulumi.String("my-other-value"),
    					},
    				},
    				&newrelic.EntityTagsTagArgs{
    					Key: pulumi.String("my-key-2"),
    					Values: pulumi.StringArray{
    						pulumi.String("my-value-2"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using NewRelic = Pulumi.NewRelic;
    
    return await Deployment.RunAsync(() => 
    {
        var fooAlertPolicy = new NewRelic.AlertPolicy("fooAlertPolicy");
    
        var fooNrqlAlertCondition = new NewRelic.NrqlAlertCondition("fooNrqlAlertCondition", new()
        {
            AccountId = 12345678,
            PolicyId = fooAlertPolicy.Id,
            Type = "static",
            Description = "Alert when transactions are taking too long",
            RunbookUrl = "https://www.example.com",
            Enabled = true,
            ViolationTimeLimitSeconds = 3600,
            FillOption = "static",
            FillValue = 1,
            AggregationWindow = 60,
            AggregationMethod = "event_flow",
            AggregationDelay = "120",
            ExpirationDuration = 120,
            OpenViolationOnExpiration = true,
            CloseViolationsOnExpiration = true,
            SlideBy = 30,
            Nrql = new NewRelic.Inputs.NrqlAlertConditionNrqlArgs
            {
                Query = "SELECT average(duration) FROM Transaction where appName = 'Your App'",
            },
            Critical = new NewRelic.Inputs.NrqlAlertConditionCriticalArgs
            {
                Operator = "above",
                Threshold = 5.5,
                ThresholdDuration = 300,
                ThresholdOccurrences = "ALL",
            },
            Warning = new NewRelic.Inputs.NrqlAlertConditionWarningArgs
            {
                Operator = "above",
                Threshold = 3.5,
                ThresholdDuration = 600,
                ThresholdOccurrences = "ALL",
            },
        });
    
        var myConditionEntityTags = new NewRelic.EntityTags("myConditionEntityTags", new()
        {
            Guid = fooNrqlAlertCondition.EntityGuid,
            Tags = new[]
            {
                new NewRelic.Inputs.EntityTagsTagArgs
                {
                    Key = "my-key",
                    Values = new[]
                    {
                        "my-value",
                        "my-other-value",
                    },
                },
                new NewRelic.Inputs.EntityTagsTagArgs
                {
                    Key = "my-key-2",
                    Values = new[]
                    {
                        "my-value-2",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.newrelic.AlertPolicy;
    import com.pulumi.newrelic.NrqlAlertCondition;
    import com.pulumi.newrelic.NrqlAlertConditionArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionNrqlArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionCriticalArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionWarningArgs;
    import com.pulumi.newrelic.EntityTags;
    import com.pulumi.newrelic.EntityTagsArgs;
    import com.pulumi.newrelic.inputs.EntityTagsTagArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var fooAlertPolicy = new AlertPolicy("fooAlertPolicy");
    
            var fooNrqlAlertCondition = new NrqlAlertCondition("fooNrqlAlertCondition", NrqlAlertConditionArgs.builder()        
                .accountId(12345678)
                .policyId(fooAlertPolicy.id())
                .type("static")
                .description("Alert when transactions are taking too long")
                .runbookUrl("https://www.example.com")
                .enabled(true)
                .violationTimeLimitSeconds(3600)
                .fillOption("static")
                .fillValue(1)
                .aggregationWindow(60)
                .aggregationMethod("event_flow")
                .aggregationDelay(120)
                .expirationDuration(120)
                .openViolationOnExpiration(true)
                .closeViolationsOnExpiration(true)
                .slideBy(30)
                .nrql(NrqlAlertConditionNrqlArgs.builder()
                    .query("SELECT average(duration) FROM Transaction where appName = 'Your App'")
                    .build())
                .critical(NrqlAlertConditionCriticalArgs.builder()
                    .operator("above")
                    .threshold(5.5)
                    .thresholdDuration(300)
                    .thresholdOccurrences("ALL")
                    .build())
                .warning(NrqlAlertConditionWarningArgs.builder()
                    .operator("above")
                    .threshold(3.5)
                    .thresholdDuration(600)
                    .thresholdOccurrences("ALL")
                    .build())
                .build());
    
            var myConditionEntityTags = new EntityTags("myConditionEntityTags", EntityTagsArgs.builder()        
                .guid(fooNrqlAlertCondition.entityGuid())
                .tags(            
                    EntityTagsTagArgs.builder()
                        .key("my-key")
                        .values(                    
                            "my-value",
                            "my-other-value")
                        .build(),
                    EntityTagsTagArgs.builder()
                        .key("my-key-2")
                        .values("my-value-2")
                        .build())
                .build());
    
        }
    }
    
    resources:
      fooAlertPolicy:
        type: newrelic:AlertPolicy
      fooNrqlAlertCondition:
        type: newrelic:NrqlAlertCondition
        properties:
          accountId: 1.2345678e+07
          policyId: ${fooAlertPolicy.id}
          type: static
          description: Alert when transactions are taking too long
          runbookUrl: https://www.example.com
          enabled: true
          violationTimeLimitSeconds: 3600
          fillOption: static
          fillValue: 1
          aggregationWindow: 60
          aggregationMethod: event_flow
          aggregationDelay: 120
          expirationDuration: 120
          openViolationOnExpiration: true
          closeViolationsOnExpiration: true
          slideBy: 30
          nrql:
            query: SELECT average(duration) FROM Transaction where appName = 'Your App'
          critical:
            operator: above
            threshold: 5.5
            thresholdDuration: 300
            thresholdOccurrences: ALL
          warning:
            operator: above
            threshold: 3.5
            thresholdDuration: 600
            thresholdOccurrences: ALL
      myConditionEntityTags:
        type: newrelic:EntityTags
        properties:
          guid: ${fooNrqlAlertCondition.entityGuid}
          tags:
            - key: my-key
              values:
                - my-value
                - my-other-value
            - key: my-key-2
              values:
                - my-value-2
    

    alerts.newrelic.com/accounts/<account_id>/policies/<policy_id>/conditions/<condition_id>/edit

    Upgrade from 1.x to 2.x

    There have been several deprecations in the newrelic.NrqlAlertCondition resource. Users will need to make some updates in order to have a smooth upgrade.

    An example resource from 1.x might look like the following.

    import * as pulumi from "@pulumi/pulumi";
    import * as newrelic from "@pulumi/newrelic";
    
    const nrqlAlertCondition = new newrelic.NrqlAlertCondition("nrqlAlertCondition", {
        policyId: newrelic_alert_policy.z.id,
        type: "static",
        runbookUrl: "https://localhost",
        enabled: true,
        violationTimeLimit: "TWENTY_FOUR_HOURS",
        critical: {
            operator: "above",
            thresholdDuration: 120,
            threshold: 3,
            thresholdOccurrences: "AT_LEAST_ONCE",
        },
        nrql: {
            query: "SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName",
        },
    });
    
    import pulumi
    import pulumi_newrelic as newrelic
    
    nrql_alert_condition = newrelic.NrqlAlertCondition("nrqlAlertCondition",
        policy_id=newrelic_alert_policy["z"]["id"],
        type="static",
        runbook_url="https://localhost",
        enabled=True,
        violation_time_limit="TWENTY_FOUR_HOURS",
        critical=newrelic.NrqlAlertConditionCriticalArgs(
            operator="above",
            threshold_duration=120,
            threshold=3,
            threshold_occurrences="AT_LEAST_ONCE",
        ),
        nrql=newrelic.NrqlAlertConditionNrqlArgs(
            query="SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName",
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := newrelic.NewNrqlAlertCondition(ctx, "nrqlAlertCondition", &newrelic.NrqlAlertConditionArgs{
    			PolicyId:           pulumi.Any(newrelic_alert_policy.Z.Id),
    			Type:               pulumi.String("static"),
    			RunbookUrl:         pulumi.String("https://localhost"),
    			Enabled:            pulumi.Bool(true),
    			ViolationTimeLimit: pulumi.String("TWENTY_FOUR_HOURS"),
    			Critical: &newrelic.NrqlAlertConditionCriticalArgs{
    				Operator:             pulumi.String("above"),
    				ThresholdDuration:    pulumi.Int(120),
    				Threshold:            pulumi.Float64(3),
    				ThresholdOccurrences: pulumi.String("AT_LEAST_ONCE"),
    			},
    			Nrql: &newrelic.NrqlAlertConditionNrqlArgs{
    				Query: pulumi.String("SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using NewRelic = Pulumi.NewRelic;
    
    return await Deployment.RunAsync(() => 
    {
        var nrqlAlertCondition = new NewRelic.NrqlAlertCondition("nrqlAlertCondition", new()
        {
            PolicyId = newrelic_alert_policy.Z.Id,
            Type = "static",
            RunbookUrl = "https://localhost",
            Enabled = true,
            ViolationTimeLimit = "TWENTY_FOUR_HOURS",
            Critical = new NewRelic.Inputs.NrqlAlertConditionCriticalArgs
            {
                Operator = "above",
                ThresholdDuration = 120,
                Threshold = 3,
                ThresholdOccurrences = "AT_LEAST_ONCE",
            },
            Nrql = new NewRelic.Inputs.NrqlAlertConditionNrqlArgs
            {
                Query = "SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.newrelic.NrqlAlertCondition;
    import com.pulumi.newrelic.NrqlAlertConditionArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionCriticalArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionNrqlArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var nrqlAlertCondition = new NrqlAlertCondition("nrqlAlertCondition", NrqlAlertConditionArgs.builder()        
                .policyId(newrelic_alert_policy.z().id())
                .type("static")
                .runbookUrl("https://localhost")
                .enabled(true)
                .violationTimeLimit("TWENTY_FOUR_HOURS")
                .critical(NrqlAlertConditionCriticalArgs.builder()
                    .operator("above")
                    .thresholdDuration(120)
                    .threshold(3)
                    .thresholdOccurrences("AT_LEAST_ONCE")
                    .build())
                .nrql(NrqlAlertConditionNrqlArgs.builder()
                    .query("SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName")
                    .build())
                .build());
    
        }
    }
    
    resources:
      nrqlAlertCondition:
        type: newrelic:NrqlAlertCondition
        properties:
          policyId: ${newrelic_alert_policy.z.id}
          type: static
          runbookUrl: https://localhost
          enabled: true
          violationTimeLimit: TWENTY_FOUR_HOURS
          critical:
            operator: above
            thresholdDuration: 120
            threshold: 3
            thresholdOccurrences: AT_LEAST_ONCE
          nrql:
            query: SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName
    

    After making the appropriate adjustments mentioned in the deprecation warnings, the resource now looks like the following.

    import * as pulumi from "@pulumi/pulumi";
    import * as newrelic from "@pulumi/newrelic";
    
    const nrqlAlertCondition = new newrelic.NrqlAlertCondition("nrqlAlertCondition", {
        policyId: newrelic_alert_policy.z.id,
        type: "static",
        runbookUrl: "https://localhost",
        enabled: true,
        violationTimeLimitSeconds: 86400,
        terms: [{
            priority: "critical",
            operator: "above",
            threshold: 3,
            duration: 5,
            timeFunction: "any",
        }],
        nrql: {
            query: "SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName",
        },
    });
    
    import pulumi
    import pulumi_newrelic as newrelic
    
    nrql_alert_condition = newrelic.NrqlAlertCondition("nrqlAlertCondition",
        policy_id=newrelic_alert_policy["z"]["id"],
        type="static",
        runbook_url="https://localhost",
        enabled=True,
        violation_time_limit_seconds=86400,
        terms=[newrelic.NrqlAlertConditionTermArgs(
            priority="critical",
            operator="above",
            threshold=3,
            duration=5,
            time_function="any",
        )],
        nrql=newrelic.NrqlAlertConditionNrqlArgs(
            query="SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName",
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := newrelic.NewNrqlAlertCondition(ctx, "nrqlAlertCondition", &newrelic.NrqlAlertConditionArgs{
    			PolicyId:                  pulumi.Any(newrelic_alert_policy.Z.Id),
    			Type:                      pulumi.String("static"),
    			RunbookUrl:                pulumi.String("https://localhost"),
    			Enabled:                   pulumi.Bool(true),
    			ViolationTimeLimitSeconds: pulumi.Int(86400),
    			Terms: newrelic.NrqlAlertConditionTermArray{
    				&newrelic.NrqlAlertConditionTermArgs{
    					Priority:     pulumi.String("critical"),
    					Operator:     pulumi.String("above"),
    					Threshold:    pulumi.Float64(3),
    					Duration:     pulumi.Int(5),
    					TimeFunction: pulumi.String("any"),
    				},
    			},
    			Nrql: &newrelic.NrqlAlertConditionNrqlArgs{
    				Query: pulumi.String("SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using NewRelic = Pulumi.NewRelic;
    
    return await Deployment.RunAsync(() => 
    {
        var nrqlAlertCondition = new NewRelic.NrqlAlertCondition("nrqlAlertCondition", new()
        {
            PolicyId = newrelic_alert_policy.Z.Id,
            Type = "static",
            RunbookUrl = "https://localhost",
            Enabled = true,
            ViolationTimeLimitSeconds = 86400,
            Terms = new[]
            {
                new NewRelic.Inputs.NrqlAlertConditionTermArgs
                {
                    Priority = "critical",
                    Operator = "above",
                    Threshold = 3,
                    Duration = 5,
                    TimeFunction = "any",
                },
            },
            Nrql = new NewRelic.Inputs.NrqlAlertConditionNrqlArgs
            {
                Query = "SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.newrelic.NrqlAlertCondition;
    import com.pulumi.newrelic.NrqlAlertConditionArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionTermArgs;
    import com.pulumi.newrelic.inputs.NrqlAlertConditionNrqlArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var nrqlAlertCondition = new NrqlAlertCondition("nrqlAlertCondition", NrqlAlertConditionArgs.builder()        
                .policyId(newrelic_alert_policy.z().id())
                .type("static")
                .runbookUrl("https://localhost")
                .enabled(true)
                .violationTimeLimitSeconds(86400)
                .terms(NrqlAlertConditionTermArgs.builder()
                    .priority("critical")
                    .operator("above")
                    .threshold(3)
                    .duration(5)
                    .timeFunction("any")
                    .build())
                .nrql(NrqlAlertConditionNrqlArgs.builder()
                    .query("SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName")
                    .build())
                .build());
    
        }
    }
    
    resources:
      nrqlAlertCondition:
        type: newrelic:NrqlAlertCondition
        properties:
          policyId: ${newrelic_alert_policy.z.id}
          type: static
          runbookUrl: https://localhost
          enabled: true
          violationTimeLimitSeconds: 86400
          terms:
            - priority: critical
              operator: above
              threshold: 3
              duration: 5
              timeFunction: any
          nrql:
            query: SELECT count(*) FROM TransactionError WHERE appName like '%Dummy App%' FACET appName
    

    Create NrqlAlertCondition Resource

    new NrqlAlertCondition(name: string, args: NrqlAlertConditionArgs, opts?: CustomResourceOptions);
    @overload
    def NrqlAlertCondition(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           account_id: Optional[int] = None,
                           aggregation_delay: Optional[str] = None,
                           aggregation_method: Optional[str] = None,
                           aggregation_timer: Optional[str] = None,
                           aggregation_window: Optional[int] = None,
                           baseline_direction: Optional[str] = None,
                           close_violations_on_expiration: Optional[bool] = None,
                           critical: Optional[NrqlAlertConditionCriticalArgs] = None,
                           description: Optional[str] = None,
                           enabled: Optional[bool] = None,
                           evaluation_delay: Optional[int] = None,
                           expiration_duration: Optional[int] = None,
                           fill_option: Optional[str] = None,
                           fill_value: Optional[float] = None,
                           name: Optional[str] = None,
                           nrql: Optional[NrqlAlertConditionNrqlArgs] = None,
                           open_violation_on_expiration: Optional[bool] = None,
                           policy_id: Optional[int] = None,
                           runbook_url: Optional[str] = None,
                           slide_by: Optional[int] = None,
                           terms: Optional[Sequence[NrqlAlertConditionTermArgs]] = None,
                           type: Optional[str] = None,
                           violation_time_limit: Optional[str] = None,
                           violation_time_limit_seconds: Optional[int] = None,
                           warning: Optional[NrqlAlertConditionWarningArgs] = None)
    @overload
    def NrqlAlertCondition(resource_name: str,
                           args: NrqlAlertConditionArgs,
                           opts: Optional[ResourceOptions] = None)
    func NewNrqlAlertCondition(ctx *Context, name string, args NrqlAlertConditionArgs, opts ...ResourceOption) (*NrqlAlertCondition, error)
    public NrqlAlertCondition(string name, NrqlAlertConditionArgs args, CustomResourceOptions? opts = null)
    public NrqlAlertCondition(String name, NrqlAlertConditionArgs args)
    public NrqlAlertCondition(String name, NrqlAlertConditionArgs args, CustomResourceOptions options)
    
    type: newrelic:NrqlAlertCondition
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args NrqlAlertConditionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args NrqlAlertConditionArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args NrqlAlertConditionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NrqlAlertConditionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NrqlAlertConditionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    NrqlAlertCondition Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The NrqlAlertCondition resource accepts the following input properties:

    Nrql Pulumi.NewRelic.Inputs.NrqlAlertConditionNrql
    A NRQL query. See NRQL below for details.
    PolicyId int
    The ID of the policy where this condition should be used.
    AccountId int
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    AggregationDelay string
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    AggregationMethod string
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    AggregationTimer string
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    AggregationWindow int
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    BaselineDirection string
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    CloseViolationsOnExpiration bool
    Whether to close all open incidents when the signal expires.
    Critical Pulumi.NewRelic.Inputs.NrqlAlertConditionCritical
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    Description string
    The description of the NRQL alert condition.
    Enabled bool
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    EvaluationDelay int
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    ExpirationDuration int
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    FillOption string
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    FillValue double
    This value will be used for filling gaps in the signal.
    Name string
    The title of the condition.
    OpenViolationOnExpiration bool
    Whether to create a new incident to capture that the signal expired.
    RunbookUrl string
    Runbook URL to display in notifications.
    SlideBy int
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    Terms List<Pulumi.NewRelic.Inputs.NrqlAlertConditionTerm>
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    Type string
    The type of the condition. Valid values are static or baseline. Defaults to static.
    ViolationTimeLimit string
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    ViolationTimeLimitSeconds int
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    Warning Pulumi.NewRelic.Inputs.NrqlAlertConditionWarning
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    Nrql NrqlAlertConditionNrqlArgs
    A NRQL query. See NRQL below for details.
    PolicyId int
    The ID of the policy where this condition should be used.
    AccountId int
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    AggregationDelay string
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    AggregationMethod string
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    AggregationTimer string
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    AggregationWindow int
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    BaselineDirection string
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    CloseViolationsOnExpiration bool
    Whether to close all open incidents when the signal expires.
    Critical NrqlAlertConditionCriticalArgs
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    Description string
    The description of the NRQL alert condition.
    Enabled bool
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    EvaluationDelay int
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    ExpirationDuration int
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    FillOption string
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    FillValue float64
    This value will be used for filling gaps in the signal.
    Name string
    The title of the condition.
    OpenViolationOnExpiration bool
    Whether to create a new incident to capture that the signal expired.
    RunbookUrl string
    Runbook URL to display in notifications.
    SlideBy int
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    Terms []NrqlAlertConditionTermArgs
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    Type string
    The type of the condition. Valid values are static or baseline. Defaults to static.
    ViolationTimeLimit string
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    ViolationTimeLimitSeconds int
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    Warning NrqlAlertConditionWarningArgs
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    nrql NrqlAlertConditionNrql
    A NRQL query. See NRQL below for details.
    policyId Integer
    The ID of the policy where this condition should be used.
    accountId Integer
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    aggregationDelay String
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    aggregationMethod String
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    aggregationTimer String
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    aggregationWindow Integer
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    baselineDirection String
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    closeViolationsOnExpiration Boolean
    Whether to close all open incidents when the signal expires.
    critical NrqlAlertConditionCritical
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    description String
    The description of the NRQL alert condition.
    enabled Boolean
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    evaluationDelay Integer
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    expirationDuration Integer
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    fillOption String
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    fillValue Double
    This value will be used for filling gaps in the signal.
    name String
    The title of the condition.
    openViolationOnExpiration Boolean
    Whether to create a new incident to capture that the signal expired.
    runbookUrl String
    Runbook URL to display in notifications.
    slideBy Integer
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    terms List<NrqlAlertConditionTerm>
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    type String
    The type of the condition. Valid values are static or baseline. Defaults to static.
    violationTimeLimit String
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    violationTimeLimitSeconds Integer
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    warning NrqlAlertConditionWarning
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    nrql NrqlAlertConditionNrql
    A NRQL query. See NRQL below for details.
    policyId number
    The ID of the policy where this condition should be used.
    accountId number
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    aggregationDelay string
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    aggregationMethod string
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    aggregationTimer string
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    aggregationWindow number
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    baselineDirection string
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    closeViolationsOnExpiration boolean
    Whether to close all open incidents when the signal expires.
    critical NrqlAlertConditionCritical
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    description string
    The description of the NRQL alert condition.
    enabled boolean
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    evaluationDelay number
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    expirationDuration number
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    fillOption string
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    fillValue number
    This value will be used for filling gaps in the signal.
    name string
    The title of the condition.
    openViolationOnExpiration boolean
    Whether to create a new incident to capture that the signal expired.
    runbookUrl string
    Runbook URL to display in notifications.
    slideBy number
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    terms NrqlAlertConditionTerm[]
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    type string
    The type of the condition. Valid values are static or baseline. Defaults to static.
    violationTimeLimit string
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    violationTimeLimitSeconds number
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    warning NrqlAlertConditionWarning
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    nrql NrqlAlertConditionNrqlArgs
    A NRQL query. See NRQL below for details.
    policy_id int
    The ID of the policy where this condition should be used.
    account_id int
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    aggregation_delay str
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    aggregation_method str
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    aggregation_timer str
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    aggregation_window int
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    baseline_direction str
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    close_violations_on_expiration bool
    Whether to close all open incidents when the signal expires.
    critical NrqlAlertConditionCriticalArgs
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    description str
    The description of the NRQL alert condition.
    enabled bool
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    evaluation_delay int
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    expiration_duration int
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    fill_option str
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    fill_value float
    This value will be used for filling gaps in the signal.
    name str
    The title of the condition.
    open_violation_on_expiration bool
    Whether to create a new incident to capture that the signal expired.
    runbook_url str
    Runbook URL to display in notifications.
    slide_by int
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    terms Sequence[NrqlAlertConditionTermArgs]
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    type str
    The type of the condition. Valid values are static or baseline. Defaults to static.
    violation_time_limit str
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    violation_time_limit_seconds int
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    warning NrqlAlertConditionWarningArgs
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    nrql Property Map
    A NRQL query. See NRQL below for details.
    policyId Number
    The ID of the policy where this condition should be used.
    accountId Number
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    aggregationDelay String
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    aggregationMethod String
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    aggregationTimer String
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    aggregationWindow Number
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    baselineDirection String
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    closeViolationsOnExpiration Boolean
    Whether to close all open incidents when the signal expires.
    critical Property Map
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    description String
    The description of the NRQL alert condition.
    enabled Boolean
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    evaluationDelay Number
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    expirationDuration Number
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    fillOption String
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    fillValue Number
    This value will be used for filling gaps in the signal.
    name String
    The title of the condition.
    openViolationOnExpiration Boolean
    Whether to create a new incident to capture that the signal expired.
    runbookUrl String
    Runbook URL to display in notifications.
    slideBy Number
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    terms List<Property Map>
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    type String
    The type of the condition. Valid values are static or baseline. Defaults to static.
    violationTimeLimit String
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    violationTimeLimitSeconds Number
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    warning Property Map
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the NrqlAlertCondition resource produces the following output properties:

    EntityGuid string
    The unique entity identifier of the NRQL Condition in New Relic.
    Id string
    The provider-assigned unique ID for this managed resource.
    EntityGuid string
    The unique entity identifier of the NRQL Condition in New Relic.
    Id string
    The provider-assigned unique ID for this managed resource.
    entityGuid String
    The unique entity identifier of the NRQL Condition in New Relic.
    id String
    The provider-assigned unique ID for this managed resource.
    entityGuid string
    The unique entity identifier of the NRQL Condition in New Relic.
    id string
    The provider-assigned unique ID for this managed resource.
    entity_guid str
    The unique entity identifier of the NRQL Condition in New Relic.
    id str
    The provider-assigned unique ID for this managed resource.
    entityGuid String
    The unique entity identifier of the NRQL Condition in New Relic.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing NrqlAlertCondition Resource

    Get an existing NrqlAlertCondition resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: NrqlAlertConditionState, opts?: CustomResourceOptions): NrqlAlertCondition
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            account_id: Optional[int] = None,
            aggregation_delay: Optional[str] = None,
            aggregation_method: Optional[str] = None,
            aggregation_timer: Optional[str] = None,
            aggregation_window: Optional[int] = None,
            baseline_direction: Optional[str] = None,
            close_violations_on_expiration: Optional[bool] = None,
            critical: Optional[NrqlAlertConditionCriticalArgs] = None,
            description: Optional[str] = None,
            enabled: Optional[bool] = None,
            entity_guid: Optional[str] = None,
            evaluation_delay: Optional[int] = None,
            expiration_duration: Optional[int] = None,
            fill_option: Optional[str] = None,
            fill_value: Optional[float] = None,
            name: Optional[str] = None,
            nrql: Optional[NrqlAlertConditionNrqlArgs] = None,
            open_violation_on_expiration: Optional[bool] = None,
            policy_id: Optional[int] = None,
            runbook_url: Optional[str] = None,
            slide_by: Optional[int] = None,
            terms: Optional[Sequence[NrqlAlertConditionTermArgs]] = None,
            type: Optional[str] = None,
            violation_time_limit: Optional[str] = None,
            violation_time_limit_seconds: Optional[int] = None,
            warning: Optional[NrqlAlertConditionWarningArgs] = None) -> NrqlAlertCondition
    func GetNrqlAlertCondition(ctx *Context, name string, id IDInput, state *NrqlAlertConditionState, opts ...ResourceOption) (*NrqlAlertCondition, error)
    public static NrqlAlertCondition Get(string name, Input<string> id, NrqlAlertConditionState? state, CustomResourceOptions? opts = null)
    public static NrqlAlertCondition get(String name, Output<String> id, NrqlAlertConditionState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccountId int
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    AggregationDelay string
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    AggregationMethod string
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    AggregationTimer string
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    AggregationWindow int
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    BaselineDirection string
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    CloseViolationsOnExpiration bool
    Whether to close all open incidents when the signal expires.
    Critical Pulumi.NewRelic.Inputs.NrqlAlertConditionCritical
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    Description string
    The description of the NRQL alert condition.
    Enabled bool
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    EntityGuid string
    The unique entity identifier of the NRQL Condition in New Relic.
    EvaluationDelay int
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    ExpirationDuration int
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    FillOption string
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    FillValue double
    This value will be used for filling gaps in the signal.
    Name string
    The title of the condition.
    Nrql Pulumi.NewRelic.Inputs.NrqlAlertConditionNrql
    A NRQL query. See NRQL below for details.
    OpenViolationOnExpiration bool
    Whether to create a new incident to capture that the signal expired.
    PolicyId int
    The ID of the policy where this condition should be used.
    RunbookUrl string
    Runbook URL to display in notifications.
    SlideBy int
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    Terms List<Pulumi.NewRelic.Inputs.NrqlAlertConditionTerm>
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    Type string
    The type of the condition. Valid values are static or baseline. Defaults to static.
    ViolationTimeLimit string
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    ViolationTimeLimitSeconds int
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    Warning Pulumi.NewRelic.Inputs.NrqlAlertConditionWarning
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    AccountId int
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    AggregationDelay string
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    AggregationMethod string
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    AggregationTimer string
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    AggregationWindow int
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    BaselineDirection string
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    CloseViolationsOnExpiration bool
    Whether to close all open incidents when the signal expires.
    Critical NrqlAlertConditionCriticalArgs
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    Description string
    The description of the NRQL alert condition.
    Enabled bool
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    EntityGuid string
    The unique entity identifier of the NRQL Condition in New Relic.
    EvaluationDelay int
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    ExpirationDuration int
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    FillOption string
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    FillValue float64
    This value will be used for filling gaps in the signal.
    Name string
    The title of the condition.
    Nrql NrqlAlertConditionNrqlArgs
    A NRQL query. See NRQL below for details.
    OpenViolationOnExpiration bool
    Whether to create a new incident to capture that the signal expired.
    PolicyId int
    The ID of the policy where this condition should be used.
    RunbookUrl string
    Runbook URL to display in notifications.
    SlideBy int
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    Terms []NrqlAlertConditionTermArgs
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    Type string
    The type of the condition. Valid values are static or baseline. Defaults to static.
    ViolationTimeLimit string
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    ViolationTimeLimitSeconds int
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    Warning NrqlAlertConditionWarningArgs
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    accountId Integer
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    aggregationDelay String
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    aggregationMethod String
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    aggregationTimer String
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    aggregationWindow Integer
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    baselineDirection String
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    closeViolationsOnExpiration Boolean
    Whether to close all open incidents when the signal expires.
    critical NrqlAlertConditionCritical
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    description String
    The description of the NRQL alert condition.
    enabled Boolean
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    entityGuid String
    The unique entity identifier of the NRQL Condition in New Relic.
    evaluationDelay Integer
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    expirationDuration Integer
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    fillOption String
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    fillValue Double
    This value will be used for filling gaps in the signal.
    name String
    The title of the condition.
    nrql NrqlAlertConditionNrql
    A NRQL query. See NRQL below for details.
    openViolationOnExpiration Boolean
    Whether to create a new incident to capture that the signal expired.
    policyId Integer
    The ID of the policy where this condition should be used.
    runbookUrl String
    Runbook URL to display in notifications.
    slideBy Integer
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    terms List<NrqlAlertConditionTerm>
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    type String
    The type of the condition. Valid values are static or baseline. Defaults to static.
    violationTimeLimit String
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    violationTimeLimitSeconds Integer
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    warning NrqlAlertConditionWarning
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    accountId number
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    aggregationDelay string
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    aggregationMethod string
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    aggregationTimer string
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    aggregationWindow number
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    baselineDirection string
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    closeViolationsOnExpiration boolean
    Whether to close all open incidents when the signal expires.
    critical NrqlAlertConditionCritical
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    description string
    The description of the NRQL alert condition.
    enabled boolean
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    entityGuid string
    The unique entity identifier of the NRQL Condition in New Relic.
    evaluationDelay number
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    expirationDuration number
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    fillOption string
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    fillValue number
    This value will be used for filling gaps in the signal.
    name string
    The title of the condition.
    nrql NrqlAlertConditionNrql
    A NRQL query. See NRQL below for details.
    openViolationOnExpiration boolean
    Whether to create a new incident to capture that the signal expired.
    policyId number
    The ID of the policy where this condition should be used.
    runbookUrl string
    Runbook URL to display in notifications.
    slideBy number
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    terms NrqlAlertConditionTerm[]
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    type string
    The type of the condition. Valid values are static or baseline. Defaults to static.
    violationTimeLimit string
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    violationTimeLimitSeconds number
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    warning NrqlAlertConditionWarning
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    account_id int
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    aggregation_delay str
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    aggregation_method str
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    aggregation_timer str
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    aggregation_window int
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    baseline_direction str
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    close_violations_on_expiration bool
    Whether to close all open incidents when the signal expires.
    critical NrqlAlertConditionCriticalArgs
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    description str
    The description of the NRQL alert condition.
    enabled bool
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    entity_guid str
    The unique entity identifier of the NRQL Condition in New Relic.
    evaluation_delay int
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    expiration_duration int
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    fill_option str
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    fill_value float
    This value will be used for filling gaps in the signal.
    name str
    The title of the condition.
    nrql NrqlAlertConditionNrqlArgs
    A NRQL query. See NRQL below for details.
    open_violation_on_expiration bool
    Whether to create a new incident to capture that the signal expired.
    policy_id int
    The ID of the policy where this condition should be used.
    runbook_url str
    Runbook URL to display in notifications.
    slide_by int
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    terms Sequence[NrqlAlertConditionTermArgs]
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    type str
    The type of the condition. Valid values are static or baseline. Defaults to static.
    violation_time_limit str
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    violation_time_limit_seconds int
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    warning NrqlAlertConditionWarningArgs
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    accountId Number
    The New Relic account ID of the account you wish to create the condition. Defaults to the account ID set in your environment variable NEW_RELIC_ACCOUNT_ID.
    aggregationDelay String
    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 aggregation_delay with the event_flow and cadence methods. The maximum delay is 1200 seconds (20 minutes) when using event_flow and 3600 seconds (60 minutes) when using cadence. In both cases, the minimum delay is 0 seconds and the default is 120 seconds. aggregation_delay cannot be set with nrql.evaluation_offset.
    aggregationMethod String
    Determines when we consider an aggregation window to be complete so that we can evaluate the signal for incidents. Possible values are cadence, event_flow or event_timer. Default is event_flow. aggregation_method cannot be set with nrql.evaluation_offset.
    aggregationTimer String
    How long we wait after each data point arrives to make sure we've processed the whole batch. Use aggregation_timer with the event_timer method. The timer value can range from 0 seconds to 1200 seconds (20 minutes); the default is 60 seconds. aggregation_timer cannot be set with nrql.evaluation_offset.
    aggregationWindow Number
    The duration of the time window used to evaluate the NRQL query, in seconds. The value must be at least 30 seconds, and no more than 21600 seconds (6 hours). Default is 60 seconds.
    baselineDirection String
    The baseline direction of a baseline NRQL alert condition. Valid values are: lower_only, upper_and_lower, upper_only (case insensitive).
    closeViolationsOnExpiration Boolean
    Whether to close all open incidents when the signal expires.
    critical Property Map
    A list containing the critical threshold values. At least one critical or warning threshold must be defined. See Terms below for details.
    description String
    The description of the NRQL alert condition.
    enabled Boolean
    Whether to enable the alert condition. Valid values are true and false. Defaults to true.
    entityGuid String
    The unique entity identifier of the NRQL Condition in New Relic.
    evaluationDelay Number
    How long we wait until the signal starts evaluating. The maximum delay is 7200 seconds (120 minutes).
    expirationDuration Number
    The amount of time (in seconds) to wait before considering the signal expired. The value must be at least 30 seconds, and no more than 172800 seconds (48 hours).
    fillOption String
    Which strategy to use when filling gaps in the signal. Possible values are none, last_value or static. If static, the fill_value field will be used for filling gaps in the signal.
    fillValue Number
    This value will be used for filling gaps in the signal.
    name String
    The title of the condition.
    nrql Property Map
    A NRQL query. See NRQL below for details.
    openViolationOnExpiration Boolean
    Whether to create a new incident to capture that the signal expired.
    policyId Number
    The ID of the policy where this condition should be used.
    runbookUrl String
    Runbook URL to display in notifications.
    slideBy Number
    Gathers data in overlapping time windows to smooth the chart line, making it easier to spot trends. The slide_by value is specified in seconds and must be smaller than and a factor of the aggregation_window.
    terms List<Property Map>
    DEPRECATED Use critical, and warning instead. A list of terms for this condition. See Terms below for details.

    Deprecated:use critical and warning attributes instead

    type String
    The type of the condition. Valid values are static or baseline. Defaults to static.
    violationTimeLimit String
    DEPRECATED: Use violation_time_limit_seconds instead. 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). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.

    Deprecated:use violation_time_limit_seconds attribute instead

    violationTimeLimitSeconds Number
    Sets a time limit, in seconds, that will automatically force-close a long-lasting incident after the time limit you select. The value must be between 300 seconds (5 minutes) to 2592000 seconds (30 days) (inclusive). *Note: One of violation_time_limit or violation_time_limit_seconds must be set, but not both.
    warning Property Map
    A list containing the warning threshold values. At least one critical or warning threshold must be defined. See Terms below for details.

    Supporting Types

    NrqlAlertConditionCritical, NrqlAlertConditionCriticalArgs

    Threshold double
    For baseline conditions must be in range [1, 1000].
    Duration int
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    Operator string
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    ThresholdDuration int
    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
    ThresholdOccurrences string
    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).
    TimeFunction string
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    Threshold float64
    For baseline conditions must be in range [1, 1000].
    Duration int
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    Operator string
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    ThresholdDuration int
    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
    ThresholdOccurrences string
    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).
    TimeFunction string
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold Double
    For baseline conditions must be in range [1, 1000].
    duration Integer
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator String
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    thresholdDuration Integer
    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
    thresholdOccurrences String
    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).
    timeFunction String
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold number
    For baseline conditions must be in range [1, 1000].
    duration number
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator string
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    thresholdDuration 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
    thresholdOccurrences string
    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).
    timeFunction string
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold float
    For baseline conditions must be in range [1, 1000].
    duration int
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator str
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    threshold_duration int
    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
    threshold_occurrences str
    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).
    time_function str
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold Number
    For baseline conditions must be in range [1, 1000].
    duration Number
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator String
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    thresholdDuration 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
    thresholdOccurrences String
    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).
    timeFunction String
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    NrqlAlertConditionNrql, NrqlAlertConditionNrqlArgs

    Query string
    EvaluationOffset int
    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.

    Deprecated:use aggregation_method attribute instead

    SinceValue 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.

    Deprecated:use aggregation_method attribute instead

    Query string
    EvaluationOffset int
    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.

    Deprecated:use aggregation_method attribute instead

    SinceValue 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.

    Deprecated:use aggregation_method attribute instead

    query String
    evaluationOffset Integer
    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.

    Deprecated:use aggregation_method attribute instead

    sinceValue 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.

    Deprecated:use aggregation_method attribute instead

    query string
    evaluationOffset 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.

    Deprecated:use aggregation_method attribute instead

    sinceValue 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.

    Deprecated:use aggregation_method attribute instead

    query str
    evaluation_offset int
    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.

    Deprecated:use aggregation_method attribute instead

    since_value str
    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.

    Deprecated:use aggregation_method attribute instead

    query String
    evaluationOffset 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.

    Deprecated:use aggregation_method attribute instead

    sinceValue 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.

    Deprecated:use aggregation_method attribute instead

    NrqlAlertConditionTerm, NrqlAlertConditionTermArgs

    Threshold double
    For baseline conditions must be in range [1, 1000].
    Duration int
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    Operator string
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    Priority string
    One of (critical, warning). Defaults to 'critical'. At least one condition term must have priority set to 'critical'.
    ThresholdDuration int
    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
    ThresholdOccurrences string
    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).
    TimeFunction string
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    Threshold float64
    For baseline conditions must be in range [1, 1000].
    Duration int
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    Operator string
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    Priority string
    One of (critical, warning). Defaults to 'critical'. At least one condition term must have priority set to 'critical'.
    ThresholdDuration int
    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
    ThresholdOccurrences string
    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).
    TimeFunction string
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold Double
    For baseline conditions must be in range [1, 1000].
    duration Integer
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator String
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    priority String
    One of (critical, warning). Defaults to 'critical'. At least one condition term must have priority set to 'critical'.
    thresholdDuration Integer
    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
    thresholdOccurrences String
    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).
    timeFunction String
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold number
    For baseline conditions must be in range [1, 1000].
    duration number
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator string
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    priority string
    One of (critical, warning). Defaults to 'critical'. At least one condition term must have priority set to 'critical'.
    thresholdDuration 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
    thresholdOccurrences string
    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).
    timeFunction string
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold float
    For baseline conditions must be in range [1, 1000].
    duration int
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator str
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    priority str
    One of (critical, warning). Defaults to 'critical'. At least one condition term must have priority set to 'critical'.
    threshold_duration int
    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
    threshold_occurrences str
    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).
    time_function str
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold Number
    For baseline conditions must be in range [1, 1000].
    duration Number
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator String
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    priority String
    One of (critical, warning). Defaults to 'critical'. At least one condition term must have priority set to 'critical'.
    thresholdDuration 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
    thresholdOccurrences String
    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).
    timeFunction String
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    NrqlAlertConditionWarning, NrqlAlertConditionWarningArgs

    Threshold double
    For baseline conditions must be in range [1, 1000].
    Duration int
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    Operator string
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    ThresholdDuration int
    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
    ThresholdOccurrences string
    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).
    TimeFunction string
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    Threshold float64
    For baseline conditions must be in range [1, 1000].
    Duration int
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    Operator string
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    ThresholdDuration int
    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
    ThresholdOccurrences string
    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).
    TimeFunction string
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold Double
    For baseline conditions must be in range [1, 1000].
    duration Integer
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator String
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    thresholdDuration Integer
    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
    thresholdOccurrences String
    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).
    timeFunction String
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold number
    For baseline conditions must be in range [1, 1000].
    duration number
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator string
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    thresholdDuration 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
    thresholdOccurrences string
    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).
    timeFunction string
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold float
    For baseline conditions must be in range [1, 1000].
    duration int
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator str
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    threshold_duration int
    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
    threshold_occurrences str
    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).
    time_function str
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    threshold Number
    For baseline conditions must be in range [1, 1000].
    duration Number
    In minutes, must be in the range of 1 to 120 (inclusive).

    Deprecated:use threshold_duration attribute instead

    operator String
    One of (above, above_or_equals, below, below_or_equals, equals, not_equals). Defaults to 'equals'.
    thresholdDuration 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
    thresholdOccurrences String
    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).
    timeFunction String
    Valid values are: 'all' or 'any'

    Deprecated:use threshold_occurrences attribute instead

    Import

    NRQL alert conditions can be imported using a composite ID of <policy_id>:<condition_id>:<conditionType>, e.g.

    // For baseline conditions

    $ pulumi import newrelic:index/nrqlAlertCondition:NrqlAlertCondition foo 538291:6789035:baseline
    

    // For static conditions

    $ pulumi import newrelic:index/nrqlAlertCondition:NrqlAlertCondition foo 538291:6789035:static
    

    Package Details

    Repository
    New Relic pulumi/pulumi-newrelic
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the newrelic Terraform Provider.
    newrelic logo
    New Relic v5.22.0 published on Wednesday, Mar 27, 2024 by Pulumi