import * as pulumi from "@pulumi/pulumi"; /** * Provides a Datadog incident notification template resource. This can be used to create and manage Datadog incident notification templates. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as datadog from "@pulumi/datadog"; * * // Reference incident type * const security = new datadog.IncidentType("security", { * name: "Security Incident", * description: "Security-related incidents requiring immediate attention", * }); * // Create a notification template for incident alerts * const securityIncident = new datadog.IncidentNotificationTemplate("security_incident", { * name: "Security Incident Template", * subject: "SEV-1 Security Incident: {{incident.title}}", * content: `🚨 SECURITY INCIDENT DECLARED 🚨 * * **Incident Details:** * - Title: {{incident.title}} * - Severity: {{incident.severity}} * - Status: {{incident.status}} * - Declared at: {{incident.created}} * * **Affected Services:** * {{#each incident.services}} * - {{name}} * {{/each}} * * **Commander:** {{incident.commander}} * * **Next Steps:** * 1. Join the incident Slack channel: #incident-{{incident.id}} * 2. Review the incident details in Datadog * 3. Await further instructions from the incident commander * * For more information: {{incident.url}} * `, * category: "alert", * incidentType: security.id, * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * !/bin/bash * * Import an existing incident notification template * * ```sh * $ pulumi import datadog:index/incidentNotificationTemplate:IncidentNotificationTemplate security_incident 11111111-2222-3333-4444-555555555555 * ``` */ export declare class IncidentNotificationTemplate extends pulumi.CustomResource { /** * Get an existing IncidentNotificationTemplate resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: IncidentNotificationTemplateState, opts?: pulumi.CustomResourceOptions): IncidentNotificationTemplate; /** * Returns true if the given object is an instance of IncidentNotificationTemplate. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is IncidentNotificationTemplate; /** * The category of the notification template. Valid values are `alert`, `incident`, `recovery`. */ readonly category: pulumi.Output; /** * The content body of the notification template. */ readonly content: pulumi.Output; /** * Timestamp when the notification template was created. */ readonly created: pulumi.Output; /** * The ID of the incident type this notification template is associated with. */ readonly incidentType: pulumi.Output; /** * Timestamp when the notification template was last modified. */ readonly modified: pulumi.Output; /** * The name of the notification template. */ readonly name: pulumi.Output; /** * The subject line of the notification template. */ readonly subject: pulumi.Output; /** * Create a IncidentNotificationTemplate resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: IncidentNotificationTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering IncidentNotificationTemplate resources. */ export interface IncidentNotificationTemplateState { /** * The category of the notification template. Valid values are `alert`, `incident`, `recovery`. */ category?: pulumi.Input; /** * The content body of the notification template. */ content?: pulumi.Input; /** * Timestamp when the notification template was created. */ created?: pulumi.Input; /** * The ID of the incident type this notification template is associated with. */ incidentType?: pulumi.Input; /** * Timestamp when the notification template was last modified. */ modified?: pulumi.Input; /** * The name of the notification template. */ name?: pulumi.Input; /** * The subject line of the notification template. */ subject?: pulumi.Input; } /** * The set of arguments for constructing a IncidentNotificationTemplate resource. */ export interface IncidentNotificationTemplateArgs { /** * The category of the notification template. Valid values are `alert`, `incident`, `recovery`. */ category: pulumi.Input; /** * The content body of the notification template. */ content: pulumi.Input; /** * The ID of the incident type this notification template is associated with. */ incidentType: pulumi.Input; /** * The name of the notification template. */ name: pulumi.Input; /** * The subject line of the notification template. */ subject: pulumi.Input; }