def add_permission(params={})
function_name = params.delete('FunctionName')
action = params.delete('Action')
principal = params.delete('Principal')
source_account = params.delete('SourceAccount')
source_arn = params.delete('SourceArn')
sid = params.delete('StatementId')
permission = {
'Action' => action,
'Principal' => principal,
'StatementId' => sid
}
permission['SourceAccount'] = source_account if source_account
permission['SourceArn'] = source_arn if source_arn
request({
:method => 'POST',
:path => "/functions/#{function_name}/versions/HEAD/policy",
:expects => 201,
:body => Fog::JSON.encode(permission),
:parser => Fog::AWS::Parsers::Lambda::Base.new
}.merge(params))
end