summaryrefslogtreecommitdiff
path: root/provider_base/files/service-definitions/v1/smtp-service.json.erb
diff options
context:
space:
mode:
Diffstat (limited to 'provider_base/files/service-definitions/v1/smtp-service.json.erb')
-rw-r--r--provider_base/files/service-definitions/v1/smtp-service.json.erb29
1 files changed, 29 insertions, 0 deletions
diff --git a/provider_base/files/service-definitions/v1/smtp-service.json.erb b/provider_base/files/service-definitions/v1/smtp-service.json.erb
new file mode 100644
index 00000000..60129f5f
--- /dev/null
+++ b/provider_base/files/service-definitions/v1/smtp-service.json.erb
@@ -0,0 +1,29 @@
+<%=
+ def underscore(words)
+ words = words.to_s.dup
+ words.downcase!
+ words.gsub! /[^a-z]/, '_'
+ words
+ end
+
+ hsh = {}
+ hsh["serial"] = 1
+ hsh["version"] = 1
+ locations = {}
+ hosts = {}
+ nodes_like_me[:services => 'mx'].each_node do |node|
+ host = {}
+ host["hostname"] = node.domain.full
+ host["ip_address"] = node.ip_address
+ host["port"] = 25 # hard coded for now, later node.smtp.port
+ if node['location']
+ location_name = underscore(node.location.name)
+ host["location"] = location_name
+ locations[location_name] ||= node.location
+ end
+ hosts[node.name] = host
+ end
+ hsh["hosts"] = hosts
+ hsh["locations"] = locations
+ JSON.sorted_generate hsh
+%> \ No newline at end of file