Resources and Data Sources
This page lists the Terraform provider types that are currently implemented in code.
Resources
The provider currently registers these resources:
statuspage_hierarchy_levelstatuspage_hierarchy_itemstatuspage_managed_domainstatuspage_status_definitionstatuspage_lifecycle_stagestatuspage_maintenance_lifecycle_stagestatuspage_page_admin_auth_providerstatuspage_page_settingsstatuspage_page_viewer_auth_providerstatuspage_site_settingsstatuspage_role_definitionstatuspage_role_bindingstatuspage_sso_group_mappingstatuspage_preset_messagestatuspage_beat_groupstatuspage_synthetic_monitorstatuspage_external_event_sourcestatuspage_external_beat_triggerstatuspage_slack_app_settingsstatuspage_slack_channel_reminder_settingsstatuspage_custom_viewstatuspage_rss_feedstatuspage_view_alias_blocklist_entry
Data sources
The provider currently registers these data sources:
statuspage_hierarchy_levelsstatuspage_hierarchy_itemstatuspage_custom_viewsstatuspage_rss_feedsstatuspage_status_events
Important behavior notes
Hierarchy items
Hierarchy item status is computed and read-only in Terraform. The resource schema explicitly documents that status changes must happen through incidents or maintenance.
Page and site settings
statuspage_page_settings manages page identity and viewer-access policy fields that belong to the page rather than the public site chrome.
statuspage_site_settings is a singleton resource. Removing it from Terraform state does not delete settings from the API.
Hosted embed settings also live on statuspage_site_settings. The provider manages the durable configuration:
embed_badge_enabledembed_badge_labelembed_widget_enabledcustom_csscustom_head_script_urlcustom_body_script_urldocument_localedatetime_locale
The rendered badge SVG and widget iframe remain hosted public surfaces, not separate Terraform resources.
Custom CSS, external script hooks, and locale defaults are durable page settings, so they fit the provider scope. One-off operational behavior tied to those integrations still belongs in the app or API instead of new Terraform resources.
RBAC resources
statuspage_role_definition and statuspage_role_binding support organization and page scope. In the main path, organization-scoped resources derive org context from the same page or custom-domain host, and page-scoped resources operate on that current page directly.
Built-in roles are available everywhere. Custom RBAC definitions and non-built-in role bindings require advanced RBAC and become read-only if the workspace drops below that plan.
Slack app settings
statuspage_slack_app_settings is also modeled as a singleton resource. Sensitive values such as client secret and signing secret are treated as write-only inputs.
Beat Groups and Beats
statuspage_beat_group models grouped synthetic-monitor automation ownership such as grouped incident scope, message policies, and message-source mode.
statuspage_synthetic_monitor continues to manage individual Beat configuration. Use its optional beat_group_id attribute when that Beat should delegate incident ownership and customer-facing messaging to a Beat Group while still keeping its own thresholds and evidence.
statuspage_synthetic_monitor also supports type = "external_event" for Beats driven by External Beat Triggers instead of scheduled probe execution.
External Beat Triggers
statuspage_external_event_source manages a page-scoped ingest endpoint. The full ingest token is returned only when the endpoint is created; subsequent reads expose only metadata and the token prefix.
statuspage_external_beat_trigger manages the rule that maps external event payloads into Beat state. It stores condition, stage-mapping, output-mapping, safety, and association JSON so the provider can support generic webhook payloads without adding a provider-specific Terraform schema for every upstream alerting product.
Use draft-only action policies on the target Beat or Beat Group until preview confirms the trigger matches and recovers as expected.
Custom views
Custom views are managed by short_code, name, description, component IDs, and protected-view policy fields such as:
access_modeallowed_emailsallowed_domainsaccess_messageaccess_session_ttl_minutes
Page authentication
statuspage_page_admin_auth_provider and statuspage_page_viewer_auth_provider manage page-scoped identity-provider configuration for admin and private-page viewer access.
Managed domains
statuspage_managed_domain manages the custom-domain configuration attached to a page.
RSS
RSS feeds are available as both statuspage_rss_feed resources and the statuspage_rss_feeds data source.
View alias blocklist
statuspage_view_alias_blocklist_entry reserves public view aliases that should not be used by custom views.
Subscriber operations
Subscriber CSV import/export, hygiene suppression state, and bulk delivery actions are intentionally not Terraform resources. They are operational tools for migration and cleanup, not durable configuration.