class Fog::AWS::DNS::Record
Public Class Methods
new(attributes={})
click to toggle source
Calls superclass method
# File lib/fog/aws/models/dns/record.rb, line 25 def initialize(attributes={}) super end
Public Instance Methods
destroy()
click to toggle source
# File lib/fog/aws/models/dns/record.rb, line 29 def destroy options = attributes_to_options('DELETE') service.change_resource_record_sets(zone.id, [options]) true end
modify(new_attributes)
click to toggle source
# File lib/fog/aws/models/dns/record.rb, line 49 def modify(new_attributes) options = [] # Delete the current attributes options << attributes_to_options('DELETE') # Create the new attributes merge_attributes(new_attributes) options << attributes_to_options('CREATE') data = service.change_resource_record_sets(zone.id, options).body merge_attributes(data) true end
ready?()
click to toggle source
Returns true if record is insync. May only be called for newly created or modified records that have a change_id and status set.
# File lib/fog/aws/models/dns/record.rb, line 66 def ready? requires :change_id, :status status == 'INSYNC' end
reload()
click to toggle source
Calls superclass method
# File lib/fog/aws/models/dns/record.rb, line 71 def reload # If we have a change_id (newly created or modified), then reload performs a get_change to update status. if change_id data = service.get_change(change_id).body merge_attributes(data) self else super end end
save()
click to toggle source
# File lib/fog/aws/models/dns/record.rb, line 39 def save unless self.alias_target self.ttl ||= 3600 end options = attributes_to_options('CREATE') data = service.change_resource_record_sets(zone.id, [options]).body merge_attributes(data) true end
zone()
click to toggle source
# File lib/fog/aws/models/dns/record.rb, line 35 def zone @zone end
Private Instance Methods
attributes_to_options(action)
click to toggle source
# File lib/fog/aws/models/dns/record.rb, line 88 def attributes_to_options(action) requires :name, :type, :zone requires_one :value, :alias_target options = { :action => action, :name => name, :resource_records => [*value], :alias_target => symbolize_keys(alias_target), :ttl => ttl, :type => type, :weight => weight, :set_identifier => set_identifier, :region => region, :failover => failover, :geo_location => geo_location, :health_check_id => health_check_id } unless self.alias_target requires :ttl options[:ttl] = ttl end options end
zone=(new_zone)
click to toggle source
# File lib/fog/aws/models/dns/record.rb, line 84 def zone=(new_zone) @zone = new_zone end