Uptimeify Docs
Resources

uptimeify_ssh_monitor

An SSH monitor: logs in (check_mode protocol) or only checks the port (tcp). The hostname must resolve to a public address. Import with the numeric id or the public id.

An SSH monitor: logs in (check_mode protocol) or only checks the port (tcp). The hostname must resolve to a public address. Import with the numeric id or the public id.

Example Usage

resource "uptimeify_ssh_monitor" "this" {
  customer_id = 12
  name        = "Bastion"
  hostname    = "bastion.shop.example"
  username    = "monitor"

  private_key_wo     = file("~/.ssh/uptimeify_monitor")
  secrets_wo_version = 1
}

# Port reachability only, no credentials.
resource "uptimeify_ssh_monitor" "port_only" {
  customer_id = 12
  name        = "Bastion port"
  hostname    = "bastion.shop.example"
  check_mode  = "tcp"
}

Schema

Required

  • customer_id (Number) Customer the monitor belongs to. Changing it moves the monitor to another customer of the same organization in place.
  • hostname (String) Host name or IP address only: no scheme, no path, no spaces.
  • name (String) Display name, 1 to 255 characters.

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 409 monitorAlreadyExists and 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.
  • check_mode (String) protocol (full login check, credentials required) or tcp (port reachability only; the API then stores no protocol settings and no credentials). Defaults to protocol.
  • management_type (String) managed or self_service. Only organization writers choose it; customer tokens always get self_service. Defaults to managed.
  • passphrase_wo (String, Sensitive, Write-only) Passphrase of the private key. Write-only (Terraform 1.11+ / OpenTofu 1.11+), never stored in state or returned by the API; sent on create and whenever the matching *_wo_version changes.
  • password_wo (String, Sensitive, Write-only) Login password; password_wo or private_key_wo is required in check_mode protocol. Write-only (Terraform 1.11+ / OpenTofu 1.11+), never stored in state or returned by the API; sent on create and whenever the matching *_wo_version changes.
  • port (Number) TCP port. Unset = 22.
  • private_key_wo (String, Sensitive, Write-only) Private key (OpenSSH/PEM). Write-only (Terraform 1.11+ / OpenTofu 1.11+), never stored in state or returned by the API; sent on create and whenever the matching *_wo_version changes.
  • secrets_wo_version (Number) Change this number to send password_wo, private_key_wo and passphrase_wo again.
  • status (String) active, maintenance or disabled. Defaults to active.
  • timeout_seconds (Number) Timeout per check in seconds, 1 to 60. Defaults to 30.
  • username (String) Login user. Required in check_mode protocol.

Read-Only

  • created_at (String)
  • id (String) Numeric SSH monitor id.
  • organization_id (Number)
  • public_id (String) Public UUID of the SSH 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_ssh_monitor.this 42

On this page