[GH-ISSUE #146] TypeError: 'type' object is not subscriptable #86

Closed
opened 2026-05-06 12:37:15 +02:00 by BreizhHardware · 10 comments

Originally created by @jtallar-hu on GitHub (Oct 27, 2025).
Original GitHub issue: https://github.com/patrickchugh/terravision/issues/146

I was just trying to use this tool on one of my Terraform projects and I'm getting this error when running terravision draw --source prd/main.tf

Traceback (most recent call last):
  File "/Users/.../Desktop/Random/terravision/terravision", line 12, in <module>
    import modules.annotations as annotations
  File "/Users/.../Desktop/Random/terravision/modules/annotations.py", line 6, in <module>
    import modules.helpers as helpers
  File "/Users/.../Desktop/Random/terravision/modules/helpers.py", line 147, in <module>
    def extract_subfolder_from_repo(source_url: str) -> tuple[str, str]:
TypeError: 'type' object is not subscriptable

I tried with different project structures (using local modules, using AWS modules, simple TF configuration).

I also tried installing the requirements with different Python versions (3.9.24, 3.11.9, 3.13.9). All throw the same error.

How can I fix this issue?

Originally created by @jtallar-hu on GitHub (Oct 27, 2025). Original GitHub issue: https://github.com/patrickchugh/terravision/issues/146 I was just trying to use this tool on one of my Terraform projects and I'm getting this error when running `terravision draw --source prd/main.tf` ``` Traceback (most recent call last): File "/Users/.../Desktop/Random/terravision/terravision", line 12, in <module> import modules.annotations as annotations File "/Users/.../Desktop/Random/terravision/modules/annotations.py", line 6, in <module> import modules.helpers as helpers File "/Users/.../Desktop/Random/terravision/modules/helpers.py", line 147, in <module> def extract_subfolder_from_repo(source_url: str) -> tuple[str, str]: TypeError: 'type' object is not subscriptable ``` I tried with different project structures (using local modules, using AWS modules, simple TF configuration). I also tried installing the requirements with different Python versions (3.9.24, 3.11.9, 3.13.9). All throw the same error. How can I fix this issue?
Author
Owner

@patrickchugh commented on GitHub (Oct 28, 2025):

Would you be able to share some example repo so I can try to reproduce it ?

<!-- gh-comment-id:3458811250 --> @patrickchugh commented on GitHub (Oct 28, 2025): Would you be able to share some example repo so I can try to reproduce it ?
Author
Owner

@jtallar-hu commented on GitHub (Oct 29, 2025):

I've just uploaded a sample repository here: https://github.com/jtallar/sample-tf-project-terravision

I followed these steps:

git clone https://github.com/patrickchugh/terravision.git
cd terravision
pyenv local 3.9
pip install -r requirements.txt
chmod +x terravision.py
export PATH=$PATH:$(pwd)
cd ~/sample-tf-project-terravision
terravision draw

Which throws the following error

Traceback (most recent call last):
  File "/Users/.../Desktop/Random/terravision/terravision", line 12, in <module>
    import modules.annotations as annotations
  File "/Users/.../Desktop/Random/terravision/modules/annotations.py", line 6, in <module>
    import modules.helpers as helpers
  File "/Users/.../Desktop/Random/terravision/modules/helpers.py", line 147, in <module>
    def extract_subfolder_from_repo(source_url: str) -> tuple[str, str]:
TypeError: 'type' object is not subscriptable
<!-- gh-comment-id:3461632279 --> @jtallar-hu commented on GitHub (Oct 29, 2025): I've just uploaded a sample repository here: https://github.com/jtallar/sample-tf-project-terravision I followed these steps: ```sh git clone https://github.com/patrickchugh/terravision.git cd terravision pyenv local 3.9 pip install -r requirements.txt chmod +x terravision.py export PATH=$PATH:$(pwd) cd ~/sample-tf-project-terravision terravision draw ``` Which throws the following error ``` Traceback (most recent call last): File "/Users/.../Desktop/Random/terravision/terravision", line 12, in <module> import modules.annotations as annotations File "/Users/.../Desktop/Random/terravision/modules/annotations.py", line 6, in <module> import modules.helpers as helpers File "/Users/.../Desktop/Random/terravision/modules/helpers.py", line 147, in <module> def extract_subfolder_from_repo(source_url: str) -> tuple[str, str]: TypeError: 'type' object is not subscriptable ```
Author
Owner

@patrickchugh commented on GitHub (Oct 31, 2025):

Thanks give me a few days to check it out for you

<!-- gh-comment-id:3470896626 --> @patrickchugh commented on GitHub (Oct 31, 2025): Thanks give me a few days to check it out for you
Author
Owner

@patrickchugh commented on GitHub (Nov 1, 2025):

Image
<!-- gh-comment-id:3476639365 --> @patrickchugh commented on GitHub (Nov 1, 2025): <img width="4817" height="2574" alt="Image" src="https://github.com/user-attachments/assets/3f770250-092d-4373-b31c-be7af02f25cc" />
Author
Owner

@patrickchugh commented on GitHub (Nov 1, 2025):

Hi, I managed to create a diagram from your example repo with

terravision draw --source https://github.com/jtallar/sample-tf-project-terravision.git

Can you do a git pull to get the latest code and try again? I wasn't able to reproduce your error but made some fixes that may help your case. If it still doesn't work I think it's probably an environment or python ver difference so please try with the latest python 3.11 as well.

Thanks and let me know how it goes.

<!-- gh-comment-id:3476642604 --> @patrickchugh commented on GitHub (Nov 1, 2025): Hi, I managed to create a diagram from your example repo with `terravision draw --source https://github.com/jtallar/sample-tf-project-terravision.git` Can you do a git pull to get the latest code and try again? I wasn't able to reproduce your error but made some fixes that may help your case. If it still doesn't work I think it's probably an environment or python ver difference so please try with the latest python 3.11 as well. Thanks and let me know how it goes.
Author
Owner

@jtallar-hu commented on GitHub (Nov 3, 2025):

Hi Patrick!

That seems to have solved that issue. I'm now facing a separate issue when running the command against my full infrastructure (which has AWS modules and local sub-modules). In fact, aws_sns_topic_subscription.messages_sns_to_sqs is a sub-resource in one of my modules.

Unhandled error: <class 'ValueError'>, 'aws_sns_topic_subscription.messages_sns_to_sqs' is not in list, <traceback object at 0x1005b8380>

But I'll be doing some more testing and trying to replicate it in the sample repository so I can share an example where this happens. I think we can close this issue and and I'll open a new one for that error.

Many thanks!

Edit
It appears to be a similar issue as in https://github.com/patrickchugh/terravision/issues/121

<!-- gh-comment-id:3480617997 --> @jtallar-hu commented on GitHub (Nov 3, 2025): Hi Patrick! That seems to have solved that issue. I'm now facing a separate issue when running the command against my full infrastructure (which has AWS modules and local sub-modules). In fact, `aws_sns_topic_subscription.messages_sns_to_sqs` is a sub-resource in one of my modules. ``` Unhandled error: <class 'ValueError'>, 'aws_sns_topic_subscription.messages_sns_to_sqs' is not in list, <traceback object at 0x1005b8380> ``` But I'll be doing some more testing and trying to replicate it in the sample repository so I can share an example where this happens. I think we can close this issue and and I'll open a new one for that error. Many thanks! **Edit** It appears to be a similar issue as in https://github.com/patrickchugh/terravision/issues/121
Author
Owner

@patrickchugh commented on GitHub (Nov 3, 2025):

Hi, FYI if you prefer you can run terravision with the --debug flag and it will create a tfdata.json file in the current directory. This can be compressed and sent to me to replay the processing of your source without sharing the source. I can find the bug that way.

<!-- gh-comment-id:3482636416 --> @patrickchugh commented on GitHub (Nov 3, 2025): Hi, FYI if you prefer you can run terravision with the --debug flag and it will create a tfdata.json file in the current directory. This can be compressed and sent to me to replay the processing of your source without sharing the source. I can find the bug that way.
Author
Owner

@jtallar-hu commented on GitHub (Nov 9, 2025):

I was just getting back to this issue. The debug flag did not generate any tfdata.json file in my current directory. But it did output some more information about the error. I've been able to replicate it in my sample project at https://github.com/jtallar/sample-tf-project-terravision.

I created a new service TF module which just imports the messages module from before.

module "scheduled_messages" {
  source = "../messages"

  sqs_queue_name = "scheduled-events"
}

Running terravision draw works OK with the messages module and it generates the architecture diagram as expected.
terravision draw --source ~/Desktop/Random/sample-tf-project-terravision/messages

But if I run it agains the service module, it fails with a similar error to the one shown above.

terravision draw --source ~/Desktop/Random/sample-tf-project-terravision/service --debug

Here is the complete output of that run.

terravision draw --source ~/Desktop/Random/sample-tf-project-terravision/service --debug



 _____                          _     _             
/__   \___ _ __ _ __ __ ___   _(_)___(_) ___  _ __  
  / /\/ _ \ '__| '__/ _` \ \ / / / __| |/ _ \| '_ \ 
 / / |  __/ |  | | | (_| |\ V /| \__ \ | (_) | | | |
 \/   \___|_|  |_|  \__,_| \_/ |_|___/_|\___/|_| |_|
                                                    



Preflight check..
  dot command detected: /opt/homebrew/bin/dot
  gvpr command detected: /opt/homebrew/bin/gvpr
  git command detected: /usr/bin/git
  terraform command detected: /opt/homebrew/bin/terraform
  terraform version detected: Terraform v1.5.7



Initializing the backend...
Upgrading modules...
- scheduled_messages in ../messages

Initializing provider plugins...
- Finding hashicorp/aws versions matching "~> 5.0"...
- Using hashicorp/aws v5.100.0 from the shared cache directory

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

Initalising workspace: default


Generating Terraform Plan..


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:

  # module.scheduled_messages.aws_iam_role.eventbridge_scheduler_execution_role will be created
  + resource "aws_iam_role" "eventbridge_scheduler_execution_role" {
      + arn                   = (known after apply)
      + assume_role_policy    = jsonencode(
            {
              + Statement = [
                  + {
                      + Action    = "sts:AssumeRole"
                      + Effect    = "Allow"
                      + Principal = {
                          + Service = "scheduler.amazonaws.com"
                        }
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + create_date           = (known after apply)
      + force_detach_policies = false
      + id                    = (known after apply)
      + managed_policy_arns   = (known after apply)
      + max_session_duration  = 3600
      + name                  = "EventBridgeSchedulerExecutionRole-scheduled-events"
      + name_prefix           = (known after apply)
      + path                  = "/"
      + tags_all              = (known after apply)
      + unique_id             = (known after apply)
    }

  # module.scheduled_messages.aws_iam_role_policy.eventbridge_scheduler_sqs_policy will be created
  + resource "aws_iam_role_policy" "eventbridge_scheduler_sqs_policy" {
      + id          = (known after apply)
      + name        = "EventBridgeSchedulerSQSPolicy"
      + name_prefix = (known after apply)
      + policy      = (known after apply)
      + role        = (known after apply)
    }

  # module.scheduled_messages.aws_scheduler_schedule_group.messages_schedule_group will be created
  + resource "aws_scheduler_schedule_group" "messages_schedule_group" {
      + arn                    = (known after apply)
      + creation_date          = (known after apply)
      + id                     = (known after apply)
      + last_modification_date = (known after apply)
      + name                   = "scheduled-events"
      + name_prefix            = (known after apply)
      + state                  = (known after apply)
      + tags_all               = (known after apply)
    }

  # module.scheduled_messages.aws_sqs_queue.messages_sqs will be created
  + resource "aws_sqs_queue" "messages_sqs" {
      + arn                               = (known after apply)
      + content_based_deduplication       = false
      + deduplication_scope               = (known after apply)
      + delay_seconds                     = 0
      + fifo_queue                        = false
      + fifo_throughput_limit             = (known after apply)
      + id                                = (known after apply)
      + kms_data_key_reuse_period_seconds = (known after apply)
      + max_message_size                  = 262144
      + message_retention_seconds         = 345600
      + name                              = "scheduled-events"
      + name_prefix                       = (known after apply)
      + policy                            = (known after apply)
      + receive_wait_time_seconds         = 0
      + redrive_allow_policy              = (known after apply)
      + redrive_policy                    = (known after apply)
      + sqs_managed_sse_enabled           = (known after apply)
      + tags_all                          = (known after apply)
      + url                               = (known after apply)
      + visibility_timeout_seconds        = 30
    }

  # module.scheduled_messages.aws_sqs_queue.messages_sqs_dlq will be created
  + resource "aws_sqs_queue" "messages_sqs_dlq" {
      + arn                               = (known after apply)
      + content_based_deduplication       = false
      + deduplication_scope               = (known after apply)
      + delay_seconds                     = 0
      + fifo_queue                        = false
      + fifo_throughput_limit             = (known after apply)
      + id                                = (known after apply)
      + kms_data_key_reuse_period_seconds = (known after apply)
      + max_message_size                  = 262144
      + message_retention_seconds         = 345600
      + name                              = "scheduled-events-dlq"
      + name_prefix                       = (known after apply)
      + policy                            = (known after apply)
      + receive_wait_time_seconds         = 0
      + redrive_allow_policy              = (known after apply)
      + redrive_policy                    = (known after apply)
      + sqs_managed_sse_enabled           = (known after apply)
      + tags_all                          = (known after apply)
      + url                               = (known after apply)
      + visibility_timeout_seconds        = 30
    }

  # module.scheduled_messages.aws_sqs_queue_policy.messages_sqs will be created
  + resource "aws_sqs_queue_policy" "messages_sqs" {
      + id        = (known after apply)
      + policy    = (known after apply)
      + queue_url = (known after apply)
    }

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

Changes to Outputs:
  + message_queue_arn = (known after apply)

───────────────────────────────────────────────────────────────────────────────────

Saved the plan to: /var/folders/4x/00gscj_x4bxc42d_wkymv9540000gn/T/tfplan.bin

To perform exactly these actions, run the following command to apply:
    terraform apply "/var/folders/4x/00gscj_x4bxc42d_wkymv9540000gn/T/tfplan.bin"

Decoding plan..


Analysing plan..


Converting TF Graph Connections..  (this may take a while)

Traceback (most recent call last):
  File "/Users/juliantallar/Desktop/Random/terravision/terravision", line 352, in <module>
    cli(
  File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/juliantallar/Desktop/Random/terravision/terravision", line 279, in draw
    tfdata = compile_tfdata(source, varfile, workspace, debug, annotate)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/juliantallar/Desktop/Random/terravision/terravision", line 136, in compile_tfdata
    tfdata = _process_terraform_source(source, varfile, workspace, annotate, debug)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/juliantallar/Desktop/Random/terravision/terravision", line 79, in _process_terraform_source
    tfdata = tfwrapper.tf_makegraph(tfdata)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/juliantallar/Desktop/Random/terravision/modules/tfwrapper.py", line 226, in tf_makegraph
    node_id = gvid_table.index(nodename)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: 'aws_iam_role.eventbridge_scheduler_execution_role' is not in list
<!-- gh-comment-id:3508445130 --> @jtallar-hu commented on GitHub (Nov 9, 2025): I was just getting back to this issue. The debug flag did not generate any `tfdata.json` file in my current directory. But it did output some more information about the error. I've been able to replicate it in my sample project at https://github.com/jtallar/sample-tf-project-terravision. I created a new `service` TF module which just imports the `messages` module from before. ```hcl module "scheduled_messages" { source = "../messages" sqs_queue_name = "scheduled-events" } ``` Running `terravision draw` works OK with the `messages` module and it generates the architecture diagram as expected. `terravision draw --source ~/Desktop/Random/sample-tf-project-terravision/messages` But if I run it agains the `service` module, it fails with a similar error to the one shown above. `terravision draw --source ~/Desktop/Random/sample-tf-project-terravision/service --debug` Here is the complete output of that run. ``` terravision draw --source ~/Desktop/Random/sample-tf-project-terravision/service --debug _____ _ _ /__ \___ _ __ _ __ __ ___ _(_)___(_) ___ _ __ / /\/ _ \ '__| '__/ _` \ \ / / / __| |/ _ \| '_ \ / / | __/ | | | | (_| |\ V /| \__ \ | (_) | | | | \/ \___|_| |_| \__,_| \_/ |_|___/_|\___/|_| |_| Preflight check.. dot command detected: /opt/homebrew/bin/dot gvpr command detected: /opt/homebrew/bin/gvpr git command detected: /usr/bin/git terraform command detected: /opt/homebrew/bin/terraform terraform version detected: Terraform v1.5.7 Initializing the backend... Upgrading modules... - scheduled_messages in ../messages Initializing provider plugins... - Finding hashicorp/aws versions matching "~> 5.0"... - Using hashicorp/aws v5.100.0 from the shared cache directory Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary. Initalising workspace: default Generating Terraform Plan.. 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: # module.scheduled_messages.aws_iam_role.eventbridge_scheduler_execution_role will be created + resource "aws_iam_role" "eventbridge_scheduler_execution_role" { + arn = (known after apply) + assume_role_policy = jsonencode( { + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "scheduler.amazonaws.com" } }, ] + Version = "2012-10-17" } ) + create_date = (known after apply) + force_detach_policies = false + id = (known after apply) + managed_policy_arns = (known after apply) + max_session_duration = 3600 + name = "EventBridgeSchedulerExecutionRole-scheduled-events" + name_prefix = (known after apply) + path = "/" + tags_all = (known after apply) + unique_id = (known after apply) } # module.scheduled_messages.aws_iam_role_policy.eventbridge_scheduler_sqs_policy will be created + resource "aws_iam_role_policy" "eventbridge_scheduler_sqs_policy" { + id = (known after apply) + name = "EventBridgeSchedulerSQSPolicy" + name_prefix = (known after apply) + policy = (known after apply) + role = (known after apply) } # module.scheduled_messages.aws_scheduler_schedule_group.messages_schedule_group will be created + resource "aws_scheduler_schedule_group" "messages_schedule_group" { + arn = (known after apply) + creation_date = (known after apply) + id = (known after apply) + last_modification_date = (known after apply) + name = "scheduled-events" + name_prefix = (known after apply) + state = (known after apply) + tags_all = (known after apply) } # module.scheduled_messages.aws_sqs_queue.messages_sqs will be created + resource "aws_sqs_queue" "messages_sqs" { + arn = (known after apply) + content_based_deduplication = false + deduplication_scope = (known after apply) + delay_seconds = 0 + fifo_queue = false + fifo_throughput_limit = (known after apply) + id = (known after apply) + kms_data_key_reuse_period_seconds = (known after apply) + max_message_size = 262144 + message_retention_seconds = 345600 + name = "scheduled-events" + name_prefix = (known after apply) + policy = (known after apply) + receive_wait_time_seconds = 0 + redrive_allow_policy = (known after apply) + redrive_policy = (known after apply) + sqs_managed_sse_enabled = (known after apply) + tags_all = (known after apply) + url = (known after apply) + visibility_timeout_seconds = 30 } # module.scheduled_messages.aws_sqs_queue.messages_sqs_dlq will be created + resource "aws_sqs_queue" "messages_sqs_dlq" { + arn = (known after apply) + content_based_deduplication = false + deduplication_scope = (known after apply) + delay_seconds = 0 + fifo_queue = false + fifo_throughput_limit = (known after apply) + id = (known after apply) + kms_data_key_reuse_period_seconds = (known after apply) + max_message_size = 262144 + message_retention_seconds = 345600 + name = "scheduled-events-dlq" + name_prefix = (known after apply) + policy = (known after apply) + receive_wait_time_seconds = 0 + redrive_allow_policy = (known after apply) + redrive_policy = (known after apply) + sqs_managed_sse_enabled = (known after apply) + tags_all = (known after apply) + url = (known after apply) + visibility_timeout_seconds = 30 } # module.scheduled_messages.aws_sqs_queue_policy.messages_sqs will be created + resource "aws_sqs_queue_policy" "messages_sqs" { + id = (known after apply) + policy = (known after apply) + queue_url = (known after apply) } Plan: 6 to add, 0 to change, 0 to destroy. Changes to Outputs: + message_queue_arn = (known after apply) ─────────────────────────────────────────────────────────────────────────────────── Saved the plan to: /var/folders/4x/00gscj_x4bxc42d_wkymv9540000gn/T/tfplan.bin To perform exactly these actions, run the following command to apply: terraform apply "/var/folders/4x/00gscj_x4bxc42d_wkymv9540000gn/T/tfplan.bin" Decoding plan.. Analysing plan.. Converting TF Graph Connections.. (this may take a while) Traceback (most recent call last): File "/Users/juliantallar/Desktop/Random/terravision/terravision", line 352, in <module> cli( File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 1130, in __call__ return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/juliantallar/.pyenv/versions/3.11.14/lib/python3.11/site-packages/click/core.py", line 760, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/juliantallar/Desktop/Random/terravision/terravision", line 279, in draw tfdata = compile_tfdata(source, varfile, workspace, debug, annotate) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/juliantallar/Desktop/Random/terravision/terravision", line 136, in compile_tfdata tfdata = _process_terraform_source(source, varfile, workspace, annotate, debug) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/juliantallar/Desktop/Random/terravision/terravision", line 79, in _process_terraform_source tfdata = tfwrapper.tf_makegraph(tfdata) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/juliantallar/Desktop/Random/terravision/modules/tfwrapper.py", line 226, in tf_makegraph node_id = gvid_table.index(nodename) ^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: 'aws_iam_role.eventbridge_scheduler_execution_role' is not in list ```
Author
Owner

@patrickchugh commented on GitHub (Nov 15, 2025):

Hi @jtallar-hu Can you try again with the latest code I pushed ? I am able to see a diagram from your service module now. FYI the tfdata.json file is only created once there are no errors in processing the original terraform command outputs.

<!-- gh-comment-id:3536764756 --> @patrickchugh commented on GitHub (Nov 15, 2025): Hi @jtallar-hu Can you try again with the latest code I pushed ? I am able to see a diagram from your service module now. FYI the tfdata.json file is only created once there are no errors in processing the original terraform command outputs.
Author
Owner

@patrickchugh commented on GitHub (Dec 16, 2025):

closing as assumed resolved

<!-- gh-comment-id:3662638806 --> @patrickchugh commented on GitHub (Dec 16, 2025): closing as assumed resolved
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/terravision#86
No description provided.