uptimeify_dns_monitor
A DNS monitor: resolves hostname and compares the answers per record type with expected_values. Import with the numeric id or the public id.
A DNS monitor: resolves hostname and compares the answers per record type with expected_values. Import with the numeric id or the public id.
Example Usage
data "uptimeify_customer" "shop" {
name = "Example Shop GmbH"
}
resource "uptimeify_dns_monitor" "this" {
customer_id = data.uptimeify_customer.shop.id
name = "shop.example MX"
hostname = "shop.example"
record_types = ["A", "MX"]
match_mode = "contains"
expected_values = {
A = ["203.0.113.10"]
MX = ["10 mail.shop.example."]
}
allowed_check_country_codes = ["DE", "NL"]
}Schema
Required
customer_id(Number) Customer the monitor belongs to. Changing it moves the monitor to another customer of the same organization in place.expected_values(Map of List of String) Expected answers per record type (upper-case key); every type inrecord_typesneeds at least one value. Values unique and without surrounding spaces.hostname(String) Host name or IP address only: no scheme, no path, no spaces.match_mode(String)exact(answer set equals the expected values) orcontains(answer includes them).name(String) Display name, 1 to 255 characters.record_types(List of String) Record types to resolve, upper case and unique, e.g.["A", "MX"].
Optional
NOTE: Write-only arguments are supported in Terraform 1.11 and later.
allow_duplicate(Boolean, Write-only) Create the monitor even if the customer already has one of this type for the same target. Without it the create fails with 409monitorAlreadyExistsand the error names the import command for the existing monitor. Sent with create only.allowed_check_country_codes(Set of String) Upper-case ISO 3166-1 alpha-2 codes of the allowed check locations. Unset = all locations.check_interval(Number) Minutes between checks, 1 to 1440. Defaults to 30. The customer's package can require a larger minimum.management_type(String)managedorself_service. Only organization writers choose it; customer tokens always getself_service. Defaults tomanaged.require_expected_values(Boolean) Defaults to false.status(String)active,maintenanceordisabled. Defaults toactive.timeout_seconds(Number) Timeout per check in seconds, 1 to 60. Defaults to 30.trigger_on_mismatch(Boolean) Alert when the answers do not match. Defaults to true.trigger_on_resolve_error(Boolean) Alert when the name does not resolve. Defaults to true.
Read-Only
created_at(String)id(String) Numeric DNS monitor id.organization_id(Number)public_id(String) Public UUID of the DNS monitor.updated_at(String)
Import
Import is supported using the following syntax:
The terraform import command can be used, for example:
# Numeric id or public id
terraform import uptimeify_dns_monitor.this 42uptimeify_customer_ip
An IP address of a customer, checked against DNS blocklists (DNSBL). Creating one that already exists with the same values fails; import it instead. Import with the numeric id or the public id.
uptimeify_escalation_config
The organization's escalation webhook (one per organization; organization token with write access). Creating it adopts the stored configuration and applies the configured values. The webhook URL also drives the organization webhook channel (Organization Webhook), so do not manage that channel as uptimeify_notification_channel too. Destroying it sets is_active = false and clears the URL, which deactivates the organization-level webhook channels; the row stays. Import with the organization id.