{
  "acknowledgemessage": {
    "name": "AcknowledgeMessage",
    "description": "Grants permission to acknowledge a message, ensuring it will not be delivered again",
    "accessLevel": "Write",
    "resourceTypes": [],
    "conditionKeys": [],
    "dependentActions": []
  },
  "deletemessage": {
    "name": "DeleteMessage",
    "description": "Grants permission to delete a message",
    "accessLevel": "Write",
    "resourceTypes": [],
    "conditionKeys": [],
    "dependentActions": []
  },
  "failmessage": {
    "name": "FailMessage",
    "description": "Grants permission to fail a message, signifying the message could not be processed successfully, ensuring it cannot be replied to or delivered again",
    "accessLevel": "Write",
    "resourceTypes": [],
    "conditionKeys": [],
    "dependentActions": []
  },
  "getendpoint": {
    "name": "GetEndpoint",
    "description": "Grants permission to route traffic to the correct endpoint based on the given destination for the messages",
    "accessLevel": "Read",
    "resourceTypes": [],
    "conditionKeys": [],
    "dependentActions": []
  },
  "getmessages": {
    "name": "GetMessages",
    "description": "Grants permission to deliver messages to clients/instances using long polling",
    "accessLevel": "Read",
    "resourceTypes": [],
    "conditionKeys": [
      "ssm:SourceInstanceARN",
      "ec2:SourceInstanceARN"
    ],
    "dependentActions": []
  },
  "sendreply": {
    "name": "SendReply",
    "description": "Grants permission to send replies from clients/instances to upstream service",
    "accessLevel": "Write",
    "resourceTypes": [],
    "conditionKeys": [
      "ssm:SourceInstanceARN",
      "ec2:SourceInstanceARN"
    ],
    "dependentActions": []
  }
}