Skip to content

Commit f796f92

Browse files
committed
docs(idempotency): break iam permissions into table; IAM permission to clipboard
1 parent 3e68606 commit f796f92

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

docs/utilities/idempotency.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,18 @@ We use Amazon DynamoDB as the default persistence layer in the documentation. If
5454

5555
### IAM Permissions
5656

57-
Your Lambda function IAM Role must have `dynamodb:GetItem`, `dynamodb:PutItem`, `dynamodb:UpdateItem` and `dynamodb:DeleteItem` IAM permissions before using this feature.
57+
When using Amazon DynamoDB as the persistence layer, you will need the following IAM permissions:
5858

59-
???+ note
60-
If you're using our example [AWS Serverless Application Model (SAM)](#required-resources), [AWS Cloud Development Kit (CDK)](#required-resources), or [Terraform](#required-resources) it already adds the required permissions.
59+
| IAM Permission | Operation |
60+
| ------------------------------------ | ------------------------------------------------------------------------ |
61+
| **`dynamodb:GetItem`**{: .copyMe} | Retrieve idempotent record |
62+
| **`dynamodb:PutItem`**{: .copyMe} | New idempotent records, replace expired idempotent records |
63+
| **`dynamodb:UpdateItem`**{: .copyMe} | Complete idempotency transaction, and/or update idempotent records state |
64+
| **`dynamodb:DeleteItem`**{: .copyMe} | Delete idempotent records for unsuccessful idempotency transactions |
65+
66+
**First time setting it up?**
67+
68+
We provide Infrastrucure as Code examples with [AWS Serverless Application Model (SAM)](#aws-serverless-application-model-sam-example), [AWS Cloud Development Kit (CDK)](#aws-cloud-development-kit-cdk), and [Terraform](#terraform) with the required permissions.
6169

6270
### Required resources
6371

0 commit comments

Comments
 (0)