incident.CatalogType
Explore with Pulumi AI
Manage and browse catalog resources.
Use the incident.io catalog to track services, teams, product features and anything else that helps build a map of your organisation. These different categories of thing become catalog types, and each instance (like a particular service or team) is a catalog entry.
Each type is made up of a series of attributes, and each attribute has a type. Types can even have attributes that refer to other catalog types.
We automatically create catalog types when you connect an integration, such as GitHub repositories or PagerDuty services and teams. You can use this API to create custom types, that are specifically tailored to your organisation.
Examples might be a ‘Service’ type with an ‘Alert channel’ which you can point at a Slack channel, or ‘Team’ which specifies its ‘Manager’ and ‘Technical Lead’ as Slack users. You can then use these types to create powerful new workflows.
Consider using our official catalog importer. It can be used to sync catalog data from sources like local files or GitHub and push them into the incident.io catalog without having to directly interact with our public API.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as incident from "@pulumi/incident";
// Create a catalog type for a service tier, representing how important a service is.
const serviceTier = new incident.CatalogType("serviceTier", {
categories: ["service"],
description: ` How critical is this service, with tier 1 being the highest and 3 the lowest.
`,
sourceRepoUrl: "https://github.com/mycompany/infrastructure",
typeName: "Custom[\"ServiceTier\"]",
});
import pulumi
import pulumi_incident as incident
# Create a catalog type for a service tier, representing how important a service is.
service_tier = incident.CatalogType("serviceTier",
categories=["service"],
description=""" How critical is this service, with tier 1 being the highest and 3 the lowest.
""",
source_repo_url="https://github.com/mycompany/infrastructure",
type_name="Custom[\"ServiceTier\"]")
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/incident/v5/incident"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create a catalog type for a service tier, representing how important a service is.
_, err := incident.NewCatalogType(ctx, "serviceTier", &incident.CatalogTypeArgs{
Categories: pulumi.StringArray{
pulumi.String("service"),
},
Description: pulumi.String(" How critical is this service, with tier 1 being the highest and 3 the lowest.\n \n"),
SourceRepoUrl: pulumi.String("https://github.com/mycompany/infrastructure"),
TypeName: pulumi.String("Custom[\"ServiceTier\"]"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Incident = Pulumi.Incident;
return await Deployment.RunAsync(() =>
{
// Create a catalog type for a service tier, representing how important a service is.
var serviceTier = new Incident.CatalogType("serviceTier", new()
{
Categories = new[]
{
"service",
},
Description = @" How critical is this service, with tier 1 being the highest and 3 the lowest.
",
SourceRepoUrl = "https://github.com/mycompany/infrastructure",
TypeName = "Custom[\"ServiceTier\"]",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.incident.CatalogType;
import com.pulumi.incident.CatalogTypeArgs;
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) {
// Create a catalog type for a service tier, representing how important a service is.
var serviceTier = new CatalogType("serviceTier", CatalogTypeArgs.builder()
.categories("service")
.description("""
How critical is this service, with tier 1 being the highest and 3 the lowest.
""")
.sourceRepoUrl("https://github.com/mycompany/infrastructure")
.typeName("Custom[\"ServiceTier\"]")
.build());
}
}
resources:
# Create a catalog type for a service tier, representing how important a service is.
serviceTier:
type: incident:CatalogType
properties:
categories:
- service
description: " How critical is this service, with tier 1 being the highest and 3 the lowest.\n \n"
sourceRepoUrl: https://github.com/mycompany/infrastructure
typeName: Custom["ServiceTier"]
Create CatalogType Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new CatalogType(name: string, args: CatalogTypeArgs, opts?: CustomResourceOptions);
@overload
def CatalogType(resource_name: str,
args: CatalogTypeArgs,
opts: Optional[ResourceOptions] = None)
@overload
def CatalogType(resource_name: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
source_repo_url: Optional[str] = None,
categories: Optional[Sequence[str]] = None,
name: Optional[str] = None,
type_name: Optional[str] = None)
func NewCatalogType(ctx *Context, name string, args CatalogTypeArgs, opts ...ResourceOption) (*CatalogType, error)
public CatalogType(string name, CatalogTypeArgs args, CustomResourceOptions? opts = null)
public CatalogType(String name, CatalogTypeArgs args)
public CatalogType(String name, CatalogTypeArgs args, CustomResourceOptions options)
type: incident:CatalogType
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 CatalogTypeArgs
- 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 CatalogTypeArgs
- 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 CatalogTypeArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CatalogTypeArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CatalogTypeArgs
- 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 catalogTypeResource = new Incident.CatalogType("catalogTypeResource", new()
{
Description = "string",
SourceRepoUrl = "string",
Categories = new[]
{
"string",
},
Name = "string",
TypeName = "string",
});
example, err := incident.NewCatalogType(ctx, "catalogTypeResource", &incident.CatalogTypeArgs{
Description: pulumi.String("string"),
SourceRepoUrl: pulumi.String("string"),
Categories: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
TypeName: pulumi.String("string"),
})
var catalogTypeResource = new CatalogType("catalogTypeResource", CatalogTypeArgs.builder()
.description("string")
.sourceRepoUrl("string")
.categories("string")
.name("string")
.typeName("string")
.build());
catalog_type_resource = incident.CatalogType("catalogTypeResource",
description="string",
source_repo_url="string",
categories=["string"],
name="string",
type_name="string")
const catalogTypeResource = new incident.CatalogType("catalogTypeResource", {
description: "string",
sourceRepoUrl: "string",
categories: ["string"],
name: "string",
typeName: "string",
});
type: incident:CatalogType
properties:
categories:
- string
description: string
name: string
sourceRepoUrl: string
typeName: string
CatalogType 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 CatalogType resource accepts the following input properties:
- Description string
- Human readble description of this type
- Source
Repo stringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- Categories List<string>
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - Name string
- Name is the human readable name of this type
- Type
Name string - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- Description string
- Human readble description of this type
- Source
Repo stringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- Categories []string
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - Name string
- Name is the human readable name of this type
- Type
Name string - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- description String
- Human readble description of this type
- source
Repo StringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- categories List<String>
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - name String
- Name is the human readable name of this type
- type
Name String - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- description string
- Human readble description of this type
- source
Repo stringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- categories string[]
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - name string
- Name is the human readable name of this type
- type
Name string - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- description str
- Human readble description of this type
- source_
repo_ strurl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- categories Sequence[str]
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - name str
- Name is the human readable name of this type
- type_
name str - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- description String
- Human readble description of this type
- source
Repo StringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- categories List<String>
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - name String
- Name is the human readable name of this type
- type
Name String - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
Outputs
All input properties are implicitly available as output properties. Additionally, the CatalogType 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 CatalogType Resource
Get an existing CatalogType 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?: CatalogTypeState, opts?: CustomResourceOptions): CatalogType
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
categories: Optional[Sequence[str]] = None,
description: Optional[str] = None,
name: Optional[str] = None,
source_repo_url: Optional[str] = None,
type_name: Optional[str] = None) -> CatalogType
func GetCatalogType(ctx *Context, name string, id IDInput, state *CatalogTypeState, opts ...ResourceOption) (*CatalogType, error)
public static CatalogType Get(string name, Input<string> id, CatalogTypeState? state, CustomResourceOptions? opts = null)
public static CatalogType get(String name, Output<String> id, CatalogTypeState state, CustomResourceOptions options)
resources: _: type: incident:CatalogType get: 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.
- Categories List<string>
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - Description string
- Human readble description of this type
- Name string
- Name is the human readable name of this type
- Source
Repo stringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- Type
Name string - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- Categories []string
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - Description string
- Human readble description of this type
- Name string
- Name is the human readable name of this type
- Source
Repo stringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- Type
Name string - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- categories List<String>
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - description String
- Human readble description of this type
- name String
- Name is the human readable name of this type
- source
Repo StringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- type
Name String - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- categories string[]
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - description string
- Human readble description of this type
- name string
- Name is the human readable name of this type
- source
Repo stringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- type
Name string - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- categories Sequence[str]
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - description str
- Human readble description of this type
- name str
- Name is the human readable name of this type
- source_
repo_ strurl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- type_
name str - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
- categories List<String>
- The categories that this type belongs to, to be shown in the web dashboard. Possible values are:
customer
,issue-tracker
,product-feature
,service
,on-call
,team
,user
. - description String
- Human readble description of this type
- name String
- Name is the human readable name of this type
- source
Repo StringUrl - The url of the external repository where this type is managed. When set, users will not be able to edit the catalog type (or its entries) via the UI, and will instead be provided a link to this URL.
- type
Name String - The type name of this catalog type, to be used when defining attributes. This is immutable once a CatalogType has been created. For non-externally sync types, it must follow the pattern Custom["SomeName"]
Import
#!/bin/bash
Import a catalog type using its ID
Replace the ID with a real ID from your incident.io organization
$ pulumi import incident:index/catalogType:CatalogType example 01ABC123DEF456GHI789JKL
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- incident incident-io/terraform-provider-incident
- License
- Notes
- This Pulumi package is based on the
incident
Terraform Provider.