Module: Dnsimple::Client::NameServers

Included in:
NameServersService
Defined in:
lib/dnsimple/client/name_servers.rb

Instance Method Summary collapse

Instance Method Details

#change(domain, servers, options = {}) ⇒ Array<String>

Changes the name servers for a domain.

Parameters:

  • domain (#to_s)

    The domain id or domain name.

  • servers (Array<String>)

    The name server list.

Returns:

  • (Array<String>)

    The delegates name servers.

Raises:

See Also:



32
33
34
35
36
37
38
# File 'lib/dnsimple/client/name_servers.rb', line 32

def change(domain, servers, options = {})
  servers  = servers.inject({}) { |hash, server| hash.merge("ns#{hash.length + 1}" => server) }
  options  = options.merge({ name_servers: servers })
  response = client.post(Client.versioned("/domains/#{domain}/name_servers"), options)

  response.parsed_response
end

#deregister(domain, name, options = {}) ⇒ void

This method returns an undefined value.

De-registers a name server at the registry.

Parameters:

  • domain (#to_s)

    The domain id or domain name.

  • name (String)

    The hostname to register.

Raises:

See Also:



65
66
67
# File 'lib/dnsimple/client/name_servers.rb', line 65

def deregister(domain, name, options = {})
  client.delete(Client.versioned("/domains/#{domain}/registry_name_servers/#{name}"), options)
end

#name_servers(domain, options = {}) ⇒ Array<String> Also known as: list, list_name_servers

Lists the name servers for a domain.

Parameters:

  • domain (#to_s)

    The domain id or domain name.

Returns:

  • (Array<String>)

    The delegates name servers.

Raises:

See Also:



14
15
16
17
18
# File 'lib/dnsimple/client/name_servers.rb', line 14

def name_servers(domain, options = {})
  response = client.get(Client.versioned("/domains/#{domain}/name_servers"), options)

  response.parsed_response
end

#register(domain, name, ip, options = {}) ⇒ void

This method returns an undefined value.

Registers a name server at the registry.

Parameters:

  • domain (#to_s)

    The domain id or domain name.

  • name (String)

    The hostname to register.

  • ip (String)

    The hostname IP address.

Raises:

See Also:



51
52
53
54
# File 'lib/dnsimple/client/name_servers.rb', line 51

def register(domain, name, ip, options = {})
  options = options.merge({ name_server: { name: name, ip: ip } })
  client.post(Client.versioned("/domains/#{domain}/registry_name_servers"), options)
end