4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/gaff/dynect_api.rb', line 4
def self.exec(msg)
parser = Yajl::Parser.new
hash = parser.parse(msg)
Gaff::Log.debug(hash)
STDOUT.flush
dynect = Dynect.new(
hash["params"]["customer_name"],
hash["params"]["username"],
hash["params"]["password"])
Gaff::Log.debug(dynect)
STDOUT.flush
case hash["method"]
when "add_a_record"
node = dynect.add_node(
hash["params"]["node"],
hash["params"]["zone"])
record = dynect.add_a_record(
hash["params"]["zone"],
hash["params"]["address"],
{
"node" => "#{hash["params"]["node"]}.#{hash["params"]["zone"]}",
"ttl" => hash["params"]["ttl"]
})
when "add_cname_record"
node = dynect.add_node(
hash["params"]["node"],
hash["params"]["zone"])
record = dynect.add_cname_record(
hash["params"]["zone"],
hash["params"]["address"],
{
"node" => "#{hash["params"]["node"]}.#{hash["params"]["zone"]}",
"ttl" => hash["params"]["ttl"]
})
when "delete_a_record"
record_id = dynect.list_a_records(
hash["params"]["zone"],
{
"node" => "#{hash["params"]["node"]}.#{hash["params"]["zone"]}"
})
record = dynect.delete_a_record(record_id[0]["record_id"])
when "delete_cname_record"
record_id = dynect.list_cname_records(
hash["params"]["zone"],
{
"node" => "#{hash["params"]["node"]}.#{hash["params"]["zone"]}"
})
record = dynect.delete_cname_record(record_id[0]["record_id"])
end
if node
Gaff::Log.debug(node.inspect)
node = nil
end
Gaff::Log.info(record.inspect)
STDOUT.flush
end
|