Module: Dnsimple::Client::ZonesRecords
- Included in:
- ZonesService
- Defined in:
- lib/dnsimple/client/zones_records.rb
Instance Method Summary collapse
-
#all_zone_records(account_id, zone_id, options = {}) ⇒ Dnsimple::CollectionResponse<Dnsimple::Struct::ZoneRecord>
Lists ALL the zone records in the account.
-
#create_zone_record(account_id, zone_id, attributes, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::ZoneRecord>
Creates a zone record in the account.
-
#delete_zone_record(account_id, zone_id, record_id, options = {}) ⇒ Dnsimple::Response<nil>
Deletes a zone record from the account.
-
#update_zone_record(account_id, zone_id, record_id, attributes, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::ZoneRecord>
Updates a zone record in the account.
-
#zone_record(account_id, zone_id, record_id, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::ZoneRecord>
Gets a zone record from the account.
-
#zone_records(account_id, zone_id, options = {}) ⇒ Dnsimple::PaginatedResponse<Dnsimple::Struct::ZoneRecord>
(also: #list_zone_records)
Lists the zone records in the account.
Instance Method Details
#all_zone_records(account_id, zone_id, options = {}) ⇒ Dnsimple::CollectionResponse<Dnsimple::Struct::ZoneRecord>
Lists ALL the zone records in the account.
This method is similar to #records, but instead of returning the results of a specific page it iterates all the pages and returns the entire collection.
Please use this method carefully, as fetching the entire collection will increase the number of requests you send to the API server and you may eventually risk to hit the throttle limit.
67 68 69 |
# File 'lib/dnsimple/client/zones_records.rb', line 67 def all_zone_records(account_id, zone_id, = {}) paginate(:list_zone_records, account_id, zone_id, ) end |
#create_zone_record(account_id, zone_id, attributes, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::ZoneRecord>
Creates a zone record in the account.
86 87 88 89 90 91 |
# File 'lib/dnsimple/client/zones_records.rb', line 86 def create_zone_record(account_id, zone_id, attributes, = {}) Extra.validate_mandatory_attributes(attributes, [:type, :name, :content]) response = client.post(Client.versioned("/%s/zones/%s/records" % [account_id, zone_id]), attributes, ) Dnsimple::Response.new(response, Struct::ZoneRecord.new(response["data"])) end |
#delete_zone_record(account_id, zone_id, record_id, options = {}) ⇒ Dnsimple::Response<nil>
Deletes a zone record from the account.
WARNING: this cannot be undone.
153 154 155 156 157 |
# File 'lib/dnsimple/client/zones_records.rb', line 153 def delete_zone_record(account_id, zone_id, record_id, = {}) response = client.delete(Client.versioned("/%s/zones/%s/records/%s" % [account_id, zone_id, record_id]), nil, ) Dnsimple::Response.new(response, nil) end |
#update_zone_record(account_id, zone_id, record_id, attributes, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::ZoneRecord>
Updates a zone record in the account.
130 131 132 133 134 |
# File 'lib/dnsimple/client/zones_records.rb', line 130 def update_zone_record(account_id, zone_id, record_id, attributes, = {}) response = client.patch(Client.versioned("/%s/zones/%s/records/%s" % [account_id, zone_id, record_id]), attributes, ) Dnsimple::Response.new(response, Struct::ZoneRecord.new(response["data"])) end |
#zone_record(account_id, zone_id, record_id, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::ZoneRecord>
Gets a zone record from the account.
108 109 110 111 112 |
# File 'lib/dnsimple/client/zones_records.rb', line 108 def zone_record(account_id, zone_id, record_id, = {}) response = client.get(Client.versioned("/%s/zones/%s/records/%s" % [account_id, zone_id, record_id]), ) Dnsimple::Response.new(response, Struct::ZoneRecord.new(response["data"])) end |
#zone_records(account_id, zone_id, options = {}) ⇒ Dnsimple::PaginatedResponse<Dnsimple::Struct::ZoneRecord> Also known as: list_zone_records
Lists the zone records in the account.
35 36 37 38 39 |
# File 'lib/dnsimple/client/zones_records.rb', line 35 def zone_records(account_id, zone_id, = {}) response = client.get(Client.versioned("/%s/zones/%s/records" % [account_id, zone_id]), Options::ListOptions.new()) Dnsimple::PaginatedResponse.new(response, response["data"].map { |r| Struct::ZoneRecord.new(r) }) end |