honeycombio.BurnAlert
Explore with Pulumi AI
# Resource: honeycombio.BurnAlert
Creates a burn alert.
For more information about burn alerts, check out Define Burn Alerts.
Example Usage
Basic Example - Exhaustion Time Burn Alert
import * as pulumi from "@pulumi/pulumi";
import * as honeycombio from "@pulumi/honeycombio";
const config = new pulumi.Config();
const dataset = config.require("dataset");
const sloId = config.require("sloId");
const exampleAlert = new honeycombio.BurnAlert("exampleAlert", {
alertType: "exhaustion_time",
exhaustionMinutes: 480,
description: "Exhaustion burn alert description",
dataset: dataset,
sloId: sloId,
recipients: [
{
type: "email",
target: "hello@example.com",
},
{
type: "slack",
target: "#example-channel",
},
],
});
import pulumi
import pulumi_honeycombio as honeycombio
config = pulumi.Config()
dataset = config.require("dataset")
slo_id = config.require("sloId")
example_alert = honeycombio.BurnAlert("exampleAlert",
alert_type="exhaustion_time",
exhaustion_minutes=480,
description="Exhaustion burn alert description",
dataset=dataset,
slo_id=slo_id,
recipients=[
{
"type": "email",
"target": "hello@example.com",
},
{
"type": "slack",
"target": "#example-channel",
},
])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/honeycombio/honeycombio"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
dataset := cfg.Require("dataset")
sloId := cfg.Require("sloId")
_, err := honeycombio.NewBurnAlert(ctx, "exampleAlert", &honeycombio.BurnAlertArgs{
AlertType: pulumi.String("exhaustion_time"),
ExhaustionMinutes: pulumi.Float64(480),
Description: pulumi.String("Exhaustion burn alert description"),
Dataset: pulumi.String(dataset),
SloId: pulumi.String(sloId),
Recipients: honeycombio.BurnAlertRecipientArray{
&honeycombio.BurnAlertRecipientArgs{
Type: pulumi.String("email"),
Target: pulumi.String("hello@example.com"),
},
&honeycombio.BurnAlertRecipientArgs{
Type: pulumi.String("slack"),
Target: pulumi.String("#example-channel"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Honeycombio = Pulumi.Honeycombio;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var dataset = config.Require("dataset");
var sloId = config.Require("sloId");
var exampleAlert = new Honeycombio.BurnAlert("exampleAlert", new()
{
AlertType = "exhaustion_time",
ExhaustionMinutes = 480,
Description = "Exhaustion burn alert description",
Dataset = dataset,
SloId = sloId,
Recipients = new[]
{
new Honeycombio.Inputs.BurnAlertRecipientArgs
{
Type = "email",
Target = "hello@example.com",
},
new Honeycombio.Inputs.BurnAlertRecipientArgs
{
Type = "slack",
Target = "#example-channel",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.honeycombio.BurnAlert;
import com.pulumi.honeycombio.BurnAlertArgs;
import com.pulumi.honeycombio.inputs.BurnAlertRecipientArgs;
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) {
final var config = ctx.config();
final var dataset = config.get("dataset");
final var sloId = config.get("sloId");
var exampleAlert = new BurnAlert("exampleAlert", BurnAlertArgs.builder()
.alertType("exhaustion_time")
.exhaustionMinutes(480)
.description("Exhaustion burn alert description")
.dataset(dataset)
.sloId(sloId)
.recipients(
BurnAlertRecipientArgs.builder()
.type("email")
.target("hello@example.com")
.build(),
BurnAlertRecipientArgs.builder()
.type("slack")
.target("#example-channel")
.build())
.build());
}
}
configuration:
dataset:
type: string
sloId:
type: string
resources:
exampleAlert:
type: honeycombio:BurnAlert
properties:
alertType: exhaustion_time
exhaustionMinutes: 480
description: Exhaustion burn alert description
dataset: ${dataset}
sloId: ${sloId}
# one or more recipients
recipients:
- type: email
target: hello@example.com
- type: slack
target: '#example-channel'
Basic Example - Budget Rate Burn Alert
import * as pulumi from "@pulumi/pulumi";
import * as honeycombio from "@pulumi/honeycombio";
const config = new pulumi.Config();
const dataset = config.require("dataset");
const sloId = config.require("sloId");
const exampleAlert = new honeycombio.BurnAlert("exampleAlert", {
alertType: "budget_rate",
budgetRateWindowMinutes: 480,
budgetRateDecreasePercent: 1,
description: "my example description",
dataset: dataset,
sloId: sloId,
recipients: [{
type: "webhook",
target: "name of the webhook",
}],
});
import pulumi
import pulumi_honeycombio as honeycombio
config = pulumi.Config()
dataset = config.require("dataset")
slo_id = config.require("sloId")
example_alert = honeycombio.BurnAlert("exampleAlert",
alert_type="budget_rate",
budget_rate_window_minutes=480,
budget_rate_decrease_percent=1,
description="my example description",
dataset=dataset,
slo_id=slo_id,
recipients=[{
"type": "webhook",
"target": "name of the webhook",
}])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/honeycombio/honeycombio"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
dataset := cfg.Require("dataset")
sloId := cfg.Require("sloId")
_, err := honeycombio.NewBurnAlert(ctx, "exampleAlert", &honeycombio.BurnAlertArgs{
AlertType: pulumi.String("budget_rate"),
BudgetRateWindowMinutes: pulumi.Float64(480),
BudgetRateDecreasePercent: pulumi.Float64(1),
Description: pulumi.String("my example description"),
Dataset: pulumi.String(dataset),
SloId: pulumi.String(sloId),
Recipients: honeycombio.BurnAlertRecipientArray{
&honeycombio.BurnAlertRecipientArgs{
Type: pulumi.String("webhook"),
Target: pulumi.String("name of the webhook"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Honeycombio = Pulumi.Honeycombio;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var dataset = config.Require("dataset");
var sloId = config.Require("sloId");
var exampleAlert = new Honeycombio.BurnAlert("exampleAlert", new()
{
AlertType = "budget_rate",
BudgetRateWindowMinutes = 480,
BudgetRateDecreasePercent = 1,
Description = "my example description",
Dataset = dataset,
SloId = sloId,
Recipients = new[]
{
new Honeycombio.Inputs.BurnAlertRecipientArgs
{
Type = "webhook",
Target = "name of the webhook",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.honeycombio.BurnAlert;
import com.pulumi.honeycombio.BurnAlertArgs;
import com.pulumi.honeycombio.inputs.BurnAlertRecipientArgs;
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) {
final var config = ctx.config();
final var dataset = config.get("dataset");
final var sloId = config.get("sloId");
var exampleAlert = new BurnAlert("exampleAlert", BurnAlertArgs.builder()
.alertType("budget_rate")
.budgetRateWindowMinutes(480)
.budgetRateDecreasePercent(1)
.description("my example description")
.dataset(dataset)
.sloId(sloId)
.recipients(BurnAlertRecipientArgs.builder()
.type("webhook")
.target("name of the webhook")
.build())
.build());
}
}
configuration:
dataset:
type: string
sloId:
type: string
resources:
exampleAlert:
type: honeycombio:BurnAlert
properties:
alertType: budget_rate
budgetRateWindowMinutes: 480
budgetRateDecreasePercent: 1
description: my example description
dataset: ${dataset}
sloId: ${sloId}
# one or more recipients
recipients:
- type: webhook
target: name of the webhook
Example - Exhaustion Time Burn Alert with PagerDuty Recipient and Severity
import * as pulumi from "@pulumi/pulumi";
import * as honeycombio from "@pulumi/honeycombio";
const config = new pulumi.Config();
const dataset = config.require("dataset");
const sloId = config.require("sloId");
const pdProd = honeycombio.getRecipient({
type: "pagerduty",
detailFilter: {
name: "integration_name",
value: "Prod On-Call",
},
});
const exampleAlert = new honeycombio.BurnAlert("exampleAlert", {
exhaustionMinutes: 60,
description: "Burn alert description",
dataset: dataset,
sloId: sloId,
recipients: [{
id: pdProd.then(pdProd => pdProd.id),
notificationDetails: [{
pagerdutySeverity: "critical",
}],
}],
});
import pulumi
import pulumi_honeycombio as honeycombio
config = pulumi.Config()
dataset = config.require("dataset")
slo_id = config.require("sloId")
pd_prod = honeycombio.get_recipient(type="pagerduty",
detail_filter={
"name": "integration_name",
"value": "Prod On-Call",
})
example_alert = honeycombio.BurnAlert("exampleAlert",
exhaustion_minutes=60,
description="Burn alert description",
dataset=dataset,
slo_id=slo_id,
recipients=[{
"id": pd_prod.id,
"notification_details": [{
"pagerduty_severity": "critical",
}],
}])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/honeycombio/honeycombio"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
dataset := cfg.Require("dataset")
sloId := cfg.Require("sloId")
pdProd, err := honeycombio.GetRecipient(ctx, &honeycombio.GetRecipientArgs{
Type: "pagerduty",
DetailFilter: honeycombio.GetRecipientDetailFilter{
Name: "integration_name",
Value: pulumi.StringRef("Prod On-Call"),
},
}, nil)
if err != nil {
return err
}
_, err = honeycombio.NewBurnAlert(ctx, "exampleAlert", &honeycombio.BurnAlertArgs{
ExhaustionMinutes: pulumi.Float64(60),
Description: pulumi.String("Burn alert description"),
Dataset: pulumi.String(dataset),
SloId: pulumi.String(sloId),
Recipients: honeycombio.BurnAlertRecipientArray{
&honeycombio.BurnAlertRecipientArgs{
Id: pulumi.String(pdProd.Id),
NotificationDetails: honeycombio.BurnAlertRecipientNotificationDetailArray{
&honeycombio.BurnAlertRecipientNotificationDetailArgs{
PagerdutySeverity: pulumi.String("critical"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Honeycombio = Pulumi.Honeycombio;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var dataset = config.Require("dataset");
var sloId = config.Require("sloId");
var pdProd = Honeycombio.GetRecipient.Invoke(new()
{
Type = "pagerduty",
DetailFilter = new Honeycombio.Inputs.GetRecipientDetailFilterInputArgs
{
Name = "integration_name",
Value = "Prod On-Call",
},
});
var exampleAlert = new Honeycombio.BurnAlert("exampleAlert", new()
{
ExhaustionMinutes = 60,
Description = "Burn alert description",
Dataset = dataset,
SloId = sloId,
Recipients = new[]
{
new Honeycombio.Inputs.BurnAlertRecipientArgs
{
Id = pdProd.Apply(getRecipientResult => getRecipientResult.Id),
NotificationDetails = new[]
{
new Honeycombio.Inputs.BurnAlertRecipientNotificationDetailArgs
{
PagerdutySeverity = "critical",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.honeycombio.HoneycombioFunctions;
import com.pulumi.honeycombio.inputs.GetRecipientArgs;
import com.pulumi.honeycombio.inputs.GetRecipientDetailFilterArgs;
import com.pulumi.honeycombio.BurnAlert;
import com.pulumi.honeycombio.BurnAlertArgs;
import com.pulumi.honeycombio.inputs.BurnAlertRecipientArgs;
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) {
final var config = ctx.config();
final var dataset = config.get("dataset");
final var sloId = config.get("sloId");
final var pdProd = HoneycombioFunctions.getRecipient(GetRecipientArgs.builder()
.type("pagerduty")
.detailFilter(GetRecipientDetailFilterArgs.builder()
.name("integration_name")
.value("Prod On-Call")
.build())
.build());
var exampleAlert = new BurnAlert("exampleAlert", BurnAlertArgs.builder()
.exhaustionMinutes(60)
.description("Burn alert description")
.dataset(dataset)
.sloId(sloId)
.recipients(BurnAlertRecipientArgs.builder()
.id(pdProd.applyValue(getRecipientResult -> getRecipientResult.id()))
.notificationDetails(BurnAlertRecipientNotificationDetailArgs.builder()
.pagerdutySeverity("critical")
.build())
.build())
.build());
}
}
configuration:
dataset:
type: string
sloId:
type: string
resources:
exampleAlert:
type: honeycombio:BurnAlert
properties:
exhaustionMinutes: 60
description: Burn alert description
dataset: ${dataset}
sloId: ${sloId}
recipients:
- id: ${pdProd.id}
notificationDetails:
- pagerdutySeverity: critical
variables:
pdProd:
fn::invoke:
function: honeycombio:getRecipient
arguments:
type: pagerduty
detailFilter:
name: integration_name
value: Prod On-Call
Create BurnAlert Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new BurnAlert(name: string, args: BurnAlertArgs, opts?: CustomResourceOptions);
@overload
def BurnAlert(resource_name: str,
args: BurnAlertArgs,
opts: Optional[ResourceOptions] = None)
@overload
def BurnAlert(resource_name: str,
opts: Optional[ResourceOptions] = None,
dataset: Optional[str] = None,
slo_id: Optional[str] = None,
alert_type: Optional[str] = None,
budget_rate_decrease_percent: Optional[float] = None,
budget_rate_window_minutes: Optional[float] = None,
description: Optional[str] = None,
exhaustion_minutes: Optional[float] = None,
recipients: Optional[Sequence[BurnAlertRecipientArgs]] = None)
func NewBurnAlert(ctx *Context, name string, args BurnAlertArgs, opts ...ResourceOption) (*BurnAlert, error)
public BurnAlert(string name, BurnAlertArgs args, CustomResourceOptions? opts = null)
public BurnAlert(String name, BurnAlertArgs args)
public BurnAlert(String name, BurnAlertArgs args, CustomResourceOptions options)
type: honeycombio:BurnAlert
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args BurnAlertArgs
- 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 BurnAlertArgs
- 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 BurnAlertArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args BurnAlertArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args BurnAlertArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var burnAlertResource = new Honeycombio.BurnAlert("burnAlertResource", new()
{
Dataset = "string",
SloId = "string",
AlertType = "string",
BudgetRateDecreasePercent = 0,
BudgetRateWindowMinutes = 0,
Description = "string",
ExhaustionMinutes = 0,
Recipients = new[]
{
new Honeycombio.Inputs.BurnAlertRecipientArgs
{
Id = "string",
NotificationDetails = new[]
{
new Honeycombio.Inputs.BurnAlertRecipientNotificationDetailArgs
{
PagerdutySeverity = "string",
Variables = new[]
{
new Honeycombio.Inputs.BurnAlertRecipientNotificationDetailVariableArgs
{
Name = "string",
Value = "string",
},
},
},
},
Target = "string",
Type = "string",
},
},
});
example, err := honeycombio.NewBurnAlert(ctx, "burnAlertResource", &honeycombio.BurnAlertArgs{
Dataset: pulumi.String("string"),
SloId: pulumi.String("string"),
AlertType: pulumi.String("string"),
BudgetRateDecreasePercent: pulumi.Float64(0),
BudgetRateWindowMinutes: pulumi.Float64(0),
Description: pulumi.String("string"),
ExhaustionMinutes: pulumi.Float64(0),
Recipients: .BurnAlertRecipientArray{
&.BurnAlertRecipientArgs{
Id: pulumi.String("string"),
NotificationDetails: .BurnAlertRecipientNotificationDetailArray{
&.BurnAlertRecipientNotificationDetailArgs{
PagerdutySeverity: pulumi.String("string"),
Variables: .BurnAlertRecipientNotificationDetailVariableArray{
&.BurnAlertRecipientNotificationDetailVariableArgs{
Name: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
},
},
Target: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
})
var burnAlertResource = new BurnAlert("burnAlertResource", BurnAlertArgs.builder()
.dataset("string")
.sloId("string")
.alertType("string")
.budgetRateDecreasePercent(0)
.budgetRateWindowMinutes(0)
.description("string")
.exhaustionMinutes(0)
.recipients(BurnAlertRecipientArgs.builder()
.id("string")
.notificationDetails(BurnAlertRecipientNotificationDetailArgs.builder()
.pagerdutySeverity("string")
.variables(BurnAlertRecipientNotificationDetailVariableArgs.builder()
.name("string")
.value("string")
.build())
.build())
.target("string")
.type("string")
.build())
.build());
burn_alert_resource = honeycombio.BurnAlert("burnAlertResource",
dataset="string",
slo_id="string",
alert_type="string",
budget_rate_decrease_percent=0,
budget_rate_window_minutes=0,
description="string",
exhaustion_minutes=0,
recipients=[{
"id": "string",
"notification_details": [{
"pagerduty_severity": "string",
"variables": [{
"name": "string",
"value": "string",
}],
}],
"target": "string",
"type": "string",
}])
const burnAlertResource = new honeycombio.BurnAlert("burnAlertResource", {
dataset: "string",
sloId: "string",
alertType: "string",
budgetRateDecreasePercent: 0,
budgetRateWindowMinutes: 0,
description: "string",
exhaustionMinutes: 0,
recipients: [{
id: "string",
notificationDetails: [{
pagerdutySeverity: "string",
variables: [{
name: "string",
value: "string",
}],
}],
target: "string",
type: "string",
}],
});
type: honeycombio:BurnAlert
properties:
alertType: string
budgetRateDecreasePercent: 0
budgetRateWindowMinutes: 0
dataset: string
description: string
exhaustionMinutes: 0
recipients:
- id: string
notificationDetails:
- pagerdutySeverity: string
variables:
- name: string
value: string
target: string
type: string
sloId: string
BurnAlert Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The BurnAlert resource accepts the following input properties:
- Dataset string
- The dataset this burn alert is associated with.
- Slo
Id string - ID of the SLO this burn alert is associated with.
- Alert
Type string - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - Budget
Rate doubleDecrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - Budget
Rate doubleWindow Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - Description string
- A description for this Burn Alert.
- Exhaustion
Minutes double - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - Recipients
List<Burn
Alert Recipient> - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- Dataset string
- The dataset this burn alert is associated with.
- Slo
Id string - ID of the SLO this burn alert is associated with.
- Alert
Type string - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - Budget
Rate float64Decrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - Budget
Rate float64Window Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - Description string
- A description for this Burn Alert.
- Exhaustion
Minutes float64 - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - Recipients
[]Burn
Alert Recipient Args - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- dataset String
- The dataset this burn alert is associated with.
- slo
Id String - ID of the SLO this burn alert is associated with.
- alert
Type String - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - budget
Rate DoubleDecrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - budget
Rate DoubleWindow Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - description String
- A description for this Burn Alert.
- exhaustion
Minutes Double - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - recipients
List<Burn
Alert Recipient> - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- dataset string
- The dataset this burn alert is associated with.
- slo
Id string - ID of the SLO this burn alert is associated with.
- alert
Type string - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - budget
Rate numberDecrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - budget
Rate numberWindow Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - description string
- A description for this Burn Alert.
- exhaustion
Minutes number - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - recipients
Burn
Alert Recipient[] - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- dataset str
- The dataset this burn alert is associated with.
- slo_
id str - ID of the SLO this burn alert is associated with.
- alert_
type str - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - budget_
rate_ floatdecrease_ percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - budget_
rate_ floatwindow_ minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - description str
- A description for this Burn Alert.
- exhaustion_
minutes float - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - recipients
Sequence[Burn
Alert Recipient Args] - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- dataset String
- The dataset this burn alert is associated with.
- slo
Id String - ID of the SLO this burn alert is associated with.
- alert
Type String - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - budget
Rate NumberDecrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - budget
Rate NumberWindow Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - description String
- A description for this Burn Alert.
- exhaustion
Minutes Number - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - recipients List<Property Map>
- Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
Outputs
All input properties are implicitly available as output properties. Additionally, the BurnAlert resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing BurnAlert Resource
Get an existing BurnAlert 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?: BurnAlertState, opts?: CustomResourceOptions): BurnAlert
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
alert_type: Optional[str] = None,
budget_rate_decrease_percent: Optional[float] = None,
budget_rate_window_minutes: Optional[float] = None,
dataset: Optional[str] = None,
description: Optional[str] = None,
exhaustion_minutes: Optional[float] = None,
recipients: Optional[Sequence[BurnAlertRecipientArgs]] = None,
slo_id: Optional[str] = None) -> BurnAlert
func GetBurnAlert(ctx *Context, name string, id IDInput, state *BurnAlertState, opts ...ResourceOption) (*BurnAlert, error)
public static BurnAlert Get(string name, Input<string> id, BurnAlertState? state, CustomResourceOptions? opts = null)
public static BurnAlert get(String name, Output<String> id, BurnAlertState state, CustomResourceOptions options)
resources: _: type: honeycombio:BurnAlert get: id: ${id}
- 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.
- Alert
Type string - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - Budget
Rate doubleDecrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - Budget
Rate doubleWindow Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - Dataset string
- The dataset this burn alert is associated with.
- Description string
- A description for this Burn Alert.
- Exhaustion
Minutes double - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - Recipients
List<Burn
Alert Recipient> - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- Slo
Id string - ID of the SLO this burn alert is associated with.
- Alert
Type string - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - Budget
Rate float64Decrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - Budget
Rate float64Window Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - Dataset string
- The dataset this burn alert is associated with.
- Description string
- A description for this Burn Alert.
- Exhaustion
Minutes float64 - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - Recipients
[]Burn
Alert Recipient Args - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- Slo
Id string - ID of the SLO this burn alert is associated with.
- alert
Type String - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - budget
Rate DoubleDecrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - budget
Rate DoubleWindow Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - dataset String
- The dataset this burn alert is associated with.
- description String
- A description for this Burn Alert.
- exhaustion
Minutes Double - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - recipients
List<Burn
Alert Recipient> - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- slo
Id String - ID of the SLO this burn alert is associated with.
- alert
Type string - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - budget
Rate numberDecrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - budget
Rate numberWindow Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - dataset string
- The dataset this burn alert is associated with.
- description string
- A description for this Burn Alert.
- exhaustion
Minutes number - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - recipients
Burn
Alert Recipient[] - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- slo
Id string - ID of the SLO this burn alert is associated with.
- alert_
type str - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - budget_
rate_ floatdecrease_ percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - budget_
rate_ floatwindow_ minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - dataset str
- The dataset this burn alert is associated with.
- description str
- A description for this Burn Alert.
- exhaustion_
minutes float - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - recipients
Sequence[Burn
Alert Recipient Args] - Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- slo_
id str - ID of the SLO this burn alert is associated with.
- alert
Type String - Type of the burn alert. Valid values are
exhaustion_time
andbudget_rate
. Defaults toexhaustion_time
. - budget
Rate NumberDecrease Percent - The percent the budget has decreased over the budget rate window.
The alert will fire when this budget decrease threshold is reached.
Must be between 0.0001% and 100%, with no more than 4 numbers past the decimal point.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - budget
Rate NumberWindow Minutes - The time period, in minutes, over which a budget rate will be calculated.
Must be between 60 and the associated SLO's time period.
Required when
alert_type
isbudget_rate
. Must not be provided whenalert_type
isexhaustion_time
. - dataset String
- The dataset this burn alert is associated with.
- description String
- A description for this Burn Alert.
- exhaustion
Minutes Number - The amount of time, in minutes, remaining before the SLO's error budget will be exhausted and
the alert will fire.
Must be 0 or greater.
Required when
alert_type
isexhaustion_time
. Must not be provided whenalert_type
isbudget_rate
. - recipients List<Property Map>
- Zero or more configuration blocks (described below) with the recipients to notify when the alert fires.
- slo
Id String - ID of the SLO this burn alert is associated with.
Supporting Types
BurnAlertRecipient, BurnAlertRecipientArgs
- Id string
- The ID of an already existing recipient. Should not be used in combination with
type
andtarget
. - Notification
Details List<BurnAlert Recipient Notification Detail> - a block of additional details to send along with the notification. Supported details are described below.
- Target string
- Target of the recipient, this has another meaning depending on the type of recipient (see the table below). Should not be used in combination with
id
. - Type string
- The type of the recipient, allowed types are
email
,pagerduty
,msteams
,slack
andwebhook
. Should not be used in combination withid
.
- Id string
- The ID of an already existing recipient. Should not be used in combination with
type
andtarget
. - Notification
Details []BurnAlert Recipient Notification Detail - a block of additional details to send along with the notification. Supported details are described below.
- Target string
- Target of the recipient, this has another meaning depending on the type of recipient (see the table below). Should not be used in combination with
id
. - Type string
- The type of the recipient, allowed types are
email
,pagerduty
,msteams
,slack
andwebhook
. Should not be used in combination withid
.
- id String
- The ID of an already existing recipient. Should not be used in combination with
type
andtarget
. - notification
Details List<BurnAlert Recipient Notification Detail> - a block of additional details to send along with the notification. Supported details are described below.
- target String
- Target of the recipient, this has another meaning depending on the type of recipient (see the table below). Should not be used in combination with
id
. - type String
- The type of the recipient, allowed types are
email
,pagerduty
,msteams
,slack
andwebhook
. Should not be used in combination withid
.
- id string
- The ID of an already existing recipient. Should not be used in combination with
type
andtarget
. - notification
Details BurnAlert Recipient Notification Detail[] - a block of additional details to send along with the notification. Supported details are described below.
- target string
- Target of the recipient, this has another meaning depending on the type of recipient (see the table below). Should not be used in combination with
id
. - type string
- The type of the recipient, allowed types are
email
,pagerduty
,msteams
,slack
andwebhook
. Should not be used in combination withid
.
- id str
- The ID of an already existing recipient. Should not be used in combination with
type
andtarget
. - notification_
details Sequence[BurnAlert Recipient Notification Detail] - a block of additional details to send along with the notification. Supported details are described below.
- target str
- Target of the recipient, this has another meaning depending on the type of recipient (see the table below). Should not be used in combination with
id
. - type str
- The type of the recipient, allowed types are
email
,pagerduty
,msteams
,slack
andwebhook
. Should not be used in combination withid
.
- id String
- The ID of an already existing recipient. Should not be used in combination with
type
andtarget
. - notification
Details List<Property Map> - a block of additional details to send along with the notification. Supported details are described below.
- target String
- Target of the recipient, this has another meaning depending on the type of recipient (see the table below). Should not be used in combination with
id
. - type String
- The type of the recipient, allowed types are
email
,pagerduty
,msteams
,slack
andwebhook
. Should not be used in combination withid
.
BurnAlertRecipientNotificationDetail, BurnAlertRecipientNotificationDetailArgs
- Pagerduty
Severity string - Indicates the severity of an alert and has a default value of
critical
but can be set to one ofinfo
,warning
,error
, orcritical
and must be used in combination with a PagerDuty recipient. - Variables
List<Burn
Alert Recipient Notification Detail Variable> Up to 10 configuration blocks with a
name
and avalue
to override the default variable value. Must be used in combination with a Webhook recipient that already has a variable with the same name configured.| Type | Target | |-----------|---------------------| | email | an email address | | pagerduty | N/A | | slack | name of the channel | | webhook | name of the webhook |
- Pagerduty
Severity string - Indicates the severity of an alert and has a default value of
critical
but can be set to one ofinfo
,warning
,error
, orcritical
and must be used in combination with a PagerDuty recipient. - Variables
[]Burn
Alert Recipient Notification Detail Variable Up to 10 configuration blocks with a
name
and avalue
to override the default variable value. Must be used in combination with a Webhook recipient that already has a variable with the same name configured.| Type | Target | |-----------|---------------------| | email | an email address | | pagerduty | N/A | | slack | name of the channel | | webhook | name of the webhook |
- pagerduty
Severity String - Indicates the severity of an alert and has a default value of
critical
but can be set to one ofinfo
,warning
,error
, orcritical
and must be used in combination with a PagerDuty recipient. - variables
List<Burn
Alert Recipient Notification Detail Variable> Up to 10 configuration blocks with a
name
and avalue
to override the default variable value. Must be used in combination with a Webhook recipient that already has a variable with the same name configured.| Type | Target | |-----------|---------------------| | email | an email address | | pagerduty | N/A | | slack | name of the channel | | webhook | name of the webhook |
- pagerduty
Severity string - Indicates the severity of an alert and has a default value of
critical
but can be set to one ofinfo
,warning
,error
, orcritical
and must be used in combination with a PagerDuty recipient. - variables
Burn
Alert Recipient Notification Detail Variable[] Up to 10 configuration blocks with a
name
and avalue
to override the default variable value. Must be used in combination with a Webhook recipient that already has a variable with the same name configured.| Type | Target | |-----------|---------------------| | email | an email address | | pagerduty | N/A | | slack | name of the channel | | webhook | name of the webhook |
- pagerduty_
severity str - Indicates the severity of an alert and has a default value of
critical
but can be set to one ofinfo
,warning
,error
, orcritical
and must be used in combination with a PagerDuty recipient. - variables
Sequence[Burn
Alert Recipient Notification Detail Variable] Up to 10 configuration blocks with a
name
and avalue
to override the default variable value. Must be used in combination with a Webhook recipient that already has a variable with the same name configured.| Type | Target | |-----------|---------------------| | email | an email address | | pagerduty | N/A | | slack | name of the channel | | webhook | name of the webhook |
- pagerduty
Severity String - Indicates the severity of an alert and has a default value of
critical
but can be set to one ofinfo
,warning
,error
, orcritical
and must be used in combination with a PagerDuty recipient. - variables List<Property Map>
Up to 10 configuration blocks with a
name
and avalue
to override the default variable value. Must be used in combination with a Webhook recipient that already has a variable with the same name configured.| Type | Target | |-----------|---------------------| | email | an email address | | pagerduty | N/A | | slack | name of the channel | | webhook | name of the webhook |
BurnAlertRecipientNotificationDetailVariable, BurnAlertRecipientNotificationDetailVariableArgs
Import
Burn alerts can be imported using a combination of the dataset name and their ID, e.g.
$ pulumi import honeycombio:index/burnAlert:BurnAlert my_alert my-dataset/bj9BwOb1uKz
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- honeycombio honeycombio/terraform-provider-honeycombio
- License
- Notes
- This Pulumi package is based on the
honeycombio
Terraform Provider.