Assorted shell and Python scripts
at main 1.1 kB view raw
1#!/usr/bin/env nu 2 3let refresh_token = (open ($env.HOME | path join .netcup_refresh_token.json) | get refresh_token) 4 5def get_access_token [refresh_token] { 6 (curl -s "https://www.servercontrolpanel.de/realms/scp/protocol/openid-connect/token" -d "client_id=scp" -d $"refresh_token=($refresh_token)" -d "grant_type=refresh_token") 7 | from json 8 | get access_token 9} 10 11def get_servers [access_token] { 12 (curl -s -X "GET" "https://www.servercontrolpanel.de/scp-core/api/v1/servers" -H $"Authorization: Bearer ($access_token)" -H "accept: application/hal+json") 13 | from json 14} 15 16let access_token = (get_access_token ($refresh_token)) 17let servers = (get_servers ($access_token)) 18 19let date_now = (date now | format date "%Y%m%d") 20 21($servers | get id) | each { 22 (curl -s -X "POST" $"https://www.servercontrolpanel.de/scp-core/api/v1/servers/($in)/snapshots" -H $"Authorization: Bearer ($access_token)" -H "accept: application/hal+json" -H "Content-Type: application/json" -d $'{"name": "($date_now)", "description": "via script", "diskName": "vda", "onlineSnapshot": false}') 23 | from json 24} 25 26# vim: sw=4 sts=4 ts=4 ai et ft=nu