lapras-inc / terraform-provider-uptimerobot

A terraform provider for UptimeRobot
https://registry.terraform.io/providers/lapras-inc/uptimerobot/latest
Mozilla Public License 2.0
3 stars 1 forks source link

Terraform UptimeRobot Provider

All Contributors Release Status Test Status

Migrating from the old provider

If you're using the provider this was forked from, you can run the following to use the new provider:

terraform state replace-provider current-owner/uptimerobot lapras-inc/uptimerobot

Getting started

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

terraform {
  required_providers {
    uptimerobot = {
      source = "lapras-inc/uptimerobot"
      version = "~> 0.8.0"
    }
  }
}

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

πŸ’» ⚠️

Yuuki Takahashi

πŸ’»

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