diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl
new file mode 100644
index 0000000..c835bfc
--- /dev/null
+++ b/.terraform.lock.hcl
@@ -0,0 +1,24 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/hashicorp/aws" {
+ version = "5.24.0"
+ hashes = [
+ "h1:tAteY6hnPFlxGx88cjNXQT3x5Of6lz0EUaZTn3wsjUA=",
+ "zh:164b4ac71c9fc6b991021dd6e829591b0c1a0ebfb5831da0a7eb4f10f92c76a7",
+ "zh:22e85772a1767498796f160b54a156db8173c4e238469dad8328a65093e033e1",
+ "zh:2655853a6e716a551190bed0ad083e2bdc8a6e9d21e9724bea3c4a97c5985bd8",
+ "zh:292bf6c084e23b0189d633600cde08eb61ff916e7083f9288c44daec6e566513",
+ "zh:2ff0f1c78a17cf11010a8beba338b9f72f3148fc37d349faa6278e523877886d",
+ "zh:643d3a464826b10d746cafea97739a69462c5982ac2dd31001cb798af3548a2e",
+ "zh:6fcaf09ebc03bc7aeb7340494dc3a75983875d309a93bf1f421774a10c65e994",
+ "zh:77a2f9b3f89c0a9d6c72be0724d1635cb9cbc69058e60e4bc78fe4091cc2f9a4",
+ "zh:7a9258d51b2b4437e8dda188a522ceff0df128cb1840713b0453f5d4fe35b452",
+ "zh:9231fbc0d27e7bdd214f55f05ad85af9d44a0b36a06a4e2747d7c634b2f443bb",
+ "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425",
+ "zh:a805f3caefb98d007958f900e1f55e6fbd0849df3d99cafd96a0c5898170c153",
+ "zh:aa034c4cefacae133027ec3ebd80b43856fe67b9617a8c854e2a95a637d99023",
+ "zh:ef0f5bb925e77f1f32210458a372523edc73c70a4cce1c25e39f4498f5b50aa7",
+ "zh:fc26f82eb289f1476a7486130e2c7e22416c40f77218a7b63c80d59a7ce0de3a",
+ ]
+}
diff --git a/README.md b/README.md
index c8733a4..2bb0dce 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,8 @@ This project creates and manages resources within an AWS account for infrastruct
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.6.2 |
+| [terraform](#requirement\_terraform) | >= 1.6.3 |
+| [aws](#requirement\_aws) | >= 5.24.0 |
## Providers
@@ -22,7 +23,12 @@ No resources.
## Inputs
-No inputs.
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [aws\_region](#input\_aws\_region) | AWS region in which to launch resources | `string` | n/a | yes |
+| [environment](#input\_environment) | The environment name to be used as part of the resource prefix | `string` | n/a | yes |
+| [infrastructure\_name](#input\_infrastructure\_name) | The infrastructure name to be used as part of the resource prefix | `string` | n/a | yes |
+| [project\_name](#input\_project\_name) | Project name to be used as a prefix for all resources | `string` | n/a | yes |
## Outputs
diff --git a/locals.tf b/locals.tf
index 54a975c..b8dc74b 100644
--- a/locals.tf
+++ b/locals.tf
@@ -1,2 +1,13 @@
locals {
+ project_name = var.project_name
+ infrastructure_name = var.infrastructure_name
+ environment = var.environment
+ aws_region = var.aws_region
+ resource_prefix = "${var.project_name}-${var.infrastructure_name}-${var.environment}"
+
+ default_tags = {
+ Project = local.project_name,
+ Infrastructure = local.infrastructure_name,
+ Environment = local.environment,
+ }
}
diff --git a/providers.tf b/providers.tf
new file mode 100644
index 0000000..899804b
--- /dev/null
+++ b/providers.tf
@@ -0,0 +1,7 @@
+provider "aws" {
+ region = local.aws_region
+
+ default_tags {
+ tags = local.default_tags
+ }
+}
diff --git a/variables.tf b/variables.tf
index e69de29..8bd3bf6 100644
--- a/variables.tf
+++ b/variables.tf
@@ -0,0 +1,19 @@
+variable "project_name" {
+ description = "Project name to be used as a prefix for all resources"
+ type = string
+}
+
+variable "infrastructure_name" {
+ description = "The infrastructure name to be used as part of the resource prefix"
+ type = string
+}
+
+variable "environment" {
+ description = "The environment name to be used as part of the resource prefix"
+ type = string
+}
+
+variable "aws_region" {
+ description = "AWS region in which to launch resources"
+ type = string
+}
diff --git a/versions.tf b/versions.tf
index a0fea40..4589b65 100644
--- a/versions.tf
+++ b/versions.tf
@@ -1,5 +1,9 @@
terraform {
- required_version = ">= 1.6.2"
+ required_version = ">= 1.6.3"
required_providers {
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 5.24.0"
+ }
}
}