This is a generic skeleton project that can be used to quickly get a new cisagov Terraform module GitHub repository started. This skeleton project contains licensing information, as well as pre-commit hooks and GitHub Actions configurations appropriate for the major languages that we use.
See here for more details on Terraform modules and the standard module structure.
module "example" {
source = "github.com/cisagov/skeleton-tf-module"
aws_region = "us-west-1"
aws_availability_zone = "b"
subnet_id = "subnet-0123456789abcdef0"
}
Name | Version |
---|---|
terraform | >= 1.1 |
aws | >= 4.9 |
Name | Version |
---|---|
aws | >= 4.9 |
No modules.
Name | Type |
---|---|
aws_instance.example | resource |
aws_ami.example | data source |
aws_default_tags.default | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
ami_owner_account_id | The ID of the AWS account that owns the Example AMI, or "self" if the AMI is owned by the same account as the provisioner. | string |
"self" |
no |
aws_availability_zone | The AWS availability zone to deploy into (e.g. a, b, c, etc.). | string |
"a" |
no |
aws_region | The AWS region to deploy into (e.g. us-east-1). | string |
"us-east-1" |
no |
subnet_id | The ID of the AWS subnet to deploy into (e.g. subnet-0123456789abcdef0). | string |
n/a | yes |
Name | Description |
---|---|
arn | The EC2 instance ARN. |
availability_zone | The AZ where the EC2 instance is deployed. |
id | The EC2 instance ID. |
private_ip | The private IP of the EC2 instance. |
subnet_id | The ID of the subnet where the EC2 instance is deployed. |
Running pre-commit
requires running terraform init
in every directory that
contains Terraform code. In this repository, these are the main directory and
every directory under examples/
.
Please see our Project Setup guide for step-by-step instructions on how to start a new repository from a skeleton. This will save you time and effort when configuring a new repository!
We welcome contributions! Please see CONTRIBUTING.md
for
details.
This project is in the worldwide public domain.
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.