Провайдер Terraform

Установка и использование (Terraform Registry)

Провайдер в официальном Terraform Registry.

Облако Status200

terraform {
  required_providers {
    status200 = {
      source  = "status200/status200"
      version = "~> 7.0"
    }
  }
  required_version = ">= 1.0"
}

provider "status200" {
  status200_url = "https://status200.ru"
  api_key       = var.status200_api_key
}

Self-hosted

⚠️ Важно: версия provider должна точно совпадать с версией Status200.

terraform {
  required_providers {
    status200 = {
      source  = "status200/status200"
      version = "= 7.0.123"
    }
  }
  required_version = ">= 1.0"
}

provider "status200" {
  status200_url = "https://status200.yourcompany.com"
  api_key       = var.status200_api_key
}

Зачем pin для self-hosted

Provider генерируется из спецификации API Status200. Между версиями могут меняться:

  • эндпоинты;
  • схемы ресурсов;
  • набор фич;
  • правила валидации.

Несовпадение версий → ошибки API, сбои create/update, странное поведение, drift state.

Как узнать версию Status200

Dashboard

SettingsAbout (например, 7.0.123)

API

curl https://your-status200-instance.com/api/status | jq '.version'

Docker

docker images | grep status200

Ссылки

Совместимость (ориентир)

Status200ProviderTerraform
7.0.x7.0.xversion = "~> 7.0.0"
7.1.x7.1.xversion = "~> 7.1.0"
Облако (latest)latestversion = "~> 7.0"

Короткий пример

terraform {
  required_providers {
    status200 = {
      source  = "status200/status200"
      version = "~> 7.0"
    }
  }
}

provider "status200" {
  status200_url = "https://status200.ru"
  api_key       = var.status200_api_key
}

resource "status200_project" "example" {
  name        = "Terraform Example"
  description = "Created with Terraform"
}

resource "status200_monitor" "website" {
  name       = "Website Monitor"
  project_id = status200_project.example.id
  
  monitor_type = "website"
  url          = "https://example.com"
  interval     = "5m"
  
  tags = {
    managed_by = "terraform"
  }
}

Шаги

  1. Блок terraform + provider
  2. terraform init
  3. terraform.tfvars с API key
  4. terraform plan / terraform apply

Справка

Обновления provider публикуются в Registry вместе с релизами Status200. В облаке удобен ~> 7.0; для self-hosted — точный pin.