mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
33 lines
777 B
Ruby
33 lines
777 B
Ruby
|
module Fog
|
||
|
module Parsers
|
||
|
module AWS
|
||
|
module IAM
|
||
|
|
||
|
class GetRolePolicy < Fog::Parsers::Base
|
||
|
|
||
|
def reset
|
||
|
@response = {'Policy' => {}}
|
||
|
end
|
||
|
|
||
|
def end_element(name)
|
||
|
case name
|
||
|
when 'RoleName', 'PolicyName'
|
||
|
@response['Policy'][name] = value
|
||
|
when 'PolicyDocument'
|
||
|
@response['Policy'][name] = if decoded_string = URI.decode(value)
|
||
|
Fog::JSON.decode(decoded_string) rescue value
|
||
|
else
|
||
|
value
|
||
|
end
|
||
|
when 'RequestId'
|
||
|
@response[name] = value
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|