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/requests/sns/add_permission.rb
2015-05-13 09:37:35 -07:00

34 lines
945 B
Ruby

module Fog
module AWS
class SNS
class Real
require 'fog/aws/parsers/sns/add_permission'
def add_permission(options = {})
request({
'Action' => 'AddPermission',
:parser => Fog::Parsers::AWS::SNS::AddPermission.new
}.merge!(options))
end
end
class Mock
def add_permission(options = {})
topic_arn = options.delete('TopicArn')
label = options.delete('Label')
actions = options.select { |k,v| k.match(/^ActionName/) }.values
members = options.select { |k,v| k.match(/^AWSAccountId/) }.values
self.data[:permissions][topic_arn][label] = {
:members => members,
:actions => actions,
}
response = Excon::Response.new
response.body = {"RequestId" => Fog::AWS::Mock.request_id}
response
end
end
end
end
end