1. Packages
  2. Packages
  3. Datadog Provider
  4. API Docs
  5. IncidentUserDefinedRole
Viewing docs for Datadog v5.9.0
published on Saturday, Jul 25, 2026 by Pulumi
datadog logo
Viewing docs for Datadog v5.9.0
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:

    IncidentType 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 IncidentUserDefinedRolePolicy
    Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
    IncidentType 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 IncidentUserDefinedRolePolicyArgs
    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.
    incidentType 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 IncidentUserDefinedRolePolicy
    Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
    incidentType 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 IncidentUserDefinedRolePolicy
    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 IncidentUserDefinedRolePolicyArgs
    Policy configuration for the user-defined role. Defaults to a multi-assignee policy when omitted.
    incidentType 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:

    Created string
    Timestamp when the user-defined role was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    Modified string
    Timestamp when the user-defined role was last modified.
    Created string
    Timestamp when the user-defined role was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    Modified string
    Timestamp when the user-defined role was last modified.
    created string
    Timestamp when the user-defined role was created.
    id string
    The provider-assigned unique ID for this managed resource.
    modified string
    Timestamp when the user-defined role was last modified.
    created String
    Timestamp when the user-defined role was created.
    id String
    The provider-assigned unique ID for this managed resource.
    modified String
    Timestamp when the user-defined role was last modified.
    created string
    Timestamp when the user-defined role was created.
    id string
    The provider-assigned unique ID for this managed resource.
    modified string
    Timestamp when the user-defined role was last modified.
    created str
    Timestamp when the user-defined role was created.
    id str
    The provider-assigned unique ID for this managed resource.
    modified str
    Timestamp when the user-defined role was last modified.
    created String
    Timestamp when the user-defined role was created.
    id String
    The provider-assigned unique ID for this managed resource.
    modified String
    Timestamp when the user-defined role was last modified.

    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) -> IncidentUserDefinedRole
    func 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.
    The following state arguments are supported:
    Created string
    Timestamp when the user-defined role was created.
    Description string
    A description of the user-defined role. At most 1024 characters.
    IncidentType 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 IncidentUserDefinedRolePolicy
    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.
    IncidentType 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 IncidentUserDefinedRolePolicyArgs
    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.
    incidentType 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 IncidentUserDefinedRolePolicy
    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.
    incidentType 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 IncidentUserDefinedRolePolicy
    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 IncidentUserDefinedRolePolicyArgs
    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.
    incidentType 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

    IsSingle bool
    Whether this role can only be assigned to one responder at a time. Defaults to false.
    IsSingle 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.
    isSingle Boolean
    Whether this role can only be assigned to one responder at a time. Defaults to false.
    isSingle 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.
    isSingle 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 datadog Terraform Provider.
    datadog logo
    Viewing docs for Datadog v5.9.0
    published on Saturday, Jul 25, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial