summaryrefslogtreecommitdiff
path: root/vps/functions/enable_backups_by_label.sh
blob: 08fb31d60ade8e2b729313919983199286c4e5bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
enable_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 "Enabling 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/enable \
    -H "Authorization: Bearer $LINODE_API_TOKEN")

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