mirror of
https://github.com/fog/fog-aws.git
synced 2022-11-09 13:50:52 -05:00
07b1e458de
* References #94
34 lines
957 B
Ruby
34 lines
957 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 = Hash[options.select { |k,v| k.match(/^ActionName/) }].values
|
|
members = Hash[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
|