Skip to content

Commit 54b319c

Browse files
committed
added dns RECORDS key
1 parent 7f7c1f8 commit 54b319c

File tree

3 files changed

+117
-4
lines changed

3 files changed

+117
-4
lines changed

bin/v_list_dns_domain

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
#!/bin/bash
2+
# info: list dns domain
3+
# options: user domain [format]
4+
#
5+
# The function of obtaining the list of domain parameters. This call, just as
6+
# all v_list_* calls, supports 3 formats - json, shell and plain.
7+
8+
9+
#----------------------------------------------------------#
10+
# Variable&Function #
11+
#----------------------------------------------------------#
12+
13+
# Argument defenition
14+
user=$1
15+
domain=$2
16+
format=${3-shell}
17+
18+
# Importing variables
19+
source $VESTA/conf/vars.conf
20+
source $V_FUNC/shared.func
21+
source $V_FUNC/domain.func
22+
23+
# Json function
24+
json_list_domain() {
25+
i=1
26+
fileds_count=$(echo "$fields" | wc -w)
27+
line=$(grep "DOMAIN='$domain'" $conf)
28+
29+
# Print top bracket
30+
echo '{'
31+
32+
# Assing key=value
33+
eval $line
34+
35+
# Starting output loop
36+
for field in $fields; do
37+
# Parsing key=value
38+
eval value=$field
39+
40+
# Checking first field
41+
if [ "$i" -eq 1 ]; then
42+
echo -e "\t\"$value\": {"
43+
else
44+
if [ "$fileds_count" -eq "$i" ]; then
45+
echo -e "\t\t\"${field//$/}\": \"$value\","
46+
else
47+
echo -e "\t\t\"${field//$/}\": \"$value\""
48+
fi
49+
fi
50+
# Updating iterator
51+
(( ++i))
52+
done
53+
54+
# If there was any output
55+
if [ -n "$value" ]; then
56+
echo -e ' }'
57+
fi
58+
# Printing bottom json bracket
59+
echo -e "}"
60+
}
61+
62+
# Shell function
63+
shell_list_domain() {
64+
line=$(grep "DOMAIN='$domain'" $conf)
65+
66+
# Parsing key=value
67+
eval $line
68+
69+
# Print result line
70+
for field in $fields; do
71+
eval key="$field"
72+
echo "${field//$/}: $key "
73+
done
74+
}
75+
76+
77+
#----------------------------------------------------------#
78+
# Verifications #
79+
#----------------------------------------------------------#
80+
81+
# Checking args
82+
check_args '2' "$#" 'user domain [format]'
83+
84+
# Checking user
85+
is_user_valid
86+
87+
# Checking domain exist
88+
is_domain_valid 'dns'
89+
90+
91+
#----------------------------------------------------------#
92+
# Action #
93+
#----------------------------------------------------------#
94+
95+
# Defining config
96+
conf=$V_USERS/$user/dns.conf
97+
98+
# Defining fileds to select
99+
fields='$DOMAIN $IP $TPL $TTL $EXP $SOA $RECORDS $SUSPENDED $DATE'
100+
101+
# Listing domains
102+
case $format in
103+
json) json_list_domain ;;
104+
plain) nohead=1; shell_list_domain ;;
105+
shell) shell_list_domain |column -t ;;
106+
*) check_args '2' '0' 'user domain [format]'
107+
esac
108+
109+
110+
#----------------------------------------------------------#
111+
# Vesta #
112+
#----------------------------------------------------------#
113+
114+
exit

bin/v_list_dns_domain_records

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/bin/bash
2-
# info: list dns domain
2+
# info: list dns domain records
33
# options: user domain [format]
44
#
5-
# The function for getting all DNS domain's parameters.
5+
# The function for getting all DNS domain records.
66

77

88
#----------------------------------------------------------#

bin/v_list_dns_domains

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ is_user_valid
4040
conf=$V_USERS/$user/dns.conf
4141

4242
# Defining fileds to select
43-
fields='$DOMAIN $IP $TPL $TTL $EXP $SOA $SUSPENDED $DATE'
44-
43+
fields='$DOMAIN $IP $TPL $TTL $EXP $SOA $RECORDS $SUSPENDED $DATE'
4544

4645
# Listing domains
4746
case $format in

0 commit comments

Comments
 (0)