Class: Vinyldns::API::Zone::RecordSet

Inherits:
Object
  • Object
show all
Defined in:
lib/vinyldns/api/zone/zone.rb

Class Method Summary collapse

Class Method Details

.create(zone_id, name, type, ttl, records_array, owner_group_id = "") ⇒ Object



81
82
83
84
85
86
87
# File 'lib/vinyldns/api/zone/zone.rb', line 81

def self.create(zone_id, name, type, ttl, records_array, owner_group_id = "")
  # Post
  api_request_object = Vinyldns::API.new('post')
  payload = { 'name': name, 'type': type, 'ttl': ttl, 'records': records_array, 'zoneId': zone_id, 'ownerGroupId': owner_group_id }
  params = Vinyldns::Util.clean_request_payload(payload)
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{zone_id}/#{@api_uri_addition}", params)
end

.delete(zone_id, id) ⇒ Object



97
98
99
100
# File 'lib/vinyldns/api/zone/zone.rb', line 97

def self.delete(zone_id, id)
  api_request_object = Vinyldns::API.new('delete')
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{zone_id}/#{@api_uri_addition}/#{id}")
end

.get(zone_id, id) ⇒ Object



102
103
104
105
# File 'lib/vinyldns/api/zone/zone.rb', line 102

def self.get(zone_id, id)
  api_request_object = Vinyldns::API.new('get')
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{zone_id}/#{@api_uri_addition}/#{id}")
end

.get_change(zone_id, id, change_id) ⇒ Object

Use Vinyldns::API::Zone.list_changes to obtain change_id



114
115
116
117
# File 'lib/vinyldns/api/zone/zone.rb', line 114

def self.get_change(zone_id, id, change_id) # Use Vinyldns::API::Zone.list_changes to obtain change_id
  api_request_object = Vinyldns::API.new('get')
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{zone_id}/#{@api_uri_addition}/#{id}/changes/#{change_id}")
end

.search(zone_id, name_filter = nil, max_items = 10, start_from = nil) ⇒ Object



107
108
109
110
111
112
# File 'lib/vinyldns/api/zone/zone.rb', line 107

def self.search(zone_id, name_filter = nil, max_items = 10, start_from = nil)
  api_request_object = Vinyldns::API.new('get')
  # UNI.encode matches all symbols that must be replaced with codes
  parameters = "?maxItems=#{max_items}#{name_filter.nil? ? '' : "&recordNameFilter=#{name_filter}"}#{start_from.nil? ? '' : "&start_from=#{start_from}"}"
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{zone_id}/#{@api_uri_addition}#{parameters}")
end

.update(zone_id, id, request_params) ⇒ Object

Raises:

  • (ArgumentError)


89
90
91
92
93
94
95
# File 'lib/vinyldns/api/zone/zone.rb', line 89

def self.update(zone_id, id, request_params)
  # We use request_params here as values required by create may differ from update
  # Validations
  raise(ArgumentError, 'Request Parameters must be a Hash') unless request_params.is_a? Hash
  api_request_object = Vinyldns::API.new('put')
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{zone_id}/recordsets/#{id}", request_params)
end