evansmurithi / terraform-provider-uptimerobot

A terraform provider for UptimeRobot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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!

About

A terraform provider for UptimeRobot

License:Mozilla Public License 2.0


Languages

Language:Go 97.3%Language:HTML 2.7%