Class: EnfApi::Dns

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/enfapi/dns.rb

Instance Method Summary collapse

Constructor Details

#initializeDns

Returns a new instance of Dns.



20
21
22
23
# File 'lib/enfapi/dns.rb', line 20

def initialize
  @version = "v1"
  @xdns_base_url = "/api/xdns/#{@version}"
end

Instance Method Details

#add_networks_to_zone(zone_id, add_networks) ⇒ Object



43
44
45
46
# File 'lib/enfapi/dns.rb', line 43

def add_networks_to_zone(zone_id, add_networks)
  json = EnfApi::to_json(add_networks)
  EnfApi::API.instance.post "#{@xdns_base_url}/zones/#{zone_id}/networks", json
end

#create_dns_record(zone_id, new_record) ⇒ Object



78
79
80
81
# File 'lib/enfapi/dns.rb', line 78

def create_dns_record(zone_id, new_record)
  json = EnfApi::to_json(new_record)
  EnfApi::API.instance.post "#{@xdns_base_url}/zones/#{zone_id}/records", json
end

#create_dns_zone(new_zone) ⇒ Object



29
30
31
32
# File 'lib/enfapi/dns.rb', line 29

def create_dns_zone(new_zone)
  json = EnfApi::to_json(new_zone)
  EnfApi::API.instance.post "#{@xdns_base_url}/zones", json
end

#delete_dns_record(record_id) ⇒ Object



91
92
93
# File 'lib/enfapi/dns.rb', line 91

def delete_dns_record(record_id)
  EnfApi::API.instance.delete "#{@xdns_base_url}/records/#{record_id}"
end

#delete_dns_zone(zone_id) ⇒ Object



39
40
41
# File 'lib/enfapi/dns.rb', line 39

def delete_dns_zone(zone_id)
  EnfApi::API.instance.delete "#{@xdns_base_url}/zones/#{zone_id}"
end

#delete_networks_from_zone(zone_id, delete_networks) ⇒ Object



57
58
59
# File 'lib/enfapi/dns.rb', line 57

def delete_networks_from_zone(zone_id, delete_networks)
  EnfApi::API.instance.delete "#{@xdns_base_url}/zones/#{zone_id}/networks?delete=#{delete_networks}"
end

#delete_server(network, server_ipv6) ⇒ Object



74
75
76
# File 'lib/enfapi/dns.rb', line 74

def delete_server(network, server_ipv6)
  EnfApi::API.instance.delete "#{@xdns_base_url}/networks/#{network}/servers/#{server_ipv6}"
end

#list_dns_records(zone_id) ⇒ Object



83
84
85
# File 'lib/enfapi/dns.rb', line 83

def list_dns_records(zone_id)
  EnfApi::API.instance.get "#{@xdns_base_url}/zones/#{zone_id}/records"
end

#list_networks_in_zone(zone_id) ⇒ Object



53
54
55
# File 'lib/enfapi/dns.rb', line 53

def list_networks_in_zone(zone_id)
  EnfApi::API.instance.get "#{@xdns_base_url}/zones/#{zone_id}/networks"
end

#list_servers(network) ⇒ Object



70
71
72
# File 'lib/enfapi/dns.rb', line 70

def list_servers(network)
  EnfApi::API.instance.get "#{@xdns_base_url}/networks/#{network}/servers"
end

#list_zones(domain) ⇒ Object



25
26
27
# File 'lib/enfapi/dns.rb', line 25

def list_zones(domain)
  EnfApi::API.instance.get "#{@xdns_base_url}/zones?enf_domain=#{domain}"
end

#list_zones_in_network(network) ⇒ Object



61
62
63
# File 'lib/enfapi/dns.rb', line 61

def list_zones_in_network(network)
  EnfApi::API.instance.get "#{@xdns_base_url}/networks/#{network}/zones"
end

#provision_server(network, new_server) ⇒ Object



65
66
67
68
# File 'lib/enfapi/dns.rb', line 65

def provision_server(network, new_server)
  json = EnfApi::to_json(new_server)
  EnfApi::API.instance.post "#{@xdns_base_url}/networks/#{network}/servers", json
end

#query(network, type, name) ⇒ Object



87
88
89
# File 'lib/enfapi/dns.rb', line 87

def query(network, type, name)
  EnfApi::API.instance.get "#{@xdns_base_url}/networks/#{network}/query/#{type}/#{name}"
end

#replace_networks_in_zone(zone_id, replace_networks) ⇒ Object



48
49
50
51
# File 'lib/enfapi/dns.rb', line 48

def replace_networks_in_zone(zone_id, replace_networks)
  json = EnfApi::to_json(replace_networks)
  EnfApi::API.instance.put "#{@xdns_base_url}/zones/#{zone_id}/networks", json
end

#update_dns_zone(zone_id, updated_zone) ⇒ Object



34
35
36
37
# File 'lib/enfapi/dns.rb', line 34

def update_dns_zone(zone_id, updated_zone)
  json = EnfApi::to_json(updated_zone)
  EnfApi::API.instance.put "#{@xdns_base_url}/zones/#{zone_id}", json
end