Skip to content

terraform-aws-arc-common-data

Module: sourcefuse/arc-common-data/aws

Registry: https://registry.terraform.io/modules/sourcefuse/arc-common-data/aws

Category: Utility / Data

Source: https://github.com/sourcefuse/terraform-aws-arc-common-data

Latest Release Last Updated Terraform GitHub Actions

Quality Gate

Overview

SourceFuse AWS Reference Architecture (ARC) Terraform module for querying the most commonly referenced components in the ARC IaC modules. * VPC * Public Subnets * Private Subnets

Usage

To see a full example, check out the main.tf file in the example folder.

What It Does

  • VPC lookup by namespace and environment tags
  • Public subnet IDs lookup
  • Private subnet IDs lookup
  • Zero resources created — data sources only

For more information about this repository and its usage, please see Terraform AWS COMMON DATA Usage Guide.

Quickstart

1
2
3
4
5
6
module "this" {
  source = "git::https://github.com/sourcefuse/terraform-aws-arc-common-data"
  environment = var.environment
  namespace   = var.namespace
  region      = var.region
}

Required Inputs

Name Type Description
namespace string Namespace tag value to filter VPC/subnets
environment string Environment tag value to filter VPC/subnets
region string AWS region
## Key Outputs
Name Description
vpc_id VPC ID
private_subnet_ids Private subnet IDs
public_subnet_ids Public subnet IDs
## Full Variable & Output Reference

The complete inputs/outputs reference is auto-generated below.

Requirements

Name Version
terraform ~> 1.4
aws ~> 4.0

Providers

Name Version
aws 4.67.0

Modules

No modules.

Resources

Name Type
aws_subnets.private data source
aws_subnets.public data source
aws_vpc.vpc data source

Inputs

Name Description Type Default Required
environment ID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'staging', 'dev', 'UAT' string n/a yes
namespace Namespace for the resources. string n/a yes
region AWS Region string n/a yes

Outputs

Name Description
private_subnet_ids Private subnet IDs
public_subnet_ids Public subnet IDs
vpc_id ID of the VPC
vpc_name Name of the VPC

Versioning

This project uses a .version file at the root of the repo which the pipeline reads from and does a git tag.

When you intend to commit to main, you will need to increment this version. Once the project is merged, the pipeline will kick off and tag the latest git commit.

Development

Prerequisites

Configurations

  • Configure pre-commit hooks
    pre-commit install
    

Git commits

while Contributing or doing git commit please specify the breaking change in your commit message whether its major,minor or patch

For Example

git commit -m "your commit message #major"
By specifying this , it will bump the version and if you dont specify this in your commit message then by default it will consider patch and will bump that accordingly

Tests

  • Tests are available in test directory
  • Configure the dependencies
    1
    2
    3
    cd test/
    go mod init github.com/sourcefuse/terraform-aws-refarch-<module_name>
    go get github.com/gruntwork-io/terratest/modules/terraform
    
  • Now execute the test
    go test -timeout  30m
    

Contributing

See CONTRIBUTING.md for commit conventions and development setup.

Authors

This project is authored by: - SourceFuse ARC Team