passthrough ok

This commit is contained in:
pvincent
2024-04-21 22:06:57 +04:00
parent bcaab103ea
commit 97139919fb
6 changed files with 123 additions and 12 deletions
+78
View File
@@ -0,0 +1,78 @@
#!/bin/bash
# GET DOMAIN : https://eu.api.ovh.com/createToken/?GET=/domain*&POST=/domain*&PUT=/domain*&DELETE=/domain*
function set_base {
BASE_URL="https://eu.api.ovh.com/1.0"
source ./.ovh-credential
}
function build_url_list_records {
zone="$1"
result="${BASE_URL}/domain/zone/$zone/record"
fieldType="${2:-}"
subDomain="${3:-}"
any="$fieldType$subDomain"
[[ -n $any ]] && result+="?"
[[ -n $fieldType ]] && result+="fieldType=$fieldType&"
[[ -n $subDomain ]] && result+="subDomain=$subDomain&"
result=${result::-1}
echo "$result"
}
function list_records {
zone="$1"
fieldType="${2:-}"
subDomain="${3:-}"
query=$(build_url_list_records "$zone" "$fieldType" "$subDomain")
method="GET"
body=""
tstamp=$(date +%s)
sha=$(echo -n "$AS+$CK+$method+$query+$body+$tstamp" | shasum | cut -d ' ' -f 1)
signature="\$1\$$sha"
curl -s \
-X $method \
-H "Content-type: application/json" \
-H "X-Ovh-Application: $AK" \
-H "X-Ovh-Consumer: $CK" \
-H "X-Ovh-Signature: $signature" \
-H "X-Ovh-Timestamp: $tstamp" \
"$query" | yq .[] # values of array
}
function get_record {
zone="$1"
record="$2"
method="GET"
query="${BASE_URL}/domain/zone/$zone/record/$record"
body=""
tstamp=$(date +%s)
sha=$(echo -n "$AS+$CK+$method+$query+$body+$tstamp" | shasum | cut -d ' ' -f 1)
signature="\$1\$$sha"
curl -s \
-X $method \
-H "Content-type: application/json" \
-H "X-Ovh-Application: $AK" \
-H "X-Ovh-Consumer: $CK" \
-H "X-Ovh-Signature: $signature" \
-H "X-Ovh-Timestamp: $tstamp" \
"$query" | yq -o=props
}
##-----------
## -- MAIN --
##-----------
. "$MIAOU_BASEDIR/lib/init.sh"
set_base
for i in $(list_records "$1" CNAME "$2"); do
get_record "$1" "$i"
done
+34
View File
@@ -0,0 +1,34 @@
#!/bin/bash
# GET DOMAIN : https://eu.api.ovh.com/createToken/?GET=/me*&POST=/me*&PUT=/me*&DELETE=/me*
function set_base {
BASE_URL="https://eu.api.ovh.com/1.0"
source ./.ovh-credential
}
function get_me {
local method query body tstamp sha signature
method="GET"
query="${BASE_URL}/me"
body=""
tstamp=$(date +%s)
sha=$(echo -n "$AS+$CK+$method+$query+$body+$tstamp" | shasum | cut -d ' ' -f 1)
signature="\$1\$$sha"
curl -s \
-X $method \
-H "Content-type: application/json" \
-H "X-Ovh-Application: $AK" \
-H "X-Ovh-Consumer: $CK" \
-H "X-Ovh-Signature: $signature" \
-H "X-Ovh-Timestamp: $tstamp" \
"$query" | yq -P
}
. "$MIAOU_BASEDIR/lib/init.sh"
set_base
get_me