sentry.SentryRule
Explore with Pulumi AI
# sentry.SentryRule Resource
Sentry Rule resource. Note that there’s no public documentation for the values of conditions, filters, and actions. You can either inspect the request payload sent when creating or editing an alert rule on Sentry or inspect Sentry’s rules registry in the source code.
Example Usage
using Pulumi;
using Sentry = Pulumiverse.Sentry;
class MyStack : Stack
{
public MyStack()
{
// Create a plugin
var @default = new Sentry.SentryRule("default", new Sentry.SentryRuleArgs
{
ActionMatch = "any",
Actions =
{
{
{ "id", "sentry.mail.actions.NotifyEmailAction" },
{ "name", "Send an email to IssueOwners" },
{ "targetIdentifier", "" },
{ "targetType", "IssueOwners" },
},
},
Conditions =
{
{
{ "id", "sentry.rules.conditions.first_seen_event.FirstSeenEventCondition" },
{ "name", "A new issue is created" },
},
},
Environment = "production",
Filters =
{
{
{ "id", "sentry.rules.filters.assigned_to.AssignedToFilter" },
{ "targetType", "Unassigned" },
},
},
Frequency = 30,
Organization = "my-organization",
Project = "web-app",
});
}
}
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-sentry/sdk/go/sentry"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sentry.NewSentryRule(ctx, "default", &sentry.SentryRuleArgs{
ActionMatch: pulumi.String("any"),
Actions: pulumi.AnyMapArray{
pulumi.AnyMap{
"id": pulumi.Any("sentry.mail.actions.NotifyEmailAction"),
"name": pulumi.Any("Send an email to IssueOwners"),
"targetIdentifier": pulumi.Any(""),
"targetType": pulumi.Any("IssueOwners"),
},
},
Conditions: pulumi.AnyMapArray{
pulumi.AnyMap{
"id": pulumi.Any("sentry.rules.conditions.first_seen_event.FirstSeenEventCondition"),
"name": pulumi.Any("A new issue is created"),
},
},
Environment: pulumi.String("production"),
Filters: pulumi.AnyMapArray{
pulumi.AnyMap{
"id": pulumi.Any("sentry.rules.filters.assigned_to.AssignedToFilter"),
"targetType": pulumi.Any("Unassigned"),
},
},
Frequency: pulumi.Int(30),
Organization: pulumi.String("my-organization"),
Project: pulumi.String("web-app"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new SentryRule("default", SentryRuleArgs.builder()
.actionMatch("any")
.actions(Map.ofEntries(
Map.entry("id", "sentry.mail.actions.NotifyEmailAction"),
Map.entry("name", "Send an email to IssueOwners"),
Map.entry("targetIdentifier", ""),
Map.entry("targetType", "IssueOwners")
))
.conditions(Map.ofEntries(
Map.entry("id", "sentry.rules.conditions.first_seen_event.FirstSeenEventCondition"),
Map.entry("name", "A new issue is created")
))
.environment("production")
.filters(Map.ofEntries(
Map.entry("id", "sentry.rules.filters.assigned_to.AssignedToFilter"),
Map.entry("targetType", "Unassigned")
))
.frequency(30)
.organization("my-organization")
.project("web-app")
.build());
}
}
import pulumi
import pulumiverse_sentry as sentry
# Create a plugin
default = sentry.SentryRule("default",
action_match="any",
actions=[{
"id": "sentry.mail.actions.NotifyEmailAction",
"name": "Send an email to IssueOwners",
"targetIdentifier": "",
"targetType": "IssueOwners",
}],
conditions=[{
"id": "sentry.rules.conditions.first_seen_event.FirstSeenEventCondition",
"name": "A new issue is created",
}],
environment="production",
filters=[{
"id": "sentry.rules.filters.assigned_to.AssignedToFilter",
"targetType": "Unassigned",
}],
frequency=30,
organization="my-organization",
project="web-app")
import * as pulumi from "@pulumi/pulumi";
import * as sentry from "@pulumi/sentry";
// Create a plugin
const defaultSentryRule = new sentry.SentryRule("default", {
actionMatch: "any",
actions: [{
id: "sentry.mail.actions.NotifyEmailAction",
name: "Send an email to IssueOwners",
targetIdentifier: "",
targetType: "IssueOwners",
}],
conditions: [{
id: "sentry.rules.conditions.first_seen_event.FirstSeenEventCondition",
name: "A new issue is created",
}],
environment: "production",
filters: [{
id: "sentry.rules.filters.assigned_to.AssignedToFilter",
targetType: "Unassigned",
}],
frequency: 30,
organization: "my-organization",
project: "web-app",
});
resources:
default:
type: sentry:SentryRule
properties:
actionMatch: any
actions:
- id: sentry.mail.actions.NotifyEmailAction
name: Send an email to IssueOwners
targetIdentifier:
targetType: IssueOwners
conditions:
- id: sentry.rules.conditions.first_seen_event.FirstSeenEventCondition
name: A new issue is created
environment: production
filters:
- id: sentry.rules.filters.assigned_to.AssignedToFilter
targetType: Unassigned
frequency: 30
organization: my-organization
project: web-app
Create SentryRule Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new SentryRule(name: string, args: SentryRuleArgs, opts?: CustomResourceOptions);
@overload
def SentryRule(resource_name: str,
args: SentryRuleArgs,
opts: Optional[ResourceOptions] = None)
@overload
def SentryRule(resource_name: str,
opts: Optional[ResourceOptions] = None,
actions: Optional[Sequence[Mapping[str, Any]]] = None,
conditions: Optional[Sequence[Mapping[str, Any]]] = None,
organization: Optional[str] = None,
project: Optional[str] = None,
action_match: Optional[str] = None,
environment: Optional[str] = None,
filter_match: Optional[str] = None,
filters: Optional[Sequence[Mapping[str, Any]]] = None,
frequency: Optional[int] = None,
name: Optional[str] = None)
func NewSentryRule(ctx *Context, name string, args SentryRuleArgs, opts ...ResourceOption) (*SentryRule, error)
public SentryRule(string name, SentryRuleArgs args, CustomResourceOptions? opts = null)
public SentryRule(String name, SentryRuleArgs args)
public SentryRule(String name, SentryRuleArgs args, CustomResourceOptions options)
type: sentry:SentryRule
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 SentryRuleArgs
- 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 SentryRuleArgs
- 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 SentryRuleArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SentryRuleArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SentryRuleArgs
- 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 sentryRuleResource = new Sentry.SentryRule("sentryRuleResource", new()
{
Actions = new[]
{
{
{ "string", "any" },
},
},
Conditions = new[]
{
{
{ "string", "any" },
},
},
Organization = "string",
Project = "string",
ActionMatch = "string",
Environment = "string",
FilterMatch = "string",
Filters = new[]
{
{
{ "string", "any" },
},
},
Frequency = 0,
Name = "string",
});
example, err := sentry.NewSentryRule(ctx, "sentryRuleResource", &sentry.SentryRuleArgs{
Actions: pulumi.MapArray{
pulumi.Map{
"string": pulumi.Any("any"),
},
},
Conditions: pulumi.MapArray{
pulumi.Map{
"string": pulumi.Any("any"),
},
},
Organization: pulumi.String("string"),
Project: pulumi.String("string"),
ActionMatch: pulumi.String("string"),
Environment: pulumi.String("string"),
FilterMatch: pulumi.String("string"),
Filters: pulumi.MapArray{
pulumi.Map{
"string": pulumi.Any("any"),
},
},
Frequency: pulumi.Int(0),
Name: pulumi.String("string"),
})
var sentryRuleResource = new SentryRule("sentryRuleResource", SentryRuleArgs.builder()
.actions(Map.of("string", "any"))
.conditions(Map.of("string", "any"))
.organization("string")
.project("string")
.actionMatch("string")
.environment("string")
.filterMatch("string")
.filters(Map.of("string", "any"))
.frequency(0)
.name("string")
.build());
sentry_rule_resource = sentry.SentryRule("sentryRuleResource",
actions=[{
"string": "any",
}],
conditions=[{
"string": "any",
}],
organization="string",
project="string",
action_match="string",
environment="string",
filter_match="string",
filters=[{
"string": "any",
}],
frequency=0,
name="string")
const sentryRuleResource = new sentry.SentryRule("sentryRuleResource", {
actions: [{
string: "any",
}],
conditions: [{
string: "any",
}],
organization: "string",
project: "string",
actionMatch: "string",
environment: "string",
filterMatch: "string",
filters: [{
string: "any",
}],
frequency: 0,
name: "string",
});
type: sentry:SentryRule
properties:
actionMatch: string
actions:
- string: any
conditions:
- string: any
environment: string
filterMatch: string
filters:
- string: any
frequency: 0
name: string
organization: string
project: string
SentryRule 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 SentryRule resource accepts the following input properties:
- Actions
List<Immutable
Dictionary<string, object>> - List of actions.
- Conditions
List<Immutable
Dictionary<string, object>> - List of conditions.
- Organization string
- The slug of the organization the plugin should be enabled for.
- Project string
- The slug of the project the plugin should be enabled for.
- Action
Match string - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - Environment string
- Environment for these conditions to apply to.
- Filter
Match string - Filters
List<Immutable
Dictionary<string, object>> - List of filters.
- Frequency int
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - Name string
- Name for this alert.
- Actions []map[string]interface{}
- List of actions.
- Conditions []map[string]interface{}
- List of conditions.
- Organization string
- The slug of the organization the plugin should be enabled for.
- Project string
- The slug of the project the plugin should be enabled for.
- Action
Match string - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - Environment string
- Environment for these conditions to apply to.
- Filter
Match string - Filters []map[string]interface{}
- List of filters.
- Frequency int
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - Name string
- Name for this alert.
- actions List<Map<String,Object>>
- List of actions.
- conditions List<Map<String,Object>>
- List of conditions.
- organization String
- The slug of the organization the plugin should be enabled for.
- project String
- The slug of the project the plugin should be enabled for.
- action
Match String - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - environment String
- Environment for these conditions to apply to.
- filter
Match String - filters List<Map<String,Object>>
- List of filters.
- frequency Integer
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - name String
- Name for this alert.
- actions {[key: string]: any}[]
- List of actions.
- conditions {[key: string]: any}[]
- List of conditions.
- organization string
- The slug of the organization the plugin should be enabled for.
- project string
- The slug of the project the plugin should be enabled for.
- action
Match string - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - environment string
- Environment for these conditions to apply to.
- filter
Match string - filters {[key: string]: any}[]
- List of filters.
- frequency number
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - name string
- Name for this alert.
- actions Sequence[Mapping[str, Any]]
- List of actions.
- conditions Sequence[Mapping[str, Any]]
- List of conditions.
- organization str
- The slug of the organization the plugin should be enabled for.
- project str
- The slug of the project the plugin should be enabled for.
- action_
match str - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - environment str
- Environment for these conditions to apply to.
- filter_
match str - filters Sequence[Mapping[str, Any]]
- List of filters.
- frequency int
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - name str
- Name for this alert.
- actions List<Map<Any>>
- List of actions.
- conditions List<Map<Any>>
- List of conditions.
- organization String
- The slug of the organization the plugin should be enabled for.
- project String
- The slug of the project the plugin should be enabled for.
- action
Match String - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - environment String
- Environment for these conditions to apply to.
- filter
Match String - filters List<Map<Any>>
- List of filters.
- frequency Number
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - name String
- Name for this alert.
Outputs
All input properties are implicitly available as output properties. Additionally, the SentryRule 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 SentryRule Resource
Get an existing SentryRule 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?: SentryRuleState, opts?: CustomResourceOptions): SentryRule
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
action_match: Optional[str] = None,
actions: Optional[Sequence[Mapping[str, Any]]] = None,
conditions: Optional[Sequence[Mapping[str, Any]]] = None,
environment: Optional[str] = None,
filter_match: Optional[str] = None,
filters: Optional[Sequence[Mapping[str, Any]]] = None,
frequency: Optional[int] = None,
name: Optional[str] = None,
organization: Optional[str] = None,
project: Optional[str] = None) -> SentryRule
func GetSentryRule(ctx *Context, name string, id IDInput, state *SentryRuleState, opts ...ResourceOption) (*SentryRule, error)
public static SentryRule Get(string name, Input<string> id, SentryRuleState? state, CustomResourceOptions? opts = null)
public static SentryRule get(String name, Output<String> id, SentryRuleState 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.
- Action
Match string - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - Actions
List<Immutable
Dictionary<string, object>> - List of actions.
- Conditions
List<Immutable
Dictionary<string, object>> - List of conditions.
- Environment string
- Environment for these conditions to apply to.
- Filter
Match string - Filters
List<Immutable
Dictionary<string, object>> - List of filters.
- Frequency int
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - Name string
- Name for this alert.
- Organization string
- The slug of the organization the plugin should be enabled for.
- Project string
- The slug of the project the plugin should be enabled for.
- Action
Match string - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - Actions []map[string]interface{}
- List of actions.
- Conditions []map[string]interface{}
- List of conditions.
- Environment string
- Environment for these conditions to apply to.
- Filter
Match string - Filters []map[string]interface{}
- List of filters.
- Frequency int
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - Name string
- Name for this alert.
- Organization string
- The slug of the organization the plugin should be enabled for.
- Project string
- The slug of the project the plugin should be enabled for.
- action
Match String - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - actions List<Map<String,Object>>
- List of actions.
- conditions List<Map<String,Object>>
- List of conditions.
- environment String
- Environment for these conditions to apply to.
- filter
Match String - filters List<Map<String,Object>>
- List of filters.
- frequency Integer
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - name String
- Name for this alert.
- organization String
- The slug of the organization the plugin should be enabled for.
- project String
- The slug of the project the plugin should be enabled for.
- action
Match string - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - actions {[key: string]: any}[]
- List of actions.
- conditions {[key: string]: any}[]
- List of conditions.
- environment string
- Environment for these conditions to apply to.
- filter
Match string - filters {[key: string]: any}[]
- List of filters.
- frequency number
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - name string
- Name for this alert.
- organization string
- The slug of the organization the plugin should be enabled for.
- project string
- The slug of the project the plugin should be enabled for.
- action_
match str - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - actions Sequence[Mapping[str, Any]]
- List of actions.
- conditions Sequence[Mapping[str, Any]]
- List of conditions.
- environment str
- Environment for these conditions to apply to.
- filter_
match str - filters Sequence[Mapping[str, Any]]
- List of filters.
- frequency int
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - name str
- Name for this alert.
- organization str
- The slug of the organization the plugin should be enabled for.
- project str
- The slug of the project the plugin should be enabled for.
- action
Match String - Use
all
to trigger alerting when all conditions are met, andany
when at. least a condition is met. Defaults toany
. - actions List<Map<Any>>
- List of actions.
- conditions List<Map<Any>>
- List of conditions.
- environment String
- Environment for these conditions to apply to.
- filter
Match String - filters List<Map<Any>>
- List of filters.
- frequency Number
- Perform actions at most once every
X
minutes for this issue. Defaults to30
. - name String
- Name for this alert.
- organization String
- The slug of the organization the plugin should be enabled for.
- project String
- The slug of the project the plugin should be enabled for.
Package Details
- Repository
- sentry pulumiverse/pulumi-sentry
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
sentry
Terraform Provider.