· 8 years ago · Dec 06, 2017, 01:38 AM
1#Provider
2provider "aws" {
3 #version = "~> 1.5"
4 access_key = "${var.access_key}"
5 secret_key = "${var.secret_key}"
6 region = "${var.region}"
7}
8
9#S3 Bucket
10resource "aws_s3_bucket" "eb_staging" {
11 bucket_prefix = "a_prefix-automate-eb1"
12}
13
14#S3 Bucket Object
15#take zipped folder from working directory and upload it to S3 as etag hashed file
16resource "aws_s3_bucket_object" "eb_staging" {
17 bucket = "${aws_s3_bucket.eb_staging.id}"
18 key = "v003"
19 source = "${var.eb_source_stage_path}"
20 etag = "${md5(file("${var.eb_source_stage_path}"))}"
21}
22
23#Application
24resource "aws_elastic_beanstalk_application" "mvc-site" {
25 name = "mvc-site"
26 description = "mvc-site-desc"
27}
28
29#Application Version
30resource "aws_elastic_beanstalk_application_version" "mvc_staging" {
31 name = "v003-mvc-site"
32 application = "mvc-site"
33 description = "app version staging mvc staging"
34 bucket = "${aws_s3_bucket.eb_staging.id}"
35 key = "${aws_s3_bucket_object.eb_staging.id}"
36}
37
38#Environment
39resource "aws_elastic_beanstalk_environment" "mvc-staging" {
40 #still timeout at 20....==========================================
41 wait_for_ready_timeout = "40m"
42 name = "mvc-staging"
43 application = "${aws_elastic_beanstalk_application.mvc-site.name}"
44 solution_stack_name = "${var.eb_solution_stack}"
45 version_label = "${aws_elastic_beanstalk_application_version.mvc_staging.name}"
46
47}