From 1ef217056172d795b5682dacd38c8908ac8dcbe4 Mon Sep 17 00:00:00 2001 From: Bryant Biggs Date: Sat, 27 Mar 2021 14:03:32 -0400 Subject: [PATCH] chore: update documentation and pin `terraform_docs` version to avoid future changes --- .github/workflows/pre-commit.yml | 2 +- .pre-commit-config.yaml | 2 +- README.md | 107 +++++++++++++++++-------------- examples/complete/README.md | 36 +++++------ 4 files changed, 78 insertions(+), 69 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index efa5a77..7eaa782 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -94,7 +94,7 @@ jobs: - name: Install pre-commit dependencies run: | pip install pre-commit - curl -L "$(curl -s https://api.github.com/repos/terraform-docs/terraform-docs/releases/latest | grep -o -E "https://.+?-linux-amd64" | head -n1)" > terraform-docs && chmod +x terraform-docs && sudo mv terraform-docs /usr/bin/ + curl -L "$(curl -s https://api.github.com/repos/terraform-docs/terraform-docs/releases/latest | grep -o -E "https://.+?-v0.12.0-linux-amd64" | head -n1)" > terraform-docs && chmod +x terraform-docs && sudo mv terraform-docs /usr/bin/ curl -L "$(curl -s https://api.github.com/repos/terraform-linters/tflint/releases/latest | grep -o -E "https://.+?_linux_amd64.zip")" > tflint.zip && unzip tflint.zip && rm tflint.zip && sudo mv tflint /usr/bin/ - name: Execute pre-commit # Run all pre-commit checks on max version supported diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 188d38a..8814cf6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: git://github.com/antonbabenko/pre-commit-terraform - rev: v1.47.0 + rev: v1.48.0 hooks: - id: terraform_fmt - id: terraform_validate diff --git a/README.md b/README.md index bf2e0f1..65772f7 100644 --- a/README.md +++ b/README.md @@ -128,76 +128,85 @@ module "step_function" { | Name | Version | |------|---------| -| terraform | >= 0.13.1 | -| aws | >= 3.27 | +| [terraform](#requirement\_terraform) | >= 0.13.1 | +| [aws](#requirement\_aws) | >= 3.27 | ## Providers | Name | Version | |------|---------| -| aws | >= 3.27 | +| [aws](#provider\_aws) | >= 3.27 | ## Modules -No Modules. +No modules. ## Resources -| Name | -|------| -| [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | -| [aws_iam_policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | -| [aws_iam_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | -| [aws_iam_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | -| [aws_iam_role_policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | -| [aws_region](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | -| [aws_sfn_state_machine](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sfn_state_machine) | +| Name | Type | +|------|------| +| [aws_iam_policy.additional_inline](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource | +| [aws_iam_policy.additional_json](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource | +| [aws_iam_policy.additional_jsons](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource | +| [aws_iam_policy.service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource | +| [aws_iam_policy_attachment.additional_inline](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource | +| [aws_iam_policy_attachment.additional_json](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource | +| [aws_iam_policy_attachment.additional_jsons](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource | +| [aws_iam_policy_attachment.service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource | +| [aws_iam_role.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource | +| [aws_iam_role_policy_attachment.additional_many](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | +| [aws_iam_role_policy_attachment.additional_one](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | +| [aws_sfn_state_machine.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sfn_state_machine) | resource | +| [aws_iam_policy_document.additional_inline](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | +| [aws_iam_policy_document.assume_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | +| [aws_iam_policy_document.service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | +| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source | ## Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| attach\_policies | Controls whether list of policies should be added to IAM role | `bool` | `false` | no | -| attach\_policies\_for\_integrations | Whether to attach AWS Service policies to IAM role | `bool` | `true` | no | -| attach\_policy | Controls whether policy should be added to IAM role | `bool` | `false` | no | -| attach\_policy\_json | Controls whether policy\_json should be added to IAM role | `bool` | `false` | no | -| attach\_policy\_jsons | Controls whether policy\_jsons should be added to IAM role | `bool` | `false` | no | -| attach\_policy\_statements | Controls whether policy\_statements should be added to IAM role | `bool` | `false` | no | -| aws\_region\_assume\_role | Name of AWS regions where IAM role can be assumed by the Step Function | `string` | `""` | no | -| create | Whether to create Step Function resource | `bool` | `true` | no | -| create\_role | Whether to create IAM role for the Step Function | `bool` | `true` | no | -| definition | The Amazon States Language definition of the Step Function | `string` | `""` | no | -| name | The name of the Step Function | `string` | `""` | no | -| number\_of\_policies | Number of policies to attach to IAM role | `number` | `0` | no | -| number\_of\_policy\_jsons | Number of policies JSON to attach to IAM role | `number` | `0` | no | -| policies | List of policy statements ARN to attach to IAM role | `list(string)` | `[]` | no | -| policy | An additional policy document ARN to attach to IAM role | `string` | `null` | no | -| policy\_json | An additional policy document as JSON to attach to IAM role | `string` | `null` | no | -| policy\_jsons | List of additional policy documents as JSON to attach to IAM role | `list(string)` | `[]` | no | -| policy\_statements | Map of dynamic policy statements to attach to IAM role | `any` | `{}` | no | -| role\_arn | The Amazon Resource Name (ARN) of the IAM role to use for this Step Function | `string` | `""` | no | -| role\_description | Description of IAM role to use for Step Function | `string` | `null` | no | -| role\_force\_detach\_policies | Specifies to force detaching any policies the IAM role has before destroying it. | `bool` | `true` | no | -| role\_name | Name of IAM role to use for Step Function | `string` | `null` | no | -| role\_path | Path of IAM role to use for Step Function | `string` | `null` | no | -| role\_permissions\_boundary | The ARN of the policy that is used to set the permissions boundary for the IAM role used by Step Function | `string` | `null` | no | -| role\_tags | A map of tags to assign to IAM role | `map(string)` | `{}` | no | -| service\_integrations | Map of AWS service integrations to allow in IAM role policy | `any` | `{}` | no | -| tags | Maps of tags to assign to the Step Function | `map(string)` | `{}` | no | -| trusted\_entities | Step Function additional trusted entities for assuming roles (trust relationship) | `list(string)` | `[]` | no | -| type | Determines whether a Standard or Express state machine is created. The default is STANDARD. Valid Values: STANDARD \| EXPRESS | `string` | `"STANDARD"` | no | -| use\_existing\_role | Whether to use an existing IAM role for this Step Function | `bool` | `false` | no | +| [attach\_policies](#input\_attach\_policies) | Controls whether list of policies should be added to IAM role | `bool` | `false` | no | +| [attach\_policies\_for\_integrations](#input\_attach\_policies\_for\_integrations) | Whether to attach AWS Service policies to IAM role | `bool` | `true` | no | +| [attach\_policy](#input\_attach\_policy) | Controls whether policy should be added to IAM role | `bool` | `false` | no | +| [attach\_policy\_json](#input\_attach\_policy\_json) | Controls whether policy\_json should be added to IAM role | `bool` | `false` | no | +| [attach\_policy\_jsons](#input\_attach\_policy\_jsons) | Controls whether policy\_jsons should be added to IAM role | `bool` | `false` | no | +| [attach\_policy\_statements](#input\_attach\_policy\_statements) | Controls whether policy\_statements should be added to IAM role | `bool` | `false` | no | +| [aws\_region\_assume\_role](#input\_aws\_region\_assume\_role) | Name of AWS regions where IAM role can be assumed by the Step Function | `string` | `""` | no | +| [create](#input\_create) | Whether to create Step Function resource | `bool` | `true` | no | +| [create\_role](#input\_create\_role) | Whether to create IAM role for the Step Function | `bool` | `true` | no | +| [definition](#input\_definition) | The Amazon States Language definition of the Step Function | `string` | `""` | no | +| [name](#input\_name) | The name of the Step Function | `string` | `""` | no | +| [number\_of\_policies](#input\_number\_of\_policies) | Number of policies to attach to IAM role | `number` | `0` | no | +| [number\_of\_policy\_jsons](#input\_number\_of\_policy\_jsons) | Number of policies JSON to attach to IAM role | `number` | `0` | no | +| [policies](#input\_policies) | List of policy statements ARN to attach to IAM role | `list(string)` | `[]` | no | +| [policy](#input\_policy) | An additional policy document ARN to attach to IAM role | `string` | `null` | no | +| [policy\_json](#input\_policy\_json) | An additional policy document as JSON to attach to IAM role | `string` | `null` | no | +| [policy\_jsons](#input\_policy\_jsons) | List of additional policy documents as JSON to attach to IAM role | `list(string)` | `[]` | no | +| [policy\_statements](#input\_policy\_statements) | Map of dynamic policy statements to attach to IAM role | `any` | `{}` | no | +| [role\_arn](#input\_role\_arn) | The Amazon Resource Name (ARN) of the IAM role to use for this Step Function | `string` | `""` | no | +| [role\_description](#input\_role\_description) | Description of IAM role to use for Step Function | `string` | `null` | no | +| [role\_force\_detach\_policies](#input\_role\_force\_detach\_policies) | Specifies to force detaching any policies the IAM role has before destroying it. | `bool` | `true` | no | +| [role\_name](#input\_role\_name) | Name of IAM role to use for Step Function | `string` | `null` | no | +| [role\_path](#input\_role\_path) | Path of IAM role to use for Step Function | `string` | `null` | no | +| [role\_permissions\_boundary](#input\_role\_permissions\_boundary) | The ARN of the policy that is used to set the permissions boundary for the IAM role used by Step Function | `string` | `null` | no | +| [role\_tags](#input\_role\_tags) | A map of tags to assign to IAM role | `map(string)` | `{}` | no | +| [service\_integrations](#input\_service\_integrations) | Map of AWS service integrations to allow in IAM role policy | `any` | `{}` | no | +| [tags](#input\_tags) | Maps of tags to assign to the Step Function | `map(string)` | `{}` | no | +| [trusted\_entities](#input\_trusted\_entities) | Step Function additional trusted entities for assuming roles (trust relationship) | `list(string)` | `[]` | no | +| [type](#input\_type) | Determines whether a Standard or Express state machine is created. The default is STANDARD. Valid Values: STANDARD \| EXPRESS | `string` | `"STANDARD"` | no | +| [use\_existing\_role](#input\_use\_existing\_role) | Whether to use an existing IAM role for this Step Function | `bool` | `false` | no | ## Outputs | Name | Description | |------|-------------| -| this\_role\_arn | The ARN of the IAM role created for the Step Function | -| this\_role\_name | The name of the IAM role created for the Step Function | -| this\_state\_machine\_arn | The ARN of the Step Function | -| this\_state\_machine\_creation\_date | The date the Step Function was created | -| this\_state\_machine\_id | The ARN of the Step Function | -| this\_state\_machine\_status | The current status of the Step Function | +| [this\_role\_arn](#output\_this\_role\_arn) | The ARN of the IAM role created for the Step Function | +| [this\_role\_name](#output\_this\_role\_name) | The name of the IAM role created for the Step Function | +| [this\_state\_machine\_arn](#output\_this\_state\_machine\_arn) | The ARN of the Step Function | +| [this\_state\_machine\_creation\_date](#output\_this\_state\_machine\_creation\_date) | The date the Step Function was created | +| [this\_state\_machine\_id](#output\_this\_state\_machine\_id) | The ARN of the Step Function | +| [this\_state\_machine\_status](#output\_this\_state\_machine\_status) | The current status of the Step Function | ## Authors diff --git a/examples/complete/README.md b/examples/complete/README.md index 2e2a2ff..dd1ab5b 100644 --- a/examples/complete/README.md +++ b/examples/complete/README.md @@ -22,43 +22,43 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| -| terraform | >= 0.13.1 | -| aws | >= 3.27 | -| random | >= 2 | +| [terraform](#requirement\_terraform) | >= 0.13.1 | +| [aws](#requirement\_aws) | >= 3.27 | +| [random](#requirement\_random) | >= 2 | ## Providers | Name | Version | |------|---------| -| aws | >= 3.27 | -| random | >= 2 | +| [aws](#provider\_aws) | >= 3.27 | +| [random](#provider\_random) | >= 2 | ## Modules | Name | Source | Version | |------|--------|---------| -| disabled_step_function | ../../ | | -| step_function | ../../ | | +| [disabled\_step\_function](#module\_disabled\_step\_function) | ../../ | | +| [step\_function](#module\_step\_function) | ../../ | | ## Resources -| Name | -|------| -| [aws_sqs_queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | -| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | +| Name | Type | +|------|------| +| [aws_sqs_queue.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | +| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource | ## Inputs -No input. +No inputs. ## Outputs | Name | Description | |------|-------------| -| this\_role\_arn | The ARN of the IAM role created for the State Machine | -| this\_role\_name | The name of the IAM role created for the State Machine | -| this\_state\_machine\_arn | The ARN of the State Machine | -| this\_state\_machine\_creation\_date | The date the State Machine was created | -| this\_state\_machine\_id | The ARN of the State Machine | -| this\_state\_machine\_status | The current status of the State Machine | +| [this\_role\_arn](#output\_this\_role\_arn) | The ARN of the IAM role created for the State Machine | +| [this\_role\_name](#output\_this\_role\_name) | The name of the IAM role created for the State Machine | +| [this\_state\_machine\_arn](#output\_this\_state\_machine\_arn) | The ARN of the State Machine | +| [this\_state\_machine\_creation\_date](#output\_this\_state\_machine\_creation\_date) | The date the State Machine was created | +| [this\_state\_machine\_id](#output\_this\_state\_machine\_id) | The ARN of the State Machine | +| [this\_state\_machine\_status](#output\_this\_state\_machine\_status) | The current status of the State Machine |