An execution plan has been generated and is shown below. Resource actions are indicated with the following symbols: + create <= read (data resources) Terraform will perform the following actions: # module.redis.aws_cloudwatch_metric_alarm.cache_cpu[0] will be created + resource "aws_cloudwatch_metric_alarm" "cache_cpu" { + actions_enabled = true + alarm_description = "Redis cluster CPU utilization" + alarm_name = "eg-test-redis-test-cpu-utilization" + arn = (known after apply) + comparison_operator = "GreaterThanThreshold" + dimensions = { + "CacheClusterId" = "eg-test-redis-test" } + evaluate_low_sample_count_percentiles = (known after apply) + evaluation_periods = 1 + id = (known after apply) + metric_name = "CPUUtilization" + namespace = "AWS/ElastiCache" + period = 300 + statistic = "Average" + threshold = 75 + treat_missing_data = "missing" } # module.redis.aws_cloudwatch_metric_alarm.cache_memory[0] will be created + resource "aws_cloudwatch_metric_alarm" "cache_memory" { + actions_enabled = true + alarm_description = "Redis cluster freeable memory" + alarm_name = "eg-test-redis-test-freeable-memory" + arn = (known after apply) + comparison_operator = "LessThanThreshold" + dimensions = { + "CacheClusterId" = "eg-test-redis-test" } + evaluate_low_sample_count_percentiles = (known after apply) + evaluation_periods = 1 + id = (known after apply) + metric_name = "FreeableMemory" + namespace = "AWS/ElastiCache" + period = 60 + statistic = "Average" + threshold = 10000000 + treat_missing_data = "missing" } # module.redis.aws_elasticache_parameter_group.default[0] will be created + resource "aws_elasticache_parameter_group" "default" { + description = "Managed by Terraform" + family = "redis4.0" + id = (known after apply) + name = "eg-test-redis-test" + parameter { + name = "cluster-enabled" + value = "yes" } + parameter { + name = "notify-keyspace-events" + value = "lK" } } # module.redis.aws_elasticache_replication_group.default[0] will be created + resource "aws_elasticache_replication_group" "default" { + apply_immediately = true + at_rest_encryption_enabled = false + auto_minor_version_upgrade = true + automatic_failover_enabled = false + availability_zones = [ + "us-east-2a", + "us-east-2b", ] + configuration_endpoint_address = (known after apply) + engine = "redis" + engine_version = "4.0.10" + id = (known after apply) + maintenance_window = "wed:03:00-wed:04:00" + member_clusters = (known after apply) + node_type = "cache.t2.micro" + number_cache_clusters = 6 + parameter_group_name = "eg-test-redis-test" + port = 6379 + primary_endpoint_address = (known after apply) + replication_group_description = "eg-test-redis-test" + replication_group_id = "eg-test-redis-test" + security_group_ids = (known after apply) + security_group_names = (known after apply) + snapshot_retention_limit = 0 + snapshot_window = "06:30-07:30" + subnet_group_name = "eg-test-redis-test" + tags = { + "Name" = "eg-test-redis-test" + "Namespace" = "eg" + "Stage" = "test" } + transit_encryption_enabled = true + cluster_mode { + num_node_groups = 3 + replicas_per_node_group = 1 } } # module.redis.aws_elasticache_subnet_group.default[0] will be created + resource "aws_elasticache_subnet_group" "default" { + description = "Managed by Terraform" + id = (known after apply) + name = "eg-test-redis-test" + subnet_ids = (known after apply) } # module.redis.aws_security_group.default[0] will be created + resource "aws_security_group" "default" { + arn = (known after apply) + description = "Managed by Terraform" + egress = (known after apply) + id = (known after apply) + ingress = (known after apply) + name = "eg-test-redis-test" + owner_id = (known after apply) + revoke_rules_on_delete = false + tags = { + "Name" = "eg-test-redis-test" + "Namespace" = "eg" + "Stage" = "test" } + vpc_id = (known after apply) } # module.redis.aws_security_group_rule.egress[0] will be created + resource "aws_security_group_rule" "egress" { + cidr_blocks = [ + "0.0.0.0/0", ] + description = "Allow all egress traffic" + from_port = 0 + id = (known after apply) + protocol = "-1" + security_group_id = (known after apply) + self = false + source_security_group_id = (known after apply) + to_port = 0 + type = "egress" } # module.redis.aws_security_group_rule.ingress_security_groups[0] will be created + resource "aws_security_group_rule" "ingress_security_groups" { + description = "Allow inbound traffic from existing Security Groups" + from_port = 6379 + id = (known after apply) + protocol = "tcp" + security_group_id = (known after apply) + self = false + source_security_group_id = (known after apply) + to_port = 6379 + type = "ingress" } # module.subnets.data.aws_vpc.default will be read during apply # (config refers to values not yet known) <= data "aws_vpc" "default" { + arn = (known after apply) + cidr_block = (known after apply) + cidr_block_associations = (known after apply) + default = (known after apply) + dhcp_options_id = (known after apply) + enable_dns_hostnames = (known after apply) + enable_dns_support = (known after apply) + id = (known after apply) + instance_tenancy = (known after apply) + ipv6_association_id = (known after apply) + ipv6_cidr_block = (known after apply) + main_route_table_id = (known after apply) + owner_id = (known after apply) + state = (known after apply) + tags = (known after apply) } # module.subnets.aws_eip.default[0] will be created + resource "aws_eip" "default" { + allocation_id = (known after apply) + association_id = (known after apply) + domain = (known after apply) + id = (known after apply) + instance = (known after apply) + network_interface = (known after apply) + private_dns = (known after apply) + private_ip = (known after apply) + public_dns = (known after apply) + public_ip = (known after apply) + public_ipv4_pool = (known after apply) + tags = { + "Attributes" = "private" + "Name" = "eg-test-redis-test-private-us-east-2a" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "private" } + vpc = true } # module.subnets.aws_eip.default[1] will be created + resource "aws_eip" "default" { + allocation_id = (known after apply) + association_id = (known after apply) + domain = (known after apply) + id = (known after apply) + instance = (known after apply) + network_interface = (known after apply) + private_dns = (known after apply) + private_ip = (known after apply) + public_dns = (known after apply) + public_ip = (known after apply) + public_ipv4_pool = (known after apply) + tags = { + "Attributes" = "private" + "Name" = "eg-test-redis-test-private-us-east-2b" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "private" } + vpc = true } # module.subnets.aws_nat_gateway.default[0] will be created + resource "aws_nat_gateway" "default" { + allocation_id = (known after apply) + id = (known after apply) + network_interface_id = (known after apply) + private_ip = (known after apply) + public_ip = (known after apply) + subnet_id = (known after apply) + tags = { + "Attributes" = "nat" + "Name" = "eg-test-redis-test-nat-us-east-2a" + "Namespace" = "eg" + "Stage" = "test" } } # module.subnets.aws_nat_gateway.default[1] will be created + resource "aws_nat_gateway" "default" { + allocation_id = (known after apply) + id = (known after apply) + network_interface_id = (known after apply) + private_ip = (known after apply) + public_ip = (known after apply) + subnet_id = (known after apply) + tags = { + "Attributes" = "nat" + "Name" = "eg-test-redis-test-nat-us-east-2b" + "Namespace" = "eg" + "Stage" = "test" } } # module.subnets.aws_network_acl.private[0] will be created + resource "aws_network_acl" "private" { + egress = [ + { + action = "allow" + cidr_block = "0.0.0.0/0" + from_port = 0 + icmp_code = null + icmp_type = null + ipv6_cidr_block = "" + protocol = "-1" + rule_no = 100 + to_port = 0 }, ] + id = (known after apply) + ingress = [ + { + action = "allow" + cidr_block = "0.0.0.0/0" + from_port = 0 + icmp_code = null + icmp_type = null + ipv6_cidr_block = "" + protocol = "-1" + rule_no = 100 + to_port = 0 }, ] + owner_id = (known after apply) + subnet_ids = (known after apply) + tags = { + "Attributes" = "private" + "Name" = "eg-test-redis-test" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "private" } + vpc_id = (known after apply) } # module.subnets.aws_network_acl.public[0] will be created + resource "aws_network_acl" "public" { + egress = [ + { + action = "allow" + cidr_block = "0.0.0.0/0" + from_port = 0 + icmp_code = null + icmp_type = null + ipv6_cidr_block = "" + protocol = "-1" + rule_no = 100 + to_port = 0 }, ] + id = (known after apply) + ingress = [ + { + action = "allow" + cidr_block = "0.0.0.0/0" + from_port = 0 + icmp_code = null + icmp_type = null + ipv6_cidr_block = "" + protocol = "-1" + rule_no = 100 + to_port = 0 }, ] + owner_id = (known after apply) + subnet_ids = (known after apply) + tags = { + "Attributes" = "public" + "Name" = "eg-test-redis-test" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "public" } + vpc_id = (known after apply) } # module.subnets.aws_route.default[0] will be created + resource "aws_route" "default" { + destination_cidr_block = "0.0.0.0/0" + destination_prefix_list_id = (known after apply) + egress_only_gateway_id = (known after apply) + gateway_id = (known after apply) + id = (known after apply) + instance_id = (known after apply) + instance_owner_id = (known after apply) + nat_gateway_id = (known after apply) + network_interface_id = (known after apply) + origin = (known after apply) + route_table_id = (known after apply) + state = (known after apply) } # module.subnets.aws_route.default[1] will be created + resource "aws_route" "default" { + destination_cidr_block = "0.0.0.0/0" + destination_prefix_list_id = (known after apply) + egress_only_gateway_id = (known after apply) + gateway_id = (known after apply) + id = (known after apply) + instance_id = (known after apply) + instance_owner_id = (known after apply) + nat_gateway_id = (known after apply) + network_interface_id = (known after apply) + origin = (known after apply) + route_table_id = (known after apply) + state = (known after apply) } # module.subnets.aws_route.public[0] will be created + resource "aws_route" "public" { + destination_cidr_block = "0.0.0.0/0" + destination_prefix_list_id = (known after apply) + egress_only_gateway_id = (known after apply) + gateway_id = (known after apply) + id = (known after apply) + instance_id = (known after apply) + instance_owner_id = (known after apply) + nat_gateway_id = (known after apply) + network_interface_id = (known after apply) + origin = (known after apply) + route_table_id = (known after apply) + state = (known after apply) } # module.subnets.aws_route_table.private[0] will be created + resource "aws_route_table" "private" { + id = (known after apply) + owner_id = (known after apply) + propagating_vgws = (known after apply) + route = (known after apply) + tags = { + "Attributes" = "private" + "Name" = "eg-test-redis-test-private-us-east-2a" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "private" } + vpc_id = (known after apply) } # module.subnets.aws_route_table.private[1] will be created + resource "aws_route_table" "private" { + id = (known after apply) + owner_id = (known after apply) + propagating_vgws = (known after apply) + route = (known after apply) + tags = { + "Attributes" = "private" + "Name" = "eg-test-redis-test-private-us-east-2b" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "private" } + vpc_id = (known after apply) } # module.subnets.aws_route_table.public[0] will be created + resource "aws_route_table" "public" { + id = (known after apply) + owner_id = (known after apply) + propagating_vgws = (known after apply) + route = (known after apply) + tags = { + "Attributes" = "public" + "Name" = "eg-test-redis-test" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "public" } + vpc_id = (known after apply) } # module.subnets.aws_route_table_association.private[0] will be created + resource "aws_route_table_association" "private" { + id = (known after apply) + route_table_id = (known after apply) + subnet_id = (known after apply) } # module.subnets.aws_route_table_association.private[1] will be created + resource "aws_route_table_association" "private" { + id = (known after apply) + route_table_id = (known after apply) + subnet_id = (known after apply) } # module.subnets.aws_route_table_association.public[0] will be created + resource "aws_route_table_association" "public" { + id = (known after apply) + route_table_id = (known after apply) + subnet_id = (known after apply) } # module.subnets.aws_route_table_association.public[1] will be created + resource "aws_route_table_association" "public" { + id = (known after apply) + route_table_id = (known after apply) + subnet_id = (known after apply) } # module.subnets.aws_subnet.private[0] will be created + resource "aws_subnet" "private" { + arn = (known after apply) + assign_ipv6_address_on_creation = false + availability_zone = "us-east-2a" + availability_zone_id = (known after apply) + cidr_block = "172.16.0.0/19" + id = (known after apply) + ipv6_cidr_block = (known after apply) + ipv6_cidr_block_association_id = (known after apply) + map_public_ip_on_launch = false + owner_id = (known after apply) + tags = { + "Attributes" = "private" + "Name" = "eg-test-redis-test-private-us-east-2a" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "private" } + vpc_id = (known after apply) } # module.subnets.aws_subnet.private[1] will be created + resource "aws_subnet" "private" { + arn = (known after apply) + assign_ipv6_address_on_creation = false + availability_zone = "us-east-2b" + availability_zone_id = (known after apply) + cidr_block = "172.16.32.0/19" + id = (known after apply) + ipv6_cidr_block = (known after apply) + ipv6_cidr_block_association_id = (known after apply) + map_public_ip_on_launch = false + owner_id = (known after apply) + tags = { + "Attributes" = "private" + "Name" = "eg-test-redis-test-private-us-east-2b" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "private" } + vpc_id = (known after apply) } # module.subnets.aws_subnet.public[0] will be created + resource "aws_subnet" "public" { + arn = (known after apply) + assign_ipv6_address_on_creation = false + availability_zone = "us-east-2a" + availability_zone_id = (known after apply) + cidr_block = "172.16.96.0/19" + id = (known after apply) + ipv6_cidr_block = (known after apply) + ipv6_cidr_block_association_id = (known after apply) + map_public_ip_on_launch = true + owner_id = (known after apply) + tags = { + "Attributes" = "public" + "Name" = "eg-test-redis-test-public-us-east-2a" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "public" } + vpc_id = (known after apply) } # module.subnets.aws_subnet.public[1] will be created + resource "aws_subnet" "public" { + arn = (known after apply) + assign_ipv6_address_on_creation = false + availability_zone = "us-east-2b" + availability_zone_id = (known after apply) + cidr_block = "172.16.128.0/19" + id = (known after apply) + ipv6_cidr_block = (known after apply) + ipv6_cidr_block_association_id = (known after apply) + map_public_ip_on_launch = true + owner_id = (known after apply) + tags = { + "Attributes" = "public" + "Name" = "eg-test-redis-test-public-us-east-2b" + "Namespace" = "eg" + "Stage" = "test" + "cpco.io/subnet/type" = "public" } + vpc_id = (known after apply) } # module.vpc.aws_default_security_group.default will be created + resource "aws_default_security_group" "default" { + arn = (known after apply) + description = (known after apply) + egress = [] + id = (known after apply) + ingress = [] + name = (known after apply) + owner_id = (known after apply) + revoke_rules_on_delete = false + tags = { + "Name" = "Default Security Group" } + vpc_id = (known after apply) } # module.vpc.aws_internet_gateway.default will be created + resource "aws_internet_gateway" "default" { + id = (known after apply) + owner_id = (known after apply) + tags = { + "Name" = "eg-test-redis-test" + "Namespace" = "eg" + "Stage" = "test" } + vpc_id = (known after apply) } # module.vpc.aws_vpc.default will be created + resource "aws_vpc" "default" { + arn = (known after apply) + assign_generated_ipv6_cidr_block = true + cidr_block = "172.16.0.0/16" + default_network_acl_id = (known after apply) + default_route_table_id = (known after apply) + default_security_group_id = (known after apply) + dhcp_options_id = (known after apply) + enable_classiclink = false + enable_classiclink_dns_support = false + enable_dns_hostnames = true + enable_dns_support = true + id = (known after apply) + instance_tenancy = "default" + ipv6_association_id = (known after apply) + ipv6_cidr_block = (known after apply) + main_route_table_id = (known after apply) + owner_id = (known after apply) + tags = { + "Name" = "eg-test-redis-test" + "Namespace" = "eg" + "Stage" = "test" } } # module.redis.module.dns.aws_route53_record.default[0] will be created + resource "aws_route53_record" "default" { + allow_overwrite = (known after apply) + fqdn = (known after apply) + id = (known after apply) + name = "redis-test" + records = (known after apply) + ttl = 60 + type = "CNAME" + zone_id = "Z3SO0TKDDQ0RGG" } Plan: 32 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes