published on Wednesday, Oct 21, 2026 by incident-io
published on Wednesday, Oct 21, 2026 by incident-io
Manages the structure of a standalone status page: which components it shows, in what order, how they are grouped, and how each is displayed. The page itself is created in the incident.io dashboard; look it up with the incident.getStatusPage data source. Components come from incident.StatusPageComponent.
A group keeps its ID across applies as long as its name does, so links to it stay valid. Renaming a group creates a new one. Display settings left out of the configuration keep whatever the page already has, so a structure adopted from the dashboard keeps its hidden components and uptime settings until the configuration says otherwise.
Terraform claims the structure, so it cannot be edited in the dashboard; set unlockInDashboard to leave it editable there. Destroying this resource leaves the page’s structure in place, since a page always has one; it only stops Terraform managing it. The API key needs the “Configure status pages” permission. Parent and customer pages build their structure from the catalog and cannot be managed here.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as incident from "@incident-io/pulumi";
// The page itself is created in the dashboard. Its components can be managed here.
const _public = incident.getStatusPage({
name: "Our public status page",
});
const website = new incident.StatusPageComponent("website", {name: "Website"});
const api = new incident.StatusPageComponent("api", {name: "API"});
const database = new incident.StatusPageComponent("database", {name: "Database"});
// The structure is the page's layout: items appear in the order listed, each one either a
// single component or a named group of components. Display settings are optional; one left
// out keeps whatever the dashboard has.
const publicStatusPageStructure = new incident.StatusPageStructure("public", {
statusPageId: _public.then(_public => _public.id),
displayUptimeMode: "chart_and_percentage",
items: [
{
componentId: website.id,
},
{
group: {
name: "Backend",
description: "The services behind the website",
components: [
{
componentId: api.id,
},
{
componentId: database.id,
displayUptime: false,
},
],
},
},
],
});
import pulumi
import pulumi_incident as incident
# The page itself is created in the dashboard. Its components can be managed here.
public = incident.get_status_page(name="Our public status page")
website = incident.StatusPageComponent("website", name="Website")
api = incident.StatusPageComponent("api", name="API")
database = incident.StatusPageComponent("database", name="Database")
# The structure is the page's layout: items appear in the order listed, each one either a
# single component or a named group of components. Display settings are optional; one left
# out keeps whatever the dashboard has.
public_status_page_structure = incident.StatusPageStructure("public",
status_page_id=public.id,
display_uptime_mode="chart_and_percentage",
items=[
{
"component_id": website.id,
},
{
"group": {
"name": "Backend",
"description": "The services behind the website",
"components": [
{
"component_id": api.id,
},
{
"component_id": database.id,
"display_uptime": False,
},
],
},
},
])
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 {
// The page itself is created in the dashboard. Its components can be managed here.
public, err := incident.GetStatusPage(ctx, &incident.GetStatusPageArgs{
Name: pulumi.StringRef("Our public status page"),
}, nil)
if err != nil {
return err
}
website, err := incident.NewStatusPageComponent(ctx, "website", &incident.StatusPageComponentArgs{
Name: pulumi.String("Website"),
})
if err != nil {
return err
}
api, err := incident.NewStatusPageComponent(ctx, "api", &incident.StatusPageComponentArgs{
Name: pulumi.String("API"),
})
if err != nil {
return err
}
database, err := incident.NewStatusPageComponent(ctx, "database", &incident.StatusPageComponentArgs{
Name: pulumi.String("Database"),
})
if err != nil {
return err
}
// The structure is the page's layout: items appear in the order listed, each one either a
// single component or a named group of components. Display settings are optional; one left
// out keeps whatever the dashboard has.
_, err = incident.NewStatusPageStructure(ctx, "public", &incident.StatusPageStructureArgs{
StatusPageId: pulumi.String(public.Id),
DisplayUptimeMode: pulumi.String("chart_and_percentage"),
Items: incident.StatusPageStructureItemArray{
&incident.StatusPageStructureItemArgs{
ComponentId: website.ID().ToIDOutput().ToStringOutput(),
},
&incident.StatusPageStructureItemArgs{
Group: &incident.StatusPageStructureItemGroupArgs{
Name: pulumi.String("Backend"),
Description: pulumi.String("The services behind the website"),
Components: incident.StatusPageStructureItemGroupComponentArray{
&incident.StatusPageStructureItemGroupComponentArgs{
ComponentId: api.ID().ToIDOutput().ToStringOutput(),
},
&incident.StatusPageStructureItemGroupComponentArgs{
ComponentId: database.ID().ToIDOutput().ToStringOutput(),
DisplayUptime: pulumi.Bool(false),
},
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Incident = Pulumi.Incident;
return await Deployment.RunAsync(() =>
{
// The page itself is created in the dashboard. Its components can be managed here.
var @public = Incident.GetStatusPage.Invoke(new()
{
Name = "Our public status page",
});
var website = new Incident.StatusPageComponent("website", new()
{
Name = "Website",
});
var api = new Incident.StatusPageComponent("api", new()
{
Name = "API",
});
var database = new Incident.StatusPageComponent("database", new()
{
Name = "Database",
});
// The structure is the page's layout: items appear in the order listed, each one either a
// single component or a named group of components. Display settings are optional; one left
// out keeps whatever the dashboard has.
var publicStatusPageStructure = new Incident.StatusPageStructure("public", new()
{
StatusPageId = @public.Apply(@public => @public.Apply(getStatusPageResult => getStatusPageResult.Id)),
DisplayUptimeMode = "chart_and_percentage",
Items = new[]
{
new Incident.Inputs.StatusPageStructureItemArgs
{
ComponentId = website.Id,
},
new Incident.Inputs.StatusPageStructureItemArgs
{
Group = new Incident.Inputs.StatusPageStructureItemGroupArgs
{
Name = "Backend",
Description = "The services behind the website",
Components = new[]
{
new Incident.Inputs.StatusPageStructureItemGroupComponentArgs
{
ComponentId = api.Id,
},
new Incident.Inputs.StatusPageStructureItemGroupComponentArgs
{
ComponentId = database.Id,
DisplayUptime = false,
},
},
},
},
},
});
});
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.GetStatusPageArgs;
import com.pulumi.incident.StatusPageComponent;
import com.pulumi.incident.StatusPageComponentArgs;
import com.pulumi.incident.StatusPageStructure;
import com.pulumi.incident.StatusPageStructureArgs;
import com.pulumi.incident.inputs.StatusPageStructureItemArgs;
import com.pulumi.incident.inputs.StatusPageStructureItemGroupArgs;
import com.pulumi.incident.inputs.StatusPageStructureItemGroupComponentArgs;
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) {
// The page itself is created in the dashboard. Its components can be managed here.
final var public = IncidentFunctions.getStatusPage(GetStatusPageArgs.builder()
.name("Our public status page")
.build());
var website = new StatusPageComponent("website", StatusPageComponentArgs.builder()
.name("Website")
.build());
var api = new StatusPageComponent("api", StatusPageComponentArgs.builder()
.name("API")
.build());
var database = new StatusPageComponent("database", StatusPageComponentArgs.builder()
.name("Database")
.build());
// The structure is the page's layout: items appear in the order listed, each one either a
// single component or a named group of components. Display settings are optional; one left
// out keeps whatever the dashboard has.
var publicStatusPageStructure = new StatusPageStructure("publicStatusPageStructure", StatusPageStructureArgs.builder()
.statusPageId(public_.id())
.displayUptimeMode("chart_and_percentage")
.items(
StatusPageStructureItemArgs.builder()
.componentId(website.id())
.build(),
StatusPageStructureItemArgs.builder()
.group(StatusPageStructureItemGroupArgs.builder()
.name("Backend")
.description("The services behind the website")
.components(
StatusPageStructureItemGroupComponentArgs.builder()
.componentId(api.id())
.build(),
StatusPageStructureItemGroupComponentArgs.builder()
.componentId(database.id())
.displayUptime(false)
.build())
.build())
.build())
.build());
}
}
resources:
website:
type: incident:StatusPageComponent
properties:
name: Website
api:
type: incident:StatusPageComponent
properties:
name: API
database:
type: incident:StatusPageComponent
properties:
name: Database
# The structure is the page's layout: items appear in the order listed, each one either a
# single component or a named group of components. Display settings are optional; one left
# out keeps whatever the dashboard has.
publicStatusPageStructure:
type: incident:StatusPageStructure
name: public
properties:
statusPageId: ${public.id}
displayUptimeMode: chart_and_percentage
items:
- componentId: ${website.id}
- group:
name: Backend
description: The services behind the website
components:
- componentId: ${api.id}
- componentId: ${database.id}
displayUptime: false
variables:
# The page itself is created in the dashboard. Its components can be managed here.
public:
fn::invoke:
function: incident:getStatusPage
arguments:
name: Our public status page
pulumi {
required_providers {
incident = {
source = "pulumi/incident"
}
}
}
data "incident_getstatuspage" "public" {
name = "Our public status page"
}
resource "incident_statuspagecomponent" "website" {
name = "Website"
}
resource "incident_statuspagecomponent" "api" {
name = "API"
}
resource "incident_statuspagecomponent" "database" {
name = "Database"
}
# The structure is the page's layout: items appear in the order listed, each one either a
# single component or a named group of components. Display settings are optional; one left
# out keeps whatever the dashboard has.
resource "incident_statuspagestructure" "public" {
status_page_id = data.incident_getstatuspage.public.id
display_uptime_mode = "chart_and_percentage"
items {
component_id = incident_statuspagecomponent.website.id
}
items {
group = {
name = "Backend"
description = "The services behind the website"
components = [{
"componentId" = incident_statuspagecomponent.api.id
}, {
"componentId" = incident_statuspagecomponent.database.id
"displayUptime" = false
}]
}
}
}
# The page itself is created in the dashboard. Its components can be managed here.
Create StatusPageStructure Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new StatusPageStructure(name: string, args: StatusPageStructureArgs, opts?: CustomResourceOptions);@overload
def StatusPageStructure(resource_name: str,
args: StatusPageStructureArgs,
opts: Optional[ResourceOptions] = None)
@overload
def StatusPageStructure(resource_name: str,
opts: Optional[ResourceOptions] = None,
items: Optional[Sequence[StatusPageStructureItemArgs]] = None,
status_page_id: Optional[str] = None,
display_uptime_mode: Optional[str] = None,
unlock_in_dashboard: Optional[bool] = None)func NewStatusPageStructure(ctx *Context, name string, args StatusPageStructureArgs, opts ...ResourceOption) (*StatusPageStructure, error)public StatusPageStructure(string name, StatusPageStructureArgs args, CustomResourceOptions? opts = null)
public StatusPageStructure(String name, StatusPageStructureArgs args)
public StatusPageStructure(String name, StatusPageStructureArgs args, CustomResourceOptions options)
type: incident:StatusPageStructure
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "incident_status_page_structure" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args StatusPageStructureArgs
- 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 StatusPageStructureArgs
- 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 StatusPageStructureArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args StatusPageStructureArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args StatusPageStructureArgs
- 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 statusPageStructureResource = new Incident.StatusPageStructure("statusPageStructureResource", new()
{
Items = new[]
{
new Incident.Inputs.StatusPageStructureItemArgs
{
ComponentId = "string",
DisplayUptime = false,
Group = new Incident.Inputs.StatusPageStructureItemGroupArgs
{
Components = new[]
{
new Incident.Inputs.StatusPageStructureItemGroupComponentArgs
{
ComponentId = "string",
DisplayUptime = false,
Hidden = false,
},
},
Name = "string",
Description = "string",
DisplayAggregatedUptime = false,
Hidden = false,
Id = "string",
},
Hidden = false,
},
},
StatusPageId = "string",
DisplayUptimeMode = "string",
UnlockInDashboard = false,
});
example, err := incident.NewStatusPageStructure(ctx, "statusPageStructureResource", &incident.StatusPageStructureArgs{
Items: incident.StatusPageStructureItemArray{
&incident.StatusPageStructureItemArgs{
ComponentId: pulumi.String("string"),
DisplayUptime: pulumi.Bool(false),
Group: &incident.StatusPageStructureItemGroupArgs{
Components: incident.StatusPageStructureItemGroupComponentArray{
&incident.StatusPageStructureItemGroupComponentArgs{
ComponentId: pulumi.String("string"),
DisplayUptime: pulumi.Bool(false),
Hidden: pulumi.Bool(false),
},
},
Name: pulumi.String("string"),
Description: pulumi.String("string"),
DisplayAggregatedUptime: pulumi.Bool(false),
Hidden: pulumi.Bool(false),
Id: pulumi.String("string"),
},
Hidden: pulumi.Bool(false),
},
},
StatusPageId: pulumi.String("string"),
DisplayUptimeMode: pulumi.String("string"),
UnlockInDashboard: pulumi.Bool(false),
})
resource "incident_status_page_structure" "statusPageStructureResource" {
lifecycle {
create_before_destroy = true
}
items {
component_id = "string"
display_uptime = false
group = {
components = [{
component_id = "string"
display_uptime = false
hidden = false
}]
name = "string"
description = "string"
display_aggregated_uptime = false
hidden = false
id = "string"
}
hidden = false
}
status_page_id = "string"
display_uptime_mode = "string"
unlock_in_dashboard = false
}
var statusPageStructureResource = new StatusPageStructure("statusPageStructureResource", StatusPageStructureArgs.builder()
.items(StatusPageStructureItemArgs.builder()
.componentId("string")
.displayUptime(false)
.group(StatusPageStructureItemGroupArgs.builder()
.components(StatusPageStructureItemGroupComponentArgs.builder()
.componentId("string")
.displayUptime(false)
.hidden(false)
.build())
.name("string")
.description("string")
.displayAggregatedUptime(false)
.hidden(false)
.id("string")
.build())
.hidden(false)
.build())
.statusPageId("string")
.displayUptimeMode("string")
.unlockInDashboard(false)
.build());
status_page_structure_resource = incident.StatusPageStructure("statusPageStructureResource",
items=[{
"component_id": "string",
"display_uptime": False,
"group": {
"components": [{
"component_id": "string",
"display_uptime": False,
"hidden": False,
}],
"name": "string",
"description": "string",
"display_aggregated_uptime": False,
"hidden": False,
"id": "string",
},
"hidden": False,
}],
status_page_id="string",
display_uptime_mode="string",
unlock_in_dashboard=False)
const statusPageStructureResource = new incident.StatusPageStructure("statusPageStructureResource", {
items: [{
componentId: "string",
displayUptime: false,
group: {
components: [{
componentId: "string",
displayUptime: false,
hidden: false,
}],
name: "string",
description: "string",
displayAggregatedUptime: false,
hidden: false,
id: "string",
},
hidden: false,
}],
statusPageId: "string",
displayUptimeMode: "string",
unlockInDashboard: false,
});
type: incident:StatusPageStructure
properties:
displayUptimeMode: string
items:
- componentId: string
displayUptime: false
group:
components:
- componentId: string
displayUptime: false
hidden: false
description: string
displayAggregatedUptime: false
hidden: false
id: string
name: string
hidden: false
statusPageId: string
unlockInDashboard: false
StatusPageStructure 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 StatusPageStructure resource accepts the following input properties:
- Items
List<Status
Page Structure Item> - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - Status
Page stringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- Display
Uptime stringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - Unlock
In boolDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- Items
[]Status
Page Structure Item Args - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - Status
Page stringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- Display
Uptime stringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - Unlock
In boolDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- items list(object)
- The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status_
page_ stringid - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- display_
uptime_ stringmode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - unlock_
in_ booldashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- items
List<Status
Page Structure Item> - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status
Page StringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- display
Uptime StringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - unlock
In BooleanDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- items
Status
Page Structure Item[] - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status
Page stringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- display
Uptime stringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - unlock
In booleanDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- items
Sequence[Status
Page Structure Item Args] - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status_
page_ strid - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- display_
uptime_ strmode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - unlock_
in_ booldashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- items List<Property Map>
- The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status
Page StringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- display
Uptime StringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - unlock
In BooleanDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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 StatusPageStructure 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 StatusPageStructure Resource
Get an existing StatusPageStructure 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?: StatusPageStructureState, opts?: CustomResourceOptions): StatusPageStructure@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
display_uptime_mode: Optional[str] = None,
items: Optional[Sequence[StatusPageStructureItemArgs]] = None,
status_page_id: Optional[str] = None,
unlock_in_dashboard: Optional[bool] = None) -> StatusPageStructurefunc GetStatusPageStructure(ctx *Context, name string, id IDInput, state *StatusPageStructureState, opts ...ResourceOption) (*StatusPageStructure, error)public static StatusPageStructure Get(string name, Input<string> id, StatusPageStructureState? state, CustomResourceOptions? opts = null)public static StatusPageStructure get(String name, Output<String> id, StatusPageStructureState state, CustomResourceOptions options)resources: _: type: incident:StatusPageStructure get: id: ${id}import {
to = incident_status_page_structure.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.
- Display
Uptime stringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - Items
List<Status
Page Structure Item> - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - Status
Page stringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- Unlock
In boolDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- Display
Uptime stringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - Items
[]Status
Page Structure Item Args - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - Status
Page stringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- Unlock
In boolDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- display_
uptime_ stringmode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - items list(object)
- The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status_
page_ stringid - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- unlock_
in_ booldashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- display
Uptime StringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - items
List<Status
Page Structure Item> - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status
Page StringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- unlock
In BooleanDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- display
Uptime stringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - items
Status
Page Structure Item[] - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status
Page stringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- unlock
In booleanDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- display_
uptime_ strmode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - items
Sequence[Status
Page Structure Item Args] - The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status_
page_ strid - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- unlock_
in_ booldashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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.
- display
Uptime StringMode - How the page shows uptime against its components:
chartAndPercentage,chartOnlyornothing. Left out, the page keeps its current setting. - items List<Property Map>
- The components and groups the page shows, in display order. Each item is either a single
componentId, with its ownhiddenanddisplayUptime, or agroup, not both. - status
Page StringId - The ID of the status page whose structure this is. Changing it manages a different page's structure.
- unlock
In BooleanDashboard - 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 totrueto leave the resource unclaimed — pair that withlifecycle { 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
StatusPageStructureItem, StatusPageStructureItemArgs
- Component
Id string - ID of the component to place, shown on its own.
- Display
Uptime bool - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- Group
Status
Page Structure Item Group - A named group of components.
- bool
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- Component
Id string - ID of the component to place, shown on its own.
- Display
Uptime bool - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- Group
Status
Page Structure Item Group - A named group of components.
- bool
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component_
id string - ID of the component to place, shown on its own.
- display_
uptime bool - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- group object
- A named group of components.
- bool
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component
Id String - ID of the component to place, shown on its own.
- display
Uptime Boolean - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- group
Status
Page Structure Item Group - A named group of components.
- Boolean
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component
Id string - ID of the component to place, shown on its own.
- display
Uptime boolean - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- group
Status
Page Structure Item Group - A named group of components.
- boolean
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component_
id str - ID of the component to place, shown on its own.
- display_
uptime bool - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- group
Status
Page Structure Item Group - A named group of components.
- bool
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component
Id String - ID of the component to place, shown on its own.
- display
Uptime Boolean - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- group Property Map
- A named group of components.
- Boolean
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
StatusPageStructureItemGroup, StatusPageStructureItemGroupArgs
- Components
List<Status
Page Structure Item Group Component> - The components in this group, in display order.
- Name string
- The name of this component group
- Description string
- A description shown under the group's name. Left out, the group has none, so a description set in the dashboard has to be written here to survive an apply.
- Display
Aggregated boolUptime - Whether the page shows uptime aggregated across the group's components. Left out, a group already on the page keeps its setting and a new one shows it when a component allows. It needs a visible component that shows uptime.
- bool
- Whether the group is hidden from the page. Left out, a group already on the page keeps its setting and a new one is hidden only when every component in it is. A visible group needs a visible component.
- Id string
- Unique ID of this component group. Assigned by incident.io, and kept while the group keeps its name.
- Components
[]Status
Page Structure Item Group Component - The components in this group, in display order.
- Name string
- The name of this component group
- Description string
- A description shown under the group's name. Left out, the group has none, so a description set in the dashboard has to be written here to survive an apply.
- Display
Aggregated boolUptime - Whether the page shows uptime aggregated across the group's components. Left out, a group already on the page keeps its setting and a new one shows it when a component allows. It needs a visible component that shows uptime.
- bool
- Whether the group is hidden from the page. Left out, a group already on the page keeps its setting and a new one is hidden only when every component in it is. A visible group needs a visible component.
- Id string
- Unique ID of this component group. Assigned by incident.io, and kept while the group keeps its name.
- components list(object)
- The components in this group, in display order.
- name string
- The name of this component group
- description string
- A description shown under the group's name. Left out, the group has none, so a description set in the dashboard has to be written here to survive an apply.
- display_
aggregated_ booluptime - Whether the page shows uptime aggregated across the group's components. Left out, a group already on the page keeps its setting and a new one shows it when a component allows. It needs a visible component that shows uptime.
- bool
- Whether the group is hidden from the page. Left out, a group already on the page keeps its setting and a new one is hidden only when every component in it is. A visible group needs a visible component.
- id string
- Unique ID of this component group. Assigned by incident.io, and kept while the group keeps its name.
- components
List<Status
Page Structure Item Group Component> - The components in this group, in display order.
- name String
- The name of this component group
- description String
- A description shown under the group's name. Left out, the group has none, so a description set in the dashboard has to be written here to survive an apply.
- display
Aggregated BooleanUptime - Whether the page shows uptime aggregated across the group's components. Left out, a group already on the page keeps its setting and a new one shows it when a component allows. It needs a visible component that shows uptime.
- Boolean
- Whether the group is hidden from the page. Left out, a group already on the page keeps its setting and a new one is hidden only when every component in it is. A visible group needs a visible component.
- id String
- Unique ID of this component group. Assigned by incident.io, and kept while the group keeps its name.
- components
Status
Page Structure Item Group Component[] - The components in this group, in display order.
- name string
- The name of this component group
- description string
- A description shown under the group's name. Left out, the group has none, so a description set in the dashboard has to be written here to survive an apply.
- display
Aggregated booleanUptime - Whether the page shows uptime aggregated across the group's components. Left out, a group already on the page keeps its setting and a new one shows it when a component allows. It needs a visible component that shows uptime.
- boolean
- Whether the group is hidden from the page. Left out, a group already on the page keeps its setting and a new one is hidden only when every component in it is. A visible group needs a visible component.
- id string
- Unique ID of this component group. Assigned by incident.io, and kept while the group keeps its name.
- components
Sequence[Status
Page Structure Item Group Component] - The components in this group, in display order.
- name str
- The name of this component group
- description str
- A description shown under the group's name. Left out, the group has none, so a description set in the dashboard has to be written here to survive an apply.
- display_
aggregated_ booluptime - Whether the page shows uptime aggregated across the group's components. Left out, a group already on the page keeps its setting and a new one shows it when a component allows. It needs a visible component that shows uptime.
- bool
- Whether the group is hidden from the page. Left out, a group already on the page keeps its setting and a new one is hidden only when every component in it is. A visible group needs a visible component.
- id str
- Unique ID of this component group. Assigned by incident.io, and kept while the group keeps its name.
- components List<Property Map>
- The components in this group, in display order.
- name String
- The name of this component group
- description String
- A description shown under the group's name. Left out, the group has none, so a description set in the dashboard has to be written here to survive an apply.
- display
Aggregated BooleanUptime - Whether the page shows uptime aggregated across the group's components. Left out, a group already on the page keeps its setting and a new one shows it when a component allows. It needs a visible component that shows uptime.
- Boolean
- Whether the group is hidden from the page. Left out, a group already on the page keeps its setting and a new one is hidden only when every component in it is. A visible group needs a visible component.
- id String
- Unique ID of this component group. Assigned by incident.io, and kept while the group keeps its name.
StatusPageStructureItemGroupComponent, StatusPageStructureItemGroupComponentArgs
- Component
Id string - ID of the component to place
- Display
Uptime bool - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- bool
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- Component
Id string - ID of the component to place
- Display
Uptime bool - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- bool
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component_
id string - ID of the component to place
- display_
uptime bool - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- bool
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component
Id String - ID of the component to place
- display
Uptime Boolean - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- Boolean
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component
Id string - ID of the component to place
- display
Uptime boolean - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- boolean
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component_
id str - ID of the component to place
- display_
uptime bool - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- bool
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
- component
Id String - ID of the component to place
- display
Uptime Boolean - Whether the page shows the component's uptime. Left out, a component already on the page keeps its setting and a new one shows it.
- Boolean
- Whether the component is hidden from the page. Left out, a component already on the page keeps its setting and a new one is shown.
Import
Import is supported using an import block or the pulumi import command:
The pulumi import command can be used, for example:
!/bin/bash
Import a status page’s structure using the status page’s ID Replace the ID with a real ID from your incident.io organization
$ pulumi import incident:index/statusPageStructure:StatusPageStructure example 01ABC123DEF456GHI789JKL
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- incident incident-io/pulumi-incident
- License
- MIT
- Notes
- This Pulumi package is based on the
incidentTerraform Provider.
published on Wednesday, Oct 21, 2026 by incident-io