[GH-ISSUE #162] GraphMaker: AttributeError: 'int' object has no attribute 'replace' #92

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

Originally created by @2k-joker on GitHub (Jan 24, 2026).
Original GitHub issue: https://github.com/patrickchugh/terravision/issues/162

Problem

These two lines of code are making an incorrect assumption of always having to operate on a string literal

This assumption results in an unhandled exception when a non-string is encountered. Sample stacktrace;

Unhandled error: <class 'AttributeError'>, 'int' object has no attribute 'replace'
Traceback (most recent call last):
  File "/home/terravision/.local/bin/terravision", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/terravision/terravision.py", line 738, in main
    cli(
  File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 1485, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 1406, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 1873, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 1269, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 824, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/terravision/terravision.py", line 633, in draw
    tfdata = compile_tfdata(source, varfile, workspace, debug, annotate)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/terravision/terravision.py", line 249, in compile_tfdata
    tfdata = _enrich_graph_data(tfdata, debug, already_processed)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/terravision/terravision.py", line 175, in _enrich_graph_data
    tfdata = graphmaker.create_multiple_resources(tfdata)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/modules/graphmaker.py", line 1678, in create_multiple_resources
    tfdata = handle_count_resources(multi_resources, tfdata)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/terravision/.local/lib/python3.12/site-packages/modules/graphmaker.py", line 1463, in handle_count_resources
    tfdata["meta_data"][resource].get("max_capacity").replace('"', "")
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'int' object has no attribute 'replace'

Potential Fix

A type check or a cast to string somewhere up the call chain is needed

Originally created by @2k-joker on GitHub (Jan 24, 2026). Original GitHub issue: https://github.com/patrickchugh/terravision/issues/162 ## Problem These two lines of code are making an incorrect assumption of always having to operate on a string literal * [determine instance count by max_capacity](https://github.com/patrickchugh/terravision/blob/main/modules/graphmaker.py#L1463) * [determine instance count by desired_count](https://github.com/patrickchugh/terravision/blob/main/modules/graphmaker.py#L1467) This assumption results in an unhandled exception when a non-string is encountered. Sample stacktrace; ``` Unhandled error: <class 'AttributeError'>, 'int' object has no attribute 'replace' Traceback (most recent call last): File "/home/terravision/.local/bin/terravision", line 8, in <module> sys.exit(main()) ^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/terravision/terravision.py", line 738, in main cli( File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 1485, in __call__ return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 1406, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 1873, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 1269, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/click/core.py", line 824, in invoke return callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/terravision/terravision.py", line 633, in draw tfdata = compile_tfdata(source, varfile, workspace, debug, annotate) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/terravision/terravision.py", line 249, in compile_tfdata tfdata = _enrich_graph_data(tfdata, debug, already_processed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/terravision/terravision.py", line 175, in _enrich_graph_data tfdata = graphmaker.create_multiple_resources(tfdata) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/modules/graphmaker.py", line 1678, in create_multiple_resources tfdata = handle_count_resources(multi_resources, tfdata) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/terravision/.local/lib/python3.12/site-packages/modules/graphmaker.py", line 1463, in handle_count_resources tfdata["meta_data"][resource].get("max_capacity").replace('"', "") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'int' object has no attribute 'replace' ``` ## Potential Fix A type check or a cast to string somewhere up the call chain is needed
Author
Owner

@patrickchugh commented on GitHub (Jan 24, 2026):

Hi @2k-joker Thanks for bringing this to my attention. I have implemented a new fix for this and refactored the function in question. Can you try again and let me know if I can close this issue now?

<!-- gh-comment-id:3794498429 --> @patrickchugh commented on GitHub (Jan 24, 2026): Hi @2k-joker Thanks for bringing this to my attention. I have implemented a new fix for this and refactored the function in question. Can you try again and let me know if I can close this issue now?
Author
Owner

@2k-joker commented on GitHub (Jan 24, 2026):

This particular error is now fix. Thanks @patrickchugh

However, I am running into a different unrelated issue where my regular terraform plan runs successfully, but when I run terravision, I get this:

╷
│ Error: Invalid function argument
│ 
│   on /tmp/tmpqdklqnfk/modules/main.account_context/main.tf line 101, in data "aws_ssm_parameter" "public_subnets":
│  101:   count = var.public_subnet_ids != null && length(var.public_subnet_ids) == 0 ? 1 : 0
│     ├────────────────
│     │ while calling length(value)
│     │ var.public_subnet_ids is null
│ 
│ Invalid value for "value" parameter: argument must not be null.

It seems to be opinionated about certain things?

Here's my regular terraform plan output:

$ tfp
module.main.module.bff.data.aws_caller_identity.current: Reading...
module.main.module.bff_preview.data.aws_region.current: Reading...
module.main.module.bff_secret.data.aws_caller_identity.current: Reading...
module.main.module.account_context.data.aws_ssm_parameter.api_prelive_target_group_arn[0]: Reading...
module.main.module.account_context.data.aws_ssm_parameter.ecs_cluster_arn[0]: Reading...
module.main.module.bff_preview.data.aws_caller_identity.current: Reading...
module.main.module.bff_preview.data.aws_iam_policy_document.ecs_exec_policy: Reading...
module.main.module.account_context.data.aws_ssm_parameter.domain[0]: Reading...
module.main.module.account_context.data.aws_ssm_parameter.vpn_security_group_id[0]: Reading...
module.main.module.bff.data.aws_iam_policy_document.ecs_exec_policy: Reading...
module.main.module.bff_preview.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.main.module.bff_preview.data.aws_iam_policy_document.ecs_exec_policy: Read complete after 0s [id=984685105]
module.main.data.aws_caller_identity.current: Reading...
module.main.module.account_context.data.aws_ssm_parameter.vpc_id[0]: Reading...
module.main.module.bff.data.aws_iam_policy_document.ecs_exec_policy: Read complete after 0s [id=984685105]
module.main.module.bff.data.aws_region.current: Reading...
module.main.module.bff.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.main.module.account_context.data.aws_ssm_parameter.api_target_group_arn[0]: Reading...
module.main.module.bff_secret.data.aws_caller_identity.current: Read complete after 0s [id=680528876159]
module.main.module.account_context.data.aws_ssm_parameter.hosted_zone_id[0]: Reading...
module.main.module.bff_preview.data.aws_caller_identity.current: Read complete after 0s [id=680528876159]
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_https_prelive_listener_arn[0]: Reading...
module.main.module.bff.data.aws_caller_identity.current: Read complete after 0s [id=680528876159]
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_dns_name[0]: Reading...
module.main.data.aws_caller_identity.current: Read complete after 0s [id=680528876159]
module.main.module.account_context.data.aws_ssm_parameter.ecs_cluster_name[0]: Reading...
module.main.module.account_context.data.aws_ssm_parameter.ecs_cluster_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/ecs/cluster/arn]
module.main.module.account_context.data.aws_ssm_parameter.hosted_zone_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/domain/hosted_zone_id]
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_https_listener_arn[0]: Reading...
module.main.module.account_context.data.aws_ssm_parameter.private_subnets[0]: Reading...
module.main.module.account_context.data.aws_ssm_parameter.vpn_security_group_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/vpn/security_group/id]
module.main.module.bff.data.aws_iam_policy_document.assume_role_policy: Reading...
module.main.module.bff.data.aws_iam_policy_document.assume_role_policy: Read complete after 0s [id=1077804475]
module.main.data.aws_region.current: Reading...
module.main.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_zone_id[0]: Reading...
module.main.module.account_context.data.aws_ssm_parameter.vpc_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/network/vpc/id]
module.main.module.service_version.data.aws_ssm_parameter.service_version[0]: Reading...
module.main.module.account_context.data.aws_ssm_parameter.domain[0]: Read complete after 0s [id=/account-context/navig8credit-staging/domain/name]
module.main.module.bff_preview.data.aws_iam_policy_document.assume_role_policy: Reading...
module.main.module.bff_preview.data.aws_iam_policy_document.assume_role_policy: Read complete after 0s [id=1077804475]
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_security_group_id[0]: Reading...
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_dns_name[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/dns_name]
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_https_prelive_listener_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/https_prelive_listener_arn]
module.main.module.bff_preview.aws_iam_policy.ecs_exec_policy: Refreshing state... [id=arn:aws:iam::680528876159:policy/nexus-bff-preview-ecs-exec-policy]
module.main.module.bff.aws_iam_policy.ecs_exec_policy: Refreshing state... [id=arn:aws:iam::680528876159:policy/nexus-bff-ecs-exec-policy]
module.main.module.account_context.data.aws_ssm_parameter.api_target_group_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/api_target_group_arn]
module.main.module.bff_secret.data.aws_iam_policy_document.secret: Reading...
module.main.module.bff_secret.data.aws_iam_policy_document.secret: Read complete after 0s [id=700801339]
module.main.module.bff_preview.data.aws_iam_policy_document.log-group: Reading...
module.main.module.bff_preview.data.aws_iam_policy_document.log-group: Read complete after 0s [id=395337437]
module.main.module.bff.data.aws_iam_policy_document.log-group: Reading...
module.main.module.bff.data.aws_iam_policy_document.log-group: Read complete after 0s [id=2798127832]
module.main.module.bff.aws_iam_role.service: Refreshing state... [id=nexus-bff-execution-task-role]
module.main.module.account_context.data.aws_ssm_parameter.api_prelive_target_group_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/api_prelive_target_group_arn]
module.main.module.bff_preview.aws_iam_role.service: Refreshing state... [id=nexus-bff-preview-execution-task-role]
module.main.module.account_context.data.aws_ssm_parameter.ecs_cluster_name[0]: Read complete after 0s [id=/account-context/navig8credit-staging/ecs/cluster/name]
module.main.module.bff_secret.aws_kms_key.secret: Refreshing state... [id=b184a274-b584-464b-832c-fb6a63da4039]
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_https_listener_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/https_listener_arn]
module.main.module.account_context.data.aws_ssm_parameter.private_subnets[0]: Read complete after 0s [id=/account-context/navig8credit-staging/network/private_subnets]
module.main.module.bff_preview.aws_kms_key.log-group: Refreshing state... [id=6e775539-8777-415b-9d36-6164a27882c0]
module.main.module.bff.aws_kms_key.log-group: Refreshing state... [id=0ed3fcf9-a00d-4fa0-89b5-f83721522f9a]
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_zone_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/zone_id]
module.main.module.account_context.data.aws_ssm_parameter.internal_lb_security_group_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/security_group_id]
module.main.module.bff.aws_security_group.service: Refreshing state... [id=sg-0010008f4c0eedfce]
module.main.module.bff_preview.aws_security_group.service: Refreshing state... [id=sg-02324dd7a58de7210]
module.main.module.service_version.data.aws_ssm_parameter.service_version[0]: Read complete after 0s [id=/staging/service/nexus/version]
module.main.module.service_version.aws_ssm_parameter.service_version: Refreshing state... [id=/staging/service/nexus/version]
module.main.module.bff.aws_iam_role_policy_attachment.ecs_exec_policy: Refreshing state... [id=nexus-bff-execution-task-role/arn:aws:iam::680528876159:policy/nexus-bff-ecs-exec-policy]
module.main.module.bff.aws_iam_role_policy_attachment.service_policy: Refreshing state... [id=nexus-bff-execution-task-role/arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role]
module.main.module.bff_preview.aws_iam_role_policy_attachment.ecs_exec_policy: Refreshing state... [id=nexus-bff-preview-execution-task-role/arn:aws:iam::680528876159:policy/nexus-bff-preview-ecs-exec-policy]
module.main.module.bff_preview.aws_iam_role_policy_attachment.service_policy: Refreshing state... [id=nexus-bff-preview-execution-task-role/arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role]
module.main.module.bff_preview.aws_cloudwatch_log_group.log-group: Refreshing state... [id=nexus-bff-preview-staging-logs]
module.main.module.bff.aws_cloudwatch_log_group.log-group: Refreshing state... [id=nexus-bff-staging-logs]
module.main.module.bff_secret.aws_secretsmanager_secret.secret: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:680528876159:secret:nexus-bff-staging-XGn3UF]
module.main.module.bff.aws_security_group_rule.service_egress: Refreshing state... [id=sgrule-2501077450]
module.main.module.bff.aws_security_group_rule.service_lb_ingress: Refreshing state... [id=sgrule-3892351920]
module.main.module.bff_preview.aws_security_group_rule.service_egress: Refreshing state... [id=sgrule-3872869063]
module.main.module.bff_preview.aws_security_group_rule.service_lb_ingress: Refreshing state... [id=sgrule-3109774301]
module.main.module.bff_secret.aws_secretsmanager_secret_version.secret: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:680528876159:secret:nexus-bff-staging-XGn3UF|terraform-20260112161745511800000002]
module.main.module.bff_secret.data.aws_iam_policy_document.api_secret_policy: Reading...
module.main.module.bff_secret.data.aws_iam_policy_document.api_secret_policy: Read complete after 0s [id=2354483787]
module.main.module.bff.aws_ecs_task_definition.aws-ecs-task: Refreshing state... [id=nexus-bff-task]
module.main.module.bff_preview.aws_ecs_task_definition.aws-ecs-task: Refreshing state... [id=nexus-bff-preview-task]
module.main.module.bff_secret.aws_iam_policy.api_secret_policy: Refreshing state... [id=arn:aws:iam::680528876159:policy/nexus-bff-staging-readonly-policy]
module.main.aws_iam_role_policy_attachment.bff_preview_secret_policy: Refreshing state... [id=nexus-bff-preview-execution-task-role/arn:aws:iam::680528876159:policy/nexus-bff-staging-readonly-policy]
module.main.aws_iam_role_policy_attachment.bff_secret_policy: Refreshing state... [id=nexus-bff-execution-task-role/arn:aws:iam::680528876159:policy/nexus-bff-staging-readonly-policy]
module.main.module.bff_preview.data.aws_ecs_task_definition.main: Reading...
module.main.module.bff.data.aws_ecs_task_definition.main: Reading...
module.main.module.bff_preview.data.aws_ecs_task_definition.main: Read complete after 0s [id=arn:aws:ecs:us-east-1:680528876159:task-definition/nexus-bff-preview-task:4]
module.main.module.bff.data.aws_ecs_task_definition.main: Read complete after 0s [id=arn:aws:ecs:us-east-1:680528876159:task-definition/nexus-bff-task:4]
module.main.module.bff.aws_ecs_service.aws-ecs-service: Refreshing state... [id=arn:aws:ecs:us-east-1:680528876159:service/staging-ecs-cluster/nexus-bff]
module.main.module.bff_preview.aws_ecs_service.aws-ecs-service: Refreshing state... [id=arn:aws:ecs:us-east-1:680528876159:service/staging-ecs-cluster/nexus-bff-preview]
module.main.module.bff_preview.aws_appautoscaling_target.service: Refreshing state... [id=service/staging-ecs-cluster/nexus-bff-preview]
module.main.module.bff.aws_appautoscaling_target.service: Refreshing state... [id=service/staging-ecs-cluster/nexus-bff]
module.main.module.bff_preview.aws_appautoscaling_policy.ecs_policy_cpu: Refreshing state... [id=nexus-bff-preview-staging-cpu-autoscaling]
module.main.module.bff_preview.aws_appautoscaling_policy.ecs_policy_memory: Refreshing state... [id=nexus-bff-preview-staging-memory-autoscaling]
module.main.module.bff.aws_appautoscaling_policy.ecs_policy_memory: Refreshing state... [id=nexus-bff-staging-memory-autoscaling]
module.main.module.bff.aws_appautoscaling_policy.ecs_policy_cpu: Refreshing state... [id=nexus-bff-staging-cpu-autoscaling]

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed.
<!-- gh-comment-id:3795061763 --> @2k-joker commented on GitHub (Jan 24, 2026): This particular error is now fix. Thanks @patrickchugh However, I am running into a different unrelated issue where my regular `terraform plan` runs successfully, but when I run terravision, I get this: ``` ╷ │ Error: Invalid function argument │ │ on /tmp/tmpqdklqnfk/modules/main.account_context/main.tf line 101, in data "aws_ssm_parameter" "public_subnets": │ 101: count = var.public_subnet_ids != null && length(var.public_subnet_ids) == 0 ? 1 : 0 │ ├──────────────── │ │ while calling length(value) │ │ var.public_subnet_ids is null │ │ Invalid value for "value" parameter: argument must not be null. ``` It seems to be opinionated about certain things? Here's my regular terraform plan output: ``` $ tfp module.main.module.bff.data.aws_caller_identity.current: Reading... module.main.module.bff_preview.data.aws_region.current: Reading... module.main.module.bff_secret.data.aws_caller_identity.current: Reading... module.main.module.account_context.data.aws_ssm_parameter.api_prelive_target_group_arn[0]: Reading... module.main.module.account_context.data.aws_ssm_parameter.ecs_cluster_arn[0]: Reading... module.main.module.bff_preview.data.aws_caller_identity.current: Reading... module.main.module.bff_preview.data.aws_iam_policy_document.ecs_exec_policy: Reading... module.main.module.account_context.data.aws_ssm_parameter.domain[0]: Reading... module.main.module.account_context.data.aws_ssm_parameter.vpn_security_group_id[0]: Reading... module.main.module.bff.data.aws_iam_policy_document.ecs_exec_policy: Reading... module.main.module.bff_preview.data.aws_region.current: Read complete after 0s [id=us-east-1] module.main.module.bff_preview.data.aws_iam_policy_document.ecs_exec_policy: Read complete after 0s [id=984685105] module.main.data.aws_caller_identity.current: Reading... module.main.module.account_context.data.aws_ssm_parameter.vpc_id[0]: Reading... module.main.module.bff.data.aws_iam_policy_document.ecs_exec_policy: Read complete after 0s [id=984685105] module.main.module.bff.data.aws_region.current: Reading... module.main.module.bff.data.aws_region.current: Read complete after 0s [id=us-east-1] module.main.module.account_context.data.aws_ssm_parameter.api_target_group_arn[0]: Reading... module.main.module.bff_secret.data.aws_caller_identity.current: Read complete after 0s [id=680528876159] module.main.module.account_context.data.aws_ssm_parameter.hosted_zone_id[0]: Reading... module.main.module.bff_preview.data.aws_caller_identity.current: Read complete after 0s [id=680528876159] module.main.module.account_context.data.aws_ssm_parameter.internal_lb_https_prelive_listener_arn[0]: Reading... module.main.module.bff.data.aws_caller_identity.current: Read complete after 0s [id=680528876159] module.main.module.account_context.data.aws_ssm_parameter.internal_lb_dns_name[0]: Reading... module.main.data.aws_caller_identity.current: Read complete after 0s [id=680528876159] module.main.module.account_context.data.aws_ssm_parameter.ecs_cluster_name[0]: Reading... module.main.module.account_context.data.aws_ssm_parameter.ecs_cluster_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/ecs/cluster/arn] module.main.module.account_context.data.aws_ssm_parameter.hosted_zone_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/domain/hosted_zone_id] module.main.module.account_context.data.aws_ssm_parameter.internal_lb_https_listener_arn[0]: Reading... module.main.module.account_context.data.aws_ssm_parameter.private_subnets[0]: Reading... module.main.module.account_context.data.aws_ssm_parameter.vpn_security_group_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/vpn/security_group/id] module.main.module.bff.data.aws_iam_policy_document.assume_role_policy: Reading... module.main.module.bff.data.aws_iam_policy_document.assume_role_policy: Read complete after 0s [id=1077804475] module.main.data.aws_region.current: Reading... module.main.data.aws_region.current: Read complete after 0s [id=us-east-1] module.main.module.account_context.data.aws_ssm_parameter.internal_lb_zone_id[0]: Reading... module.main.module.account_context.data.aws_ssm_parameter.vpc_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/network/vpc/id] module.main.module.service_version.data.aws_ssm_parameter.service_version[0]: Reading... module.main.module.account_context.data.aws_ssm_parameter.domain[0]: Read complete after 0s [id=/account-context/navig8credit-staging/domain/name] module.main.module.bff_preview.data.aws_iam_policy_document.assume_role_policy: Reading... module.main.module.bff_preview.data.aws_iam_policy_document.assume_role_policy: Read complete after 0s [id=1077804475] module.main.module.account_context.data.aws_ssm_parameter.internal_lb_security_group_id[0]: Reading... module.main.module.account_context.data.aws_ssm_parameter.internal_lb_dns_name[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/dns_name] module.main.module.account_context.data.aws_ssm_parameter.internal_lb_https_prelive_listener_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/https_prelive_listener_arn] module.main.module.bff_preview.aws_iam_policy.ecs_exec_policy: Refreshing state... [id=arn:aws:iam::680528876159:policy/nexus-bff-preview-ecs-exec-policy] module.main.module.bff.aws_iam_policy.ecs_exec_policy: Refreshing state... [id=arn:aws:iam::680528876159:policy/nexus-bff-ecs-exec-policy] module.main.module.account_context.data.aws_ssm_parameter.api_target_group_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/api_target_group_arn] module.main.module.bff_secret.data.aws_iam_policy_document.secret: Reading... module.main.module.bff_secret.data.aws_iam_policy_document.secret: Read complete after 0s [id=700801339] module.main.module.bff_preview.data.aws_iam_policy_document.log-group: Reading... module.main.module.bff_preview.data.aws_iam_policy_document.log-group: Read complete after 0s [id=395337437] module.main.module.bff.data.aws_iam_policy_document.log-group: Reading... module.main.module.bff.data.aws_iam_policy_document.log-group: Read complete after 0s [id=2798127832] module.main.module.bff.aws_iam_role.service: Refreshing state... [id=nexus-bff-execution-task-role] module.main.module.account_context.data.aws_ssm_parameter.api_prelive_target_group_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/api_prelive_target_group_arn] module.main.module.bff_preview.aws_iam_role.service: Refreshing state... [id=nexus-bff-preview-execution-task-role] module.main.module.account_context.data.aws_ssm_parameter.ecs_cluster_name[0]: Read complete after 0s [id=/account-context/navig8credit-staging/ecs/cluster/name] module.main.module.bff_secret.aws_kms_key.secret: Refreshing state... [id=b184a274-b584-464b-832c-fb6a63da4039] module.main.module.account_context.data.aws_ssm_parameter.internal_lb_https_listener_arn[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/https_listener_arn] module.main.module.account_context.data.aws_ssm_parameter.private_subnets[0]: Read complete after 0s [id=/account-context/navig8credit-staging/network/private_subnets] module.main.module.bff_preview.aws_kms_key.log-group: Refreshing state... [id=6e775539-8777-415b-9d36-6164a27882c0] module.main.module.bff.aws_kms_key.log-group: Refreshing state... [id=0ed3fcf9-a00d-4fa0-89b5-f83721522f9a] module.main.module.account_context.data.aws_ssm_parameter.internal_lb_zone_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/zone_id] module.main.module.account_context.data.aws_ssm_parameter.internal_lb_security_group_id[0]: Read complete after 0s [id=/account-context/navig8credit-staging/traffic-management/load-balancer/internal/security_group_id] module.main.module.bff.aws_security_group.service: Refreshing state... [id=sg-0010008f4c0eedfce] module.main.module.bff_preview.aws_security_group.service: Refreshing state... [id=sg-02324dd7a58de7210] module.main.module.service_version.data.aws_ssm_parameter.service_version[0]: Read complete after 0s [id=/staging/service/nexus/version] module.main.module.service_version.aws_ssm_parameter.service_version: Refreshing state... [id=/staging/service/nexus/version] module.main.module.bff.aws_iam_role_policy_attachment.ecs_exec_policy: Refreshing state... [id=nexus-bff-execution-task-role/arn:aws:iam::680528876159:policy/nexus-bff-ecs-exec-policy] module.main.module.bff.aws_iam_role_policy_attachment.service_policy: Refreshing state... [id=nexus-bff-execution-task-role/arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role] module.main.module.bff_preview.aws_iam_role_policy_attachment.ecs_exec_policy: Refreshing state... [id=nexus-bff-preview-execution-task-role/arn:aws:iam::680528876159:policy/nexus-bff-preview-ecs-exec-policy] module.main.module.bff_preview.aws_iam_role_policy_attachment.service_policy: Refreshing state... [id=nexus-bff-preview-execution-task-role/arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role] module.main.module.bff_preview.aws_cloudwatch_log_group.log-group: Refreshing state... [id=nexus-bff-preview-staging-logs] module.main.module.bff.aws_cloudwatch_log_group.log-group: Refreshing state... [id=nexus-bff-staging-logs] module.main.module.bff_secret.aws_secretsmanager_secret.secret: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:680528876159:secret:nexus-bff-staging-XGn3UF] module.main.module.bff.aws_security_group_rule.service_egress: Refreshing state... [id=sgrule-2501077450] module.main.module.bff.aws_security_group_rule.service_lb_ingress: Refreshing state... [id=sgrule-3892351920] module.main.module.bff_preview.aws_security_group_rule.service_egress: Refreshing state... [id=sgrule-3872869063] module.main.module.bff_preview.aws_security_group_rule.service_lb_ingress: Refreshing state... [id=sgrule-3109774301] module.main.module.bff_secret.aws_secretsmanager_secret_version.secret: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:680528876159:secret:nexus-bff-staging-XGn3UF|terraform-20260112161745511800000002] module.main.module.bff_secret.data.aws_iam_policy_document.api_secret_policy: Reading... module.main.module.bff_secret.data.aws_iam_policy_document.api_secret_policy: Read complete after 0s [id=2354483787] module.main.module.bff.aws_ecs_task_definition.aws-ecs-task: Refreshing state... [id=nexus-bff-task] module.main.module.bff_preview.aws_ecs_task_definition.aws-ecs-task: Refreshing state... [id=nexus-bff-preview-task] module.main.module.bff_secret.aws_iam_policy.api_secret_policy: Refreshing state... [id=arn:aws:iam::680528876159:policy/nexus-bff-staging-readonly-policy] module.main.aws_iam_role_policy_attachment.bff_preview_secret_policy: Refreshing state... [id=nexus-bff-preview-execution-task-role/arn:aws:iam::680528876159:policy/nexus-bff-staging-readonly-policy] module.main.aws_iam_role_policy_attachment.bff_secret_policy: Refreshing state... [id=nexus-bff-execution-task-role/arn:aws:iam::680528876159:policy/nexus-bff-staging-readonly-policy] module.main.module.bff_preview.data.aws_ecs_task_definition.main: Reading... module.main.module.bff.data.aws_ecs_task_definition.main: Reading... module.main.module.bff_preview.data.aws_ecs_task_definition.main: Read complete after 0s [id=arn:aws:ecs:us-east-1:680528876159:task-definition/nexus-bff-preview-task:4] module.main.module.bff.data.aws_ecs_task_definition.main: Read complete after 0s [id=arn:aws:ecs:us-east-1:680528876159:task-definition/nexus-bff-task:4] module.main.module.bff.aws_ecs_service.aws-ecs-service: Refreshing state... [id=arn:aws:ecs:us-east-1:680528876159:service/staging-ecs-cluster/nexus-bff] module.main.module.bff_preview.aws_ecs_service.aws-ecs-service: Refreshing state... [id=arn:aws:ecs:us-east-1:680528876159:service/staging-ecs-cluster/nexus-bff-preview] module.main.module.bff_preview.aws_appautoscaling_target.service: Refreshing state... [id=service/staging-ecs-cluster/nexus-bff-preview] module.main.module.bff.aws_appautoscaling_target.service: Refreshing state... [id=service/staging-ecs-cluster/nexus-bff] module.main.module.bff_preview.aws_appautoscaling_policy.ecs_policy_cpu: Refreshing state... [id=nexus-bff-preview-staging-cpu-autoscaling] module.main.module.bff_preview.aws_appautoscaling_policy.ecs_policy_memory: Refreshing state... [id=nexus-bff-preview-staging-memory-autoscaling] module.main.module.bff.aws_appautoscaling_policy.ecs_policy_memory: Refreshing state... [id=nexus-bff-staging-memory-autoscaling] module.main.module.bff.aws_appautoscaling_policy.ecs_policy_cpu: Refreshing state... [id=nexus-bff-staging-cpu-autoscaling] No changes. Your infrastructure matches the configuration. Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed. ```
Author
Owner

@patrickchugh commented on GitHub (Jan 25, 2026):

I have not seen this type of error reported before. But it is definitely a Terraform code issue not a TerraVision bug. Your current terraform plan from the command line is most likely not evaluating the line in question since the resource doesn't need to be refreshed. If you force a local backend, using override.tf like TerraVision does, or try a terraform plan on an account with no existing resources (blank state file) then you will most likely get that error as well. Give it a try and let me know. Closing this for now.

<!-- gh-comment-id:3796809821 --> @patrickchugh commented on GitHub (Jan 25, 2026): I have not seen this type of error reported before. But it is definitely a Terraform code issue not a TerraVision bug. Your current terraform plan from the command line is most likely not evaluating the line in question since the resource doesn't need to be refreshed. If you force a local backend, using override.tf like TerraVision does, or try a terraform plan on an account with no existing resources (blank state file) then you will most likely get that error as well. Give it a try and let me know. Closing this for now.
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#92
No description provided.