v-list-dns-domain 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #!/bin/bash
  2. # info: list dns domain
  3. # options: USER DOMAIN [FORMAT]
  4. #
  5. # The function of obtaining the list of dns domain parameters.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. user=$1
  11. domain=$2
  12. format=${3-shell}
  13. # Includes
  14. source $VESTA/func/main.sh
  15. # JSON list function
  16. json_list() {
  17. echo '{'
  18. echo ' "'$DOMAIN'": {
  19. "IP": "'$IP'",
  20. "TPL": "'$TPL'",
  21. "TTL": "'$TTL'",
  22. "EXP": "'$EXP'",
  23. "SOA": "'$SOA'",
  24. "SERIAL": "'$SERIAL'",
  25. "SRC": "'$SRC'",
  26. "RECORDS": "'$RECORDS'",
  27. "SUSPENDED": "'$SUSPENDED'",
  28. "TIME": "'$TIME'",
  29. "DATE": "'$DATE'"
  30. }'
  31. echo '}'
  32. }
  33. # SHELL list function
  34. shell_list() {
  35. echo "DOMAIN: $DOMAIN"
  36. echo "IP: $IP"
  37. echo "TEMPLATE: $TPL"
  38. echo "TTL: $TTL"
  39. echo "EXP: $EXP"
  40. echo "SOA: $SOA"
  41. echo "SERIAL: $SERIAL"
  42. echo "RECORDS: $RECORDS"
  43. echo "SUSPENDED: $SUSPENDED"
  44. echo "TIME: $TIME"
  45. echo "DATE: $DATE"
  46. }
  47. # PLAIN list function
  48. plain_list() {
  49. echo -ne "$DOMAIN\t$IP\t$TPL\t$TTL\t$EXP\t$SOA\t$SERIAL\t$RECORDS\t"
  50. echo -e "$SUSPENDED\t$TIME\t$DATE"
  51. }
  52. # CSV list function
  53. csv_list() {
  54. echo "DOMAIN,IP,TPL,TTL,EXP,SOA,SERIAL,RECORDS,SUSPENDED,TIME,DATE"
  55. echo -n "$DOMAIN,$IP,$TPL,$TTL,$EXP,$SOA,$SERIAL,$RECORDS,$SUSPENDED,"
  56. echo "$TIME,$DATE"
  57. }
  58. #----------------------------------------------------------#
  59. # Verifications #
  60. #----------------------------------------------------------#
  61. check_args '2' "$#" 'USER DOMAIN [FORMAT]'
  62. is_object_valid 'user' 'USER' "$user"
  63. is_object_valid 'dns' 'DOMAIN' "$domain"
  64. #----------------------------------------------------------#
  65. # Action #
  66. #----------------------------------------------------------#
  67. # Parsing domain
  68. eval $(grep "DOMAIN='$domain'" $USER_DATA/dns.conf)
  69. # Listing data
  70. case $format in
  71. json) json_list ;;
  72. plain) plain_list ;;
  73. csv) csv_list ;;
  74. shell) shell_list ;;
  75. esac
  76. #----------------------------------------------------------#
  77. # Vesta #
  78. #----------------------------------------------------------#
  79. exit