1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/aws/parsers/dns/create_hosted_zone.rb
Athir Nuaimi eb523fb80a [aws|dns] 1st pass at Route 53 support. All functions added but not tested
have added each of the Route 53 functions
list_hosted_zones is working.  rest still need to be tested

[aws|linode|slicehost|zerigo|dns] added complete test cases for linode & slicehost DNS.  Also added initial support for AWS Route 53
2010-12-16 00:29:42 -05:00

55 lines
1.5 KiB
Ruby

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'
@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