@@ -72,7 +72,7 @@ function sqsQueueUrlToArn(serverless, queueUrl) {
72
72
73
73
function getSqsPermissions ( serverless , state ) {
74
74
if ( _ . has ( state , 'Parameters.QueueUrl' )
75
- || _ . has ( state , [ 'Parameters' , 'QueueUrl.$' ] ) ) {
75
+ || _ . has ( state , [ 'Parameters' , 'QueueUrl.$' ] ) ) {
76
76
// if queue URL is provided by input, then need pervasive permissions (i.e. '*')
77
77
const queueArn = state . Parameters [ 'QueueUrl.$' ]
78
78
? '*'
@@ -85,7 +85,7 @@ function getSqsPermissions(serverless, state) {
85
85
86
86
function getSnsPermissions ( serverless , state ) {
87
87
if ( _ . has ( state , 'Parameters.TopicArn' )
88
- || _ . has ( state , [ 'Parameters' , 'TopicArn.$' ] ) ) {
88
+ || _ . has ( state , [ 'Parameters' , 'TopicArn.$' ] ) ) {
89
89
// if topic ARN is provided by input, then need pervasive permissions
90
90
const topicArn = state . Parameters [ 'TopicArn.$' ] ? '*' : state . Parameters . TopicArn ;
91
91
return [ { action : 'sns:Publish' , resource : topicArn } ] ;
@@ -561,13 +561,13 @@ function getEventBridgePermissions(state) {
561
561
] ;
562
562
}
563
563
564
- function getEventBridgeSchedulerPermissions ( state ) {
564
+ function getEventBridgeSchedulerPermissions ( action , state ) {
565
565
const scheduleGroupName = state . Parameters . GroupName ;
566
566
const scheduleTargetRoleArn = state . Parameters . Target . RoleArn ;
567
567
568
568
return [
569
569
{
570
- action : 'scheduler:CreateSchedule' ,
570
+ action,
571
571
resource : {
572
572
'Fn::Sub' : [
573
573
'arn:${AWS::Partition}:scheduler:${AWS::Region}:${AWS::AccountId}:schedule/${scheduleGroupName}/*' ,
@@ -748,7 +748,9 @@ function getIamPermissions(taskStates) {
748
748
return getEventBridgePermissions ( state ) ;
749
749
750
750
case 'arn:aws:states:::aws-sdk:scheduler:createSchedule' :
751
- return getEventBridgeSchedulerPermissions ( state ) ;
751
+ return getEventBridgeSchedulerPermissions ( "scheduler:CreateSchedule" , state ) ;
752
+ case 'arn:aws:states:::aws-sdk:scheduler:deleteSchedule' :
753
+ return getEventBridgeSchedulerPermissions ( "scheduler:DeleteSchedule" , state ) ;
752
754
753
755
case 'arn:aws:states:::s3:getObject' :
754
756
case 'arn:aws:states:::aws-sdk:s3:getObject' :
0 commit comments