1
0
Fork 0
mirror of https://github.com/fog/fog-aws.git synced 2022-11-09 13:50:52 -05:00
fog--fog-aws/lib/fog/aws/parsers/dns/get_hosted_zone.rb

52 lines
1.5 KiB
Ruby

module Fog
module Parsers
module DNS
module AWS
class GetHostedZone < Fog::Parsers::Base
def reset
@hosted_zone = {}
@name_servers = []
@response = {}
@section = :hosted_zone
@vpcs = []
@vpc = {}
end
def end_element(name)
if @section == :hosted_zone
case name
when 'Id'
@hosted_zone[name]= value.sub('/hostedzone/', '')
when 'Name', 'CallerReference', 'Comment', 'PrivateZone', 'Config', 'ResourceRecordSetCount'
@hosted_zone[name]= value
when 'HostedZone'
@response['HostedZone'] = @hosted_zone
@hosted_zone = {}
@section = :name_servers
when 'ResourceRecordSetCount'
@response['ResourceRecordSetCount'] = value.to_i
end
elsif @section == :name_servers
case name
when 'NameServer'
@name_servers << value
when 'NameServers'
@response['NameServers'] = @name_servers
@name_servers = {}
when 'VPCId', 'VPCRegion'
@vpc[name] = value
when 'VPC'
@vpcs << @vpc
@vpc = {}
when 'VPCs'
@response['HostedZone']['VPCs'] = @vpcs
@vpcs = {}
@section = :vpcs
end
end
end
end
end
end
end
end