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/iam/get_group.rb

55 lines
1.4 KiB
Ruby

module Fog
module Parsers
module AWS
module IAM
class GetGroup < Fog::Parsers::Base
# http://docs.amazonwebservices.com/IAM/latest/APIReference/index.html?API_GetGroup.html
def reset
@user = {}
@response = { 'Group' => {}, 'Users' => [] }
end
def start_element(name, attrs = [])
super
case name
when 'Group'
@in_group = true
when 'Users'
@in_users = true
end
end
def end_element(name)
case name
when 'Arn'
if @in_group
@response['Group'][name] = value
elsif @in_users
@user[name] = value
end
when 'Group'
@in_group = false
when 'GroupName', 'GroupId'
@response['Group'][name] = value
when 'Users'
@in_users = false
when 'UserId', 'UserName', 'Path'
@user[name] = value
when 'member'
@response['Users'] << @user
@user = {}
when 'IsTruncated'
response[name] = (value == 'true')
when 'Marker', 'RequestId'
@response[name] = value
end
end
end
end
end
end
end