Class: Fog::DNS::AzureRM::Real
- Inherits:
-
Object
- Object
- Fog::DNS::AzureRM::Real
- Defined in:
- lib/fog/azurerm/dns.rb,
lib/fog/azurerm/requests/dns/get_zone.rb,
lib/fog/azurerm/requests/dns/list_zones.rb,
lib/fog/azurerm/requests/dns/delete_zone.rb,
lib/fog/azurerm/requests/dns/check_for_zone.rb,
lib/fog/azurerm/requests/dns/get_record_set.rb,
lib/fog/azurerm/requests/dns/list_record_sets.rb,
lib/fog/azurerm/requests/dns/delete_record_set.rb,
lib/fog/azurerm/requests/dns/create_or_update_zone.rb,
lib/fog/azurerm/requests/dns/create_or_update_record_set.rb,
lib/fog/azurerm/requests/dns/get_records_from_record_set.rb
Overview
Real class for DNS Request
Instance Method Summary collapse
- #check_for_zone(resource_group, name) ⇒ Object
- #create_or_update_record_set(record_set_params, type) ⇒ Object
- #create_or_update_zone(zone_params) ⇒ Object
- #delete_record_set(resource_group, name, zone_name, record_type) ⇒ Object
- #delete_zone(resource_group, name) ⇒ Object
- #get_record_set(resource_group, name, zone_name, record_type) ⇒ Object
- #get_records_from_record_set(resource_group, name, zone_name, record_type) ⇒ Object
- #get_zone(resource_group, name) ⇒ Object
-
#initialize(options) ⇒ Real
constructor
A new instance of Real.
- #list_record_sets(resource_group, zone_name) ⇒ Object
- #list_zones ⇒ Object
Constructor Details
#initialize(options) ⇒ Real
Returns a new instance of Real.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/fog/azurerm/dns.rb', line 36 def initialize() begin require 'azure_mgmt_dns' rescue LoadError => e retry if require('rubygems') raise e. end credentials = Fog::Credentials::AzureRM.get_credentials([:tenant_id], [:client_id], [:client_secret]) @dns_client = ::Azure::ARM::Dns::DnsManagementClient.new(credentials, resource_manager_endpoint_url) @dns_client.subscription_id = [:subscription_id] @tenant_id = [:tenant_id] @client_id = [:client_id] @client_secret = [:client_secret] @resources = Fog::Resources::AzureRM.new( tenant_id: [:tenant_id], client_id: [:client_id], client_secret: [:client_secret], subscription_id: [:subscription_id] ) end |
Instance Method Details
#check_for_zone(resource_group, name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/fog/azurerm/requests/dns/check_for_zone.rb', line 6 def check_for_zone(resource_group, name) msg = "Getting Zone #{name} from Resource Group #{resource_group}." Fog::Logger.debug msg begin zone = @dns_client.zones.get(resource_group, name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end !zone.nil? end |
#create_or_update_record_set(record_set_params, type) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/fog/azurerm/requests/dns/create_or_update_record_set.rb', line 6 def create_or_update_record_set(record_set_params, type) msg = "Creating/updating Recordset #{record_set_params[:name]} in Resource Group: #{record_set_params[:resource_group]}." Fog::Logger.debug msg recordset_object = get_record_set_object(record_set_params, type) begin record_set = @dns_client.record_sets.create_or_update(record_set_params[:resource_group], record_set_params[:zone_name], record_set_params[:name], type, recordset_object) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Record Set #{record_set_params[:name]} created/updated successfully." record_set end |
#create_or_update_zone(zone_params) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/fog/azurerm/requests/dns/create_or_update_zone.rb', line 6 def create_or_update_zone(zone_params) msg = "Creating/updating Zone #{zone_params[:name]} in Resource Group: #{zone_params[:resource_group]}." Fog::Logger.debug msg zone_object = get_zone_object(zone_params) begin zone = @dns_client.zones.create_or_update(zone_params[:resource_group], zone_params[:name], zone_object) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Zone #{zone_params[:name]} created/updated successfully." zone end |
#delete_record_set(resource_group, name, zone_name, record_type) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/fog/azurerm/requests/dns/delete_record_set.rb', line 6 def delete_record_set(resource_group, name, zone_name, record_type) msg = "Deleting Record Set #{name} from Resource Group #{resource_group}." Fog::Logger.debug msg begin @dns_client.record_sets.delete(resource_group, zone_name, name, record_type) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Record Set #{name} Deleted Successfully." true end |
#delete_zone(resource_group, name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/fog/azurerm/requests/dns/delete_zone.rb', line 6 def delete_zone(resource_group, name) msg = "Deleting Zone #{name} from Resource Group #{resource_group}." Fog::Logger.debug msg begin @dns_client.zones.delete(resource_group, name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Zone #{name} Deleted Successfully." true end |
#get_record_set(resource_group, name, zone_name, record_type) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/fog/azurerm/requests/dns/get_record_set.rb', line 6 def get_record_set(resource_group, name, zone_name, record_type) msg = "Getting Record Set #{name} from Resource Group #{resource_group}." Fog::Logger.debug msg begin record_set = @dns_client.record_sets.get(resource_group, zone_name, name, record_type) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end record_set end |
#get_records_from_record_set(resource_group, name, zone_name, record_type) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/fog/azurerm/requests/dns/get_records_from_record_set.rb', line 6 def get_records_from_record_set(resource_group, name, zone_name, record_type) msg = "Getting all records from RecordSet #{name} of type '#{record_type}' in zone #{zone_name}" Fog::Logger.debug msg begin record_set = @dns_client.record_sets.get(resource_group, zone_name, name, record_type) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end case record_type when 'A' record_set.arecords when 'CNAME' record_set.cname_record end end |
#get_zone(resource_group, name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/fog/azurerm/requests/dns/get_zone.rb', line 6 def get_zone(resource_group, name) msg = "Getting Zone #{name} from Resource Group #{resource_group}." Fog::Logger.debug msg begin zone = @dns_client.zones.get(resource_group, name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end zone end |
#list_record_sets(resource_group, zone_name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/fog/azurerm/requests/dns/list_record_sets.rb', line 6 def list_record_sets(resource_group, zone_name) msg = 'Getting list of Record sets.' Fog::Logger.debug msg begin zones = @dns_client.record_sets.list_all_in_resource_group(resource_group, zone_name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end zones end |
#list_zones ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/fog/azurerm/requests/dns/list_zones.rb', line 6 def list_zones msg = 'Getting list of Zones.' Fog::Logger.debug msg begin zones = @dns_client.zones.list_in_subscription rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end zones end |