#!/usr/bin/env sh # #NIC_ClientID='0dc0xxxxxxxxxxxxxxxxxxxxxxxxce88' #NIC_ClientSecret='3LTtxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnuW8' #NIC_Username="000000/NIC-D" #NIC_Password="xxxxxxx" NIC_Api="https://api.nic.ru" dns_nic_add() { fulldomain="${1}" txtvalue="${2}" if ! _nic_get_authtoken save; then _err "get NIC auth token failed" return 1 fi _debug "First detect the root zone" if ! _get_root "$fulldomain"; then _err "Invalid domain" return 1 fi _debug _sub_domain "$_sub_domain" _debug _domain "$_domain" _debug _service "$_service" _info "Adding record" if ! _nic_rest PUT "services/$_service/zones/$_domain/records" "$_sub_domainTXT$txtvalue"; then _err "Add TXT record error" return 1 fi if ! _nic_rest POST "services/$_service/zones/$_domain/commit" ""; then return 1 fi _info "Added, OK" } dns_nic_rm() { fulldomain="${1}" txtvalue="${2}" if ! _nic_get_authtoken; then _err "get NIC auth token failed" return 1 fi if ! _get_root "$fulldomain"; then _err "Invalid domain" return 1 fi _debug _sub_domain "$_sub_domain" _debug _domain "$_domain" _debug _service "$_service" if ! _nic_rest GET "services/$_service/zones/$_domain/records"; then _err "Get records error" return 1 fi _domain_id=$(printf "%s" "$response" | grep "$_sub_domain" | grep -- "$txtvalue" | sed -r "s/.*"; then error=$(printf "%s" "$response" | grep "error code" | sed -r "s/.*(.*)<\/error>/\1/g") _err "Error: $error" return 1 fi if ! _contains "$response" "success"; then return 1 fi _debug2 response "$response" return 0 }