class Fog::DNS::AzureRM::RecordSet
This class is giving implementation of create/save and delete/destroy for RecordSet
.
Public Class Methods
parse(recordset)
click to toggle source
# File lib/fog/azurerm/models/dns/record_set.rb, line 17 def self.parse(recordset) hash = get_hash_from_object(recordset) hash['resource_group'] = get_resource_group_from_id(recordset.id) hash['zone_name'] = get_record_set_from_id(recordset.id) type = get_type_from_recordset_type(recordset.type) hash['records'] = [] if type == 'A' record_entries = recordset.arecords record_entries.each do |record| hash['records'] << record.ipv4address end end if type == 'CNAME' record_entries = recordset.cname_record hash['records'] << record_entries.cname end unless recordset.arecords.nil? a_records = [] recordset.arecords.each do |record| a_record = Fog::DNS::AzureRM::ARecord.new a_record.merge_attributes(Fog::DNS::AzureRM::ARecord.parse(record)) a_records.push(a_record) end hash['a_records'] = a_records end unless recordset.cname_record.nil? cname_record = Fog::DNS::AzureRM::CnameRecord.new cname_record.merge_attributes(Fog::DNS::AzureRM::CnameRecord.parse(recordset.cname_record)) hash['cname_record'] = cname_record end hash end
Public Instance Methods
add_a_type_record(record)
click to toggle source
# File lib/fog/azurerm/models/dns/record_set.rb, line 75 def add_a_type_record(record) records << record record_set = service.create_or_update_record_set(record_set_params, get_record_type(type)) merge_attributes(Fog::DNS::AzureRM::RecordSet.parse(record_set)) end
destroy()
click to toggle source
# File lib/fog/azurerm/models/dns/record_set.rb, line 60 def destroy service.delete_record_set(resource_group, name, zone_name, get_record_type(type)) end
get_records(resource_group, name, zone_name, record_type)
click to toggle source
# File lib/fog/azurerm/models/dns/record_set.rb, line 64 def get_records(resource_group, name, zone_name, record_type) service.get_records_from_record_set(resource_group, name, zone_name, record_type) end
remove_a_type_record(record)
click to toggle source
# File lib/fog/azurerm/models/dns/record_set.rb, line 81 def remove_a_type_record(record) records.delete(record) record_set = service.create_or_update_record_set(record_set_params, get_record_type(type)) merge_attributes(Fog::DNS::AzureRM::RecordSet.parse(record_set)) end
save()
click to toggle source
# File lib/fog/azurerm/models/dns/record_set.rb, line 54 def save requires :name, :resource_group, :zone_name, :records, :type, :ttl record_set = service.create_or_update_record_set(record_set_params, type) merge_attributes(Fog::DNS::AzureRM::RecordSet.parse(record_set)) end
update_ttl(ttl)
click to toggle source
# File lib/fog/azurerm/models/dns/record_set.rb, line 68 def update_ttl(ttl) params = record_set_params params[:ttl] = ttl record_set = service.create_or_update_record_set(params, get_record_type(type)) merge_attributes(Fog::DNS::AzureRM::RecordSet.parse(record_set)) end
Private Instance Methods
record_set_params()
click to toggle source
# File lib/fog/azurerm/models/dns/record_set.rb, line 89 def record_set_params { name: name, resource_group: resource_group, zone_name: zone_name, records: records, ttl: ttl, cname_record: cname_record, a_records: a_records } end