diff --git a/lib/fog/dynect/requests/dns/get_record.rb b/lib/fog/dynect/requests/dns/get_record.rb index 38dbad423..134be3a55 100644 --- a/lib/fog/dynect/requests/dns/get_record.rb +++ b/lib/fog/dynect/requests/dns/get_record.rb @@ -57,7 +57,11 @@ module Fog }] } else - records = zone[:records][type].select { |record| record[:fqdn] == fqdn } + records = if type == "ANY" + zone[:records].values.flatten.select { |record| record[:fqdn] == fqdn } + else + zone[:records][type].select { |record| record[:fqdn] == fqdn } + end response.body = { "status" => "success", "data" => records.collect { |record| "/REST/#{record[:type]}Record/#{record[:zone][:zone]}/#{record[:fqdn]}/#{record[:record_id]}" }, diff --git a/tests/dns/requests/dynect/dns_tests.rb b/tests/dns/requests/dynect/dns_tests.rb index 4be2a77fd..26f36a75a 100644 --- a/tests/dns/requests/dynect/dns_tests.rb +++ b/tests/dns/requests/dynect/dns_tests.rb @@ -126,6 +126,12 @@ Shindo.tests('Dynect::dns | DNS requests', ['dynect', 'dns']) do data end + @dns.post_record('CNAME', @domain, @fqdn, {'address' => '1.2.3.4'}, {}) + + tests("get_record('ANY', '#{@domain}', '#{@fqdn}')").formats(get_records_format) do + @dns.get_record('ANY', @domain, @fqdn) + end + get_record_format = shared_format.merge({ 'data' => { 'zone' => String,