I am using terraform and terragrunt for my companies aws infrastructure, general structure is like this, i have two main folder, one for modules, other one for environments and sourcing modules to environment folder using terragrunt, one module is for general vpc infrastructure, i have separate module for vpc-peering, i created separated folders for vpc and vpc-peering in environment folder, so both of them has different terraform state on s3, the problem is that vpc-peering is creating route-tables also and when i want to apply some changes on vpc module it deletes records created from vpc-peering module, is there any way to inject route tables into vpc module? I know that i can move vpc-peering module into vpc and have one both module but it takes quite some time to rewrite all the stuff and i would love to know any other way.
Terraform state conflict between vpc and vpc-peering modules
472 Views Asked by Lado Golijashvili At
2
There are 2 best solutions below
0
shashi
On
I am not sure if you are using git as source code for the terraform, if yes then you can keep the modules in the separate git repository and call the module for route table as you want.
eg. :
resouces "aws_route" "public_igw_route" {
source = "[email protected]:user/infra-modules.git//aws-route"
}
Related Questions in AMAZON-WEB-SERVICES
- S3 integration testing
- How to get content of BLOCK types LAYOUT_TITLE, LAYOUT_SECTION_HEADER and LAYOUT_xx in Textract
- Error **net::ERR_CONNECTION_RESET** error while uploading files to AWS S3 using multipart upload and Pre-Signed URL
- Failed to connect to your instance after deploying mern app on aws ec2 instance when i try to access frontend
- AWS - Tab Schema Conversion don't show up after creating a Migration Project
- Unable to run Bash Script using AWS Custom Lambda Runtime
- Using Amazon managed Prometheus to get EC2 metrics data in Grafana
- AWS Dns record A not navigate to elb
- Connection timed out error with smtp.gmail.com
- AWS Cognito Multi-tenant Integration | Ok to use Client’s Idp?
- Elasticbeanstalk FastAPI application is intermittently not responding to https requests
- Call an External API from AWS Lambda
- Why my mail service api spring isnt working?
- export 'AWSIoTProvider' (imported as 'AWSIoTProvider') was not found in '@aws-amplify/pubsub'
- How to take first x seconds of Audio from a wav file read from AWS S3 as binary stream using Python?
Related Questions in TERRAFORM
- Why does terraform aws_cognito_user_pool always show as "updated in-place" on every single terraform plan?
- Terraform - loop over complex data in data source
- Terraform cidrsubnets
- Encountered an error (ServiceUnavailable) from host runtime on Azure Function App
- Problem to add service principal permissions with terraform
- Multiple resources for the depends_on dependencies is throwing an Error
- Parametrizing backend in terraform on gcp
- AWS EKS Fargate pod scheduling issue with Prometheus deployment
- Terraform valdiate that one of N variables is set to "true"
- How to assign a value to a string variable, that includes embedded '=' in the value
- Terraform loop over Map variable to provision multiple Databricks catalogs
- Terraform OCI error when creating Network Load Balancer
- logiapp teams api connection terraform user sign in
- Difference between google_project_iam_* and other google_*_iam_* resources
- JSON representation of the current Terraform configuration
Related Questions in TERRAGRUNT
- Resource created conditionally based on variable, how to ignore changes to this variable and prevent from resource deletion
- On a journey to create a AWS global terragrunt configuration including in AWS China
- how to handle multiple region network with terragrunt?
- Generate providers for each project in Terragrunt
- Terragrunt import existing bigquery resource
- Terragrunt Cascading Groups
- terragrunt, eks-aws module and data "aws_eks_cluster_auth" fails during plan if cluster is not yet created
- Terraform: using for_each and lookup/try to retrieve key of a map in a map
- Terragrunt referencing root locals from child HCLs
- Optimal GitLab Repository Structure for Managing Multiple Terraform Stacks
- Spacelift custom workflow Error: Failed to load "spacelift.plan" as a plan file
- Create list of map keys to iterate over in Terraform
- Unable to archive source code directory in terraform/terragrunt: archive has not been created as it would be empty
- Workaround for_each meta argument
- Getting an Access Denied 403 error when assuming a role with Terragrunt and OpenTofu
Related Questions in AWS-VPC-PEERING
- How do two private subnets in the same AWS VPC contact each other although they are in different AZ?
- How to connect two VPCs which have the same CIDR Blocks in the same account but two different regions?
- Route Priority for same routes in AWS Route table
- Reach company network via Strongswan VPN gateway in peered AWS VPC
- Can I still access AWS Web Application when EC2 is in a private subnet?
- Resolving private API Gateway endpoint from another VPC via a VPC peering link
- AWS - Help configuring Lightsail and RDS on same subnet for fastest speed
- openvpn - unable to do ssh using openVPN to another EC2
- Connect anypoint platform to aws
- AWS VPC Peering with private instances of other VPC under auto scaling group
- Security Group from one VPC not visible in another VPC even after Peering Connection [Lambda & RDS]
- Amazon AWS VPC peering network connectivity issues
- Vpc peering and private link
- AWS RDS Allow Access for Whitelisted IPs and 'Private' VPC
- Trouble Establishing VPC Peering Between Regions using Terraform
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
They shouldn't both be creating route tables. The VPC module should be creating route tables, and the VPC Peering module should be adding routes to those route tables. The trick here is to not create any routes in the
aws_route_tableresources, but create them all as separateaws_routeresources. Per the note in theaws_routedocumentation:So in order to define routes in multiple modules you will need to use the
aws_routeresource for all route definitions.