https://github.com/happypathway/terraform-plugin-cache
Terraform Module
https://github.com/happypathway/terraform-plugin-cache
module terraform terraform-managed
Last synced: 9 months ago
JSON representation
Terraform Module
- Host: GitHub
- URL: https://github.com/happypathway/terraform-plugin-cache
- Owner: HappyPathway
- License: mit-0
- Created: 2024-07-19T03:16:06.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-29T21:03:06.000Z (over 1 year ago)
- Last Synced: 2025-02-25T15:41:58.557Z (over 1 year ago)
- Topics: module, terraform, terraform-managed
- Language: HCL
- Homepage:
- Size: 40 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
[](https://github.com/HappyPathway/terraform-plugin-cache/actions/workflows/terraform.yaml)
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0.0 |
| [aws](#requirement\_aws) | >= 4.20.1 |
## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | 5.58.0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
| [codebuild\_terraform](#module\_codebuild\_terraform) | ./modules/codebuild | n/a |
| [codepipeline\_iam\_role](#module\_codepipeline\_iam\_role) | ./modules/iam-role | n/a |
| [codepipeline\_kms](#module\_codepipeline\_kms) | ./modules/kms | n/a |
| [codepipeline\_terraform](#module\_codepipeline\_terraform) | ./modules/codepipeline | n/a |
| [s3\_artifacts\_bucket](#module\_s3\_artifacts\_bucket) | ./modules/s3 | n/a |
## Resources
| Name | Type |
|------|------|
| [aws_iam_access_key.build_user](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_access_key) | resource |
| [aws_iam_user.build_user](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user) | resource |
| [aws_iam_user_policy.build_user](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_policy) | resource |
| [aws_secretsmanager_secret.credentials](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret) | resource |
| [aws_secretsmanager_secret_version.credentials](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret_version) | resource |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | 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 |
|------|-------------|------|---------|:--------:|
| [build\_environment\_variables](#input\_build\_environment\_variables) | n/a |
list(object({
name = string
value = string
type = string
})) | `[]` | no |
| [build\_permissions\_iam\_doc](#input\_build\_permissions\_iam\_doc) | n/a | `any` | n/a | yes |
| [build\_projects](#input\_build\_projects) | Tags to be attached to the CodePipeline | `list(string)` | [
"validate",
"plan",
"apply"
]
| no |
| [builder\_compute\_type](#input\_builder\_compute\_type) | Relative path to the Apply and Destroy build spec file | `string` | `"BUILD_GENERAL1_SMALL"` | no |
| [builder\_image](#input\_builder\_image) | Docker Image to be used by codebuild | `string` | `"aws/codebuild/amazonlinux2-x86_64-standard:3.0"` | no |
| [builder\_image\_pull\_credentials\_type](#input\_builder\_image\_pull\_credentials\_type) | Image pull credentials type used by codebuild project | `string` | `"CODEBUILD"` | no |
| [builder\_type](#input\_builder\_type) | Type of codebuild run environment | `string` | `"LINUX_CONTAINER"` | no |
| [codepipeline\_iam\_role\_name](#input\_codepipeline\_iam\_role\_name) | Name of the IAM role to be used by the Codepipeline | `string` | `"codepipeline-role"` | no |
| [create\_new\_repo](#input\_create\_new\_repo) | Whether to create a new repository. Values are true or false. Defaulted to true always. | `bool` | `true` | no |
| [create\_new\_role](#input\_create\_new\_role) | Whether to create a new IAM Role. Values are true or false. Defaulted to true always. | `bool` | `true` | no |
| [efs\_id](#input\_efs\_id) | n/a | `string` | n/a | yes |
| [efs\_location](#input\_efs\_location) | n/a | `string` | n/a | yes |
| [efs\_mount\_options](#input\_efs\_mount\_options) | n/a | `string` | n/a | yes |
| [efs\_mount\_point](#input\_efs\_mount\_point) | n/a | `string` | n/a | yes |
| [environment](#input\_environment) | Environment in which the script is run. Eg: dev, prod, etc | `string` | n/a | yes |
| [project\_name](#input\_project\_name) | Unique name for this project | `string` | n/a | yes |
| [source\_repo\_branch](#input\_source\_repo\_branch) | Default branch in the Source repo for which CodePipeline needs to be configured | `string` | n/a | yes |
| [source\_repo\_name](#input\_source\_repo\_name) | Source repo name of the CodeCommit repository | `string` | n/a | yes |
| [stage\_input](#input\_stage\_input) | Tags to be attached to the CodePipeline | `list(map(any))` | [
{
"category": "Test",
"input_artifacts": "SourceOutput",
"name": "validate",
"output_artifacts": "ValidateOutput",
"owner": "AWS",
"provider": "CodeBuild"
},
{
"category": "Test",
"input_artifacts": "ValidateOutput",
"name": "plan",
"output_artifacts": "PlanOutput",
"owner": "AWS",
"provider": "CodeBuild"
},
{
"category": "Approval",
"name": "approval",
"owner": "AWS",
"provider": "Manual"
},
{
"category": "Build",
"input_artifacts": "PlanOutput",
"name": "apply",
"output_artifacts": "ApplyOutput",
"owner": "AWS",
"provider": "CodeBuild"
}
]
| no |
| [terraform\_version](#input\_terraform\_version) | Terraform CLI Version | `string` | `"1.7.5"` | no |
## Outputs
| Name | Description |
|------|-------------|
| [codebuild\_arn](#output\_codebuild\_arn) | The ARN of the Codebuild Project |
| [codebuild\_name](#output\_codebuild\_name) | The Name of the Codebuild Project |
| [codepipeline\_arn](#output\_codepipeline\_arn) | The ARN of the CodePipeline |
| [codepipeline\_name](#output\_codepipeline\_name) | The Name of the CodePipeline |
| [iam\_arn](#output\_iam\_arn) | The ARN of the IAM Role used by the CodePipeline |
| [kms\_arn](#output\_kms\_arn) | The ARN of the KMS key used in the codepipeline |
| [s3\_arn](#output\_s3\_arn) | The ARN of the S3 Bucket |
| [s3\_bucket\_name](#output\_s3\_bucket\_name) | The Name of the S3 Bucket |