Skip to content
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.

louy/terraform-provider-uptimerobot

Repository files navigation

Terraform UptimeRobot Provider

All Contributors Build Status

Getting started

To install this provider, check out the installation instructions on Terraform's registry page.

terraform {
  required_providers {
    uptimerobot = {
      source = "louy/uptimerobot"
      version = "0.5.1"
    }
  }
}

provider "uptimerobot" {
  api_key = "[YOUR MAIN API KEY]" # or pass via environment variable UPTIMEROBOT_API_KEY
}

data "uptimerobot_account" "account" {}

data "uptimerobot_alert_contact" "default_alert_contact" {
  friendly_name = data.uptimerobot_account.account.email
}

resource "uptimerobot_alert_contact" "slack" {
  friendly_name = "Slack Alert"
  type          = "slack"
  value         = "https://hooks.slack.com/services/XXXXXXX"
}

resource "uptimerobot_monitor" "main" {
  friendly_name = "My Monitor"
  type          = "http"
  url           = "http://example.com"
  # pro allows 60 seconds
  interval      = 300

  alert_contact {
    id = uptimerobot_alert_contact.slack.id
    # threshold  = 0  # pro only
    # recurrence = 0  # pro only
  }

  alert_contact {
    id = data.uptimerobot_alert_contact.default_alert_contact.id
  }
}

resource "uptimerobot_monitor" "custom_port" {
  url           = "doe.john.me"
  type          = "port"
  sub_type      = "custom"
  port          = 5678
  friendly_name = "Custom port"
}

resource "uptimerobot_status_page" "main" {
  friendly_name  = "My Status Page"
  custom_domain  = "status.example.com"
  password       = "WeAreAwsome"
  sort           = "down-up-paused"
  monitors       = [uptimerobot_monitor.main.id]
}

resource "aws_route53_record" {
  zone_id = "[MY ZONE ID]"
  type    = "CNAME"
  records = [uptimerobot_status_page.main.dns_address]
}

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Louay Alakkad

💻 🚧 ⚠️ 📖 🔧

Nham Le

💻

David Rubin

💻 🚧 ⚠️ 📖 🤔 💬

Johan Bloemberg

💻 ⚠️ 🤔 📖

Seb Patane

📦

YIFAN LI

💻 ⚠️

Nicolas Lamirault

📖 🐛 💻

Adam Dobrawy

📖

Clint Byrum

🐛

Tiago Carrondo

🐛

JB

🐛

Carlos Alexandro Becker

💻

Jan Jungnickel

💻

bd0zer

🐛

randrusiak

💻 🐛

Jason Rogena

💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!