module MooMoo
module OpenSRS
module NameserverCommands
# Creates a nameserver
#
# ==== Required
# * :name - name of the nameserver
# * :ip - ip address for the nameserver
# * :domain - domain name to create it for
#
# ==== Optional
# * :cookie - cookie for domain
def create_nameserver(attribs)
Args.new(attribs) do |c|
c.requires :name, :ip, :domain
c.optionals :cookie
end
cookie = attribs.delete :cookie
run_command :create, :nameserver, attribs, cookie
end
# Deletes a nameserver
#
# ==== Required
# * :name - name of the nameserver
# * :ip - ip address for the nameserver
# * :domain - domain name to create it for
#
# ==== Optional
# * :cookie - cookie for domain
def delete_nameserver(attribs, cookie = nil)
Args.new(attribs) do |c|
c.requires :name, :ip, :domain
c.optionals :cookie
end
cookie = attribs.delete :cookie
run_command :delete, :nameserver, attribs, cookie
end
# Queries nameservers that exist for the given domain
#
# ==== Required
# * :domain - domain profile to query
def get_nameserver(domain)
run_command :get, :nameserver, {
:name => 'all',
:domain => domain,
:key => 'attributes'
}
end
# Renames a nameserver
#
# ==== Required
# * :name - current name of the nameserver
# * :ip - ip address of the name server
# * :new_name - new name for the nameserver
# * :domain - domain profile the nameserver was created for
def modify_nameserver(attribs)
Args.new(attribs) do |c|
c.requires :name, :ip, :new_name, :domain
end
run_command :modify, :nameserver, attribs
end
end
end
end