summaryrefslogtreecommitdiff
path: root/functions/disable_backups_by_label.sh
blob: 417bdb8bf39a523f5cb6c2a50c104108edec3a02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
disable_backups_by_label() {
  LABEL="$1"
  LINODE_ID=$(curl -s -H "Authorization: Bearer $LINODE_API_TOKEN" \
    https://api.linode.com/v4/linode/instances | \
    jq -r --arg LABEL "$LABEL" '.data[] | select(.label == $LABEL) | .id')

  if [ -z "$LINODE_ID" ]; then
    echo "❌ No Linode found with label '$LABEL'"
    exit 1
  fi

  echo "Disabling backups for Linode '$LABEL' (ID: $LINODE_ID)..."

  HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" -X POST \
    https://api.linode.com/v4/linode/instances/$LINODE_ID/backups/disable \
    -H "Authorization: Bearer $LINODE_API_TOKEN")

  if [[ "$HTTP_STATUS" == "200" ]]; then
    echo "✅ Backups disabled for Linode $LABEL."
  else
    echo "❌ Failed to disable backups (HTTP $HTTP_STATUS)"
  fi
}