published on Saturday, Jul 25, 2026 by Pulumi
published on Saturday, Jul 25, 2026 by Pulumi
Provides a Datadog incident user-defined role resource. This can be used to create and manage custom responder roles that are available for a given incident type. Note: This resource targets an endpoint that is in preview and is subject to change.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as datadog from "@pulumi/datadog";
const example = new datadog.IncidentType("example", {
name: "Security Incident",
description: "Security-related incidents requiring immediate attention",
});
const techLead = new datadog.IncidentUserDefinedRole("tech_lead", {
name: "Tech Lead",
description: "The technical lead for the incident.",
incidentType: example.id,
policy: {
is_single: true,
},
});
import pulumi
import pulumi_datadog as datadog
example = datadog.IncidentType("example",
name="Security Incident",
description="Security-related incidents requiring immediate attention")
tech_lead = datadog.IncidentUserDefinedRole("tech_lead",
name="Tech Lead",
description="The technical lead for the incident.",
incident_type=example.id,
policy={
"is_single": True,
})
package main
import (
"github.com/pulumi/pulumi-datadog/sdk/v5/go/datadog"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := datadog.NewIncidentType(ctx, "example", &datadog.IncidentTypeArgs{
Name: pulumi.String("Security Incident"),
Description: pulumi.String("Security-related incidents requiring immediate attention"),
})
if err != nil {
return err
}
_, err = datadog.NewIncidentUserDefinedRole(ctx, "tech_lead", &datadog.IncidentUserDefinedRoleArgs{
Name: pulumi.String("Tech Lead"),
Description: pulumi.String("The technical lead for the incident."),
IncidentType: example.ID(),
Policy: &datadog.IncidentUserDefinedRolePolicyArgs{
Is_single: true,
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Datadog = Pulumi.Datadog;
return await Deployment.RunAsync(() =>
{
var example = new Datadog.IncidentType("example", new()
{
Name = "Security Incident",
Description = "Security-related incidents requiring immediate attention",
});
var techLead = new Datadog.IncidentUserDefinedRole("tech_lead", new()
{
Name = "Tech Lead",
Description = "The technical lead for the incident.",
IncidentType = example.Id,
Policy = new Datadog.Inputs.IncidentUserDefinedRolePolicyArgs
{
Is_single = true,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.datadog.IncidentType;
import com.pulumi.datadog.IncidentTypeArgs;
import com.pulumi.datadog.IncidentUserDefinedRole;
import com.pulumi.datadog.IncidentUserDefinedRoleArgs;
import com.pulumi.datadog.inputs.IncidentUserDefinedRolePolicyArgs;
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 example = new IncidentType("example", IncidentTypeArgs.builder()
.name("Security Incident")
.description("Security-related incidents requiring immediate attention")
.build());
var techLead = new IncidentUserDefinedRole("techLead", IncidentUserDefinedRoleArgs.builder()
.name("Tech Lead")
.description("The technical lead for the incident.")
.incidentType(example.id())
.policy(IncidentUserDefinedRolePolicyArgs.builder()
.is_single(true)
.build())
.build());
}
}
resources:
example:
type: datadog:IncidentType
properties:
name: Security Incident
description: Security-related incidents requiring immediate attention
techLead:
type: datadog:IncidentUserDefinedRole
name: tech_lead
properties:
name: Tech Lead
description: The technical lead for the incident.
incidentType: ${example.id}
policy:
is_single: true
pulumi {
required_providers {
datadog = {
source = "pulumi/datadog"
}
}
}
resource "datadog_incidenttype" "example" {
name = "Security Incident"
description = "Security-related incidents requiring immediate attention"
}
resource "datadog_incidentuserdefinedrole" "tech_lead" {
name = "Tech Lead"
description = "The technical lead for the incident."
incident_type = datadog_incidenttype.example.id
policy = {
is_single = true
}
}
Create IncidentUserDefinedRole Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new IncidentUserDefinedRole(name: string, args: IncidentUserDefinedRoleArgs, opts?: CustomResourceOptions);@overload
def IncidentUserDefinedRole(resource_name: str,
args: IncidentUserDefinedRoleArgs,
opts: Optional[ResourceOptions] = None)
@overload
def IncidentUserDefinedRole(resource_name: str,
opts: Optional[ResourceOptions] = None,
incident_type: Optional[str] = None,
name: Optional[str] = None,
description: Optional[str] = None,
policy: Optional[IncidentUserDefinedRolePolicyArgs] = None)func NewIncidentUserDefinedRole(ctx *Context, name string, args IncidentUserDefinedRoleArgs, opts ...ResourceOption) (*IncidentUserDefinedRole, error)public IncidentUserDefinedRole(string name, IncidentUserDefinedRoleArgs args, CustomResourceOptions? opts = null)
public IncidentUserDefinedRole(String name, IncidentUserDefinedRoleArgs args)
public IncidentUserDefinedRole(String name, IncidentUserDefinedRoleArgs args, CustomResourceOptions options)
type: datadog:IncidentUserDefinedRole
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "datadog_incident_user_defined_role" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args IncidentUserDefinedRoleArgs
- 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 IncidentUserDefinedRoleArgs
- 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 IncidentUserDefinedRoleArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args IncidentUserDefinedRoleArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args IncidentUserDefinedRoleArgs
- 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 incidentUserDefinedRoleResource = new Datadog.IncidentUserDefinedRole("incidentUserDefinedRoleResource", new()
{
IncidentType = "string",
Name = "string",
Description = "string",
Policy = new Datadog.Inputs.IncidentUserDefinedRolePolicyArgs
{
IsSingle = false,
},
});
example, err := datadog.NewIncidentUserDefinedRole(ctx, "incidentUserDefinedRoleResource", &datadog.IncidentUserDefinedRoleArgs{
IncidentType: pulumi.String("string"),
Name: pulumi.String("string"),
Description: pulumi.String("string"),
Policy: &datadog.IncidentUserDefinedRolePolicyArgs{
IsSingle: pulumi.Bool(false),
},
})
resource "datadog_incident_user_defined_role" "incidentUserDefinedRoleResource" {
lifecycle {
create_before_destroy = true
}
incident_type = "string"
name = "string"
description = "string"
policy = {
is_single = false
}
}
var incidentUserDefinedRoleResource = new IncidentUserDefinedRole("incidentUserDefinedRoleResource", IncidentUserDefinedRoleArgs.builder()
.incidentType("string")
.name("string")
.description("string")
.policy(IncidentUserDefinedRolePolicyArgs.builder()
.isSingle(false)
.build())
.build());
incident_user_defined_role_resource = datadog.IncidentUserDefinedRole("incidentUserDefinedRoleResource",
incident_type="string",
name="string",
description="string",
policy={
"is_single": False,
})
const incidentUserDefinedRoleResource = new datadog.IncidentUserDefinedRole("incidentUserDefinedRoleResource", {
incidentType: "string",
name: "string",
description: "string",
policy: {
isSingle: false,
},
});
type: datadog:IncidentUserDefinedRole
properties:
description: string
incidentType: string
name: string
policy:
isSingle: false
IncidentUserDefinedRole 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 IncidentUserDefinedRole resource accepts the following input properties:
- Incident
Type string - The ID of the incident type this user-defined role is associated with.
- Name string
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- Description string
- A description of the user-defined role. At most 1024 characters.
- Policy
Incident
User Defined Role Policy - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- Incident
Type string - The ID of the incident type this user-defined role is associated with.
- Name string
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- Description string
- A description of the user-defined role. At most 1024 characters.
- Policy
Incident
User Defined Role Policy Args - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- incident_
type string - The ID of the incident type this user-defined role is associated with.
- name string
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- description string
- A description of the user-defined role. At most 1024 characters.
- policy object
- Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- incident
Type String - The ID of the incident type this user-defined role is associated with.
- name String
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- description String
- A description of the user-defined role. At most 1024 characters.
- policy
Incident
User Defined Role Policy - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- incident
Type string - The ID of the incident type this user-defined role is associated with.
- name string
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- description string
- A description of the user-defined role. At most 1024 characters.
- policy
Incident
User Defined Role Policy - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- incident_
type str - The ID of the incident type this user-defined role is associated with.
- name str
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- description str
- A description of the user-defined role. At most 1024 characters.
- policy
Incident
User Defined Role Policy Args - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- incident
Type String - The ID of the incident type this user-defined role is associated with.
- name String
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- description String
- A description of the user-defined role. At most 1024 characters.
- policy Property Map
- Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
Outputs
All input properties are implicitly available as output properties. Additionally, the IncidentUserDefinedRole resource produces the following output properties:
Look up Existing IncidentUserDefinedRole Resource
Get an existing IncidentUserDefinedRole 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?: IncidentUserDefinedRoleState, opts?: CustomResourceOptions): IncidentUserDefinedRole@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
created: Optional[str] = None,
description: Optional[str] = None,
incident_type: Optional[str] = None,
modified: Optional[str] = None,
name: Optional[str] = None,
policy: Optional[IncidentUserDefinedRolePolicyArgs] = None) -> IncidentUserDefinedRolefunc GetIncidentUserDefinedRole(ctx *Context, name string, id IDInput, state *IncidentUserDefinedRoleState, opts ...ResourceOption) (*IncidentUserDefinedRole, error)public static IncidentUserDefinedRole Get(string name, Input<string> id, IncidentUserDefinedRoleState? state, CustomResourceOptions? opts = null)public static IncidentUserDefinedRole get(String name, Output<String> id, IncidentUserDefinedRoleState state, CustomResourceOptions options)resources: _: type: datadog:IncidentUserDefinedRole get: id: ${id}import {
to = datadog_incident_user_defined_role.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.
- Created string
- Timestamp when the user-defined role was created.
- Description string
- A description of the user-defined role. At most 1024 characters.
- Incident
Type string - The ID of the incident type this user-defined role is associated with.
- Modified string
- Timestamp when the user-defined role was last modified.
- Name string
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- Policy
Incident
User Defined Role Policy - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- Created string
- Timestamp when the user-defined role was created.
- Description string
- A description of the user-defined role. At most 1024 characters.
- Incident
Type string - The ID of the incident type this user-defined role is associated with.
- Modified string
- Timestamp when the user-defined role was last modified.
- Name string
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- Policy
Incident
User Defined Role Policy Args - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- created string
- Timestamp when the user-defined role was created.
- description string
- A description of the user-defined role. At most 1024 characters.
- incident_
type string - The ID of the incident type this user-defined role is associated with.
- modified string
- Timestamp when the user-defined role was last modified.
- name string
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- policy object
- Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- created String
- Timestamp when the user-defined role was created.
- description String
- A description of the user-defined role. At most 1024 characters.
- incident
Type String - The ID of the incident type this user-defined role is associated with.
- modified String
- Timestamp when the user-defined role was last modified.
- name String
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- policy
Incident
User Defined Role Policy - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- created string
- Timestamp when the user-defined role was created.
- description string
- A description of the user-defined role. At most 1024 characters.
- incident
Type string - The ID of the incident type this user-defined role is associated with.
- modified string
- Timestamp when the user-defined role was last modified.
- name string
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- policy
Incident
User Defined Role Policy - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- created str
- Timestamp when the user-defined role was created.
- description str
- A description of the user-defined role. At most 1024 characters.
- incident_
type str - The ID of the incident type this user-defined role is associated with.
- modified str
- Timestamp when the user-defined role was last modified.
- name str
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- policy
Incident
User Defined Role Policy Args - Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
- created String
- Timestamp when the user-defined role was created.
- description String
- A description of the user-defined role. At most 1024 characters.
- incident
Type String - The ID of the incident type this user-defined role is associated with.
- modified String
- Timestamp when the user-defined role was last modified.
- name String
- The name of the user-defined role. Cannot be a reserved name ("Incident Commander" or "Responder") and must be at most 255 characters.
- policy Property Map
- Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
Supporting Types
IncidentUserDefinedRolePolicy, IncidentUserDefinedRolePolicyArgs
- Is
Single bool - Whether this role can only be assigned to one responder at a time. Defaults to
false.
- Is
Single bool - Whether this role can only be assigned to one responder at a time. Defaults to
false.
- is_
single bool - Whether this role can only be assigned to one responder at a time. Defaults to
false.
- is
Single Boolean - Whether this role can only be assigned to one responder at a time. Defaults to
false.
- is
Single boolean - Whether this role can only be assigned to one responder at a time. Defaults to
false.
- is_
single bool - Whether this role can only be assigned to one responder at a time. Defaults to
false.
- is
Single Boolean - Whether this role can only be assigned to one responder at a time. Defaults to
false.
Import
The pulumi import command can be used, for example:
$ pulumi import datadog:index/incidentUserDefinedRole:IncidentUserDefinedRole tech_lead "12345678-1234-1234-1234-1234567890ab"
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Datadog pulumi/pulumi-datadog
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
datadogTerraform Provider.
published on Saturday, Jul 25, 2026 by Pulumi