fastly.Alert
Explore with Pulumi AI
Provides a Fastly Alert. Alerts send notifications to custom integrations (e.g., Slack channels, PagerDuty, Microsoft Teams and New Relic) when an observed metric either exceeds or falls below a threshold.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as fastly from "@pulumi/fastly";
const example = new fastly.ServiceVcl("example", {name: "my_vcl_service"});
const exampleIntegration = new fastly.Integration("example", {name: "my_integration"});
const exampleAlert = new fastly.Alert("example", {
name: "my_vcl_service errors",
serviceId: example.id,
source: "stats",
metric: "status_5xx",
evaluationStrategy: {
type: "above_threshold",
period: "5m",
threshold: 10,
},
integrationIds: [exampleIntegration.id],
});
import pulumi
import pulumi_fastly as fastly
example = fastly.ServiceVcl("example", name="my_vcl_service")
example_integration = fastly.Integration("example", name="my_integration")
example_alert = fastly.Alert("example",
name="my_vcl_service errors",
service_id=example.id,
source="stats",
metric="status_5xx",
evaluation_strategy=fastly.AlertEvaluationStrategyArgs(
type="above_threshold",
period="5m",
threshold=10,
),
integration_ids=[example_integration.id])
package main
import (
"github.com/pulumi/pulumi-fastly/sdk/v8/go/fastly"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := fastly.NewServiceVcl(ctx, "example", &fastly.ServiceVclArgs{
Name: pulumi.String("my_vcl_service"),
})
if err != nil {
return err
}
exampleIntegration, err := fastly.NewIntegration(ctx, "example", &fastly.IntegrationArgs{
Name: pulumi.String("my_integration"),
})
if err != nil {
return err
}
_, err = fastly.NewAlert(ctx, "example", &fastly.AlertArgs{
Name: pulumi.String("my_vcl_service errors"),
ServiceId: example.ID(),
Source: pulumi.String("stats"),
Metric: pulumi.String("status_5xx"),
EvaluationStrategy: &fastly.AlertEvaluationStrategyArgs{
Type: pulumi.String("above_threshold"),
Period: pulumi.String("5m"),
Threshold: pulumi.Float64(10),
},
IntegrationIds: pulumi.StringArray{
exampleIntegration.ID(),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Fastly = Pulumi.Fastly;
return await Deployment.RunAsync(() =>
{
var example = new Fastly.ServiceVcl("example", new()
{
Name = "my_vcl_service",
});
var exampleIntegration = new Fastly.Integration("example", new()
{
Name = "my_integration",
});
var exampleAlert = new Fastly.Alert("example", new()
{
Name = "my_vcl_service errors",
ServiceId = example.Id,
Source = "stats",
Metric = "status_5xx",
EvaluationStrategy = new Fastly.Inputs.AlertEvaluationStrategyArgs
{
Type = "above_threshold",
Period = "5m",
Threshold = 10,
},
IntegrationIds = new[]
{
exampleIntegration.Id,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.fastly.ServiceVcl;
import com.pulumi.fastly.ServiceVclArgs;
import com.pulumi.fastly.Integration;
import com.pulumi.fastly.IntegrationArgs;
import com.pulumi.fastly.Alert;
import com.pulumi.fastly.AlertArgs;
import com.pulumi.fastly.inputs.AlertEvaluationStrategyArgs;
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 example = new ServiceVcl("example", ServiceVclArgs.builder()
.name("my_vcl_service")
.build());
var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder()
.name("my_integration")
.build());
var exampleAlert = new Alert("exampleAlert", AlertArgs.builder()
.name("my_vcl_service errors")
.serviceId(example.id())
.source("stats")
.metric("status_5xx")
.evaluationStrategy(AlertEvaluationStrategyArgs.builder()
.type("above_threshold")
.period("5m")
.threshold(10)
.build())
.integrationIds(exampleIntegration.id())
.build());
}
}
resources:
example:
type: fastly:ServiceVcl
properties:
name: my_vcl_service
exampleIntegration:
type: fastly:Integration
name: example
properties:
name: my_integration
exampleAlert:
type: fastly:Alert
name: example
properties:
name: my_vcl_service errors
serviceId: ${example.id}
source: stats
metric: status_5xx
evaluationStrategy:
type: above_threshold
period: 5m
threshold: 10
integrationIds:
- ${exampleIntegration.id}
Create Alert Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Alert(name: string, args: AlertArgs, opts?: CustomResourceOptions);
@overload
def Alert(resource_name: str,
args: AlertArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Alert(resource_name: str,
opts: Optional[ResourceOptions] = None,
evaluation_strategy: Optional[AlertEvaluationStrategyArgs] = None,
metric: Optional[str] = None,
service_id: Optional[str] = None,
source: Optional[str] = None,
description: Optional[str] = None,
dimensions: Optional[AlertDimensionsArgs] = None,
integration_ids: Optional[Sequence[str]] = None,
name: Optional[str] = None)
func NewAlert(ctx *Context, name string, args AlertArgs, opts ...ResourceOption) (*Alert, error)
public Alert(string name, AlertArgs args, CustomResourceOptions? opts = null)
type: fastly:Alert
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 AlertArgs
- 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 AlertArgs
- 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 AlertArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AlertArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args AlertArgs
- 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 alertResource = new Fastly.Alert("alertResource", new()
{
EvaluationStrategy = new Fastly.Inputs.AlertEvaluationStrategyArgs
{
Period = "string",
Threshold = 0,
Type = "string",
IgnoreBelow = 0,
},
Metric = "string",
ServiceId = "string",
Source = "string",
Description = "string",
Dimensions = new Fastly.Inputs.AlertDimensionsArgs
{
Domains = new[]
{
"string",
},
Origins = new[]
{
"string",
},
},
IntegrationIds = new[]
{
"string",
},
Name = "string",
});
example, err := fastly.NewAlert(ctx, "alertResource", &fastly.AlertArgs{
EvaluationStrategy: &fastly.AlertEvaluationStrategyArgs{
Period: pulumi.String("string"),
Threshold: pulumi.Float64(0),
Type: pulumi.String("string"),
IgnoreBelow: pulumi.Float64(0),
},
Metric: pulumi.String("string"),
ServiceId: pulumi.String("string"),
Source: pulumi.String("string"),
Description: pulumi.String("string"),
Dimensions: &fastly.AlertDimensionsArgs{
Domains: pulumi.StringArray{
pulumi.String("string"),
},
Origins: pulumi.StringArray{
pulumi.String("string"),
},
},
IntegrationIds: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
})
var alertResource = new Alert("alertResource", AlertArgs.builder()
.evaluationStrategy(AlertEvaluationStrategyArgs.builder()
.period("string")
.threshold(0)
.type("string")
.ignoreBelow(0)
.build())
.metric("string")
.serviceId("string")
.source("string")
.description("string")
.dimensions(AlertDimensionsArgs.builder()
.domains("string")
.origins("string")
.build())
.integrationIds("string")
.name("string")
.build());
alert_resource = fastly.Alert("alertResource",
evaluation_strategy=fastly.AlertEvaluationStrategyArgs(
period="string",
threshold=0,
type="string",
ignore_below=0,
),
metric="string",
service_id="string",
source="string",
description="string",
dimensions=fastly.AlertDimensionsArgs(
domains=["string"],
origins=["string"],
),
integration_ids=["string"],
name="string")
const alertResource = new fastly.Alert("alertResource", {
evaluationStrategy: {
period: "string",
threshold: 0,
type: "string",
ignoreBelow: 0,
},
metric: "string",
serviceId: "string",
source: "string",
description: "string",
dimensions: {
domains: ["string"],
origins: ["string"],
},
integrationIds: ["string"],
name: "string",
});
type: fastly:Alert
properties:
description: string
dimensions:
domains:
- string
origins:
- string
evaluationStrategy:
ignoreBelow: 0
period: string
threshold: 0
type: string
integrationIds:
- string
metric: string
name: string
serviceId: string
source: string
Alert 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 Alert resource accepts the following input properties:
- Evaluation
Strategy AlertEvaluation Strategy - Criteria on how to alert.
- Metric string
- The metric name to alert on for a specific source: domains, origins, or stats.
- Service
Id string - The service which the alert monitors.
- Source string
- The source where the metric comes from. One of:
domains
,origins
,stats
. - Description string
- Additional text that is included in the alert notification.
- Dimensions
Alert
Dimensions - More filters depending on the source type.
- Integration
Ids List<string> - List of integrations used to notify when alert fires.
- Name string
- The name of the alert.
- Evaluation
Strategy AlertEvaluation Strategy Args - Criteria on how to alert.
- Metric string
- The metric name to alert on for a specific source: domains, origins, or stats.
- Service
Id string - The service which the alert monitors.
- Source string
- The source where the metric comes from. One of:
domains
,origins
,stats
. - Description string
- Additional text that is included in the alert notification.
- Dimensions
Alert
Dimensions Args - More filters depending on the source type.
- Integration
Ids []string - List of integrations used to notify when alert fires.
- Name string
- The name of the alert.
- evaluation
Strategy AlertEvaluation Strategy - Criteria on how to alert.
- metric String
- The metric name to alert on for a specific source: domains, origins, or stats.
- service
Id String - The service which the alert monitors.
- source String
- The source where the metric comes from. One of:
domains
,origins
,stats
. - description String
- Additional text that is included in the alert notification.
- dimensions
Alert
Dimensions - More filters depending on the source type.
- integration
Ids List<String> - List of integrations used to notify when alert fires.
- name String
- The name of the alert.
- evaluation
Strategy AlertEvaluation Strategy - Criteria on how to alert.
- metric string
- The metric name to alert on for a specific source: domains, origins, or stats.
- service
Id string - The service which the alert monitors.
- source string
- The source where the metric comes from. One of:
domains
,origins
,stats
. - description string
- Additional text that is included in the alert notification.
- dimensions
Alert
Dimensions - More filters depending on the source type.
- integration
Ids string[] - List of integrations used to notify when alert fires.
- name string
- The name of the alert.
- evaluation_
strategy AlertEvaluation Strategy Args - Criteria on how to alert.
- metric str
- The metric name to alert on for a specific source: domains, origins, or stats.
- service_
id str - The service which the alert monitors.
- source str
- The source where the metric comes from. One of:
domains
,origins
,stats
. - description str
- Additional text that is included in the alert notification.
- dimensions
Alert
Dimensions Args - More filters depending on the source type.
- integration_
ids Sequence[str] - List of integrations used to notify when alert fires.
- name str
- The name of the alert.
- evaluation
Strategy Property Map - Criteria on how to alert.
- metric String
- The metric name to alert on for a specific source: domains, origins, or stats.
- service
Id String - The service which the alert monitors.
- source String
- The source where the metric comes from. One of:
domains
,origins
,stats
. - description String
- Additional text that is included in the alert notification.
- dimensions Property Map
- More filters depending on the source type.
- integration
Ids List<String> - List of integrations used to notify when alert fires.
- name String
- The name of the alert.
Outputs
All input properties are implicitly available as output properties. Additionally, the Alert 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 Alert Resource
Get an existing Alert 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?: AlertState, opts?: CustomResourceOptions): Alert
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
dimensions: Optional[AlertDimensionsArgs] = None,
evaluation_strategy: Optional[AlertEvaluationStrategyArgs] = None,
integration_ids: Optional[Sequence[str]] = None,
metric: Optional[str] = None,
name: Optional[str] = None,
service_id: Optional[str] = None,
source: Optional[str] = None) -> Alert
func GetAlert(ctx *Context, name string, id IDInput, state *AlertState, opts ...ResourceOption) (*Alert, error)
public static Alert Get(string name, Input<string> id, AlertState? state, CustomResourceOptions? opts = null)
public static Alert get(String name, Output<String> id, AlertState 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.
- Description string
- Additional text that is included in the alert notification.
- Dimensions
Alert
Dimensions - More filters depending on the source type.
- Evaluation
Strategy AlertEvaluation Strategy - Criteria on how to alert.
- Integration
Ids List<string> - List of integrations used to notify when alert fires.
- Metric string
- The metric name to alert on for a specific source: domains, origins, or stats.
- Name string
- The name of the alert.
- Service
Id string - The service which the alert monitors.
- Source string
- The source where the metric comes from. One of:
domains
,origins
,stats
.
- Description string
- Additional text that is included in the alert notification.
- Dimensions
Alert
Dimensions Args - More filters depending on the source type.
- Evaluation
Strategy AlertEvaluation Strategy Args - Criteria on how to alert.
- Integration
Ids []string - List of integrations used to notify when alert fires.
- Metric string
- The metric name to alert on for a specific source: domains, origins, or stats.
- Name string
- The name of the alert.
- Service
Id string - The service which the alert monitors.
- Source string
- The source where the metric comes from. One of:
domains
,origins
,stats
.
- description String
- Additional text that is included in the alert notification.
- dimensions
Alert
Dimensions - More filters depending on the source type.
- evaluation
Strategy AlertEvaluation Strategy - Criteria on how to alert.
- integration
Ids List<String> - List of integrations used to notify when alert fires.
- metric String
- The metric name to alert on for a specific source: domains, origins, or stats.
- name String
- The name of the alert.
- service
Id String - The service which the alert monitors.
- source String
- The source where the metric comes from. One of:
domains
,origins
,stats
.
- description string
- Additional text that is included in the alert notification.
- dimensions
Alert
Dimensions - More filters depending on the source type.
- evaluation
Strategy AlertEvaluation Strategy - Criteria on how to alert.
- integration
Ids string[] - List of integrations used to notify when alert fires.
- metric string
- The metric name to alert on for a specific source: domains, origins, or stats.
- name string
- The name of the alert.
- service
Id string - The service which the alert monitors.
- source string
- The source where the metric comes from. One of:
domains
,origins
,stats
.
- description str
- Additional text that is included in the alert notification.
- dimensions
Alert
Dimensions Args - More filters depending on the source type.
- evaluation_
strategy AlertEvaluation Strategy Args - Criteria on how to alert.
- integration_
ids Sequence[str] - List of integrations used to notify when alert fires.
- metric str
- The metric name to alert on for a specific source: domains, origins, or stats.
- name str
- The name of the alert.
- service_
id str - The service which the alert monitors.
- source str
- The source where the metric comes from. One of:
domains
,origins
,stats
.
- description String
- Additional text that is included in the alert notification.
- dimensions Property Map
- More filters depending on the source type.
- evaluation
Strategy Property Map - Criteria on how to alert.
- integration
Ids List<String> - List of integrations used to notify when alert fires.
- metric String
- The metric name to alert on for a specific source: domains, origins, or stats.
- name String
- The name of the alert.
- service
Id String - The service which the alert monitors.
- source String
- The source where the metric comes from. One of:
domains
,origins
,stats
.
Supporting Types
AlertDimensions, AlertDimensionsArgs
AlertEvaluationStrategy, AlertEvaluationStrategyArgs
- Period string
- The length of time to evaluate whether the conditions have been met. The data is polled every minute. One of:
2m
,3m
,5m
,15m
,30m
. - Threshold double
- Threshold used to alert.
- Type string
- Type of strategy to use to evaluate. One of:
above_threshold
,all_above_threshold
,below_threshold
,percent_absolute
,percent_decrease
,percent_increase
. - Ignore
Below double - Threshold for the denominator value used in evaluations that calculate a rate or ratio. Usually used to filter out noise.
- Period string
- The length of time to evaluate whether the conditions have been met. The data is polled every minute. One of:
2m
,3m
,5m
,15m
,30m
. - Threshold float64
- Threshold used to alert.
- Type string
- Type of strategy to use to evaluate. One of:
above_threshold
,all_above_threshold
,below_threshold
,percent_absolute
,percent_decrease
,percent_increase
. - Ignore
Below float64 - Threshold for the denominator value used in evaluations that calculate a rate or ratio. Usually used to filter out noise.
- period String
- The length of time to evaluate whether the conditions have been met. The data is polled every minute. One of:
2m
,3m
,5m
,15m
,30m
. - threshold Double
- Threshold used to alert.
- type String
- Type of strategy to use to evaluate. One of:
above_threshold
,all_above_threshold
,below_threshold
,percent_absolute
,percent_decrease
,percent_increase
. - ignore
Below Double - Threshold for the denominator value used in evaluations that calculate a rate or ratio. Usually used to filter out noise.
- period string
- The length of time to evaluate whether the conditions have been met. The data is polled every minute. One of:
2m
,3m
,5m
,15m
,30m
. - threshold number
- Threshold used to alert.
- type string
- Type of strategy to use to evaluate. One of:
above_threshold
,all_above_threshold
,below_threshold
,percent_absolute
,percent_decrease
,percent_increase
. - ignore
Below number - Threshold for the denominator value used in evaluations that calculate a rate or ratio. Usually used to filter out noise.
- period str
- The length of time to evaluate whether the conditions have been met. The data is polled every minute. One of:
2m
,3m
,5m
,15m
,30m
. - threshold float
- Threshold used to alert.
- type str
- Type of strategy to use to evaluate. One of:
above_threshold
,all_above_threshold
,below_threshold
,percent_absolute
,percent_decrease
,percent_increase
. - ignore_
below float - Threshold for the denominator value used in evaluations that calculate a rate or ratio. Usually used to filter out noise.
- period String
- The length of time to evaluate whether the conditions have been met. The data is polled every minute. One of:
2m
,3m
,5m
,15m
,30m
. - threshold Number
- Threshold used to alert.
- type String
- Type of strategy to use to evaluate. One of:
above_threshold
,all_above_threshold
,below_threshold
,percent_absolute
,percent_decrease
,percent_increase
. - ignore
Below Number - Threshold for the denominator value used in evaluations that calculate a rate or ratio. Usually used to filter out noise.
Import
Fastly Alerts can be imported using their ID, e.g.
$ pulumi import fastly:index/alert:Alert example xxxxxxxxxxxxxxxxxxxx
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Fastly pulumi/pulumi-fastly
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
fastly
Terraform Provider.