aboutsummaryrefslogtreecommitdiffstats
path: root/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version
diff options
context:
space:
mode:
Diffstat (limited to 'fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version')
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/README.md38
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/main.tf4
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/output.tf0
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/providers.tf3
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/variables.tf11
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/versions.tf9
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/main.tf28
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/output.tf3
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/variables.tf29
-rw-r--r--fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/versions.tf9
10 files changed, 134 insertions, 0 deletions
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/README.md b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/README.md
new file mode 100644
index 0000000000..0ab18bdbb8
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/README.md
@@ -0,0 +1,38 @@
+<!-- BEGIN_TF_DOCS -->
+## Requirements
+
+| Name | Version |
+|------|---------|
+| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.1.4 |
+| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 4.3.0 |
+
+## Providers
+
+| Name | Version |
+|------|---------|
+| <a name="provider_aws"></a> [aws](#provider\_aws) | ~> 4.3.0 |
+
+## Modules
+
+No modules.
+
+## Resources
+
+| Name | Type |
+|------|------|
+| [aws_elastic_beanstalk_application_version.application_version](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elastic_beanstalk_application_version) | resource |
+| [aws_s3_bucket.bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |
+| [aws_s3_object.object](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_object) | resource |
+
+## Inputs
+
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| <a name="input_application_description"></a> [application\_description](#input\_application\_description) | Short description of the Application Version. | `string` | `"Beanstalk Application"` | no |
+| <a name="input_application_name"></a> [application\_name](#input\_application\_name) | Name of the Beanstalk Application the version is associated. | `string` | `"Beanstalk"` | no |
+| <a name="input_application_version_name"></a> [application\_version\_name](#input\_application\_version\_name) | Unique name for the this Application Version. | `string` | `"Beanstalk Version"` | no |
+
+## Outputs
+
+No outputs.
+<!-- END_TF_DOCS --> \ No newline at end of file
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/main.tf b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/main.tf
new file mode 100644
index 0000000000..652509225f
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/main.tf
@@ -0,0 +1,4 @@
+module "elastic_beanstalk_application_version" {
+ source = "../"
+ application_description = var.application_description
+}
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/output.tf b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/output.tf
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/output.tf
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/providers.tf b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/providers.tf
new file mode 100644
index 0000000000..5ff54f0d65
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/providers.tf
@@ -0,0 +1,3 @@
+provider "aws" {
+ region = var.region
+} \ No newline at end of file
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/variables.tf b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/variables.tf
new file mode 100644
index 0000000000..12af1d64c6
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/variables.tf
@@ -0,0 +1,11 @@
+variable "region" {
+ description = "AWS Region."
+ type = string
+ default = "us-east-1"
+}
+
+variable "application_description" {
+ description = "Short description of the application."
+ type = string
+ default = "Beanstalk Application"
+}
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/versions.tf b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/versions.tf
new file mode 100644
index 0000000000..af1be4a4e1
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/example/versions.tf
@@ -0,0 +1,9 @@
+terraform {
+ required_providers {
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 4.3.0"
+ }
+ }
+ required_version = ">= 1.1.4"
+}
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/main.tf b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/main.tf
new file mode 100644
index 0000000000..ace3aebbbc
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/main.tf
@@ -0,0 +1,28 @@
+locals {
+ key = "${var.application_name_version}-${uuid()}.zip"
+ tags = {
+ "Name" = "${var.application_name}"
+ "Environment" = "${var.application_name}"
+ }
+}
+
+# Create elastic beanstalk Application Version
+# resource "aws_s3_bucket" "bucket" {
+# bucket = var.application_bucket
+# tags = local.tags
+# }
+resource "aws_s3_object" "object" {
+ bucket = var.application_bucket
+ key = local.key
+ source = var.application_source
+ tags = local.tags
+}
+
+resource "aws_elastic_beanstalk_application_version" "application_version" {
+ application = var.application_name
+ description = var.application_description
+ bucket = var.application_bucket
+ key = aws_s3_object.object.id
+ name = var.application_name_version
+ tags = local.tags
+}
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/output.tf b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/output.tf
new file mode 100644
index 0000000000..4262bbe6cf
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/output.tf
@@ -0,0 +1,3 @@
+output "application_version" {
+ value = aws_elastic_beanstalk_application_version.application_version.name
+}
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/variables.tf b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/variables.tf
new file mode 100644
index 0000000000..8d7dd45755
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/variables.tf
@@ -0,0 +1,29 @@
+variable "application_bucket" {
+ description = "The name of the bucket."
+ type = string
+ default = "elasticbeanstalk-eu-central-1"
+}
+
+variable "application_description" {
+ description = "Short description of the Application Version."
+ type = string
+ default = "Beanstalk Application"
+}
+
+variable "application_name" {
+ description = "Name of the Beanstalk Application."
+ type = string
+ default = "beanstalk"
+}
+
+variable "application_name_version" {
+ description = "Version of the Beanstalk Application."
+ type = string
+ default = "beanstalk-1"
+}
+
+variable "application_source" {
+ description = "The source file with application code."
+ type = string
+ default = "app.zip"
+}
diff --git a/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/versions.tf b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/versions.tf
new file mode 100644
index 0000000000..1c82745471
--- /dev/null
+++ b/fdio.infra.terraform/terraform-aws-elastic-beanstalk-application-version/versions.tf
@@ -0,0 +1,9 @@
+terraform {
+ required_providers {
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 5.7.0"
+ }
+ }
+ required_version = ">= 1.4.2"
+}