v-list-dns-domains 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/bash
  2. # info: list dns domains
  3. # options: USER [FORMAT]
  4. #
  5. # The function for obtaining all DNS domains of a user.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument defenition
  10. user=$1
  11. format=${2-shell}
  12. # Includes
  13. source $VESTA/func/main.sh
  14. #----------------------------------------------------------#
  15. # Verifications #
  16. #----------------------------------------------------------#
  17. check_args '1' "$#" 'USER [FORMAT]'
  18. validate_format 'user'
  19. is_object_valid 'user' 'USER' "$user"
  20. #----------------------------------------------------------#
  21. # Action #
  22. #----------------------------------------------------------#
  23. # Defining config and fields
  24. conf=$USER_DATA/dns.conf
  25. fields='$DOMAIN $IP $TPL $TTL $EXP $SOA $SRC $RECORDS $SUSPENDED $TIME $DATE'
  26. # Listing domains
  27. case $format in
  28. json) json_list ;;
  29. plain) nohead=1; shell_list ;;
  30. shell) fields='$DOMAIN $IP $TPL $TTL $EXP $DATE';
  31. shell_list| column -t ;;
  32. *) check_args '1' '0' 'USER [FORMAT]';;
  33. esac
  34. #----------------------------------------------------------#
  35. # Vesta #
  36. #----------------------------------------------------------#
  37. exit