data-pipeline-iam-policy
dod-iac/data-pipeline-iam-policy/aws
Usage Creates an IAM policy for use in a data pipeline. ``hcl module "data_pipeline_iam_policy" { source = "dod-iac/data-pipeline-iam-policy/aws" name = format("app-%s-data-pipeline-%s", var.application, var.environment) s3_buckets_read = [module.s3_bucket_source.arn] s3_buckets_write = [module.s3_bucket_destination.arn] tags = { Application = var.application Environment = var.environment Automation = "Terraform" } } ` Testing Run all terratest tests using the terratest script. If using aws-vault, you could use aws-vault exec $AWS_PROFILE -- terratest. The AWS_DEFAULT_REGION environment variable is required by the tests. Use TT_SKIP_DESTROY=1 to not destroy the infrastructure created during the tests. Use TT_VERBOSE=1 to log all tests as they are run. Use TT_TIMEOUT to set the timeout for
| Name | Type | Description | Default |
|---|---|---|---|
| name | string | The name of the AWS IAM policy. | required |
| s3_buckets_write | list(string) | The ARNs of the AWS S3 buckets that can be written to. Use ["*"] to allow all b | [] |
| ecr_repos_read | list(string) | The ARNs of the AWS ECR repos that can be read from. Use ["*"] to allow all rep | [] |
| glue_tables_add | list(object({ database = s | List of Glue tables that partitions can be added to. | [] |
| kms_keys_decrypt | list(string) | The ARNs of the AWS KMS keys that can be used to decrypt data. Use ["*"] to all | [] |
| kms_keys_encrypt | list(string) | The ARNs of the AWS KMS keys that can be used to encrypt data. Use ["*"] to all | [] |
| athena_workgroups_exec | list(string) | The ARNs of the AWS Athena workgroups that can be executed. Use ["*"] to allow | [] |
| ecr_repos_write | list(string) | The ARNs of the AWS ECR repos that can be written to. Use ["*"] to allow all re | [] |
| codecommit_repos_pull | list(string) | The ARNs of the AWS CodeCommit repos that can be pulled. Use ["*"] to allow all | [] |
| codecommit_repos_push | list(string) | The ARNs of the AWS CodeCommit repos that can be pushed. Use ["*"] to allow all | [] |
| s3_buckets_read | list(string) | The ARNs of the AWS S3 buckets that can be read from. Use ["*"] to allow all bu | [] |
| athena_buckets_results | list(string) | The ARNs of the AWS S3 buckets that store the results of Athena queries. Use ["* | [] |
| athena_tables_exec | list(object({ database = s | A list of the Glue tables that can be read from during execution of Athena queri | [] |
| athena_buckets_source | list(string) | The ARNs of the AWS S3 buckets that store the data being queried through Athena. | [] |
| description | string | The description of the AWS IAM policy. Defaults to "The policy for [NAME]." | "" |
name — The name of the AWS IAM policy.arn — The Amazon Resource Name (ARN) of the AWS IAM policy.id — The id of the AWS IAM policy.Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,