lib/fog/azurerm/requests/dns/check_for_zone.rb in fog-azure-rm-0.0.8 vs lib/fog/azurerm/requests/dns/check_for_zone.rb in fog-azure-rm-0.0.9
- old
+ new
@@ -2,36 +2,24 @@
module DNS
class AzureRM
# Real class for DNS Request
class Real
def check_for_zone(resource_group, name)
- resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Network/dnsZones/#{name}?api-version=2015-05-04-preview"
+ msg = "Getting Zone #{name} from Resource Group #{resource_group}."
+ Fog::Logger.debug msg
begin
- token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
- RestClient.get(
- resource_url,
- accept: 'application/json',
- content_type: 'application/json',
- authorization: token
- )
- true
- rescue RestClient::Exception => e
- body = JSON.parse(e.response)
- if (body['error']['code']) == 'ResourceNotFound'
- false
- else
- Fog::Logger.warning "Exception checking if the zone exists in resource group #{resource_group}"
- msg = "Exception checking if the zone exists: #{body['error']['code']}, #{body['error']['message']}"
- raise msg
- end
+ zone = @dns_client.zones.get(resource_group, name)
+ rescue MsRestAzure::AzureOperationError => e
+ raise_azure_exception(e, msg)
end
+ !zone.nil?
end
end
# Mock class for DNS Request
class Mock
- def check_for_zone(_resource_group, name)
- Fog::Logger.debug "Zone name #{name} is available."
+ def check_for_zone(*)
+ Fog::Logger.debug 'Zone name name is available.'
true
end
end
end
end