Module: Dnsimple::Client::ZonesRecords
- Included in:
- ZonesService
- Defined in:
- lib/dnsimple/client/zones_records.rb
Instance Method Summary collapse
-
#all_records(account_id, zone_id, options = {}) ⇒ Dnsimple::CollectionResponse<Dnsimple::Struct::Record>
Lists ALL the zone records in the account.
-
#create_record(account_id, zone_id, attributes, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::Record>
Creates a zone record in the account.
-
#delete_record(account_id, zone_id, record_id, options = {}) ⇒ Dnsimple::Response<nil>
Deletes a zone record from the account.
-
#record(account_id, zone_id, record_id, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::Domain>
Gets a zone record from the account.
-
#records(account_id, zone_id, options = {}) ⇒ Dnsimple::PaginatedResponse<Dnsimple::Struct::Record>
(also: #list_records)
Lists the zone records in the account.
-
#update_record(account_id, zone_id, record_id, attributes, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::Record>
Updates a zone record in the account.
Instance Method Details
#all_records(account_id, zone_id, options = {}) ⇒ Dnsimple::CollectionResponse<Dnsimple::Struct::Record>
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.
46 47 48 |
# File 'lib/dnsimple/client/zones_records.rb', line 46 def all_records(account_id, zone_id, = {}) paginate(:records, account_id, zone_id, ) end |
#create_record(account_id, zone_id, attributes, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::Record>
Creates a zone record in the account.
61 62 63 64 65 66 |
# File 'lib/dnsimple/client/zones_records.rb', line 61 def create_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::Record.new(response["data"])) end |
#delete_record(account_id, zone_id, record_id, options = {}) ⇒ Dnsimple::Response<nil>
Deletes a zone record from the account.
WARNING: this cannot be undone.
119 120 121 122 123 |
# File 'lib/dnsimple/client/zones_records.rb', line 119 def delete_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 |
#record(account_id, zone_id, record_id, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::Domain>
Gets a zone record from the account.
80 81 82 83 84 |
# File 'lib/dnsimple/client/zones_records.rb', line 80 def 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::Record.new(response["data"])) end |
#records(account_id, zone_id, options = {}) ⇒ Dnsimple::PaginatedResponse<Dnsimple::Struct::Record> Also known as: list_records
Lists the zone records in the account.
22 23 24 25 26 |
# File 'lib/dnsimple/client/zones_records.rb', line 22 def records(account_id, zone_id, = {}) response = client.get(Client.versioned("/%s/zones/%s/records" % [account_id, zone_id]), ) Dnsimple::PaginatedResponse.new(response, response["data"].map { |r| Struct::Record.new(r) }) end |
#update_record(account_id, zone_id, record_id, attributes, options = {}) ⇒ Dnsimple::Response<Dnsimple::Struct::Record>
Updates a zone record in the account.
99 100 101 102 103 |
# File 'lib/dnsimple/client/zones_records.rb', line 99 def update_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::Record.new(response["data"])) end |