1. Packages
  2. Opsgenie
  3. API Docs
  4. IncidentTemplate
Opsgenie v1.3.8 published on Monday, Jun 24, 2024 by Pulumi

opsgenie.IncidentTemplate

Explore with Pulumi AI

opsgenie logo
Opsgenie v1.3.8 published on Monday, Jun 24, 2024 by Pulumi

    Manages an Incident Template within Opsgenie.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as opsgenie from "@pulumi/opsgenie";
    
    const test = new opsgenie.Team("test", {
        name: "genietest-team",
        description: "This team deals with all the things",
    });
    const testService = new opsgenie.Service("test", {
        name: "genietest-service",
        teamId: test.id,
    });
    const testIncidentTemplate = new opsgenie.IncidentTemplate("test", {
        name: "genietest-incident-template",
        message: "Incident Message",
        priority: "P2",
        stakeholderProperties: [{
            enable: true,
            message: "Stakeholder Message",
            description: "Stakeholder Description",
        }],
        tags: [
            "tag1",
            "tag2",
        ],
        description: "Incident Description",
        details: {
            key1: "value1",
            key2: "value2",
        },
        impactedServices: [testService.id],
    });
    
    import pulumi
    import pulumi_opsgenie as opsgenie
    
    test = opsgenie.Team("test",
        name="genietest-team",
        description="This team deals with all the things")
    test_service = opsgenie.Service("test",
        name="genietest-service",
        team_id=test.id)
    test_incident_template = opsgenie.IncidentTemplate("test",
        name="genietest-incident-template",
        message="Incident Message",
        priority="P2",
        stakeholder_properties=[opsgenie.IncidentTemplateStakeholderPropertyArgs(
            enable=True,
            message="Stakeholder Message",
            description="Stakeholder Description",
        )],
        tags=[
            "tag1",
            "tag2",
        ],
        description="Incident Description",
        details={
            "key1": "value1",
            "key2": "value2",
        },
        impacted_services=[test_service.id])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-opsgenie/sdk/go/opsgenie"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		test, err := opsgenie.NewTeam(ctx, "test", &opsgenie.TeamArgs{
    			Name:        pulumi.String("genietest-team"),
    			Description: pulumi.String("This team deals with all the things"),
    		})
    		if err != nil {
    			return err
    		}
    		testService, err := opsgenie.NewService(ctx, "test", &opsgenie.ServiceArgs{
    			Name:   pulumi.String("genietest-service"),
    			TeamId: test.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = opsgenie.NewIncidentTemplate(ctx, "test", &opsgenie.IncidentTemplateArgs{
    			Name:     pulumi.String("genietest-incident-template"),
    			Message:  pulumi.String("Incident Message"),
    			Priority: pulumi.String("P2"),
    			StakeholderProperties: opsgenie.IncidentTemplateStakeholderPropertyArray{
    				&opsgenie.IncidentTemplateStakeholderPropertyArgs{
    					Enable:      pulumi.Bool(true),
    					Message:     pulumi.String("Stakeholder Message"),
    					Description: pulumi.String("Stakeholder Description"),
    				},
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("tag1"),
    				pulumi.String("tag2"),
    			},
    			Description: pulumi.String("Incident Description"),
    			Details: pulumi.StringMap{
    				"key1": pulumi.String("value1"),
    				"key2": pulumi.String("value2"),
    			},
    			ImpactedServices: pulumi.StringArray{
    				testService.ID(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Opsgenie = Pulumi.Opsgenie;
    
    return await Deployment.RunAsync(() => 
    {
        var test = new Opsgenie.Team("test", new()
        {
            Name = "genietest-team",
            Description = "This team deals with all the things",
        });
    
        var testService = new Opsgenie.Service("test", new()
        {
            Name = "genietest-service",
            TeamId = test.Id,
        });
    
        var testIncidentTemplate = new Opsgenie.IncidentTemplate("test", new()
        {
            Name = "genietest-incident-template",
            Message = "Incident Message",
            Priority = "P2",
            StakeholderProperties = new[]
            {
                new Opsgenie.Inputs.IncidentTemplateStakeholderPropertyArgs
                {
                    Enable = true,
                    Message = "Stakeholder Message",
                    Description = "Stakeholder Description",
                },
            },
            Tags = new[]
            {
                "tag1",
                "tag2",
            },
            Description = "Incident Description",
            Details = 
            {
                { "key1", "value1" },
                { "key2", "value2" },
            },
            ImpactedServices = new[]
            {
                testService.Id,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.opsgenie.Team;
    import com.pulumi.opsgenie.TeamArgs;
    import com.pulumi.opsgenie.Service;
    import com.pulumi.opsgenie.ServiceArgs;
    import com.pulumi.opsgenie.IncidentTemplate;
    import com.pulumi.opsgenie.IncidentTemplateArgs;
    import com.pulumi.opsgenie.inputs.IncidentTemplateStakeholderPropertyArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var test = new Team("test", TeamArgs.builder()
                .name("genietest-team")
                .description("This team deals with all the things")
                .build());
    
            var testService = new Service("testService", ServiceArgs.builder()
                .name("genietest-service")
                .teamId(test.id())
                .build());
    
            var testIncidentTemplate = new IncidentTemplate("testIncidentTemplate", IncidentTemplateArgs.builder()
                .name("genietest-incident-template")
                .message("Incident Message")
                .priority("P2")
                .stakeholderProperties(IncidentTemplateStakeholderPropertyArgs.builder()
                    .enable(true)
                    .message("Stakeholder Message")
                    .description("Stakeholder Description")
                    .build())
                .tags(            
                    "tag1",
                    "tag2")
                .description("Incident Description")
                .details(Map.ofEntries(
                    Map.entry("key1", "value1"),
                    Map.entry("key2", "value2")
                ))
                .impactedServices(testService.id())
                .build());
    
        }
    }
    
    resources:
      test:
        type: opsgenie:Team
        properties:
          name: genietest-team
          description: This team deals with all the things
      testService:
        type: opsgenie:Service
        name: test
        properties:
          name: genietest-service
          teamId: ${test.id}
      testIncidentTemplate:
        type: opsgenie:IncidentTemplate
        name: test
        properties:
          name: genietest-incident-template
          message: Incident Message
          priority: P2
          stakeholderProperties:
            - enable: true
              message: Stakeholder Message
              description: Stakeholder Description
          tags:
            - tag1
            - tag2
          description: Incident Description
          details:
            key1: value1
            key2: value2
          impactedServices:
            - ${testService.id}
    

    Create IncidentTemplate Resource

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

    Constructor syntax

    new IncidentTemplate(name: string, args: IncidentTemplateArgs, opts?: CustomResourceOptions);
    @overload
    def IncidentTemplate(resource_name: str,
                         args: IncidentTemplateArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def IncidentTemplate(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         message: Optional[str] = None,
                         priority: Optional[str] = None,
                         stakeholder_properties: Optional[Sequence[IncidentTemplateStakeholderPropertyArgs]] = None,
                         description: Optional[str] = None,
                         details: Optional[Mapping[str, str]] = None,
                         impacted_services: Optional[Sequence[str]] = None,
                         name: Optional[str] = None,
                         tags: Optional[Sequence[str]] = None)
    func NewIncidentTemplate(ctx *Context, name string, args IncidentTemplateArgs, opts ...ResourceOption) (*IncidentTemplate, error)
    public IncidentTemplate(string name, IncidentTemplateArgs args, CustomResourceOptions? opts = null)
    public IncidentTemplate(String name, IncidentTemplateArgs args)
    public IncidentTemplate(String name, IncidentTemplateArgs args, CustomResourceOptions options)
    
    type: opsgenie:IncidentTemplate
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args IncidentTemplateArgs
    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 IncidentTemplateArgs
    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 IncidentTemplateArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IncidentTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IncidentTemplateArgs
    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 incidentTemplateResource = new Opsgenie.IncidentTemplate("incidentTemplateResource", new()
    {
        Message = "string",
        Priority = "string",
        StakeholderProperties = new[]
        {
            new Opsgenie.Inputs.IncidentTemplateStakeholderPropertyArgs
            {
                Message = "string",
                Description = "string",
                Enable = false,
            },
        },
        Description = "string",
        Details = 
        {
            { "string", "string" },
        },
        ImpactedServices = new[]
        {
            "string",
        },
        Name = "string",
        Tags = new[]
        {
            "string",
        },
    });
    
    example, err := opsgenie.NewIncidentTemplate(ctx, "incidentTemplateResource", &opsgenie.IncidentTemplateArgs{
    	Message:  pulumi.String("string"),
    	Priority: pulumi.String("string"),
    	StakeholderProperties: opsgenie.IncidentTemplateStakeholderPropertyArray{
    		&opsgenie.IncidentTemplateStakeholderPropertyArgs{
    			Message:     pulumi.String("string"),
    			Description: pulumi.String("string"),
    			Enable:      pulumi.Bool(false),
    		},
    	},
    	Description: pulumi.String("string"),
    	Details: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	ImpactedServices: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var incidentTemplateResource = new IncidentTemplate("incidentTemplateResource", IncidentTemplateArgs.builder()
        .message("string")
        .priority("string")
        .stakeholderProperties(IncidentTemplateStakeholderPropertyArgs.builder()
            .message("string")
            .description("string")
            .enable(false)
            .build())
        .description("string")
        .details(Map.of("string", "string"))
        .impactedServices("string")
        .name("string")
        .tags("string")
        .build());
    
    incident_template_resource = opsgenie.IncidentTemplate("incidentTemplateResource",
        message="string",
        priority="string",
        stakeholder_properties=[opsgenie.IncidentTemplateStakeholderPropertyArgs(
            message="string",
            description="string",
            enable=False,
        )],
        description="string",
        details={
            "string": "string",
        },
        impacted_services=["string"],
        name="string",
        tags=["string"])
    
    const incidentTemplateResource = new opsgenie.IncidentTemplate("incidentTemplateResource", {
        message: "string",
        priority: "string",
        stakeholderProperties: [{
            message: "string",
            description: "string",
            enable: false,
        }],
        description: "string",
        details: {
            string: "string",
        },
        impactedServices: ["string"],
        name: "string",
        tags: ["string"],
    });
    
    type: opsgenie:IncidentTemplate
    properties:
        description: string
        details:
            string: string
        impactedServices:
            - string
        message: string
        name: string
        priority: string
        stakeholderProperties:
            - description: string
              enable: false
              message: string
        tags:
            - string
    

    IncidentTemplate Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The IncidentTemplate resource accepts the following input properties:

    Message string
    Message of the related incident template. This field must not be longer than 130 characters.
    Priority string

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    StakeholderProperties List<IncidentTemplateStakeholderProperty>
    Description string
    Description field of the incident template. This field must not be longer than 10000 characters.
    Details Dictionary<string, string>
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    ImpactedServices List<string>
    Name string
    Name of the incident template.
    Tags List<string>
    Tags of the incident template.
    Message string
    Message of the related incident template. This field must not be longer than 130 characters.
    Priority string

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    StakeholderProperties []IncidentTemplateStakeholderPropertyArgs
    Description string
    Description field of the incident template. This field must not be longer than 10000 characters.
    Details map[string]string
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    ImpactedServices []string
    Name string
    Name of the incident template.
    Tags []string
    Tags of the incident template.
    message String
    Message of the related incident template. This field must not be longer than 130 characters.
    priority String

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    stakeholderProperties List<IncidentTemplateStakeholderProperty>
    description String
    Description field of the incident template. This field must not be longer than 10000 characters.
    details Map<String,String>
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    impactedServices List<String>
    name String
    Name of the incident template.
    tags List<String>
    Tags of the incident template.
    message string
    Message of the related incident template. This field must not be longer than 130 characters.
    priority string

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    stakeholderProperties IncidentTemplateStakeholderProperty[]
    description string
    Description field of the incident template. This field must not be longer than 10000 characters.
    details {[key: string]: string}
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    impactedServices string[]
    name string
    Name of the incident template.
    tags string[]
    Tags of the incident template.
    message str
    Message of the related incident template. This field must not be longer than 130 characters.
    priority str

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    stakeholder_properties Sequence[IncidentTemplateStakeholderPropertyArgs]
    description str
    Description field of the incident template. This field must not be longer than 10000 characters.
    details Mapping[str, str]
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    impacted_services Sequence[str]
    name str
    Name of the incident template.
    tags Sequence[str]
    Tags of the incident template.
    message String
    Message of the related incident template. This field must not be longer than 130 characters.
    priority String

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    stakeholderProperties List<Property Map>
    description String
    Description field of the incident template. This field must not be longer than 10000 characters.
    details Map<String>
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    impactedServices List<String>
    name String
    Name of the incident template.
    tags List<String>
    Tags of the incident template.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the IncidentTemplate 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 str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing IncidentTemplate Resource

    Get an existing IncidentTemplate 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?: IncidentTemplateState, opts?: CustomResourceOptions): IncidentTemplate
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            description: Optional[str] = None,
            details: Optional[Mapping[str, str]] = None,
            impacted_services: Optional[Sequence[str]] = None,
            message: Optional[str] = None,
            name: Optional[str] = None,
            priority: Optional[str] = None,
            stakeholder_properties: Optional[Sequence[IncidentTemplateStakeholderPropertyArgs]] = None,
            tags: Optional[Sequence[str]] = None) -> IncidentTemplate
    func GetIncidentTemplate(ctx *Context, name string, id IDInput, state *IncidentTemplateState, opts ...ResourceOption) (*IncidentTemplate, error)
    public static IncidentTemplate Get(string name, Input<string> id, IncidentTemplateState? state, CustomResourceOptions? opts = null)
    public static IncidentTemplate get(String name, Output<String> id, IncidentTemplateState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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:
    Description string
    Description field of the incident template. This field must not be longer than 10000 characters.
    Details Dictionary<string, string>
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    ImpactedServices List<string>
    Message string
    Message of the related incident template. This field must not be longer than 130 characters.
    Name string
    Name of the incident template.
    Priority string

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    StakeholderProperties List<IncidentTemplateStakeholderProperty>
    Tags List<string>
    Tags of the incident template.
    Description string
    Description field of the incident template. This field must not be longer than 10000 characters.
    Details map[string]string
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    ImpactedServices []string
    Message string
    Message of the related incident template. This field must not be longer than 130 characters.
    Name string
    Name of the incident template.
    Priority string

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    StakeholderProperties []IncidentTemplateStakeholderPropertyArgs
    Tags []string
    Tags of the incident template.
    description String
    Description field of the incident template. This field must not be longer than 10000 characters.
    details Map<String,String>
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    impactedServices List<String>
    message String
    Message of the related incident template. This field must not be longer than 130 characters.
    name String
    Name of the incident template.
    priority String

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    stakeholderProperties List<IncidentTemplateStakeholderProperty>
    tags List<String>
    Tags of the incident template.
    description string
    Description field of the incident template. This field must not be longer than 10000 characters.
    details {[key: string]: string}
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    impactedServices string[]
    message string
    Message of the related incident template. This field must not be longer than 130 characters.
    name string
    Name of the incident template.
    priority string

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    stakeholderProperties IncidentTemplateStakeholderProperty[]
    tags string[]
    Tags of the incident template.
    description str
    Description field of the incident template. This field must not be longer than 10000 characters.
    details Mapping[str, str]
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    impacted_services Sequence[str]
    message str
    Message of the related incident template. This field must not be longer than 130 characters.
    name str
    Name of the incident template.
    priority str

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    stakeholder_properties Sequence[IncidentTemplateStakeholderPropertyArgs]
    tags Sequence[str]
    Tags of the incident template.
    description String
    Description field of the incident template. This field must not be longer than 10000 characters.
    details Map<String>
    Map of key-value pairs to use as custom properties of the incident template. This field must not be longer than 8000 characters.
    impactedServices List<String>
    message String
    Message of the related incident template. This field must not be longer than 130 characters.
    name String
    Name of the incident template.
    priority String

    Priority level of the incident. Possible values are P1, P2, P3, P4 and P5.

    • impactedServices (Optional) Impacted services of incident template. Maximum 20 services.

    • stakeholderProperties (Required)

    stakeholderProperties List<Property Map>
    tags List<String>
    Tags of the incident template.

    Supporting Types

    IncidentTemplateStakeholderProperty, IncidentTemplateStakeholderPropertyArgs

    Message string
    Message of the related incident template. This field must not be longer than 130 characters.
    Description string
    Description field of the incident template. This field must not be longer than 10000 characters.
    Enable bool
    Message string
    Message of the related incident template. This field must not be longer than 130 characters.
    Description string
    Description field of the incident template. This field must not be longer than 10000 characters.
    Enable bool
    message String
    Message of the related incident template. This field must not be longer than 130 characters.
    description String
    Description field of the incident template. This field must not be longer than 10000 characters.
    enable Boolean
    message string
    Message of the related incident template. This field must not be longer than 130 characters.
    description string
    Description field of the incident template. This field must not be longer than 10000 characters.
    enable boolean
    message str
    Message of the related incident template. This field must not be longer than 130 characters.
    description str
    Description field of the incident template. This field must not be longer than 10000 characters.
    enable bool
    message String
    Message of the related incident template. This field must not be longer than 130 characters.
    description String
    Description field of the incident template. This field must not be longer than 10000 characters.
    enable Boolean

    Import

    Service can be imported using the template_id, e.g.

    $ pulumi import opsgenie:index/incidentTemplate:IncidentTemplate test template_id`
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Opsgenie pulumi/pulumi-opsgenie
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the opsgenie Terraform Provider.
    opsgenie logo
    Opsgenie v1.3.8 published on Monday, Jun 24, 2024 by Pulumi