hashicorp / terraform-config-inspect

A helper library for shallow inspection of Terraform configurations
Mozilla Public License 2.0
376 stars 76 forks source link

Accessing output types (in addition to name and description) #47

Open skyzyx opened 4 years ago

skyzyx commented 4 years ago

I wanted to see if there were a way to add support for exposing not just the name and description of output blocks, but also their types. It could be a "simple" type like string, number, map, list… or it could be a "complex" provider object like aws_arn, newrelic_alert_channel, pagerduty_user, etc.

Since you can now set output values to objects (in Terraform 0.12), I end up having to go digging through the source code to figure out what the object type is, then go to the documentation page to look-up which attributes are available. It's a PITA.

If there is a strong spec for HCL2 which describes which things are in-scope vs out-of-scope with regard to what you will/won't add support for, I would be happy to educate myself. Based on the terminal output for output blocks, I am led to believe that HCL has access to at least the "simple" types (string, number, map, list…).

From what I can tell, this feature would be additive and not backwards-incompatible.


https://github.com/segmentio/terraform-docs/issues/269