v_list_dns_domain 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/bash
  2. # info: listing dns domain
  3. #----------------------------------------------------------#
  4. # Variable&Function #
  5. #----------------------------------------------------------#
  6. # Argument defenition
  7. user="$1"
  8. domain=$(idn -t --quiet -u "$2" )
  9. domain_idn=$(idn -t --quiet -a "$domain")
  10. format="${3-shell}"
  11. limit="${4-1000}"
  12. offset="${5-1}"
  13. # Importing variables
  14. source $VESTA/conf/vars.conf
  15. source $V_FUNC/shared_func.sh
  16. source $V_FUNC/domain_func.sh
  17. #----------------------------------------------------------#
  18. # Verifications #
  19. #----------------------------------------------------------#
  20. # Checking args
  21. check_args '2' "$#" 'user domain [format]'
  22. # Checking argument format
  23. format_validation 'user' 'domain' 'limit' 'offset'
  24. # Checking user
  25. is_user_valid
  26. # Checking domain exist
  27. is_dns_domain_valid
  28. #----------------------------------------------------------#
  29. # Action #
  30. #----------------------------------------------------------#
  31. # Defining config
  32. conf="$V_USERS/$user/zones/$domain"
  33. # Defining fileds to select
  34. fields='$ID $RECORD $TYPE $VALUE $SUSPEND $DATE'
  35. # Listing domains
  36. case $format in
  37. json) dns_json_list ;;
  38. shell) fields='$ID $RECORD $TYPE $VALUE';
  39. dns_shell_list | column -t ;;
  40. *) check_args '2' "0" 'user domain [format]'
  41. esac
  42. #----------------------------------------------------------#
  43. # Vesta #
  44. #----------------------------------------------------------#
  45. # Logging
  46. log_event 'system' "$V_EVENT"
  47. exit $OK