---
title: "uptimeify_status_page"
description: "Ressource uptimeify_status_page: Beispiel, alle Attribute, Import."
---

<Callout>Die Beschreibungen auf dieser Seite kommen direkt aus dem Provider-Schema und sind deshalb englisch.</Callout>

A status page of one customer, or of the whole organization without `customer_id`. It shows its explicit components (`uptimeify_status_page_component`, the allowlist) and, only with `include_customer_monitors`, also every monitor of the customer except `hidden_monitors`. Design, audience groups, custom domain and IM rules are separate resources (`uptimeify_status_page_design`, `uptimeify_status_page_audience_groups`, `uptimeify_status_page_domain`, `uptimeify_im_statuspage_rule`). Deleting the page also deletes its custom domain. Import with the numeric id or the public id.

## Beispiel

```terraform
data "uptimeify_customer" "acme" {
  name = "ACME GmbH"
}

# Shows the explicit components and every other monitor of the customer except the hidden ones.
resource "uptimeify_status_page" "acme" {
  customer_id               = tonumber(data.uptimeify_customer.acme.id)
  name                      = "ACME Status"
  slug                      = "acme"
  description               = "Live status of the ACME shop."
  include_customer_monitors = true

  hidden_monitors = [
    { type = "http", id = 1234 },
    { type = "dns", id = 56 },
  ]
}

# A page of the whole organization: no customer, only the explicit components
# (uptimeify_status_page_component), which may come from any customer. Visitors may also
# subscribe by SMS and browser push.
resource "uptimeify_status_page" "platform" {
  name                       = "Platform Status"
  sms_subscriptions_enabled  = true
  push_subscriptions_enabled = true
}

# Internal page: only members signed in through the organization's single sign-on, and only
# from the office networks.
resource "uptimeify_status_page" "staff" {
  name         = "Staff Status"
  visibility   = "sso_members_only"
  ip_allowlist = ["203.0.113.0/24", "2001:db8::/32"]
}

# Password-protected page; the password never lands in state.
# Bump access_password_wo_version to send a new password.
resource "uptimeify_status_page" "internal" {
  customer_id                = tonumber(data.uptimeify_customer.acme.id)
  name                       = "ACME Internal"
  visibility                 = "password_protected"
  access_password_wo         = var.status_page_password
  access_password_wo_version = 1
}

variable "status_page_password" {
  type      = string
  sensitive = true
  ephemeral = true
}
```

## Schema

### Pflichtfelder

- `name` (String) 1 to 120 characters, no surrounding whitespace.

### Optional

> **NOTE**: [Write-only arguments](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments) are supported in Terraform 1.11 and later.

- `access_password_wo` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)) Access password, 8 to 200 characters. Write-only: sent on create and whenever `access_password_wo_version` changes; never stored in state. Removing it does not remove the password.
- `access_password_wo_version` (Number) Change to resend `access_password_wo`.
- `customer_id` (Number) Customer the page belongs to. Unset = a page of the whole organization (organization-wide tokens and roles only); its components may then come from any customer. Changing or removing it moves the page in place; moving to a customer fails while the page has monitor components of another customer.
- `description` (String) Up to 1000 characters, no surrounding whitespace.
- `hidden_monitors` (Attributes Set) Monitors of the customer the page does not show, at most 500. Default: none (every monitor is shown). (siehe [verschachteltes Schema](#verschachteltes-schema-für-hidden_monitors))
- `include_customer_monitors` (Boolean) Also show every monitor of the customer (minus `hidden_monitors`) after the explicit components (`uptimeify_status_page_component`). `false` = only the components. Unset = the server default at creation (`false` for new pages; older app versions used `true` for pages with a customer), then kept as is.
- `ip_allowlist` (Set of String) Only visitors from these networks see the page (403 for everyone else), on top of `visibility`. CIDR ranges with explicit prefix and lowercase address (`203.0.113.0/24`, `203.0.113.5/32`, `2001:db8::/32`), at most 50. Default: none (no IP restriction). A page with a list has no badge, widget, feeds or subscriptions.
- `is_published` (Boolean) Default `true`.
- `push_subscriptions_enabled` (Boolean) Visitors may subscribe to browser push notifications. Default `false`; needs push keys on the platform.
- `slug` (String) URL slug, lowercase letters, digits and single hyphens, 2 to 120 characters. Unset = derived from `name` once at creation (with a numeric suffix on collision). A set slug that is taken fails the create.
- `sms_subscriptions_enabled` (Boolean) Visitors may subscribe by SMS. Default `false`. Each SMS draws on the organization's SMS quota.
- `subscription_delay_minutes` (Number) Flap window before subscribers are mailed, 1 to 120 minutes. Default `5`.
- `subscriptions_enabled` (Boolean) Visitors may subscribe to e-mail updates. Default `true`.
- `visibility` (String) `public` (default), `customer_members_only`, `password_protected` or `sso_members_only`. `password_protected` needs a password: set `access_password_wo`, or keep one set earlier. `sso_members_only` is `customer_members_only` plus a session from the organization's single sign-on (`uptimeify_sso_oidc`); without verified SSO the API refuses it (`ssoNotConfigured`).

### Nur lesbar

- `access_password_set_at` (String)
- `created_at` (String)
- `customer_name` (String)
- `has_password` (Boolean) Whether a password is set (it is never returned).
- `id` (String) Numeric status page id.
- `organization_id` (Number)
- `public_id` (String) Public UUID of the page.
- `updated_at` (String)

### Verschachteltes Schema für `hidden_monitors`

Required:

- `id` (Number) Numeric monitor id.
- `type` (String) Monitor type: `http` (website), `dns`, `icmp`, `smtp`, `ssh`, `tcp`, `ftp` or `imap_pop`.

## Import

Import geht so:

Mit [`tofu import` bzw. `terraform import`](https://developer.hashicorp.com/terraform/cli/commands/import), zum Beispiel:

```shell
# Numeric id or public id
terraform import uptimeify_status_page.acme 42
```
