Would like to thank beforehand for the help provided.
Issue is below:
A project was manually deleted from GCP, now this error occurs when trying to add a new project to the project.tf file
Error: Unsupported attribute
│ on svpc_access.tf line 11, in module “net-shared-vpc-access”:
│ 11: data.terraform_remote_state.environment.outputs.project,
│ │ data.terraform_remote_state.location_environment.folder.outputs is object with 4 attributes
│ This object does not have an attribute named “project”.
Its a shared vpc network, and any changes in the project.tf and vpc.tf affects the subnets.
You need to update your configuration appropriately, to not reference things that no longer exist.
This is of course a rather basic and obvious thing to say … but since you haven’t shown this forum what your configuration looks like, it’s not possible for members of the public to predict what the appropriate change would be! Please remember that we cannot read your mind, nor see your screen.
If you want to share multiple files, I suggest committing them to a GitHub repository, and sharing the link here.
If you decide to share further snippets of code in-line, please take note of Welcome to the forum - please reformat your message - I think in what you shared above, you manually edited bits of the message, and as a result, parts of it ended up being interpreteted as italic formatting by the forum software.
As @maxb said, it’s hard to be specific here because there’s a lot left unsaid in your question, but I’m going to make a best attempt.
Since this error message is with a remote state lookup, it seems like you have more than one Terraform configuration and some other configuration is responsible for establishing the “environment”, and then this configuration just consumes the environment information from that other configuration’s state.
If that is true then you’ll need to determine whether the change to this other “environment” configuration to remove the project output was intentional or accidental.
If it was intentional then you’ll need to study the other configuration to learn what is the new intended way to get this project information, and then update your configuration to get that data in the new way.
If it was accidental then you should shift your focus to the other configuration and try to restore the project output there, which should then allow the configuration you were working with in this question to work as it did before.
I hope the above is a useful starting point. If you have further questions it would help to say some more about how your system is designed, especially if my assumption above about the relationship between these configurations seems incorrect (which would then make the rest of my answer questionable too).
In the situation I was imagining in my previous comment I think I would start by learning which other configuration is responsible for the state that terraform_remote_state is reading from, and then run terraform apply for that other configuration to see what Terraform proposes to do.
Ideally Terraform should notice that the project has been deleted outside of Terraform and propose to recreate it, in which case accepting that plan would restore the output value that is currently missing to that configuration’s state.
The other possibility is that the project output value has been intentionally removed from that other configuration. If that’s true then you’ll need to talk with whoever removed it to understand what they intended as the replacement for that old interface, and then update your configuration (the original one you were asking about) to match the new expectations.
Unfortunately I can’t be more specific than that because I can’t see your system architecture. You may need to ask others inside your organization to understand how these two Terraform configurations are related to one another.
Reached inside the organization, to get more information.
The projects were intentionally deleted as they were not of use anymore.
From what I could gather, there was one bucket with folders for projects, each with its statefile.
Sorry for not being able to share more information, as I am not sure, what can be shared.