├── .gitignore ├── 01-Infrastructure-as-Code-IaC-Basics └── README.md ├── 02-Terraform-Basics ├── 02-01-Install-Tools-TerraformCLI-AWSCLI-VSCodeIDE │ └── README.md ├── 02-02-Terraform-Command-Basics │ ├── README.md │ └── terraform-manifests │ │ └── ec2-instance.tf └── 02-03-Terraform-Language-Syntax │ ├── README.md │ └── terraform-manifests │ └── top-level-blocks-samples.tf ├── 03-Terraform-Settings-Providers-Resources ├── README.md └── terraform-manifests │ ├── app1-install.sh │ ├── c1-versions.tf │ └── c2-ec2instance.tf ├── 04-Terraform-Variables-and-Datasources ├── README.md └── terraform-manifests │ ├── app1-install.sh │ ├── c1-versions.tf │ ├── c2-variables.tf │ ├── c3-ec2securitygroups.tf │ ├── c4-ami-datasource.tf │ ├── c5-ec2instance.tf │ ├── c6-outputs.tf │ └── private-key │ └── terraform-key.pem ├── 05-Terraform-Loops-MetaArguments-SplatOperator ├── 05-01-MetaArgument-Count-For-Loops-Lists-Maps │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c2-variables.tf │ │ ├── c3-ec2securitygroups.tf │ │ ├── c4-ami-datasource.tf │ │ ├── c5-ec2instance.tf │ │ ├── c6-outputs.tf │ │ └── private-key │ │ └── terraform-key.pem ├── 05-02-MetaArgument-for_each │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c2-variables.tf │ │ ├── c3-ec2securitygroups.tf │ │ ├── c4-ami-datasource.tf │ │ ├── c5-ec2instance.tf │ │ ├── c6-outputs.tf │ │ └── private-key │ │ └── terraform-key.pem ├── 05-03-Utility-Project │ ├── README.md │ └── terraform-manifests │ │ ├── c1-versions.tf │ │ ├── c2-v1-get-instancetype-supported-per-az-in-a-region.tf │ │ ├── c2-v2-get-instancetype-supported-per-az-in-a-region.tf │ │ └── c2-v3-get-instancetype-supported-per-az-in-a-region.tf └── 05-04-for_each-with-az-instancetype-check │ ├── README.md │ └── terraform-manifests │ ├── app1-install.sh │ ├── backup │ └── c5-ec2instance.tf │ ├── c1-versions.tf │ ├── c2-variables.tf │ ├── c3-ec2securitygroups.tf │ ├── c4-ami-datasource.tf │ ├── c5-ec2instance.tf │ ├── c6-outputs.tf │ ├── c7-get-instancetype-supported-per-az-in-a-region.tf │ └── private-key │ └── terraform-key.pem ├── 06-AWS-VPC ├── 06-01-AWS-VPC-using-Mgmt-Console │ └── README.md └── 06-02-AWS-VPC-using-Terraform │ ├── README.md │ ├── UPGRADES-1.0.md │ └── terraform-manifests │ ├── v1-vpc-module │ ├── c1-versions.tf │ ├── c2-generic-variables.tf │ └── c3-vpc.tf │ └── v2-vpc-module-standardized │ ├── c1-versions.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 07-AWS-EC2Instance-and-SecurityGroups ├── README.md ├── UPGRADES-1.0.md └── terraform-manifests │ ├── app1-install.sh │ ├── c1-versions.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c6-01-datasource-ami.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c7-04-ec2instance-private.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── local-exec-output-files │ ├── backup-demo-kalyan │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 08-AWS-ELB-Classic-LoadBalancer ├── README.md ├── UPGRADES.md └── terraform-manifests │ ├── app1-install.sh │ ├── c1-versions.tf │ ├── c10-01-ELB-classic-loadbalancer-variables.tf │ ├── c10-02-ELB-classic-loadbalancer.tf │ ├── c10-03-ELB-classic-loadbalancer-outputs.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c7-04-ec2instance-private.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── local-exec-output-files │ ├── backup-demo-kalyan │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 09-AWS-ALB-Application-LoadBalancer-Basic ├── README.md ├── UPGRADES.md └── terraform-manifests │ ├── app1-install.sh │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c7-04-ec2instance-private.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 10-ALB-Path-Based-Routing ├── README-OLD.md ├── README.md ├── UPGRADES.md └── terraform-manifests │ ├── app1-install.sh │ ├── app2-install.sh │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c7-04-ec2instance-private-app1.tf │ ├── c7-05-ec2instance-private-app2.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 11-ALB-Host-Header-Based-Routing ├── README-old.md ├── README.md ├── UPGRADES.md ├── terraform-manifests-us-east-2 │ ├── app1-install.sh │ ├── app2-install.sh │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c7-04-ec2instance-private-app1.tf │ ├── c7-05-ec2instance-private-app2.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── loadbalancer.auto.tfvars │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ ├── private-key │ │ ├── terraform-key-us-east-2.pem │ │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars └── terraform-manifests │ ├── app1-install.sh │ ├── app2-install.sh │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c7-04-ec2instance-private-app1.tf │ ├── c7-05-ec2instance-private-app2.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── loadbalancer.auto.tfvars │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ ├── terraform-key-us-east-2.pem │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 12-ALB-HTTPHeader-QueryString-Redirects ├── README-old.md ├── README.md ├── UPGRADES.md └── terraform-manifests │ ├── app1-install.sh │ ├── app2-install.sh │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c7-04-ec2instance-private-app1.tf │ ├── c7-05-ec2instance-private-app2.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── loadbalancer.auto.tfvars │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ ├── terraform-key-us-east-2.pem │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 13-DNS-to-DB ├── README-old.md ├── README.md ├── UPGRADES.md ├── templatefile-function-demo │ └── app3-ums-install.tmpl └── terraform-manifests │ ├── app1-install.sh │ ├── app2-install.sh │ ├── app3-ums-install.tmpl │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c13-01-rdsdb-variables.tf │ ├── c13-02-rdsdb.tf │ ├── c13-03-rdsdb-outputs.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c5-06-securitygroup-rdsdbsg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c7-04-ec2instance-private-app1.tf │ ├── c7-05-ec2instance-private-app2.tf │ ├── c7-06-ec2instance-private-app3.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── jumpbox-install.sh │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ ├── rdsdb.auto.tfvars │ ├── secrets.tfvars │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 14-DEPRECATED-Autoscaling-with-Launch-Configuration ├── README.md └── terraform-manifests │ ├── app1-install.sh │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c13-01-autoscaling-with-launchconfiguration-variables.tf │ ├── c13-02-autoscaling-additional-resoures.tf │ ├── c13-03-autoscaling-with-launchconfiguration.tf │ ├── c13-04-autoscaling-with-launchconfiguration-outputs.tf │ ├── c13-05-autoscaling-notifications.tf │ ├── c13-06-autoscaling-ttsp.tf │ ├── c13-07-autoscaling-scheduled-actions.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 15-Autoscaling-with-Launch-Templates ├── README.md ├── UPGRADES.md └── terraform-manifests │ ├── app1-install.sh │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ ├── c13-03-autoscaling-resource.tf │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ ├── c13-05-autoscaling-notifications.tf │ ├── c13-06-autoscaling-ttsp.tf │ ├── c13-07-autoscaling-scheduled-actions.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 16-AWS-NLB-Network-Load-Balancer ├── README-old.md ├── README.md ├── UPGRADES.md └── terraform-manifests │ ├── app1-install.sh │ ├── c1-versions.tf │ ├── c10-01-NLB-network-loadbalancer-variables.tf │ ├── c10-02-NLB-network-loadbalancer.tf │ ├── c10-03-NLB-network-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ ├── c13-03-autoscaling-resource.tf │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ ├── c13-05-autoscaling-notifications.tf │ ├── c13-06-autoscaling-ttsp.tf │ ├── c13-07-autoscaling-scheduled-actions.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 17-AWS-CloudWatch ├── README.md ├── UPGRADES.md ├── cw-synthetics-manifests-v1 │ ├── c1-versions.tf │ ├── c14-05-cloudwatch-synthetics.tf │ └── sswebsite2 │ │ ├── nodejs │ │ └── node_modules │ │ │ └── sswebsite2.js │ │ └── sswebsite2v1.zip ├── cw-synthetics-manifests-v2 │ ├── c1-versions.tf │ ├── c14-05-cloudwatch-synthetics.tf │ ├── c9-import-role.tf │ └── sswebsite2 │ │ ├── nodejs │ │ └── node_modules │ │ │ └── sswebsite2.js │ │ └── sswebsite2v1.zip ├── temp-alarm │ ├── temp-alarm.tf │ ├── terraform.tfstate-file-alb │ └── terraform.tfstate-file-synthetics-canary └── terraform-manifests │ ├── app1-install.sh │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ ├── c13-03-autoscaling-resource.tf │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ ├── c13-05-autoscaling-notifications.tf │ ├── c13-06-autoscaling-ttsp.tf │ ├── c13-07-autoscaling-scheduled-actions.tf │ ├── c14-01-cloudwatch-variables.tf │ ├── c14-02-cloudwatch-asg-alarms.tf │ ├── c14-03-cloudwatch-alb-alarms.tf │ ├── c14-04-cloudwatch-cis-alarms.tf │ ├── c14-05-cloudwatch-synthetics.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ ├── sswebsite2 │ ├── nodejs │ │ └── node_modules │ │ │ └── sswebsite2.js │ └── sswebsite2v1.zip │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 18-Develop-Terraform-Modules-Locally ├── README.md └── terraform-manifests │ ├── c1-versions.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── modules │ └── aws-vpc │ │ ├── .editorconfig │ │ ├── .github │ │ ├── contributing.md │ │ └── workflows │ │ │ ├── lock.yml │ │ │ ├── pr-title.yml │ │ │ ├── pre-commit.yml │ │ │ ├── release.yml │ │ │ └── stale-actions.yaml │ │ ├── .gitignore │ │ ├── .pre-commit-config.yaml │ │ ├── .releaserc.json │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── UPGRADE-3.0.md │ │ ├── UPGRADE-4.0.md │ │ ├── examples │ │ ├── complete │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── ipam │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── ipv6-dualstack │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── ipv6-only │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── issues │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── manage-default-vpc │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── network-acls │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── outpost │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── secondary-cidr-blocks │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── separate-route-tables │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── simple │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ └── vpc-flow-logs │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── main.tf │ │ ├── modules │ │ └── vpc-endpoints │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ └── versions.tf │ │ ├── outputs.tf │ │ ├── variables.tf │ │ ├── versions.tf │ │ └── vpc-flow-logs.tf │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 19-Develop-Terraform-Module-from-scratch ├── README-old.md ├── README.md ├── index.html ├── v1-create-static-website-on-s3-using-aws-mgmt-console │ ├── index.html │ └── policy-public-read-access-for-website.json ├── v2-host-static-website-on-s3-using-terraform-manifests │ ├── main.tf │ ├── outputs.tf │ ├── terraform.tfvars │ ├── variables.tf │ └── versions.tf └── v3-build-a-module-to-host-static-website-on-aws-s3 │ ├── c1-versions.tf │ ├── c2-variables.tf │ ├── c3-s3bucket.tf │ ├── c4-outputs.tf │ ├── modules │ └── aws-s3-static-website-bucket │ │ ├── LICENSE │ │ ├── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf │ └── terraform.tfvars ├── 20-Remote-State-Storage-with-AWS-S3-and-DynamoDB ├── README.md └── project-1-aws-vpc │ ├── c1-versions.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── terraform.tfvars │ └── vpc.auto.tfvars ├── 21-terraform-remote-state-datasource ├── README.md ├── project-1-aws-vpc │ ├── c1-versions.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c4-01-vpc-variables.tf │ ├── c4-02-vpc-module.tf │ ├── c4-03-vpc-outputs.tf │ ├── terraform.tfvars │ └── vpc.auto.tfvars └── project-2-app1-with-asg-and-alb │ ├── app1-install.sh │ ├── c0-terraform-remote-state-datasource.tf │ ├── c1-versions.tf │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ ├── c10-02-ALB-application-loadbalancer.tf │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ ├── c11-acm-certificatemanager.tf │ ├── c12-route53-dnsregistration.tf │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ ├── c13-03-autoscaling-resource.tf │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ ├── c13-05-autoscaling-notifications.tf │ ├── c13-06-autoscaling-ttsp.tf │ ├── c13-07-autoscaling-scheduled-actions.tf │ ├── c2-generic-variables.tf │ ├── c3-local-values.tf │ ├── c5-01-securitygroup-variables.tf │ ├── c5-02-securitygroup-outputs.tf │ ├── c5-03-securitygroup-bastionsg.tf │ ├── c5-04-securitygroup-privatesg.tf │ ├── c5-05-securitygroup-loadbalancersg.tf │ ├── c6-01-datasource-ami.tf │ ├── c6-02-datasource-route53-zone.tf │ ├── c7-01-ec2instance-variables.tf │ ├── c7-02-ec2instance-outputs.tf │ ├── c7-03-ec2instance-bastion.tf │ ├── c8-elasticip.tf │ ├── c9-nullresource-provisioners.tf │ ├── ec2instance.auto.tfvars │ ├── local-exec-output-files │ ├── creation-time-vpc-id.txt │ └── destroy-time-prov.txt │ ├── private-key │ └── terraform-key.pem │ └── terraform.tfvars ├── 22-IaC-DevOps-using-AWS-CodePipeline ├── Git-Repo-Files │ ├── .gitignore │ ├── README.md │ ├── buildspec-dev.yml │ ├── buildspec-stag.yml │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── dev.conf │ │ ├── dev.tfvars │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── stag.conf │ │ ├── stag.tfvars │ │ └── terraform.tfvars └── README.md ├── BACKUP-BEFORE-DEC2023-UPDATES ├── 01-Infrastructure-as-Code-IaC-Basics │ └── README.md ├── 02-Terraform-Basics │ ├── 02-01-Install-Tools-TerraformCLI-AWSCLI-VSCodeIDE │ │ └── README.md │ ├── 02-02-Terraform-Command-Basics │ │ ├── README.md │ │ └── terraform-manifests │ │ │ └── ec2-instance.tf │ └── 02-03-Terraform-Language-Syntax │ │ ├── README.md │ │ └── terraform-manifests │ │ └── top-level-blocks-samples.tf ├── 03-Terraform-Settings-Providers-Resources │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ └── c2-ec2instance.tf ├── 04-Terraform-Variables-and-Datasources │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c2-variables.tf │ │ ├── c3-ec2securitygroups.tf │ │ ├── c4-ami-datasource.tf │ │ ├── c5-ec2instance.tf │ │ ├── c6-outputs.tf │ │ └── private-key │ │ └── terraform-key.pem ├── 05-Terraform-Loops-MetaArguments-SplatOperator │ ├── 05-01-MetaArgument-Count-For-Loops-Lists-Maps │ │ ├── README.md │ │ └── terraform-manifests │ │ │ ├── app1-install.sh │ │ │ ├── c1-versions.tf │ │ │ ├── c2-variables.tf │ │ │ ├── c3-ec2securitygroups.tf │ │ │ ├── c4-ami-datasource.tf │ │ │ ├── c5-ec2instance.tf │ │ │ ├── c6-outputs.tf │ │ │ └── private-key │ │ │ └── terraform-key.pem │ ├── 05-02-MetaArgument-for_each │ │ ├── README.md │ │ └── terraform-manifests │ │ │ ├── app1-install.sh │ │ │ ├── c1-versions.tf │ │ │ ├── c2-variables.tf │ │ │ ├── c3-ec2securitygroups.tf │ │ │ ├── c4-ami-datasource.tf │ │ │ ├── c5-ec2instance.tf │ │ │ ├── c6-outputs.tf │ │ │ └── private-key │ │ │ └── terraform-key.pem │ ├── 05-03-Utility-Project │ │ ├── README.md │ │ └── terraform-manifests │ │ │ ├── c1-versions.tf │ │ │ ├── c2-v1-get-instancetype-supported-per-az-in-a-region.tf │ │ │ ├── c2-v2-get-instancetype-supported-per-az-in-a-region.tf │ │ │ └── c2-v3-get-instancetype-supported-per-az-in-a-region.tf │ └── 05-04-for_each-with-az-instancetype-check │ │ ├── README.md │ │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── backup │ │ └── c5-ec2instance.tf │ │ ├── c1-versions.tf │ │ ├── c2-variables.tf │ │ ├── c3-ec2securitygroups.tf │ │ ├── c4-ami-datasource.tf │ │ ├── c5-ec2instance.tf │ │ ├── c6-outputs.tf │ │ ├── c7-get-instancetype-supported-per-az-in-a-region.tf │ │ └── private-key │ │ └── terraform-key.pem ├── 06-AWS-VPC │ ├── 06-01-AWS-VPC-using-Mgmt-Console │ │ └── README.md │ └── 06-02-AWS-VPC-using-Terraform │ │ ├── README.md │ │ └── terraform-manifests │ │ ├── v1-vpc-module │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ └── c3-vpc.tf │ │ └── v2-vpc-module-standardized │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 07-AWS-EC2Instance-and-SecurityGroups │ ├── README.md │ ├── terraform-manifests-ec2private-module-version330 │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ │ ├── backup-demo-kalyan │ │ │ │ ├── creation-time-vpc-id.txt │ │ │ │ └── destroy-time-prov.txt │ │ │ ├── creation-time-vpc-id.txt │ │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ └── backup-demo-kalyan │ │ │ ├── creation-time-vpc-id.txt │ │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 08-AWS-ELB-Classic-LoadBalancer │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ELB-classic-loadbalancer-variables.tf │ │ ├── c10-02-ELB-classic-loadbalancer.tf │ │ ├── c10-03-ELB-classic-loadbalancer-outputs.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ └── backup-demo-kalyan │ │ │ ├── creation-time-vpc-id.txt │ │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 09-AWS-ALB-Application-LoadBalancer-Basic │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 10-ALB-Path-Based-Routing │ ├── README.md │ └── terraform-manifests │ │ ├── 14-ALB-Autoscaling-with-Launch-Configuration │ │ ├── README.md │ │ └── terraform-manifests │ │ │ ├── .terraform.lock.hcl │ │ │ ├── app1-install.sh │ │ │ ├── c1-versions.tf │ │ │ ├── c10-acm-certificatemanager.tf │ │ │ ├── c11-ALB-Application-loadbalancer.tf │ │ │ ├── c12-route53-dnsregistration.tf │ │ │ ├── c13-autoscaling-launchconfiguration.tf │ │ │ ├── c14-o1-asg-outputs.tf │ │ │ ├── c14-o2-alb-outputs.tf │ │ │ ├── c14-outputs.tf │ │ │ ├── c2-variables.tf │ │ │ ├── c3-local-values.tf │ │ │ ├── c4-vpc.tf │ │ │ ├── c5-ec2securitygroup.tf │ │ │ ├── c6-ami-datasource.tf │ │ │ ├── c7-ec2instance.tf │ │ │ ├── c8-elasticip.tf │ │ │ ├── c9-nullresource-provisioners.tf │ │ │ ├── private-key │ │ │ └── terraform-key.pem │ │ │ └── terraform.tfvars │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 11-ALB-Host-Header-Based-Routing │ ├── README.md │ ├── terraform-manifests-us-east-2 │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── loadbalancer.auto.tfvars │ │ ├── local-exec-output-files │ │ │ ├── creation-time-vpc-id.txt │ │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ │ ├── terraform-key-us-east-2.pem │ │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── loadbalancer.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ ├── terraform-key-us-east-2.pem │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 12-ALB-HTTPHeader-QueryString-Redirects │ ├── README.md │ └── terraform-manifests │ │ ├── .terraform.lock.hcl │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── loadbalancer.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ ├── terraform-key-us-east-2.pem │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 13-DNS-to-DB │ ├── README.md │ ├── templatefile-function-demo │ │ └── app3-ums-install.tmpl │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── app3-ums-install.tmpl │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-rdsdb-variables.tf │ │ ├── c13-02-rdsdb.tf │ │ ├── c13-03-rdsdb-outputs.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c5-06-securitygroup-rdsdbsg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c7-06-ec2instance-private-app3.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── jumpbox-install.sh │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── rdsdb.auto.tfvars │ │ ├── secrets.tfvars │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 14-Autoscaling-with-Launch-Configuration │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchconfiguration-variables.tf │ │ ├── c13-02-autoscaling-additional-resoures.tf │ │ ├── c13-03-autoscaling-with-launchconfiguration.tf │ │ ├── c13-04-autoscaling-with-launchconfiguration-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 15-Autoscaling-with-Launch-Templates │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 16-AWS-NLB-Network-Load-Balancer │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-NLB-network-loadbalancer-variables.tf │ │ ├── c10-02-NLB-network-loadbalancer.tf │ │ ├── c10-03-NLB-network-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 17-AWS-CloudWatch │ ├── README.md │ ├── cw-synthetics-manifests-v1 │ │ ├── c1-versions.tf │ │ ├── c14-05-cloudwatch-synthetics.tf │ │ └── sswebsite2 │ │ │ ├── nodejs │ │ │ └── node_modules │ │ │ │ └── sswebsite2.js │ │ │ └── sswebsite2v1.zip │ ├── cw-synthetics-manifests-v2 │ │ ├── c1-versions.tf │ │ ├── c14-05-cloudwatch-synthetics.tf │ │ ├── c9-import-role.tf │ │ └── sswebsite2 │ │ │ ├── nodejs │ │ │ └── node_modules │ │ │ │ └── sswebsite2.js │ │ │ └── sswebsite2v1.zip │ ├── temp-alarm │ │ ├── temp-alarm.tf │ │ ├── terraform.tfstate-file-alb │ │ └── terraform.tfstate-file-synthetics-canary │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c14-01-cloudwatch-variables.tf │ │ ├── c14-02-cloudwatch-asg-alarms.tf │ │ ├── c14-03-cloudwatch-alb-alarms.tf │ │ ├── c14-04-cloudwatch-cis-alarms.tf │ │ ├── c14-05-cloudwatch-synthetics.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── sswebsite2 │ │ ├── nodejs │ │ │ └── node_modules │ │ │ │ └── sswebsite2.js │ │ └── sswebsite2v1.zip │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 18-Develop-Terraform-Modules-Locally │ ├── README.md │ ├── backup-terraform-manifests │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── modules │ │ │ └── aws-vpc │ │ │ │ ├── .editorconfig │ │ │ │ ├── .gitignore │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── UPGRADE-3.0.md │ │ │ │ ├── main.tf │ │ │ │ ├── modules │ │ │ │ └── vpc-endpoints │ │ │ │ │ ├── README.md │ │ │ │ │ ├── main.tf │ │ │ │ │ ├── outputs.tf │ │ │ │ │ ├── variables.tf │ │ │ │ │ └── versions.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ ├── versions.tf │ │ │ │ └── vpc-flow-logs.tf │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars │ └── terraform-manifests │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── modules │ │ └── aws-vpc │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── modules │ │ │ └── vpc-endpoints │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ ├── versions.tf │ │ │ └── vpc-flow-logs.tf │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 19-Develop-Terraform-Module-from-scratch │ ├── README.md │ ├── v1-create-static-website-on-s3-using-aws-mgmt-console │ │ ├── index.html │ │ └── policy-public-read-access-for-website.json │ ├── v2-host-static-website-on-s3-using-terraform-manifests │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── terraform.tfvars │ │ ├── variables.tf │ │ └── versions.tf │ └── v3-build-a-module-to-host-static-website-on-aws-s3 │ │ ├── c1-versions.tf │ │ ├── c2-variables.tf │ │ ├── c3-s3bucket.tf │ │ ├── c4-outputs.tf │ │ └── modules │ │ └── aws-s3-static-website-bucket │ │ ├── LICENSE │ │ ├── README.md │ │ ├── main.tf │ │ ├── outputs.tf │ │ └── variables.tf ├── 20-Remote-State-Storage-with-AWS-S3-and-DynamoDB │ ├── README.md │ └── project-1-aws-vpc │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 21-terraform-remote-state-datasource │ ├── README.md │ ├── project-1-aws-vpc │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars │ └── project-2-app1-with-asg-and-alb │ │ ├── app1-install.sh │ │ ├── c0-terraform-remote-state-datasource.tf │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ └── terraform.tfvars ├── 22-IaC-DevOps-using-AWS-CodePipeline │ ├── Git-Repo-Files │ │ ├── .gitignore │ │ ├── README.md │ │ ├── buildspec-dev.yml │ │ ├── buildspec-stag.yml │ │ └── terraform-manifests │ │ │ ├── app1-install.sh │ │ │ ├── c1-versions.tf │ │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ │ ├── c11-acm-certificatemanager.tf │ │ │ ├── c12-route53-dnsregistration.tf │ │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ │ ├── c13-03-autoscaling-resource.tf │ │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ │ ├── c13-05-autoscaling-notifications.tf │ │ │ ├── c13-06-autoscaling-ttsp.tf │ │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ │ ├── c2-generic-variables.tf │ │ │ ├── c3-local-values.tf │ │ │ ├── c4-01-vpc-variables.tf │ │ │ ├── c4-02-vpc-module.tf │ │ │ ├── c4-03-vpc-outputs.tf │ │ │ ├── c5-01-securitygroup-variables.tf │ │ │ ├── c5-02-securitygroup-outputs.tf │ │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ │ ├── c5-04-securitygroup-privatesg.tf │ │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ │ ├── c6-01-datasource-ami.tf │ │ │ ├── c6-02-datasource-route53-zone.tf │ │ │ ├── c7-01-ec2instance-variables.tf │ │ │ ├── c7-02-ec2instance-outputs.tf │ │ │ ├── c7-03-ec2instance-bastion.tf │ │ │ ├── c8-elasticip.tf │ │ │ ├── c9-nullresource-provisioners.tf │ │ │ ├── dev.conf │ │ │ ├── dev.tfvars │ │ │ ├── private-key │ │ │ └── terraform-key.pem │ │ │ ├── stag.conf │ │ │ ├── stag.tfvars │ │ │ └── terraform.tfvars │ └── README.md └── presentation │ └── Terraform-On-AWS-v2.pptx ├── README.md ├── V1-UPDATES-DEC2023 ├── 01-Infrastructure-as-Code-IaC-Basics │ └── README.md ├── 02-Terraform-Basics │ ├── 02-01-Install-Tools-TerraformCLI-AWSCLI-VSCodeIDE │ │ └── README.md │ ├── 02-02-Terraform-Command-Basics │ │ ├── README.md │ │ └── terraform-manifests │ │ │ └── ec2-instance.tf │ └── 02-03-Terraform-Language-Syntax │ │ ├── README.md │ │ └── terraform-manifests │ │ └── top-level-blocks-samples.tf ├── 03-Terraform-Settings-Providers-Resources │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ └── c2-ec2instance.tf ├── 04-Terraform-Variables-and-Datasources │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c2-variables.tf │ │ ├── c3-ec2securitygroups.tf │ │ ├── c4-ami-datasource.tf │ │ ├── c5-ec2instance.tf │ │ ├── c6-outputs.tf │ │ └── private-key │ │ └── terraform-key.pem ├── 05-Terraform-Loops-MetaArguments-SplatOperator │ ├── 05-01-MetaArgument-Count-For-Loops-Lists-Maps │ │ ├── README.md │ │ └── terraform-manifests │ │ │ ├── app1-install.sh │ │ │ ├── c1-versions.tf │ │ │ ├── c2-variables.tf │ │ │ ├── c3-ec2securitygroups.tf │ │ │ ├── c4-ami-datasource.tf │ │ │ ├── c5-ec2instance.tf │ │ │ ├── c6-outputs.tf │ │ │ └── private-key │ │ │ └── terraform-key.pem │ ├── 05-02-MetaArgument-for_each │ │ ├── README.md │ │ └── terraform-manifests │ │ │ ├── app1-install.sh │ │ │ ├── c1-versions.tf │ │ │ ├── c2-variables.tf │ │ │ ├── c3-ec2securitygroups.tf │ │ │ ├── c4-ami-datasource.tf │ │ │ ├── c5-ec2instance.tf │ │ │ ├── c6-outputs.tf │ │ │ └── private-key │ │ │ └── terraform-key.pem │ ├── 05-03-Utility-Project │ │ ├── README.md │ │ └── terraform-manifests │ │ │ ├── c1-versions.tf │ │ │ ├── c2-v1-get-instancetype-supported-per-az-in-a-region.tf │ │ │ ├── c2-v2-get-instancetype-supported-per-az-in-a-region.tf │ │ │ └── c2-v3-get-instancetype-supported-per-az-in-a-region.tf │ └── 05-04-for_each-with-az-instancetype-check │ │ ├── README.md │ │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── backup │ │ └── c5-ec2instance.tf │ │ ├── c1-versions.tf │ │ ├── c2-variables.tf │ │ ├── c3-ec2securitygroups.tf │ │ ├── c4-ami-datasource.tf │ │ ├── c5-ec2instance.tf │ │ ├── c6-outputs.tf │ │ ├── c7-get-instancetype-supported-per-az-in-a-region.tf │ │ └── private-key │ │ └── terraform-key.pem ├── 06-AWS-VPC │ ├── 06-01-AWS-VPC-using-Mgmt-Console │ │ └── README.md │ └── 06-02-AWS-VPC-using-Terraform │ │ ├── README.md │ │ ├── UPGRADES-1.0.md │ │ └── terraform-manifests │ │ ├── v1-vpc-module │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ └── c3-vpc.tf │ │ └── v2-vpc-module-standardized │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 07-AWS-EC2Instance-and-SecurityGroups │ ├── README.md │ ├── UPGRADES-1.0.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── backup-demo-kalyan │ │ │ ├── creation-time-vpc-id.txt │ │ │ └── destroy-time-prov.txt │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 08-AWS-ELB-Classic-LoadBalancer │ ├── README.md │ ├── UPGRADES.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ELB-classic-loadbalancer-variables.tf │ │ ├── c10-02-ELB-classic-loadbalancer.tf │ │ ├── c10-03-ELB-classic-loadbalancer-outputs.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── backup-demo-kalyan │ │ │ ├── creation-time-vpc-id.txt │ │ │ └── destroy-time-prov.txt │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 09-AWS-ALB-Application-LoadBalancer-Basic │ ├── README.md │ ├── UPGRADES.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 10-ALB-Path-Based-Routing │ ├── README-OLD.md │ ├── README.md │ ├── UPGRADES.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 11-ALB-Host-Header-Based-Routing │ ├── README-old.md │ ├── README.md │ ├── UPGRADES.md │ ├── terraform-manifests-us-east-2 │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── loadbalancer.auto.tfvars │ │ ├── local-exec-output-files │ │ │ ├── creation-time-vpc-id.txt │ │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ │ ├── terraform-key-us-east-2.pem │ │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── loadbalancer.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ ├── terraform-key-us-east-2.pem │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 12-ALB-HTTPHeader-QueryString-Redirects │ ├── README-old.md │ ├── README.md │ ├── UPGRADES.md │ ├── terraform-manifests-orig │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── loadbalancer.auto.tfvars │ │ ├── local-exec-output-files │ │ │ ├── creation-time-vpc-id.txt │ │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ │ ├── terraform-key-us-east-2.pem │ │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── loadbalancer.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ ├── terraform-key-us-east-2.pem │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 13-DNS-to-DB │ ├── README-old.md │ ├── README.md │ ├── UPGRADES.md │ ├── templatefile-function-demo │ │ └── app3-ums-install.tmpl │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── app2-install.sh │ │ ├── app3-ums-install.tmpl │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-rdsdb-variables.tf │ │ ├── c13-02-rdsdb.tf │ │ ├── c13-03-rdsdb-outputs.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c5-06-securitygroup-rdsdbsg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c7-04-ec2instance-private-app1.tf │ │ ├── c7-05-ec2instance-private-app2.tf │ │ ├── c7-06-ec2instance-private-app3.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── jumpbox-install.sh │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── rdsdb.auto.tfvars │ │ ├── secrets.tfvars │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 14-DEPRECATED-Autoscaling-with-Launch-Configuration │ ├── README.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchconfiguration-variables.tf │ │ ├── c13-02-autoscaling-additional-resoures.tf │ │ ├── c13-03-autoscaling-with-launchconfiguration.tf │ │ ├── c13-04-autoscaling-with-launchconfiguration-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 15-Autoscaling-with-Launch-Templates │ ├── README.md │ ├── UPGRADES.md │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 16-AWS-NLB-Network-Load-Balancer │ ├── README-old.md │ ├── README.md │ ├── UPGRADES.md │ ├── terraform-manifests-orig │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-NLB-network-loadbalancer-variables.tf │ │ ├── c10-02-NLB-network-loadbalancer.tf │ │ ├── c10-03-NLB-network-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ │ ├── creation-time-vpc-id.txt │ │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-NLB-network-loadbalancer-variables.tf │ │ ├── c10-02-NLB-network-loadbalancer.tf │ │ ├── c10-03-NLB-network-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 17-AWS-CloudWatch │ ├── README.md │ ├── UPGRADES.md │ ├── cw-synthetics-manifests-v1 │ │ ├── c1-versions.tf │ │ ├── c14-05-cloudwatch-synthetics.tf │ │ └── sswebsite2 │ │ │ ├── nodejs │ │ │ └── node_modules │ │ │ │ └── sswebsite2.js │ │ │ └── sswebsite2v1.zip │ ├── cw-synthetics-manifests-v2 │ │ ├── c1-versions.tf │ │ ├── c14-05-cloudwatch-synthetics.tf │ │ ├── c9-import-role.tf │ │ └── sswebsite2 │ │ │ ├── nodejs │ │ │ └── node_modules │ │ │ │ └── sswebsite2.js │ │ │ └── sswebsite2v1.zip │ ├── temp-alarm │ │ ├── temp-alarm.tf │ │ ├── terraform.tfstate-file-alb │ │ └── terraform.tfstate-file-synthetics-canary │ └── terraform-manifests │ │ ├── app1-install.sh │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c14-01-cloudwatch-variables.tf │ │ ├── c14-02-cloudwatch-asg-alarms.tf │ │ ├── c14-03-cloudwatch-alb-alarms.tf │ │ ├── c14-04-cloudwatch-cis-alarms.tf │ │ ├── c14-05-cloudwatch-synthetics.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ ├── sswebsite2 │ │ ├── nodejs │ │ │ └── node_modules │ │ │ │ └── sswebsite2.js │ │ └── sswebsite2v1.zip │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 18-Develop-Terraform-Modules-Locally │ ├── README.md │ └── terraform-manifests │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── modules │ │ └── aws-vpc │ │ │ ├── .editorconfig │ │ │ ├── .github │ │ │ ├── contributing.md │ │ │ └── workflows │ │ │ │ ├── lock.yml │ │ │ │ ├── pr-title.yml │ │ │ │ ├── pre-commit.yml │ │ │ │ ├── release.yml │ │ │ │ └── stale-actions.yaml │ │ │ ├── .gitignore │ │ │ ├── .pre-commit-config.yaml │ │ │ ├── .releaserc.json │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── UPGRADE-3.0.md │ │ │ ├── UPGRADE-4.0.md │ │ │ ├── examples │ │ │ ├── complete │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── ipam │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── ipv6-dualstack │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── ipv6-only │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── issues │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── manage-default-vpc │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── network-acls │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── outpost │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── secondary-cidr-blocks │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── separate-route-tables │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── simple │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ └── vpc-flow-logs │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── main.tf │ │ │ ├── modules │ │ │ └── vpc-endpoints │ │ │ │ ├── README.md │ │ │ │ ├── main.tf │ │ │ │ ├── outputs.tf │ │ │ │ ├── variables.tf │ │ │ │ └── versions.tf │ │ │ ├── outputs.tf │ │ │ ├── variables.tf │ │ │ ├── versions.tf │ │ │ └── vpc-flow-logs.tf │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 19-Develop-Terraform-Module-from-scratch │ ├── README-old.md │ ├── README.md │ ├── index.html │ ├── v1-create-static-website-on-s3-using-aws-mgmt-console │ │ ├── index.html │ │ └── policy-public-read-access-for-website.json │ ├── v2-host-static-website-on-s3-using-terraform-manifests │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── terraform.tfvars │ │ ├── variables.tf │ │ └── versions.tf │ └── v3-build-a-module-to-host-static-website-on-aws-s3 │ │ ├── c1-versions.tf │ │ ├── c2-variables.tf │ │ ├── c3-s3bucket.tf │ │ ├── c4-outputs.tf │ │ ├── modules │ │ └── aws-s3-static-website-bucket │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ └── terraform.tfvars ├── 20-Remote-State-Storage-with-AWS-S3-and-DynamoDB │ ├── README.md │ └── project-1-aws-vpc │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars ├── 21-terraform-remote-state-datasource │ ├── README.md │ ├── project-1-aws-vpc │ │ ├── c1-versions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c4-01-vpc-variables.tf │ │ ├── c4-02-vpc-module.tf │ │ ├── c4-03-vpc-outputs.tf │ │ ├── terraform.tfvars │ │ └── vpc.auto.tfvars │ └── project-2-app1-with-asg-and-alb │ │ ├── app1-install.sh │ │ ├── c0-terraform-remote-state-datasource.tf │ │ ├── c1-versions.tf │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ ├── c11-acm-certificatemanager.tf │ │ ├── c12-route53-dnsregistration.tf │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ ├── c13-03-autoscaling-resource.tf │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ ├── c13-05-autoscaling-notifications.tf │ │ ├── c13-06-autoscaling-ttsp.tf │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ ├── c2-generic-variables.tf │ │ ├── c3-local-values.tf │ │ ├── c5-01-securitygroup-variables.tf │ │ ├── c5-02-securitygroup-outputs.tf │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ ├── c5-04-securitygroup-privatesg.tf │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ ├── c6-01-datasource-ami.tf │ │ ├── c6-02-datasource-route53-zone.tf │ │ ├── c7-01-ec2instance-variables.tf │ │ ├── c7-02-ec2instance-outputs.tf │ │ ├── c7-03-ec2instance-bastion.tf │ │ ├── c8-elasticip.tf │ │ ├── c9-nullresource-provisioners.tf │ │ ├── ec2instance.auto.tfvars │ │ ├── local-exec-output-files │ │ ├── creation-time-vpc-id.txt │ │ └── destroy-time-prov.txt │ │ ├── private-key │ │ └── terraform-key.pem │ │ └── terraform.tfvars ├── 22-IaC-DevOps-using-AWS-CodePipeline │ ├── Git-Repo-Files │ │ ├── .gitignore │ │ ├── README.md │ │ ├── buildspec-dev.yml │ │ ├── buildspec-stag.yml │ │ └── terraform-manifests │ │ │ ├── app1-install.sh │ │ │ ├── c1-versions.tf │ │ │ ├── c10-01-ALB-application-loadbalancer-variables.tf │ │ │ ├── c10-02-ALB-application-loadbalancer.tf │ │ │ ├── c10-03-ALB-application-loadbalancer-outputs.tf │ │ │ ├── c11-acm-certificatemanager.tf │ │ │ ├── c12-route53-dnsregistration.tf │ │ │ ├── c13-01-autoscaling-with-launchtemplate-variables.tf │ │ │ ├── c13-02-autoscaling-launchtemplate-resource.tf │ │ │ ├── c13-03-autoscaling-resource.tf │ │ │ ├── c13-04-autoscaling-with-launchtemplate-outputs.tf │ │ │ ├── c13-05-autoscaling-notifications.tf │ │ │ ├── c13-06-autoscaling-ttsp.tf │ │ │ ├── c13-07-autoscaling-scheduled-actions.tf │ │ │ ├── c2-generic-variables.tf │ │ │ ├── c3-local-values.tf │ │ │ ├── c4-01-vpc-variables.tf │ │ │ ├── c4-02-vpc-module.tf │ │ │ ├── c4-03-vpc-outputs.tf │ │ │ ├── c5-01-securitygroup-variables.tf │ │ │ ├── c5-02-securitygroup-outputs.tf │ │ │ ├── c5-03-securitygroup-bastionsg.tf │ │ │ ├── c5-04-securitygroup-privatesg.tf │ │ │ ├── c5-05-securitygroup-loadbalancersg.tf │ │ │ ├── c6-01-datasource-ami.tf │ │ │ ├── c6-02-datasource-route53-zone.tf │ │ │ ├── c7-01-ec2instance-variables.tf │ │ │ ├── c7-02-ec2instance-outputs.tf │ │ │ ├── c7-03-ec2instance-bastion.tf │ │ │ ├── c8-elasticip.tf │ │ │ ├── c9-nullresource-provisioners.tf │ │ │ ├── dev.conf │ │ │ ├── dev.tfvars │ │ │ ├── private-key │ │ │ └── terraform-key.pem │ │ │ ├── stag.conf │ │ │ ├── stag.tfvars │ │ │ └── terraform.tfvars │ └── README.md └── presentation │ └── Terraform-On-AWS-v2.pptx ├── git-deploy.sh └── presentation ├── Terraform-On-AWS-v2.pptx └── Terraform-On-AWS-v3.pptx /.gitignore: -------------------------------------------------------------------------------- 1 | /ADDITIONAL-TOPICS 2 | FUTURE-TOPICS 3 | #.gitignore 4 | 5 | # macOS Files 6 | .DS_Store 7 | 8 | # Ignore .sh files 9 | #*.sh 10 | 11 | # Terraform Files and Folders 12 | .terraform 13 | *.tfstate 14 | *.tfstate.backup 15 | #.terraform.lock.hcl 16 | #*.tfvars 17 | 18 | # Ignore .pem files 19 | #*.pem 20 | -------------------------------------------------------------------------------- /01-Infrastructure-as-Code-IaC-Basics/README.md: -------------------------------------------------------------------------------- 1 | # Infrastructure as Code Basics 2 | 3 | ## Step-01: Understand Problems with Traditional way of Managing Infrastructure 4 | - Time it takes for building multiple environments 5 | - Issues we face with different environments 6 | - Scale-Up and Scale-Down On-Demand 7 | 8 | ## Step-02: Discuss how IaC with Terraform Solves them 9 | - Visibility 10 | - Stability 11 | - Scalability 12 | - Security 13 | - Audit -------------------------------------------------------------------------------- /03-Terraform-Settings-Providers-Resources/terraform-manifests/c2-ec2instance.tf: -------------------------------------------------------------------------------- 1 | # Resource: EC2 Instance 2 | resource "aws_instance" "myec2vm" { 3 | ami = "ami-0742b4e673072066f" 4 | instance_type = "t3.micro" 5 | user_data = file("${path.module}/app1-install.sh") 6 | tags = { 7 | "Name" = "EC2 Demo" 8 | } 9 | } -------------------------------------------------------------------------------- /04-Terraform-Variables-and-Datasources/terraform-manifests/c5-ec2instance.tf: -------------------------------------------------------------------------------- 1 | # EC2 Instance 2 | resource "aws_instance" "myec2vm" { 3 | ami = data.aws_ami.amzlinux2.id 4 | instance_type = var.instance_type 5 | user_data = file("${path.module}/app1-install.sh") 6 | key_name = var.instance_keypair 7 | vpc_security_group_ids = [ aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id ] 8 | tags = { 9 | "Name" = "EC2 Demo 2" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /04-Terraform-Variables-and-Datasources/terraform-manifests/c6-outputs.tf: -------------------------------------------------------------------------------- 1 | # Terraform Output Values 2 | 3 | # EC2 Instance Public IP 4 | output "instance_publicip" { 5 | description = "EC2 Instance Public IP" 6 | value = aws_instance.myec2vm.public_ip 7 | } 8 | 9 | # EC2 Instance Public DNS 10 | output "instance_publicdns" { 11 | description = "EC2 Instance Public DNS" 12 | value = aws_instance.myec2vm.public_dns 13 | } 14 | -------------------------------------------------------------------------------- /06-AWS-VPC/06-02-AWS-VPC-using-Terraform/terraform-manifests/v1-vpc-module/c2-generic-variables.tf: -------------------------------------------------------------------------------- 1 | # Input Variables 2 | 3 | # AWS Region 4 | variable "aws_region" { 5 | description = "Region in which AWS Resources to be created" 6 | type = string 7 | default = "us-east-1" 8 | } 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /06-AWS-VPC/06-02-AWS-VPC-using-Terraform/terraform-manifests/v2-vpc-module-standardized/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /06-AWS-VPC/06-02-AWS-VPC-using-Terraform/terraform-manifests/v2-vpc-module-standardized/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/c6-01-datasource-ami.tf: -------------------------------------------------------------------------------- 1 | # Get latest AMI ID for Amazon Linux2 OS 2 | data "aws_ami" "amzlinux2" { 3 | most_recent = true 4 | owners = [ "amazon" ] 5 | filter { 6 | name = "name" 7 | values = [ "amzn2-ami-hvm-*-gp2" ] 8 | } 9 | filter { 10 | name = "root-device-type" 11 | values = [ "ebs" ] 12 | } 13 | filter { 14 | name = "virtualization-type" 15 | values = [ "hvm" ] 16 | } 17 | filter { 18 | name = "architecture" 19 | values = [ "x86_64" ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/backup-demo-kalyan/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Mon Apr 12 12:44:45 IST 2021 and VPC ID: vpc-0420c012ebe877808 2 | VPC created on Thu Apr 15 16:38:50 IST 2021 and VPC ID: vpc-06cacba8e6cd418c5 3 | -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/backup-demo-kalyan/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Thu Apr 15 16:56:54 IST 2021 2 | -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Tue Nov 28 10:36:35 IST 2023 and VPC ID: vpc-03b65bf021fae83d9 2 | VPC created on Thu Jul 3 07:34:53 IST 2025 and VPC ID: vpc-0d7468077cd183bd0 3 | -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Nov 28 10:40:26 IST 2023 2 | Destroy time prov Thu Jul 3 07:43:45 IST 2025 3 | -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c10-01-ELB-classic-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Classic Load Balancer Variables 2 | # Place holder file for CLB Variables 3 | 4 | -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c6-01-datasource-ami.tf: -------------------------------------------------------------------------------- 1 | # Get latest AMI ID for Amazon Linux2 OS 2 | data "aws_ami" "amzlinux2" { 3 | most_recent = true 4 | owners = [ "amazon" ] 5 | filter { 6 | name = "name" 7 | values = [ "amzn2-ami-hvm-*-gp2" ] 8 | } 9 | filter { 10 | name = "root-device-type" 11 | values = [ "ebs" ] 12 | } 13 | filter { 14 | name = "virtualization-type" 15 | values = [ "hvm" ] 16 | } 17 | filter { 18 | name = "architecture" 19 | values = [ "x86_64" ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | #private_instance_count = 2 5 | -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/backup-demo-kalyan/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Mon Apr 12 12:44:45 IST 2021 and VPC ID: vpc-0420c012ebe877808 2 | VPC created on Thu Apr 15 16:38:50 IST 2021 and VPC ID: vpc-06cacba8e6cd418c5 3 | -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/backup-demo-kalyan/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Thu Apr 15 16:56:54 IST 2021 2 | -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Tue Nov 28 11:01:43 IST 2023 and VPC ID: vpc-0a899e74c3df2dce4 2 | VPC created on Sat Dec 23 06:46:23 IST 2023 and VPC ID: vpc-063392b2a9c4e3eee 3 | VPC created on Wed Jul 9 09:25:11 IST 2025 and VPC ID: vpc-054ea11fb9328a88b 4 | -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Nov 28 11:03:30 IST 2023 2 | Destroy time prov Sat Dec 23 06:49:18 IST 2023 3 | Destroy time prov Wed Jul 9 09:25:41 IST 2025 4 | -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Mon Apr 19 15:08:50 IST 2021 2 | Destroy time prov Tue Nov 28 17:14:47 IST 2023 3 | Destroy time prov Wed Nov 29 08:18:39 IST 2023 4 | Destroy time prov Wed Nov 29 08:32:50 IST 2023 5 | Destroy time prov Sat Dec 2 06:37:02 IST 2023 6 | Destroy time prov Sat Dec 23 11:36:27 IST 2023 7 | -------------------------------------------------------------------------------- /09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "apps.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | #name = module.alb.this_lb_dns_name 8 | #zone_id = module.alb.this_lb_zone_id 9 | name = module.alb.dns_name 10 | zone_id = module.alb.zone_id 11 | evaluate_target_health = true 12 | } 13 | } -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/c6-01-datasource-ami.tf: -------------------------------------------------------------------------------- 1 | # Get latest AMI ID for Amazon Linux2 OS 2 | data "aws_ami" "amzlinux2" { 3 | most_recent = true 4 | owners = [ "amazon" ] 5 | filter { 6 | name = "name" 7 | values = [ "amzn2-ami-hvm-*-gp2" ] 8 | } 9 | filter { 10 | name = "root-device-type" 11 | values = [ "ebs" ] 12 | } 13 | filter { 14 | name = "virtualization-type" 15 | values = [ "hvm" ] 16 | } 17 | filter { 18 | name = "architecture" 19 | values = [ "x86_64" ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Tue Apr 20 13:59:45 IST 2021 and VPC ID: vpc-0325dc1acd7eec103 2 | VPC created on Wed Nov 29 09:10:12 IST 2023 and VPC ID: vpc-003afd96bf5d225cd 3 | VPC created on Sat Dec 23 16:23:55 IST 2023 and VPC ID: vpc-0b7637a6d7e5e6fea 4 | -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Wed Nov 29 11:03:33 IST 2023 3 | Destroy time prov Sat Dec 23 16:34:56 IST 2023 4 | -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /10-ALB-Path-Based-Routing/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key-us-east-2" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app1.devopsincloud.com" 3 | app2_dns_name = "app2.devopsincloud.com" -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Tue Apr 20 15:47:43 IST 2021 3 | Destroy time prov Thu Apr 22 12:11:35 IST 2021 4 | Destroy time prov Thu Apr 22 14:24:56 IST 2021 5 | Destroy time prov Thu Apr 22 14:49:18 IST 2021 6 | Destroy time prov Fri Apr 23 10:32:44 IST 2021 7 | Destroy time prov Tue Apr 27 08:41:33 IST 2021 8 | Destroy time prov Wed Nov 29 11:34:45 IST 2023 9 | Destroy time prov Wed Nov 29 13:09:08 IST 2023 10 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-2" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-2a", "us-east-2b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests/c6-01-datasource-ami.tf: -------------------------------------------------------------------------------- 1 | # Get latest AMI ID for Amazon Linux2 OS 2 | data "aws_ami" "amzlinux2" { 3 | most_recent = true 4 | owners = [ "amazon" ] 5 | filter { 6 | name = "name" 7 | values = [ "amzn2-ami-hvm-*-gp2" ] 8 | } 9 | filter { 10 | name = "root-device-type" 11 | values = [ "ebs" ] 12 | } 13 | filter { 14 | name = "virtualization-type" 15 | values = [ "hvm" ] 16 | } 17 | filter { 18 | name = "architecture" 19 | values = [ "x86_64" ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app1.devopsincloud.com" 3 | app2_dns_name = "app2.devopsincloud.com" -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Tue Apr 20 15:47:43 IST 2021 3 | Destroy time prov Thu Apr 22 12:11:35 IST 2021 4 | Destroy time prov Thu Apr 22 14:24:56 IST 2021 5 | Destroy time prov Thu Apr 22 14:49:18 IST 2021 6 | Destroy time prov Fri Apr 23 10:32:44 IST 2021 7 | Destroy time prov Tue Apr 27 08:41:33 IST 2021 8 | Destroy time prov Wed Nov 29 11:34:45 IST 2023 9 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /11-ALB-Host-Header-Based-Routing/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | #private_instance_count = 2 5 | -------------------------------------------------------------------------------- /12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app1.devopsincloud.com" 3 | app2_dns_name = "app2.devopsincloud.com" -------------------------------------------------------------------------------- /12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "dns-to-db.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.dns_name 8 | zone_id = module.alb.zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/c6-01-datasource-ami.tf: -------------------------------------------------------------------------------- 1 | # Get latest AMI ID for Amazon Linux2 OS 2 | data "aws_ami" "amzlinux2" { 3 | most_recent = true 4 | owners = [ "amazon" ] 5 | filter { 6 | name = "name" 7 | values = [ "amzn2-ami-hvm-*-gp2" ] 8 | } 9 | filter { 10 | name = "root-device-type" 11 | values = [ "ebs" ] 12 | } 13 | filter { 14 | name = "virtualization-type" 15 | values = [ "hvm" ] 16 | } 17 | filter { 18 | name = "architecture" 19 | values = [ "x86_64" ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | #private_instance_count = 2 5 | -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/jumpbox-install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | sudo yum update -y 3 | sudo rpm -e --nodeps mariadb-libs-* 4 | sudo amazon-linux-extras enable mariadb10.5 5 | sudo yum clean metadata 6 | sudo yum install -y mariadb 7 | sudo mysql -V 8 | sudo yum install -y telnet -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Fri Apr 23 16:06:53 IST 2021 3 | Destroy time prov Tue Apr 27 11:10:39 IST 2021 4 | Destroy time prov Tue Apr 27 13:09:09 IST 2021 5 | Destroy time prov Tue Apr 27 16:20:51 IST 2021 6 | Destroy time prov Wed Nov 29 16:13:32 IST 2023 7 | Destroy time prov Wed Nov 29 17:02:35 IST 2023 8 | Destroy time prov Tue Dec 26 14:43:34 IST 2023 9 | -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/rdsdb.auto.tfvars: -------------------------------------------------------------------------------- 1 | # RDS Database Variables 2 | db_name = "webappdb" 3 | db_instance_identifier = "webappdb" 4 | db_username = "dbadmin" 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/secrets.tfvars: -------------------------------------------------------------------------------- 1 | db_password = "dbpassword11" -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /13-DNS-to-DB/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "asg-lc.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.lb_dns_name 8 | zone_id = module.alb.lb_zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/c13-01-autoscaling-with-launchconfiguration-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /15-Autoscaling-with-Launch-Templates/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /15-Autoscaling-with-Launch-Templates/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "asg-lt.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | #name = module.alb.lb_dns_name 8 | #zone_id = module.alb.lb_zone_id 9 | name = module.alb.dns_name 10 | zone_id = module.alb.zone_id 11 | evaluate_target_health = true 12 | } 13 | } -------------------------------------------------------------------------------- /15-Autoscaling-with-Launch-Templates/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /15-Autoscaling-with-Launch-Templates/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /15-Autoscaling-with-Launch-Templates/terraform-manifests/c6-01-datasource-ami.tf: -------------------------------------------------------------------------------- 1 | # Get latest AMI ID for Amazon Linux2 OS 2 | data "aws_ami" "amzlinux2" { 3 | most_recent = true 4 | owners = [ "amazon" ] 5 | filter { 6 | name = "name" 7 | values = [ "amzn2-ami-hvm-*-gp2" ] 8 | } 9 | filter { 10 | name = "root-device-type" 11 | values = [ "ebs" ] 12 | } 13 | filter { 14 | name = "virtualization-type" 15 | values = [ "hvm" ] 16 | } 17 | filter { 18 | name = "architecture" 19 | values = [ "x86_64" ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /15-Autoscaling-with-Launch-Templates/terraform-manifests/c7-02-ec2instance-outputs.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Instance Terraform Outputs 2 | # Public EC2 Instances - Bastion Host 3 | 4 | ## ec2_bastion_public_instance_ids 5 | output "ec2_bastion_public_instance_ids" { 6 | description = "List of IDs of instances" 7 | value = module.ec2_public.id 8 | } 9 | 10 | ## ec2_bastion_public_ip 11 | output "ec2_bastion_public_ip" { 12 | description = "List of public IP addresses assigned to the instances" 13 | value = module.ec2_public.public_ip 14 | } 15 | 16 | -------------------------------------------------------------------------------- /15-Autoscaling-with-Launch-Templates/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /15-Autoscaling-with-Launch-Templates/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /15-Autoscaling-with-Launch-Templates/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c10-01-NLB-network-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "nlb.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | #name = module.nlb.lb_dns_name 8 | #zone_id = module.nlb.lb_zone_id 9 | name = module.nlb.dns_name 10 | zone_id = module.nlb.zone_id 11 | evaluate_target_health = true 12 | } 13 | } -------------------------------------------------------------------------------- /16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c6-01-datasource-ami.tf: -------------------------------------------------------------------------------- 1 | # Get latest AMI ID for Amazon Linux2 OS 2 | data "aws_ami" "amzlinux2" { 3 | most_recent = true 4 | owners = [ "amazon" ] 5 | filter { 6 | name = "name" 7 | values = [ "amzn2-ami-hvm-*-gp2" ] 8 | } 9 | filter { 10 | name = "root-device-type" 11 | values = [ "ebs" ] 12 | } 13 | filter { 14 | name = "virtualization-type" 15 | values = [ "hvm" ] 16 | } 17 | filter { 18 | name = "architecture" 19 | values = [ "x86_64" ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c7-02-ec2instance-outputs.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Instance Terraform Outputs 2 | # Public EC2 Instances - Bastion Host 3 | 4 | ## ec2_bastion_public_instance_ids 5 | output "ec2_bastion_public_instance_ids" { 6 | description = "List of IDs of instances" 7 | value = module.ec2_public.id 8 | } 9 | 10 | ## ec2_bastion_public_ip 11 | output "ec2_bastion_public_ip" { 12 | description = "List of public IP addresses assigned to the instances" 13 | value = module.ec2_public.public_ip 14 | } 15 | 16 | -------------------------------------------------------------------------------- /16-AWS-NLB-Network-Load-Balancer/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /16-AWS-NLB-Network-Load-Balancer/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /16-AWS-NLB-Network-Load-Balancer/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /17-AWS-CloudWatch/cw-synthetics-manifests-v1/sswebsite2/sswebsite2v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/17-AWS-CloudWatch/cw-synthetics-manifests-v1/sswebsite2/sswebsite2v1.zip -------------------------------------------------------------------------------- /17-AWS-CloudWatch/cw-synthetics-manifests-v2/c9-import-role.tf: -------------------------------------------------------------------------------- 1 | /*resource "aws_iam_role" "developer" { 2 | 3 | }*/ 4 | 5 | # terraform import aws_iam_role.developer CloudWatchSyntheticsRole-sswebsite-3a7-8333e475ed87 6 | -------------------------------------------------------------------------------- /17-AWS-CloudWatch/cw-synthetics-manifests-v2/sswebsite2/sswebsite2v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/17-AWS-CloudWatch/cw-synthetics-manifests-v2/sswebsite2/sswebsite2v1.zip -------------------------------------------------------------------------------- /17-AWS-CloudWatch/temp-alarm/temp-alarm.tf: -------------------------------------------------------------------------------- 1 | provider "aws" { 2 | region = "us-east-1" 3 | } 4 | 5 | resource "aws_cloudwatch_metric_alarm" "temp" { 6 | 7 | } 8 | 9 | /* Create my terraform import command 10 | terraform import aws_cloudwatch_metric_alarm.temp temp-alarm 11 | terraform import aws_cloudwatch_metric_alarm.temp Synthetics-Alarm-my-manual-canary2-1 12 | */ -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "cloudwatch.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | #name = module.alb.lb_dns_name 8 | #zone_id = module.alb.lb_zone_id 9 | name = module.alb.dns_name 10 | zone_id = module.alb.zone_id 11 | evaluate_target_health = true 12 | } 13 | } -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/c14-01-cloudwatch-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS CloudWatch Input Variables 2 | ## Place holder file for AWS CloudWatch Input Variables -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/c6-01-datasource-ami.tf: -------------------------------------------------------------------------------- 1 | # Get latest AMI ID for Amazon Linux2 OS 2 | data "aws_ami" "amzlinux2" { 3 | most_recent = true 4 | owners = [ "amazon" ] 5 | filter { 6 | name = "name" 7 | values = [ "amzn2-ami-hvm-*-gp2" ] 8 | } 9 | filter { 10 | name = "root-device-type" 11 | values = [ "ebs" ] 12 | } 13 | filter { 14 | name = "virtualization-type" 15 | values = [ "hvm" ] 16 | } 17 | filter { 18 | name = "architecture" 19 | values = [ "x86_64" ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/c7-02-ec2instance-outputs.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Instance Terraform Outputs 2 | # Public EC2 Instances - Bastion Host 3 | 4 | ## ec2_bastion_public_instance_ids 5 | output "ec2_bastion_public_instance_ids" { 6 | description = "List of IDs of instances" 7 | value = module.ec2_public.id 8 | } 9 | 10 | ## ec2_bastion_public_ip 11 | output "ec2_bastion_public_ip" { 12 | description = "List of public IP addresses assigned to the instances" 13 | value = module.ec2_public.public_ip 14 | } 15 | 16 | -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/sswebsite2/sswebsite2v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/17-AWS-CloudWatch/terraform-manifests/sswebsite2/sswebsite2v1.zip -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /17-AWS-CloudWatch/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/complete/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/complete/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/complete/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipam/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipam/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipam/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-dualstack/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-dualstack/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-dualstack/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-only/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-only/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-only/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/issues/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/issues/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/issues/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/manage-default-vpc/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/manage-default-vpc/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/manage-default-vpc/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/network-acls/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/network-acls/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/network-acls/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/outpost/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/outpost/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/outpost/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/secondary-cidr-blocks/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/secondary-cidr-blocks/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/secondary-cidr-blocks/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/separate-route-tables/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/separate-route-tables/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/separate-route-tables/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/simple/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/simple/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/simple/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/vpc-flow-logs/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/vpc-flow-logs/variables.tf -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/vpc-flow-logs/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | 10 | random = { 11 | source = "hashicorp/random" 12 | version = ">= 2.0" 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/modules/vpc-endpoints/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.6" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /18-Develop-Terraform-Modules-Locally/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /19-Develop-Terraform-Module-from-scratch/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |Terraform Demo
6 |Application Version: V1
7 | 8 | -------------------------------------------------------------------------------- /19-Develop-Terraform-Module-from-scratch/v1-create-static-website-on-s3-using-aws-mgmt-console/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |Terraform Modules - Step by Step
9 | 10 | -------------------------------------------------------------------------------- /19-Develop-Terraform-Module-from-scratch/v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Sid": "PublicReadGetObject", 6 | "Effect": "Allow", 7 | "Principal": "*", 8 | "Action": [ 9 | "s3:GetObject" 10 | ], 11 | "Resource": [ 12 | "arn:aws:s3:::mybucket-1045/*" 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /19-Develop-Terraform-Module-from-scratch/v2-host-static-website-on-s3-using-terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | bucket_name = "mybucket-2051" 2 | tags = { 3 | Terraform = "true" 4 | Environment = "dev" 5 | } -------------------------------------------------------------------------------- /19-Develop-Terraform-Module-from-scratch/v2-host-static-website-on-s3-using-terraform-manifests/variables.tf: -------------------------------------------------------------------------------- 1 | # Input variable definitions 2 | variable "bucket_name" { 3 | description = "Name of the S3 bucket. Must be Unique across AWS" 4 | type = string 5 | } 6 | 7 | variable "tags" { 8 | description = "Tages to set on the bucket" 9 | type = map(string) 10 | default = {} 11 | } 12 | -------------------------------------------------------------------------------- /19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/c3-s3bucket.tf: -------------------------------------------------------------------------------- 1 | # Call our Custom Terraform Module which we built earlier 2 | 3 | module "website_s3_bucket" { 4 | source = "./modules/aws-s3-static-website-bucket" # Mandatory 5 | bucket_name = var.my_s3_bucket 6 | tags = var.my_s3_tags 7 | } -------------------------------------------------------------------------------- /19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/modules/aws-s3-static-website-bucket/README.md: -------------------------------------------------------------------------------- 1 | # AWS S3 static website bucket 2 | - This module provisions AWS S3 buckets configured for static website hosting. 3 | - This will be a demo S3 module 4 | 5 | -------------------------------------------------------------------------------- /19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/modules/aws-s3-static-website-bucket/variables.tf: -------------------------------------------------------------------------------- 1 | # Input variable definitions 2 | variable "bucket_name" { 3 | description = "Name of the S3 bucket. Must be Unique across AWS" 4 | type = string 5 | } 6 | 7 | variable "tags" { 8 | description = "Tages to set on the bucket" 9 | type = map(string) 10 | default = {} 11 | } 12 | -------------------------------------------------------------------------------- /19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/terraform.tfvars: -------------------------------------------------------------------------------- 1 | aws_region = "us-east-1" 2 | my_s3_bucket = "mybucket-1251" 3 | my_s3_tags = { 4 | Terraform = "true" 5 | Environment = "dev" 6 | newtag1 = "tag1" 7 | newtag2 = "tag2" 8 | } -------------------------------------------------------------------------------- /20-Remote-State-Storage-with-AWS-S3-and-DynamoDB/project-1-aws-vpc/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /20-Remote-State-Storage-with-AWS-S3-and-DynamoDB/project-1-aws-vpc/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /20-Remote-State-Storage-with-AWS-S3-and-DynamoDB/project-1-aws-vpc/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /21-terraform-remote-state-datasource/project-1-aws-vpc/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /21-terraform-remote-state-datasource/project-1-aws-vpc/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /21-terraform-remote-state-datasource/project-1-aws-vpc/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/README.md: -------------------------------------------------------------------------------- 1 | # terraform-iacdevops-with-aws-codepipeline 2 | terraform-iacdevops-with-aws-codepipeline 3 | -------------------------------------------------------------------------------- /22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c8-elasticip.tf: -------------------------------------------------------------------------------- 1 | # Create Elastic IP for Bastion Host 2 | # Resource - depends_on Meta-Argument 3 | resource "aws_eip" "bastion_eip" { 4 | depends_on = [ module.ec2_public, module.vpc ] 5 | tags = local.common_tags 6 | # COMMENTED 7 | #instance = module.ec2_public.id[0] 8 | #vpc = true 9 | 10 | # UPDATED 11 | instance = module.ec2_public.id 12 | domain = "vpc" 13 | } 14 | -------------------------------------------------------------------------------- /22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/dev.conf: -------------------------------------------------------------------------------- 1 | bucket = "terraform-on-aws-for-ec2" 2 | key = "iacdevops/dev/terraform.tfstate" 3 | region = "us-east-1" 4 | dynamodb_table = "iacdevops-dev-tfstate" 5 | 6 | 7 | -------------------------------------------------------------------------------- /22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/stag.conf: -------------------------------------------------------------------------------- 1 | bucket = "terraform-on-aws-for-ec2" 2 | key = "iacdevops/stag/terraform.tfstate" 3 | region = "us-east-1" 4 | dynamodb_table = "iacdevops-stag-tfstate" -------------------------------------------------------------------------------- /22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | business_divsion = "hr" 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/01-Infrastructure-as-Code-IaC-Basics/README.md: -------------------------------------------------------------------------------- 1 | # Infrastructure as Code Basics 2 | 3 | ## Step-01: Understand Problems with Traditional way of Managing Infrastructure 4 | - Time it takes for building multiple environments 5 | - Issues we face with different environments 6 | - Scale-Up and Scale-Down On-Demand 7 | 8 | ## Step-02: Discuss how IaC with Terraform Solves them 9 | - Visibility 10 | - Stability 11 | - Scalability 12 | - Security 13 | - Audit -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/03-Terraform-Settings-Providers-Resources/terraform-manifests/c2-ec2instance.tf: -------------------------------------------------------------------------------- 1 | # Resource: EC2 Instance 2 | resource "aws_instance" "myec2vm" { 3 | ami = "ami-0742b4e673072066f" 4 | instance_type = "t3.micro" 5 | user_data = file("${path.module}/app1-install.sh") 6 | tags = { 7 | "Name" = "EC2 Demo" 8 | } 9 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/04-Terraform-Variables-and-Datasources/terraform-manifests/c5-ec2instance.tf: -------------------------------------------------------------------------------- 1 | # EC2 Instance 2 | resource "aws_instance" "myec2vm" { 3 | ami = data.aws_ami.amzlinux2.id 4 | instance_type = var.instance_type 5 | user_data = file("${path.module}/app1-install.sh") 6 | key_name = var.instance_keypair 7 | vpc_security_group_ids = [ aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id ] 8 | tags = { 9 | "Name" = "EC2 Demo 2" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/04-Terraform-Variables-and-Datasources/terraform-manifests/c6-outputs.tf: -------------------------------------------------------------------------------- 1 | # Terraform Output Values 2 | 3 | # EC2 Instance Public IP 4 | output "instance_publicip" { 5 | description = "EC2 Instance Public IP" 6 | value = aws_instance.myec2vm.public_ip 7 | } 8 | 9 | # EC2 Instance Public DNS 10 | output "instance_publicdns" { 11 | description = "EC2 Instance Public DNS" 12 | value = aws_instance.myec2vm.public_dns 13 | } 14 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/06-AWS-VPC/06-02-AWS-VPC-using-Terraform/terraform-manifests/v1-vpc-module/c2-generic-variables.tf: -------------------------------------------------------------------------------- 1 | # Input Variables 2 | 3 | # AWS Region 4 | variable "aws_region" { 5 | description = "Region in which AWS Resources to be created" 6 | type = string 7 | default = "us-east-1" 8 | } 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/06-AWS-VPC/06-02-AWS-VPC-using-Terraform/terraform-manifests/v2-vpc-module-standardized/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/06-AWS-VPC/06-02-AWS-VPC-using-Terraform/terraform-manifests/v2-vpc-module-standardized/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests-ec2private-module-version330/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests-ec2private-module-version330/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests-ec2private-module-version330/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests-ec2private-module-version330/local-exec-output-files/backup-demo-kalyan/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Mon Apr 12 12:44:45 IST 2021 and VPC ID: vpc-0420c012ebe877808 2 | VPC created on Thu Apr 15 16:38:50 IST 2021 and VPC ID: vpc-06cacba8e6cd418c5 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests-ec2private-module-version330/local-exec-output-files/backup-demo-kalyan/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Thu Apr 15 16:56:54 IST 2021 2 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests-ec2private-module-version330/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Fri Dec 31 16:47:17 IST 2021 and VPC ID: vpc-0f83c09823d06c558 2 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests-ec2private-module-version330/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Fri Dec 31 16:48:41 IST 2021 2 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests-ec2private-module-version330/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/backup-demo-kalyan/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Mon Apr 12 12:44:45 IST 2021 and VPC ID: vpc-0420c012ebe877808 2 | VPC created on Thu Apr 15 16:38:50 IST 2021 and VPC ID: vpc-06cacba8e6cd418c5 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/backup-demo-kalyan/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Thu Apr 15 16:56:54 IST 2021 2 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c10-01-ELB-classic-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Classic Load Balancer Variables 2 | # Place holder file for CLB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/backup-demo-kalyan/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Mon Apr 12 12:44:45 IST 2021 and VPC ID: vpc-0420c012ebe877808 2 | VPC created on Thu Apr 15 16:38:50 IST 2021 and VPC ID: vpc-06cacba8e6cd418c5 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/backup-demo-kalyan/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Thu Apr 15 16:56:54 IST 2021 2 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Mon Apr 19 15:00:57 IST 2021 and VPC ID: vpc-0124fbdd659d7c887 2 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Mon Apr 19 15:08:50 IST 2021 2 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/14-ALB-Autoscaling-with-Launch-Configuration/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | ## DNS Registration - apps.devopsincloud.com 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.id 4 | name = "asg-lc2.devopsincloud.com" 5 | type = "A" 6 | 7 | alias { 8 | name = module.alb.this_lb_dns_name 9 | zone_id = module.alb.this_lb_zone_id 10 | evaluate_target_health = true 11 | } 12 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/14-ALB-Autoscaling-with-Launch-Configuration/terraform-manifests/c14-o1-asg-outputs.tf: -------------------------------------------------------------------------------- 1 | # Launch configuration 2 | output "this_launch_configuration_id" { 3 | description = "The ID of the launch configuration" 4 | value = module.autoscaling.this_launch_configuration_id 5 | } 6 | 7 | # Autoscaling group 8 | output "this_autoscaling_group_id" { 9 | description = "The autoscaling group id" 10 | value = module.autoscaling.this_autoscaling_group_id 11 | } 12 | 13 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/14-ALB-Autoscaling-with-Launch-Configuration/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.environment}-${var.vpc_name}" 6 | common_tags = { 7 | owners = local.owners 8 | environment = local.environment 9 | } 10 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/14-ALB-Autoscaling-with-Launch-Configuration/terraform-manifests/c8-elasticip.tf: -------------------------------------------------------------------------------- 1 | # Create Elastic IP for Bastion Host 2 | resource "aws_eip" "bastion_eip" { 3 | depends_on = [module.ec2_public] 4 | instance = module.ec2_public.id[0] 5 | vpc = true 6 | tags = local.common_tags 7 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "apps.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.this_lb_dns_name 8 | zone_id = module.alb.this_lb_zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Tue Apr 20 13:59:45 IST 2021 and VPC ID: vpc-0325dc1acd7eec103 2 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/10-ALB-Path-Based-Routing/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | #instance_keypair = "terraform-key" 4 | instance_keypair = "terraform-key-us-east-2" 5 | private_instance_count = 2 6 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app17.devopsincloud.com" 3 | app2_dns_name = "app27.devopsincloud.com" -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Tue Apr 20 13:59:45 IST 2021 and VPC ID: vpc-0325dc1acd7eec103 2 | VPC created on Tue Apr 20 15:38:18 IST 2021 and VPC ID: vpc-0ada4f674de70b568 3 | VPC created on Thu Apr 22 11:41:49 IST 2021 and VPC ID: vpc-0ad139001a6b52da6 4 | VPC created on Thu Apr 22 14:12:55 IST 2021 and VPC ID: vpc-0230b618d0cd954ba 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Tue Apr 20 15:47:43 IST 2021 3 | Destroy time prov Thu Apr 22 12:11:35 IST 2021 4 | Destroy time prov Thu Apr 22 14:24:56 IST 2021 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-2" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app1.devopsincloud.com" 3 | app2_dns_name = "app2.devopsincloud.com" -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Tue Apr 20 15:47:43 IST 2021 3 | Destroy time prov Thu Apr 22 12:11:35 IST 2021 4 | Destroy time prov Thu Apr 22 14:24:56 IST 2021 5 | Destroy time prov Thu Apr 22 14:49:18 IST 2021 6 | Destroy time prov Fri Apr 23 10:32:44 IST 2021 7 | Destroy time prov Tue Apr 27 08:41:33 IST 2021 8 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/11-ALB-Host-Header-Based-Routing/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app18.devopsincloud.com" 3 | app2_dns_name = "app28.devopsincloud.com" -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Tue Apr 20 15:47:43 IST 2021 3 | Destroy time prov Thu Apr 22 12:11:35 IST 2021 4 | Destroy time prov Thu Apr 22 14:24:56 IST 2021 5 | Destroy time prov Thu Apr 22 14:49:18 IST 2021 6 | Destroy time prov Fri Apr 23 10:32:44 IST 2021 7 | Destroy time prov Fri Apr 23 10:52:14 IST 2021 8 | Destroy time prov Tue Apr 27 10:14:39 IST 2021 9 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "dns-to-db.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.lb_dns_name 8 | zone_id = module.alb.lb_zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/jumpbox-install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | sudo yum update -y 3 | sudo rpm -e --nodeps mariadb-libs-* 4 | sudo amazon-linux-extras enable mariadb10.5 5 | sudo yum clean metadata 6 | sudo yum install -y mariadb 7 | sudo mysql -V 8 | sudo yum install -y telnet -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Tue Apr 20 13:59:45 IST 2021 and VPC ID: vpc-0325dc1acd7eec103 2 | VPC created on Fri Apr 23 14:38:18 IST 2021 and VPC ID: vpc-0159283c216ac75de 3 | VPC created on Tue Apr 27 10:44:49 IST 2021 and VPC ID: vpc-0f27dbec1d02214ac 4 | VPC created on Tue Apr 27 11:43:16 IST 2021 and VPC ID: vpc-0919ae691ce17b447 5 | VPC created on Tue Apr 27 15:46:33 IST 2021 and VPC ID: vpc-0c049ce82c2fef9d3 6 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Fri Apr 23 16:06:53 IST 2021 3 | Destroy time prov Tue Apr 27 11:10:39 IST 2021 4 | Destroy time prov Tue Apr 27 13:09:09 IST 2021 5 | Destroy time prov Tue Apr 27 16:20:51 IST 2021 6 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/rdsdb.auto.tfvars: -------------------------------------------------------------------------------- 1 | # RDS Database Variables 2 | db_name = "webappdb" 3 | db_instance_identifier = "webappdb" 4 | db_username = "dbadmin" 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/secrets.tfvars: -------------------------------------------------------------------------------- 1 | db_password = "dbpassword11" -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/13-DNS-to-DB/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/14-Autoscaling-with-Launch-Configuration/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/14-Autoscaling-with-Launch-Configuration/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "asg-lc.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.lb_dns_name 8 | zone_id = module.alb.lb_zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/14-Autoscaling-with-Launch-Configuration/terraform-manifests/c13-01-autoscaling-with-launchconfiguration-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/14-Autoscaling-with-Launch-Configuration/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/14-Autoscaling-with-Launch-Configuration/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/14-Autoscaling-with-Launch-Configuration/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/15-Autoscaling-with-Launch-Templates/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/15-Autoscaling-with-Launch-Templates/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "asg-lt.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.lb_dns_name 8 | zone_id = module.alb.lb_zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/15-Autoscaling-with-Launch-Templates/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/15-Autoscaling-with-Launch-Templates/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/15-Autoscaling-with-Launch-Templates/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/15-Autoscaling-with-Launch-Templates/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c10-01-NLB-network-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "nlb.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.nlb.lb_dns_name 8 | zone_id = module.nlb.lb_zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/cw-synthetics-manifests-v1/sswebsite2/sswebsite2v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/cw-synthetics-manifests-v1/sswebsite2/sswebsite2v1.zip -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/cw-synthetics-manifests-v2/c9-import-role.tf: -------------------------------------------------------------------------------- 1 | /*resource "aws_iam_role" "developer" { 2 | 3 | }*/ 4 | 5 | # terraform import aws_iam_role.developer CloudWatchSyntheticsRole-sswebsite-3a7-8333e475ed87 6 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/cw-synthetics-manifests-v2/sswebsite2/sswebsite2v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/cw-synthetics-manifests-v2/sswebsite2/sswebsite2v1.zip -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/temp-alarm/temp-alarm.tf: -------------------------------------------------------------------------------- 1 | provider "aws" { 2 | region = "us-east-1" 3 | } 4 | 5 | resource "aws_cloudwatch_metric_alarm" "temp" { 6 | 7 | } 8 | 9 | /* Create my terraform import command 10 | terraform import aws_cloudwatch_metric_alarm.temp temp-alarm 11 | terraform import aws_cloudwatch_metric_alarm.temp Synthetics-Alarm-my-manual-canary2-1 12 | */ -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "cloudwatch.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.lb_dns_name 8 | zone_id = module.alb.lb_zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/c14-01-cloudwatch-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS CloudWatch Input Variables 2 | ## Place holder file for AWS CloudWatch Input Variables -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/sswebsite2/sswebsite2v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/sswebsite2/sswebsite2v1.zip -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/17-AWS-CloudWatch/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/backup-terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/backup-terraform-manifests/modules/aws-vpc/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: changelog release 2 | 3 | changelog: 4 | git-chglog -o CHANGELOG.md --next-tag `semtag final -s minor -o` 5 | 6 | release: 7 | semtag final -s minor 8 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/backup-terraform-manifests/modules/aws-vpc/README.md: -------------------------------------------------------------------------------- 1 | # AWS VPC Terraform module 2 | 3 | ## Authors 4 | 5 | Module is maintained by [Anton Babenko](https://github.com/antonbabenko) with help from [these awesome contributors](https://github.com/terraform-aws-modules/terraform-aws-vpc/graphs/contributors). 6 | 7 | ## License 8 | 9 | Apache 2 Licensed. See [LICENSE](https://github.com/terraform-aws-modules/terraform-aws-vpc/tree/master/LICENSE) for full details. 10 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/backup-terraform-manifests/modules/aws-vpc/modules/vpc-endpoints/outputs.tf: -------------------------------------------------------------------------------- 1 | output "endpoints" { 2 | description = "Array containing the full resource object and attributes for all endpoints created" 3 | value = aws_vpc_endpoint.this 4 | } 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/backup-terraform-manifests/modules/aws-vpc/modules/vpc-endpoints/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 0.12.26" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 3.15" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/backup-terraform-manifests/modules/aws-vpc/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 0.12.26" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 3.15" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/backup-terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/README.md: -------------------------------------------------------------------------------- 1 | # AWS VPC Terraform module 2 | 3 | ## Authors 4 | Module is maintained by [Anton Babenko](https://github.com/antonbabenko) with help from [these awesome contributors](https://github.com/terraform-aws-modules/terraform-aws-vpc/graphs/contributors). 5 | 6 | ## License 7 | Apache 2 Licensed. See [LICENSE](https://github.com/terraform-aws-modules/terraform-aws-vpc/tree/master/LICENSE) for full details. 8 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/modules/vpc-endpoints/outputs.tf: -------------------------------------------------------------------------------- 1 | output "endpoints" { 2 | description = "Array containing the full resource object and attributes for all endpoints created" 3 | value = aws_vpc_endpoint.this 4 | } 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/modules/vpc-endpoints/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 0.12.26" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 3.15" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 0.12.26" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 3.15" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/18-Develop-Terraform-Modules-Locally/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/19-Develop-Terraform-Module-from-scratch/v1-create-static-website-on-s3-using-aws-mgmt-console/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |Terraform Modules - Step by Step
9 | 10 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/19-Develop-Terraform-Module-from-scratch/v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Sid": "PublicReadGetObject", 6 | "Effect": "Allow", 7 | "Principal": "*", 8 | "Action": [ 9 | "s3:GetObject" 10 | ], 11 | "Resource": [ 12 | "arn:aws:s3:::mybucket-1045/*" 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/19-Develop-Terraform-Module-from-scratch/v2-host-static-website-on-s3-using-terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | bucket_name = "mybucket-1046" 2 | tags = { 3 | Terraform = "true" 4 | Environment = "dev" 5 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/19-Develop-Terraform-Module-from-scratch/v2-host-static-website-on-s3-using-terraform-manifests/variables.tf: -------------------------------------------------------------------------------- 1 | # Input variable definitions 2 | 3 | variable "bucket_name" { 4 | description = "Name of the S3 bucket. Must be Unique across AWS" 5 | type = string 6 | } 7 | 8 | variable "tags" { 9 | description = "Tages to set on the bucket" 10 | type = map(string) 11 | default = {} 12 | } 13 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/c3-s3bucket.tf: -------------------------------------------------------------------------------- 1 | # Call our Custom Terraform Module which we built earlier 2 | 3 | module "website_s3_bucket" { 4 | source = "./modules/aws-s3-static-website-bucket" # Mandatory 5 | bucket_name = var.my_s3_bucket 6 | tags = var.my_s3_tags 7 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/modules/aws-s3-static-website-bucket/README.md: -------------------------------------------------------------------------------- 1 | # AWS S3 static website bucket 2 | - This module provisions AWS S3 buckets configured for static website hosting. 3 | - This will be a demo S3 module 4 | 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/modules/aws-s3-static-website-bucket/variables.tf: -------------------------------------------------------------------------------- 1 | # Input variable definitions 2 | 3 | variable "bucket_name" { 4 | description = "Name of the S3 bucket. Must be Unique across AWS" 5 | type = string 6 | } 7 | 8 | variable "tags" { 9 | description = "Tages to set on the bucket" 10 | type = map(string) 11 | default = {} 12 | } 13 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/20-Remote-State-Storage-with-AWS-S3-and-DynamoDB/project-1-aws-vpc/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/20-Remote-State-Storage-with-AWS-S3-and-DynamoDB/project-1-aws-vpc/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/21-terraform-remote-state-datasource/project-1-aws-vpc/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/21-terraform-remote-state-datasource/project-1-aws-vpc/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "tf-multi-app-projects.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.lb_dns_name 8 | zone_id = module.alb.lb_zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/README.md: -------------------------------------------------------------------------------- 1 | # terraform-iacdevops-with-aws-codepipeline 2 | terraform-iacdevops-with-aws-codepipeline 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c8-elasticip.tf: -------------------------------------------------------------------------------- 1 | # Create Elastic IP for Bastion Host 2 | # Resource - depends_on Meta-Argument 3 | resource "aws_eip" "bastion_eip" { 4 | depends_on = [ module.ec2_public, module.vpc ] 5 | instance = module.ec2_public.id[0] 6 | vpc = true 7 | tags = local.common_tags 8 | } 9 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/dev.conf: -------------------------------------------------------------------------------- 1 | bucket = "terraform-on-aws-for-ec2" 2 | key = "iacdevops/dev/terraform.tfstate" 3 | region = "us-east-1" 4 | dynamodb_table = "iacdevops-dev-tfstate" 5 | 6 | 7 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/stag.conf: -------------------------------------------------------------------------------- 1 | bucket = "terraform-on-aws-for-ec2" 2 | key = "iacdevops/stag/terraform.tfstate" 3 | region = "us-east-1" 4 | dynamodb_table = "iacdevops-stag-tfstate" -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | business_divsion = "hr" 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BACKUP-BEFORE-DEC2023-UPDATES/presentation/Terraform-On-AWS-v2.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/BACKUP-BEFORE-DEC2023-UPDATES/presentation/Terraform-On-AWS-v2.pptx -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/01-Infrastructure-as-Code-IaC-Basics/README.md: -------------------------------------------------------------------------------- 1 | # Infrastructure as Code Basics 2 | 3 | ## Step-01: Understand Problems with Traditional way of Managing Infrastructure 4 | - Time it takes for building multiple environments 5 | - Issues we face with different environments 6 | - Scale-Up and Scale-Down On-Demand 7 | 8 | ## Step-02: Discuss how IaC with Terraform Solves them 9 | - Visibility 10 | - Stability 11 | - Scalability 12 | - Security 13 | - Audit -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/03-Terraform-Settings-Providers-Resources/terraform-manifests/c2-ec2instance.tf: -------------------------------------------------------------------------------- 1 | # Resource: EC2 Instance 2 | resource "aws_instance" "myec2vm" { 3 | ami = "ami-0742b4e673072066f" 4 | instance_type = "t3.micro" 5 | user_data = file("${path.module}/app1-install.sh") 6 | tags = { 7 | "Name" = "EC2 Demo" 8 | } 9 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/04-Terraform-Variables-and-Datasources/terraform-manifests/c5-ec2instance.tf: -------------------------------------------------------------------------------- 1 | # EC2 Instance 2 | resource "aws_instance" "myec2vm" { 3 | ami = data.aws_ami.amzlinux2.id 4 | instance_type = var.instance_type 5 | user_data = file("${path.module}/app1-install.sh") 6 | key_name = var.instance_keypair 7 | vpc_security_group_ids = [ aws_security_group.vpc-ssh.id, aws_security_group.vpc-web.id ] 8 | tags = { 9 | "Name" = "EC2 Demo 2" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/04-Terraform-Variables-and-Datasources/terraform-manifests/c6-outputs.tf: -------------------------------------------------------------------------------- 1 | # Terraform Output Values 2 | 3 | # EC2 Instance Public IP 4 | output "instance_publicip" { 5 | description = "EC2 Instance Public IP" 6 | value = aws_instance.myec2vm.public_ip 7 | } 8 | 9 | # EC2 Instance Public DNS 10 | output "instance_publicdns" { 11 | description = "EC2 Instance Public DNS" 12 | value = aws_instance.myec2vm.public_dns 13 | } 14 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/06-AWS-VPC/06-02-AWS-VPC-using-Terraform/terraform-manifests/v1-vpc-module/c2-generic-variables.tf: -------------------------------------------------------------------------------- 1 | # Input Variables 2 | 3 | # AWS Region 4 | variable "aws_region" { 5 | description = "Region in which AWS Resources to be created" 6 | type = string 7 | default = "us-east-1" 8 | } 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/06-AWS-VPC/06-02-AWS-VPC-using-Terraform/terraform-manifests/v2-vpc-module-standardized/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/06-AWS-VPC/06-02-AWS-VPC-using-Terraform/terraform-manifests/v2-vpc-module-standardized/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/backup-demo-kalyan/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Mon Apr 12 12:44:45 IST 2021 and VPC ID: vpc-0420c012ebe877808 2 | VPC created on Thu Apr 15 16:38:50 IST 2021 and VPC ID: vpc-06cacba8e6cd418c5 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/backup-demo-kalyan/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Thu Apr 15 16:56:54 IST 2021 2 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Tue Nov 28 10:36:35 IST 2023 and VPC ID: vpc-03b65bf021fae83d9 2 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Nov 28 10:40:26 IST 2023 2 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/07-AWS-EC2Instance-and-SecurityGroups/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c10-01-ELB-classic-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Classic Load Balancer Variables 2 | # Place holder file for CLB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | #private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/backup-demo-kalyan/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Mon Apr 12 12:44:45 IST 2021 and VPC ID: vpc-0420c012ebe877808 2 | VPC created on Thu Apr 15 16:38:50 IST 2021 and VPC ID: vpc-06cacba8e6cd418c5 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/backup-demo-kalyan/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Thu Apr 15 16:56:54 IST 2021 2 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Tue Nov 28 11:01:43 IST 2023 and VPC ID: vpc-0a899e74c3df2dce4 2 | VPC created on Sat Dec 23 06:46:23 IST 2023 and VPC ID: vpc-063392b2a9c4e3eee 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Nov 28 11:03:30 IST 2023 2 | Destroy time prov Sat Dec 23 06:49:18 IST 2023 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/08-AWS-ELB-Classic-LoadBalancer/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Mon Apr 19 15:08:50 IST 2021 2 | Destroy time prov Tue Nov 28 17:14:47 IST 2023 3 | Destroy time prov Wed Nov 29 08:18:39 IST 2023 4 | Destroy time prov Wed Nov 29 08:32:50 IST 2023 5 | Destroy time prov Sat Dec 2 06:37:02 IST 2023 6 | Destroy time prov Sat Dec 23 11:36:27 IST 2023 7 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/09-AWS-ALB-Application-LoadBalancer-Basic/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/10-ALB-Path-Based-Routing/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/10-ALB-Path-Based-Routing/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/10-ALB-Path-Based-Routing/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/10-ALB-Path-Based-Routing/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/10-ALB-Path-Based-Routing/terraform-manifests/local-exec-output-files/creation-time-vpc-id.txt: -------------------------------------------------------------------------------- 1 | VPC created on Tue Apr 20 13:59:45 IST 2021 and VPC ID: vpc-0325dc1acd7eec103 2 | VPC created on Wed Nov 29 09:10:12 IST 2023 and VPC ID: vpc-003afd96bf5d225cd 3 | VPC created on Sat Dec 23 16:23:55 IST 2023 and VPC ID: vpc-0b7637a6d7e5e6fea 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/10-ALB-Path-Based-Routing/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Wed Nov 29 11:03:33 IST 2023 3 | Destroy time prov Sat Dec 23 16:34:56 IST 2023 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/10-ALB-Path-Based-Routing/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/10-ALB-Path-Based-Routing/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key-us-east-2" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app1.devopsincloud.com" 3 | app2_dns_name = "app2.devopsincloud.com" -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests-us-east-2/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-2" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app1.devopsincloud.com" 3 | app2_dns_name = "app2.devopsincloud.com" -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Tue Apr 20 15:47:43 IST 2021 3 | Destroy time prov Thu Apr 22 12:11:35 IST 2021 4 | Destroy time prov Thu Apr 22 14:24:56 IST 2021 5 | Destroy time prov Thu Apr 22 14:49:18 IST 2021 6 | Destroy time prov Fri Apr 23 10:32:44 IST 2021 7 | Destroy time prov Tue Apr 27 08:41:33 IST 2021 8 | Destroy time prov Wed Nov 29 11:34:45 IST 2023 9 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/11-ALB-Host-Header-Based-Routing/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests-orig/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests-orig/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests-orig/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests-orig/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | #private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests-orig/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app1.devopsincloud.com" 3 | app2_dns_name = "app2.devopsincloud.com" -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests-orig/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | # App1 DNS Name 5 | variable "app1_dns_name" { 6 | description = "App1 DNS Name" 7 | } 8 | 9 | # App2 DNS Name 10 | variable "app2_dns_name" { 11 | description = "App2 DNS Name" 12 | } 13 | 14 | 15 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | #private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/loadbalancer.auto.tfvars: -------------------------------------------------------------------------------- 1 | # AWS Load Balancer Variables 2 | app1_dns_name = "app1.devopsincloud.com" 3 | app2_dns_name = "app2.devopsincloud.com" -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/12-ALB-HTTPHeader-QueryString-Redirects/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "dns-to-db.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.dns_name 8 | zone_id = module.alb.zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/c6-01-datasource-ami.tf: -------------------------------------------------------------------------------- 1 | # Get latest AMI ID for Amazon Linux2 OS 2 | data "aws_ami" "amzlinux2" { 3 | most_recent = true 4 | owners = [ "amazon" ] 5 | filter { 6 | name = "name" 7 | values = [ "amzn2-ami-hvm-*-gp2" ] 8 | } 9 | filter { 10 | name = "root-device-type" 11 | values = [ "ebs" ] 12 | } 13 | filter { 14 | name = "virtualization-type" 15 | values = [ "hvm" ] 16 | } 17 | filter { 18 | name = "architecture" 19 | values = [ "x86_64" ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | #private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/jumpbox-install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | sudo yum update -y 3 | sudo rpm -e --nodeps mariadb-libs-* 4 | sudo amazon-linux-extras enable mariadb10.5 5 | sudo yum clean metadata 6 | sudo yum install -y mariadb 7 | sudo mysql -V 8 | sudo yum install -y telnet -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/local-exec-output-files/destroy-time-prov.txt: -------------------------------------------------------------------------------- 1 | Destroy time prov Tue Apr 20 14:11:11 IST 2021 2 | Destroy time prov Fri Apr 23 16:06:53 IST 2021 3 | Destroy time prov Tue Apr 27 11:10:39 IST 2021 4 | Destroy time prov Tue Apr 27 13:09:09 IST 2021 5 | Destroy time prov Tue Apr 27 16:20:51 IST 2021 6 | Destroy time prov Wed Nov 29 16:13:32 IST 2023 7 | Destroy time prov Wed Nov 29 17:02:35 IST 2023 8 | Destroy time prov Tue Dec 26 14:43:34 IST 2023 9 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/rdsdb.auto.tfvars: -------------------------------------------------------------------------------- 1 | # RDS Database Variables 2 | db_name = "webappdb" 3 | db_instance_identifier = "webappdb" 4 | db_username = "dbadmin" 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/secrets.tfvars: -------------------------------------------------------------------------------- 1 | db_password = "dbpassword11" -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/13-DNS-to-DB/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "asg-lc.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | name = module.alb.lb_dns_name 8 | zone_id = module.alb.lb_zone_id 9 | evaluate_target_health = true 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/c13-01-autoscaling-with-launchconfiguration-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/14-DEPRECATED-Autoscaling-with-Launch-Configuration/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/15-Autoscaling-with-Launch-Templates/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/15-Autoscaling-with-Launch-Templates/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/15-Autoscaling-with-Launch-Templates/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/15-Autoscaling-with-Launch-Templates/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/15-Autoscaling-with-Launch-Templates/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests-orig/c10-01-NLB-network-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests-orig/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests-orig/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests-orig/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests-orig/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c10-01-NLB-network-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/16-AWS-NLB-Network-Load-Balancer/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/cw-synthetics-manifests-v1/sswebsite2/sswebsite2v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/17-AWS-CloudWatch/cw-synthetics-manifests-v1/sswebsite2/sswebsite2v1.zip -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/cw-synthetics-manifests-v2/c9-import-role.tf: -------------------------------------------------------------------------------- 1 | /*resource "aws_iam_role" "developer" { 2 | 3 | }*/ 4 | 5 | # terraform import aws_iam_role.developer CloudWatchSyntheticsRole-sswebsite-3a7-8333e475ed87 6 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/cw-synthetics-manifests-v2/sswebsite2/sswebsite2v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/17-AWS-CloudWatch/cw-synthetics-manifests-v2/sswebsite2/sswebsite2v1.zip -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/temp-alarm/temp-alarm.tf: -------------------------------------------------------------------------------- 1 | provider "aws" { 2 | region = "us-east-1" 3 | } 4 | 5 | resource "aws_cloudwatch_metric_alarm" "temp" { 6 | 7 | } 8 | 9 | /* Create my terraform import command 10 | terraform import aws_cloudwatch_metric_alarm.temp temp-alarm 11 | terraform import aws_cloudwatch_metric_alarm.temp Synthetics-Alarm-my-manual-canary2-1 12 | */ -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/c12-route53-dnsregistration.tf: -------------------------------------------------------------------------------- 1 | # DNS Registration 2 | resource "aws_route53_record" "apps_dns" { 3 | zone_id = data.aws_route53_zone.mydomain.zone_id 4 | name = "cloudwatch.devopsincloud.com" 5 | type = "A" 6 | alias { 7 | #name = module.alb.lb_dns_name 8 | #zone_id = module.alb.lb_zone_id 9 | name = module.alb.dns_name 10 | zone_id = module.alb.zone_id 11 | evaluate_target_health = true 12 | } 13 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/c14-01-cloudwatch-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS CloudWatch Input Variables 2 | ## Place holder file for AWS CloudWatch Input Variables -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/c7-02-ec2instance-outputs.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Instance Terraform Outputs 2 | # Public EC2 Instances - Bastion Host 3 | 4 | ## ec2_bastion_public_instance_ids 5 | output "ec2_bastion_public_instance_ids" { 6 | description = "List of IDs of instances" 7 | value = module.ec2_public.id 8 | } 9 | 10 | ## ec2_bastion_public_ip 11 | output "ec2_bastion_public_ip" { 12 | description = "List of public IP addresses assigned to the instances" 13 | value = module.ec2_public.public_ip 14 | } 15 | 16 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/sswebsite2/sswebsite2v1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/sswebsite2/sswebsite2v1.zip -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/17-AWS-CloudWatch/terraform-manifests/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/complete/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/complete/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/complete/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipam/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipam/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipam/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-dualstack/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-dualstack/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-dualstack/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-only/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-only/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/ipv6-only/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/issues/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/issues/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/issues/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/manage-default-vpc/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/manage-default-vpc/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/manage-default-vpc/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/network-acls/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/network-acls/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/network-acls/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/outpost/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/outpost/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/outpost/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/secondary-cidr-blocks/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/secondary-cidr-blocks/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/secondary-cidr-blocks/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/separate-route-tables/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/separate-route-tables/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/separate-route-tables/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/simple/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/simple/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/simple/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/vpc-flow-logs/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/vpc-flow-logs/variables.tf -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/examples/vpc-flow-logs/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | 10 | random = { 11 | source = "hashicorp/random" 12 | version = ">= 2.0" 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/modules/vpc-endpoints/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.0" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/modules/aws-vpc/versions.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_version = ">= 1.6" 3 | 4 | required_providers { 5 | aws = { 6 | source = "hashicorp/aws" 7 | version = ">= 5.0" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/18-Develop-Terraform-Modules-Locally/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/19-Develop-Terraform-Module-from-scratch/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |Terraform Demo
6 |Application Version: V1
7 | 8 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/19-Develop-Terraform-Module-from-scratch/v1-create-static-website-on-s3-using-aws-mgmt-console/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |Terraform Modules - Step by Step
9 | 10 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/19-Develop-Terraform-Module-from-scratch/v1-create-static-website-on-s3-using-aws-mgmt-console/policy-public-read-access-for-website.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Sid": "PublicReadGetObject", 6 | "Effect": "Allow", 7 | "Principal": "*", 8 | "Action": [ 9 | "s3:GetObject" 10 | ], 11 | "Resource": [ 12 | "arn:aws:s3:::mybucket-1045/*" 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/19-Develop-Terraform-Module-from-scratch/v2-host-static-website-on-s3-using-terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | bucket_name = "mybucket-2051" 2 | tags = { 3 | Terraform = "true" 4 | Environment = "dev" 5 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/19-Develop-Terraform-Module-from-scratch/v2-host-static-website-on-s3-using-terraform-manifests/variables.tf: -------------------------------------------------------------------------------- 1 | # Input variable definitions 2 | variable "bucket_name" { 3 | description = "Name of the S3 bucket. Must be Unique across AWS" 4 | type = string 5 | } 6 | 7 | variable "tags" { 8 | description = "Tages to set on the bucket" 9 | type = map(string) 10 | default = {} 11 | } 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/c3-s3bucket.tf: -------------------------------------------------------------------------------- 1 | # Call our Custom Terraform Module which we built earlier 2 | 3 | module "website_s3_bucket" { 4 | source = "./modules/aws-s3-static-website-bucket" # Mandatory 5 | bucket_name = var.my_s3_bucket 6 | tags = var.my_s3_tags 7 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/modules/aws-s3-static-website-bucket/README.md: -------------------------------------------------------------------------------- 1 | # AWS S3 static website bucket 2 | - This module provisions AWS S3 buckets configured for static website hosting. 3 | - This will be a demo S3 module 4 | 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/modules/aws-s3-static-website-bucket/variables.tf: -------------------------------------------------------------------------------- 1 | # Input variable definitions 2 | variable "bucket_name" { 3 | description = "Name of the S3 bucket. Must be Unique across AWS" 4 | type = string 5 | } 6 | 7 | variable "tags" { 8 | description = "Tages to set on the bucket" 9 | type = map(string) 10 | default = {} 11 | } 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/19-Develop-Terraform-Module-from-scratch/v3-build-a-module-to-host-static-website-on-aws-s3/terraform.tfvars: -------------------------------------------------------------------------------- 1 | aws_region = "us-east-1" 2 | my_s3_bucket = "mybucket-1251" 3 | my_s3_tags = { 4 | Terraform = "true" 5 | Environment = "dev" 6 | newtag1 = "tag1" 7 | newtag2 = "tag2" 8 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/20-Remote-State-Storage-with-AWS-S3-and-DynamoDB/project-1-aws-vpc/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/20-Remote-State-Storage-with-AWS-S3-and-DynamoDB/project-1-aws-vpc/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/21-terraform-remote-state-datasource/project-1-aws-vpc/c3-local-values.tf: -------------------------------------------------------------------------------- 1 | # Define Local Values in Terraform 2 | locals { 3 | owners = var.business_divsion 4 | environment = var.environment 5 | name = "${var.business_divsion}-${var.environment}" 6 | #name = "${local.owners}-${local.environment}" 7 | common_tags = { 8 | owners = local.owners 9 | environment = local.environment 10 | } 11 | } -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/21-terraform-remote-state-datasource/project-1-aws-vpc/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "HR" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/21-terraform-remote-state-datasource/project-1-aws-vpc/vpc.auto.tfvars: -------------------------------------------------------------------------------- 1 | # VPC Variables 2 | vpc_name = "myvpc" 3 | vpc_cidr_block = "10.0.0.0/16" 4 | vpc_availability_zones = ["us-east-1a", "us-east-1b"] 5 | vpc_public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] 6 | vpc_private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] 7 | vpc_database_subnets= ["10.0.151.0/24", "10.0.152.0/24"] 8 | vpc_create_database_subnet_group = true 9 | vpc_create_database_subnet_route_table = true 10 | vpc_enable_nat_gateway = true 11 | vpc_single_nat_gateway = true -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/ec2instance.auto.tfvars: -------------------------------------------------------------------------------- 1 | # EC2 Instance Variables 2 | instance_type = "t3.micro" 3 | instance_keypair = "terraform-key" 4 | private_instance_count = 2 5 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/21-terraform-remote-state-datasource/project-2-app1-with-asg-and-alb/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | environment = "stag" 4 | business_divsion = "hr" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/README.md: -------------------------------------------------------------------------------- 1 | # terraform-iacdevops-with-aws-codepipeline 2 | terraform-iacdevops-with-aws-codepipeline 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c10-01-ALB-application-loadbalancer-variables.tf: -------------------------------------------------------------------------------- 1 | # Terraform AWS Application Load Balancer Variables 2 | # Place holder file for AWS ALB Variables 3 | 4 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c13-01-autoscaling-with-launchtemplate-variables.tf: -------------------------------------------------------------------------------- 1 | # Autoscaling Input Variables 2 | ## Placeholder file -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c5-01-securitygroup-variables.tf: -------------------------------------------------------------------------------- 1 | # AWS EC2 Security Group Terraform Variables 2 | ## Placeholder file for Variables 3 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/c8-elasticip.tf: -------------------------------------------------------------------------------- 1 | # Create Elastic IP for Bastion Host 2 | # Resource - depends_on Meta-Argument 3 | resource "aws_eip" "bastion_eip" { 4 | depends_on = [ module.ec2_public, module.vpc ] 5 | tags = local.common_tags 6 | # COMMENTED 7 | #instance = module.ec2_public.id[0] 8 | #vpc = true 9 | 10 | # UPDATED 11 | instance = module.ec2_public.id 12 | domain = "vpc" 13 | } 14 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/dev.conf: -------------------------------------------------------------------------------- 1 | bucket = "terraform-on-aws-for-ec2" 2 | key = "iacdevops/dev/terraform.tfstate" 3 | region = "us-east-1" 4 | dynamodb_table = "iacdevops-dev-tfstate" 5 | 6 | 7 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/stag.conf: -------------------------------------------------------------------------------- 1 | bucket = "terraform-on-aws-for-ec2" 2 | key = "iacdevops/stag/terraform.tfstate" 3 | region = "us-east-1" 4 | dynamodb_table = "iacdevops-stag-tfstate" -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/22-IaC-DevOps-using-AWS-CodePipeline/Git-Repo-Files/terraform-manifests/terraform.tfvars: -------------------------------------------------------------------------------- 1 | # Generic Variables 2 | aws_region = "us-east-1" 3 | business_divsion = "hr" 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /V1-UPDATES-DEC2023/presentation/Terraform-On-AWS-v2.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/V1-UPDATES-DEC2023/presentation/Terraform-On-AWS-v2.pptx -------------------------------------------------------------------------------- /git-deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Add files and do local commit" 4 | git add . 5 | git commit -am "Welcome to StackSimplify" 6 | 7 | echo "Pushing to Github Repository" 8 | git push 9 | -------------------------------------------------------------------------------- /presentation/Terraform-On-AWS-v2.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/presentation/Terraform-On-AWS-v2.pptx -------------------------------------------------------------------------------- /presentation/Terraform-On-AWS-v3.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stacksimplify/terraform-on-aws-ec2/e8c866e79b8b27092babeec54f7e243d86374bbb/presentation/Terraform-On-AWS-v3.pptx --------------------------------------------------------------------------------