Comments (6)
For Googlers:
Error: Unsupported attribute
│
│ on ../../../modules/services/webserver-cluster/main.tf line 148, in data "template_file" "user_data":
│ 148: db_address = data.terraform_remote_state.db.outputs.address
│ ├────────────────
│ │ data.terraform_remote_state.db.outputs is object with no attributes
│
│ This object does not have an attribute named "address".
╵
╷
│ Error: Unsupported attribute
│
│ on ../../../modules/services/webserver-cluster/main.tf line 149, in data "template_file" "user_data":
│ 149: db_port = data.terraform_remote_state.db.outputs.port
│ ├────────────────
│ │ data.terraform_remote_state.db.outputs is object with no attributes
│
│ This object does not have an attribute named "port".
ch4/modules/services/data-stores/mysql/outputs.tf
output "address" {
value = aws_db_instance.example.address
description = "Connect to the database at this endpoint"
}
output "port" {
value = aws_db_instance.example.port
description = "The port the database is listening on"
}
ch4/stage/services/data-stores/mysql/outputs.tf
output "address" {
value = module.data_stores.address
description = "Connect to the database at this endpoint"
}
output "port" {
value = module.data_stores.port
description = "The port the database is listening on"
}
from terraform-up-and-running-code.
Not sure I fully understand! The database module has an outputs.tf
in chapter 3... If you add a staging DB, you should of course copy that outputs.tf
. Is there something in the book that is suggesting otherwise or misleading?
from terraform-up-and-running-code.
Thanks, I think the confusion I'm seeing is mostly based off of the fact that the database module was mentioned as a bonus exercise, and this chapter is mostly focused on the webserver_cluster module. I do see a mention of the environment-specific outputs.tf
on page 122, but I don't recall reading anywhere that the module's outputs.tf
should be copied into the environment's directory. Maybe for future editions just having a note somewhere around this section to keep in mind that the Terraform State won't include any module outputs unless they're also added to the environment outputs could be helpful?
from terraform-up-and-running-code.
Thx for the feedback!
I do see a mention of the environment-specific outputs.tf on page 122, but I don't recall reading anywhere that the module's outputs.tf should be copied into the environment's directory.
If you want to have outputs available in your state, you must add output
variables, which, by convention, live in outputs.tf
.
from terraform-up-and-running-code.
from terraform-up-and-running-code.
I believe this issue was resolved. Closing.
from terraform-up-and-running-code.
Related Issues (20)
- EC2 instance not responding on port 8080 HOT 3
- Issue with code update for EC2 HOT 3
- Terraform Up and Running, 3rd Edition, Chapter 4, Modularizing MySQL HOT 3
- Chapter 3: How to Manage Terraform State
- Ch7: K8s example doesn't start HOT 1
- failed to lock s3 state: 2 errors occurred:
- Looking for an full example
- Chapter 3 - Isolation Via Workspaces HOT 1
- Chapter 3 HOT 3
- Chapter 3: webserver-cluster ALB unable to access
- unit tests fail in chapter 7 HOT 5
- Why this web server cluster definition doesn't have backend configuration? HOT 2
- Ed. 2, Ch. 4 - Terraform modules. Remote state location for webserver uses key for mysql HOT 1
- Chapter 2, 3rd Edition, failed to retrieve auto scaling groups HOT 4
- Chapter 7, 3rd edition - IAM role required to create new AWS account failed to allow login acces HOT 1
- Chapter 2 - "Deploy a Single Server" needs updating now that EC2 classic is retired. HOT 3
- Chapter-3 - webserver not showing proper html format. HOT 2
- Chapter 2, 3rd Edition: one-webserver ended up with 2 running instances HOT 2
- aws_launch_configuration: "couldn't find resource" on terraform apply HOT 2
- Chapter 5 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terraform-up-and-running-code.