1. Registry
  2. Packages
  3. incident.io
  4. API Docs
  5. IncidentForm
Viewing docs for incident.io v0.4.1
published on Wednesday, Oct 21, 2026 by incident-io
incident logo incident.io
Viewing docs for incident.io v0.4.1
published on Wednesday, Oct 21, 2026 by incident-io

    Configure the forms used to declare, accept, update, and resolve incidents.

    Each form carries its elements and the expressions those elements can reference. Escalate forms are not part of this API.

    A form is one resource: its elements and the expressions they reference are written together, in display order, and reconciled server-side on every apply.

    Every organisation already has a default form of each lifecycle type (declare, accept, update, resolve and retrospective), which can be neither created nor deleted. To manage one, import it by ID. Destroying it afterwards removes it from state and hands it back to the dashboard, but the form itself remains. A form for a specific incident type is created and deleted like any other resource. A custom-fields form has no default, so one with no incidentTypeId is created and deleted normally too.

    The saved form always lists the name, incidentType and status elements first, in that order, whatever order the configuration gives them. List them first, or state keeps your order while the form shows theirs.

    Example - A declare form for one incident type

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@incident-io/pulumi";
    
    // A declare form for one incident type. Elements appear in the order listed. The
    // form is reconciled as a whole on every apply, so an element dropped from this
    // list is removed from the form.
    const security = incident.getIncidentType({
        name: "Security",
    });
    const incidentLead = incident.getIncidentRole({
        name: "Incident Lead",
    });
    const affectedSystem = new incident.CustomField("affected_system", {
        name: "Affected system",
        description: "The system this incident affects.",
        fieldType: "text",
    });
    const securityDeclare = new incident.IncidentForm("security_declare", {
        formType: "declare",
        incidentTypeId: security.then(security => security.id),
        lifecycleElements: [
            {
                elementType: "name",
            },
            {
                elementType: "severity",
                requiredIf: "always_require",
            },
            {
                elementType: "incident_role",
                incidentRoleId: incidentLead.then(incidentLead => incidentLead.id),
            },
            {
                elementType: "text",
                description: "**Security incidents are private by default.** Only add people who need to know.",
            },
            {
                elementType: "custom_field",
                customFieldId: affectedSystem.id,
                placeholder: "Which system is affected?",
                description: "Name the service or data store, not the team.",
                defaultValue: {
                    valueLiteral: "Unknown",
                },
            },
            {
                elementType: "divider",
            },
            {
                elementType: "summary",
                placeholder: "What do we know so far?",
            },
        ],
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # A declare form for one incident type. Elements appear in the order listed. The
    # form is reconciled as a whole on every apply, so an element dropped from this
    # list is removed from the form.
    security = incident.get_incident_type(name="Security")
    incident_lead = incident.get_incident_role(name="Incident Lead")
    affected_system = incident.CustomField("affected_system",
        name="Affected system",
        description="The system this incident affects.",
        field_type="text")
    security_declare = incident.IncidentForm("security_declare",
        form_type="declare",
        incident_type_id=security.id,
        lifecycle_elements=[
            {
                "element_type": "name",
            },
            {
                "element_type": "severity",
                "required_if": "always_require",
            },
            {
                "element_type": "incident_role",
                "incident_role_id": incident_lead.id,
            },
            {
                "element_type": "text",
                "description": "**Security incidents are private by default.** Only add people who need to know.",
            },
            {
                "element_type": "custom_field",
                "custom_field_id": affected_system.id,
                "placeholder": "Which system is affected?",
                "description": "Name the service or data store, not the team.",
                "default_value": {
                    "value_literal": "Unknown",
                },
            },
            {
                "element_type": "divider",
            },
            {
                "element_type": "summary",
                "placeholder": "What do we know so far?",
            },
        ])
    
    package main
    
    import (
    	"github.com/incident-io/pulumi-incident/sdk/go/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// A declare form for one incident type. Elements appear in the order listed. The
    		// form is reconciled as a whole on every apply, so an element dropped from this
    		// list is removed from the form.
    		security, err := incident.GetIncidentType(ctx, &incident.GetIncidentTypeArgs{
    			Name: pulumi.StringRef("Security"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		incidentLead, err := incident.GetIncidentRole(ctx, &incident.LookupIncidentRoleArgs{
    			Name: pulumi.StringRef("Incident Lead"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		affectedSystem, err := incident.NewCustomField(ctx, "affected_system", &incident.CustomFieldArgs{
    			Name:        pulumi.String("Affected system"),
    			Description: pulumi.String("The system this incident affects."),
    			FieldType:   pulumi.String("text"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = incident.NewIncidentForm(ctx, "security_declare", &incident.IncidentFormArgs{
    			FormType:       pulumi.String("declare"),
    			IncidentTypeId: pulumi.String(security.Id),
    			LifecycleElements: incident.IncidentFormLifecycleElementArray{
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("name"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("severity"),
    					RequiredIf:   pulumi.String("always_require"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:   pulumi.String("incident_role"),
    					IncidentRoleId: pulumi.String(incidentLead.Id),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("text"),
    					Description:  pulumi.String("**Security incidents are private by default.** Only add people who need to know."),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:  pulumi.String("custom_field"),
    					CustomFieldId: affectedSystem.ID().ToIDOutput().ToStringOutput(),
    					Placeholder:   pulumi.String("Which system is affected?"),
    					Description:   pulumi.String("Name the service or data store, not the team."),
    					DefaultValue: &incident.IncidentFormLifecycleElementDefaultValueArgs{
    						ValueLiteral: pulumi.String("Unknown"),
    					},
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("divider"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("summary"),
    					Placeholder:  pulumi.String("What do we know so far?"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // A declare form for one incident type. Elements appear in the order listed. The
        // form is reconciled as a whole on every apply, so an element dropped from this
        // list is removed from the form.
        var security = Incident.GetIncidentType.Invoke(new()
        {
            Name = "Security",
        });
    
        var incidentLead = Incident.GetIncidentRole.Invoke(new()
        {
            Name = "Incident Lead",
        });
    
        var affectedSystem = new Incident.CustomField("affected_system", new()
        {
            Name = "Affected system",
            Description = "The system this incident affects.",
            FieldType = "text",
        });
    
        var securityDeclare = new Incident.IncidentForm("security_declare", new()
        {
            FormType = "declare",
            IncidentTypeId = security.Apply(getIncidentTypeResult => getIncidentTypeResult.Id),
            LifecycleElements = new[]
            {
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "name",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "severity",
                    RequiredIf = "always_require",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "incident_role",
                    IncidentRoleId = incidentLead.Apply(getIncidentRoleResult => getIncidentRoleResult.Id),
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "text",
                    Description = "**Security incidents are private by default.** Only add people who need to know.",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "custom_field",
                    CustomFieldId = affectedSystem.Id,
                    Placeholder = "Which system is affected?",
                    Description = "Name the service or data store, not the team.",
                    DefaultValue = new Incident.Inputs.IncidentFormLifecycleElementDefaultValueArgs
                    {
                        ValueLiteral = "Unknown",
                    },
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "divider",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "summary",
                    Placeholder = "What do we know so far?",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.IncidentFunctions;
    import com.pulumi.incident.inputs.GetIncidentTypeArgs;
    import com.pulumi.incident.inputs.GetIncidentRoleArgs;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import com.pulumi.incident.IncidentForm;
    import com.pulumi.incident.IncidentFormArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementDefaultValueArgs;
    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) {
            // A declare form for one incident type. Elements appear in the order listed. The
            // form is reconciled as a whole on every apply, so an element dropped from this
            // list is removed from the form.
            final var security = IncidentFunctions.getIncidentType(GetIncidentTypeArgs.builder()
                .name("Security")
                .build());
    
            final var incidentLead = IncidentFunctions.getIncidentRole(GetIncidentRoleArgs.builder()
                .name("Incident Lead")
                .build());
    
            var affectedSystem = new CustomField("affectedSystem", CustomFieldArgs.builder()
                .name("Affected system")
                .description("The system this incident affects.")
                .fieldType("text")
                .build());
    
            var securityDeclare = new IncidentForm("securityDeclare", IncidentFormArgs.builder()
                .formType("declare")
                .incidentTypeId(security.id())
                .lifecycleElements(            
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("name")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("severity")
                        .requiredIf("always_require")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("incident_role")
                        .incidentRoleId(incidentLead.id())
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("text")
                        .description("**Security incidents are private by default.** Only add people who need to know.")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("custom_field")
                        .customFieldId(affectedSystem.id())
                        .placeholder("Which system is affected?")
                        .description("Name the service or data store, not the team.")
                        .defaultValue(IncidentFormLifecycleElementDefaultValueArgs.builder()
                            .valueLiteral("Unknown")
                            .build())
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("divider")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("summary")
                        .placeholder("What do we know so far?")
                        .build())
                .build());
    
        }
    }
    
    resources:
      affectedSystem:
        type: incident:CustomField
        name: affected_system
        properties:
          name: Affected system
          description: The system this incident affects.
          fieldType: text
      securityDeclare:
        type: incident:IncidentForm
        name: security_declare
        properties:
          formType: declare
          incidentTypeId: ${security.id}
          lifecycleElements:
            - elementType: name
            - elementType: severity
              requiredIf: always_require
            - elementType: incident_role
              incidentRoleId: ${incidentLead.id}
            - elementType: text
              description: '**Security incidents are private by default.** Only add people who need to know.'
            - elementType: custom_field
              customFieldId: ${affectedSystem.id}
              placeholder: Which system is affected?
              description: Name the service or data store, not the team.
              defaultValue:
                valueLiteral: Unknown
            - elementType: divider
            - elementType: summary
              placeholder: What do we know so far?
    variables:
      # A declare form for one incident type. Elements appear in the order listed. The
      # form is reconciled as a whole on every apply, so an element dropped from this
      # list is removed from the form.
      security:
        fn::invoke:
          function: incident:getIncidentType
          arguments:
            name: Security
      incidentLead:
        fn::invoke:
          function: incident:getIncidentRole
          arguments:
            name: Incident Lead
    
    pulumi {
      required_providers {
        incident = {
          source = "pulumi/incident"
        }
      }
    }
    
    data "incident_getincidenttype" "security" {
      name = "Security"
    }
    data "incident_getincidentrole" "incidentLead" {
      name = "Incident Lead"
    }
    
    resource "incident_customfield" "affected_system" {
      name        = "Affected system"
      description = "The system this incident affects."
      field_type  = "text"
    }
    resource "incident_incidentform" "security_declare" {
      form_type        = "declare"
      incident_type_id = data.incident_getincidenttype.security.id
      lifecycle_elements {
        element_type = "name"
      }
      lifecycle_elements {
        element_type = "severity"
        required_if  = "always_require"
      }
      lifecycle_elements {
        element_type     = "incident_role"
        incident_role_id = data.incident_getincidentrole.incidentLead.id
      }
      lifecycle_elements {
        element_type = "text"
        description  = "**Security incidents are private by default.** Only add people who need to know."
      }
      lifecycle_elements {
        element_type    = "custom_field"
        custom_field_id = incident_customfield.affected_system.id
        placeholder     = "Which system is affected?"
        description     = "Name the service or data store, not the team."
        default_value = {
          value_literal = "Unknown"
        }
      }
      lifecycle_elements {
        element_type = "divider"
      }
      lifecycle_elements {
        element_type = "summary"
        placeholder  = "What do we know so far?"
      }
    }
    # A declare form for one incident type. Elements appear in the order listed. The
    # form is reconciled as a whole on every apply, so an element dropped from this
    # list is removed from the form.
    

    Example - An accept form for one incident type

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@incident-io/pulumi";
    
    // An accept form for one incident type: what responders fill in when they accept
    // a triage incident as real. Everything a declare form asks for is available here
    // too, except triage and visibility, which the accepted incident already has.
    const customerReport = incident.getIncidentType({
        name: "Customer report",
    });
    const commsLead = incident.getIncidentRole({
        name: "Communications Lead",
    });
    const impactStarted = incident.getIncidentTimestamp({
        name: "Impact started",
    });
    const customerReportAccept = new incident.IncidentForm("customer_report_accept", {
        formType: "accept",
        incidentTypeId: customerReport.then(customerReport => customerReport.id),
        lifecycleElements: [
            {
                elementType: "name",
            },
            {
                elementType: "severity",
                requiredIf: "always_require",
            },
            {
                elementType: "incident_role",
                incidentRoleId: commsLead.then(commsLead => commsLead.id),
                description: "Customer reports need someone owning the reply.",
            },
            {
                elementType: "timestamp",
                incidentTimestampId: impactStarted.then(impactStarted => impactStarted.id),
                description: "When the customer first saw the problem, if they said.",
            },
            {
                elementType: "summary",
            },
        ],
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # An accept form for one incident type: what responders fill in when they accept
    # a triage incident as real. Everything a declare form asks for is available here
    # too, except triage and visibility, which the accepted incident already has.
    customer_report = incident.get_incident_type(name="Customer report")
    comms_lead = incident.get_incident_role(name="Communications Lead")
    impact_started = incident.get_incident_timestamp(name="Impact started")
    customer_report_accept = incident.IncidentForm("customer_report_accept",
        form_type="accept",
        incident_type_id=customer_report.id,
        lifecycle_elements=[
            {
                "element_type": "name",
            },
            {
                "element_type": "severity",
                "required_if": "always_require",
            },
            {
                "element_type": "incident_role",
                "incident_role_id": comms_lead.id,
                "description": "Customer reports need someone owning the reply.",
            },
            {
                "element_type": "timestamp",
                "incident_timestamp_id": impact_started.id,
                "description": "When the customer first saw the problem, if they said.",
            },
            {
                "element_type": "summary",
            },
        ])
    
    package main
    
    import (
    	"github.com/incident-io/pulumi-incident/sdk/go/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// An accept form for one incident type: what responders fill in when they accept
    		// a triage incident as real. Everything a declare form asks for is available here
    		// too, except triage and visibility, which the accepted incident already has.
    		customerReport, err := incident.GetIncidentType(ctx, &incident.GetIncidentTypeArgs{
    			Name: pulumi.StringRef("Customer report"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		commsLead, err := incident.GetIncidentRole(ctx, &incident.LookupIncidentRoleArgs{
    			Name: pulumi.StringRef("Communications Lead"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		impactStarted, err := incident.GetIncidentTimestamp(ctx, &incident.GetIncidentTimestampArgs{
    			Name: pulumi.StringRef("Impact started"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = incident.NewIncidentForm(ctx, "customer_report_accept", &incident.IncidentFormArgs{
    			FormType:       pulumi.String("accept"),
    			IncidentTypeId: pulumi.String(customerReport.Id),
    			LifecycleElements: incident.IncidentFormLifecycleElementArray{
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("name"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("severity"),
    					RequiredIf:   pulumi.String("always_require"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:   pulumi.String("incident_role"),
    					IncidentRoleId: pulumi.String(commsLead.Id),
    					Description:    pulumi.String("Customer reports need someone owning the reply."),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:        pulumi.String("timestamp"),
    					IncidentTimestampId: pulumi.String(impactStarted.Id),
    					Description:         pulumi.String("When the customer first saw the problem, if they said."),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("summary"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // An accept form for one incident type: what responders fill in when they accept
        // a triage incident as real. Everything a declare form asks for is available here
        // too, except triage and visibility, which the accepted incident already has.
        var customerReport = Incident.GetIncidentType.Invoke(new()
        {
            Name = "Customer report",
        });
    
        var commsLead = Incident.GetIncidentRole.Invoke(new()
        {
            Name = "Communications Lead",
        });
    
        var impactStarted = Incident.GetIncidentTimestamp.Invoke(new()
        {
            Name = "Impact started",
        });
    
        var customerReportAccept = new Incident.IncidentForm("customer_report_accept", new()
        {
            FormType = "accept",
            IncidentTypeId = customerReport.Apply(getIncidentTypeResult => getIncidentTypeResult.Id),
            LifecycleElements = new[]
            {
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "name",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "severity",
                    RequiredIf = "always_require",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "incident_role",
                    IncidentRoleId = commsLead.Apply(getIncidentRoleResult => getIncidentRoleResult.Id),
                    Description = "Customer reports need someone owning the reply.",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "timestamp",
                    IncidentTimestampId = impactStarted.Apply(getIncidentTimestampResult => getIncidentTimestampResult.Id),
                    Description = "When the customer first saw the problem, if they said.",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "summary",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.IncidentFunctions;
    import com.pulumi.incident.inputs.GetIncidentTypeArgs;
    import com.pulumi.incident.inputs.GetIncidentRoleArgs;
    import com.pulumi.incident.inputs.GetIncidentTimestampArgs;
    import com.pulumi.incident.IncidentForm;
    import com.pulumi.incident.IncidentFormArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementArgs;
    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) {
            // An accept form for one incident type: what responders fill in when they accept
            // a triage incident as real. Everything a declare form asks for is available here
            // too, except triage and visibility, which the accepted incident already has.
            final var customerReport = IncidentFunctions.getIncidentType(GetIncidentTypeArgs.builder()
                .name("Customer report")
                .build());
    
            final var commsLead = IncidentFunctions.getIncidentRole(GetIncidentRoleArgs.builder()
                .name("Communications Lead")
                .build());
    
            final var impactStarted = IncidentFunctions.getIncidentTimestamp(GetIncidentTimestampArgs.builder()
                .name("Impact started")
                .build());
    
            var customerReportAccept = new IncidentForm("customerReportAccept", IncidentFormArgs.builder()
                .formType("accept")
                .incidentTypeId(customerReport.id())
                .lifecycleElements(            
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("name")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("severity")
                        .requiredIf("always_require")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("incident_role")
                        .incidentRoleId(commsLead.id())
                        .description("Customer reports need someone owning the reply.")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("timestamp")
                        .incidentTimestampId(impactStarted.id())
                        .description("When the customer first saw the problem, if they said.")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("summary")
                        .build())
                .build());
    
        }
    }
    
    resources:
      customerReportAccept:
        type: incident:IncidentForm
        name: customer_report_accept
        properties:
          formType: accept
          incidentTypeId: ${customerReport.id}
          lifecycleElements:
            - elementType: name
            - elementType: severity
              requiredIf: always_require
            - elementType: incident_role
              incidentRoleId: ${commsLead.id}
              description: Customer reports need someone owning the reply.
            - elementType: timestamp
              incidentTimestampId: ${impactStarted.id}
              description: When the customer first saw the problem, if they said.
            - elementType: summary
    variables:
      # An accept form for one incident type: what responders fill in when they accept
      # a triage incident as real. Everything a declare form asks for is available here
      # too, except triage and visibility, which the accepted incident already has.
      customerReport:
        fn::invoke:
          function: incident:getIncidentType
          arguments:
            name: Customer report
      commsLead:
        fn::invoke:
          function: incident:getIncidentRole
          arguments:
            name: Communications Lead
      impactStarted:
        fn::invoke:
          function: incident:getIncidentTimestamp
          arguments:
            name: Impact started
    
    pulumi {
      required_providers {
        incident = {
          source = "pulumi/incident"
        }
      }
    }
    
    data "incident_getincidenttype" "customerReport" {
      name = "Customer report"
    }
    data "incident_getincidentrole" "commsLead" {
      name = "Communications Lead"
    }
    data "incident_getincidenttimestamp" "impactStarted" {
      name = "Impact started"
    }
    
    resource "incident_incidentform" "customer_report_accept" {
      form_type        = "accept"
      incident_type_id = data.incident_getincidenttype.customerReport.id
      lifecycle_elements {
        element_type = "name"
      }
      lifecycle_elements {
        element_type = "severity"
        required_if  = "always_require"
      }
      lifecycle_elements {
        element_type     = "incident_role"
        incident_role_id = data.incident_getincidentrole.commsLead.id
        description      = "Customer reports need someone owning the reply."
      }
      lifecycle_elements {
        element_type          = "timestamp"
        incident_timestamp_id = data.incident_getincidenttimestamp.impactStarted.id
        description           = "When the customer first saw the problem, if they said."
      }
      lifecycle_elements {
        element_type = "summary"
      }
    }
    # An accept form for one incident type: what responders fill in when they accept
    # a triage incident as real. Everything a declare form asks for is available here
    # too, except triage and visibility, which the accepted incident already has.
    

    Example - A resolve form with investigation feedback

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@incident-io/pulumi";
    
    // A resolve form for one incident type. It collects what is only known at the
    // end: when the fix landed, and feedback on the investigation.
    const productionOutage = incident.getIncidentType({
        name: "Production Outage",
    });
    const fixed = incident.getIncidentTimestamp({
        name: "Fixed",
    });
    const rootCause = new incident.CustomField("root_cause", {
        name: "Root cause",
        description: "One line on what went wrong.",
        fieldType: "text",
    });
    const productionOutageResolve = new incident.IncidentForm("production_outage_resolve", {
        formType: "resolve",
        incidentTypeId: productionOutage.then(productionOutage => productionOutage.id),
        lifecycleElements: [
            {
                elementType: "timestamp",
                incidentTimestampId: fixed.then(fixed => fixed.id),
                requiredIf: "always_require",
            },
            {
                elementType: "custom_field",
                customFieldId: rootCause.id,
                requiredIf: "always_require",
                placeholder: "What went wrong?",
            },
            {
                elementType: "summary",
                description: "Update the summary to say how it was resolved.",
            },
            {
                elementType: "investigation_feedback",
                config: {
                    requireComment: true,
                },
            },
        ],
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # A resolve form for one incident type. It collects what is only known at the
    # end: when the fix landed, and feedback on the investigation.
    production_outage = incident.get_incident_type(name="Production Outage")
    fixed = incident.get_incident_timestamp(name="Fixed")
    root_cause = incident.CustomField("root_cause",
        name="Root cause",
        description="One line on what went wrong.",
        field_type="text")
    production_outage_resolve = incident.IncidentForm("production_outage_resolve",
        form_type="resolve",
        incident_type_id=production_outage.id,
        lifecycle_elements=[
            {
                "element_type": "timestamp",
                "incident_timestamp_id": fixed.id,
                "required_if": "always_require",
            },
            {
                "element_type": "custom_field",
                "custom_field_id": root_cause.id,
                "required_if": "always_require",
                "placeholder": "What went wrong?",
            },
            {
                "element_type": "summary",
                "description": "Update the summary to say how it was resolved.",
            },
            {
                "element_type": "investigation_feedback",
                "config": {
                    "require_comment": True,
                },
            },
        ])
    
    package main
    
    import (
    	"github.com/incident-io/pulumi-incident/sdk/go/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// A resolve form for one incident type. It collects what is only known at the
    		// end: when the fix landed, and feedback on the investigation.
    		productionOutage, err := incident.GetIncidentType(ctx, &incident.GetIncidentTypeArgs{
    			Name: pulumi.StringRef("Production Outage"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		fixed, err := incident.GetIncidentTimestamp(ctx, &incident.GetIncidentTimestampArgs{
    			Name: pulumi.StringRef("Fixed"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		rootCause, err := incident.NewCustomField(ctx, "root_cause", &incident.CustomFieldArgs{
    			Name:        pulumi.String("Root cause"),
    			Description: pulumi.String("One line on what went wrong."),
    			FieldType:   pulumi.String("text"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = incident.NewIncidentForm(ctx, "production_outage_resolve", &incident.IncidentFormArgs{
    			FormType:       pulumi.String("resolve"),
    			IncidentTypeId: pulumi.String(productionOutage.Id),
    			LifecycleElements: incident.IncidentFormLifecycleElementArray{
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:        pulumi.String("timestamp"),
    					IncidentTimestampId: pulumi.String(fixed.Id),
    					RequiredIf:          pulumi.String("always_require"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:  pulumi.String("custom_field"),
    					CustomFieldId: rootCause.ID().ToIDOutput().ToStringOutput(),
    					RequiredIf:    pulumi.String("always_require"),
    					Placeholder:   pulumi.String("What went wrong?"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("summary"),
    					Description:  pulumi.String("Update the summary to say how it was resolved."),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("investigation_feedback"),
    					Config: &incident.IncidentFormLifecycleElementConfigArgs{
    						RequireComment: pulumi.Bool(true),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // A resolve form for one incident type. It collects what is only known at the
        // end: when the fix landed, and feedback on the investigation.
        var productionOutage = Incident.GetIncidentType.Invoke(new()
        {
            Name = "Production Outage",
        });
    
        var @fixed = Incident.GetIncidentTimestamp.Invoke(new()
        {
            Name = "Fixed",
        });
    
        var rootCause = new Incident.CustomField("root_cause", new()
        {
            Name = "Root cause",
            Description = "One line on what went wrong.",
            FieldType = "text",
        });
    
        var productionOutageResolve = new Incident.IncidentForm("production_outage_resolve", new()
        {
            FormType = "resolve",
            IncidentTypeId = productionOutage.Apply(getIncidentTypeResult => getIncidentTypeResult.Id),
            LifecycleElements = new[]
            {
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "timestamp",
                    IncidentTimestampId = @fixed.Apply(@fixed => @fixed.Apply(getIncidentTimestampResult => getIncidentTimestampResult.Id)),
                    RequiredIf = "always_require",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "custom_field",
                    CustomFieldId = rootCause.Id,
                    RequiredIf = "always_require",
                    Placeholder = "What went wrong?",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "summary",
                    Description = "Update the summary to say how it was resolved.",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "investigation_feedback",
                    Config = new Incident.Inputs.IncidentFormLifecycleElementConfigArgs
                    {
                        RequireComment = true,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.IncidentFunctions;
    import com.pulumi.incident.inputs.GetIncidentTypeArgs;
    import com.pulumi.incident.inputs.GetIncidentTimestampArgs;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import com.pulumi.incident.IncidentForm;
    import com.pulumi.incident.IncidentFormArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementConfigArgs;
    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) {
            // A resolve form for one incident type. It collects what is only known at the
            // end: when the fix landed, and feedback on the investigation.
            final var productionOutage = IncidentFunctions.getIncidentType(GetIncidentTypeArgs.builder()
                .name("Production Outage")
                .build());
    
            final var fixed = IncidentFunctions.getIncidentTimestamp(GetIncidentTimestampArgs.builder()
                .name("Fixed")
                .build());
    
            var rootCause = new CustomField("rootCause", CustomFieldArgs.builder()
                .name("Root cause")
                .description("One line on what went wrong.")
                .fieldType("text")
                .build());
    
            var productionOutageResolve = new IncidentForm("productionOutageResolve", IncidentFormArgs.builder()
                .formType("resolve")
                .incidentTypeId(productionOutage.id())
                .lifecycleElements(            
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("timestamp")
                        .incidentTimestampId(fixed.id())
                        .requiredIf("always_require")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("custom_field")
                        .customFieldId(rootCause.id())
                        .requiredIf("always_require")
                        .placeholder("What went wrong?")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("summary")
                        .description("Update the summary to say how it was resolved.")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("investigation_feedback")
                        .config(IncidentFormLifecycleElementConfigArgs.builder()
                            .requireComment(true)
                            .build())
                        .build())
                .build());
    
        }
    }
    
    resources:
      rootCause:
        type: incident:CustomField
        name: root_cause
        properties:
          name: Root cause
          description: One line on what went wrong.
          fieldType: text
      productionOutageResolve:
        type: incident:IncidentForm
        name: production_outage_resolve
        properties:
          formType: resolve
          incidentTypeId: ${productionOutage.id}
          lifecycleElements:
            - elementType: timestamp
              incidentTimestampId: ${fixed.id}
              requiredIf: always_require
            - elementType: custom_field
              customFieldId: ${rootCause.id}
              requiredIf: always_require
              placeholder: What went wrong?
            - elementType: summary
              description: Update the summary to say how it was resolved.
            - elementType: investigation_feedback
              config:
                requireComment: true
    variables:
      # A resolve form for one incident type. It collects what is only known at the
      # end: when the fix landed, and feedback on the investigation.
      productionOutage:
        fn::invoke:
          function: incident:getIncidentType
          arguments:
            name: Production Outage
      fixed:
        fn::invoke:
          function: incident:getIncidentTimestamp
          arguments:
            name: Fixed
    
    pulumi {
      required_providers {
        incident = {
          source = "pulumi/incident"
        }
      }
    }
    
    data "incident_getincidenttype" "productionOutage" {
      name = "Production Outage"
    }
    data "incident_getincidenttimestamp" "fixed" {
      name = "Fixed"
    }
    
    resource "incident_customfield" "root_cause" {
      name        = "Root cause"
      description = "One line on what went wrong."
      field_type  = "text"
    }
    resource "incident_incidentform" "production_outage_resolve" {
      form_type        = "resolve"
      incident_type_id = data.incident_getincidenttype.productionOutage.id
      lifecycle_elements {
        element_type          = "timestamp"
        incident_timestamp_id = data.incident_getincidenttimestamp.fixed.id
        required_if           = "always_require"
      }
      lifecycle_elements {
        element_type    = "custom_field"
        custom_field_id = incident_customfield.root_cause.id
        required_if     = "always_require"
        placeholder     = "What went wrong?"
      }
      lifecycle_elements {
        element_type = "summary"
        description  = "Update the summary to say how it was resolved."
      }
      lifecycle_elements {
        element_type = "investigation_feedback"
        config = {
          require_comment = true
        }
      }
    }
    # A resolve form for one incident type. It collects what is only known at the
    # end: when the fix landed, and feedback on the investigation.
    

    Example - A retrospective form

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@incident-io/pulumi";
    
    // A retrospective form for one incident type: the form for logging an incident
    // after the fact. It has elements no other form has, for the channel to create
    // and the post-incident flow to start.
    const nearMiss = incident.getIncidentType({
        name: "Near miss",
    });
    const impactStarted = incident.getIncidentTimestamp({
        name: "Impact started",
    });
    const impactEnded = incident.getIncidentTimestamp({
        name: "Impact ended",
    });
    const nearMissRetrospective = new incident.IncidentForm("near_miss_retrospective", {
        formType: "retrospective",
        incidentTypeId: nearMiss.then(nearMiss => nearMiss.id),
        lifecycleElements: [
            {
                elementType: "name",
            },
            {
                elementType: "incident_type",
            },
            {
                elementType: "severity",
            },
            {
                elementType: "timestamp",
                incidentTimestampId: impactStarted.then(impactStarted => impactStarted.id),
                requiredIf: "always_require",
            },
            {
                elementType: "timestamp",
                incidentTimestampId: impactEnded.then(impactEnded => impactEnded.id),
                requiredIf: "always_require",
            },
            {
                elementType: "summary",
            },
            {
                elementType: "divider",
            },
            {
                elementType: "slack_channel",
            },
            {
                elementType: "announce_retro_incident",
            },
            {
                elementType: "enter_post_incident_flow",
                description: "Near misses skip the post-incident flow unless something needs following up.",
            },
        ],
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # A retrospective form for one incident type: the form for logging an incident
    # after the fact. It has elements no other form has, for the channel to create
    # and the post-incident flow to start.
    near_miss = incident.get_incident_type(name="Near miss")
    impact_started = incident.get_incident_timestamp(name="Impact started")
    impact_ended = incident.get_incident_timestamp(name="Impact ended")
    near_miss_retrospective = incident.IncidentForm("near_miss_retrospective",
        form_type="retrospective",
        incident_type_id=near_miss.id,
        lifecycle_elements=[
            {
                "element_type": "name",
            },
            {
                "element_type": "incident_type",
            },
            {
                "element_type": "severity",
            },
            {
                "element_type": "timestamp",
                "incident_timestamp_id": impact_started.id,
                "required_if": "always_require",
            },
            {
                "element_type": "timestamp",
                "incident_timestamp_id": impact_ended.id,
                "required_if": "always_require",
            },
            {
                "element_type": "summary",
            },
            {
                "element_type": "divider",
            },
            {
                "element_type": "slack_channel",
            },
            {
                "element_type": "announce_retro_incident",
            },
            {
                "element_type": "enter_post_incident_flow",
                "description": "Near misses skip the post-incident flow unless something needs following up.",
            },
        ])
    
    package main
    
    import (
    	"github.com/incident-io/pulumi-incident/sdk/go/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// A retrospective form for one incident type: the form for logging an incident
    		// after the fact. It has elements no other form has, for the channel to create
    		// and the post-incident flow to start.
    		nearMiss, err := incident.GetIncidentType(ctx, &incident.GetIncidentTypeArgs{
    			Name: pulumi.StringRef("Near miss"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		impactStarted, err := incident.GetIncidentTimestamp(ctx, &incident.GetIncidentTimestampArgs{
    			Name: pulumi.StringRef("Impact started"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		impactEnded, err := incident.GetIncidentTimestamp(ctx, &incident.GetIncidentTimestampArgs{
    			Name: pulumi.StringRef("Impact ended"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = incident.NewIncidentForm(ctx, "near_miss_retrospective", &incident.IncidentFormArgs{
    			FormType:       pulumi.String("retrospective"),
    			IncidentTypeId: pulumi.String(nearMiss.Id),
    			LifecycleElements: incident.IncidentFormLifecycleElementArray{
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("name"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("incident_type"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("severity"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:        pulumi.String("timestamp"),
    					IncidentTimestampId: pulumi.String(impactStarted.Id),
    					RequiredIf:          pulumi.String("always_require"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:        pulumi.String("timestamp"),
    					IncidentTimestampId: pulumi.String(impactEnded.Id),
    					RequiredIf:          pulumi.String("always_require"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("summary"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("divider"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("slack_channel"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("announce_retro_incident"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_: pulumi.String("enter_post_incident_flow"),
    					Description:  pulumi.String("Near misses skip the post-incident flow unless something needs following up."),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // A retrospective form for one incident type: the form for logging an incident
        // after the fact. It has elements no other form has, for the channel to create
        // and the post-incident flow to start.
        var nearMiss = Incident.GetIncidentType.Invoke(new()
        {
            Name = "Near miss",
        });
    
        var impactStarted = Incident.GetIncidentTimestamp.Invoke(new()
        {
            Name = "Impact started",
        });
    
        var impactEnded = Incident.GetIncidentTimestamp.Invoke(new()
        {
            Name = "Impact ended",
        });
    
        var nearMissRetrospective = new Incident.IncidentForm("near_miss_retrospective", new()
        {
            FormType = "retrospective",
            IncidentTypeId = nearMiss.Apply(getIncidentTypeResult => getIncidentTypeResult.Id),
            LifecycleElements = new[]
            {
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "name",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "incident_type",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "severity",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "timestamp",
                    IncidentTimestampId = impactStarted.Apply(getIncidentTimestampResult => getIncidentTimestampResult.Id),
                    RequiredIf = "always_require",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "timestamp",
                    IncidentTimestampId = impactEnded.Apply(getIncidentTimestampResult => getIncidentTimestampResult.Id),
                    RequiredIf = "always_require",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "summary",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "divider",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "slack_channel",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "announce_retro_incident",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "enter_post_incident_flow",
                    Description = "Near misses skip the post-incident flow unless something needs following up.",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.IncidentFunctions;
    import com.pulumi.incident.inputs.GetIncidentTypeArgs;
    import com.pulumi.incident.inputs.GetIncidentTimestampArgs;
    import com.pulumi.incident.IncidentForm;
    import com.pulumi.incident.IncidentFormArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementArgs;
    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) {
            // A retrospective form for one incident type: the form for logging an incident
            // after the fact. It has elements no other form has, for the channel to create
            // and the post-incident flow to start.
            final var nearMiss = IncidentFunctions.getIncidentType(GetIncidentTypeArgs.builder()
                .name("Near miss")
                .build());
    
            final var impactStarted = IncidentFunctions.getIncidentTimestamp(GetIncidentTimestampArgs.builder()
                .name("Impact started")
                .build());
    
            final var impactEnded = IncidentFunctions.getIncidentTimestamp(GetIncidentTimestampArgs.builder()
                .name("Impact ended")
                .build());
    
            var nearMissRetrospective = new IncidentForm("nearMissRetrospective", IncidentFormArgs.builder()
                .formType("retrospective")
                .incidentTypeId(nearMiss.id())
                .lifecycleElements(            
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("name")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("incident_type")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("severity")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("timestamp")
                        .incidentTimestampId(impactStarted.id())
                        .requiredIf("always_require")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("timestamp")
                        .incidentTimestampId(impactEnded.id())
                        .requiredIf("always_require")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("summary")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("divider")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("slack_channel")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("announce_retro_incident")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("enter_post_incident_flow")
                        .description("Near misses skip the post-incident flow unless something needs following up.")
                        .build())
                .build());
    
        }
    }
    
    resources:
      nearMissRetrospective:
        type: incident:IncidentForm
        name: near_miss_retrospective
        properties:
          formType: retrospective
          incidentTypeId: ${nearMiss.id}
          lifecycleElements:
            - elementType: name
            - elementType: incident_type
            - elementType: severity
            - elementType: timestamp
              incidentTimestampId: ${impactStarted.id}
              requiredIf: always_require
            - elementType: timestamp
              incidentTimestampId: ${impactEnded.id}
              requiredIf: always_require
            - elementType: summary
            - elementType: divider
            - elementType: slack_channel
            - elementType: announce_retro_incident
            - elementType: enter_post_incident_flow
              description: Near misses skip the post-incident flow unless something needs following up.
    variables:
      # A retrospective form for one incident type: the form for logging an incident
      # after the fact. It has elements no other form has, for the channel to create
      # and the post-incident flow to start.
      nearMiss:
        fn::invoke:
          function: incident:getIncidentType
          arguments:
            name: Near miss
      impactStarted:
        fn::invoke:
          function: incident:getIncidentTimestamp
          arguments:
            name: Impact started
      impactEnded:
        fn::invoke:
          function: incident:getIncidentTimestamp
          arguments:
            name: Impact ended
    
    pulumi {
      required_providers {
        incident = {
          source = "pulumi/incident"
        }
      }
    }
    
    data "incident_getincidenttype" "nearMiss" {
      name = "Near miss"
    }
    data "incident_getincidenttimestamp" "impactStarted" {
      name = "Impact started"
    }
    data "incident_getincidenttimestamp" "impactEnded" {
      name = "Impact ended"
    }
    
    resource "incident_incidentform" "near_miss_retrospective" {
      form_type        = "retrospective"
      incident_type_id = data.incident_getincidenttype.nearMiss.id
      lifecycle_elements {
        element_type = "name"
      }
      lifecycle_elements {
        element_type = "incident_type"
      }
      lifecycle_elements {
        element_type = "severity"
      }
      lifecycle_elements {
        element_type          = "timestamp"
        incident_timestamp_id = data.incident_getincidenttimestamp.impactStarted.id
        required_if           = "always_require"
      }
      lifecycle_elements {
        element_type          = "timestamp"
        incident_timestamp_id = data.incident_getincidenttimestamp.impactEnded.id
        required_if           = "always_require"
      }
      lifecycle_elements {
        element_type = "summary"
      }
      lifecycle_elements {
        element_type = "divider"
      }
      lifecycle_elements {
        element_type = "slack_channel"
      }
      lifecycle_elements {
        element_type = "announce_retro_incident"
      }
      lifecycle_elements {
        element_type = "enter_post_incident_flow"
        description  = "Near misses skip the post-incident flow unless something needs following up."
      }
    }
    # A retrospective form for one incident type: the form for logging an incident
    # after the fact. It has elements no other form has, for the channel to create
    # and the post-incident flow to start.
    

    Example - A custom-fields form with conditional requirements

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@incident-io/pulumi";
    
    // A custom-fields form holds the fields shown in the incident sidebar. It is the
    // one lifecycle form with no default. This one has no incident_type_id, so it
    // applies to every incident type without a form of its own.
    const ticket = new incident.CustomField("ticket", {
        name: "Ticket",
        description: "The ticket tracking this incident.",
        fieldType: "link",
    });
    const customerImpact = new incident.CustomField("customer_impact", {
        name: "Customer impact",
        description: "How customers were affected.",
        fieldType: "single_select",
    });
    const customerImpactNone = new incident.CustomFieldOption("customer_impact_none", {
        customFieldId: customerImpact.id,
        value: "None",
    });
    const customFields = new incident.IncidentForm("custom_fields", {
        formType: "custom-fields",
        lifecycleElements: [
            {
                elementType: "custom_field",
                customFieldId: ticket.id,
            },
            {
                elementType: "custom_field",
                customFieldId: customerImpact.id,
                requiredIf: "check_engine_config",
                requiredIfConditionGroups: [{
                    conditions: [{
                        subject: "incident.status.category",
                        operation: "one_of",
                        paramBindings: [{
                            arrayValue: [{
                                literal: "closed",
                            }],
                        }],
                    }],
                }],
                defaultValue: {
                    valueLiteral: customerImpactNone.id,
                },
                canSelectNoValue: true,
            },
        ],
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # A custom-fields form holds the fields shown in the incident sidebar. It is the
    # one lifecycle form with no default. This one has no incident_type_id, so it
    # applies to every incident type without a form of its own.
    ticket = incident.CustomField("ticket",
        name="Ticket",
        description="The ticket tracking this incident.",
        field_type="link")
    customer_impact = incident.CustomField("customer_impact",
        name="Customer impact",
        description="How customers were affected.",
        field_type="single_select")
    customer_impact_none = incident.CustomFieldOption("customer_impact_none",
        custom_field_id=customer_impact.id,
        value="None")
    custom_fields = incident.IncidentForm("custom_fields",
        form_type="custom-fields",
        lifecycle_elements=[
            {
                "element_type": "custom_field",
                "custom_field_id": ticket.id,
            },
            {
                "element_type": "custom_field",
                "custom_field_id": customer_impact.id,
                "required_if": "check_engine_config",
                "required_if_condition_groups": [{
                    "conditions": [{
                        "subject": "incident.status.category",
                        "operation": "one_of",
                        "param_bindings": [{
                            "array_value": [{
                                "literal": "closed",
                            }],
                        }],
                    }],
                }],
                "default_value": {
                    "value_literal": customer_impact_none.id,
                },
                "can_select_no_value": True,
            },
        ])
    
    package main
    
    import (
    	"github.com/incident-io/pulumi-incident/sdk/go/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// A custom-fields form holds the fields shown in the incident sidebar. It is the
    		// one lifecycle form with no default. This one has no incident_type_id, so it
    		// applies to every incident type without a form of its own.
    		ticket, err := incident.NewCustomField(ctx, "ticket", &incident.CustomFieldArgs{
    			Name:        pulumi.String("Ticket"),
    			Description: pulumi.String("The ticket tracking this incident."),
    			FieldType:   pulumi.String("link"),
    		})
    		if err != nil {
    			return err
    		}
    		customerImpact, err := incident.NewCustomField(ctx, "customer_impact", &incident.CustomFieldArgs{
    			Name:        pulumi.String("Customer impact"),
    			Description: pulumi.String("How customers were affected."),
    			FieldType:   pulumi.String("single_select"),
    		})
    		if err != nil {
    			return err
    		}
    		customerImpactNone, err := incident.NewCustomFieldOption(ctx, "customer_impact_none", &incident.CustomFieldOptionArgs{
    			CustomFieldId: customerImpact.ID().ToIDOutput().ToStringOutput(),
    			Value:         pulumi.String("None"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = incident.NewIncidentForm(ctx, "custom_fields", &incident.IncidentFormArgs{
    			FormType: pulumi.String("custom-fields"),
    			LifecycleElements: incident.IncidentFormLifecycleElementArray{
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:  pulumi.String("custom_field"),
    					CustomFieldId: ticket.ID().ToIDOutput().ToStringOutput(),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:  pulumi.String("custom_field"),
    					CustomFieldId: customerImpact.ID().ToIDOutput().ToStringOutput(),
    					RequiredIf:    pulumi.String("check_engine_config"),
    					RequiredIfConditionGroups: incident.IncidentFormLifecycleElementRequiredIfConditionGroupArray{
    						&incident.IncidentFormLifecycleElementRequiredIfConditionGroupArgs{
    							Conditions: incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionArray{
    								&incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionArgs{
    									Subject:   pulumi.String("incident.status.category"),
    									Operation: pulumi.String("one_of"),
    									ParamBindings: incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArray{
    										&incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArgs{
    											ArrayValue: []map[string]string{
    												{
    													"literal": "closed",
    												},
    											},
    										},
    									},
    								},
    							},
    						},
    					},
    					DefaultValue: &incident.IncidentFormLifecycleElementDefaultValueArgs{
    						ValueLiteral: customerImpactNone.ID().ToIDOutput().ToStringOutput(),
    					},
    					CanSelectNoValue: pulumi.Bool(true),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // A custom-fields form holds the fields shown in the incident sidebar. It is the
        // one lifecycle form with no default. This one has no incident_type_id, so it
        // applies to every incident type without a form of its own.
        var ticket = new Incident.CustomField("ticket", new()
        {
            Name = "Ticket",
            Description = "The ticket tracking this incident.",
            FieldType = "link",
        });
    
        var customerImpact = new Incident.CustomField("customer_impact", new()
        {
            Name = "Customer impact",
            Description = "How customers were affected.",
            FieldType = "single_select",
        });
    
        var customerImpactNone = new Incident.CustomFieldOption("customer_impact_none", new()
        {
            CustomFieldId = customerImpact.Id,
            Value = "None",
        });
    
        var customFields = new Incident.IncidentForm("custom_fields", new()
        {
            FormType = "custom-fields",
            LifecycleElements = new[]
            {
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "custom_field",
                    CustomFieldId = ticket.Id,
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "custom_field",
                    CustomFieldId = customerImpact.Id,
                    RequiredIf = "check_engine_config",
                    RequiredIfConditionGroups = new[]
                    {
                        new Incident.Inputs.IncidentFormLifecycleElementRequiredIfConditionGroupArgs
                        {
                            Conditions = new[]
                            {
                                new Incident.Inputs.IncidentFormLifecycleElementRequiredIfConditionGroupConditionArgs
                                {
                                    Subject = "incident.status.category",
                                    Operation = "one_of",
                                    ParamBindings = new[]
                                    {
                                        new Incident.Inputs.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArgs
                                        {
                                            ArrayValue = new[]
                                            {
                                                
                                                {
                                                    { "literal", "closed" },
                                                },
                                            },
                                        },
                                    },
                                },
                            },
                        },
                    },
                    DefaultValue = new Incident.Inputs.IncidentFormLifecycleElementDefaultValueArgs
                    {
                        ValueLiteral = customerImpactNone.Id,
                    },
                    CanSelectNoValue = true,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import com.pulumi.incident.CustomFieldOption;
    import com.pulumi.incident.CustomFieldOptionArgs;
    import com.pulumi.incident.IncidentForm;
    import com.pulumi.incident.IncidentFormArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementRequiredIfConditionGroupArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementRequiredIfConditionGroupConditionArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementDefaultValueArgs;
    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) {
            // A custom-fields form holds the fields shown in the incident sidebar. It is the
            // one lifecycle form with no default. This one has no incident_type_id, so it
            // applies to every incident type without a form of its own.
            var ticket = new CustomField("ticket", CustomFieldArgs.builder()
                .name("Ticket")
                .description("The ticket tracking this incident.")
                .fieldType("link")
                .build());
    
            var customerImpact = new CustomField("customerImpact", CustomFieldArgs.builder()
                .name("Customer impact")
                .description("How customers were affected.")
                .fieldType("single_select")
                .build());
    
            var customerImpactNone = new CustomFieldOption("customerImpactNone", CustomFieldOptionArgs.builder()
                .customFieldId(customerImpact.id())
                .value("None")
                .build());
    
            var customFields = new IncidentForm("customFields", IncidentFormArgs.builder()
                .formType("custom-fields")
                .lifecycleElements(            
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("custom_field")
                        .customFieldId(ticket.id())
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("custom_field")
                        .customFieldId(customerImpact.id())
                        .requiredIf("check_engine_config")
                        .requiredIfConditionGroups(IncidentFormLifecycleElementRequiredIfConditionGroupArgs.builder()
                            .conditions(IncidentFormLifecycleElementRequiredIfConditionGroupConditionArgs.builder()
                                .subject("incident.status.category")
                                .operation("one_of")
                                .paramBindings(IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArgs.builder()
                                    .arrayValue(Arrays.asList(Map.of("literal", "closed")))
                                    .build())
                                .build())
                            .build())
                        .defaultValue(IncidentFormLifecycleElementDefaultValueArgs.builder()
                            .valueLiteral(customerImpactNone.id())
                            .build())
                        .canSelectNoValue(true)
                        .build())
                .build());
    
        }
    }
    
    resources:
      # A custom-fields form holds the fields shown in the incident sidebar. It is the
      # one lifecycle form with no default. This one has no incident_type_id, so it
      # applies to every incident type without a form of its own.
      ticket:
        type: incident:CustomField
        properties:
          name: Ticket
          description: The ticket tracking this incident.
          fieldType: link
      customerImpact:
        type: incident:CustomField
        name: customer_impact
        properties:
          name: Customer impact
          description: How customers were affected.
          fieldType: single_select
      customerImpactNone:
        type: incident:CustomFieldOption
        name: customer_impact_none
        properties:
          customFieldId: ${customerImpact.id}
          value: None
      customFields:
        type: incident:IncidentForm
        name: custom_fields
        properties:
          formType: custom-fields
          lifecycleElements:
            - elementType: custom_field
              customFieldId: ${ticket.id}
            - elementType: custom_field
              customFieldId: ${customerImpact.id}
              requiredIf: check_engine_config
              requiredIfConditionGroups:
                - conditions:
                    - subject: incident.status.category
                      operation: one_of
                      paramBindings:
                        - arrayValue:
                            - literal: closed
              defaultValue:
                valueLiteral: ${customerImpactNone.id}
              canSelectNoValue: true
    
    pulumi {
      required_providers {
        incident = {
          source = "pulumi/incident"
        }
      }
    }
    
    # A custom-fields form holds the fields shown in the incident sidebar. It is the
    # one lifecycle form with no default. This one has no incident_type_id, so it
    # applies to every incident type without a form of its own.
    resource "incident_customfield" "ticket" {
      name        = "Ticket"
      description = "The ticket tracking this incident."
      field_type  = "link"
    }
    resource "incident_customfield" "customer_impact" {
      name        = "Customer impact"
      description = "How customers were affected."
      field_type  = "single_select"
    }
    resource "incident_customfieldoption" "customer_impact_none" {
      custom_field_id = incident_customfield.customer_impact.id
      value           = "None"
    }
    resource "incident_incidentform" "custom_fields" {
      form_type = "custom-fields"
      lifecycle_elements {
        element_type    = "custom_field"
        custom_field_id = incident_customfield.ticket.id
      }
      lifecycle_elements {
        element_type    = "custom_field"
        custom_field_id = incident_customfield.customer_impact.id
        required_if     = "check_engine_config"
        required_if_condition_groups {
          conditions {
            subject   = "incident.status.category"
            operation = "one_of"
            param_bindings {
              array_value = [{
                "literal" = "closed"
              }]
            }
          }
        }
        default_value = {
          value_literal = incident_customfieldoption.customer_impact_none.id
        }
        can_select_no_value = true
      }
    }
    

    Example - A custom-fields form for one incident type

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@incident-io/pulumi";
    
    // A custom-fields form for one incident type, overriding the organisation-wide
    // one: security incidents show a different set of fields in the sidebar.
    const security = incident.getIncidentType({
        name: "Security",
    });
    const dataExposed = new incident.CustomField("data_exposed", {
        name: "Data exposed",
        description: "Whether customer data was exposed.",
        fieldType: "bool",
    });
    const cve = new incident.CustomField("cve", {
        name: "CVE",
        description: "The CVE this incident relates to, if any.",
        fieldType: "text",
    });
    const securityCustomFields = new incident.IncidentForm("security_custom_fields", {
        formType: "custom-fields",
        incidentTypeId: security.then(security => security.id),
        lifecycleElements: [
            {
                elementType: "custom_field",
                customFieldId: dataExposed.id,
                requiredIf: "always_require",
            },
            {
                elementType: "custom_field",
                customFieldId: cve.id,
                placeholder: "CVE-2026-...",
            },
        ],
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # A custom-fields form for one incident type, overriding the organisation-wide
    # one: security incidents show a different set of fields in the sidebar.
    security = incident.get_incident_type(name="Security")
    data_exposed = incident.CustomField("data_exposed",
        name="Data exposed",
        description="Whether customer data was exposed.",
        field_type="bool")
    cve = incident.CustomField("cve",
        name="CVE",
        description="The CVE this incident relates to, if any.",
        field_type="text")
    security_custom_fields = incident.IncidentForm("security_custom_fields",
        form_type="custom-fields",
        incident_type_id=security.id,
        lifecycle_elements=[
            {
                "element_type": "custom_field",
                "custom_field_id": data_exposed.id,
                "required_if": "always_require",
            },
            {
                "element_type": "custom_field",
                "custom_field_id": cve.id,
                "placeholder": "CVE-2026-...",
            },
        ])
    
    package main
    
    import (
    	"github.com/incident-io/pulumi-incident/sdk/go/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// A custom-fields form for one incident type, overriding the organisation-wide
    		// one: security incidents show a different set of fields in the sidebar.
    		security, err := incident.GetIncidentType(ctx, &incident.GetIncidentTypeArgs{
    			Name: pulumi.StringRef("Security"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		dataExposed, err := incident.NewCustomField(ctx, "data_exposed", &incident.CustomFieldArgs{
    			Name:        pulumi.String("Data exposed"),
    			Description: pulumi.String("Whether customer data was exposed."),
    			FieldType:   pulumi.String("bool"),
    		})
    		if err != nil {
    			return err
    		}
    		cve, err := incident.NewCustomField(ctx, "cve", &incident.CustomFieldArgs{
    			Name:        pulumi.String("CVE"),
    			Description: pulumi.String("The CVE this incident relates to, if any."),
    			FieldType:   pulumi.String("text"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = incident.NewIncidentForm(ctx, "security_custom_fields", &incident.IncidentFormArgs{
    			FormType:       pulumi.String("custom-fields"),
    			IncidentTypeId: pulumi.String(security.Id),
    			LifecycleElements: incident.IncidentFormLifecycleElementArray{
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:  pulumi.String("custom_field"),
    					CustomFieldId: dataExposed.ID().ToIDOutput().ToStringOutput(),
    					RequiredIf:    pulumi.String("always_require"),
    				},
    				&incident.IncidentFormLifecycleElementArgs{
    					ElementType_:  pulumi.String("custom_field"),
    					CustomFieldId: cve.ID().ToIDOutput().ToStringOutput(),
    					Placeholder:   pulumi.String("CVE-2026-..."),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // A custom-fields form for one incident type, overriding the organisation-wide
        // one: security incidents show a different set of fields in the sidebar.
        var security = Incident.GetIncidentType.Invoke(new()
        {
            Name = "Security",
        });
    
        var dataExposed = new Incident.CustomField("data_exposed", new()
        {
            Name = "Data exposed",
            Description = "Whether customer data was exposed.",
            FieldType = "bool",
        });
    
        var cve = new Incident.CustomField("cve", new()
        {
            Name = "CVE",
            Description = "The CVE this incident relates to, if any.",
            FieldType = "text",
        });
    
        var securityCustomFields = new Incident.IncidentForm("security_custom_fields", new()
        {
            FormType = "custom-fields",
            IncidentTypeId = security.Apply(getIncidentTypeResult => getIncidentTypeResult.Id),
            LifecycleElements = new[]
            {
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "custom_field",
                    CustomFieldId = dataExposed.Id,
                    RequiredIf = "always_require",
                },
                new Incident.Inputs.IncidentFormLifecycleElementArgs
                {
                    ElementType = "custom_field",
                    CustomFieldId = cve.Id,
                    Placeholder = "CVE-2026-...",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.IncidentFunctions;
    import com.pulumi.incident.inputs.GetIncidentTypeArgs;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import com.pulumi.incident.IncidentForm;
    import com.pulumi.incident.IncidentFormArgs;
    import com.pulumi.incident.inputs.IncidentFormLifecycleElementArgs;
    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) {
            // A custom-fields form for one incident type, overriding the organisation-wide
            // one: security incidents show a different set of fields in the sidebar.
            final var security = IncidentFunctions.getIncidentType(GetIncidentTypeArgs.builder()
                .name("Security")
                .build());
    
            var dataExposed = new CustomField("dataExposed", CustomFieldArgs.builder()
                .name("Data exposed")
                .description("Whether customer data was exposed.")
                .fieldType("bool")
                .build());
    
            var cve = new CustomField("cve", CustomFieldArgs.builder()
                .name("CVE")
                .description("The CVE this incident relates to, if any.")
                .fieldType("text")
                .build());
    
            var securityCustomFields = new IncidentForm("securityCustomFields", IncidentFormArgs.builder()
                .formType("custom-fields")
                .incidentTypeId(security.id())
                .lifecycleElements(            
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("custom_field")
                        .customFieldId(dataExposed.id())
                        .requiredIf("always_require")
                        .build(),
                    IncidentFormLifecycleElementArgs.builder()
                        .elementType("custom_field")
                        .customFieldId(cve.id())
                        .placeholder("CVE-2026-...")
                        .build())
                .build());
    
        }
    }
    
    resources:
      dataExposed:
        type: incident:CustomField
        name: data_exposed
        properties:
          name: Data exposed
          description: Whether customer data was exposed.
          fieldType: bool
      cve:
        type: incident:CustomField
        properties:
          name: CVE
          description: The CVE this incident relates to, if any.
          fieldType: text
      securityCustomFields:
        type: incident:IncidentForm
        name: security_custom_fields
        properties:
          formType: custom-fields
          incidentTypeId: ${security.id}
          lifecycleElements:
            - elementType: custom_field
              customFieldId: ${dataExposed.id}
              requiredIf: always_require
            - elementType: custom_field
              customFieldId: ${cve.id}
              placeholder: CVE-2026-...
    variables:
      # A custom-fields form for one incident type, overriding the organisation-wide
      # one: security incidents show a different set of fields in the sidebar.
      security:
        fn::invoke:
          function: incident:getIncidentType
          arguments:
            name: Security
    
    pulumi {
      required_providers {
        incident = {
          source = "pulumi/incident"
        }
      }
    }
    
    data "incident_getincidenttype" "security" {
      name = "Security"
    }
    
    resource "incident_customfield" "data_exposed" {
      name        = "Data exposed"
      description = "Whether customer data was exposed."
      field_type  = "bool"
    }
    resource "incident_customfield" "cve" {
      name        = "CVE"
      description = "The CVE this incident relates to, if any."
      field_type  = "text"
    }
    resource "incident_incidentform" "security_custom_fields" {
      form_type        = "custom-fields"
      incident_type_id = data.incident_getincidenttype.security.id
      lifecycle_elements {
        element_type    = "custom_field"
        custom_field_id = incident_customfield.data_exposed.id
        required_if     = "always_require"
      }
      lifecycle_elements {
        element_type    = "custom_field"
        custom_field_id = incident_customfield.cve.id
        placeholder     = "CVE-2026-..."
      }
    }
    # A custom-fields form for one incident type, overriding the organisation-wide
    # one: security incidents show a different set of fields in the sidebar.
    

    Create IncidentForm Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new IncidentForm(name: string, args: IncidentFormArgs, opts?: CustomResourceOptions);
    @overload
    def IncidentForm(resource_name: str,
                     args: IncidentFormArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def IncidentForm(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     form_type: Optional[str] = None,
                     expressions: Optional[Sequence[IncidentFormExpressionArgs]] = None,
                     incident_type_id: Optional[str] = None,
                     lifecycle_elements: Optional[Sequence[IncidentFormLifecycleElementArgs]] = None,
                     unlock_in_dashboard: Optional[bool] = None)
    func NewIncidentForm(ctx *Context, name string, args IncidentFormArgs, opts ...ResourceOption) (*IncidentForm, error)
    public IncidentForm(string name, IncidentFormArgs args, CustomResourceOptions? opts = null)
    public IncidentForm(String name, IncidentFormArgs args)
    public IncidentForm(String name, IncidentFormArgs args, CustomResourceOptions options)
    
    type: incident:IncidentForm
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "incident_incident_form" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args IncidentFormArgs
    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 IncidentFormArgs
    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 IncidentFormArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IncidentFormArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IncidentFormArgs
    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 incidentFormResource = new Incident.IncidentForm("incidentFormResource", new()
    {
        FormType = "string",
        Expressions = new[]
        {
            new Incident.Inputs.IncidentFormExpressionArgs
            {
                Label = "string",
                Operations = new[]
                {
                    new Incident.Inputs.IncidentFormExpressionOperationArgs
                    {
                        OperationType = "string",
                        Branches = new Incident.Inputs.IncidentFormExpressionOperationBranchesArgs
                        {
                            Branches = new[]
                            {
                                new Incident.Inputs.IncidentFormExpressionOperationBranchesBranchArgs
                                {
                                    ConditionGroups = new[]
                                    {
                                        new Incident.Inputs.IncidentFormExpressionOperationBranchesBranchConditionGroupArgs
                                        {
                                            Conditions = new[]
                                            {
                                                new Incident.Inputs.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionArgs
                                                {
                                                    Operation = "string",
                                                    ParamBindings = new[]
                                                    {
                                                        new Incident.Inputs.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArgs
                                                        {
                                                            ArrayValues = new[]
                                                            {
                                                                new Incident.Inputs.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValueArgs
                                                                {
                                                                    Literal = "string",
                                                                    Reference = "string",
                                                                },
                                                            },
                                                            ExpressionRef = "string",
                                                            Value = new Incident.Inputs.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValueArgs
                                                            {
                                                                Literal = "string",
                                                                Reference = "string",
                                                            },
                                                            ValueLiteral = "string",
                                                            ValueReference = "string",
                                                            Values = new[]
                                                            {
                                                                "string",
                                                            },
                                                        },
                                                    },
                                                    Subject = "string",
                                                },
                                            },
                                        },
                                    },
                                    Result = new Incident.Inputs.IncidentFormExpressionOperationBranchesBranchResultArgs
                                    {
                                        ArrayValues = new[]
                                        {
                                            new Incident.Inputs.IncidentFormExpressionOperationBranchesBranchResultArrayValueArgs
                                            {
                                                Literal = "string",
                                                Reference = "string",
                                            },
                                        },
                                        ExpressionRef = "string",
                                        Value = new Incident.Inputs.IncidentFormExpressionOperationBranchesBranchResultValueArgs
                                        {
                                            Literal = "string",
                                            Reference = "string",
                                        },
                                        ValueLiteral = "string",
                                        ValueReference = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                            },
                            Returns = new Incident.Inputs.IncidentFormExpressionOperationBranchesReturnsArgs
                            {
                                Array = false,
                                Type = "string",
                            },
                        },
                        Cast = new Incident.Inputs.IncidentFormExpressionOperationCastArgs
                        {
                            Returns = new Incident.Inputs.IncidentFormExpressionOperationCastReturnsArgs
                            {
                                Array = false,
                                Type = "string",
                            },
                        },
                        Concatenate = new Incident.Inputs.IncidentFormExpressionOperationConcatenateArgs
                        {
                            Reference = "string",
                        },
                        Filter = new Incident.Inputs.IncidentFormExpressionOperationFilterArgs
                        {
                            ConditionGroups = new[]
                            {
                                new Incident.Inputs.IncidentFormExpressionOperationFilterConditionGroupArgs
                                {
                                    Conditions = new[]
                                    {
                                        new Incident.Inputs.IncidentFormExpressionOperationFilterConditionGroupConditionArgs
                                        {
                                            Operation = "string",
                                            ParamBindings = new[]
                                            {
                                                new Incident.Inputs.IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArgs
                                                {
                                                    ArrayValues = new[]
                                                    {
                                                        new Incident.Inputs.IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValueArgs
                                                        {
                                                            Literal = "string",
                                                            Reference = "string",
                                                        },
                                                    },
                                                    ExpressionRef = "string",
                                                    Value = new Incident.Inputs.IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValueArgs
                                                    {
                                                        Literal = "string",
                                                        Reference = "string",
                                                    },
                                                    ValueLiteral = "string",
                                                    ValueReference = "string",
                                                    Values = new[]
                                                    {
                                                        "string",
                                                    },
                                                },
                                            },
                                            Subject = "string",
                                        },
                                    },
                                },
                            },
                        },
                        Navigate = new Incident.Inputs.IncidentFormExpressionOperationNavigateArgs
                        {
                            Reference = "string",
                        },
                        Parse = new Incident.Inputs.IncidentFormExpressionOperationParseArgs
                        {
                            Returns = new Incident.Inputs.IncidentFormExpressionOperationParseReturnsArgs
                            {
                                Array = false,
                                Type = "string",
                            },
                            Source = "string",
                        },
                    },
                },
                Reference = "string",
                RootReference = "string",
                ElseBranch = new Incident.Inputs.IncidentFormExpressionElseBranchArgs
                {
                    Result = new Incident.Inputs.IncidentFormExpressionElseBranchResultArgs
                    {
                        ArrayValues = new[]
                        {
                            new Incident.Inputs.IncidentFormExpressionElseBranchResultArrayValueArgs
                            {
                                Literal = "string",
                                Reference = "string",
                            },
                        },
                        ExpressionRef = "string",
                        Value = new Incident.Inputs.IncidentFormExpressionElseBranchResultValueArgs
                        {
                            Literal = "string",
                            Reference = "string",
                        },
                        ValueLiteral = "string",
                        ValueReference = "string",
                        Values = new[]
                        {
                            "string",
                        },
                    },
                },
            },
        },
        IncidentTypeId = "string",
        LifecycleElements = new[]
        {
            new Incident.Inputs.IncidentFormLifecycleElementArgs
            {
                ElementType = "string",
                Id = "string",
                CustomFieldId = "string",
                DefaultValue = new Incident.Inputs.IncidentFormLifecycleElementDefaultValueArgs
                {
                    ArrayValues = new[]
                    {
                        new Incident.Inputs.IncidentFormLifecycleElementDefaultValueArrayValueArgs
                        {
                            Literal = "string",
                            Reference = "string",
                        },
                    },
                    ExpressionRef = "string",
                    Value = new Incident.Inputs.IncidentFormLifecycleElementDefaultValueValueArgs
                    {
                        Literal = "string",
                        Reference = "string",
                    },
                    ValueLiteral = "string",
                    ValueReference = "string",
                    Values = new[]
                    {
                        "string",
                    },
                },
                Description = "string",
                Config = new Incident.Inputs.IncidentFormLifecycleElementConfigArgs
                {
                    RequireComment = false,
                },
                CanSelectNoValue = false,
                IncidentRoleId = "string",
                IncidentTimestampId = "string",
                Placeholder = "string",
                RequiredIf = "string",
                RequiredIfConditionGroups = new[]
                {
                    new Incident.Inputs.IncidentFormLifecycleElementRequiredIfConditionGroupArgs
                    {
                        Conditions = new[]
                        {
                            new Incident.Inputs.IncidentFormLifecycleElementRequiredIfConditionGroupConditionArgs
                            {
                                Operation = "string",
                                ParamBindings = new[]
                                {
                                    new Incident.Inputs.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArgs
                                    {
                                        ArrayValues = new[]
                                        {
                                            new Incident.Inputs.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValueArgs
                                            {
                                                Literal = "string",
                                                Reference = "string",
                                            },
                                        },
                                        ExpressionRef = "string",
                                        Value = new Incident.Inputs.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValueArgs
                                        {
                                            Literal = "string",
                                            Reference = "string",
                                        },
                                        ValueLiteral = "string",
                                        ValueReference = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                Subject = "string",
                            },
                        },
                    },
                },
                ShowIfConditionGroups = new[]
                {
                    new Incident.Inputs.IncidentFormLifecycleElementShowIfConditionGroupArgs
                    {
                        Conditions = new[]
                        {
                            new Incident.Inputs.IncidentFormLifecycleElementShowIfConditionGroupConditionArgs
                            {
                                Operation = "string",
                                ParamBindings = new[]
                                {
                                    new Incident.Inputs.IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArgs
                                    {
                                        ArrayValues = new[]
                                        {
                                            new Incident.Inputs.IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValueArgs
                                            {
                                                Literal = "string",
                                                Reference = "string",
                                            },
                                        },
                                        ExpressionRef = "string",
                                        Value = new Incident.Inputs.IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValueArgs
                                        {
                                            Literal = "string",
                                            Reference = "string",
                                        },
                                        ValueLiteral = "string",
                                        ValueReference = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                Subject = "string",
                            },
                        },
                    },
                },
            },
        },
        UnlockInDashboard = false,
    });
    
    example, err := incident.NewIncidentForm(ctx, "incidentFormResource", &incident.IncidentFormArgs{
    	FormType: pulumi.String("string"),
    	Expressions: incident.IncidentFormExpressionArray{
    		&incident.IncidentFormExpressionArgs{
    			Label: pulumi.String("string"),
    			Operations: incident.IncidentFormExpressionOperationArray{
    				&incident.IncidentFormExpressionOperationArgs{
    					OperationType: pulumi.String("string"),
    					Branches: &incident.IncidentFormExpressionOperationBranchesArgs{
    						Branches: incident.IncidentFormExpressionOperationBranchesBranchArray{
    							&incident.IncidentFormExpressionOperationBranchesBranchArgs{
    								ConditionGroups: incident.IncidentFormExpressionOperationBranchesBranchConditionGroupArray{
    									&incident.IncidentFormExpressionOperationBranchesBranchConditionGroupArgs{
    										Conditions: incident.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionArray{
    											&incident.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionArgs{
    												Operation: pulumi.String("string"),
    												ParamBindings: incident.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArray{
    													&incident.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArgs{
    														ArrayValues: incident.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValueArray{
    															&incident.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValueArgs{
    																Literal:   pulumi.String("string"),
    																Reference: pulumi.String("string"),
    															},
    														},
    														ExpressionRef: pulumi.String("string"),
    														Value: &incident.IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValueArgs{
    															Literal:   pulumi.String("string"),
    															Reference: pulumi.String("string"),
    														},
    														ValueLiteral:   pulumi.String("string"),
    														ValueReference: pulumi.String("string"),
    														Values: pulumi.StringArray{
    															pulumi.String("string"),
    														},
    													},
    												},
    												Subject: pulumi.String("string"),
    											},
    										},
    									},
    								},
    								Result: &incident.IncidentFormExpressionOperationBranchesBranchResultArgs{
    									ArrayValues: incident.IncidentFormExpressionOperationBranchesBranchResultArrayValueArray{
    										&incident.IncidentFormExpressionOperationBranchesBranchResultArrayValueArgs{
    											Literal:   pulumi.String("string"),
    											Reference: pulumi.String("string"),
    										},
    									},
    									ExpressionRef: pulumi.String("string"),
    									Value: &incident.IncidentFormExpressionOperationBranchesBranchResultValueArgs{
    										Literal:   pulumi.String("string"),
    										Reference: pulumi.String("string"),
    									},
    									ValueLiteral:   pulumi.String("string"),
    									ValueReference: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    						},
    						Returns: &incident.IncidentFormExpressionOperationBranchesReturnsArgs{
    							Array: pulumi.Bool(false),
    							Type:  pulumi.String("string"),
    						},
    					},
    					Cast: &incident.IncidentFormExpressionOperationCastArgs{
    						Returns: &incident.IncidentFormExpressionOperationCastReturnsArgs{
    							Array: pulumi.Bool(false),
    							Type:  pulumi.String("string"),
    						},
    					},
    					Concatenate: &incident.IncidentFormExpressionOperationConcatenateArgs{
    						Reference: pulumi.String("string"),
    					},
    					Filter: &incident.IncidentFormExpressionOperationFilterArgs{
    						ConditionGroups: incident.IncidentFormExpressionOperationFilterConditionGroupArray{
    							&incident.IncidentFormExpressionOperationFilterConditionGroupArgs{
    								Conditions: incident.IncidentFormExpressionOperationFilterConditionGroupConditionArray{
    									&incident.IncidentFormExpressionOperationFilterConditionGroupConditionArgs{
    										Operation: pulumi.String("string"),
    										ParamBindings: incident.IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArray{
    											&incident.IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArgs{
    												ArrayValues: incident.IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValueArray{
    													&incident.IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValueArgs{
    														Literal:   pulumi.String("string"),
    														Reference: pulumi.String("string"),
    													},
    												},
    												ExpressionRef: pulumi.String("string"),
    												Value: &incident.IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValueArgs{
    													Literal:   pulumi.String("string"),
    													Reference: pulumi.String("string"),
    												},
    												ValueLiteral:   pulumi.String("string"),
    												ValueReference: pulumi.String("string"),
    												Values: pulumi.StringArray{
    													pulumi.String("string"),
    												},
    											},
    										},
    										Subject: pulumi.String("string"),
    									},
    								},
    							},
    						},
    					},
    					Navigate: &incident.IncidentFormExpressionOperationNavigateArgs{
    						Reference: pulumi.String("string"),
    					},
    					Parse: &incident.IncidentFormExpressionOperationParseArgs{
    						Returns: &incident.IncidentFormExpressionOperationParseReturnsArgs{
    							Array: pulumi.Bool(false),
    							Type:  pulumi.String("string"),
    						},
    						Source: pulumi.String("string"),
    					},
    				},
    			},
    			Reference:     pulumi.String("string"),
    			RootReference: pulumi.String("string"),
    			ElseBranch: &incident.IncidentFormExpressionElseBranchArgs{
    				Result: &incident.IncidentFormExpressionElseBranchResultArgs{
    					ArrayValues: incident.IncidentFormExpressionElseBranchResultArrayValueArray{
    						&incident.IncidentFormExpressionElseBranchResultArrayValueArgs{
    							Literal:   pulumi.String("string"),
    							Reference: pulumi.String("string"),
    						},
    					},
    					ExpressionRef: pulumi.String("string"),
    					Value: &incident.IncidentFormExpressionElseBranchResultValueArgs{
    						Literal:   pulumi.String("string"),
    						Reference: pulumi.String("string"),
    					},
    					ValueLiteral:   pulumi.String("string"),
    					ValueReference: pulumi.String("string"),
    					Values: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    		},
    	},
    	IncidentTypeId: pulumi.String("string"),
    	LifecycleElements: incident.IncidentFormLifecycleElementArray{
    		&incident.IncidentFormLifecycleElementArgs{
    			ElementType_:  pulumi.String("string"),
    			Id:            pulumi.String("string"),
    			CustomFieldId: pulumi.String("string"),
    			DefaultValue: &incident.IncidentFormLifecycleElementDefaultValueArgs{
    				ArrayValues: incident.IncidentFormLifecycleElementDefaultValueArrayValueArray{
    					&incident.IncidentFormLifecycleElementDefaultValueArrayValueArgs{
    						Literal:   pulumi.String("string"),
    						Reference: pulumi.String("string"),
    					},
    				},
    				ExpressionRef: pulumi.String("string"),
    				Value: &incident.IncidentFormLifecycleElementDefaultValueValueArgs{
    					Literal:   pulumi.String("string"),
    					Reference: pulumi.String("string"),
    				},
    				ValueLiteral:   pulumi.String("string"),
    				ValueReference: pulumi.String("string"),
    				Values: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			Description: pulumi.String("string"),
    			Config: &incident.IncidentFormLifecycleElementConfigArgs{
    				RequireComment: pulumi.Bool(false),
    			},
    			CanSelectNoValue:    pulumi.Bool(false),
    			IncidentRoleId:      pulumi.String("string"),
    			IncidentTimestampId: pulumi.String("string"),
    			Placeholder:         pulumi.String("string"),
    			RequiredIf:          pulumi.String("string"),
    			RequiredIfConditionGroups: incident.IncidentFormLifecycleElementRequiredIfConditionGroupArray{
    				&incident.IncidentFormLifecycleElementRequiredIfConditionGroupArgs{
    					Conditions: incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionArray{
    						&incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionArgs{
    							Operation: pulumi.String("string"),
    							ParamBindings: incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArray{
    								&incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArgs{
    									ArrayValues: incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValueArray{
    										&incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValueArgs{
    											Literal:   pulumi.String("string"),
    											Reference: pulumi.String("string"),
    										},
    									},
    									ExpressionRef: pulumi.String("string"),
    									Value: &incident.IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValueArgs{
    										Literal:   pulumi.String("string"),
    										Reference: pulumi.String("string"),
    									},
    									ValueLiteral:   pulumi.String("string"),
    									ValueReference: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							Subject: pulumi.String("string"),
    						},
    					},
    				},
    			},
    			ShowIfConditionGroups: incident.IncidentFormLifecycleElementShowIfConditionGroupArray{
    				&incident.IncidentFormLifecycleElementShowIfConditionGroupArgs{
    					Conditions: incident.IncidentFormLifecycleElementShowIfConditionGroupConditionArray{
    						&incident.IncidentFormLifecycleElementShowIfConditionGroupConditionArgs{
    							Operation: pulumi.String("string"),
    							ParamBindings: incident.IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArray{
    								&incident.IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArgs{
    									ArrayValues: incident.IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValueArray{
    										&incident.IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValueArgs{
    											Literal:   pulumi.String("string"),
    											Reference: pulumi.String("string"),
    										},
    									},
    									ExpressionRef: pulumi.String("string"),
    									Value: &incident.IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValueArgs{
    										Literal:   pulumi.String("string"),
    										Reference: pulumi.String("string"),
    									},
    									ValueLiteral:   pulumi.String("string"),
    									ValueReference: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							Subject: pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    	},
    	UnlockInDashboard: pulumi.Bool(false),
    })
    
    resource "incident_incident_form" "incidentFormResource" {
      lifecycle {
        create_before_destroy = true
      }
      form_type = "string"
      expressions {
        label = "string"
        operations {
          operation_type = "string"
          branches = {
            branches = [{
              condition_groups = [{
                conditions = [{
                  operation = "string"
                  param_bindings = [{
                    array_values = [{
                      literal   = "string"
                      reference = "string"
                    }]
                    expression_ref = "string"
                    value = {
                      literal   = "string"
                      reference = "string"
                    }
                    value_literal   = "string"
                    value_reference = "string"
                    values          = ["string"]
                  }]
                  subject = "string"
                }]
              }]
              result = {
                array_values = [{
                  literal   = "string"
                  reference = "string"
                }]
                expression_ref = "string"
                value = {
                  literal   = "string"
                  reference = "string"
                }
                value_literal   = "string"
                value_reference = "string"
                values          = ["string"]
              }
            }]
            returns = {
              array = false
              type  = "string"
            }
          }
          cast = {
            returns = {
              array = false
              type  = "string"
            }
          }
          concatenate = {
            reference = "string"
          }
          filter = {
            condition_groups = [{
              conditions = [{
                operation = "string"
                param_bindings = [{
                  array_values = [{
                    literal   = "string"
                    reference = "string"
                  }]
                  expression_ref = "string"
                  value = {
                    literal   = "string"
                    reference = "string"
                  }
                  value_literal   = "string"
                  value_reference = "string"
                  values          = ["string"]
                }]
                subject = "string"
              }]
            }]
          }
          navigate = {
            reference = "string"
          }
          parse = {
            returns = {
              array = false
              type  = "string"
            }
            source = "string"
          }
        }
        reference      = "string"
        root_reference = "string"
        else_branch = {
          result = {
            array_values = [{
              literal   = "string"
              reference = "string"
            }]
            expression_ref = "string"
            value = {
              literal   = "string"
              reference = "string"
            }
            value_literal   = "string"
            value_reference = "string"
            values          = ["string"]
          }
        }
      }
      incident_type_id = "string"
      lifecycle_elements {
        element_type    = "string"
        id              = "string"
        custom_field_id = "string"
        default_value = {
          array_values = [{
            literal   = "string"
            reference = "string"
          }]
          expression_ref = "string"
          value = {
            literal   = "string"
            reference = "string"
          }
          value_literal   = "string"
          value_reference = "string"
          values          = ["string"]
        }
        description = "string"
        config = {
          require_comment = false
        }
        can_select_no_value   = false
        incident_role_id      = "string"
        incident_timestamp_id = "string"
        placeholder           = "string"
        required_if           = "string"
        required_if_condition_groups {
          conditions {
            operation = "string"
            param_bindings {
              array_values {
                literal   = "string"
                reference = "string"
              }
              expression_ref = "string"
              value = {
                literal   = "string"
                reference = "string"
              }
              value_literal   = "string"
              value_reference = "string"
              values          = ["string"]
            }
            subject = "string"
          }
        }
        show_if_condition_groups {
          conditions {
            operation = "string"
            param_bindings {
              array_values {
                literal   = "string"
                reference = "string"
              }
              expression_ref = "string"
              value = {
                literal   = "string"
                reference = "string"
              }
              value_literal   = "string"
              value_reference = "string"
              values          = ["string"]
            }
            subject = "string"
          }
        }
      }
      unlock_in_dashboard = false
    }
    
    var incidentFormResource = new IncidentForm("incidentFormResource", IncidentFormArgs.builder()
        .formType("string")
        .expressions(IncidentFormExpressionArgs.builder()
            .label("string")
            .operations(IncidentFormExpressionOperationArgs.builder()
                .operationType("string")
                .branches(IncidentFormExpressionOperationBranchesArgs.builder()
                    .branches(IncidentFormExpressionOperationBranchesBranchArgs.builder()
                        .conditionGroups(IncidentFormExpressionOperationBranchesBranchConditionGroupArgs.builder()
                            .conditions(IncidentFormExpressionOperationBranchesBranchConditionGroupConditionArgs.builder()
                                .operation("string")
                                .paramBindings(IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArgs.builder()
                                    .arrayValues(IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValueArgs.builder()
                                        .literal("string")
                                        .reference("string")
                                        .build())
                                    .expressionRef("string")
                                    .value(IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValueArgs.builder()
                                        .literal("string")
                                        .reference("string")
                                        .build())
                                    .valueLiteral("string")
                                    .valueReference("string")
                                    .values("string")
                                    .build())
                                .subject("string")
                                .build())
                            .build())
                        .result(IncidentFormExpressionOperationBranchesBranchResultArgs.builder()
                            .arrayValues(IncidentFormExpressionOperationBranchesBranchResultArrayValueArgs.builder()
                                .literal("string")
                                .reference("string")
                                .build())
                            .expressionRef("string")
                            .value(IncidentFormExpressionOperationBranchesBranchResultValueArgs.builder()
                                .literal("string")
                                .reference("string")
                                .build())
                            .valueLiteral("string")
                            .valueReference("string")
                            .values("string")
                            .build())
                        .build())
                    .returns(IncidentFormExpressionOperationBranchesReturnsArgs.builder()
                        .array(false)
                        .type("string")
                        .build())
                    .build())
                .cast(IncidentFormExpressionOperationCastArgs.builder()
                    .returns(IncidentFormExpressionOperationCastReturnsArgs.builder()
                        .array(false)
                        .type("string")
                        .build())
                    .build())
                .concatenate(IncidentFormExpressionOperationConcatenateArgs.builder()
                    .reference("string")
                    .build())
                .filter(IncidentFormExpressionOperationFilterArgs.builder()
                    .conditionGroups(IncidentFormExpressionOperationFilterConditionGroupArgs.builder()
                        .conditions(IncidentFormExpressionOperationFilterConditionGroupConditionArgs.builder()
                            .operation("string")
                            .paramBindings(IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArgs.builder()
                                .arrayValues(IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValueArgs.builder()
                                    .literal("string")
                                    .reference("string")
                                    .build())
                                .expressionRef("string")
                                .value(IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValueArgs.builder()
                                    .literal("string")
                                    .reference("string")
                                    .build())
                                .valueLiteral("string")
                                .valueReference("string")
                                .values("string")
                                .build())
                            .subject("string")
                            .build())
                        .build())
                    .build())
                .navigate(IncidentFormExpressionOperationNavigateArgs.builder()
                    .reference("string")
                    .build())
                .parse(IncidentFormExpressionOperationParseArgs.builder()
                    .returns(IncidentFormExpressionOperationParseReturnsArgs.builder()
                        .array(false)
                        .type("string")
                        .build())
                    .source("string")
                    .build())
                .build())
            .reference("string")
            .rootReference("string")
            .elseBranch(IncidentFormExpressionElseBranchArgs.builder()
                .result(IncidentFormExpressionElseBranchResultArgs.builder()
                    .arrayValues(IncidentFormExpressionElseBranchResultArrayValueArgs.builder()
                        .literal("string")
                        .reference("string")
                        .build())
                    .expressionRef("string")
                    .value(IncidentFormExpressionElseBranchResultValueArgs.builder()
                        .literal("string")
                        .reference("string")
                        .build())
                    .valueLiteral("string")
                    .valueReference("string")
                    .values("string")
                    .build())
                .build())
            .build())
        .incidentTypeId("string")
        .lifecycleElements(IncidentFormLifecycleElementArgs.builder()
            .elementType("string")
            .id("string")
            .customFieldId("string")
            .defaultValue(IncidentFormLifecycleElementDefaultValueArgs.builder()
                .arrayValues(IncidentFormLifecycleElementDefaultValueArrayValueArgs.builder()
                    .literal("string")
                    .reference("string")
                    .build())
                .expressionRef("string")
                .value(IncidentFormLifecycleElementDefaultValueValueArgs.builder()
                    .literal("string")
                    .reference("string")
                    .build())
                .valueLiteral("string")
                .valueReference("string")
                .values("string")
                .build())
            .description("string")
            .config(IncidentFormLifecycleElementConfigArgs.builder()
                .requireComment(false)
                .build())
            .canSelectNoValue(false)
            .incidentRoleId("string")
            .incidentTimestampId("string")
            .placeholder("string")
            .requiredIf("string")
            .requiredIfConditionGroups(IncidentFormLifecycleElementRequiredIfConditionGroupArgs.builder()
                .conditions(IncidentFormLifecycleElementRequiredIfConditionGroupConditionArgs.builder()
                    .operation("string")
                    .paramBindings(IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArgs.builder()
                        .arrayValues(IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValueArgs.builder()
                            .literal("string")
                            .reference("string")
                            .build())
                        .expressionRef("string")
                        .value(IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValueArgs.builder()
                            .literal("string")
                            .reference("string")
                            .build())
                        .valueLiteral("string")
                        .valueReference("string")
                        .values("string")
                        .build())
                    .subject("string")
                    .build())
                .build())
            .showIfConditionGroups(IncidentFormLifecycleElementShowIfConditionGroupArgs.builder()
                .conditions(IncidentFormLifecycleElementShowIfConditionGroupConditionArgs.builder()
                    .operation("string")
                    .paramBindings(IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArgs.builder()
                        .arrayValues(IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValueArgs.builder()
                            .literal("string")
                            .reference("string")
                            .build())
                        .expressionRef("string")
                        .value(IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValueArgs.builder()
                            .literal("string")
                            .reference("string")
                            .build())
                        .valueLiteral("string")
                        .valueReference("string")
                        .values("string")
                        .build())
                    .subject("string")
                    .build())
                .build())
            .build())
        .unlockInDashboard(false)
        .build());
    
    incident_form_resource = incident.IncidentForm("incidentFormResource",
        form_type="string",
        expressions=[{
            "label": "string",
            "operations": [{
                "operation_type": "string",
                "branches": {
                    "branches": [{
                        "condition_groups": [{
                            "conditions": [{
                                "operation": "string",
                                "param_bindings": [{
                                    "array_values": [{
                                        "literal": "string",
                                        "reference": "string",
                                    }],
                                    "expression_ref": "string",
                                    "value": {
                                        "literal": "string",
                                        "reference": "string",
                                    },
                                    "value_literal": "string",
                                    "value_reference": "string",
                                    "values": ["string"],
                                }],
                                "subject": "string",
                            }],
                        }],
                        "result": {
                            "array_values": [{
                                "literal": "string",
                                "reference": "string",
                            }],
                            "expression_ref": "string",
                            "value": {
                                "literal": "string",
                                "reference": "string",
                            },
                            "value_literal": "string",
                            "value_reference": "string",
                            "values": ["string"],
                        },
                    }],
                    "returns": {
                        "array": False,
                        "type": "string",
                    },
                },
                "cast": {
                    "returns": {
                        "array": False,
                        "type": "string",
                    },
                },
                "concatenate": {
                    "reference": "string",
                },
                "filter": {
                    "condition_groups": [{
                        "conditions": [{
                            "operation": "string",
                            "param_bindings": [{
                                "array_values": [{
                                    "literal": "string",
                                    "reference": "string",
                                }],
                                "expression_ref": "string",
                                "value": {
                                    "literal": "string",
                                    "reference": "string",
                                },
                                "value_literal": "string",
                                "value_reference": "string",
                                "values": ["string"],
                            }],
                            "subject": "string",
                        }],
                    }],
                },
                "navigate": {
                    "reference": "string",
                },
                "parse": {
                    "returns": {
                        "array": False,
                        "type": "string",
                    },
                    "source": "string",
                },
            }],
            "reference": "string",
            "root_reference": "string",
            "else_branch": {
                "result": {
                    "array_values": [{
                        "literal": "string",
                        "reference": "string",
                    }],
                    "expression_ref": "string",
                    "value": {
                        "literal": "string",
                        "reference": "string",
                    },
                    "value_literal": "string",
                    "value_reference": "string",
                    "values": ["string"],
                },
            },
        }],
        incident_type_id="string",
        lifecycle_elements=[{
            "element_type": "string",
            "id": "string",
            "custom_field_id": "string",
            "default_value": {
                "array_values": [{
                    "literal": "string",
                    "reference": "string",
                }],
                "expression_ref": "string",
                "value": {
                    "literal": "string",
                    "reference": "string",
                },
                "value_literal": "string",
                "value_reference": "string",
                "values": ["string"],
            },
            "description": "string",
            "config": {
                "require_comment": False,
            },
            "can_select_no_value": False,
            "incident_role_id": "string",
            "incident_timestamp_id": "string",
            "placeholder": "string",
            "required_if": "string",
            "required_if_condition_groups": [{
                "conditions": [{
                    "operation": "string",
                    "param_bindings": [{
                        "array_values": [{
                            "literal": "string",
                            "reference": "string",
                        }],
                        "expression_ref": "string",
                        "value": {
                            "literal": "string",
                            "reference": "string",
                        },
                        "value_literal": "string",
                        "value_reference": "string",
                        "values": ["string"],
                    }],
                    "subject": "string",
                }],
            }],
            "show_if_condition_groups": [{
                "conditions": [{
                    "operation": "string",
                    "param_bindings": [{
                        "array_values": [{
                            "literal": "string",
                            "reference": "string",
                        }],
                        "expression_ref": "string",
                        "value": {
                            "literal": "string",
                            "reference": "string",
                        },
                        "value_literal": "string",
                        "value_reference": "string",
                        "values": ["string"],
                    }],
                    "subject": "string",
                }],
            }],
        }],
        unlock_in_dashboard=False)
    
    const incidentFormResource = new incident.IncidentForm("incidentFormResource", {
        formType: "string",
        expressions: [{
            label: "string",
            operations: [{
                operationType: "string",
                branches: {
                    branches: [{
                        conditionGroups: [{
                            conditions: [{
                                operation: "string",
                                paramBindings: [{
                                    arrayValues: [{
                                        literal: "string",
                                        reference: "string",
                                    }],
                                    expressionRef: "string",
                                    value: {
                                        literal: "string",
                                        reference: "string",
                                    },
                                    valueLiteral: "string",
                                    valueReference: "string",
                                    values: ["string"],
                                }],
                                subject: "string",
                            }],
                        }],
                        result: {
                            arrayValues: [{
                                literal: "string",
                                reference: "string",
                            }],
                            expressionRef: "string",
                            value: {
                                literal: "string",
                                reference: "string",
                            },
                            valueLiteral: "string",
                            valueReference: "string",
                            values: ["string"],
                        },
                    }],
                    returns: {
                        array: false,
                        type: "string",
                    },
                },
                cast: {
                    returns: {
                        array: false,
                        type: "string",
                    },
                },
                concatenate: {
                    reference: "string",
                },
                filter: {
                    conditionGroups: [{
                        conditions: [{
                            operation: "string",
                            paramBindings: [{
                                arrayValues: [{
                                    literal: "string",
                                    reference: "string",
                                }],
                                expressionRef: "string",
                                value: {
                                    literal: "string",
                                    reference: "string",
                                },
                                valueLiteral: "string",
                                valueReference: "string",
                                values: ["string"],
                            }],
                            subject: "string",
                        }],
                    }],
                },
                navigate: {
                    reference: "string",
                },
                parse: {
                    returns: {
                        array: false,
                        type: "string",
                    },
                    source: "string",
                },
            }],
            reference: "string",
            rootReference: "string",
            elseBranch: {
                result: {
                    arrayValues: [{
                        literal: "string",
                        reference: "string",
                    }],
                    expressionRef: "string",
                    value: {
                        literal: "string",
                        reference: "string",
                    },
                    valueLiteral: "string",
                    valueReference: "string",
                    values: ["string"],
                },
            },
        }],
        incidentTypeId: "string",
        lifecycleElements: [{
            elementType: "string",
            id: "string",
            customFieldId: "string",
            defaultValue: {
                arrayValues: [{
                    literal: "string",
                    reference: "string",
                }],
                expressionRef: "string",
                value: {
                    literal: "string",
                    reference: "string",
                },
                valueLiteral: "string",
                valueReference: "string",
                values: ["string"],
            },
            description: "string",
            config: {
                requireComment: false,
            },
            canSelectNoValue: false,
            incidentRoleId: "string",
            incidentTimestampId: "string",
            placeholder: "string",
            requiredIf: "string",
            requiredIfConditionGroups: [{
                conditions: [{
                    operation: "string",
                    paramBindings: [{
                        arrayValues: [{
                            literal: "string",
                            reference: "string",
                        }],
                        expressionRef: "string",
                        value: {
                            literal: "string",
                            reference: "string",
                        },
                        valueLiteral: "string",
                        valueReference: "string",
                        values: ["string"],
                    }],
                    subject: "string",
                }],
            }],
            showIfConditionGroups: [{
                conditions: [{
                    operation: "string",
                    paramBindings: [{
                        arrayValues: [{
                            literal: "string",
                            reference: "string",
                        }],
                        expressionRef: "string",
                        value: {
                            literal: "string",
                            reference: "string",
                        },
                        valueLiteral: "string",
                        valueReference: "string",
                        values: ["string"],
                    }],
                    subject: "string",
                }],
            }],
        }],
        unlockInDashboard: false,
    });
    
    type: incident:IncidentForm
    properties:
        expressions:
            - elseBranch:
                result:
                    arrayValues:
                        - literal: string
                          reference: string
                    expressionRef: string
                    value:
                        literal: string
                        reference: string
                    valueLiteral: string
                    valueReference: string
                    values:
                        - string
              label: string
              operations:
                - branches:
                    branches:
                        - conditionGroups:
                            - conditions:
                                - operation: string
                                  paramBindings:
                                    - arrayValues:
                                        - literal: string
                                          reference: string
                                      expressionRef: string
                                      value:
                                        literal: string
                                        reference: string
                                      valueLiteral: string
                                      valueReference: string
                                      values:
                                        - string
                                  subject: string
                          result:
                            arrayValues:
                                - literal: string
                                  reference: string
                            expressionRef: string
                            value:
                                literal: string
                                reference: string
                            valueLiteral: string
                            valueReference: string
                            values:
                                - string
                    returns:
                        array: false
                        type: string
                  cast:
                    returns:
                        array: false
                        type: string
                  concatenate:
                    reference: string
                  filter:
                    conditionGroups:
                        - conditions:
                            - operation: string
                              paramBindings:
                                - arrayValues:
                                    - literal: string
                                      reference: string
                                  expressionRef: string
                                  value:
                                    literal: string
                                    reference: string
                                  valueLiteral: string
                                  valueReference: string
                                  values:
                                    - string
                              subject: string
                  navigate:
                    reference: string
                  operationType: string
                  parse:
                    returns:
                        array: false
                        type: string
                    source: string
              reference: string
              rootReference: string
        formType: string
        incidentTypeId: string
        lifecycleElements:
            - canSelectNoValue: false
              config:
                requireComment: false
              customFieldId: string
              defaultValue:
                arrayValues:
                    - literal: string
                      reference: string
                expressionRef: string
                value:
                    literal: string
                    reference: string
                valueLiteral: string
                valueReference: string
                values:
                    - string
              description: string
              elementType: string
              id: string
              incidentRoleId: string
              incidentTimestampId: string
              placeholder: string
              requiredIf: string
              requiredIfConditionGroups:
                - conditions:
                    - operation: string
                      paramBindings:
                        - arrayValues:
                            - literal: string
                              reference: string
                          expressionRef: string
                          value:
                            literal: string
                            reference: string
                          valueLiteral: string
                          valueReference: string
                          values:
                            - string
                      subject: string
              showIfConditionGroups:
                - conditions:
                    - operation: string
                      paramBindings:
                        - arrayValues:
                            - literal: string
                              reference: string
                          expressionRef: string
                          value:
                            literal: string
                            reference: string
                          valueLiteral: string
                          valueReference: string
                          values:
                            - string
                      subject: string
        unlockInDashboard: false
    

    IncidentForm 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 IncidentForm resource accepts the following input properties:

    FormType string
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    Expressions List<IncidentFormExpression>
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    IncidentTypeId string
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    LifecycleElements List<IncidentFormLifecycleElement>
    Elements on this form, in display order. List position is the order: there is no separate rank.
    UnlockInDashboard bool
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    FormType string
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    Expressions []IncidentFormExpressionArgs
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    IncidentTypeId string
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    LifecycleElements []IncidentFormLifecycleElementArgs
    Elements on this form, in display order. List position is the order: there is no separate rank.
    UnlockInDashboard bool
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    form_type string
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    expressions list(object)
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    incident_type_id string
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycle_elements list(object)
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlock_in_dashboard bool
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    formType String
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    expressions List<IncidentFormExpression>
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    incidentTypeId String
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycleElements List<IncidentFormLifecycleElement>
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlockInDashboard Boolean
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    formType string
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    expressions IncidentFormExpression[]
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    incidentTypeId string
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycleElements IncidentFormLifecycleElement[]
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlockInDashboard boolean
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    form_type str
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    expressions Sequence[IncidentFormExpressionArgs]
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    incident_type_id str
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycle_elements Sequence[IncidentFormLifecycleElementArgs]
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlock_in_dashboard bool
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    formType String
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    expressions List<Property Map>
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    incidentTypeId String
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycleElements List<Property Map>
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlockInDashboard Boolean
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the IncidentForm 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 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 IncidentForm Resource

    Get an existing IncidentForm 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?: IncidentFormState, opts?: CustomResourceOptions): IncidentForm
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            expressions: Optional[Sequence[IncidentFormExpressionArgs]] = None,
            form_type: Optional[str] = None,
            incident_type_id: Optional[str] = None,
            lifecycle_elements: Optional[Sequence[IncidentFormLifecycleElementArgs]] = None,
            unlock_in_dashboard: Optional[bool] = None) -> IncidentForm
    func GetIncidentForm(ctx *Context, name string, id IDInput, state *IncidentFormState, opts ...ResourceOption) (*IncidentForm, error)
    public static IncidentForm Get(string name, Input<string> id, IncidentFormState? state, CustomResourceOptions? opts = null)
    public static IncidentForm get(String name, Output<String> id, IncidentFormState state, CustomResourceOptions options)
    resources:  _:    type: incident:IncidentForm    get:      id: ${id}
    import {
      to = incident_incident_form.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:
    Expressions List<IncidentFormExpression>
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    FormType string
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    IncidentTypeId string
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    LifecycleElements List<IncidentFormLifecycleElement>
    Elements on this form, in display order. List position is the order: there is no separate rank.
    UnlockInDashboard bool
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    Expressions []IncidentFormExpressionArgs
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    FormType string
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    IncidentTypeId string
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    LifecycleElements []IncidentFormLifecycleElementArgs
    Elements on this form, in display order. List position is the order: there is no separate rank.
    UnlockInDashboard bool
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    expressions list(object)
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    form_type string
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    incident_type_id string
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycle_elements list(object)
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlock_in_dashboard bool
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    expressions List<IncidentFormExpression>
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    formType String
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    incidentTypeId String
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycleElements List<IncidentFormLifecycleElement>
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlockInDashboard Boolean
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    expressions IncidentFormExpression[]
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    formType string
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    incidentTypeId string
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycleElements IncidentFormLifecycleElement[]
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlockInDashboard boolean
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    expressions Sequence[IncidentFormExpressionArgs]
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    form_type str
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    incident_type_id str
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycle_elements Sequence[IncidentFormLifecycleElementArgs]
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlock_in_dashboard bool
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.
    expressions List<Property Map>
    Expressions available to every element's conditions and defaults. Referenced by reference, not by ID.
    formType String
    Which form this is. Escalate forms are not part of this API. Possible values are: declare, accept, update, resolve, retrospective, custom-fields. A form's type cannot change, so changing this replaces the form.
    incidentTypeId String
    The incident type this form belongs to. Unset for the organisation's default form of this type. A form cannot move to another incident type, so changing this replaces the form.
    lifecycleElements List<Property Map>
    Elements on this form, in display order. List position is the order: there is no separate rank.
    unlockInDashboard Boolean
    Whether to leave this resource unlocked in the incident.io dashboard, so people can edit it there. Defaults to false: Terraform claims what it manages, and a claimed resource cannot be edited in the dashboard. Set it to true to leave the resource unclaimed — pair that with lifecycle { ignoreChanges = [...] } naming the attributes people edit, or the next apply reverts them. Setting it on a resource Terraform already claimed hands that resource back, and someone disconnecting one in the dashboard shows as no change.

    Supporting Types

    IncidentFormExpression, IncidentFormExpressionArgs

    Label string
    The human readable label of the expression
    Operations List<IncidentFormExpressionOperation>
    The operations to execute in sequence for this expression
    Reference string
    A short ID that can be used to reference the expression
    RootReference string
    The root reference for this expression (i.e. where the expression starts)
    ElseBranch IncidentFormExpressionElseBranch
    The else branch to resort to if all operations fail
    Label string
    The human readable label of the expression
    Operations []IncidentFormExpressionOperation
    The operations to execute in sequence for this expression
    Reference string
    A short ID that can be used to reference the expression
    RootReference string
    The root reference for this expression (i.e. where the expression starts)
    ElseBranch IncidentFormExpressionElseBranch
    The else branch to resort to if all operations fail
    label string
    The human readable label of the expression
    operations list(object)
    The operations to execute in sequence for this expression
    reference string
    A short ID that can be used to reference the expression
    root_reference string
    The root reference for this expression (i.e. where the expression starts)
    else_branch object
    The else branch to resort to if all operations fail
    label String
    The human readable label of the expression
    operations List<IncidentFormExpressionOperation>
    The operations to execute in sequence for this expression
    reference String
    A short ID that can be used to reference the expression
    rootReference String
    The root reference for this expression (i.e. where the expression starts)
    elseBranch IncidentFormExpressionElseBranch
    The else branch to resort to if all operations fail
    label string
    The human readable label of the expression
    operations IncidentFormExpressionOperation[]
    The operations to execute in sequence for this expression
    reference string
    A short ID that can be used to reference the expression
    rootReference string
    The root reference for this expression (i.e. where the expression starts)
    elseBranch IncidentFormExpressionElseBranch
    The else branch to resort to if all operations fail
    label str
    The human readable label of the expression
    operations Sequence[IncidentFormExpressionOperation]
    The operations to execute in sequence for this expression
    reference str
    A short ID that can be used to reference the expression
    root_reference str
    The root reference for this expression (i.e. where the expression starts)
    else_branch IncidentFormExpressionElseBranch
    The else branch to resort to if all operations fail
    label String
    The human readable label of the expression
    operations List<Property Map>
    The operations to execute in sequence for this expression
    reference String
    A short ID that can be used to reference the expression
    rootReference String
    The root reference for this expression (i.e. where the expression starts)
    elseBranch Property Map
    The else branch to resort to if all operations fail

    IncidentFormExpressionElseBranch, IncidentFormExpressionElseBranchArgs

    Result IncidentFormExpressionElseBranchResult
    The result assumed if the else branch is reached
    Result IncidentFormExpressionElseBranchResult
    The result assumed if the else branch is reached
    result object
    The result assumed if the else branch is reached
    result IncidentFormExpressionElseBranchResult
    The result assumed if the else branch is reached
    result IncidentFormExpressionElseBranchResult
    The result assumed if the else branch is reached
    result IncidentFormExpressionElseBranchResult
    The result assumed if the else branch is reached
    result Property Map
    The result assumed if the else branch is reached

    IncidentFormExpressionElseBranchResult, IncidentFormExpressionElseBranchResultArgs

    ArrayValues List<IncidentFormExpressionElseBranchResultArrayValue>
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormExpressionElseBranchResultValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values List<string>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    ArrayValues []IncidentFormExpressionElseBranchResultArrayValue
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormExpressionElseBranchResultValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values []string
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values list(object)
    The array of literal or reference parameter values
    expression_ref string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value object
    The literal or reference parameter value
    value_literal string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values list(string)
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<IncidentFormExpressionElseBranchResultArrayValue>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionElseBranchResultValue
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues IncidentFormExpressionElseBranchResultArrayValue[]
    The array of literal or reference parameter values
    expressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionElseBranchResultValue
    The literal or reference parameter value
    valueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values string[]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values Sequence[IncidentFormExpressionElseBranchResultArrayValue]
    The array of literal or reference parameter values
    expression_ref str
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionElseBranchResultValue
    The literal or reference parameter value
    value_literal str
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference str
    A reference into the scope, shorthand for value = { reference = ... }.
    values Sequence[str]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<Property Map>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value Property Map
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.

    IncidentFormExpressionElseBranchResultArrayValue, IncidentFormExpressionElseBranchResultArrayValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormExpressionElseBranchResultValue, IncidentFormExpressionElseBranchResultValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormExpressionOperation, IncidentFormExpressionOperationArgs

    OperationType string
    Indicates which operation type to execute. Possible values are: navigate, filter, concatenate, count, min, max, sum, random, first, parse, branches, cast.
    Branches IncidentFormExpressionOperationBranches
    An operation type that allows for a value to be set conditionally by a series of logical branches
    Cast IncidentFormExpressionOperationCast
    An operation type that converts a value into another type. Only valid on values that can be represented as text. The returned array follows the value being cast, so it must match the cardinality of the previous operation
    Concatenate IncidentFormExpressionOperationConcatenate
    An operation type that adds the values behind another reference to the current value, keeping each value once. There is no delimiter, despite the name
    Filter IncidentFormExpressionOperationFilter
    An operation type that allows values to be filtered out by conditions
    Navigate IncidentFormExpressionOperationNavigate
    An operation type that allows attributes of a type to be accessed by reference
    Parse IncidentFormExpressionOperationParse
    An operation type that allows a value to parsed from within a JSON object
    OperationType string
    Indicates which operation type to execute. Possible values are: navigate, filter, concatenate, count, min, max, sum, random, first, parse, branches, cast.
    Branches IncidentFormExpressionOperationBranches
    An operation type that allows for a value to be set conditionally by a series of logical branches
    Cast IncidentFormExpressionOperationCast
    An operation type that converts a value into another type. Only valid on values that can be represented as text. The returned array follows the value being cast, so it must match the cardinality of the previous operation
    Concatenate IncidentFormExpressionOperationConcatenate
    An operation type that adds the values behind another reference to the current value, keeping each value once. There is no delimiter, despite the name
    Filter IncidentFormExpressionOperationFilter
    An operation type that allows values to be filtered out by conditions
    Navigate IncidentFormExpressionOperationNavigate
    An operation type that allows attributes of a type to be accessed by reference
    Parse IncidentFormExpressionOperationParse
    An operation type that allows a value to parsed from within a JSON object
    operation_type string
    Indicates which operation type to execute. Possible values are: navigate, filter, concatenate, count, min, max, sum, random, first, parse, branches, cast.
    branches object
    An operation type that allows for a value to be set conditionally by a series of logical branches
    cast object
    An operation type that converts a value into another type. Only valid on values that can be represented as text. The returned array follows the value being cast, so it must match the cardinality of the previous operation
    concatenate object
    An operation type that adds the values behind another reference to the current value, keeping each value once. There is no delimiter, despite the name
    filter object
    An operation type that allows values to be filtered out by conditions
    navigate object
    An operation type that allows attributes of a type to be accessed by reference
    parse object
    An operation type that allows a value to parsed from within a JSON object
    operationType String
    Indicates which operation type to execute. Possible values are: navigate, filter, concatenate, count, min, max, sum, random, first, parse, branches, cast.
    branches IncidentFormExpressionOperationBranches
    An operation type that allows for a value to be set conditionally by a series of logical branches
    cast IncidentFormExpressionOperationCast
    An operation type that converts a value into another type. Only valid on values that can be represented as text. The returned array follows the value being cast, so it must match the cardinality of the previous operation
    concatenate IncidentFormExpressionOperationConcatenate
    An operation type that adds the values behind another reference to the current value, keeping each value once. There is no delimiter, despite the name
    filter IncidentFormExpressionOperationFilter
    An operation type that allows values to be filtered out by conditions
    navigate IncidentFormExpressionOperationNavigate
    An operation type that allows attributes of a type to be accessed by reference
    parse IncidentFormExpressionOperationParse
    An operation type that allows a value to parsed from within a JSON object
    operationType string
    Indicates which operation type to execute. Possible values are: navigate, filter, concatenate, count, min, max, sum, random, first, parse, branches, cast.
    branches IncidentFormExpressionOperationBranches
    An operation type that allows for a value to be set conditionally by a series of logical branches
    cast IncidentFormExpressionOperationCast
    An operation type that converts a value into another type. Only valid on values that can be represented as text. The returned array follows the value being cast, so it must match the cardinality of the previous operation
    concatenate IncidentFormExpressionOperationConcatenate
    An operation type that adds the values behind another reference to the current value, keeping each value once. There is no delimiter, despite the name
    filter IncidentFormExpressionOperationFilter
    An operation type that allows values to be filtered out by conditions
    navigate IncidentFormExpressionOperationNavigate
    An operation type that allows attributes of a type to be accessed by reference
    parse IncidentFormExpressionOperationParse
    An operation type that allows a value to parsed from within a JSON object
    operation_type str
    Indicates which operation type to execute. Possible values are: navigate, filter, concatenate, count, min, max, sum, random, first, parse, branches, cast.
    branches IncidentFormExpressionOperationBranches
    An operation type that allows for a value to be set conditionally by a series of logical branches
    cast IncidentFormExpressionOperationCast
    An operation type that converts a value into another type. Only valid on values that can be represented as text. The returned array follows the value being cast, so it must match the cardinality of the previous operation
    concatenate IncidentFormExpressionOperationConcatenate
    An operation type that adds the values behind another reference to the current value, keeping each value once. There is no delimiter, despite the name
    filter IncidentFormExpressionOperationFilter
    An operation type that allows values to be filtered out by conditions
    navigate IncidentFormExpressionOperationNavigate
    An operation type that allows attributes of a type to be accessed by reference
    parse IncidentFormExpressionOperationParse
    An operation type that allows a value to parsed from within a JSON object
    operationType String
    Indicates which operation type to execute. Possible values are: navigate, filter, concatenate, count, min, max, sum, random, first, parse, branches, cast.
    branches Property Map
    An operation type that allows for a value to be set conditionally by a series of logical branches
    cast Property Map
    An operation type that converts a value into another type. Only valid on values that can be represented as text. The returned array follows the value being cast, so it must match the cardinality of the previous operation
    concatenate Property Map
    An operation type that adds the values behind another reference to the current value, keeping each value once. There is no delimiter, despite the name
    filter Property Map
    An operation type that allows values to be filtered out by conditions
    navigate Property Map
    An operation type that allows attributes of a type to be accessed by reference
    parse Property Map
    An operation type that allows a value to parsed from within a JSON object

    IncidentFormExpressionOperationBranches, IncidentFormExpressionOperationBranchesArgs

    Branches []IncidentFormExpressionOperationBranchesBranch
    The branches to apply for this operation
    Returns IncidentFormExpressionOperationBranchesReturns
    The return type of an operation
    branches list(object)
    The branches to apply for this operation
    returns object
    The return type of an operation
    branches IncidentFormExpressionOperationBranchesBranch[]
    The branches to apply for this operation
    returns IncidentFormExpressionOperationBranchesReturns
    The return type of an operation
    branches List<Property Map>
    The branches to apply for this operation
    returns Property Map
    The return type of an operation

    IncidentFormExpressionOperationBranchesBranch, IncidentFormExpressionOperationBranchesBranchArgs

    ConditionGroups List<IncidentFormExpressionOperationBranchesBranchConditionGroup>
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    Result IncidentFormExpressionOperationBranchesBranchResult
    The result assumed if the condition groups are satisfied
    ConditionGroups []IncidentFormExpressionOperationBranchesBranchConditionGroup
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    Result IncidentFormExpressionOperationBranchesBranchResult
    The result assumed if the condition groups are satisfied
    condition_groups list(object)
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    result object
    The result assumed if the condition groups are satisfied
    conditionGroups List<IncidentFormExpressionOperationBranchesBranchConditionGroup>
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    result IncidentFormExpressionOperationBranchesBranchResult
    The result assumed if the condition groups are satisfied
    conditionGroups IncidentFormExpressionOperationBranchesBranchConditionGroup[]
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    result IncidentFormExpressionOperationBranchesBranchResult
    The result assumed if the condition groups are satisfied
    condition_groups Sequence[IncidentFormExpressionOperationBranchesBranchConditionGroup]
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    result IncidentFormExpressionOperationBranchesBranchResult
    The result assumed if the condition groups are satisfied
    conditionGroups List<Property Map>
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    result Property Map
    The result assumed if the condition groups are satisfied

    IncidentFormExpressionOperationBranchesBranchConditionGroup, IncidentFormExpressionOperationBranchesBranchConditionGroupArgs

    Conditions []IncidentFormExpressionOperationBranchesBranchConditionGroupCondition
    The prerequisite conditions that must all be satisfied
    conditions list(object)
    The prerequisite conditions that must all be satisfied
    conditions IncidentFormExpressionOperationBranchesBranchConditionGroupCondition[]
    The prerequisite conditions that must all be satisfied
    conditions List<Property Map>
    The prerequisite conditions that must all be satisfied

    IncidentFormExpressionOperationBranchesBranchConditionGroupCondition, IncidentFormExpressionOperationBranchesBranchConditionGroupConditionArgs

    Operation string
    The logical operation to be applied
    ParamBindings List<IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBinding>
    Bindings for the operation parameters
    Subject string
    The subject of the condition, on which the operation is applied
    Operation string
    The logical operation to be applied
    ParamBindings []IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBinding
    Bindings for the operation parameters
    Subject string
    The subject of the condition, on which the operation is applied
    operation string
    The logical operation to be applied
    param_bindings list(object)
    Bindings for the operation parameters
    subject string
    The subject of the condition, on which the operation is applied
    operation String
    The logical operation to be applied
    paramBindings List<IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBinding>
    Bindings for the operation parameters
    subject String
    The subject of the condition, on which the operation is applied
    operation string
    The logical operation to be applied
    paramBindings IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBinding[]
    Bindings for the operation parameters
    subject string
    The subject of the condition, on which the operation is applied
    operation str
    The logical operation to be applied
    param_bindings Sequence[IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBinding]
    Bindings for the operation parameters
    subject str
    The subject of the condition, on which the operation is applied
    operation String
    The logical operation to be applied
    paramBindings List<Property Map>
    Bindings for the operation parameters
    subject String
    The subject of the condition, on which the operation is applied

    IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBinding, IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArgs

    ArrayValues List<IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValue>
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values List<string>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    ArrayValues []IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValue
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values []string
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values list(object)
    The array of literal or reference parameter values
    expression_ref string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value object
    The literal or reference parameter value
    value_literal string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values list(string)
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValue>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValue[]
    The array of literal or reference parameter values
    expressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    valueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values string[]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values Sequence[IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValue]
    The array of literal or reference parameter values
    expression_ref str
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    value_literal str
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference str
    A reference into the scope, shorthand for value = { reference = ... }.
    values Sequence[str]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<Property Map>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value Property Map
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.

    IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValue, IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingArrayValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValue, IncidentFormExpressionOperationBranchesBranchConditionGroupConditionParamBindingValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormExpressionOperationBranchesBranchResult, IncidentFormExpressionOperationBranchesBranchResultArgs

    ArrayValues List<IncidentFormExpressionOperationBranchesBranchResultArrayValue>
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormExpressionOperationBranchesBranchResultValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values List<string>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    ArrayValues []IncidentFormExpressionOperationBranchesBranchResultArrayValue
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormExpressionOperationBranchesBranchResultValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values []string
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values list(object)
    The array of literal or reference parameter values
    expression_ref string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value object
    The literal or reference parameter value
    value_literal string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values list(string)
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<IncidentFormExpressionOperationBranchesBranchResultArrayValue>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionOperationBranchesBranchResultValue
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues IncidentFormExpressionOperationBranchesBranchResultArrayValue[]
    The array of literal or reference parameter values
    expressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionOperationBranchesBranchResultValue
    The literal or reference parameter value
    valueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values string[]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values Sequence[IncidentFormExpressionOperationBranchesBranchResultArrayValue]
    The array of literal or reference parameter values
    expression_ref str
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionOperationBranchesBranchResultValue
    The literal or reference parameter value
    value_literal str
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference str
    A reference into the scope, shorthand for value = { reference = ... }.
    values Sequence[str]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<Property Map>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value Property Map
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.

    IncidentFormExpressionOperationBranchesBranchResultArrayValue, IncidentFormExpressionOperationBranchesBranchResultArrayValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormExpressionOperationBranchesBranchResultValue, IncidentFormExpressionOperationBranchesBranchResultValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormExpressionOperationBranchesReturns, IncidentFormExpressionOperationBranchesReturnsArgs

    Array bool
    Whether the return value should be single or multi-value
    Type string
    Expected return type of this expression (what to try casting the result to)
    Array bool
    Whether the return value should be single or multi-value
    Type string
    Expected return type of this expression (what to try casting the result to)
    array bool
    Whether the return value should be single or multi-value
    type string
    Expected return type of this expression (what to try casting the result to)
    array Boolean
    Whether the return value should be single or multi-value
    type String
    Expected return type of this expression (what to try casting the result to)
    array boolean
    Whether the return value should be single or multi-value
    type string
    Expected return type of this expression (what to try casting the result to)
    array bool
    Whether the return value should be single or multi-value
    type str
    Expected return type of this expression (what to try casting the result to)
    array Boolean
    Whether the return value should be single or multi-value
    type String
    Expected return type of this expression (what to try casting the result to)

    IncidentFormExpressionOperationCast, IncidentFormExpressionOperationCastArgs

    returns object
    The return type of an operation
    returns Property Map
    The return type of an operation

    IncidentFormExpressionOperationCastReturns, IncidentFormExpressionOperationCastReturnsArgs

    Array bool
    Whether the return value should be single or multi-value
    Type string
    Expected return type of this expression (what to try casting the result to)
    Array bool
    Whether the return value should be single or multi-value
    Type string
    Expected return type of this expression (what to try casting the result to)
    array bool
    Whether the return value should be single or multi-value
    type string
    Expected return type of this expression (what to try casting the result to)
    array Boolean
    Whether the return value should be single or multi-value
    type String
    Expected return type of this expression (what to try casting the result to)
    array boolean
    Whether the return value should be single or multi-value
    type string
    Expected return type of this expression (what to try casting the result to)
    array bool
    Whether the return value should be single or multi-value
    type str
    Expected return type of this expression (what to try casting the result to)
    array Boolean
    Whether the return value should be single or multi-value
    type String
    Expected return type of this expression (what to try casting the result to)

    IncidentFormExpressionOperationConcatenate, IncidentFormExpressionOperationConcatenateArgs

    Reference string
    The reference within the scope to concatenate with
    Reference string
    The reference within the scope to concatenate with
    reference string
    The reference within the scope to concatenate with
    reference String
    The reference within the scope to concatenate with
    reference string
    The reference within the scope to concatenate with
    reference str
    The reference within the scope to concatenate with
    reference String
    The reference within the scope to concatenate with

    IncidentFormExpressionOperationFilter, IncidentFormExpressionOperationFilterArgs

    ConditionGroups List<IncidentFormExpressionOperationFilterConditionGroup>
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    ConditionGroups []IncidentFormExpressionOperationFilterConditionGroup
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    condition_groups list(object)
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    conditionGroups List<IncidentFormExpressionOperationFilterConditionGroup>
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    conditionGroups IncidentFormExpressionOperationFilterConditionGroup[]
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    condition_groups Sequence[IncidentFormExpressionOperationFilterConditionGroup]
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied
    conditionGroups List<Property Map>
    Groups of prerequisite conditions. All conditions in at least one group must be satisfied

    IncidentFormExpressionOperationFilterConditionGroup, IncidentFormExpressionOperationFilterConditionGroupArgs

    Conditions List<IncidentFormExpressionOperationFilterConditionGroupCondition>
    The prerequisite conditions that must all be satisfied
    Conditions []IncidentFormExpressionOperationFilterConditionGroupCondition
    The prerequisite conditions that must all be satisfied
    conditions list(object)
    The prerequisite conditions that must all be satisfied
    conditions List<IncidentFormExpressionOperationFilterConditionGroupCondition>
    The prerequisite conditions that must all be satisfied
    conditions IncidentFormExpressionOperationFilterConditionGroupCondition[]
    The prerequisite conditions that must all be satisfied
    conditions Sequence[IncidentFormExpressionOperationFilterConditionGroupCondition]
    The prerequisite conditions that must all be satisfied
    conditions List<Property Map>
    The prerequisite conditions that must all be satisfied

    IncidentFormExpressionOperationFilterConditionGroupCondition, IncidentFormExpressionOperationFilterConditionGroupConditionArgs

    Operation string
    The logical operation to be applied
    ParamBindings List<IncidentFormExpressionOperationFilterConditionGroupConditionParamBinding>
    Bindings for the operation parameters
    Subject string
    The subject of the condition, on which the operation is applied
    Operation string
    The logical operation to be applied
    ParamBindings []IncidentFormExpressionOperationFilterConditionGroupConditionParamBinding
    Bindings for the operation parameters
    Subject string
    The subject of the condition, on which the operation is applied
    operation string
    The logical operation to be applied
    param_bindings list(object)
    Bindings for the operation parameters
    subject string
    The subject of the condition, on which the operation is applied
    operation String
    The logical operation to be applied
    paramBindings List<IncidentFormExpressionOperationFilterConditionGroupConditionParamBinding>
    Bindings for the operation parameters
    subject String
    The subject of the condition, on which the operation is applied
    operation string
    The logical operation to be applied
    paramBindings IncidentFormExpressionOperationFilterConditionGroupConditionParamBinding[]
    Bindings for the operation parameters
    subject string
    The subject of the condition, on which the operation is applied
    operation str
    The logical operation to be applied
    param_bindings Sequence[IncidentFormExpressionOperationFilterConditionGroupConditionParamBinding]
    Bindings for the operation parameters
    subject str
    The subject of the condition, on which the operation is applied
    operation String
    The logical operation to be applied
    paramBindings List<Property Map>
    Bindings for the operation parameters
    subject String
    The subject of the condition, on which the operation is applied

    IncidentFormExpressionOperationFilterConditionGroupConditionParamBinding, IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArgs

    ArrayValues List<IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValue>
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values List<string>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    ArrayValues []IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValue
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values []string
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values list(object)
    The array of literal or reference parameter values
    expression_ref string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value object
    The literal or reference parameter value
    value_literal string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values list(string)
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValue>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValue[]
    The array of literal or reference parameter values
    expressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    valueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values string[]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values Sequence[IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValue]
    The array of literal or reference parameter values
    expression_ref str
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    value_literal str
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference str
    A reference into the scope, shorthand for value = { reference = ... }.
    values Sequence[str]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<Property Map>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value Property Map
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.

    IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValue, IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingArrayValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValue, IncidentFormExpressionOperationFilterConditionGroupConditionParamBindingValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormExpressionOperationNavigate, IncidentFormExpressionOperationNavigateArgs

    Reference string
    Reference string
    reference string
    reference String
    reference string
    reference String

    IncidentFormExpressionOperationParse, IncidentFormExpressionOperationParseArgs

    Returns IncidentFormExpressionOperationParseReturns
    The return type of an operation
    Source string
    The ES5 Javascript expression to execute
    Returns IncidentFormExpressionOperationParseReturns
    The return type of an operation
    Source string
    The ES5 Javascript expression to execute
    returns object
    The return type of an operation
    source string
    The ES5 Javascript expression to execute
    returns IncidentFormExpressionOperationParseReturns
    The return type of an operation
    source String
    The ES5 Javascript expression to execute
    returns IncidentFormExpressionOperationParseReturns
    The return type of an operation
    source string
    The ES5 Javascript expression to execute
    returns IncidentFormExpressionOperationParseReturns
    The return type of an operation
    source str
    The ES5 Javascript expression to execute
    returns Property Map
    The return type of an operation
    source String
    The ES5 Javascript expression to execute

    IncidentFormExpressionOperationParseReturns, IncidentFormExpressionOperationParseReturnsArgs

    Array bool
    Whether the return value should be single or multi-value
    Type string
    Expected return type of this expression (what to try casting the result to)
    Array bool
    Whether the return value should be single or multi-value
    Type string
    Expected return type of this expression (what to try casting the result to)
    array bool
    Whether the return value should be single or multi-value
    type string
    Expected return type of this expression (what to try casting the result to)
    array Boolean
    Whether the return value should be single or multi-value
    type String
    Expected return type of this expression (what to try casting the result to)
    array boolean
    Whether the return value should be single or multi-value
    type string
    Expected return type of this expression (what to try casting the result to)
    array bool
    Whether the return value should be single or multi-value
    type str
    Expected return type of this expression (what to try casting the result to)
    array Boolean
    Whether the return value should be single or multi-value
    type String
    Expected return type of this expression (what to try casting the result to)

    IncidentFormLifecycleElement, IncidentFormLifecycleElementArgs

    ElementType string
    What this element captures. Possible values are: name, status, severity, incidentRole, incidentType, summary, customField, timestamp, updateMessage, nextUpdateIn, triage, visibility, divider, text, incidentAttachments, slackChannel, announceRetroIncident, enterPostIncidentFlow, investigationFeedback.
    CanSelectNoValue bool
    Whether the user can explicitly choose no value. Only meaningful for custom field elements.
    Config IncidentFormLifecycleElementConfig
    CustomFieldId string
    The custom field this element edits. Set only when elementtype is customfield.
    DefaultValue IncidentFormLifecycleElementDefaultValue
    Description string
    Description shown beside this element, as markdown
    Id string
    Unique identifier for this element. divider and text elements are matched on this, because they have no natural key.
    IncidentRoleId string
    The incident role this element assigns. Set only when elementtype is incidentrole.
    IncidentTimestampId string
    The incident timestamp this element sets. Set only when elementType is timestamp.
    Placeholder string
    Placeholder text shown in the empty field
    RequiredIf string
    When this element must be filled in. Possible values are: checkEngineConfig, alwaysRequire, neverRequire.
    RequiredIfConditionGroups List<IncidentFormLifecycleElementRequiredIfConditionGroup>
    Condition groups that make this element required. Used when requiredif is checkengine*config.
    ShowIfConditionGroups List<IncidentFormLifecycleElementShowIfConditionGroup>
    The element is shown when any of these condition groups match. Unset means it is always shown.
    ElementType string
    What this element captures. Possible values are: name, status, severity, incidentRole, incidentType, summary, customField, timestamp, updateMessage, nextUpdateIn, triage, visibility, divider, text, incidentAttachments, slackChannel, announceRetroIncident, enterPostIncidentFlow, investigationFeedback.
    CanSelectNoValue bool
    Whether the user can explicitly choose no value. Only meaningful for custom field elements.
    Config IncidentFormLifecycleElementConfig
    CustomFieldId string
    The custom field this element edits. Set only when elementtype is customfield.
    DefaultValue IncidentFormLifecycleElementDefaultValue
    Description string
    Description shown beside this element, as markdown
    Id string
    Unique identifier for this element. divider and text elements are matched on this, because they have no natural key.
    IncidentRoleId string
    The incident role this element assigns. Set only when elementtype is incidentrole.
    IncidentTimestampId string
    The incident timestamp this element sets. Set only when elementType is timestamp.
    Placeholder string
    Placeholder text shown in the empty field
    RequiredIf string
    When this element must be filled in. Possible values are: checkEngineConfig, alwaysRequire, neverRequire.
    RequiredIfConditionGroups []IncidentFormLifecycleElementRequiredIfConditionGroup
    Condition groups that make this element required. Used when requiredif is checkengine*config.
    ShowIfConditionGroups []IncidentFormLifecycleElementShowIfConditionGroup
    The element is shown when any of these condition groups match. Unset means it is always shown.
    element_type string
    What this element captures. Possible values are: name, status, severity, incidentRole, incidentType, summary, customField, timestamp, updateMessage, nextUpdateIn, triage, visibility, divider, text, incidentAttachments, slackChannel, announceRetroIncident, enterPostIncidentFlow, investigationFeedback.
    can_select_no_value bool
    Whether the user can explicitly choose no value. Only meaningful for custom field elements.
    config object
    custom_field_id string
    The custom field this element edits. Set only when elementtype is customfield.
    default_value object
    description string
    Description shown beside this element, as markdown
    id string
    Unique identifier for this element. divider and text elements are matched on this, because they have no natural key.
    incident_role_id string
    The incident role this element assigns. Set only when elementtype is incidentrole.
    incident_timestamp_id string
    The incident timestamp this element sets. Set only when elementType is timestamp.
    placeholder string
    Placeholder text shown in the empty field
    required_if string
    When this element must be filled in. Possible values are: checkEngineConfig, alwaysRequire, neverRequire.
    required_if_condition_groups list(object)
    Condition groups that make this element required. Used when requiredif is checkengine*config.
    show_if_condition_groups list(object)
    The element is shown when any of these condition groups match. Unset means it is always shown.
    elementType String
    What this element captures. Possible values are: name, status, severity, incidentRole, incidentType, summary, customField, timestamp, updateMessage, nextUpdateIn, triage, visibility, divider, text, incidentAttachments, slackChannel, announceRetroIncident, enterPostIncidentFlow, investigationFeedback.
    canSelectNoValue Boolean
    Whether the user can explicitly choose no value. Only meaningful for custom field elements.
    config IncidentFormLifecycleElementConfig
    customFieldId String
    The custom field this element edits. Set only when elementtype is customfield.
    defaultValue IncidentFormLifecycleElementDefaultValue
    description String
    Description shown beside this element, as markdown
    id String
    Unique identifier for this element. divider and text elements are matched on this, because they have no natural key.
    incidentRoleId String
    The incident role this element assigns. Set only when elementtype is incidentrole.
    incidentTimestampId String
    The incident timestamp this element sets. Set only when elementType is timestamp.
    placeholder String
    Placeholder text shown in the empty field
    requiredIf String
    When this element must be filled in. Possible values are: checkEngineConfig, alwaysRequire, neverRequire.
    requiredIfConditionGroups List<IncidentFormLifecycleElementRequiredIfConditionGroup>
    Condition groups that make this element required. Used when requiredif is checkengine*config.
    showIfConditionGroups List<IncidentFormLifecycleElementShowIfConditionGroup>
    The element is shown when any of these condition groups match. Unset means it is always shown.
    elementType string
    What this element captures. Possible values are: name, status, severity, incidentRole, incidentType, summary, customField, timestamp, updateMessage, nextUpdateIn, triage, visibility, divider, text, incidentAttachments, slackChannel, announceRetroIncident, enterPostIncidentFlow, investigationFeedback.
    canSelectNoValue boolean
    Whether the user can explicitly choose no value. Only meaningful for custom field elements.
    config IncidentFormLifecycleElementConfig
    customFieldId string
    The custom field this element edits. Set only when elementtype is customfield.
    defaultValue IncidentFormLifecycleElementDefaultValue
    description string
    Description shown beside this element, as markdown
    id string
    Unique identifier for this element. divider and text elements are matched on this, because they have no natural key.
    incidentRoleId string
    The incident role this element assigns. Set only when elementtype is incidentrole.
    incidentTimestampId string
    The incident timestamp this element sets. Set only when elementType is timestamp.
    placeholder string
    Placeholder text shown in the empty field
    requiredIf string
    When this element must be filled in. Possible values are: checkEngineConfig, alwaysRequire, neverRequire.
    requiredIfConditionGroups IncidentFormLifecycleElementRequiredIfConditionGroup[]
    Condition groups that make this element required. Used when requiredif is checkengine*config.
    showIfConditionGroups IncidentFormLifecycleElementShowIfConditionGroup[]
    The element is shown when any of these condition groups match. Unset means it is always shown.
    element_type str
    What this element captures. Possible values are: name, status, severity, incidentRole, incidentType, summary, customField, timestamp, updateMessage, nextUpdateIn, triage, visibility, divider, text, incidentAttachments, slackChannel, announceRetroIncident, enterPostIncidentFlow, investigationFeedback.
    can_select_no_value bool
    Whether the user can explicitly choose no value. Only meaningful for custom field elements.
    config IncidentFormLifecycleElementConfig
    custom_field_id str
    The custom field this element edits. Set only when elementtype is customfield.
    default_value IncidentFormLifecycleElementDefaultValue
    description str
    Description shown beside this element, as markdown
    id str
    Unique identifier for this element. divider and text elements are matched on this, because they have no natural key.
    incident_role_id str
    The incident role this element assigns. Set only when elementtype is incidentrole.
    incident_timestamp_id str
    The incident timestamp this element sets. Set only when elementType is timestamp.
    placeholder str
    Placeholder text shown in the empty field
    required_if str
    When this element must be filled in. Possible values are: checkEngineConfig, alwaysRequire, neverRequire.
    required_if_condition_groups Sequence[IncidentFormLifecycleElementRequiredIfConditionGroup]
    Condition groups that make this element required. Used when requiredif is checkengine*config.
    show_if_condition_groups Sequence[IncidentFormLifecycleElementShowIfConditionGroup]
    The element is shown when any of these condition groups match. Unset means it is always shown.
    elementType String
    What this element captures. Possible values are: name, status, severity, incidentRole, incidentType, summary, customField, timestamp, updateMessage, nextUpdateIn, triage, visibility, divider, text, incidentAttachments, slackChannel, announceRetroIncident, enterPostIncidentFlow, investigationFeedback.
    canSelectNoValue Boolean
    Whether the user can explicitly choose no value. Only meaningful for custom field elements.
    config Property Map
    customFieldId String
    The custom field this element edits. Set only when elementtype is customfield.
    defaultValue Property Map
    description String
    Description shown beside this element, as markdown
    id String
    Unique identifier for this element. divider and text elements are matched on this, because they have no natural key.
    incidentRoleId String
    The incident role this element assigns. Set only when elementtype is incidentrole.
    incidentTimestampId String
    The incident timestamp this element sets. Set only when elementType is timestamp.
    placeholder String
    Placeholder text shown in the empty field
    requiredIf String
    When this element must be filled in. Possible values are: checkEngineConfig, alwaysRequire, neverRequire.
    requiredIfConditionGroups List<Property Map>
    Condition groups that make this element required. Used when requiredif is checkengine*config.
    showIfConditionGroups List<Property Map>
    The element is shown when any of these condition groups match. Unset means it is always shown.

    IncidentFormLifecycleElementConfig, IncidentFormLifecycleElementConfigArgs

    RequireComment bool
    Whether the free-text comment must be filled in, for anyone giving investigation feedback
    RequireComment bool
    Whether the free-text comment must be filled in, for anyone giving investigation feedback
    require_comment bool
    Whether the free-text comment must be filled in, for anyone giving investigation feedback
    requireComment Boolean
    Whether the free-text comment must be filled in, for anyone giving investigation feedback
    requireComment boolean
    Whether the free-text comment must be filled in, for anyone giving investigation feedback
    require_comment bool
    Whether the free-text comment must be filled in, for anyone giving investigation feedback
    requireComment Boolean
    Whether the free-text comment must be filled in, for anyone giving investigation feedback

    IncidentFormLifecycleElementDefaultValue, IncidentFormLifecycleElementDefaultValueArgs

    ArrayValues List<IncidentFormLifecycleElementDefaultValueArrayValue>
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormLifecycleElementDefaultValueValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values List<string>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    ArrayValues []IncidentFormLifecycleElementDefaultValueArrayValue
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormLifecycleElementDefaultValueValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values []string
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values list(object)
    The array of literal or reference parameter values
    expression_ref string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value object
    The literal or reference parameter value
    value_literal string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values list(string)
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<IncidentFormLifecycleElementDefaultValueArrayValue>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormLifecycleElementDefaultValueValue
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues IncidentFormLifecycleElementDefaultValueArrayValue[]
    The array of literal or reference parameter values
    expressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormLifecycleElementDefaultValueValue
    The literal or reference parameter value
    valueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values string[]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values Sequence[IncidentFormLifecycleElementDefaultValueArrayValue]
    The array of literal or reference parameter values
    expression_ref str
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormLifecycleElementDefaultValueValue
    The literal or reference parameter value
    value_literal str
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference str
    A reference into the scope, shorthand for value = { reference = ... }.
    values Sequence[str]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<Property Map>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value Property Map
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.

    IncidentFormLifecycleElementDefaultValueArrayValue, IncidentFormLifecycleElementDefaultValueArrayValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormLifecycleElementDefaultValueValue, IncidentFormLifecycleElementDefaultValueValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormLifecycleElementRequiredIfConditionGroup, IncidentFormLifecycleElementRequiredIfConditionGroupArgs

    Conditions List<IncidentFormLifecycleElementRequiredIfConditionGroupCondition>
    The prerequisite conditions that must all be satisfied
    Conditions []IncidentFormLifecycleElementRequiredIfConditionGroupCondition
    The prerequisite conditions that must all be satisfied
    conditions list(object)
    The prerequisite conditions that must all be satisfied
    conditions List<IncidentFormLifecycleElementRequiredIfConditionGroupCondition>
    The prerequisite conditions that must all be satisfied
    conditions IncidentFormLifecycleElementRequiredIfConditionGroupCondition[]
    The prerequisite conditions that must all be satisfied
    conditions Sequence[IncidentFormLifecycleElementRequiredIfConditionGroupCondition]
    The prerequisite conditions that must all be satisfied
    conditions List<Property Map>
    The prerequisite conditions that must all be satisfied

    IncidentFormLifecycleElementRequiredIfConditionGroupCondition, IncidentFormLifecycleElementRequiredIfConditionGroupConditionArgs

    Operation string
    The logical operation to be applied
    ParamBindings List<IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBinding>
    Bindings for the operation parameters
    Subject string
    The subject of the condition, on which the operation is applied
    Operation string
    The logical operation to be applied
    ParamBindings []IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBinding
    Bindings for the operation parameters
    Subject string
    The subject of the condition, on which the operation is applied
    operation string
    The logical operation to be applied
    param_bindings list(object)
    Bindings for the operation parameters
    subject string
    The subject of the condition, on which the operation is applied
    operation String
    The logical operation to be applied
    paramBindings List<IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBinding>
    Bindings for the operation parameters
    subject String
    The subject of the condition, on which the operation is applied
    operation string
    The logical operation to be applied
    paramBindings IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBinding[]
    Bindings for the operation parameters
    subject string
    The subject of the condition, on which the operation is applied
    operation str
    The logical operation to be applied
    param_bindings Sequence[IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBinding]
    Bindings for the operation parameters
    subject str
    The subject of the condition, on which the operation is applied
    operation String
    The logical operation to be applied
    paramBindings List<Property Map>
    Bindings for the operation parameters
    subject String
    The subject of the condition, on which the operation is applied

    IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBinding, IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArgs

    ArrayValues List<IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValue>
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values List<string>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    ArrayValues []IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValue
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values []string
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values list(object)
    The array of literal or reference parameter values
    expression_ref string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value object
    The literal or reference parameter value
    value_literal string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values list(string)
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValue>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValue[]
    The array of literal or reference parameter values
    expressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    valueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values string[]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values Sequence[IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValue]
    The array of literal or reference parameter values
    expression_ref str
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    value_literal str
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference str
    A reference into the scope, shorthand for value = { reference = ... }.
    values Sequence[str]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<Property Map>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value Property Map
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.

    IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValue, IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingArrayValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValue, IncidentFormLifecycleElementRequiredIfConditionGroupConditionParamBindingValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormLifecycleElementShowIfConditionGroup, IncidentFormLifecycleElementShowIfConditionGroupArgs

    Conditions List<IncidentFormLifecycleElementShowIfConditionGroupCondition>
    The prerequisite conditions that must all be satisfied
    Conditions []IncidentFormLifecycleElementShowIfConditionGroupCondition
    The prerequisite conditions that must all be satisfied
    conditions list(object)
    The prerequisite conditions that must all be satisfied
    conditions List<IncidentFormLifecycleElementShowIfConditionGroupCondition>
    The prerequisite conditions that must all be satisfied
    conditions IncidentFormLifecycleElementShowIfConditionGroupCondition[]
    The prerequisite conditions that must all be satisfied
    conditions Sequence[IncidentFormLifecycleElementShowIfConditionGroupCondition]
    The prerequisite conditions that must all be satisfied
    conditions List<Property Map>
    The prerequisite conditions that must all be satisfied

    IncidentFormLifecycleElementShowIfConditionGroupCondition, IncidentFormLifecycleElementShowIfConditionGroupConditionArgs

    Operation string
    The logical operation to be applied
    ParamBindings List<IncidentFormLifecycleElementShowIfConditionGroupConditionParamBinding>
    Bindings for the operation parameters
    Subject string
    The subject of the condition, on which the operation is applied
    Operation string
    The logical operation to be applied
    ParamBindings []IncidentFormLifecycleElementShowIfConditionGroupConditionParamBinding
    Bindings for the operation parameters
    Subject string
    The subject of the condition, on which the operation is applied
    operation string
    The logical operation to be applied
    param_bindings list(object)
    Bindings for the operation parameters
    subject string
    The subject of the condition, on which the operation is applied
    operation String
    The logical operation to be applied
    paramBindings List<IncidentFormLifecycleElementShowIfConditionGroupConditionParamBinding>
    Bindings for the operation parameters
    subject String
    The subject of the condition, on which the operation is applied
    operation string
    The logical operation to be applied
    paramBindings IncidentFormLifecycleElementShowIfConditionGroupConditionParamBinding[]
    Bindings for the operation parameters
    subject string
    The subject of the condition, on which the operation is applied
    operation str
    The logical operation to be applied
    param_bindings Sequence[IncidentFormLifecycleElementShowIfConditionGroupConditionParamBinding]
    Bindings for the operation parameters
    subject str
    The subject of the condition, on which the operation is applied
    operation String
    The logical operation to be applied
    paramBindings List<Property Map>
    Bindings for the operation parameters
    subject String
    The subject of the condition, on which the operation is applied

    IncidentFormLifecycleElementShowIfConditionGroupConditionParamBinding, IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArgs

    ArrayValues List<IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValue>
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values List<string>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    ArrayValues []IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValue
    The array of literal or reference parameter values
    ExpressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    Value IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    ValueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    ValueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    Values []string
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values list(object)
    The array of literal or reference parameter values
    expression_ref string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value object
    The literal or reference parameter value
    value_literal string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values list(string)
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValue>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValue[]
    The array of literal or reference parameter values
    expressionRef string
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    valueLiteral string
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference string
    A reference into the scope, shorthand for value = { reference = ... }.
    values string[]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    array_values Sequence[IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValue]
    The array of literal or reference parameter values
    expression_ref str
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValue
    The literal or reference parameter value
    value_literal str
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    value_reference str
    A reference into the scope, shorthand for value = { reference = ... }.
    values Sequence[str]
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.
    arrayValues List<Property Map>
    The array of literal or reference parameter values
    expressionRef String
    The name of an expression on this resource, whose result becomes the value. Shorthand for referencing expressions["name"].
    value Property Map
    The literal or reference parameter value
    valueLiteral String
    A fixed value, shorthand for value = { literal = ... }. A catalog entry ID is a literal, not a reference.
    valueReference String
    A reference into the scope, shorthand for value = { reference = ... }.
    values List<String>
    Several fixed values, shorthand for an arrayValue of literals. For a mix of literals and references, use arrayValue.

    IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValue, IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingArrayValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValue, IncidentFormLifecycleElementShowIfConditionGroupConditionParamBindingValueArgs

    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    Literal string
    If set, this is the literal value of the step parameter
    Reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal string
    If set, this is the literal value of the step parameter
    reference string
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal str
    If set, this is the literal value of the step parameter
    reference str
    If set, this is the reference into the trigger scope that is the value of this parameter
    literal String
    If set, this is the literal value of the step parameter
    reference String
    If set, this is the reference into the trigger scope that is the value of this parameter

    Package Details

    Repository
    incident incident-io/pulumi-incident
    License
    MIT
    Notes
    This Pulumi package is based on the incident Terraform Provider.
    incident logo incident.io
    Viewing docs for incident.io v0.4.1
    published on Wednesday, Oct 21, 2026 by incident-io

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial