class Sunzi::Vps::DNS::DigitalOcean
Public Instance Methods
add(fqdn, ip)
click to toggle source
# File lib/sunzi/vps/dns/digital_ocean.rb, line 13 def add(fqdn, ip) say 'adding the public IP to DigitalOcean DNS...' client.domain_records.create( DropletKit::DomainRecord.new( type: 'A', name: fqdn.sub('.' + @domain.name, ''), data: ip, ), for_domain: @domain.name ) end
delete(ip)
click to toggle source
# File lib/sunzi/vps/dns/digital_ocean.rb, line 25 def delete(ip) say 'deleting the public IP from DigitalOcean DNS...' domain_record = client.domain_records.all(for_domain: @domain.name).find{|i| i.type == 'A' && i.data == ip } abort_with "ip address #{ip} was not found on DigitalOcean DNS!" unless domain_record client.domain_records.delete(id: domain_record.id, for_domain: @domain.name) end
verify()
click to toggle source
# File lib/sunzi/vps/dns/digital_ocean.rb, line 6 def verify @domain = client.domains.find(name: @zone) rescue DropletKit::Error => e abort_with "zone for #{@zone} was not found on DigitalOcean DNS!" if e.message =~ /not_found/ raise end