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) ⇒ Object



79
80
81
82
83
# File 'lib/vinyldns/api/zone/zone.rb', line 79

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

.delete(zone_id, id) ⇒ Object



93
94
95
96
# File 'lib/vinyldns/api/zone/zone.rb', line 93

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



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

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



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

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



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

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
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{zone_id}/#{@api_uri_addition}?#{name_filter.nil? ? '' : URI.encode_www_form(['recordNameFilter', name_filter], ['maxItems', max_items], ['startFrom', start_from])}")
end

.update(zone_id, request_params) ⇒ Object

Raises:

  • (ArgumentError)


85
86
87
88
89
90
91
# File 'lib/vinyldns/api/zone/zone.rb', line 85

def self.update(zone_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}", request_params)
end