2014-12-30 17:25:09 -05:00
|
|
|
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 = {})
|
2015-04-17 11:26:32 -04:00
|
|
|
topic_arn = options.delete('TopicArn')
|
|
|
|
label = options.delete('Label')
|
2015-05-13 12:44:47 -04:00
|
|
|
actions = Hash[options.select { |k,v| k.match(/^ActionName/) }].values
|
|
|
|
members = Hash[options.select { |k,v| k.match(/^AWSAccountId/) }].values
|
2015-04-17 11:26:32 -04:00
|
|
|
|
|
|
|
self.data[:permissions][topic_arn][label] = {
|
|
|
|
:members => members,
|
|
|
|
:actions => actions,
|
|
|
|
}
|
|
|
|
|
|
|
|
response = Excon::Response.new
|
|
|
|
response.body = {"RequestId" => Fog::AWS::Mock.request_id}
|
|
|
|
response
|
2014-12-30 17:25:09 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|