iac-modulo-s3
Módulo s3 para criação e manutenção de bucket na AWS S3.
Requisitos
Name | Version |
---|---|
aws | ~> 3.27 |
Providers
Name | Version |
---|---|
aws | 3.75.1 |
Recursos
Name | Type |
---|---|
aws_s3_bucket.my_bucket | resource |
aws_s3_bucket_acl.acl_bucket | resource |
aws_s3_bucket_logging.s3_log | resource |
aws_s3_bucket_public_access_block.policy_s3 | resource |
aws_s3_bucket_versioning.versioning_example | resource |
Inputs
Name | Description | Type | Default | Required |
---|---|---|---|---|
acl | ACL aplicada ao bucket | string |
"private" |
no |
bucket_name | Nome do bucket | string |
n/a | yes |
Outputs
Name | Description |
---|---|
this_s3_bucket_acl | The acl applied to this bucket |
this_s3_bucket_id | The id of this bucket. |
this_s3_bucket_region | The aws region of this bucket |
Como utilizar o módulo
No diretório examples/ podem ser encontrados exemplos de utilização, incluindo instruções de como executá-los.
Mas para adiantar um exemplo simples, a utilização do módulo pode ser feita da seguinte maneira:
- Criação de um bucket com ACL private
module "s3_bucket" {
source = "github.com/marcelomansur/iac-modulo-s3"
bucket_name = "my-private-bucket"
}
Como testar o módulo
No diretório tests/ podem ser encontrados os testes automatizados do módulos, usando terratest + localstack.
Para testar, executar comandos pelo Makefile:
$ make localtest-private-bucket # Executa teste de criação de um bucket privado
$ make localtest-public-bucket # Executa teste de criação de um bucket público
É necessário ter o Go >= 1.15
e Docker >= 20.10.5
para execução dos testes localmente.
TODO
- Criar novos recursos no módulo (policy, tags, etc)
- Adicionar mais exemplos (cenários de utilização do módulo)
- Adicionar mais testes em cada cenário de utilização
- Criar pipeline CI com testes automatizados (terratest + localstack)