1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
module Fog
module Parsers
module AWS
module DNS
class CreateHostedZone < Fog::Parsers::Base
def reset
@hosted_zone = {}
@change_info = {}
@name_servers = []
@response = {}
@section = :hosted_zone
end
def end_element(name)
if @section == :hosted_zone
case name
when 'Id'
@hosted_zone[name] = value.sub('/hostedzone/', '')
when 'Name', 'CallerReference', 'Comment', 'PrivateZone'
@hosted_zone[name]= value
when 'HostedZone'
@response['HostedZone'] = @hosted_zone
@hosted_zone = {}
@section = :change_info
end
elsif @section == :change_info
case name
when 'Id'
@change_info[name]= value.sub('/change/', '')
when 'Status', 'SubmittedAt'
@change_info[name] = value
when 'ChangeInfo'
@response['ChangeInfo'] = @change_info
@change_info = {}
@section = :name_servers
end
elsif @section == :name_servers
case name
when 'NameServer'
@name_servers << value
when 'NameServers'
@response['NameServers'] = @name_servers
@name_servers = {}
end
end
end
end
end
end
end
end
|