ovh-domain
This commit is contained in:
@@ -245,6 +245,11 @@ function arg3_required() {
|
|||||||
[[ -z "${3:-}" ]] && echoerr "ERROR: arg#3 expected!" && return 125 || return 0
|
[[ -z "${3:-}" ]] && echoerr "ERROR: arg#3 expected!" && return 125 || return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# test arg4 required
|
||||||
|
function arg4_required() {
|
||||||
|
[[ -z "${4:-}" ]] && echoerr "ERROR: arg#4 expected!" && return 125 || return 0
|
||||||
|
}
|
||||||
|
|
||||||
# test whether container <ct> exists yet?
|
# test whether container <ct> exists yet?
|
||||||
function container_exists() {
|
function container_exists() {
|
||||||
arg1_required "$@"
|
arg1_required "$@"
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# GET DOMAIN
|
||||||
|
# https://eu.api.ovh.com/createToken/?GET=/domain*&POST=/domain*&PUT=/domain*&DELETE=/domain*
|
||||||
|
|
||||||
# GET DOMAIN : https://eu.api.ovh.com/createToken/?GET=/domain*&POST=/domain*&PUT=/domain*&DELETE=/domain*
|
function usage {
|
||||||
|
echo 'usage: <ACTION: list|get|set> <DOMAIN> [CNAME] [destination]'
|
||||||
|
echo ' - list <DOMAIN>'
|
||||||
|
echo ' - get <DOMAIN> <CNAME>'
|
||||||
|
echo ' - set <DOMAIN> <CNAME> <DESTINATION>'
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
function set_base {
|
function set_base {
|
||||||
|
|
||||||
BASE_URL="https://eu.api.ovh.com/1.0"
|
BASE_URL="https://eu.api.ovh.com/1.0"
|
||||||
BASEDIR=$(dirname "$0")
|
BASEDIR=$(dirname "$0")
|
||||||
source "$BASEDIR"/.ovh-credential
|
source "$BASEDIR"/.ovh-credential
|
||||||
@@ -37,14 +44,22 @@ function list_records {
|
|||||||
sha=$(echo -n "$AS+$CK+$method+$query+$body+$tstamp" | shasum | cut -d ' ' -f 1)
|
sha=$(echo -n "$AS+$CK+$method+$query+$body+$tstamp" | shasum | cut -d ' ' -f 1)
|
||||||
signature="\$1\$$sha"
|
signature="\$1\$$sha"
|
||||||
|
|
||||||
curl -s \
|
echo BEFORE CURL
|
||||||
|
output=$(curl -s \
|
||||||
-X $method \
|
-X $method \
|
||||||
-H "Content-type: application/json" \
|
-H "Content-type: application/json" \
|
||||||
-H "X-Ovh-Application: $AK" \
|
-H "X-Ovh-Application: $AK" \
|
||||||
-H "X-Ovh-Consumer: $CK" \
|
-H "X-Ovh-Consumer: $CK" \
|
||||||
-H "X-Ovh-Signature: $signature" \
|
-H "X-Ovh-Signature: $signature" \
|
||||||
-H "X-Ovh-Timestamp: $tstamp" \
|
-H "X-Ovh-Timestamp: $tstamp" \
|
||||||
"$query" | yq .[] # values of array
|
"$query")
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "output=$output"
|
||||||
|
echo ""
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
# echo "$output" | yq .[] # values of array
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_record {
|
function get_record {
|
||||||
@@ -67,13 +82,50 @@ function get_record {
|
|||||||
"$query" | yq -o=props
|
"$query" | yq -o=props
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function action_list {
|
||||||
|
for record_id in $(list_records "$DOMAIN" CNAME "$CNAME"); do
|
||||||
|
get_record "$DOMAIN" "$record_id"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function action_get {
|
||||||
|
local record_id
|
||||||
|
record_id=$(list_records "$DOMAIN" CNAME "$CNAME")
|
||||||
|
get_record "$DOMAIN" "$record_id"
|
||||||
|
}
|
||||||
|
|
||||||
|
function action_set {
|
||||||
|
echo set_record "$DOMAIN" "$CNAME" "$DESTINATION"
|
||||||
|
}
|
||||||
|
|
||||||
##-----------
|
##-----------
|
||||||
## -- MAIN --
|
## -- MAIN --
|
||||||
##-----------
|
##-----------
|
||||||
|
|
||||||
. "$MIAOU_BASEDIR/lib/init.sh"
|
. "$MIAOU_BASEDIR/lib/init.sh"
|
||||||
|
|
||||||
|
[[ $# -lt 2 ]] && usage && exit 1
|
||||||
|
|
||||||
|
ACTION="$1"
|
||||||
|
DOMAIN="$2"
|
||||||
|
CNAME="${3:-}"
|
||||||
|
DESTINATION="${4:-}"
|
||||||
|
|
||||||
set_base
|
set_base
|
||||||
for i in $(list_records "$1" CNAME "$2"); do
|
|
||||||
get_record "$1" "$i"
|
case $ACTION in
|
||||||
done
|
list)
|
||||||
|
action_list
|
||||||
|
;;
|
||||||
|
get)
|
||||||
|
arg3_required "$@" || usage
|
||||||
|
action_get
|
||||||
|
;;
|
||||||
|
set)
|
||||||
|
arg4_required "$@" || usage
|
||||||
|
action_set
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echoerr "unknown action <$ACTION> !" && usage && exit 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|||||||
Reference in New Issue
Block a user