Skip to content

modify workflow #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
Dec 11, 2024
Merged

modify workflow #8

merged 27 commits into from
Dec 11, 2024

Conversation

DrInTech22
Copy link
Owner

modify test tfvars backup

Copy link

github-actions bot commented Dec 10, 2024

💰 Infracost report

Consider fixing these issues, they don't align with your company's FinOps policies & the Well-Architected Framework.

FinOps policies
🔴 EC2 - consider using Graviton instances

Graviton instances are around 20% cheaper than equivalent x86 instances.

resource aws_instance.ec2-1

  • Switch instance_type from t2.large to t4g.large — save $224/year (27%)

in project DrInTech22/full-stack-gitops/terraform

🔴 EC2 - consider using latest generation instances for t family instances

Upgrade to Amazon EC2 t3 instances to for improved Intel Xeon Processors, AWS Nitro System and EBS optimization by default, all at lower price point than previous generations. For example a t2.medium instance with 4 GiB of memory and 2 vCPUs (for a 4h 48m burst) has a monthly cost of $33. Whereas a t3.medium instance with equivalent machine specs costs just $30. That's a 10% cost saving for a more performant machine.

resource aws_instance.ec2-1

  • Switch instance_type from t2.large to t3.large — save $84/year (10%)

in project DrInTech22/full-stack-gitops/terraform

Tagging policies
🔴 FinOps tags

This example Tagging policy shows how you can enforce required FinOps tag keys/values in pull requests. This example checks for the tags 'Service' (can have any value) and 'Environment' (must be Dev/Stage/Prod) on all taggable resources being changed in the pull request. You can adjust it from https://dashboard.infracost.io > Governance > Tagging policies. You have a 14 day trial of this feature as it's part of Infracost Cloud.

resource aws_instance.ec2-1

  • Missing mandatory tag Environment. Must be one of Dev, Stage, Prod. Consider using default tags to avoid adding tags to individual resources.
  • Missing mandatory tag root_block_device.Environment. Must be one of Dev, Stage, Prod. Consider using default tags to avoid adding tags to individual resources.
  • Missing mandatory tags: Service, root_block_device.Service. Consider using default tags to avoid adding tags to individual resources.

in project DrInTech22/full-stack-gitops/terraform

Monthly estimate increased by $69 📈
Changed project Baseline cost Usage cost* Total change New monthly cost
DrInTech22/full-stack-gitops/terraform +$69 - +$69 (+100%) $137

*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options.

Estimate details
Key: * usage cost, ~ changed, + added, - removed

──────────────────────────────────
Project: DrInTech22/full-stack-gitops/terraform

+ aws_instance.ec2-1
  +$69

    + Instance usage (Linux/UNIX, on-demand, t2.large)
      +$68

    + root_block_device

        + Storage (general purpose SSD, gp2)
          +$0.80

Monthly cost change for DrInTech22/full-stack-gitops/terraform
Amount:  +$69 ($69 → $137)
Percent: +100%

──────────────────────────────────
Key: * usage cost, ~ changed, + added, - removed

*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options.

14 cloud resources were detected:
∙ 8 were estimated
∙ 6 were free

This comment will be updated when code changes.

@DrInTech22 DrInTech22 closed this Dec 10, 2024
@DrInTech22 DrInTech22 reopened this Dec 10, 2024
@DrInTech22 DrInTech22 closed this Dec 10, 2024
@DrInTech22 DrInTech22 reopened this Dec 10, 2024
@DrInTech22 DrInTech22 closed this Dec 10, 2024
@DrInTech22 DrInTech22 reopened this Dec 10, 2024
@DrInTech22 DrInTech22 closed this Dec 10, 2024
@DrInTech22 DrInTech22 reopened this Dec 10, 2024
@DrInTech22 DrInTech22 closed this Dec 10, 2024
@DrInTech22 DrInTech22 reopened this Dec 10, 2024
@DrInTech22 DrInTech22 closed this Dec 10, 2024
@DrInTech22 DrInTech22 reopened this Dec 10, 2024
@DrInTech22 DrInTech22 closed this Dec 10, 2024
@DrInTech22 DrInTech22 reopened this Dec 10, 2024
@DrInTech22 DrInTech22 closed this Dec 10, 2024
@DrInTech22 DrInTech22 reopened this Dec 10, 2024
@DrInTech22 DrInTech22 closed this Dec 11, 2024
@DrInTech22 DrInTech22 reopened this Dec 11, 2024
Copy link

[command]/home/runner/work/_temp/f93d9bf0-7e3d-4db2-b1d7-f216d0de416c/terraform-bin show -json tfplan.out
{"format_version":"1.2","terraform_version":"1.10.1","variables":{"ami_id":{"value":"ami-005fc0f236362e99f"},"aws_region":{"value":"us-east-1"},"cert_email":{"value":"drintech222@gmail.com"},"db_domain":{"value":"db.test.drintech.online"},"domain_name":{"value":"drintech.online"},"ec2_name":{"value":"MainEC2Instance"},"frontend_domain":{"value":"test.drintech.online"},"igw-name":{"value":"MainIGW"},"instance_type":{"value":"t2.large"},"key_pair_name":{"value":"private_key"},"private_key_path":{"value":"./private_key.pem"},"rt-name":{"value":"MainRouteTable"},"sg-name":{"value":"MainSG"},"subnet-name":{"value":"MainSubnet"},"traefik_domain":{"value":"traefik.test.drintech.online"},"vpc-name":{"value":"MainVPC"}},"planned_values":{"outputs":{"instance_public_ip":{"sensitive":false}},"root_module":{"resources":[{"address":"aws_instance.ec2","mode":"managed","type":"aws_instance","name":"ec2","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"ami":"ami-005fc0f236362e99f","credit_specification":[],"get_password_data":false,"hibernation":null,"instance_type":"t2.large","key_name":"private_key","launch_template":[],"source_dest_check":true,"tags":{"Name":"MainEC2Instance"},"tags_all":{"Name":"MainEC2Instance"},"timeouts":null,"user_data_replace_on_change":false,"volume_tags":null},"sensitive_values":{"capacity_reservation_specification":[],"cpu_options":[],"credit_specification":[],"ebs_block_device":[],"enclave_options":[],"ephemeral_block_device":[],"instance_market_options":[],"ipv6_addresses":[],"launch_template":[],"maintenance_options":[],"metadata_options":[],"network_interface":[],"private_dns_name_options":[],"root_block_device":[],"secondary_private_ips":[],"security_groups":[],"tags":{},"tags_all":{},"vpc_security_group_ids":[]}},{"address":"aws_instance.ec2-1","mode":"managed","type":"aws_instance","name":"ec2-1","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"ami":"ami-005fc0f236362e99f","credit_specification":[],"get_password_data":false,"hibernation":null,"instance_type":"t2.large","key_name":"private_key","launch_template":[],"source_dest_check":true,"tags":{"Name":"MainEC2Instance"},"tags_all":{"Name":"MainEC2Instance"},"timeouts":null,"user_data_replace_on_change":false,"volume_tags":null},"sensitive_values":{"capacity_reservation_specification":[],"cpu_options":[],"credit_specification":[],"ebs_block_device":[],"enclave_options":[],"ephemeral_block_device":[],"instance_market_options":[],"ipv6_addresses":[],"launch_template":[],"maintenance_options":[],"metadata_options":[],"network_interface":[],"private_dns_name_options":[],"root_block_device":[],"secondary_private_ips":[],"security_groups":[],"tags":{},"tags_all":{},"vpc_security_group_ids":[]}},{"address":"aws_internet_gateway.igw","mode":"managed","type":"aws_internet_gateway","name":"igw","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":0,"values":{"tags":{"Name":"MainIGW"},"tags_all":{"Name":"MainIGW"},"timeouts":null},"sensitive_values":{"tags":{},"tags_all":{}}},{"address":"aws_route53_record.db_record","mode":"managed","type":"aws_route53_record","name":"db_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"db.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.frontend_record","mode":"managed","type":"aws_route53_record","name":"frontend_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.traefik_record","mode":"managed","type":"aws_route53_record","name":"traefik_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"traefik.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.www_db_record","mode":"managed","type":"aws_route53_record","name":"www_db_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.db.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.www_frontend_record","mode":"managed","type":"aws_route53_record","name":"www_frontend_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.www_traefik_record","mode":"managed","type":"aws_route53_record","name":"www_traefik_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.traefik.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route_table.rt","mode":"managed","type":"aws_route_table","name":"rt","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":0,"values":{"route":[{"carrier_gateway_id":"","cidr_block":"0.0.0.0/0","core_network_arn":"","destination_prefix_list_id":"","egress_only_gateway_id":"","ipv6_cidr_block":"","local_gateway_id":"","nat_gateway_id":"","network_interface_id":"","transit_gateway_id":"","vpc_endpoint_id":"","vpc_peering_connection_id":""}],"tags":{"Name":"MainRouteTable"},"tags_all":{"Name":"MainRouteTable"},"timeouts":null},"sensitive_values":{"propagating_vgws":[],"route":[{}],"tags":{},"tags_all":{}}},{"address":"aws_route_table_association.rt_association","mode":"managed","type":"aws_route_table_association","name":"rt_association","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":0,"values":{"gateway_id":null,"timeouts":null},"sensitive_values":{}},{"address":"aws_security_group.sg","mode":"managed","type":"aws_security_group","name":"sg","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"description":"Managed by Terraform","egress":[{"cidr_blocks":["0.0.0.0/0"],"description":"","from_port":0,"ipv6_cidr_blocks":[],"prefix_list_ids":[],"protocol":"-1","security_groups":[],"self":false,"to_port":0}],"ingress":[{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":22,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":22},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":443,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":443},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":5173,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":5173},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8000,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8000},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8080,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8080},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":80,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":80}],"revoke_rules_on_delete":false,"tags":{"Name":"MainSG"},"tags_all":{"Name":"MainSG"},"timeouts":null},"sensitive_values":{"egress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[],"prefix_list_ids":[],"security_groups":[]}],"ingress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]}],"tags":{},"tags_all":{}}},{"address":"aws_subnet.public_subnet","mode":"managed","type":"aws_subnet","name":"public_subnet","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"assign_ipv6_address_on_creation":false,"cidr_block":"10.0.1.0/24","customer_owned_ipv4_pool":null,"enable_dns64":false,"enable_lni_at_device_index":null,"enable_resource_name_dns_a_record_on_launch":false,"enable_resource_name_dns_aaaa_record_on_launch":false,"ipv6_cidr_block":null,"ipv6_native":false,"map_customer_owned_ip_on_launch":null,"map_public_ip_on_launch":true,"outpost_arn":null,"tags":{"Name":"MainSubnet"},"tags_all":{"Name":"MainSubnet"},"timeouts":null},"sensitive_values":{"tags":{},"tags_all":{}}},{"address":"aws_vpc.vpc","mode":"managed","type":"aws_vpc","name":"vpc","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"assign_generated_ipv6_cidr_block":null,"cidr_block":"10.0.0.0/16","enable_dns_hostnames":true,"enable_dns_support":true,"instance_tenancy":"default","ipv4_ipam_pool_id":null,"ipv4_netmask_length":null,"ipv6_ipam_pool_id":null,"ipv6_netmask_length":null,"tags":{"Name":"MainVPC"},"tags_all":{"Name":"MainVPC"}},"sensitive_values":{"tags":{},"tags_all":{}}},{"address":"local_file.ansible_inventory","mode":"managed","type":"local_file","name":"ansible_inventory","provider_name":"registry.terraform.io/hashicorp/local","schema_version":0,"values":{"content_base64":null,"directory_permission":"0777","file_permission":"0777","filename":"../ansible/inventory.ini","sensitive_content":null,"source":null},"sensitive_values":{"sensitive_content":true}},{"address":"null_resource.run_ansible","mode":"managed","type":"null_resource","name":"run_ansible","provider_name":"registry.terraform.io/hashicorp/null","schema_version":0,"values":{"triggers":null},"sensitive_values":{}}]}},"resource_changes":[{"address":"aws_instance.ec2","mode":"managed","type":"aws_instance","name":"ec2","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"ami":"ami-005fc0f236362e99f","credit_specification":[],"get_password_data":false,"hibernation":null,"instance_type":"t2.large","key_name":"private_key","launch_template":[],"source_dest_check":true,"tags":{"Name":"MainEC2Instance"},"tags_all":{"Name":"MainEC2Instance"},"timeouts":null,"user_data_replace_on_change":false,"volume_tags":null},"after_unknown":{"arn":true,"associate_public_ip_address":true,"availability_zone":true,"capacity_reservation_specification":true,"cpu_core_count":true,"cpu_options":true,"cpu_threads_per_core":true,"credit_specification":[],"disable_api_stop":true,"disable_api_termination":true,"ebs_block_device":true,"ebs_optimized":true,"enclave_options":true,"ephemeral_block_device":true,"host_id":true,"host_resource_group_arn":true,"iam_instance_profile":true,"id":true,"instance_initiated_shutdown_behavior":true,"instance_lifecycle":true,"instance_market_options":true,"instance_state":true,"ipv6_address_count":true,"ipv6_addresses":true,"launch_template":[],"maintenance_options":true,"metadata_options":true,"monitoring":true,"network_interface":true,"outpost_arn":true,"password_data":true,"placement_group":true,"placement_partition_number":true,"primary_network_interface_id":true,"private_dns":true,"private_dns_name_options":true,"private_ip":true,"public_dns":true,"public_ip":true,"root_block_device":true,"secondary_private_ips":true,"security_groups":true,"spot_instance_request_id":true,"subnet_id":true,"tags":{},"tags_all":{},"tenancy":true,"user_data":true,"user_data_base64":true,"vpc_security_group_ids":true},"before_sensitive":false,"after_sensitive":{"capacity_reservation_specification":[],"cpu_options":[],"credit_specification":[],"ebs_block_device":[],"enclave_options":[],"ephemeral_block_device":[],"instance_market_options":[],"ipv6_addresses":[],"launch_template":[],"maintenance_options":[],"metadata_options":[],"network_interface":[],"private_dns_name_options":[],"root_block_device":[],"secondary_private_ips":[],"security_groups":[],"tags":{},"tags_all":{},"vpc_security_group_ids":[]}}},{"address":"aws_instance.ec2-1","mode":"managed","type":"aws_instance","name":"ec2-1","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"ami":"ami-005fc0f236362e99f","credit_specification":[],"get_password_data":false,"hibernation":null,"instance_type":"t2.large","key_name":"private_key","launch_template":[],"source_dest_check":true,"tags":{"Name":"MainEC2Instance"},"tags_all":{"Name":"MainEC2Instance"},"timeouts":null,"user_data_replace_on_change":false,"volume_tags":null},"after_unknown":{"arn":true,"associate_public_ip_address":true,"availability_zone":true,"capacity_reservation_specification":true,"cpu_core_count":true,"cpu_options":true,"cpu_threads_per_core":true,"credit_specification":[],"disable_api_stop":true,"disable_api_termination":true,"ebs_block_device":true,"ebs_optimized":true,"enclave_options":true,"ephemeral_block_device":true,"host_id":true,"host_resource_group_arn":true,"iam_instance_profile":true,"id":true,"instance_initiated_shutdown_behavior":true,"instance_lifecycle":true,"instance_market_options":true,"instance_state":true,"ipv6_address_count":true,"ipv6_addresses":true,"launch_template":[],"maintenance_options":true,"metadata_options":true,"monitoring":true,"network_interface":true,"outpost_arn":true,"password_data":true,"placement_group":true,"placement_partition_number":true,"primary_network_interface_id":true,"private_dns":true,"private_dns_name_options":true,"private_ip":true,"public_dns":true,"public_ip":true,"root_block_device":true,"secondary_private_ips":true,"security_groups":true,"spot_instance_request_id":true,"subnet_id":true,"tags":{},"tags_all":{},"tenancy":true,"user_data":true,"user_data_base64":true,"vpc_security_group_ids":true},"before_sensitive":false,"after_sensitive":{"capacity_reservation_specification":[],"cpu_options":[],"credit_specification":[],"ebs_block_device":[],"enclave_options":[],"ephemeral_block_device":[],"instance_market_options":[],"ipv6_addresses":[],"launch_template":[],"maintenance_options":[],"metadata_options":[],"network_interface":[],"private_dns_name_options":[],"root_block_device":[],"secondary_private_ips":[],"security_groups":[],"tags":{},"tags_all":{},"vpc_security_group_ids":[]}}},{"address":"aws_internet_gateway.igw","mode":"managed","type":"aws_internet_gateway","name":"igw","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"tags":{"Name":"MainIGW"},"tags_all":{"Name":"MainIGW"},"timeouts":null},"after_unknown":{"arn":true,"id":true,"owner_id":true,"tags":{},"tags_all":{},"vpc_id":true},"before_sensitive":false,"after_sensitive":{"tags":{},"tags_all":{}}}},{"address":"aws_route53_record.db_record","mode":"managed","type":"aws_route53_record","name":"db_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"db.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.frontend_record","mode":"managed","type":"aws_route53_record","name":"frontend_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.traefik_record","mode":"managed","type":"aws_route53_record","name":"traefik_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"traefik.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.www_db_record","mode":"managed","type":"aws_route53_record","name":"www_db_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.db.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.www_frontend_record","mode":"managed","type":"aws_route53_record","name":"www_frontend_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.www_traefik_record","mode":"managed","type":"aws_route53_record","name":"www_traefik_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.traefik.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route_table.rt","mode":"managed","type":"aws_route_table","name":"rt","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"route":[{"carrier_gateway_id":"","cidr_block":"0.0.0.0/0","core_network_arn":"","destination_prefix_list_id":"","egress_only_gateway_id":"","ipv6_cidr_block":"","local_gateway_id":"","nat_gateway_id":"","network_interface_id":"","transit_gateway_id":"","vpc_endpoint_id":"","vpc_peering_connection_id":""}],"tags":{"Name":"MainRouteTable"},"tags_all":{"Name":"MainRouteTable"},"timeouts":null},"after_unknown":{"arn":true,"id":true,"owner_id":true,"propagating_vgws":true,"route":[{"gateway_id":true}],"tags":{},"tags_all":{},"vpc_id":true},"before_sensitive":false,"after_sensitive":{"propagating_vgws":[],"route":[{}],"tags":{},"tags_all":{}}}},{"address":"aws_route_table_association.rt_association","mode":"managed","type":"aws_route_table_association","name":"rt_association","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"gateway_id":null,"timeouts":null},"after_unknown":{"id":true,"route_table_id":true,"subnet_id":true},"before_sensitive":false,"after_sensitive":{}}},{"address":"aws_security_group.sg","mode":"managed","type":"aws_security_group","name":"sg","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"description":"Managed by Terraform","egress":[{"cidr_blocks":["0.0.0.0/0"],"description":"","from_port":0,"ipv6_cidr_blocks":[],"prefix_list_ids":[],"protocol":"-1","security_groups":[],"self":false,"to_port":0}],"ingress":[{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":22,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":22},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":443,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":443},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":5173,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":5173},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8000,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8000},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8080,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8080},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":80,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":80}],"revoke_rules_on_delete":false,"tags":{"Name":"MainSG"},"tags_all":{"Name":"MainSG"},"timeouts":null},"after_unknown":{"arn":true,"egress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[],"prefix_list_ids":[],"security_groups":[]}],"id":true,"ingress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]}],"name":true,"name_prefix":true,"owner_id":true,"tags":{},"tags_all":{},"vpc_id":true},"before_sensitive":false,"after_sensitive":{"egress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[],"prefix_list_ids":[],"security_groups":[]}],"ingress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]}],"tags":{},"tags_all":{}}}},{"address":"aws_subnet.public_subnet","mode":"managed","type":"aws_subnet","name":"public_subnet","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"assign_ipv6_address_on_creation":false,"cidr_block":"10.0.1.0/24","customer_owned_ipv4_pool":null,"enable_dns64":false,"enable_lni_at_device_index":null,"enable_resource_name_dns_a_record_on_launch":false,"enable_resource_name_dns_aaaa_record_on_launch":false,"ipv6_cidr_block":null,"ipv6_native":false,"map_customer_owned_ip_on_launch":null,"map_public_ip_on_launch":true,"outpost_arn":null,"tags":{"Name":"MainSubnet"},"tags_all":{"Name":"MainSubnet"},"timeouts":null},"after_unknown":{"arn":true,"availability_zone":true,"availability_zone_id":true,"id":true,"ipv6_cidr_block_association_id":true,"owner_id":true,"private_dns_hostname_type_on_launch":true,"tags":{},"tags_all":{},"vpc_id":true},"before_sensitive":false,"after_sensitive":{"tags":{},"tags_all":{}}}},{"address":"aws_vpc.vpc","mode":"managed","type":"aws_vpc","name":"vpc","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"assign_generated_ipv6_cidr_block":null,"cidr_block":"10.0.0.0/16","enable_dns_hostnames":true,"enable_dns_support":true,"instance_tenancy":"default","ipv4_ipam_pool_id":null,"ipv4_netmask_length":null,"ipv6_ipam_pool_id":null,"ipv6_netmask_length":null,"tags":{"Name":"MainVPC"},"tags_all":{"Name":"MainVPC"}},"after_unknown":{"arn":true,"default_network_acl_id":true,"default_route_table_id":true,"default_security_group_id":true,"dhcp_options_id":true,"enable_network_address_usage_metrics":true,"id":true,"ipv6_association_id":true,"ipv6_cidr_block":true,"ipv6_cidr_block_network_border_group":true,"main_route_table_id":true,"owner_id":true,"tags":{},"tags_all":{}},"before_sensitive":false,"after_sensitive":{"tags":{},"tags_all":{}}}},{"address":"local_file.ansible_inventory","mode":"managed","type":"local_file","name":"ansible_inventory","provider_name":"registry.terraform.io/hashicorp/local","change":{"actions":["create"],"before":null,"after":{"content_base64":null,"directory_permission":"0777","file_permission":"0777","filename":"../ansible/inventory.ini","sensitive_content":null,"source":null},"after_unknown":{"content":true,"content_base64sha256":true,"content_base64sha512":true,"content_md5":true,"content_sha1":true,"content_sha256":true,"content_sha512":true,"id":true},"before_sensitive":false,"after_sensitive":{"sensitive_content":true}}},{"address":"null_resource.run_ansible","mode":"managed","type":"null_resource","name":"run_ansible","provider_name":"registry.terraform.io/hashicorp/null","change":{"actions":["create"],"before":null,"after":{"triggers":null},"after_unknown":{"id":true},"before_sensitive":false,"after_sensitive":{}}}],"output_changes":{"instance_public_ip":{"actions":["create"],"before":null,"after_unknown":true,"before_sensitive":false,"after_sensitive":false}},"prior_state":{"format_version":"1.0","terraform_version":"1.10.1","values":{"root_module":{"resources":[{"address":"data.aws_route53_zone.domain_zone","mode":"data","type":"aws_route53_zone","name":"domain_zone","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":0,"values":{"arn":"arn:aws:route53:::hostedzone/Z01212662RD8CEFOSDUAM","caller_reference":"a29ac534-5149-499a-aca2-1e212eb01528","comment":"","id":"Z01212662RD8CEFOSDUAM","linked_service_description":null,"linked_service_principal":null,"name":"drintech.online","name_servers":["ns-499.awsdns-62.com","ns-1131.awsdns-13.org","ns-1585.awsdns-06.co.uk","ns-1018.awsdns-63.net"],"primary_name_server":"ns-499.awsdns-62.com","private_zone":false,"resource_record_set_count":2,"tags":{},"vpc_id":null,"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"name_servers":[false,false,false,false],"tags":{}}}]}}},"configuration":{"provider_config":{"aws":{"name":"aws","full_name":"registry.terraform.io/hashicorp/aws","version_constraint":"\u003e= 2.7.0","expressions":{"region":{"references":["var.aws_region"]}}},"local":{"name":"local","full_name":"registry.terraform.io/hashicorp/local"},"null":{"name":"null","full_name":"registry.terraform.io/hashicorp/null"}},"root_module":{"outputs":{"instance_public_ip":{"expression":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"description":"Public IP of the EC2 instance"}},"resources":[{"address":"aws_instance.ec2","mode":"managed","type":"aws_instance","name":"ec2","provider_config_key":"aws","provisioners":[{"type":"local-exec","expressions":{"command":{"references":["self.public_ip","self"]}}}],"expressions":{"ami":{"references":["var.ami_id"]},"instance_type":{"references":["var.instance_type"]},"key_name":{"references":["var.key_pair_name"]},"subnet_id":{"references":["aws_subnet.public_subnet.id","aws_subnet.public_subnet"]},"tags":{"references":["var.ec2_name"]},"vpc_security_group_ids":{"references":["aws_security_group.sg.id","aws_security_group.sg"]}},"schema_version":1},{"address":"aws_instance.ec2-1","mode":"managed","type":"aws_instance","name":"ec2-1","provider_config_key":"aws","provisioners":[{"type":"local-exec","expressions":{"command":{"references":["self.public_ip","self"]}}}],"expressions":{"ami":{"references":["var.ami_id"]},"instance_type":{"references":["var.instance_type"]},"key_name":{"references":["var.key_pair_name"]},"subnet_id":{"references":["aws_subnet.public_subnet.id","aws_subnet.public_subnet"]},"tags":{"references":["var.ec2_name"]},"vpc_security_group_ids":{"references":["aws_security_group.sg.id","aws_security_group.sg"]}},"schema_version":1},{"address":"aws_internet_gateway.igw","mode":"managed","type":"aws_internet_gateway","name":"igw","provider_config_key":"aws","expressions":{"tags":{"references":["var.igw-name"]},"vpc_id":{"references":["aws_vpc.vpc.id","aws_vpc.vpc"]}},"schema_version":0},{"address":"aws_route53_record.db_record","mode":"managed","type":"aws_route53_record","name":"db_record","provider_config_key":"aws","expressions":{"name":{"references":["var.db_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.frontend_record","mode":"managed","type":"aws_route53_record","name":"frontend_record","provider_config_key":"aws","expressions":{"name":{"references":["var.frontend_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.traefik_record","mode":"managed","type":"aws_route53_record","name":"traefik_record","provider_config_key":"aws","expressions":{"name":{"references":["var.traefik_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.www_db_record","mode":"managed","type":"aws_route53_record","name":"www_db_record","provider_config_key":"aws","expressions":{"name":{"references":["var.db_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.www_frontend_record","mode":"managed","type":"aws_route53_record","name":"www_frontend_record","provider_config_key":"aws","expressions":{"name":{"references":["var.frontend_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.www_traefik_record","mode":"managed","type":"aws_route53_record","name":"www_traefik_record","provider_config_key":"aws","expressions":{"name":{"references":["var.traefik_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route_table.rt","mode":"managed","type":"aws_route_table","name":"rt","provider_config_key":"aws","expressions":{"route":{"references":["aws_internet_gateway.igw.id","aws_internet_gateway.igw"]},"tags":{"references":["var.rt-name"]},"vpc_id":{"references":["aws_vpc.vpc.id","aws_vpc.vpc"]}},"schema_version":0},{"address":"aws_route_table_association.rt_association","mode":"managed","type":"aws_route_table_association","name":"rt_association","provider_config_key":"aws","expressions":{"route_table_id":{"references":["aws_route_table.rt.id","aws_route_table.rt"]},"subnet_id":{"references":["aws_subnet.public_subnet.id","aws_subnet.public_subnet"]}},"schema_version":0},{"address":"aws_security_group.sg","mode":"managed","type":"aws_security_group","name":"sg","provider_config_key":"aws","expressions":{"egress":{"constant_value":[{"cidr_blocks":["0.0.0.0/0"],"description":null,"from_port":0,"ipv6_cidr_blocks":null,"prefix_list_ids":null,"protocol":"-1","security_groups":null,"self":null,"to_port":0}]},"ingress":{"constant_value":[{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":22,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":22},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8080,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8080},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":5173,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":5173},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8000,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8000},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":80,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":80},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":443,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":443}]},"tags":{"references":["var.sg-name"]},"vpc_id":{"references":["aws_vpc.vpc.id","aws_vpc.vpc"]}},"schema_version":1},{"address":"aws_subnet.public_subnet","mode":"managed","type":"aws_subnet","name":"public_subnet","provider_config_key":"aws","expressions":{"cidr_block":{"constant_value":"10.0.1.0/24"},"map_public_ip_on_launch":{"constant_value":true},"tags":{"references":["var.subnet-name"]},"vpc_id":{"references":["aws_vpc.vpc.id","aws_vpc.vpc"]}},"schema_version":1},{"address":"aws_vpc.vpc","mode":"managed","type":"aws_vpc","name":"vpc","provider_config_key":"aws","expressions":{"cidr_block":{"constant_value":"10.0.0.0/16"},"enable_dns_hostnames":{"constant_value":true},"enable_dns_support":{"constant_value":true},"tags":{"references":["var.vpc-name"]}},"schema_version":1},{"address":"local_file.ansible_inventory","mode":"managed","type":"local_file","name":"ansible_inventory","provider_config_key":"local","expressions":{"content":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2","var.private_key_path"]},"filename":{"constant_value":"../ansible/inventory.ini"}},"schema_version":0},{"address":"null_resource.run_ansible","mode":"managed","type":"null_resource","name":"run_ansible","provider_config_key":"null","provisioners":[{"type":"local-exec","expressions":{"command":{"references":["var.frontend_domain","var.db_domain","var.traefik_domain","var.cert_email"]}}}],"schema_version":0,"depends_on":["aws_route53_record.frontend_record","aws_route53_record.www_frontend_record","aws_route53_record.db_record","aws_route53_record.www_db_record","aws_route53_record.traefik_record","aws_route53_record.www_traefik_record","local_file.ansible_inventory"]},{"address":"data.aws_route53_zone.domain_zone","mode":"data","type":"aws_route53_zone","name":"domain_zone","provider_config_key":"aws","expressions":{"name":{"references":["var.domain_name"]},"private_zone":{"constant_value":false}},"schema_version":0}],"variables":{"ami_id":{"description":"AMI ID for the EC2 instance"},"aws_region":{"default":"us-east-1","description":"AWS region to deploy resources"},"cert_email":{"description":"Email for the let's encrypt certificate"},"db_domain":{"description":"Domain name for the database admin (Adminer)"},"domain_name":{"description":"the hosted zone domain name"},"ec2_name":{"default":"MainEC2Instance","description":"Name of the EC2 instance"},"frontend_domain":{"description":"Domain name for the frontend"},"igw-name":{"default":"MainIGW","description":"Name of the Internet Gateway"},"instance_type":{"default":"t2.micro","description":"EC2 instance type"},"key_pair_name":{"description":"Key pair name for SSH access"},"private_key_path":{"description":"private key path for ansible ssh access"},"rt-name":{"default":"MainRouteTable","description":"Name of the Route Table"},"sg-name":{"default":"MainSG","description":"Name of the Security Group"},"subnet-name":{"default":"MainSubnet","description":"Name of the Subnet"},"traefik_domain":{"description":"Domain name for traefik Proxy Manager"},"vpc-name":{"default":"MainVPC","description":"Name of the VPC"}}}},"relevant_attributes":[{"resource":"aws_vpc.vpc","attribute":["id"]},{"resource":"aws_internet_gateway.igw","attribute":["id"]},{"resource":"aws_route_table.rt","attribute":["id"]},{"resource":"aws_subnet.public_subnet","attribute":["id"]},{"resource":"aws_security_group.sg","attribute":["id"]},{"resource":"aws_instance.ec2","attribute":["public_ip"]},{"resource":"data.aws_route53_zone.domain_zone","attribute":["zone_id"]}],"timestamp":"2024-12-11T01:09:52Z","applyable":true,"complete":true,"errored":false}
::debug::Terraform exited with code 0.
::debug::stdout: {"format_version":"1.2","terraform_version":"1.10.1","variables":{"ami_id":{"value":"ami-005fc0f236362e99f"},"aws_region":{"value":"us-east-1"},"cert_email":{"value":"drintech222@gmail.com"},"db_domain":{"value":"db.test.drintech.online"},"domain_name":{"value":"drintech.online"},"ec2_name":{"value":"MainEC2Instance"},"frontend_domain":{"value":"test.drintech.online"},"igw-name":{"value":"MainIGW"},"instance_type":{"value":"t2.large"},"key_pair_name":{"value":"private_key"},"private_key_path":{"value":"./private_key.pem"},"rt-name":{"value":"MainRouteTable"},"sg-name":{"value":"MainSG"},"subnet-name":{"value":"MainSubnet"},"traefik_domain":{"value":"traefik.test.drintech.online"},"vpc-name":{"value":"MainVPC"}},"planned_values":{"outputs":{"instance_public_ip":{"sensitive":false}},"root_module":{"resources":[{"address":"aws_instance.ec2","mode":"managed","type":"aws_instance","name":"ec2","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"ami":"ami-005fc0f236362e99f","credit_specification":[],"get_password_data":false,"hibernation":null,"instance_type":"t2.large","key_name":"private_key","launch_template":[],"source_dest_check":true,"tags":{"Name":"MainEC2Instance"},"tags_all":{"Name":"MainEC2Instance"},"timeouts":null,"user_data_replace_on_change":false,"volume_tags":null},"sensitive_values":{"capacity_reservation_specification":[],"cpu_options":[],"credit_specification":[],"ebs_block_device":[],"enclave_options":[],"ephemeral_block_device":[],"instance_market_options":[],"ipv6_addresses":[],"launch_template":[],"maintenance_options":[],"metadata_options":[],"network_interface":[],"private_dns_name_options":[],"root_block_device":[],"secondary_private_ips":[],"security_groups":[],"tags":{},"tags_all":{},"vpc_security_group_ids":[]}},{"address":"aws_instance.ec2-1","mode":"managed","type":"aws_instance","name":"ec2-1","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"ami":"ami-005fc0f236362e99f","credit_specification":[],"get_password_data":false,"hibernation":null,"instance_type":"t2.large","key_name":"private_key","launch_template":[],"source_dest_check":true,"tags":{"Name":"MainEC2Instance"},"tags_all":{"Name":"MainEC2Instance"},"timeouts":null,"user_data_replace_on_change":false,"volume_tags":null},"sensitive_values":{"capacity_reservation_specification":[],"cpu_options":[],"credit_specification":[],"ebs_block_device":[],"enclave_options":[],"ephemeral_block_device":[],"instance_market_options":[],"ipv6_addresses":[],"launch_template":[],"maintenance_options":[],"metadata_options":[],"network_interface":[],"private_dns_name_options":[],"root_block_device":[],"secondary_private_ips":[],"security_groups":[],"tags":{},"tags_all":{},"vpc_security_group_ids":[]}},{"address":"aws_internet_gateway.igw","mode":"managed","type":"aws_internet_gateway","name":"igw","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":0,"values":{"tags":{"Name":"MainIGW"},"tags_all":{"Name":"MainIGW"},"timeouts":null},"sensitive_values":{"tags":{},"tags_all":{}}},{"address":"aws_route53_record.db_record","mode":"managed","type":"aws_route53_record","name":"db_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"db.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.frontend_record","mode":"managed","type":"aws_route53_record","name":"frontend_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.traefik_record","mode":"managed","type":"aws_route53_record","name":"traefik_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"traefik.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.www_db_record","mode":"managed","type":"aws_route53_record","name":"www_db_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.db.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.www_frontend_record","mode":"managed","type":"aws_route53_record","name":"www_frontend_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route53_record.www_traefik_record","mode":"managed","type":"aws_route53_record","name":"www_traefik_record","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":2,"values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.traefik.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}},{"address":"aws_route_table.rt","mode":"managed","type":"aws_route_table","name":"rt","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":0,"values":{"route":[{"carrier_gateway_id":"","cidr_block":"0.0.0.0/0","core_network_arn":"","destination_prefix_list_id":"","egress_only_gateway_id":"","ipv6_cidr_block":"","local_gateway_id":"","nat_gateway_id":"","network_interface_id":"","transit_gateway_id":"","vpc_endpoint_id":"","vpc_peering_connection_id":""}],"tags":{"Name":"MainRouteTable"},"tags_all":{"Name":"MainRouteTable"},"timeouts":null},"sensitive_values":{"propagating_vgws":[],"route":[{}],"tags":{},"tags_all":{}}},{"address":"aws_route_table_association.rt_association","mode":"managed","type":"aws_route_table_association","name":"rt_association","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":0,"values":{"gateway_id":null,"timeouts":null},"sensitive_values":{}},{"address":"aws_security_group.sg","mode":"managed","type":"aws_security_group","name":"sg","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"description":"Managed by Terraform","egress":[{"cidr_blocks":["0.0.0.0/0"],"description":"","from_port":0,"ipv6_cidr_blocks":[],"prefix_list_ids":[],"protocol":"-1","security_groups":[],"self":false,"to_port":0}],"ingress":[{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":22,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":22},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":443,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":443},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":5173,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":5173},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8000,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8000},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8080,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8080},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":80,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":80}],"revoke_rules_on_delete":false,"tags":{"Name":"MainSG"},"tags_all":{"Name":"MainSG"},"timeouts":null},"sensitive_values":{"egress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[],"prefix_list_ids":[],"security_groups":[]}],"ingress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]}],"tags":{},"tags_all":{}}},{"address":"aws_subnet.public_subnet","mode":"managed","type":"aws_subnet","name":"public_subnet","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"assign_ipv6_address_on_creation":false,"cidr_block":"10.0.1.0/24","customer_owned_ipv4_pool":null,"enable_dns64":false,"enable_lni_at_device_index":null,"enable_resource_name_dns_a_record_on_launch":false,"enable_resource_name_dns_aaaa_record_on_launch":false,"ipv6_cidr_block":null,"ipv6_native":false,"map_customer_owned_ip_on_launch":null,"map_public_ip_on_launch":true,"outpost_arn":null,"tags":{"Name":"MainSubnet"},"tags_all":{"Name":"MainSubnet"},"timeouts":null},"sensitive_values":{"tags":{},"tags_all":{}}},{"address":"aws_vpc.vpc","mode":"managed","type":"aws_vpc","name":"vpc","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":1,"values":{"assign_generated_ipv6_cidr_block":null,"cidr_block":"10.0.0.0/16","enable_dns_hostnames":true,"enable_dns_support":true,"instance_tenancy":"default","ipv4_ipam_pool_id":null,"ipv4_netmask_length":null,"ipv6_ipam_pool_id":null,"ipv6_netmask_length":null,"tags":{"Name":"MainVPC"},"tags_all":{"Name":"MainVPC"}},"sensitive_values":{"tags":{},"tags_all":{}}},{"address":"local_file.ansible_inventory","mode":"managed","type":"local_file","name":"ansible_inventory","provider_name":"registry.terraform.io/hashicorp/local","schema_version":0,"values":{"content_base64":null,"directory_permission":"0777","file_permission":"0777","filename":"../ansible/inventory.ini","sensitive_content":null,"source":null},"sensitive_values":{"sensitive_content":true}},{"address":"null_resource.run_ansible","mode":"managed","type":"null_resource","name":"run_ansible","provider_name":"registry.terraform.io/hashicorp/null","schema_version":0,"values":{"triggers":null},"sensitive_values":{}}]}},"resource_changes":[{"address":"aws_instance.ec2","mode":"managed","type":"aws_instance","name":"ec2","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"ami":"ami-005fc0f236362e99f","credit_specification":[],"get_password_data":false,"hibernation":null,"instance_type":"t2.large","key_name":"private_key","launch_template":[],"source_dest_check":true,"tags":{"Name":"MainEC2Instance"},"tags_all":{"Name":"MainEC2Instance"},"timeouts":null,"user_data_replace_on_change":false,"volume_tags":null},"after_unknown":{"arn":true,"associate_public_ip_address":true,"availability_zone":true,"capacity_reservation_specification":true,"cpu_core_count":true,"cpu_options":true,"cpu_threads_per_core":true,"credit_specification":[],"disable_api_stop":true,"disable_api_termination":true,"ebs_block_device":true,"ebs_optimized":true,"enclave_options":true,"ephemeral_block_device":true,"host_id":true,"host_resource_group_arn":true,"iam_instance_profile":true,"id":true,"instance_initiated_shutdown_behavior":true,"instance_lifecycle":true,"instance_market_options":true,"instance_state":true,"ipv6_address_count":true,"ipv6_addresses":true,"launch_template":[],"maintenance_options":true,"metadata_options":true,"monitoring":true,"network_interface":true,"outpost_arn":true,"password_data":true,"placement_group":true,"placement_partition_number":true,"primary_network_interface_id":true,"private_dns":true,"private_dns_name_options":true,"private_ip":true,"public_dns":true,"public_ip":true,"root_block_device":true,"secondary_private_ips":true,"security_groups":true,"spot_instance_request_id":true,"subnet_id":true,"tags":{},"tags_all":{},"tenancy":true,"user_data":true,"user_data_base64":true,"vpc_security_group_ids":true},"before_sensitive":false,"after_sensitive":{"capacity_reservation_specification":[],"cpu_options":[],"credit_specification":[],"ebs_block_device":[],"enclave_options":[],"ephemeral_block_device":[],"instance_market_options":[],"ipv6_addresses":[],"launch_template":[],"maintenance_options":[],"metadata_options":[],"network_interface":[],"private_dns_name_options":[],"root_block_device":[],"secondary_private_ips":[],"security_groups":[],"tags":{},"tags_all":{},"vpc_security_group_ids":[]}}},{"address":"aws_instance.ec2-1","mode":"managed","type":"aws_instance","name":"ec2-1","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"ami":"ami-005fc0f236362e99f","credit_specification":[],"get_password_data":false,"hibernation":null,"instance_type":"t2.large","key_name":"private_key","launch_template":[],"source_dest_check":true,"tags":{"Name":"MainEC2Instance"},"tags_all":{"Name":"MainEC2Instance"},"timeouts":null,"user_data_replace_on_change":false,"volume_tags":null},"after_unknown":{"arn":true,"associate_public_ip_address":true,"availability_zone":true,"capacity_reservation_specification":true,"cpu_core_count":true,"cpu_options":true,"cpu_threads_per_core":true,"credit_specification":[],"disable_api_stop":true,"disable_api_termination":true,"ebs_block_device":true,"ebs_optimized":true,"enclave_options":true,"ephemeral_block_device":true,"host_id":true,"host_resource_group_arn":true,"iam_instance_profile":true,"id":true,"instance_initiated_shutdown_behavior":true,"instance_lifecycle":true,"instance_market_options":true,"instance_state":true,"ipv6_address_count":true,"ipv6_addresses":true,"launch_template":[],"maintenance_options":true,"metadata_options":true,"monitoring":true,"network_interface":true,"outpost_arn":true,"password_data":true,"placement_group":true,"placement_partition_number":true,"primary_network_interface_id":true,"private_dns":true,"private_dns_name_options":true,"private_ip":true,"public_dns":true,"public_ip":true,"root_block_device":true,"secondary_private_ips":true,"security_groups":true,"spot_instance_request_id":true,"subnet_id":true,"tags":{},"tags_all":{},"tenancy":true,"user_data":true,"user_data_base64":true,"vpc_security_group_ids":true},"before_sensitive":false,"after_sensitive":{"capacity_reservation_specification":[],"cpu_options":[],"credit_specification":[],"ebs_block_device":[],"enclave_options":[],"ephemeral_block_device":[],"instance_market_options":[],"ipv6_addresses":[],"launch_template":[],"maintenance_options":[],"metadata_options":[],"network_interface":[],"private_dns_name_options":[],"root_block_device":[],"secondary_private_ips":[],"security_groups":[],"tags":{},"tags_all":{},"vpc_security_group_ids":[]}}},{"address":"aws_internet_gateway.igw","mode":"managed","type":"aws_internet_gateway","name":"igw","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"tags":{"Name":"MainIGW"},"tags_all":{"Name":"MainIGW"},"timeouts":null},"after_unknown":{"arn":true,"id":true,"owner_id":true,"tags":{},"tags_all":{},"vpc_id":true},"before_sensitive":false,"after_sensitive":{"tags":{},"tags_all":{}}}},{"address":"aws_route53_record.db_record","mode":"managed","type":"aws_route53_record","name":"db_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"db.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.frontend_record","mode":"managed","type":"aws_route53_record","name":"frontend_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.traefik_record","mode":"managed","type":"aws_route53_record","name":"traefik_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"traefik.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.www_db_record","mode":"managed","type":"aws_route53_record","name":"www_db_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.db.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.www_frontend_record","mode":"managed","type":"aws_route53_record","name":"www_frontend_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route53_record.www_traefik_record","mode":"managed","type":"aws_route53_record","name":"www_traefik_record","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"health_check_id":null,"latency_routing_policy":[],"multivalue_answer_routing_policy":null,"name":"www.traefik.test.drintech.online","set_identifier":null,"ttl":300,"type":"A","weighted_routing_policy":[],"zone_id":"Z01212662RD8CEFOSDUAM"},"after_unknown":{"alias":[],"allow_overwrite":true,"cidr_routing_policy":[],"failover_routing_policy":[],"fqdn":true,"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"id":true,"latency_routing_policy":[],"records":true,"weighted_routing_policy":[]},"before_sensitive":false,"after_sensitive":{"alias":[],"cidr_routing_policy":[],"failover_routing_policy":[],"geolocation_routing_policy":[],"geoproximity_routing_policy":[],"latency_routing_policy":[],"records":[],"weighted_routing_policy":[]}}},{"address":"aws_route_table.rt","mode":"managed","type":"aws_route_table","name":"rt","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"route":[{"carrier_gateway_id":"","cidr_block":"0.0.0.0/0","core_network_arn":"","destination_prefix_list_id":"","egress_only_gateway_id":"","ipv6_cidr_block":"","local_gateway_id":"","nat_gateway_id":"","network_interface_id":"","transit_gateway_id":"","vpc_endpoint_id":"","vpc_peering_connection_id":""}],"tags":{"Name":"MainRouteTable"},"tags_all":{"Name":"MainRouteTable"},"timeouts":null},"after_unknown":{"arn":true,"id":true,"owner_id":true,"propagating_vgws":true,"route":[{"gateway_id":true}],"tags":{},"tags_all":{},"vpc_id":true},"before_sensitive":false,"after_sensitive":{"propagating_vgws":[],"route":[{}],"tags":{},"tags_all":{}}}},{"address":"aws_route_table_association.rt_association","mode":"managed","type":"aws_route_table_association","name":"rt_association","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"gateway_id":null,"timeouts":null},"after_unknown":{"id":true,"route_table_id":true,"subnet_id":true},"before_sensitive":false,"after_sensitive":{}}},{"address":"aws_security_group.sg","mode":"managed","type":"aws_security_group","name":"sg","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"description":"Managed by Terraform","egress":[{"cidr_blocks":["0.0.0.0/0"],"description":"","from_port":0,"ipv6_cidr_blocks":[],"prefix_list_ids":[],"protocol":"-1","security_groups":[],"self":false,"to_port":0}],"ingress":[{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":22,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":22},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":443,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":443},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":5173,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":5173},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8000,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8000},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8080,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8080},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":80,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":80}],"revoke_rules_on_delete":false,"tags":{"Name":"MainSG"},"tags_all":{"Name":"MainSG"},"timeouts":null},"after_unknown":{"arn":true,"egress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[],"prefix_list_ids":[],"security_groups":[]}],"id":true,"ingress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]}],"name":true,"name_prefix":true,"owner_id":true,"tags":{},"tags_all":{},"vpc_id":true},"before_sensitive":false,"after_sensitive":{"egress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[],"prefix_list_ids":[],"security_groups":[]}],"ingress":[{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]},{"cidr_blocks":[false],"ipv6_cidr_blocks":[false],"prefix_list_ids":[],"security_groups":[]}],"tags":{},"tags_all":{}}}},{"address":"aws_subnet.public_subnet","mode":"managed","type":"aws_subnet","name":"public_subnet","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"assign_ipv6_address_on_creation":false,"cidr_block":"10.0.1.0/24","customer_owned_ipv4_pool":null,"enable_dns64":false,"enable_lni_at_device_index":null,"enable_resource_name_dns_a_record_on_launch":false,"enable_resource_name_dns_aaaa_record_on_launch":false,"ipv6_cidr_block":null,"ipv6_native":false,"map_customer_owned_ip_on_launch":null,"map_public_ip_on_launch":true,"outpost_arn":null,"tags":{"Name":"MainSubnet"},"tags_all":{"Name":"MainSubnet"},"timeouts":null},"after_unknown":{"arn":true,"availability_zone":true,"availability_zone_id":true,"id":true,"ipv6_cidr_block_association_id":true,"owner_id":true,"private_dns_hostname_type_on_launch":true,"tags":{},"tags_all":{},"vpc_id":true},"before_sensitive":false,"after_sensitive":{"tags":{},"tags_all":{}}}},{"address":"aws_vpc.vpc","mode":"managed","type":"aws_vpc","name":"vpc","provider_name":"registry.terraform.io/hashicorp/aws","change":{"actions":["create"],"before":null,"after":{"assign_generated_ipv6_cidr_block":null,"cidr_block":"10.0.0.0/16","enable_dns_hostnames":true,"enable_dns_support":true,"instance_tenancy":"default","ipv4_ipam_pool_id":null,"ipv4_netmask_length":null,"ipv6_ipam_pool_id":null,"ipv6_netmask_length":null,"tags":{"Name":"MainVPC"},"tags_all":{"Name":"MainVPC"}},"after_unknown":{"arn":true,"default_network_acl_id":true,"default_route_table_id":true,"default_security_group_id":true,"dhcp_options_id":true,"enable_network_address_usage_metrics":true,"id":true,"ipv6_association_id":true,"ipv6_cidr_block":true,"ipv6_cidr_block_network_border_group":true,"main_route_table_id":true,"owner_id":true,"tags":{},"tags_all":{}},"before_sensitive":false,"after_sensitive":{"tags":{},"tags_all":{}}}},{"address":"local_file.ansible_inventory","mode":"managed","type":"local_file","name":"ansible_inventory","provider_name":"registry.terraform.io/hashicorp/local","change":{"actions":["create"],"before":null,"after":{"content_base64":null,"directory_permission":"0777","file_permission":"0777","filename":"../ansible/inventory.ini","sensitive_content":null,"source":null},"after_unknown":{"content":true,"content_base64sha256":true,"content_base64sha512":true,"content_md5":true,"content_sha1":true,"content_sha256":true,"content_sha512":true,"id":true},"before_sensitive":false,"after_sensitive":{"sensitive_content":true}}},{"address":"null_resource.run_ansible","mode":"managed","type":"null_resource","name":"run_ansible","provider_name":"registry.terraform.io/hashicorp/null","change":{"actions":["create"],"before":null,"after":{"triggers":null},"after_unknown":{"id":true},"before_sensitive":false,"after_sensitive":{}}}],"output_changes":{"instance_public_ip":{"actions":["create"],"before":null,"after_unknown":true,"before_sensitive":false,"after_sensitive":false}},"prior_state":{"format_version":"1.0","terraform_version":"1.10.1","values":{"root_module":{"resources":[{"address":"data.aws_route53_zone.domain_zone","mode":"data","type":"aws_route53_zone","name":"domain_zone","provider_name":"registry.terraform.io/hashicorp/aws","schema_version":0,"values":{"arn":"arn:aws:route53:::hostedzone/Z01212662RD8CEFOSDUAM","caller_reference":"a29ac534-5149-499a-aca2-1e212eb01528","comment":"","id":"Z01212662RD8CEFOSDUAM","linked_service_description":null,"linked_service_principal":null,"name":"drintech.online","name_servers":["ns-499.awsdns-62.com","ns-1131.awsdns-13.org","ns-1585.awsdns-06.co.uk","ns-1018.awsdns-63.net"],"primary_name_server":"ns-499.awsdns-62.com","private_zone":false,"resource_record_set_count":2,"tags":{},"vpc_id":null,"zone_id":"Z01212662RD8CEFOSDUAM"},"sensitive_values":{"name_servers":[false,false,false,false],"tags":{}}}]}}},"configuration":{"provider_config":{"aws":{"name":"aws","full_name":"registry.terraform.io/hashicorp/aws","version_constraint":"\u003e= 2.7.0","expressions":{"region":{"references":["var.aws_region"]}}},"local":{"name":"local","full_name":"registry.terraform.io/hashicorp/local"},"null":{"name":"null","full_name":"registry.terraform.io/hashicorp/null"}},"root_module":{"outputs":{"instance_public_ip":{"expression":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"description":"Public IP of the EC2 instance"}},"resources":[{"address":"aws_instance.ec2","mode":"managed","type":"aws_instance","name":"ec2","provider_config_key":"aws","provisioners":[{"type":"local-exec","expressions":{"command":{"references":["self.public_ip","self"]}}}],"expressions":{"ami":{"references":["var.ami_id"]},"instance_type":{"references":["var.instance_type"]},"key_name":{"references":["var.key_pair_name"]},"subnet_id":{"references":["aws_subnet.public_subnet.id","aws_subnet.public_subnet"]},"tags":{"references":["var.ec2_name"]},"vpc_security_group_ids":{"references":["aws_security_group.sg.id","aws_security_group.sg"]}},"schema_version":1},{"address":"aws_instance.ec2-1","mode":"managed","type":"aws_instance","name":"ec2-1","provider_config_key":"aws","provisioners":[{"type":"local-exec","expressions":{"command":{"references":["self.public_ip","self"]}}}],"expressions":{"ami":{"references":["var.ami_id"]},"instance_type":{"references":["var.instance_type"]},"key_name":{"references":["var.key_pair_name"]},"subnet_id":{"references":["aws_subnet.public_subnet.id","aws_subnet.public_subnet"]},"tags":{"references":["var.ec2_name"]},"vpc_security_group_ids":{"references":["aws_security_group.sg.id","aws_security_group.sg"]}},"schema_version":1},{"address":"aws_internet_gateway.igw","mode":"managed","type":"aws_internet_gateway","name":"igw","provider_config_key":"aws","expressions":{"tags":{"references":["var.igw-name"]},"vpc_id":{"references":["aws_vpc.vpc.id","aws_vpc.vpc"]}},"schema_version":0},{"address":"aws_route53_record.db_record","mode":"managed","type":"aws_route53_record","name":"db_record","provider_config_key":"aws","expressions":{"name":{"references":["var.db_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.frontend_record","mode":"managed","type":"aws_route53_record","name":"frontend_record","provider_config_key":"aws","expressions":{"name":{"references":["var.frontend_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.traefik_record","mode":"managed","type":"aws_route53_record","name":"traefik_record","provider_config_key":"aws","expressions":{"name":{"references":["var.traefik_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.www_db_record","mode":"managed","type":"aws_route53_record","name":"www_db_record","provider_config_key":"aws","expressions":{"name":{"references":["var.db_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.www_frontend_record","mode":"managed","type":"aws_route53_record","name":"www_frontend_record","provider_config_key":"aws","expressions":{"name":{"references":["var.frontend_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route53_record.www_traefik_record","mode":"managed","type":"aws_route53_record","name":"www_traefik_record","provider_config_key":"aws","expressions":{"name":{"references":["var.traefik_domain"]},"records":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2"]},"ttl":{"constant_value":300},"type":{"constant_value":"A"},"zone_id":{"references":["data.aws_route53_zone.domain_zone.zone_id","data.aws_route53_zone.domain_zone"]}},"schema_version":2},{"address":"aws_route_table.rt","mode":"managed","type":"aws_route_table","name":"rt","provider_config_key":"aws","expressions":{"route":{"references":["aws_internet_gateway.igw.id","aws_internet_gateway.igw"]},"tags":{"references":["var.rt-name"]},"vpc_id":{"references":["aws_vpc.vpc.id","aws_vpc.vpc"]}},"schema_version":0},{"address":"aws_route_table_association.rt_association","mode":"managed","type":"aws_route_table_association","name":"rt_association","provider_config_key":"aws","expressions":{"route_table_id":{"references":["aws_route_table.rt.id","aws_route_table.rt"]},"subnet_id":{"references":["aws_subnet.public_subnet.id","aws_subnet.public_subnet"]}},"schema_version":0},{"address":"aws_security_group.sg","mode":"managed","type":"aws_security_group","name":"sg","provider_config_key":"aws","expressions":{"egress":{"constant_value":[{"cidr_blocks":["0.0.0.0/0"],"description":null,"from_port":0,"ipv6_cidr_blocks":null,"prefix_list_ids":null,"protocol":"-1","security_groups":null,"self":null,"to_port":0}]},"ingress":{"constant_value":[{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":22,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":22},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8080,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8080},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":5173,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":5173},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":8000,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":8000},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":80,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":80},{"cidr_blocks":["0.0.0.0/0"],"description":"TLS from VPC","from_port":443,"ipv6_cidr_blocks":["::/0"],"prefix_list_ids":[],"protocol":"tcp","security_groups":[],"self":false,"to_port":443}]},"tags":{"references":["var.sg-name"]},"vpc_id":{"references":["aws_vpc.vpc.id","aws_vpc.vpc"]}},"schema_version":1},{"address":"aws_subnet.public_subnet","mode":"managed","type":"aws_subnet","name":"public_subnet","provider_config_key":"aws","expressions":{"cidr_block":{"constant_value":"10.0.1.0/24"},"map_public_ip_on_launch":{"constant_value":true},"tags":{"references":["var.subnet-name"]},"vpc_id":{"references":["aws_vpc.vpc.id","aws_vpc.vpc"]}},"schema_version":1},{"address":"aws_vpc.vpc","mode":"managed","type":"aws_vpc","name":"vpc","provider_config_key":"aws","expressions":{"cidr_block":{"constant_value":"10.0.0.0/16"},"enable_dns_hostnames":{"constant_value":true},"enable_dns_support":{"constant_value":true},"tags":{"references":["var.vpc-name"]}},"schema_version":1},{"address":"local_file.ansible_inventory","mode":"managed","type":"local_file","name":"ansible_inventory","provider_config_key":"local","expressions":{"content":{"references":["aws_instance.ec2.public_ip","aws_instance.ec2","var.private_key_path"]},"filename":{"constant_value":"../ansible/inventory.ini"}},"schema_version":0},{"address":"null_resource.run_ansible","mode":"managed","type":"null_resource","name":"run_ansible","provider_config_key":"null","provisioners":[{"type":"local-exec","expressions":{"command":{"references":["var.frontend_domain","var.db_domain","var.traefik_domain","var.cert_email"]}}}],"schema_version":0,"depends_on":["aws_route53_record.frontend_record","aws_route53_record.www_frontend_record","aws_route53_record.db_record","aws_route53_record.www_db_record","aws_route53_record.traefik_record","aws_route53_record.www_traefik_record","local_file.ansible_inventory"]},{"address":"data.aws_route53_zone.domain_zone","mode":"data","type":"aws_route53_zone","name":"domain_zone","provider_config_key":"aws","expressions":{"name":{"references":["var.domain_name"]},"private_zone":{"constant_value":false}},"schema_version":0}],"variables":{"ami_id":{"description":"AMI ID for the EC2 instance"},"aws_region":{"default":"us-east-1","description":"AWS region to deploy resources"},"cert_email":{"description":"Email for the let's encrypt certificate"},"db_domain":{"description":"Domain name for the database admin (Adminer)"},"domain_name":{"description":"the hosted zone domain name"},"ec2_name":{"default":"MainEC2Instance","description":"Name of the EC2 instance"},"frontend_domain":{"description":"Domain name for the frontend"},"igw-name":{"default":"MainIGW","description":"Name of the Internet Gateway"},"instance_type":{"default":"t2.micro","description":"EC2 instance type"},"key_pair_name":{"description":"Key pair name for SSH access"},"private_key_path":{"description":"private key path for ansible ssh access"},"rt-name":{"default":"MainRouteTable","description":"Name of the Route Table"},"sg-name":{"default":"MainSG","description":"Name of the Security Group"},"subnet-name":{"default":"MainSubnet","description":"Name of the Subnet"},"traefik_domain":{"description":"Domain name for traefik Proxy Manager"},"vpc-name":{"default":"MainVPC","description":"Name of the VPC"}}}},"relevant_attributes":[{"resource":"aws_vpc.vpc","attribute":["id"]},{"resource":"aws_internet_gateway.igw","attribute":["id"]},{"resource":"aws_route_table.rt","attribute":["id"]},{"resource":"aws_subnet.public_subnet","attribute":["id"]},{"resource":"aws_security_group.sg","attribute":["id"]},{"resource":"aws_instance.ec2","attribute":["public_ip"]},{"resource":"data.aws_route53_zone.domain_zone","attribute":["zone_id"]}],"timestamp":"2024-12-11T01:09:52Z","applyable":true,"complete":true,"errored":false}%0A
::debug::stderr:
::debug::exitcode: 0

@DrInTech22 DrInTech22 closed this Dec 11, 2024
@DrInTech22 DrInTech22 reopened this Dec 11, 2024
Copy link

github-actions bot commented Dec 11, 2024

Project: main

Name Monthly Qty Unit Monthly Cost

aws_instance.ec2
├─ Instance usage (Linux/UNIX, on-demand, t2.large) 730 hours $67.74
└─ root_block_device
└─ Storage (general purpose SSD, gp2) 8 GB $0.80

aws_instance.ec2-1
├─ Instance usage (Linux/UNIX, on-demand, t2.large) 730 hours $67.74
└─ root_block_device
└─ Storage (general purpose SSD, gp2) 8 GB $0.80

aws_route53_record.db_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.frontend_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.traefik_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.www_db_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.www_frontend_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.www_traefik_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

OVERALL TOTAL $137.09

*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options.

──────────────────────────────────
14 cloud resources were detected:
∙ 8 were estimated
∙ 6 were free

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫
┃ main ┃ $137 ┃ - ┃ $137 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛

@DrInTech22 DrInTech22 closed this Dec 11, 2024
@DrInTech22 DrInTech22 reopened this Dec 11, 2024
Copy link

Terraform Format and Style 🖌``

Terraform Plan 📖success

Show Plan
[command]/home/runner/work/_temp/d7f56bf3-7bfd-4de6-bf72-9a19f020b241/terraform-bin show -no-color tfplan.out

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_instance.ec2 will be created
  + resource "aws_instance" "ec2" {
      + ami                                  = "ami-005fc0f236362e99f"
      + arn                                  = (known after apply)
      + associate_public_ip_address          = (known after apply)
      + availability_zone                    = (known after apply)
      + cpu_core_count                       = (known after apply)
      + cpu_threads_per_core                 = (known after apply)
      + disable_api_stop                     = (known after apply)
      + disable_api_termination              = (known after apply)
      + ebs_optimized                        = (known after apply)
      + get_password_data                    = false
      + host_id                              = (known after apply)
      + host_resource_group_arn              = (known after apply)
      + iam_instance_profile                 = (known after apply)
      + id                                   = (known after apply)
      + instance_initiated_shutdown_behavior = (known after apply)
      + instance_lifecycle                   = (known after apply)
      + instance_state                       = (known after apply)
      + instance_type                        = "t2.large"
      + ipv6_address_count                   = (known after apply)
      + ipv6_addresses                       = (known after apply)
      + key_name                             = "private_key"
      + monitoring                           = (known after apply)
      + outpost_arn                          = (known after apply)
      + password_data                        = (known after apply)
      + placement_group                      = (known after apply)
      + placement_partition_number           = (known after apply)
      + primary_network_interface_id         = (known after apply)
      + private_dns                          = (known after apply)
      + private_ip                           = (known after apply)
      + public_dns                           = (known after apply)
      + public_ip                            = (known after apply)
      + secondary_private_ips                = (known after apply)
      + security_groups                      = (known after apply)
      + source_dest_check                    = true
      + spot_instance_request_id             = (known after apply)
      + subnet_id                            = (known after apply)
      + tags                                 = {
          + "Name" = "MainEC2Instance"
        }
      + tags_all                             = {
          + "Name" = "MainEC2Instance"
        }
      + tenancy                              = (known after apply)
      + user_data                            = (known after apply)
      + user_data_base64                     = (known after apply)
      + user_data_replace_on_change          = false
      + vpc_security_group_ids               = (known after apply)

      + capacity_reservation_specification (known after apply)

      + cpu_options (known after apply)

      + ebs_block_device (known after apply)

      + enclave_options (known after apply)

      + ephemeral_block_device (known after apply)

      + instance_market_options (known after apply)

      + maintenance_options (known after apply)

      + metadata_options (known after apply)

      + network_interface (known after apply)

      + private_dns_name_options (known after apply)

      + root_block_device (known after apply)
    }

  # aws_instance.ec2-1 will be created
  + resource "aws_instance" "ec2-1" {
      + ami                                  = "ami-005fc0f236362e99f"
      + arn                                  = (known after apply)
      + associate_public_ip_address          = (known after apply)
      + availability_zone                    = (known after apply)
      + cpu_core_count                       = (known after apply)
      + cpu_threads_per_core                 = (known after apply)
      + disable_api_stop                     = (known after apply)
      + disable_api_termination              = (known after apply)
      + ebs_optimized                        = (known after apply)
      + get_password_data                    = false
      + host_id                              = (known after apply)
      + host_resource_group_arn              = (known after apply)
      + iam_instance_profile                 = (known after apply)
      + id                                   = (known after apply)
      + instance_initiated_shutdown_behavior = (known after apply)
      + instance_lifecycle                   = (known after apply)
      + instance_state                       = (known after apply)
      + instance_type                        = "t2.large"
      + ipv6_address_count                   = (known after apply)
      + ipv6_addresses                       = (known after apply)
      + key_name                             = "private_key"
      + monitoring                           = (known after apply)
      + outpost_arn                          = (known after apply)
      + password_data                        = (known after apply)
      + placement_group                      = (known after apply)
      + placement_partition_number           = (known after apply)
      + primary_network_interface_id         = (known after apply)
      + private_dns                          = (known after apply)
      + private_ip                           = (known after apply)
      + public_dns                           = (known after apply)
      + public_ip                            = (known after apply)
      + secondary_private_ips                = (known after apply)
      + security_groups                      = (known after apply)
      + source_dest_check                    = true
      + spot_instance_request_id             = (known after apply)
      + subnet_id                            = (known after apply)
      + tags                                 = {
          + "Name" = "MainEC2Instance"
        }
      + tags_all                             = {
          + "Name" = "MainEC2Instance"
        }
      + tenancy                              = (known after apply)
      + user_data                            = (known after apply)
      + user_data_base64                     = (known after apply)
      + user_data_replace_on_change          = false
      + vpc_security_group_ids               = (known after apply)

      + capacity_reservation_specification (known after apply)

      + cpu_options (known after apply)

      + ebs_block_device (known after apply)

      + enclave_options (known after apply)

      + ephemeral_block_device (known after apply)

      + instance_market_options (known after apply)

      + maintenance_options (known after apply)

      + metadata_options (known after apply)

      + network_interface (known after apply)

      + private_dns_name_options (known after apply)

      + root_block_device (known after apply)
    }

  # aws_internet_gateway.igw will be created
  + resource "aws_internet_gateway" "igw" {
      + arn      = (known after apply)
      + id       = (known after apply)
      + owner_id = (known after apply)
      + tags     = {
          + "Name" = "MainIGW"
        }
      + tags_all = {
          + "Name" = "MainIGW"
        }
      + vpc_id   = (known after apply)
    }

  # aws_route53_record.db_record will be created
  + resource "aws_route53_record" "db_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "db.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.frontend_record will be created
  + resource "aws_route53_record" "frontend_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.traefik_record will be created
  + resource "aws_route53_record" "traefik_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "traefik.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.www_db_record will be created
  + resource "aws_route53_record" "www_db_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "www.db.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.www_frontend_record will be created
  + resource "aws_route53_record" "www_frontend_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "www.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.www_traefik_record will be created
  + resource "aws_route53_record" "www_traefik_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "www.traefik.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route_table.rt will be created
  + resource "aws_route_table" "rt" {
      + arn              = (known after apply)
      + id               = (known after apply)
      + owner_id         = (known after apply)
      + propagating_vgws = (known after apply)
      + route            = [
          + {
              + cidr_block                 = "0.0.0.0/0"
              + gateway_id                 = (known after apply)
                # (11 unchanged attributes hidden)
            },
        ]
      + tags             = {
          + "Name" = "MainRouteTable"
        }
      + tags_all         = {
          + "Name" = "MainRouteTable"
        }
      + vpc_id           = (known after apply)
    }

  # aws_route_table_association.rt_association will be created
  + resource "aws_route_table_association" "rt_association" {
      + id             = (known after apply)
      + route_table_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # aws_security_group.sg will be created
  + resource "aws_security_group" "sg" {
      + arn                    = (known after apply)
      + description            = "Managed by Terraform"
      + egress                 = [
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + from_port        = 0
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "-1"
              + security_groups  = []
              + self             = false
              + to_port          = 0
                # (1 unchanged attribute hidden)
            },
        ]
      + id                     = (known after apply)
      + ingress                = [
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 22
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 22
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 443
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 443
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 5173
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 5173
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 8000
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 8000
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 8080
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 8080
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 80
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 80
            },
        ]
      + name                   = (known after apply)
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags                   = {
          + "Name" = "MainSG"
        }
      + tags_all               = {
          + "Name" = "MainSG"
        }
      + vpc_id                 = (known after apply)
    }

  # aws_subnet.public_subnet will be created
  + resource "aws_subnet" "public_subnet" {
      + arn                                            = (known after apply)
      + assign_ipv6_address_on_creation                = false
      + availability_zone                              = (known after apply)
      + availability_zone_id                           = (known after apply)
      + cidr_block                                     = "10.0.1.0/24"
      + enable_dns64                                   = false
      + enable_resource_name_dns_a_record_on_launch    = false
      + enable_resource_name_dns_aaaa_record_on_launch = false
      + id                                             = (known after apply)
      + ipv6_cidr_block_association_id                 = (known after apply)
      + ipv6_native                                    = false
      + map_public_ip_on_launch                        = true
      + owner_id                                       = (known after apply)
      + private_dns_hostname_type_on_launch            = (known after apply)
      + tags                                           = {
          + "Name" = "MainSubnet"
        }
      + tags_all                                       = {
          + "Name" = "MainSubnet"
        }
      + vpc_id                                         = (known after apply)
    }

  # aws_vpc.vpc will be created
  + resource "aws_vpc" "vpc" {
      + arn                                  = (known after apply)
      + cidr_block                           = "10.0.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_dns_hostnames                 = true
      + enable_dns_support                   = true
      + enable_network_address_usage_metrics = (known after apply)
      + id                                   = (known after apply)
      + instance_tenancy                     = "default"
      + ipv6_association_id                  = (known after apply)
      + ipv6_cidr_block                      = (known after apply)
      + ipv6_cidr_block_network_border_group = (known after apply)
      + main_route_table_id                  = (known after apply)
      + owner_id                             = (known after apply)
      + tags                                 = {
          + "Name" = "MainVPC"
        }
      + tags_all                             = {
          + "Name" = "MainVPC"
        }
    }

  # local_file.ansible_inventory will be created
  + resource "local_file" "ansible_inventory" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "../ansible/inventory.ini"
      + id                   = (known after apply)
    }

  # null_resource.run_ansible will be created
  + resource "null_resource" "run_ansible" {
      + id = (known after apply)
    }

Plan: 16 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + instance_public_ip = (known after apply)
::debug::Terraform exited with code 0.
::debug::stdout: %0ATerraform used the selected providers to generate the following execution%0Aplan. Resource actions are indicated with the following symbols:%0A  + create%0A%0ATerraform will perform the following actions:%0A%0A  # aws_instance.ec2 will be created%0A  + resource "aws_instance" "ec2" {%0A      + ami                                  = "ami-005fc0f236362e99f"%0A      + arn                                  = (known after apply)%0A      + associate_public_ip_address          = (known after apply)%0A      + availability_zone                    = (known after apply)%0A      + cpu_core_count                       = (known after apply)%0A      + cpu_threads_per_core                 = (known after apply)%0A      + disable_api_stop                     = (known after apply)%0A      + disable_api_termination              = (known after apply)%0A      + ebs_optimized                        = (known after apply)%0A      + get_password_data                    = false%0A      + host_id                              = (known after apply)%0A      + host_resource_group_arn              = (known after apply)%0A      + iam_instance_profile                 = (known after apply)%0A      + id                                   = (known after apply)%0A      + instance_initiated_shutdown_behavior = (known after apply)%0A      + instance_lifecycle                   = (known after apply)%0A      + instance_state                       = (known after apply)%0A      + instance_type                        = "t2.large"%0A      + ipv6_address_count                   = (known after apply)%0A      + ipv6_addresses                       = (known after apply)%0A      + key_name                             = "private_key"%0A      + monitoring                           = (known after apply)%0A      + outpost_arn                          = (known after apply)%0A      + password_data                        = (known after apply)%0A      + placement_group                      = (known after apply)%0A      + placement_partition_number           = (known after apply)%0A      + primary_network_interface_id         = (known after apply)%0A      + private_dns                          = (known after apply)%0A      + private_ip                           = (known after apply)%0A      + public_dns                           = (known after apply)%0A      + public_ip                            = (known after apply)%0A      + secondary_private_ips                = (known after apply)%0A      + security_groups                      = (known after apply)%0A      + source_dest_check                    = true%0A      + spot_instance_request_id             = (known after apply)%0A      + subnet_id                            = (known after apply)%0A      + tags                                 = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tags_all                             = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tenancy                              = (known after apply)%0A      + user_data                            = (known after apply)%0A      + user_data_base64                     = (known after apply)%0A      + user_data_replace_on_change          = false%0A      + vpc_security_group_ids               = (known after apply)%0A%0A      + capacity_reservation_specification (known after apply)%0A%0A      + cpu_options (known after apply)%0A%0A      + ebs_block_device (known after apply)%0A%0A      + enclave_options (known after apply)%0A%0A      + ephemeral_block_device (known after apply)%0A%0A      + instance_market_options (known after apply)%0A%0A      + maintenance_options (known after apply)%0A%0A      + metadata_options (known after apply)%0A%0A      + network_interface (known after apply)%0A%0A      + private_dns_name_options (known after apply)%0A%0A      + root_block_device (known after apply)%0A    }%0A%0A  # aws_instance.ec2-1 will be created%0A  + resource "aws_instance" "ec2-1" {%0A      + ami                                  = "ami-005fc0f236362e99f"%0A      + arn                                  = (known after apply)%0A      + associate_public_ip_address          = (known after apply)%0A      + availability_zone                    = (known after apply)%0A      + cpu_core_count                       = (known after apply)%0A      + cpu_threads_per_core                 = (known after apply)%0A      + disable_api_stop                     = (known after apply)%0A      + disable_api_termination              = (known after apply)%0A      + ebs_optimized                        = (known after apply)%0A      + get_password_data                    = false%0A      + host_id                              = (known after apply)%0A      + host_resource_group_arn              = (known after apply)%0A      + iam_instance_profile                 = (known after apply)%0A      + id                                   = (known after apply)%0A      + instance_initiated_shutdown_behavior = (known after apply)%0A      + instance_lifecycle                   = (known after apply)%0A      + instance_state                       = (known after apply)%0A      + instance_type                        = "t2.large"%0A      + ipv6_address_count                   = (known after apply)%0A      + ipv6_addresses                       = (known after apply)%0A      + key_name                             = "private_key"%0A      + monitoring                           = (known after apply)%0A      + outpost_arn                          = (known after apply)%0A      + password_data                        = (known after apply)%0A      + placement_group                      = (known after apply)%0A      + placement_partition_number           = (known after apply)%0A      + primary_network_interface_id         = (known after apply)%0A      + private_dns                          = (known after apply)%0A      + private_ip                           = (known after apply)%0A      + public_dns                           = (known after apply)%0A      + public_ip                            = (known after apply)%0A      + secondary_private_ips                = (known after apply)%0A      + security_groups                      = (known after apply)%0A      + source_dest_check                    = true%0A      + spot_instance_request_id             = (known after apply)%0A      + subnet_id                            = (known after apply)%0A      + tags                                 = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tags_all                             = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tenancy                              = (known after apply)%0A      + user_data                            = (known after apply)%0A      + user_data_base64                     = (known after apply)%0A      + user_data_replace_on_change          = false%0A      + vpc_security_group_ids               = (known after apply)%0A%0A      + capacity_reservation_specification (known after apply)%0A%0A      + cpu_options (known after apply)%0A%0A      + ebs_block_device (known after apply)%0A%0A      + enclave_options (known after apply)%0A%0A      + ephemeral_block_device (known after apply)%0A%0A      + instance_market_options (known after apply)%0A%0A      + maintenance_options (known after apply)%0A%0A      + metadata_options (known after apply)%0A%0A      + network_interface (known after apply)%0A%0A      + private_dns_name_options (known after apply)%0A%0A      + root_block_device (known after apply)%0A    }%0A%0A  # aws_internet_gateway.igw will be created%0A  + resource "aws_internet_gateway" "igw" {%0A      + arn      = (known after apply)%0A      + id       = (known after apply)%0A      + owner_id = (known after apply)%0A      + tags     = {%0A          + "Name" = "MainIGW"%0A        }%0A      + tags_all = {%0A          + "Name" = "MainIGW"%0A        }%0A      + vpc_id   = (known after apply)%0A    }%0A%0A  # aws_route53_record.db_record will be created%0A  + resource "aws_route53_record" "db_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "db.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.frontend_record will be created%0A  + resource "aws_route53_record" "frontend_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.traefik_record will be created%0A  + resource "aws_route53_record" "traefik_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "traefik.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.www_db_record will be created%0A  + resource "aws_route53_record" "www_db_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "www.db.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.www_frontend_record will be created%0A  + resource "aws_route53_record" "www_frontend_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "www.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.www_traefik_record will be created%0A  + resource "aws_route53_record" "www_traefik_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "www.traefik.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route_table.rt will be created%0A  + resource "aws_route_table" "rt" {%0A      + arn              = (known after apply)%0A      + id               = (known after apply)%0A      + owner_id         = (known after apply)%0A      + propagating_vgws = (known after apply)%0A      + route            = [%0A          + {%0A              + cidr_block                 = "0.0.0.0/0"%0A              + gateway_id                 = (known after apply)%0A                # (11 unchanged attributes hidden)%0A            },%0A        ]%0A      + tags             = {%0A          + "Name" = "MainRouteTable"%0A        }%0A      + tags_all         = {%0A          + "Name" = "MainRouteTable"%0A        }%0A      + vpc_id           = (known after apply)%0A    }%0A%0A  # aws_route_table_association.rt_association will be created%0A  + resource "aws_route_table_association" "rt_association" {%0A      + id             = (known after apply)%0A      + route_table_id = (known after apply)%0A      + subnet_id      = (known after apply)%0A    }%0A%0A  # aws_security_group.sg will be created%0A  + resource "aws_security_group" "sg" {%0A      + arn                    = (known after apply)%0A      + description            = "Managed by Terraform"%0A      + egress                 = [%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + from_port        = 0%0A              + ipv6_cidr_blocks = []%0A              + prefix_list_ids  = []%0A              + protocol         = "-1"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 0%0A                # (1 unchanged attribute hidden)%0A            },%0A        ]%0A      + id                     = (known after apply)%0A      + ingress                = [%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 22%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 22%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 443%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 443%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 5173%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 5173%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 8000%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 8000%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 8080%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 8080%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 80%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 80%0A            },%0A        ]%0A      + name                   = (known after apply)%0A      + name_prefix            = (known after apply)%0A      + owner_id               = (known after apply)%0A      + revoke_rules_on_delete = false%0A      + tags                   = {%0A          + "Name" = "MainSG"%0A        }%0A      + tags_all               = {%0A          + "Name" = "MainSG"%0A        }%0A      + vpc_id                 = (known after apply)%0A    }%0A%0A  # aws_subnet.public_subnet will be created%0A  + resource "aws_subnet" "public_subnet" {%0A      + arn                                            = (known after apply)%0A      + assign_ipv6_address_on_creation                = false%0A      + availability_zone                              = (known after apply)%0A      + availability_zone_id                           = (known after apply)%0A      + cidr_block                                     = "10.0.1.0/24"%0A      + enable_dns64                                   = false%0A      + enable_resource_name_dns_a_record_on_launch    = false%0A      + enable_resource_name_dns_aaaa_record_on_launch = false%0A      + id                                             = (known after apply)%0A      + ipv6_cidr_block_association_id                 = (known after apply)%0A      + ipv6_native                                    = false%0A      + map_public_ip_on_launch                        = true%0A      + owner_id                                       = (known after apply)%0A      + private_dns_hostname_type_on_launch            = (known after apply)%0A      + tags                                           = {%0A          + "Name" = "MainSubnet"%0A        }%0A      + tags_all                                       = {%0A          + "Name" = "MainSubnet"%0A        }%0A      + vpc_id                                         = (known after apply)%0A    }%0A%0A  # aws_vpc.vpc will be created%0A  + resource "aws_vpc" "vpc" {%0A      + arn                                  = (known after apply)%0A      + cidr_block                           = "10.0.0.0/16"%0A      + default_network_acl_id               = (known after apply)%0A      + default_route_table_id               = (known after apply)%0A      + default_security_group_id            = (known after apply)%0A      + dhcp_options_id                      = (known after apply)%0A      + enable_dns_hostnames                 = true%0A      + enable_dns_support                   = true%0A      + enable_network_address_usage_metrics = (known after apply)%0A      + id                                   = (known after apply)%0A      + instance_tenancy                     = "default"%0A      + ipv6_association_id                  = (known after apply)%0A      + ipv6_cidr_block                      = (known after apply)%0A      + ipv6_cidr_block_network_border_group = (known after apply)%0A      + main_route_table_id                  = (known after apply)%0A      + owner_id                             = (known after apply)%0A      + tags                                 = {%0A          + "Name" = "MainVPC"%0A        }%0A      + tags_all                             = {%0A          + "Name" = "MainVPC"%0A        }%0A    }%0A%0A  # local_file.ansible_inventory will be created%0A  + resource "local_file" "ansible_inventory" {%0A      + content              = (known after apply)%0A      + content_base64sha256 = (known after apply)%0A      + content_base64sha512 = (known after apply)%0A      + content_md5          = (known after apply)%0A      + content_sha1         = (known after apply)%0A      + content_sha256       = (known after apply)%0A      + content_sha512       = (known after apply)%0A      + directory_permission = "0777"%0A      + file_permission      = "0777"%0A      + filename             = "../ansible/inventory.ini"%0A      + id                   = (known after apply)%0A    }%0A%0A  # null_resource.run_ansible will be created%0A  + resource "null_resource" "run_ansible" {%0A      + id = (known after apply)%0A    }%0A%0APlan: 16 to add, 0 to change, 0 to destroy.%0A%0AChanges to Outputs:%0A  + instance_public_ip = (known after apply)%0A
::debug::stderr: 
::debug::exitcode: 0

New Infracost Breakdown 💰

Show Breakdown ``` Project: main

Name Monthly Qty Unit Monthly Cost

aws_instance.ec2
├─ Instance usage (Linux/UNIX, on-demand, t2.large) 730 hours $67.74
└─ root_block_device
└─ Storage (general purpose SSD, gp2) 8 GB $0.80

aws_instance.ec2-1
├─ Instance usage (Linux/UNIX, on-demand, t2.large) 730 hours $67.74
└─ root_block_device
└─ Storage (general purpose SSD, gp2) 8 GB $0.80

aws_route53_record.db_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.frontend_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.traefik_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.www_db_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.www_frontend_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.www_traefik_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

OVERALL TOTAL $137.09

*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options.

──────────────────────────────────
14 cloud resources were detected:
∙ 8 were estimated
∙ 6 were free

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫
┃ main ┃ $137 ┃ - ┃ $137 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛

</details>

*Pushed by: @DrInTech22, Action: `pull_request`*

@DrInTech22 DrInTech22 closed this Dec 11, 2024
@DrInTech22 DrInTech22 reopened this Dec 11, 2024
Copy link

Terraform Format and Style 🖌``

Terraform Plan 📖success

Show Plan
[command]/home/runner/work/_temp/405003b6-c033-4f56-b8f9-d6dad5089071/terraform-bin show -no-color tfplan.out

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_instance.ec2 will be created
  + resource "aws_instance" "ec2" {
      + ami                                  = "ami-005fc0f236362e99f"
      + arn                                  = (known after apply)
      + associate_public_ip_address          = (known after apply)
      + availability_zone                    = (known after apply)
      + cpu_core_count                       = (known after apply)
      + cpu_threads_per_core                 = (known after apply)
      + disable_api_stop                     = (known after apply)
      + disable_api_termination              = (known after apply)
      + ebs_optimized                        = (known after apply)
      + get_password_data                    = false
      + host_id                              = (known after apply)
      + host_resource_group_arn              = (known after apply)
      + iam_instance_profile                 = (known after apply)
      + id                                   = (known after apply)
      + instance_initiated_shutdown_behavior = (known after apply)
      + instance_lifecycle                   = (known after apply)
      + instance_state                       = (known after apply)
      + instance_type                        = "t2.large"
      + ipv6_address_count                   = (known after apply)
      + ipv6_addresses                       = (known after apply)
      + key_name                             = "private_key"
      + monitoring                           = (known after apply)
      + outpost_arn                          = (known after apply)
      + password_data                        = (known after apply)
      + placement_group                      = (known after apply)
      + placement_partition_number           = (known after apply)
      + primary_network_interface_id         = (known after apply)
      + private_dns                          = (known after apply)
      + private_ip                           = (known after apply)
      + public_dns                           = (known after apply)
      + public_ip                            = (known after apply)
      + secondary_private_ips                = (known after apply)
      + security_groups                      = (known after apply)
      + source_dest_check                    = true
      + spot_instance_request_id             = (known after apply)
      + subnet_id                            = (known after apply)
      + tags                                 = {
          + "Name" = "MainEC2Instance"
        }
      + tags_all                             = {
          + "Name" = "MainEC2Instance"
        }
      + tenancy                              = (known after apply)
      + user_data                            = (known after apply)
      + user_data_base64                     = (known after apply)
      + user_data_replace_on_change          = false
      + vpc_security_group_ids               = (known after apply)

      + capacity_reservation_specification (known after apply)

      + cpu_options (known after apply)

      + ebs_block_device (known after apply)

      + enclave_options (known after apply)

      + ephemeral_block_device (known after apply)

      + instance_market_options (known after apply)

      + maintenance_options (known after apply)

      + metadata_options (known after apply)

      + network_interface (known after apply)

      + private_dns_name_options (known after apply)

      + root_block_device (known after apply)
    }

  # aws_instance.ec2-1 will be created
  + resource "aws_instance" "ec2-1" {
      + ami                                  = "ami-005fc0f236362e99f"
      + arn                                  = (known after apply)
      + associate_public_ip_address          = (known after apply)
      + availability_zone                    = (known after apply)
      + cpu_core_count                       = (known after apply)
      + cpu_threads_per_core                 = (known after apply)
      + disable_api_stop                     = (known after apply)
      + disable_api_termination              = (known after apply)
      + ebs_optimized                        = (known after apply)
      + get_password_data                    = false
      + host_id                              = (known after apply)
      + host_resource_group_arn              = (known after apply)
      + iam_instance_profile                 = (known after apply)
      + id                                   = (known after apply)
      + instance_initiated_shutdown_behavior = (known after apply)
      + instance_lifecycle                   = (known after apply)
      + instance_state                       = (known after apply)
      + instance_type                        = "t2.large"
      + ipv6_address_count                   = (known after apply)
      + ipv6_addresses                       = (known after apply)
      + key_name                             = "private_key"
      + monitoring                           = (known after apply)
      + outpost_arn                          = (known after apply)
      + password_data                        = (known after apply)
      + placement_group                      = (known after apply)
      + placement_partition_number           = (known after apply)
      + primary_network_interface_id         = (known after apply)
      + private_dns                          = (known after apply)
      + private_ip                           = (known after apply)
      + public_dns                           = (known after apply)
      + public_ip                            = (known after apply)
      + secondary_private_ips                = (known after apply)
      + security_groups                      = (known after apply)
      + source_dest_check                    = true
      + spot_instance_request_id             = (known after apply)
      + subnet_id                            = (known after apply)
      + tags                                 = {
          + "Name" = "MainEC2Instance"
        }
      + tags_all                             = {
          + "Name" = "MainEC2Instance"
        }
      + tenancy                              = (known after apply)
      + user_data                            = (known after apply)
      + user_data_base64                     = (known after apply)
      + user_data_replace_on_change          = false
      + vpc_security_group_ids               = (known after apply)

      + capacity_reservation_specification (known after apply)

      + cpu_options (known after apply)

      + ebs_block_device (known after apply)

      + enclave_options (known after apply)

      + ephemeral_block_device (known after apply)

      + instance_market_options (known after apply)

      + maintenance_options (known after apply)

      + metadata_options (known after apply)

      + network_interface (known after apply)

      + private_dns_name_options (known after apply)

      + root_block_device (known after apply)
    }

  # aws_internet_gateway.igw will be created
  + resource "aws_internet_gateway" "igw" {
      + arn      = (known after apply)
      + id       = (known after apply)
      + owner_id = (known after apply)
      + tags     = {
          + "Name" = "MainIGW"
        }
      + tags_all = {
          + "Name" = "MainIGW"
        }
      + vpc_id   = (known after apply)
    }

  # aws_route53_record.db_record will be created
  + resource "aws_route53_record" "db_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "db.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.frontend_record will be created
  + resource "aws_route53_record" "frontend_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.traefik_record will be created
  + resource "aws_route53_record" "traefik_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "traefik.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.www_db_record will be created
  + resource "aws_route53_record" "www_db_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "www.db.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.www_frontend_record will be created
  + resource "aws_route53_record" "www_frontend_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "www.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.www_traefik_record will be created
  + resource "aws_route53_record" "www_traefik_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "www.traefik.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route_table.rt will be created
  + resource "aws_route_table" "rt" {
      + arn              = (known after apply)
      + id               = (known after apply)
      + owner_id         = (known after apply)
      + propagating_vgws = (known after apply)
      + route            = [
          + {
              + cidr_block                 = "0.0.0.0/0"
              + gateway_id                 = (known after apply)
                # (11 unchanged attributes hidden)
            },
        ]
      + tags             = {
          + "Name" = "MainRouteTable"
        }
      + tags_all         = {
          + "Name" = "MainRouteTable"
        }
      + vpc_id           = (known after apply)
    }

  # aws_route_table_association.rt_association will be created
  + resource "aws_route_table_association" "rt_association" {
      + id             = (known after apply)
      + route_table_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # aws_security_group.sg will be created
  + resource "aws_security_group" "sg" {
      + arn                    = (known after apply)
      + description            = "Managed by Terraform"
      + egress                 = [
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + from_port        = 0
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "-1"
              + security_groups  = []
              + self             = false
              + to_port          = 0
                # (1 unchanged attribute hidden)
            },
        ]
      + id                     = (known after apply)
      + ingress                = [
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 22
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 22
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 443
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 443
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 5173
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 5173
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 8000
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 8000
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 8080
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 8080
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 80
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 80
            },
        ]
      + name                   = (known after apply)
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags                   = {
          + "Name" = "MainSG"
        }
      + tags_all               = {
          + "Name" = "MainSG"
        }
      + vpc_id                 = (known after apply)
    }

  # aws_subnet.public_subnet will be created
  + resource "aws_subnet" "public_subnet" {
      + arn                                            = (known after apply)
      + assign_ipv6_address_on_creation                = false
      + availability_zone                              = (known after apply)
      + availability_zone_id                           = (known after apply)
      + cidr_block                                     = "10.0.1.0/24"
      + enable_dns64                                   = false
      + enable_resource_name_dns_a_record_on_launch    = false
      + enable_resource_name_dns_aaaa_record_on_launch = false
      + id                                             = (known after apply)
      + ipv6_cidr_block_association_id                 = (known after apply)
      + ipv6_native                                    = false
      + map_public_ip_on_launch                        = true
      + owner_id                                       = (known after apply)
      + private_dns_hostname_type_on_launch            = (known after apply)
      + tags                                           = {
          + "Name" = "MainSubnet"
        }
      + tags_all                                       = {
          + "Name" = "MainSubnet"
        }
      + vpc_id                                         = (known after apply)
    }

  # aws_vpc.vpc will be created
  + resource "aws_vpc" "vpc" {
      + arn                                  = (known after apply)
      + cidr_block                           = "10.0.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_dns_hostnames                 = true
      + enable_dns_support                   = true
      + enable_network_address_usage_metrics = (known after apply)
      + id                                   = (known after apply)
      + instance_tenancy                     = "default"
      + ipv6_association_id                  = (known after apply)
      + ipv6_cidr_block                      = (known after apply)
      + ipv6_cidr_block_network_border_group = (known after apply)
      + main_route_table_id                  = (known after apply)
      + owner_id                             = (known after apply)
      + tags                                 = {
          + "Name" = "MainVPC"
        }
      + tags_all                             = {
          + "Name" = "MainVPC"
        }
    }

  # local_file.ansible_inventory will be created
  + resource "local_file" "ansible_inventory" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "../ansible/inventory.ini"
      + id                   = (known after apply)
    }

  # null_resource.run_ansible will be created
  + resource "null_resource" "run_ansible" {
      + id = (known after apply)
    }

Plan: 16 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + instance_public_ip = (known after apply)
::debug::Terraform exited with code 0.
::debug::stdout: %0ATerraform used the selected providers to generate the following execution%0Aplan. Resource actions are indicated with the following symbols:%0A  + create%0A%0ATerraform will perform the following actions:%0A%0A  # aws_instance.ec2 will be created%0A  + resource "aws_instance" "ec2" {%0A      + ami                                  = "ami-005fc0f236362e99f"%0A      + arn                                  = (known after apply)%0A      + associate_public_ip_address          = (known after apply)%0A      + availability_zone                    = (known after apply)%0A      + cpu_core_count                       = (known after apply)%0A      + cpu_threads_per_core                 = (known after apply)%0A      + disable_api_stop                     = (known after apply)%0A      + disable_api_termination              = (known after apply)%0A      + ebs_optimized                        = (known after apply)%0A      + get_password_data                    = false%0A      + host_id                              = (known after apply)%0A      + host_resource_group_arn              = (known after apply)%0A      + iam_instance_profile                 = (known after apply)%0A      + id                                   = (known after apply)%0A      + instance_initiated_shutdown_behavior = (known after apply)%0A      + instance_lifecycle                   = (known after apply)%0A      + instance_state                       = (known after apply)%0A      + instance_type                        = "t2.large"%0A      + ipv6_address_count                   = (known after apply)%0A      + ipv6_addresses                       = (known after apply)%0A      + key_name                             = "private_key"%0A      + monitoring                           = (known after apply)%0A      + outpost_arn                          = (known after apply)%0A      + password_data                        = (known after apply)%0A      + placement_group                      = (known after apply)%0A      + placement_partition_number           = (known after apply)%0A      + primary_network_interface_id         = (known after apply)%0A      + private_dns                          = (known after apply)%0A      + private_ip                           = (known after apply)%0A      + public_dns                           = (known after apply)%0A      + public_ip                            = (known after apply)%0A      + secondary_private_ips                = (known after apply)%0A      + security_groups                      = (known after apply)%0A      + source_dest_check                    = true%0A      + spot_instance_request_id             = (known after apply)%0A      + subnet_id                            = (known after apply)%0A      + tags                                 = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tags_all                             = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tenancy                              = (known after apply)%0A      + user_data                            = (known after apply)%0A      + user_data_base64                     = (known after apply)%0A      + user_data_replace_on_change          = false%0A      + vpc_security_group_ids               = (known after apply)%0A%0A      + capacity_reservation_specification (known after apply)%0A%0A      + cpu_options (known after apply)%0A%0A      + ebs_block_device (known after apply)%0A%0A      + enclave_options (known after apply)%0A%0A      + ephemeral_block_device (known after apply)%0A%0A      + instance_market_options (known after apply)%0A%0A      + maintenance_options (known after apply)%0A%0A      + metadata_options (known after apply)%0A%0A      + network_interface (known after apply)%0A%0A      + private_dns_name_options (known after apply)%0A%0A      + root_block_device (known after apply)%0A    }%0A%0A  # aws_instance.ec2-1 will be created%0A  + resource "aws_instance" "ec2-1" {%0A      + ami                                  = "ami-005fc0f236362e99f"%0A      + arn                                  = (known after apply)%0A      + associate_public_ip_address          = (known after apply)%0A      + availability_zone                    = (known after apply)%0A      + cpu_core_count                       = (known after apply)%0A      + cpu_threads_per_core                 = (known after apply)%0A      + disable_api_stop                     = (known after apply)%0A      + disable_api_termination              = (known after apply)%0A      + ebs_optimized                        = (known after apply)%0A      + get_password_data                    = false%0A      + host_id                              = (known after apply)%0A      + host_resource_group_arn              = (known after apply)%0A      + iam_instance_profile                 = (known after apply)%0A      + id                                   = (known after apply)%0A      + instance_initiated_shutdown_behavior = (known after apply)%0A      + instance_lifecycle                   = (known after apply)%0A      + instance_state                       = (known after apply)%0A      + instance_type                        = "t2.large"%0A      + ipv6_address_count                   = (known after apply)%0A      + ipv6_addresses                       = (known after apply)%0A      + key_name                             = "private_key"%0A      + monitoring                           = (known after apply)%0A      + outpost_arn                          = (known after apply)%0A      + password_data                        = (known after apply)%0A      + placement_group                      = (known after apply)%0A      + placement_partition_number           = (known after apply)%0A      + primary_network_interface_id         = (known after apply)%0A      + private_dns                          = (known after apply)%0A      + private_ip                           = (known after apply)%0A      + public_dns                           = (known after apply)%0A      + public_ip                            = (known after apply)%0A      + secondary_private_ips                = (known after apply)%0A      + security_groups                      = (known after apply)%0A      + source_dest_check                    = true%0A      + spot_instance_request_id             = (known after apply)%0A      + subnet_id                            = (known after apply)%0A      + tags                                 = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tags_all                             = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tenancy                              = (known after apply)%0A      + user_data                            = (known after apply)%0A      + user_data_base64                     = (known after apply)%0A      + user_data_replace_on_change          = false%0A      + vpc_security_group_ids               = (known after apply)%0A%0A      + capacity_reservation_specification (known after apply)%0A%0A      + cpu_options (known after apply)%0A%0A      + ebs_block_device (known after apply)%0A%0A      + enclave_options (known after apply)%0A%0A      + ephemeral_block_device (known after apply)%0A%0A      + instance_market_options (known after apply)%0A%0A      + maintenance_options (known after apply)%0A%0A      + metadata_options (known after apply)%0A%0A      + network_interface (known after apply)%0A%0A      + private_dns_name_options (known after apply)%0A%0A      + root_block_device (known after apply)%0A    }%0A%0A  # aws_internet_gateway.igw will be created%0A  + resource "aws_internet_gateway" "igw" {%0A      + arn      = (known after apply)%0A      + id       = (known after apply)%0A      + owner_id = (known after apply)%0A      + tags     = {%0A          + "Name" = "MainIGW"%0A        }%0A      + tags_all = {%0A          + "Name" = "MainIGW"%0A        }%0A      + vpc_id   = (known after apply)%0A    }%0A%0A  # aws_route53_record.db_record will be created%0A  + resource "aws_route53_record" "db_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "db.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.frontend_record will be created%0A  + resource "aws_route53_record" "frontend_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.traefik_record will be created%0A  + resource "aws_route53_record" "traefik_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "traefik.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.www_db_record will be created%0A  + resource "aws_route53_record" "www_db_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "www.db.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.www_frontend_record will be created%0A  + resource "aws_route53_record" "www_frontend_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "www.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.www_traefik_record will be created%0A  + resource "aws_route53_record" "www_traefik_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "www.traefik.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route_table.rt will be created%0A  + resource "aws_route_table" "rt" {%0A      + arn              = (known after apply)%0A      + id               = (known after apply)%0A      + owner_id         = (known after apply)%0A      + propagating_vgws = (known after apply)%0A      + route            = [%0A          + {%0A              + cidr_block                 = "0.0.0.0/0"%0A              + gateway_id                 = (known after apply)%0A                # (11 unchanged attributes hidden)%0A            },%0A        ]%0A      + tags             = {%0A          + "Name" = "MainRouteTable"%0A        }%0A      + tags_all         = {%0A          + "Name" = "MainRouteTable"%0A        }%0A      + vpc_id           = (known after apply)%0A    }%0A%0A  # aws_route_table_association.rt_association will be created%0A  + resource "aws_route_table_association" "rt_association" {%0A      + id             = (known after apply)%0A      + route_table_id = (known after apply)%0A      + subnet_id      = (known after apply)%0A    }%0A%0A  # aws_security_group.sg will be created%0A  + resource "aws_security_group" "sg" {%0A      + arn                    = (known after apply)%0A      + description            = "Managed by Terraform"%0A      + egress                 = [%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + from_port        = 0%0A              + ipv6_cidr_blocks = []%0A              + prefix_list_ids  = []%0A              + protocol         = "-1"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 0%0A                # (1 unchanged attribute hidden)%0A            },%0A        ]%0A      + id                     = (known after apply)%0A      + ingress                = [%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 22%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 22%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 443%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 443%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 5173%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 5173%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 8000%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 8000%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 8080%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 8080%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 80%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 80%0A            },%0A        ]%0A      + name                   = (known after apply)%0A      + name_prefix            = (known after apply)%0A      + owner_id               = (known after apply)%0A      + revoke_rules_on_delete = false%0A      + tags                   = {%0A          + "Name" = "MainSG"%0A        }%0A      + tags_all               = {%0A          + "Name" = "MainSG"%0A        }%0A      + vpc_id                 = (known after apply)%0A    }%0A%0A  # aws_subnet.public_subnet will be created%0A  + resource "aws_subnet" "public_subnet" {%0A      + arn                                            = (known after apply)%0A      + assign_ipv6_address_on_creation                = false%0A      + availability_zone                              = (known after apply)%0A      + availability_zone_id                           = (known after apply)%0A      + cidr_block                                     = "10.0.1.0/24"%0A      + enable_dns64                                   = false%0A      + enable_resource_name_dns_a_record_on_launch    = false%0A      + enable_resource_name_dns_aaaa_record_on_launch = false%0A      + id                                             = (known after apply)%0A      + ipv6_cidr_block_association_id                 = (known after apply)%0A      + ipv6_native                                    = false%0A      + map_public_ip_on_launch                        = true%0A      + owner_id                                       = (known after apply)%0A      + private_dns_hostname_type_on_launch            = (known after apply)%0A      + tags                                           = {%0A          + "Name" = "MainSubnet"%0A        }%0A      + tags_all                                       = {%0A          + "Name" = "MainSubnet"%0A        }%0A      + vpc_id                                         = (known after apply)%0A    }%0A%0A  # aws_vpc.vpc will be created%0A  + resource "aws_vpc" "vpc" {%0A      + arn                                  = (known after apply)%0A      + cidr_block                           = "10.0.0.0/16"%0A      + default_network_acl_id               = (known after apply)%0A      + default_route_table_id               = (known after apply)%0A      + default_security_group_id            = (known after apply)%0A      + dhcp_options_id                      = (known after apply)%0A      + enable_dns_hostnames                 = true%0A      + enable_dns_support                   = true%0A      + enable_network_address_usage_metrics = (known after apply)%0A      + id                                   = (known after apply)%0A      + instance_tenancy                     = "default"%0A      + ipv6_association_id                  = (known after apply)%0A      + ipv6_cidr_block                      = (known after apply)%0A      + ipv6_cidr_block_network_border_group = (known after apply)%0A      + main_route_table_id                  = (known after apply)%0A      + owner_id                             = (known after apply)%0A      + tags                                 = {%0A          + "Name" = "MainVPC"%0A        }%0A      + tags_all                             = {%0A          + "Name" = "MainVPC"%0A        }%0A    }%0A%0A  # local_file.ansible_inventory will be created%0A  + resource "local_file" "ansible_inventory" {%0A      + content              = (known after apply)%0A      + content_base64sha256 = (known after apply)%0A      + content_base64sha512 = (known after apply)%0A      + content_md5          = (known after apply)%0A      + content_sha1         = (known after apply)%0A      + content_sha256       = (known after apply)%0A      + content_sha512       = (known after apply)%0A      + directory_permission = "0777"%0A      + file_permission      = "0777"%0A      + filename             = "../ansible/inventory.ini"%0A      + id                   = (known after apply)%0A    }%0A%0A  # null_resource.run_ansible will be created%0A  + resource "null_resource" "run_ansible" {%0A      + id = (known after apply)%0A    }%0A%0APlan: 16 to add, 0 to change, 0 to destroy.%0A%0AChanges to Outputs:%0A  + instance_public_ip = (known after apply)%0A
::debug::stderr: 
::debug::exitcode: 0

New Infracost Breakdown 💰

Show Breakdown ```sh Project: main

Name Monthly Qty Unit Monthly Cost

aws_instance.ec2
├─ Instance usage (Linux/UNIX, on-demand, t2.large) 730 hours $67.74
└─ root_block_device
└─ Storage (general purpose SSD, gp2) 8 GB $0.80

aws_instance.ec2-1
├─ Instance usage (Linux/UNIX, on-demand, t2.large) 730 hours $67.74
└─ root_block_device
└─ Storage (general purpose SSD, gp2) 8 GB $0.80

aws_route53_record.db_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.frontend_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.traefik_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.www_db_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.www_frontend_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

aws_route53_record.www_traefik_record
├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries
├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries
└─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries

OVERALL TOTAL $137.09

*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options.

──────────────────────────────────
14 cloud resources were detected:
∙ 8 were estimated
∙ 6 were free

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫
┃ main ┃ $137 ┃ - ┃ $137 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛

</details>

*Pushed by: @DrInTech22, Action: `pull_request`*

Copy link

Terraform Format and Style 🖌``

Terraform Plan 📖success

Show Plan
[command]/home/runner/work/_temp/fcb07fd3-39d9-4e94-b2b8-f062ea3f56cd/terraform-bin show -no-color tfplan.out

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_instance.ec2 will be created
  + resource "aws_instance" "ec2" {
      + ami                                  = "ami-005fc0f236362e99f"
      + arn                                  = (known after apply)
      + associate_public_ip_address          = (known after apply)
      + availability_zone                    = (known after apply)
      + cpu_core_count                       = (known after apply)
      + cpu_threads_per_core                 = (known after apply)
      + disable_api_stop                     = (known after apply)
      + disable_api_termination              = (known after apply)
      + ebs_optimized                        = (known after apply)
      + get_password_data                    = false
      + host_id                              = (known after apply)
      + host_resource_group_arn              = (known after apply)
      + iam_instance_profile                 = (known after apply)
      + id                                   = (known after apply)
      + instance_initiated_shutdown_behavior = (known after apply)
      + instance_lifecycle                   = (known after apply)
      + instance_state                       = (known after apply)
      + instance_type                        = "t2.large"
      + ipv6_address_count                   = (known after apply)
      + ipv6_addresses                       = (known after apply)
      + key_name                             = "private_key"
      + monitoring                           = (known after apply)
      + outpost_arn                          = (known after apply)
      + password_data                        = (known after apply)
      + placement_group                      = (known after apply)
      + placement_partition_number           = (known after apply)
      + primary_network_interface_id         = (known after apply)
      + private_dns                          = (known after apply)
      + private_ip                           = (known after apply)
      + public_dns                           = (known after apply)
      + public_ip                            = (known after apply)
      + secondary_private_ips                = (known after apply)
      + security_groups                      = (known after apply)
      + source_dest_check                    = true
      + spot_instance_request_id             = (known after apply)
      + subnet_id                            = (known after apply)
      + tags                                 = {
          + "Name" = "MainEC2Instance"
        }
      + tags_all                             = {
          + "Name" = "MainEC2Instance"
        }
      + tenancy                              = (known after apply)
      + user_data                            = (known after apply)
      + user_data_base64                     = (known after apply)
      + user_data_replace_on_change          = false
      + vpc_security_group_ids               = (known after apply)

      + capacity_reservation_specification (known after apply)

      + cpu_options (known after apply)

      + ebs_block_device (known after apply)

      + enclave_options (known after apply)

      + ephemeral_block_device (known after apply)

      + instance_market_options (known after apply)

      + maintenance_options (known after apply)

      + metadata_options (known after apply)

      + network_interface (known after apply)

      + private_dns_name_options (known after apply)

      + root_block_device (known after apply)
    }

  # aws_instance.ec2-1 will be created
  + resource "aws_instance" "ec2-1" {
      + ami                                  = "ami-005fc0f236362e99f"
      + arn                                  = (known after apply)
      + associate_public_ip_address          = (known after apply)
      + availability_zone                    = (known after apply)
      + cpu_core_count                       = (known after apply)
      + cpu_threads_per_core                 = (known after apply)
      + disable_api_stop                     = (known after apply)
      + disable_api_termination              = (known after apply)
      + ebs_optimized                        = (known after apply)
      + get_password_data                    = false
      + host_id                              = (known after apply)
      + host_resource_group_arn              = (known after apply)
      + iam_instance_profile                 = (known after apply)
      + id                                   = (known after apply)
      + instance_initiated_shutdown_behavior = (known after apply)
      + instance_lifecycle                   = (known after apply)
      + instance_state                       = (known after apply)
      + instance_type                        = "t2.large"
      + ipv6_address_count                   = (known after apply)
      + ipv6_addresses                       = (known after apply)
      + key_name                             = "private_key"
      + monitoring                           = (known after apply)
      + outpost_arn                          = (known after apply)
      + password_data                        = (known after apply)
      + placement_group                      = (known after apply)
      + placement_partition_number           = (known after apply)
      + primary_network_interface_id         = (known after apply)
      + private_dns                          = (known after apply)
      + private_ip                           = (known after apply)
      + public_dns                           = (known after apply)
      + public_ip                            = (known after apply)
      + secondary_private_ips                = (known after apply)
      + security_groups                      = (known after apply)
      + source_dest_check                    = true
      + spot_instance_request_id             = (known after apply)
      + subnet_id                            = (known after apply)
      + tags                                 = {
          + "Name" = "MainEC2Instance"
        }
      + tags_all                             = {
          + "Name" = "MainEC2Instance"
        }
      + tenancy                              = (known after apply)
      + user_data                            = (known after apply)
      + user_data_base64                     = (known after apply)
      + user_data_replace_on_change          = false
      + vpc_security_group_ids               = (known after apply)

      + capacity_reservation_specification (known after apply)

      + cpu_options (known after apply)

      + ebs_block_device (known after apply)

      + enclave_options (known after apply)

      + ephemeral_block_device (known after apply)

      + instance_market_options (known after apply)

      + maintenance_options (known after apply)

      + metadata_options (known after apply)

      + network_interface (known after apply)

      + private_dns_name_options (known after apply)

      + root_block_device (known after apply)
    }

  # aws_internet_gateway.igw will be created
  + resource "aws_internet_gateway" "igw" {
      + arn      = (known after apply)
      + id       = (known after apply)
      + owner_id = (known after apply)
      + tags     = {
          + "Name" = "MainIGW"
        }
      + tags_all = {
          + "Name" = "MainIGW"
        }
      + vpc_id   = (known after apply)
    }

  # aws_route53_record.db_record will be created
  + resource "aws_route53_record" "db_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "db.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.frontend_record will be created
  + resource "aws_route53_record" "frontend_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.traefik_record will be created
  + resource "aws_route53_record" "traefik_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "traefik.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.www_db_record will be created
  + resource "aws_route53_record" "www_db_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "www.db.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.www_frontend_record will be created
  + resource "aws_route53_record" "www_frontend_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "www.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route53_record.www_traefik_record will be created
  + resource "aws_route53_record" "www_traefik_record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "www.traefik.test.drintech.online"
      + records         = (known after apply)
      + ttl             = 300
      + type            = "A"
      + zone_id         = "Z01212662RD8CEFOSDUAM"
    }

  # aws_route_table.rt will be created
  + resource "aws_route_table" "rt" {
      + arn              = (known after apply)
      + id               = (known after apply)
      + owner_id         = (known after apply)
      + propagating_vgws = (known after apply)
      + route            = [
          + {
              + cidr_block                 = "0.0.0.0/0"
              + gateway_id                 = (known after apply)
                # (11 unchanged attributes hidden)
            },
        ]
      + tags             = {
          + "Name" = "MainRouteTable"
        }
      + tags_all         = {
          + "Name" = "MainRouteTable"
        }
      + vpc_id           = (known after apply)
    }

  # aws_route_table_association.rt_association will be created
  + resource "aws_route_table_association" "rt_association" {
      + id             = (known after apply)
      + route_table_id = (known after apply)
      + subnet_id      = (known after apply)
    }

  # aws_security_group.sg will be created
  + resource "aws_security_group" "sg" {
      + arn                    = (known after apply)
      + description            = "Managed by Terraform"
      + egress                 = [
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + from_port        = 0
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "-1"
              + security_groups  = []
              + self             = false
              + to_port          = 0
                # (1 unchanged attribute hidden)
            },
        ]
      + id                     = (known after apply)
      + ingress                = [
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 22
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 22
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 443
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 443
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 5173
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 5173
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 8000
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 8000
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 8080
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 8080
            },
          + {
              + cidr_blocks      = [
                  + "0.0.0.0/0",
                ]
              + description      = "TLS from VPC"
              + from_port        = 80
              + ipv6_cidr_blocks = [
                  + "::/0",
                ]
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 80
            },
        ]
      + name                   = (known after apply)
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags                   = {
          + "Name" = "MainSG"
        }
      + tags_all               = {
          + "Name" = "MainSG"
        }
      + vpc_id                 = (known after apply)
    }

  # aws_subnet.public_subnet will be created
  + resource "aws_subnet" "public_subnet" {
      + arn                                            = (known after apply)
      + assign_ipv6_address_on_creation                = false
      + availability_zone                              = (known after apply)
      + availability_zone_id                           = (known after apply)
      + cidr_block                                     = "10.0.1.0/24"
      + enable_dns64                                   = false
      + enable_resource_name_dns_a_record_on_launch    = false
      + enable_resource_name_dns_aaaa_record_on_launch = false
      + id                                             = (known after apply)
      + ipv6_cidr_block_association_id                 = (known after apply)
      + ipv6_native                                    = false
      + map_public_ip_on_launch                        = true
      + owner_id                                       = (known after apply)
      + private_dns_hostname_type_on_launch            = (known after apply)
      + tags                                           = {
          + "Name" = "MainSubnet"
        }
      + tags_all                                       = {
          + "Name" = "MainSubnet"
        }
      + vpc_id                                         = (known after apply)
    }

  # aws_vpc.vpc will be created
  + resource "aws_vpc" "vpc" {
      + arn                                  = (known after apply)
      + cidr_block                           = "10.0.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_dns_hostnames                 = true
      + enable_dns_support                   = true
      + enable_network_address_usage_metrics = (known after apply)
      + id                                   = (known after apply)
      + instance_tenancy                     = "default"
      + ipv6_association_id                  = (known after apply)
      + ipv6_cidr_block                      = (known after apply)
      + ipv6_cidr_block_network_border_group = (known after apply)
      + main_route_table_id                  = (known after apply)
      + owner_id                             = (known after apply)
      + tags                                 = {
          + "Name" = "MainVPC"
        }
      + tags_all                             = {
          + "Name" = "MainVPC"
        }
    }

  # local_file.ansible_inventory will be created
  + resource "local_file" "ansible_inventory" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "../ansible/inventory.ini"
      + id                   = (known after apply)
    }

  # null_resource.run_ansible will be created
  + resource "null_resource" "run_ansible" {
      + id = (known after apply)
    }

Plan: 16 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + instance_public_ip = (known after apply)
::debug::Terraform exited with code 0.
::debug::stdout: %0ATerraform used the selected providers to generate the following execution%0Aplan. Resource actions are indicated with the following symbols:%0A  + create%0A%0ATerraform will perform the following actions:%0A%0A  # aws_instance.ec2 will be created%0A  + resource "aws_instance" "ec2" {%0A      + ami                                  = "ami-005fc0f236362e99f"%0A      + arn                                  = (known after apply)%0A      + associate_public_ip_address          = (known after apply)%0A      + availability_zone                    = (known after apply)%0A      + cpu_core_count                       = (known after apply)%0A      + cpu_threads_per_core                 = (known after apply)%0A      + disable_api_stop                     = (known after apply)%0A      + disable_api_termination              = (known after apply)%0A      + ebs_optimized                        = (known after apply)%0A      + get_password_data                    = false%0A      + host_id                              = (known after apply)%0A      + host_resource_group_arn              = (known after apply)%0A      + iam_instance_profile                 = (known after apply)%0A      + id                                   = (known after apply)%0A      + instance_initiated_shutdown_behavior = (known after apply)%0A      + instance_lifecycle                   = (known after apply)%0A      + instance_state                       = (known after apply)%0A      + instance_type                        = "t2.large"%0A      + ipv6_address_count                   = (known after apply)%0A      + ipv6_addresses                       = (known after apply)%0A      + key_name                             = "private_key"%0A      + monitoring                           = (known after apply)%0A      + outpost_arn                          = (known after apply)%0A      + password_data                        = (known after apply)%0A      + placement_group                      = (known after apply)%0A      + placement_partition_number           = (known after apply)%0A      + primary_network_interface_id         = (known after apply)%0A      + private_dns                          = (known after apply)%0A      + private_ip                           = (known after apply)%0A      + public_dns                           = (known after apply)%0A      + public_ip                            = (known after apply)%0A      + secondary_private_ips                = (known after apply)%0A      + security_groups                      = (known after apply)%0A      + source_dest_check                    = true%0A      + spot_instance_request_id             = (known after apply)%0A      + subnet_id                            = (known after apply)%0A      + tags                                 = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tags_all                             = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tenancy                              = (known after apply)%0A      + user_data                            = (known after apply)%0A      + user_data_base64                     = (known after apply)%0A      + user_data_replace_on_change          = false%0A      + vpc_security_group_ids               = (known after apply)%0A%0A      + capacity_reservation_specification (known after apply)%0A%0A      + cpu_options (known after apply)%0A%0A      + ebs_block_device (known after apply)%0A%0A      + enclave_options (known after apply)%0A%0A      + ephemeral_block_device (known after apply)%0A%0A      + instance_market_options (known after apply)%0A%0A      + maintenance_options (known after apply)%0A%0A      + metadata_options (known after apply)%0A%0A      + network_interface (known after apply)%0A%0A      + private_dns_name_options (known after apply)%0A%0A      + root_block_device (known after apply)%0A    }%0A%0A  # aws_instance.ec2-1 will be created%0A  + resource "aws_instance" "ec2-1" {%0A      + ami                                  = "ami-005fc0f236362e99f"%0A      + arn                                  = (known after apply)%0A      + associate_public_ip_address          = (known after apply)%0A      + availability_zone                    = (known after apply)%0A      + cpu_core_count                       = (known after apply)%0A      + cpu_threads_per_core                 = (known after apply)%0A      + disable_api_stop                     = (known after apply)%0A      + disable_api_termination              = (known after apply)%0A      + ebs_optimized                        = (known after apply)%0A      + get_password_data                    = false%0A      + host_id                              = (known after apply)%0A      + host_resource_group_arn              = (known after apply)%0A      + iam_instance_profile                 = (known after apply)%0A      + id                                   = (known after apply)%0A      + instance_initiated_shutdown_behavior = (known after apply)%0A      + instance_lifecycle                   = (known after apply)%0A      + instance_state                       = (known after apply)%0A      + instance_type                        = "t2.large"%0A      + ipv6_address_count                   = (known after apply)%0A      + ipv6_addresses                       = (known after apply)%0A      + key_name                             = "private_key"%0A      + monitoring                           = (known after apply)%0A      + outpost_arn                          = (known after apply)%0A      + password_data                        = (known after apply)%0A      + placement_group                      = (known after apply)%0A      + placement_partition_number           = (known after apply)%0A      + primary_network_interface_id         = (known after apply)%0A      + private_dns                          = (known after apply)%0A      + private_ip                           = (known after apply)%0A      + public_dns                           = (known after apply)%0A      + public_ip                            = (known after apply)%0A      + secondary_private_ips                = (known after apply)%0A      + security_groups                      = (known after apply)%0A      + source_dest_check                    = true%0A      + spot_instance_request_id             = (known after apply)%0A      + subnet_id                            = (known after apply)%0A      + tags                                 = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tags_all                             = {%0A          + "Name" = "MainEC2Instance"%0A        }%0A      + tenancy                              = (known after apply)%0A      + user_data                            = (known after apply)%0A      + user_data_base64                     = (known after apply)%0A      + user_data_replace_on_change          = false%0A      + vpc_security_group_ids               = (known after apply)%0A%0A      + capacity_reservation_specification (known after apply)%0A%0A      + cpu_options (known after apply)%0A%0A      + ebs_block_device (known after apply)%0A%0A      + enclave_options (known after apply)%0A%0A      + ephemeral_block_device (known after apply)%0A%0A      + instance_market_options (known after apply)%0A%0A      + maintenance_options (known after apply)%0A%0A      + metadata_options (known after apply)%0A%0A      + network_interface (known after apply)%0A%0A      + private_dns_name_options (known after apply)%0A%0A      + root_block_device (known after apply)%0A    }%0A%0A  # aws_internet_gateway.igw will be created%0A  + resource "aws_internet_gateway" "igw" {%0A      + arn      = (known after apply)%0A      + id       = (known after apply)%0A      + owner_id = (known after apply)%0A      + tags     = {%0A          + "Name" = "MainIGW"%0A        }%0A      + tags_all = {%0A          + "Name" = "MainIGW"%0A        }%0A      + vpc_id   = (known after apply)%0A    }%0A%0A  # aws_route53_record.db_record will be created%0A  + resource "aws_route53_record" "db_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "db.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.frontend_record will be created%0A  + resource "aws_route53_record" "frontend_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.traefik_record will be created%0A  + resource "aws_route53_record" "traefik_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "traefik.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.www_db_record will be created%0A  + resource "aws_route53_record" "www_db_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "www.db.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.www_frontend_record will be created%0A  + resource "aws_route53_record" "www_frontend_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "www.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route53_record.www_traefik_record will be created%0A  + resource "aws_route53_record" "www_traefik_record" {%0A      + allow_overwrite = (known after apply)%0A      + fqdn            = (known after apply)%0A      + id              = (known after apply)%0A      + name            = "www.traefik.test.drintech.online"%0A      + records         = (known after apply)%0A      + ttl             = 300%0A      + type            = "A"%0A      + zone_id         = "Z01212662RD8CEFOSDUAM"%0A    }%0A%0A  # aws_route_table.rt will be created%0A  + resource "aws_route_table" "rt" {%0A      + arn              = (known after apply)%0A      + id               = (known after apply)%0A      + owner_id         = (known after apply)%0A      + propagating_vgws = (known after apply)%0A      + route            = [%0A          + {%0A              + cidr_block                 = "0.0.0.0/0"%0A              + gateway_id                 = (known after apply)%0A                # (11 unchanged attributes hidden)%0A            },%0A        ]%0A      + tags             = {%0A          + "Name" = "MainRouteTable"%0A        }%0A      + tags_all         = {%0A          + "Name" = "MainRouteTable"%0A        }%0A      + vpc_id           = (known after apply)%0A    }%0A%0A  # aws_route_table_association.rt_association will be created%0A  + resource "aws_route_table_association" "rt_association" {%0A      + id             = (known after apply)%0A      + route_table_id = (known after apply)%0A      + subnet_id      = (known after apply)%0A    }%0A%0A  # aws_security_group.sg will be created%0A  + resource "aws_security_group" "sg" {%0A      + arn                    = (known after apply)%0A      + description            = "Managed by Terraform"%0A      + egress                 = [%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + from_port        = 0%0A              + ipv6_cidr_blocks = []%0A              + prefix_list_ids  = []%0A              + protocol         = "-1"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 0%0A                # (1 unchanged attribute hidden)%0A            },%0A        ]%0A      + id                     = (known after apply)%0A      + ingress                = [%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 22%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 22%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 443%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 443%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 5173%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 5173%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 8000%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 8000%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 8080%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 8080%0A            },%0A          + {%0A              + cidr_blocks      = [%0A                  + "0.0.0.0/0",%0A                ]%0A              + description      = "TLS from VPC"%0A              + from_port        = 80%0A              + ipv6_cidr_blocks = [%0A                  + "::/0",%0A                ]%0A              + prefix_list_ids  = []%0A              + protocol         = "tcp"%0A              + security_groups  = []%0A              + self             = false%0A              + to_port          = 80%0A            },%0A        ]%0A      + name                   = (known after apply)%0A      + name_prefix            = (known after apply)%0A      + owner_id               = (known after apply)%0A      + revoke_rules_on_delete = false%0A      + tags                   = {%0A          + "Name" = "MainSG"%0A        }%0A      + tags_all               = {%0A          + "Name" = "MainSG"%0A        }%0A      + vpc_id                 = (known after apply)%0A    }%0A%0A  # aws_subnet.public_subnet will be created%0A  + resource "aws_subnet" "public_subnet" {%0A      + arn                                            = (known after apply)%0A      + assign_ipv6_address_on_creation                = false%0A      + availability_zone                              = (known after apply)%0A      + availability_zone_id                           = (known after apply)%0A      + cidr_block                                     = "10.0.1.0/24"%0A      + enable_dns64                                   = false%0A      + enable_resource_name_dns_a_record_on_launch    = false%0A      + enable_resource_name_dns_aaaa_record_on_launch = false%0A      + id                                             = (known after apply)%0A      + ipv6_cidr_block_association_id                 = (known after apply)%0A      + ipv6_native                                    = false%0A      + map_public_ip_on_launch                        = true%0A      + owner_id                                       = (known after apply)%0A      + private_dns_hostname_type_on_launch            = (known after apply)%0A      + tags                                           = {%0A          + "Name" = "MainSubnet"%0A        }%0A      + tags_all                                       = {%0A          + "Name" = "MainSubnet"%0A        }%0A      + vpc_id                                         = (known after apply)%0A    }%0A%0A  # aws_vpc.vpc will be created%0A  + resource "aws_vpc" "vpc" {%0A      + arn                                  = (known after apply)%0A      + cidr_block                           = "10.0.0.0/16"%0A      + default_network_acl_id               = (known after apply)%0A      + default_route_table_id               = (known after apply)%0A      + default_security_group_id            = (known after apply)%0A      + dhcp_options_id                      = (known after apply)%0A      + enable_dns_hostnames                 = true%0A      + enable_dns_support                   = true%0A      + enable_network_address_usage_metrics = (known after apply)%0A      + id                                   = (known after apply)%0A      + instance_tenancy                     = "default"%0A      + ipv6_association_id                  = (known after apply)%0A      + ipv6_cidr_block                      = (known after apply)%0A      + ipv6_cidr_block_network_border_group = (known after apply)%0A      + main_route_table_id                  = (known after apply)%0A      + owner_id                             = (known after apply)%0A      + tags                                 = {%0A          + "Name" = "MainVPC"%0A        }%0A      + tags_all                             = {%0A          + "Name" = "MainVPC"%0A        }%0A    }%0A%0A  # local_file.ansible_inventory will be created%0A  + resource "local_file" "ansible_inventory" {%0A      + content              = (known after apply)%0A      + content_base64sha256 = (known after apply)%0A      + content_base64sha512 = (known after apply)%0A      + content_md5          = (known after apply)%0A      + content_sha1         = (known after apply)%0A      + content_sha256       = (known after apply)%0A      + content_sha512       = (known after apply)%0A      + directory_permission = "0777"%0A      + file_permission      = "0777"%0A      + filename             = "../ansible/inventory.ini"%0A      + id                   = (known after apply)%0A    }%0A%0A  # null_resource.run_ansible will be created%0A  + resource "null_resource" "run_ansible" {%0A      + id = (known after apply)%0A    }%0A%0APlan: 16 to add, 0 to change, 0 to destroy.%0A%0AChanges to Outputs:%0A  + instance_public_ip = (known after apply)%0A
::debug::stderr: 
::debug::exitcode: 0

New Infracost Breakdown 💰

Show Breakdown
Project: main

 Name                                                      Monthly Qty  Unit                  Monthly Cost   
                                                                                                             
 aws_instance.ec2                                                                                            
 ├─ Instance usage (Linux/UNIX, on-demand, t2.large)               730  hours                       $67.74   
 └─ root_block_device                                                                                        
    └─ Storage (general purpose SSD, gp2)                            8  GB                           $0.80   
                                                                                                             
 aws_instance.ec2-1                                                                                          
 ├─ Instance usage (Linux/UNIX, on-demand, t2.large)               730  hours                       $67.74   
 └─ root_block_device                                                                                        
    └─ Storage (general purpose SSD, gp2)                            8  GB                           $0.80   
                                                                                                             
 aws_route53_record.db_record                                                                                
 ├─ Standard queries (first 1B)                       Monthly cost depends on usage: $0.40 per 1M queries    
 ├─ Latency based routing queries (first 1B)          Monthly cost depends on usage: $0.60 per 1M queries    
 └─ Geo DNS queries (first 1B)                        Monthly cost depends on usage: $0.70 per 1M queries    
                                                                                                             
 aws_route53_record.frontend_record                                                                          
 ├─ Standard queries (first 1B)                       Monthly cost depends on usage: $0.40 per 1M queries    
 ├─ Latency based routing queries (first 1B)          Monthly cost depends on usage: $0.60 per 1M queries    
 └─ Geo DNS queries (first 1B)                        Monthly cost depends on usage: $0.70 per 1M queries    
                                                                                                             
 aws_route53_record.traefik_record                                                                           
 ├─ Standard queries (first 1B)                       Monthly cost depends on usage: $0.40 per 1M queries    
 ├─ Latency based routing queries (first 1B)          Monthly cost depends on usage: $0.60 per 1M queries    
 └─ Geo DNS queries (first 1B)                        Monthly cost depends on usage: $0.70 per 1M queries    
                                                                                                             
 aws_route53_record.www_db_record                                                                            
 ├─ Standard queries (first 1B)                       Monthly cost depends on usage: $0.40 per 1M queries    
 ├─ Latency based routing queries (first 1B)          Monthly cost depends on usage: $0.60 per 1M queries    
 └─ Geo DNS queries (first 1B)                        Monthly cost depends on usage: $0.70 per 1M queries    
                                                                                                             
 aws_route53_record.www_frontend_record                                                                      
 ├─ Standard queries (first 1B)                       Monthly cost depends on usage: $0.40 per 1M queries    
 ├─ Latency based routing queries (first 1B)          Monthly cost depends on usage: $0.60 per 1M queries    
 └─ Geo DNS queries (first 1B)                        Monthly cost depends on usage: $0.70 per 1M queries    
                                                                                                             
 aws_route53_record.www_traefik_record                                                                       
 ├─ Standard queries (first 1B)                       Monthly cost depends on usage: $0.40 per 1M queries    
 ├─ Latency based routing queries (first 1B)          Monthly cost depends on usage: $0.60 per 1M queries    
 └─ Geo DNS queries (first 1B)                        Monthly cost depends on usage: $0.70 per 1M queries    
                                                                                                             
 OVERALL TOTAL                                                                                    $137.09 

*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options.

──────────────────────────────────
14 cloud resources were detected:
∙ 8 were estimated
∙ 6 were free

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Project                                            ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫
┃ main                                               ┃          $137 ┃           - ┃       $137 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛

Pushed by: @DrInTech22, Action: pull_request

@DrInTech22 DrInTech22 merged commit c13be19 into infra_main Dec 11, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant