def get(record_name, record_type = nil, record_identifier = nil)
requires :zone
record_name = record_name + "." unless record_name.end_with?(".")
record_type = record_type.upcase unless record_type.nil?
options = {
:max_items => 1,
:name => record_name,
:type => record_type,
:identifier => record_identifier
}
options.delete_if {|key, value| value.nil?}
data = service.list_resource_record_sets(zone.id, options).body
(data['ResourceRecordSets'] || []).map do |record_data|
record = new(record_data)
if (record.name.casecmp(record_name) == 0) &&
(record_type.nil? || (record.type == record_type)) &&
(record_identifier.nil? || (record.set_identifier == record_identifier))
record
end
end.compact.first
rescue Fog::DNS::AWS::NotFound
nil
end