Assorted shell and Python scripts

+nc_snap_create, +nc_snap_optimize

+26
nc_snap_create
···
+
#!/usr/bin/env nu
+
+
let refresh_token = (open ($env.HOME | path join .netcup_refresh_token.json) | get refresh_token)
+
+
def get_access_token [refresh_token] {
+
(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")
+
| from json
+
| get access_token
+
}
+
+
def get_servers [access_token] {
+
(curl -s -X "GET" "https://www.servercontrolpanel.de/scp-core/api/v1/servers" -H $"Authorization: Bearer ($access_token)" -H "accept: application/hal+json")
+
| from json
+
}
+
+
let access_token = (get_access_token ($refresh_token))
+
let servers = (get_servers ($access_token))
+
+
let date_now = (date now | format date "%Y%m%d")
+
+
($servers | get id) | each {
+
(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}')
+
| from json
+
}
+
+
# vim: sw=4 sts=4 ts=4 ai et ft=nu
+21
nc_snap_optimize
···
+
#!/usr/bin/env nu
+
+
let refresh_token = (open ($env.HOME | path join .netcup_refresh_token.json) | get refresh_token)
+
+
def get_access_token [refresh_token] {
+
(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")
+
| from json
+
| get access_token
+
}
+
+
def get_servers [access_token] {
+
(curl -s -X "GET" "https://www.servercontrolpanel.de/scp-core/api/v1/servers" -H $"Authorization: Bearer ($access_token)" -H "accept: application/hal+json")
+
| from json
+
}
+
+
let access_token = (get_access_token ($refresh_token))
+
let servers = (get_servers ($access_token))
+
+
($servers | get id) | par-each { |p| (curl -s -X "POST" $"https://www.servercontrolpanel.de/scp-core/api/v/servers/($p)/storageoptimization?startAfterOptimization=true" -H $"Authorization: Bearer ($access_token)" -H "accept: application/hal+json") | from json }
+
+
# vim: sw=4 sts=4 ts=4 ai et ft=nu