pydo.monitoring.create_alert_policy()

Description

To create a new alert, send a POST request to /v2/monitoring/alerts.

Request Sample

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "alerts": {
    "email": [
      "[email protected]"
    ],
    "slack": [
      {
        "channel": "Production Alerts",
        "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"
      }
    ]
  },
  "compare": "GreaterThan",
  "description": "CPU Alert",
  "enabled": True,
  "entities": [
    "192018292"
  ],
  "tags": [
    "droplet_tag"
  ],
  "type": "v1/insights/droplet/cpu",
  "value": 80,
  "window": "5m"
}

resp = client.monitoring.create_alert_policy(body=req)

Responses

See the API spec for this endpoint to view additional detail on responses, headers, parameters, and more.

An alert policy.

Click to expand an example response.
{
  "policy": {
    "alerts": {
      "email": [
        "[email protected]"
      ],
      "slack": [
        {
          "channel": "Production Alerts",
          "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"
        },
        {
          "channel": "Production Alerts",
          "url": "https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ"
        }
      ]
    },
    "compare": "GreaterThan",
    "description": "CPU Alert",
    "enabled": true,
    "entities": [
      "192018292"
    ],
    "tags": [
      "droplet_tag"
    ],
    "type": "v1/insights/droplet/cpu",
    "uuid": "78b3da62-27e5-49ba-ac70-5db0b5935c64",
    "value": 80,
    "window": "5m"
  }
}

Unauthorized

Click to expand an example response.
{
  "id": "unauthorized",
  "message": "Unable to authenticate you."
}

API Rate limit exceeded

Click to expand an example response.
{
  "id": "too_many_requests",
  "message": "API Rate limit exceeded."
}

Server error.

Click to expand an example response.
{
  "id": "server_error",
  "message": "Unexpected server-side error"
}

Unexpected error

Click to expand an example response.
{
  "id": "example_error",
  "message": "some error message"
}