F rage4 bulk update endpoint (#3917)
Add new api endpoint to fog for bulk updates of priority in rage4 class
This commit is contained in:
parent
66f448784f
commit
5cb43829c0
|
@ -27,6 +27,7 @@ module Fog
|
||||||
request :list_geo_regions
|
request :list_geo_regions
|
||||||
request :create_record
|
request :create_record
|
||||||
request :update_record
|
request :update_record
|
||||||
|
request :bulk_update_records
|
||||||
request :list_records
|
request :list_records
|
||||||
request :delete_record
|
request :delete_record
|
||||||
request :set_record_failover
|
request :set_record_failover
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
module Fog
|
||||||
|
module DNS
|
||||||
|
class Rage4
|
||||||
|
class Real
|
||||||
|
# Updates existing records in bulk
|
||||||
|
# ==== Parameters
|
||||||
|
# * zone_id <~Integer> Need to specify the zone id
|
||||||
|
# * options <~Hash> Options should contain the body for the post
|
||||||
|
# in the following format.
|
||||||
|
# data = [{:id=><record_id>, :priority=>2}, {:id=><record_id>, :priority=>2}]
|
||||||
|
# options => { :body => data.to_json }
|
||||||
|
# ==== Returns
|
||||||
|
# * response<~Excon::Response>:
|
||||||
|
# * body<~Hash>:
|
||||||
|
# * 'status'<~Boolean>
|
||||||
|
# * 'id'<~Integer>
|
||||||
|
# * 'error'<~String>
|
||||||
|
|
||||||
|
# https://secure.rage4.com//rapi/SetRecordState/<zone_id>/
|
||||||
|
|
||||||
|
def bulk_update_records(zone_id, options = {})
|
||||||
|
path = "/rapi/SetRecordState/#{zone_id}"
|
||||||
|
body = options[:body] if options[:body].present?
|
||||||
|
|
||||||
|
request(
|
||||||
|
:expects => 200,
|
||||||
|
:method => 'POST',
|
||||||
|
:body => body,
|
||||||
|
:path => path,
|
||||||
|
:headers => {
|
||||||
|
'Content-Type' => "application/json; charset=UTF-8",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -107,6 +107,18 @@ Shindo.tests('Fog::DNS[:rage4] | DNS requests', ['rage4', 'dns']) do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test("bulk_update_records") do
|
||||||
|
pending if Fog.mocking?
|
||||||
|
|
||||||
|
data = { :id => @record_id, :priority => 1 }
|
||||||
|
response = Fog::DNS[:rage4].bulk_update_records(@zone_id, { :body => data.to_json } )
|
||||||
|
|
||||||
|
returns(200) { response.status }
|
||||||
|
returns(true) {response.body['status']}
|
||||||
|
returns(@domain_id) {response.body['id']}
|
||||||
|
returns("") {response.body['error'] }
|
||||||
|
end
|
||||||
|
|
||||||
test("show_current_usage") do
|
test("show_current_usage") do
|
||||||
pending if Fog.mocking?
|
pending if Fog.mocking?
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue