published on Tuesday, Aug 25, 2026 by Pulumi
published on Tuesday, Aug 25, 2026 by Pulumi
Email templates are reusable detector alert notification templates.
The optional customHeaders map sends additional email headers with messages that use the template. Use it for headers that your email infrastructure already recognizes, such as routing, classification, or downstream processing headers.
Example
import * as pulumi from "@pulumi/pulumi";
import * as signalfx from "@pulumi/signalfx";
const detectorAlerts = new signalfx.EmailTemplate("detector_alerts", {
name: "Detector Alert Email",
triggerSubject: "Triggered: {{{detectorName}}}",
tos: ["primary@example.com"],
ccs: ["team@example.com"],
customHeaders: {
"X-Custom-Routing-Key": "detector-alerts",
},
});
import pulumi
import pulumi_signalfx as signalfx
detector_alerts = signalfx.EmailTemplate("detector_alerts",
name="Detector Alert Email",
trigger_subject="Triggered: {{{detectorName}}}",
tos=["primary@example.com"],
ccs=["team@example.com"],
custom_headers={
"X-Custom-Routing-Key": "detector-alerts",
})
package main
import (
"github.com/pulumi/pulumi-signalfx/sdk/v7/go/signalfx"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := signalfx.NewEmailTemplate(ctx, "detector_alerts", &signalfx.EmailTemplateArgs{
Name: pulumi.String("Detector Alert Email"),
TriggerSubject: pulumi.String("Triggered: {{{detectorName}}}"),
Tos: pulumi.StringArray{
pulumi.String("primary@example.com"),
},
Ccs: pulumi.StringArray{
pulumi.String("team@example.com"),
},
CustomHeaders: pulumi.StringMap{
"X-Custom-Routing-Key": pulumi.String("detector-alerts"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using SignalFx = Pulumi.SignalFx;
return await Deployment.RunAsync(() =>
{
var detectorAlerts = new SignalFx.EmailTemplate("detector_alerts", new()
{
Name = "Detector Alert Email",
TriggerSubject = "Triggered: {{{detectorName}}}",
Tos = new[]
{
"primary@example.com",
},
Ccs = new[]
{
"team@example.com",
},
CustomHeaders =
{
{ "X-Custom-Routing-Key", "detector-alerts" },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.signalfx.EmailTemplate;
import com.pulumi.signalfx.EmailTemplateArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 detectorAlerts = new EmailTemplate("detectorAlerts", EmailTemplateArgs.builder()
.name("Detector Alert Email")
.triggerSubject("Triggered: {{{detectorName}}}")
.tos("primary@example.com")
.ccs("team@example.com")
.customHeaders(Map.of("X-Custom-Routing-Key", "detector-alerts"))
.build());
}
}
resources:
detectorAlerts:
type: signalfx:EmailTemplate
name: detector_alerts
properties:
name: Detector Alert Email
triggerSubject: 'Triggered: {{{detectorName}}}'
tos:
- primary@example.com
ccs:
- team@example.com
customHeaders:
X-Custom-Routing-Key: detector-alerts
pulumi {
required_providers {
signalfx = {
source = "pulumi/signalfx"
}
}
}
resource "signalfx_emailtemplate" "detector_alerts" {
name = "Detector Alert Email"
trigger_subject = "Triggered: {{{detectorName}}}"
tos = ["primary@example.com"]
ccs = ["team@example.com"]
custom_headers = {
"X-Custom-Routing-Key" = "detector-alerts"
}
}
Create EmailTemplate Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new EmailTemplate(name: string, args: EmailTemplateArgs, opts?: CustomResourceOptions);@overload
def EmailTemplate(resource_name: str,
args: EmailTemplateArgs,
opts: Optional[ResourceOptions] = None)
@overload
def EmailTemplate(resource_name: str,
opts: Optional[ResourceOptions] = None,
tos: Optional[Sequence[str]] = None,
trigger_subject: Optional[str] = None,
bccs: Optional[Sequence[str]] = None,
ccs: Optional[Sequence[str]] = None,
custom_headers: Optional[Mapping[str, str]] = None,
name: Optional[str] = None,
resolved_body: Optional[str] = None,
resolved_subject: Optional[str] = None,
trigger_body: Optional[str] = None)func NewEmailTemplate(ctx *Context, name string, args EmailTemplateArgs, opts ...ResourceOption) (*EmailTemplate, error)public EmailTemplate(string name, EmailTemplateArgs args, CustomResourceOptions? opts = null)
public EmailTemplate(String name, EmailTemplateArgs args)
public EmailTemplate(String name, EmailTemplateArgs args, CustomResourceOptions options)
type: signalfx:EmailTemplate
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "signalfx_email_template" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args EmailTemplateArgs
- 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 EmailTemplateArgs
- 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 EmailTemplateArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args EmailTemplateArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args EmailTemplateArgs
- 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 emailTemplateResource = new SignalFx.EmailTemplate("emailTemplateResource", new()
{
Tos = new[]
{
"string",
},
TriggerSubject = "string",
Bccs = new[]
{
"string",
},
Ccs = new[]
{
"string",
},
CustomHeaders =
{
{ "string", "string" },
},
Name = "string",
ResolvedBody = "string",
ResolvedSubject = "string",
TriggerBody = "string",
});
example, err := signalfx.NewEmailTemplate(ctx, "emailTemplateResource", &signalfx.EmailTemplateArgs{
Tos: pulumi.StringArray{
pulumi.String("string"),
},
TriggerSubject: pulumi.String("string"),
Bccs: pulumi.StringArray{
pulumi.String("string"),
},
Ccs: pulumi.StringArray{
pulumi.String("string"),
},
CustomHeaders: pulumi.StringMap{
"string": pulumi.String("string"),
},
Name: pulumi.String("string"),
ResolvedBody: pulumi.String("string"),
ResolvedSubject: pulumi.String("string"),
TriggerBody: pulumi.String("string"),
})
resource "signalfx_email_template" "emailTemplateResource" {
lifecycle {
create_before_destroy = true
}
tos = ["string"]
trigger_subject = "string"
bccs = ["string"]
ccs = ["string"]
custom_headers = {
"string" = "string"
}
name = "string"
resolved_body = "string"
resolved_subject = "string"
trigger_body = "string"
}
var emailTemplateResource = new EmailTemplate("emailTemplateResource", EmailTemplateArgs.builder()
.tos("string")
.triggerSubject("string")
.bccs("string")
.ccs("string")
.customHeaders(Map.of("string", "string"))
.name("string")
.resolvedBody("string")
.resolvedSubject("string")
.triggerBody("string")
.build());
email_template_resource = signalfx.EmailTemplate("emailTemplateResource",
tos=["string"],
trigger_subject="string",
bccs=["string"],
ccs=["string"],
custom_headers={
"string": "string",
},
name="string",
resolved_body="string",
resolved_subject="string",
trigger_body="string")
const emailTemplateResource = new signalfx.EmailTemplate("emailTemplateResource", {
tos: ["string"],
triggerSubject: "string",
bccs: ["string"],
ccs: ["string"],
customHeaders: {
string: "string",
},
name: "string",
resolvedBody: "string",
resolvedSubject: "string",
triggerBody: "string",
});
type: signalfx:EmailTemplate
properties:
bccs:
- string
ccs:
- string
customHeaders:
string: string
name: string
resolvedBody: string
resolvedSubject: string
tos:
- string
triggerBody: string
triggerSubject: string
EmailTemplate 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 EmailTemplate resource accepts the following input properties:
- Tos List<string>
- Email addresses to include as template recipients. At least one address is required.
- Trigger
Subject string - Subject used when a detector alert triggers.
- Bccs List<string>
- Email addresses to include as blind carbon copy recipients.
- Ccs List<string>
- Email addresses to include as carbon copy recipients.
- Custom
Headers Dictionary<string, string> - Custom email headers to include when notifications use this template.
- Name string
- Name of the email template.
- Resolved
Body string - Body used when a detector alert resolves.
- Resolved
Subject string - Subject used when a detector alert resolves.
- Trigger
Body string - Body used when a detector alert triggers.
- Tos []string
- Email addresses to include as template recipients. At least one address is required.
- Trigger
Subject string - Subject used when a detector alert triggers.
- Bccs []string
- Email addresses to include as blind carbon copy recipients.
- Ccs []string
- Email addresses to include as carbon copy recipients.
- Custom
Headers map[string]string - Custom email headers to include when notifications use this template.
- Name string
- Name of the email template.
- Resolved
Body string - Body used when a detector alert resolves.
- Resolved
Subject string - Subject used when a detector alert resolves.
- Trigger
Body string - Body used when a detector alert triggers.
- tos list(string)
- Email addresses to include as template recipients. At least one address is required.
- trigger_
subject string - Subject used when a detector alert triggers.
- bccs list(string)
- Email addresses to include as blind carbon copy recipients.
- ccs list(string)
- Email addresses to include as carbon copy recipients.
- custom_
headers map(string) - Custom email headers to include when notifications use this template.
- name string
- Name of the email template.
- resolved_
body string - Body used when a detector alert resolves.
- resolved_
subject string - Subject used when a detector alert resolves.
- trigger_
body string - Body used when a detector alert triggers.
- tos List<String>
- Email addresses to include as template recipients. At least one address is required.
- trigger
Subject String - Subject used when a detector alert triggers.
- bccs List<String>
- Email addresses to include as blind carbon copy recipients.
- ccs List<String>
- Email addresses to include as carbon copy recipients.
- custom
Headers Map<String,String> - Custom email headers to include when notifications use this template.
- name String
- Name of the email template.
- resolved
Body String - Body used when a detector alert resolves.
- resolved
Subject String - Subject used when a detector alert resolves.
- trigger
Body String - Body used when a detector alert triggers.
- tos string[]
- Email addresses to include as template recipients. At least one address is required.
- trigger
Subject string - Subject used when a detector alert triggers.
- bccs string[]
- Email addresses to include as blind carbon copy recipients.
- ccs string[]
- Email addresses to include as carbon copy recipients.
- custom
Headers {[key: string]: string} - Custom email headers to include when notifications use this template.
- name string
- Name of the email template.
- resolved
Body string - Body used when a detector alert resolves.
- resolved
Subject string - Subject used when a detector alert resolves.
- trigger
Body string - Body used when a detector alert triggers.
- tos Sequence[str]
- Email addresses to include as template recipients. At least one address is required.
- trigger_
subject str - Subject used when a detector alert triggers.
- bccs Sequence[str]
- Email addresses to include as blind carbon copy recipients.
- ccs Sequence[str]
- Email addresses to include as carbon copy recipients.
- custom_
headers Mapping[str, str] - Custom email headers to include when notifications use this template.
- name str
- Name of the email template.
- resolved_
body str - Body used when a detector alert resolves.
- resolved_
subject str - Subject used when a detector alert resolves.
- trigger_
body str - Body used when a detector alert triggers.
- tos List<String>
- Email addresses to include as template recipients. At least one address is required.
- trigger
Subject String - Subject used when a detector alert triggers.
- bccs List<String>
- Email addresses to include as blind carbon copy recipients.
- ccs List<String>
- Email addresses to include as carbon copy recipients.
- custom
Headers Map<String> - Custom email headers to include when notifications use this template.
- name String
- Name of the email template.
- resolved
Body String - Body used when a detector alert resolves.
- resolved
Subject String - Subject used when a detector alert resolves.
- trigger
Body String - Body used when a detector alert triggers.
Outputs
All input properties are implicitly available as output properties. Additionally, the EmailTemplate resource produces the following output properties:
- Created
By string - User that created the email template.
- Created
On intMs - Timestamp in milliseconds when the email template was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Updated
By string - User that last updated the email template.
- Updated
On intMs - Timestamp in milliseconds when the email template was last updated.
- Created
By string - User that created the email template.
- Created
On intMs - Timestamp in milliseconds when the email template was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Updated
By string - User that last updated the email template.
- Updated
On intMs - Timestamp in milliseconds when the email template was last updated.
- created_
by string - User that created the email template.
- created_
on_ numberms - Timestamp in milliseconds when the email template was created.
- id string
- The provider-assigned unique ID for this managed resource.
- updated_
by string - User that last updated the email template.
- updated_
on_ numberms - Timestamp in milliseconds when the email template was last updated.
- created
By String - User that created the email template.
- created
On IntegerMs - Timestamp in milliseconds when the email template was created.
- id String
- The provider-assigned unique ID for this managed resource.
- updated
By String - User that last updated the email template.
- updated
On IntegerMs - Timestamp in milliseconds when the email template was last updated.
- created
By string - User that created the email template.
- created
On numberMs - Timestamp in milliseconds when the email template was created.
- id string
- The provider-assigned unique ID for this managed resource.
- updated
By string - User that last updated the email template.
- updated
On numberMs - Timestamp in milliseconds when the email template was last updated.
- created_
by str - User that created the email template.
- created_
on_ intms - Timestamp in milliseconds when the email template was created.
- id str
- The provider-assigned unique ID for this managed resource.
- updated_
by str - User that last updated the email template.
- updated_
on_ intms - Timestamp in milliseconds when the email template was last updated.
- created
By String - User that created the email template.
- created
On NumberMs - Timestamp in milliseconds when the email template was created.
- id String
- The provider-assigned unique ID for this managed resource.
- updated
By String - User that last updated the email template.
- updated
On NumberMs - Timestamp in milliseconds when the email template was last updated.
Look up Existing EmailTemplate Resource
Get an existing EmailTemplate 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?: EmailTemplateState, opts?: CustomResourceOptions): EmailTemplate@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
bccs: Optional[Sequence[str]] = None,
ccs: Optional[Sequence[str]] = None,
created_by: Optional[str] = None,
created_on_ms: Optional[int] = None,
custom_headers: Optional[Mapping[str, str]] = None,
name: Optional[str] = None,
resolved_body: Optional[str] = None,
resolved_subject: Optional[str] = None,
tos: Optional[Sequence[str]] = None,
trigger_body: Optional[str] = None,
trigger_subject: Optional[str] = None,
updated_by: Optional[str] = None,
updated_on_ms: Optional[int] = None) -> EmailTemplatefunc GetEmailTemplate(ctx *Context, name string, id IDInput, state *EmailTemplateState, opts ...ResourceOption) (*EmailTemplate, error)public static EmailTemplate Get(string name, Input<string> id, EmailTemplateState? state, CustomResourceOptions? opts = null)public static EmailTemplate get(String name, Output<String> id, EmailTemplateState state, CustomResourceOptions options)resources: _: type: signalfx:EmailTemplate get: id: ${id}import {
to = signalfx_email_template.example
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.
- Bccs List<string>
- Email addresses to include as blind carbon copy recipients.
- Ccs List<string>
- Email addresses to include as carbon copy recipients.
- Created
By string - User that created the email template.
- Created
On intMs - Timestamp in milliseconds when the email template was created.
- Custom
Headers Dictionary<string, string> - Custom email headers to include when notifications use this template.
- Name string
- Name of the email template.
- Resolved
Body string - Body used when a detector alert resolves.
- Resolved
Subject string - Subject used when a detector alert resolves.
- Tos List<string>
- Email addresses to include as template recipients. At least one address is required.
- Trigger
Body string - Body used when a detector alert triggers.
- Trigger
Subject string - Subject used when a detector alert triggers.
- Updated
By string - User that last updated the email template.
- Updated
On intMs - Timestamp in milliseconds when the email template was last updated.
- Bccs []string
- Email addresses to include as blind carbon copy recipients.
- Ccs []string
- Email addresses to include as carbon copy recipients.
- Created
By string - User that created the email template.
- Created
On intMs - Timestamp in milliseconds when the email template was created.
- Custom
Headers map[string]string - Custom email headers to include when notifications use this template.
- Name string
- Name of the email template.
- Resolved
Body string - Body used when a detector alert resolves.
- Resolved
Subject string - Subject used when a detector alert resolves.
- Tos []string
- Email addresses to include as template recipients. At least one address is required.
- Trigger
Body string - Body used when a detector alert triggers.
- Trigger
Subject string - Subject used when a detector alert triggers.
- Updated
By string - User that last updated the email template.
- Updated
On intMs - Timestamp in milliseconds when the email template was last updated.
- bccs list(string)
- Email addresses to include as blind carbon copy recipients.
- ccs list(string)
- Email addresses to include as carbon copy recipients.
- created_
by string - User that created the email template.
- created_
on_ numberms - Timestamp in milliseconds when the email template was created.
- custom_
headers map(string) - Custom email headers to include when notifications use this template.
- name string
- Name of the email template.
- resolved_
body string - Body used when a detector alert resolves.
- resolved_
subject string - Subject used when a detector alert resolves.
- tos list(string)
- Email addresses to include as template recipients. At least one address is required.
- trigger_
body string - Body used when a detector alert triggers.
- trigger_
subject string - Subject used when a detector alert triggers.
- updated_
by string - User that last updated the email template.
- updated_
on_ numberms - Timestamp in milliseconds when the email template was last updated.
- bccs List<String>
- Email addresses to include as blind carbon copy recipients.
- ccs List<String>
- Email addresses to include as carbon copy recipients.
- created
By String - User that created the email template.
- created
On IntegerMs - Timestamp in milliseconds when the email template was created.
- custom
Headers Map<String,String> - Custom email headers to include when notifications use this template.
- name String
- Name of the email template.
- resolved
Body String - Body used when a detector alert resolves.
- resolved
Subject String - Subject used when a detector alert resolves.
- tos List<String>
- Email addresses to include as template recipients. At least one address is required.
- trigger
Body String - Body used when a detector alert triggers.
- trigger
Subject String - Subject used when a detector alert triggers.
- updated
By String - User that last updated the email template.
- updated
On IntegerMs - Timestamp in milliseconds when the email template was last updated.
- bccs string[]
- Email addresses to include as blind carbon copy recipients.
- ccs string[]
- Email addresses to include as carbon copy recipients.
- created
By string - User that created the email template.
- created
On numberMs - Timestamp in milliseconds when the email template was created.
- custom
Headers {[key: string]: string} - Custom email headers to include when notifications use this template.
- name string
- Name of the email template.
- resolved
Body string - Body used when a detector alert resolves.
- resolved
Subject string - Subject used when a detector alert resolves.
- tos string[]
- Email addresses to include as template recipients. At least one address is required.
- trigger
Body string - Body used when a detector alert triggers.
- trigger
Subject string - Subject used when a detector alert triggers.
- updated
By string - User that last updated the email template.
- updated
On numberMs - Timestamp in milliseconds when the email template was last updated.
- bccs Sequence[str]
- Email addresses to include as blind carbon copy recipients.
- ccs Sequence[str]
- Email addresses to include as carbon copy recipients.
- created_
by str - User that created the email template.
- created_
on_ intms - Timestamp in milliseconds when the email template was created.
- custom_
headers Mapping[str, str] - Custom email headers to include when notifications use this template.
- name str
- Name of the email template.
- resolved_
body str - Body used when a detector alert resolves.
- resolved_
subject str - Subject used when a detector alert resolves.
- tos Sequence[str]
- Email addresses to include as template recipients. At least one address is required.
- trigger_
body str - Body used when a detector alert triggers.
- trigger_
subject str - Subject used when a detector alert triggers.
- updated_
by str - User that last updated the email template.
- updated_
on_ intms - Timestamp in milliseconds when the email template was last updated.
- bccs List<String>
- Email addresses to include as blind carbon copy recipients.
- ccs List<String>
- Email addresses to include as carbon copy recipients.
- created
By String - User that created the email template.
- created
On NumberMs - Timestamp in milliseconds when the email template was created.
- custom
Headers Map<String> - Custom email headers to include when notifications use this template.
- name String
- Name of the email template.
- resolved
Body String - Body used when a detector alert resolves.
- resolved
Subject String - Subject used when a detector alert resolves.
- tos List<String>
- Email addresses to include as template recipients. At least one address is required.
- trigger
Body String - Body used when a detector alert triggers.
- trigger
Subject String - Subject used when a detector alert triggers.
- updated
By String - User that last updated the email template.
- updated
On NumberMs - Timestamp in milliseconds when the email template was last updated.
Package Details
- Repository
- SignalFx pulumi/pulumi-signalfx
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
signalfxTerraform Provider.
published on Tuesday, Aug 25, 2026 by Pulumi