summaryrefslogtreecommitdiff
path: root/functions/disable_backups_by_label.sh
diff options
context:
space:
mode:
authordoc <doc@filenotfound.org>2025-06-30 20:14:17 +0000
committerdoc <doc@filenotfound.org>2025-06-30 20:14:17 +0000
commita8cd1c324c0541b0d26542168aeced085ec13201 (patch)
treea99d398008b46aa4df5dcae997e1690298d2fc70 /functions/disable_backups_by_label.sh
initial failzero commitHEADmaster
Diffstat (limited to 'functions/disable_backups_by_label.sh')
-rwxr-xr-xfunctions/disable_backups_by_label.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/functions/disable_backups_by_label.sh b/functions/disable_backups_by_label.sh
new file mode 100755
index 0000000..417bdb8
--- /dev/null
+++ b/functions/disable_backups_by_label.sh
@@ -0,0 +1,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
+}