Class | Fog::DNS::Zerigo::Real
In: | lib/fog/zerigo/dns.rb lib/fog/zerigo/requests/dns/count_hosts.rb lib/fog/zerigo/requests/dns/update_zone.rb lib/fog/zerigo/requests/dns/delete_zone.rb lib/fog/zerigo/requests/dns/create_zone.rb lib/fog/zerigo/requests/dns/count_zones.rb lib/fog/zerigo/requests/dns/get_zone.rb lib/fog/zerigo/requests/dns/update_host.rb lib/fog/zerigo/requests/dns/delete_host.rb lib/fog/zerigo/requests/dns/list_zones.rb lib/fog/zerigo/requests/dns/get_zone_stats.rb lib/fog/zerigo/requests/dns/get_host.rb lib/fog/zerigo/requests/dns/create_host.rb lib/fog/zerigo/requests/dns/find_hosts.rb lib/fog/zerigo/requests/dns/list_hosts.rb
Parent: | Object

### Methods

count_hosts count_zones create_host create_zone delete_host delete_zone find_hosts get_host get_zone get_zone_stats list_hosts list_zones new reload request update_host update_zone

### Public Class methods

new(options={})

### Public Instance methods

count_hosts(zone_id)

total number of hosts available for the specified zone. It is the same value as provided in the X-Query-Count header in the list_hosts API method

#### Returns

- response<~Excon::Response>:
  - body<~Hash>
    - ‘count’<~Integer>
  - ‘status’<~Integer> - 200 indicates success

count_zones()

Total number of zones hosted Zerigo for this account. It is the same value as provided in the X-Query-Count header in the list_zones API method

#### Returns

- response<~Excon::Response>:
  - body<~Hash>
    - ‘count’<~Integer>
  - ‘status’<~Integer> - 200 indicates success

create_host(zone_id, host_type, data, options = {})

Create a new host in the specified zone

#### Parameters

- zone_id<~Integer>
- host_type<~String>
- data<~String>
- options<~Hash> - optional parameters
  - hostname<~String> - Note: normally this is set/required!!
  - notes<~String>
  - priority<~Integer> - Note: required for MX or SRV records
  - ttl<~Integer>

#### Returns

- response<~Excon::Response>:
  - body<~Hash>
    - ‘created-at’<~String>
    - ‘data’<~String>
    - ‘fqdn’<~String>
    - ‘host-type’<~String>
    - ‘hostname’<~String>
    - ‘id’<~Integer>
    - ‘notes’<~String>
    - ‘priority’<~Integer>
    - ‘ttl’<~Integer>
    - ‘updated-at’<~String>
    - ‘zone-id’<~String>
  - ‘status’<~Integer> - 201 if successful

create_zone(domain, default_ttl, ns_type, options = {})

Create a new zone for Zerigo‘s DNS servers to serve/host

#### Parameters

- domain<~String>
- default_ttl<~Integer>
- ns_type<~String>
- options<~Hash> - optional paramaters
  - ns1<~String> - required if ns_type == sec
  - nx_ttl<~Integer> -
  - slave_nameservers<~String> - required if ns_type == pri
  - axfr_ips<~String> - comma-separated list of IPs or IP blocks allowed to perform AXFRs
  - custom_nameservers<~String> - comma-separated list of custom nameservers
  - custom_ns<~String> - indicates if vanity (custom) nameservers are enabled for this domain
  - hostmaster<~String> - email of the DNS administrator or hostmaster
  - notes<~String> - notes about the domain
  - restrict_axfr<~String> - indicates if AXFR transfers should be restricted to IPs in axfr-ips
  - tag_list<~String> - List of all tags associated with this domain

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘id’<~Integer> - zone ID to use for future calls
    - ‘default-ttl’<~Integer>
    - ‘nx-ttl’<~Integer>
    - ‘hosts-count’<~Integer>
    - ‘created-at’<~String>
    - ‘custom-nameservers’<~String>
    - ‘custom-ns’<~String>
    - ‘domain’<~String>
    - ‘hostmaster’<~String>
    - ‘notes’<~String>
    - ‘ns1’<~String>
    - ‘ns-type’<~String>
    - ‘slave-nameservers’<~String>
    - ‘tag-list’<~String>
    - ‘updated-at’<~String>
    - ‘hosts’<~String>
    - ‘axfr-ips’<~String>
    - ‘restrict-axfr’<~String>
  - ‘status’<~Integer> - 201 if successful

delete_host(host_id)

Delete a host record

#### Parameters

- host_id<~Integer> - Id of host record to delete

#### Returns

- response<~Excon::Response>:
  - ‘status’<~Integer> - 200 indicates success

delete_zone(zone_id)

Delete a zone from Zerigo

#### Parameters

- zone_id<~Integer> - Id of zone to delete

#### Returns

- response<~Excon::Response>:
  - ‘status’<~Integer> - 200 indicates success

find_hosts(fqdn, zone_id = nil)

Get list of all the host records that match the FQDN. If desired, can limit search to a specific zone

#### Parameters

- fqdn<~String> - domain to look for
- zone_id<~Integer> - if want to limit search to specific zone

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘hosts’<~Hash>
      - ‘created-at’<~String>
      - ‘data’<~String>
      - ‘fqdn’<~String>
      - ‘host-type’<~String>
      - ‘hostname’<~String>
      - ‘id’<~Integer>
      - ‘notes’<~String>
      - ‘priority’<~Integer>
      - ‘ttl’<~Integer>
      - ‘updated-at’<~String>
      - ‘zone-id’<~String>
  - ‘status’<~Integer> - 200 indicated success

get_host(host_id)

get details about a given host record

#### Parameters

- host_id<~Integer> - ID of the host record to retrieve

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘created-at’<~String>
    - ‘data’<~String>
    - ‘fqdn’<~String>
    - ‘host-type’<~String>
    - ‘hostname’<~String>
    - ‘id’<~Integer>
    - ‘notes’<~String>
    - ‘priority’<~Integer>
    - ‘ttl’<~Integer>
    - ‘updated-at’<~String>
    - ‘zone-id’<~String>
  - ‘status’<~Integer> - 200 indicates success

get_zone(zone_id_or_domain)

Get details of a DNS zone. The response is similar to list_zones, with the addition of hosts-count and possibly hosts.

#### Parameters

- zone<~String> - Either the zone ID or the zone name (ie sample-domain.com)

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘default-ttl’<~Integer>
    - ‘id’<~Integer>
    - ‘nx-ttl’<~Integer>
    - ‘hosts-count’<~Integer>
    - ‘created-at’<~String>
    - ‘custom-nameservers’<~String>
    - ‘custom-ns’<~String>
    - ‘domain’<~String>
    - ‘hostmaster’<~String>
    - ‘notes’<~String>
    - ‘ns1’<~String>
    - ‘ns-type’<~String>
    - ‘slave-nameservers’<~String>
    - ‘tag-list’<~String>
    - ‘updated-at’<~String>
    - ‘hosts’<~Array> - a list of all host records. For the format of host info, see get_host()
    - ‘axfr-ips’<~String>
    - ‘restrict-axfr’<~String>
  - ‘status’<~Integer> - 200 indicates success

get_zone_stats(zone_id)

returns current traffic statistics about this zone. Queries is measured from the beginning of the current period through the time of the API call.

#### Parameters

- zone_id<~Integer> - the zone ID

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘domain’<~String> - domain name (ie example.com)
    - ‘id’<~Integer> - Id of the zone
    - ‘period-being’<~String> - date in following format 2010-07-01
    - ‘period-end’<~String> - date
    - ‘queries’<~Integer> - # of queries for the zone during period
  - ‘status’<~Integer> - 200 indicates success

list_hosts(zone_id)

Get list of all DNS zones hosted on Slicehost (for this account)

#### Parameters

- zone_id<~Integer> - the zone ID of the zone from which to get the host records for

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘hosts’<~Array>
      - ‘created-at’<~String>
      - ‘data’<~String>
      - ‘fqdn’<~String>
      - ‘host-type’<~String>
      - ‘hostname’<~String>
      - ‘id’<~Integer>
      - ‘notes’<~String>
      - ‘priority’<~Integer>
      - ‘ttl’<~Integer>
      - ‘updated-at’<~String>
      - ‘zone-id’<~String>
- ‘status’<~Integer> - 200 indicates success

list_zones()

Get list of all DNS zones hosted on Slicehost (for this account)

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘zones’<~Array>
      - ‘default-ttl’<~Integer>
      - ‘id’<~Integer>
      - ‘nx-ttl’<~Integer>
      - ‘hosts-count’<~Integer>
      - ‘created-at’<~String>
      - ‘custom-nameservers’<~String>
      - ‘custom-ns’<~String>
      - ‘domain’<~String>
      - ‘hostmaster’<~String>
      - ‘notes’<~String>
      - ‘ns1’<~String>
      - ‘ns-type’<~String>
      - ‘slave-nameservers’<~String>
      - ‘tag-list’<~String>
      - ‘updated-at’<~String>
      - ‘hosts’<~String>
      - ‘axfr-ips’<~String>
      - ‘restrict-axfr’<~String>
  - ‘status’<~Integer> - 200 indicates success

reload()
request(params)
update_host(host_id, options = {})

Update a host record

#### Parameters

- host_id<~Integer> - host ID of the record to update
- options<~Hash> - optional paramaters
  - host_type<~String>
  - data<~String>
  - hostname<~String> - Note: normally this is set/required!!
  - notes<~String>
  - priority<~Integer> - Note: required for MX or SRV records
  - ttl<~Integer>

#### Returns

- response<~Excon::Response>:
  - ‘status’<~Integer> - 200 for success

update_zone(zone_id, options = {})

Update the parameters of a zone

#### Parameters

- zone_id<~Integer>
- options<~Hash> - optional paramaters
  - default_ttl<~Integer>
  - ns_type<~String>
  - ns1<~String> - required if ns_type == sec
  - nx_ttl<~Integer> -
  - slave_nameservers<~String> - required if ns_type == pri
  - axfr_ips<~String> - comma-separated list of IPs or IP blocks allowed to perform AXFRs
  - custom_nameservers<~String> - comma-separated list of custom nameservers
  - custom_ns<~String> - indicates if vanity (custom) nameservers are enabled for this domain
  - hostmaster<~String> - email of the DNS administrator or hostmaster
  - notes<~String> - notes about the domain
  - restrict_axfr<~String> - indicates if AXFR transfers should be restricted to IPs in axfr-ips
  - tag_list<~String> - List of all tags associated with this domain

#### Returns

- response<~Excon::Response>:
  - ‘status’<~Integer> - 200 for success

[Validate]