uptimeify_notification_channel
A notification channel of the organization, or of one customer with customer_id. Secrets live in secret_config_wo and never enter the state. An active channel to the same recipient cannot exist twice (409). Website overrides are not managed here. Import with the numeric id.
A notification channel of the organization, or of one customer with customer_id. Secrets live in secret_config_wo and never enter the state. An active channel to the same recipient cannot exist twice (409). Website overrides are not managed here. Import with the numeric id.
Example Usage
resource "uptimeify_notification_channel" "ops_mail" {
type = "email"
name = "Ops mail"
config = jsonencode({ email = "ops@example.com" })
}
# Secrets go into the write-only attribute; bump the version to send a new one.
variable "slack_webhook_url" {
type = string
sensitive = true
}
resource "uptimeify_notification_channel" "slack" {
type = "slack"
category = "integration"
name = "Slack #alerts"
customer_id = tonumber(uptimeify_customer.shop.id)
config = jsonencode({})
secret_config_wo = jsonencode({ webhookUrl = var.slack_webhook_url })
secret_config_wo_version = 1
}Schema
Required
config(String) Provider settings without secrets, as a JSON object (jsonencode({ email = "ops@example.com" })). Keys removed here are cleared.name(String)type(String) Channel type:email,sms,webhook,incident_management,slack,discord,teams,pagerduty,pushover,opsgenie,matrix,jira,allquiet,telegram,googlechat,mattermost,rocketchat,ntfy,gotify,ilert,grafanaoncall,incidentio,squadcast,github,gitlab,linear,servicenow,lark,dingtalk,wecom.
Optional
NOTE: Write-only arguments are supported in Terraform 1.11 and later.
allowed_package_types(Set of String) Only customers with these package types get this channel. Unset = all packages.category(String)direct(default) orintegration.conditions(String) Delivery conditions as a JSON object. Unset = always.customer_id(Number) Channel of this customer. Unset = organization channel.delay_seconds(Number) Wait before sending, 0 to 86400 seconds.is_active(Boolean)secret_config_wo(String, Sensitive, Write-only) Write-only secret settings as a JSON object, stored encrypted. Sent with create and wheneversecret_config_wo_versionchanges; keys left out keep their stored value. A secret cannot be removed (the API keeps the old value), replace the channel instead. Secret keys per type:allquiet:webhookUrl;dingtalk:webhookUrl;discord:secret,webhookUrl,url;github:token;gitlab:token;googlechat:webhookUrl;gotify:appToken;grafanaoncall:webhookUrl;ilert:integrationKey;incidentio:token;jira:apiToken;lark:webhookUrl;linear:apiKey;matrix:accessToken;mattermost:webhookUrl;ntfy:accessToken;opsgenie:apiKey;pagerduty:routingKey;pushover:userKey,apiToken;rocketchat:webhookUrl;servicenow:password;slack:secret,webhookUrl,url;squadcast:webhookUrl;teams:webhookUrl,url;telegram:botToken;webhook:secret,webhookHeaders,headers;wecom:webhookUrl.secret_config_wo_version(Number) Change to resendsecret_config_wo.
Read-Only
created_at(String)id(String) Numeric channel id.organization_id(Number)secrets_set(Map of Boolean) Which secrets are stored, e.g.{ Secret = true }(the API'shas<Secret>flags).
Import
Import is supported using the following syntax:
The terraform import command can be used, for example:
terraform import uptimeify_notification_channel.ops_mail 42uptimeify_monitor_tag
Puts one tag on one monitor. A monitor carries at most 5 tags. Import with <monitor_type>/<monitor_id>/<tag_id>.
uptimeify_notification_template
The organization's default Incident Management notification chain (one per organization). It is copied to a user when their personal settings are first created; existing users keep theirs. Destroying switches the template off. Import with any id, e.g. org.