resource "aws_security_group" "elb" { name = "terraform-example-elb" egress { from_port = 0 to_port = 0 protocol = "-1" cidr_blocks = ["0.0.0.0/0"] } ingress { from_port = 80 to_port = 80 protocol = "tcp" cidr_blocks = ["0.0.0.0/0"] } tags = { Name = "elb-security-group" } } resource "aws_lb" "sr_lb" { name = "terraform-asg-example" security_groups = ["${aws_security_group.elb.id}"] tags = { Name = "terraform-asg-example" Environment = "test" } } resource "aws_lb_listener" "listeners_primary" { load_balancer_arn = "${aws_lb.sr_lb.arn}" port = 443 protocol = "HTTPS" ssl_policy = "ELBSecurityPolicy-TLS-1-2-Ext-2018-06" default_action { #target_group_arn = "${aws_lb_target_group.sr-tg-primary.arn}" type = "fixed-response" } } resource "aws_ebs_volume" "example" { availability_zone = "us-west-2a" size = 40 encrypted = true tags = { Name = "HelloWorld" } } resource "aws_acm_certificate" "cert" { domain_name = "example.com" validation_method = "DNS" tags = { Name = "testcert" Environment = "test" } lifecycle { create_before_destroy = true } } resource "aws_db_instance" "default" { allocated_storage = 20 storage_type = "gp2" storage_encrypted = true engine = "mysql" engine_version = "5.7" instance_class = "db.t2.micro" name = "mydb" username = "foo" password = "foobarbaz" parameter_group_name = "default.mysql5.7" tags = { Name = "testdb" Environment = "test" } } resource "aws_rds_cluster" "default" { cluster_identifier = "aurora-cluster-demo" engine = "aurora-mysql" engine_version = "5.7.mysql_aurora.2.03.2" storage_encrypted = true availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"] database_name = "mydb" master_username = "foo" master_password = "bar" backup_retention_period = 5 preferred_backup_window = "07:00-09:00" tags = { Name = "testCluster" Environment = "test" } } resource "aws_rds_cluster_instance" "cluster_instances" { count = 2 identifier = "aurora-cluster-demo-1" cluster_identifier = "${aws_rds_cluster.default.id}" instance_class = "db.r4.large" #storage_encrypted = true --> NA as it's an Aurora cluster. For all non-aurora DBs scenario covered under aws_db_instance check ca_cert_identifier = "${aws_acm_certificate.cert.id}" tags = { Name = "testCluseterInstance" Environment = "test" } } resource "aws_iam_role" "dlm_lifecycle_role" { name = "dlm-lifecycle-role" assume_role_policy = <