diff --git a/README.md b/README.md
index 729d484..f6a75c4 100644
--- a/README.md
+++ b/README.md
@@ -3,4 +3,57 @@
A Terraform module that creates an IAM role.
+## Requirements
+
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | >= 1.3 |
+| [aws](#requirement\_aws) | >= 4.0.0 |
+
+## Providers
+
+| Name | Version |
+|------|---------|
+| [aws](#provider\_aws) | >= 4.0.0 |
+
+## Modules
+
+No modules.
+
+## Resources
+
+| Name | Type |
+|------|------|
+| [aws_iam_role.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
+| [aws_iam_role_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |
+| [aws_iam_role_policy_attachment.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
+| [aws_iam_policy_document.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+
+## Inputs
+
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [name](#input\_name) | The name of the role | `string` | n/a | yes |
+| [assume\_policy](#input\_assume\_policy) | The assume policy to attach to the role | `string` | `null` | no |
+| [create\_policy](#input\_create\_policy) | Overrule whether the IAM role policy has to be created | `bool` | `null` | no |
+| [description](#input\_description) | The description of the role | `string` | `null` | no |
+| [force\_detach\_policies](#input\_force\_detach\_policies) | Force detaching any policies the role has before destroying it | `bool` | `false` | no |
+| [max\_session\_duration](#input\_max\_session\_duration) | The maximum session duration (in seconds) for the role | `number` | `3600` | no |
+| [path](#input\_path) | Path to the role | `string` | `"/"` | no |
+| [permissions\_boundary](#input\_permissions\_boundary) | The permissions boundary to set on the role | `string` | `null` | no |
+| [policy\_arns](#input\_policy\_arns) | A set of policy ARNs to attach to the user | `set(string)` | `[]` | no |
+| [postfix](#input\_postfix) | Postfix the role and policy names with Role and Policy | `bool` | `true` | no |
+| [principal\_identifiers](#input\_principal\_identifiers) | List of identifiers for principals | `list(string)` | `[]` | no |
+| [principal\_type](#input\_principal\_type) | The type of assume role principal | `string` | `""` | no |
+| [role\_policy](#input\_role\_policy) | The IAM policy to attach to the role | `string` | `null` | no |
+| [tags](#input\_tags) | A mapping of tags to assign to the role | `map(string)` | `null` | no |
+
+## Outputs
+
+| Name | Description |
+|------|-------------|
+| [arn](#output\_arn) | ARN of the role |
+| [id](#output\_id) | ID of the role |
+| [name](#output\_name) | The name of the role |
+| [unique\_id](#output\_unique\_id) | Unique ID of the role |
\ No newline at end of file