Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cloudflare_spectrum_application nested syntax for edge_ips "Error: missing expected {" #2516

Closed
2 tasks done
andrewkrain opened this issue Jun 12, 2023 · 3 comments
Closed
2 tasks done
Labels
kind/support Categorizes issue or PR as related to user support.

Comments

@andrewkrain
Copy link

andrewkrain commented Jun 12, 2023

Confirmation

  • My issue isn't already found on the issue tracker.
  • I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version

Terraform v1.5.0
Provider plugins:

  • hashicorp/aws v5.2.0
  • cloudflare/cloudflare v4.7.1

Affected resource(s)

cloudflare_spectrum_application

Terraform configuration files

resource "cloudflare_spectrum_application" "endpoint" {
  zone_id      = cloudflare_zone.main.id
  traffic_type = "direct"

  dns {
    type = "ADDRESS"
    name = [redacted]
  }

  edge_ips {
    type = "static"
    ips  = [redacted]
  }
  protocol = "tcp/80"

  origin_dns {
    name = cloudflare_load_balancer.main.name
  }
  origin_port    = [redacted]
  tls            = "off"
  ip_firewall    = false
  proxy_protocol = "v2"
}

Link to debug output

n/a

Panic output

n/a

Expected output

Successful terraform plan run

Actual output

Planning failed. Terraform encountered an error while generating this plan.


│ Error: missing expected {

│ with module.nessy.cloudflare_spectrum_application.endpoint,
│ on ../../modules/proxy/main.tf line 147, in resource "cloudflare_spectrum_application" "endpoint":
│ 147: resource "cloudflare_spectrum_application" "endpoint" {

Steps to reproduce

  1. Upgrade Cloudflare provider to v4.x
  2. Update cloudflare_spectrum_application to use nested syntax for edge_ips per https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/spectrum_application
    i.e. replace
edge_ips = [redacted]

with

edge_ips {
    type  = "static"
    ips   = [redacted]
}
  1. Run terraform plan

Additional factoids

Works fine when

edge_ips {
    connectivity = "all"
    type         = "dynamic"
}

References

Introduced in #2219

@andrewkrain andrewkrain added kind/bug Categorizes issue or PR as related to a bug. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jun 12, 2023
@github-actions
Copy link
Contributor

Community Note

Voting for Prioritization

  • Please vote on this issue by adding a 👍 reaction to the original post to help the community and maintainers prioritize this request.
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.

Volunteering to Work on This Issue

  • If you are interested in working on this issue, please leave a comment.
  • If this would be your first contribution, please review the contribution guide.

@github-actions
Copy link
Contributor

Thank you for reporting this issue! For maintainers to dig into issues it is required that all issues include the entirety of TF_LOG=DEBUG output to be provided. The only parts that should be redacted are your user credentials in the X-Auth-Key, X-Auth-Email and Authorization HTTP headers. Details such as zone or account identifiers are not considered sensitive but can be redacted if you are very cautious. This log file provides additional context from Terraform, the provider and the Cloudflare API that helps in debugging issues. Without it, maintainers are very limited in what they can do and may hamper diagnosis efforts.

This issue has been marked with triage/needs-information and is unlikely to receive maintainer attention until the log file is provided making this a complete bug report.

@github-actions github-actions bot added triage/needs-information Indicates an issue needs more information in order to work on it. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jun 12, 2023
@jacobbednarz
Copy link
Member

you'll need to remove the resource from state and reimport it to get the structure correct. there wasn't an automatic migration for this due to the resource previously allowing invalid configurations that we weren't comfortable copying forward or breaking the upgrade path.

@jacobbednarz jacobbednarz closed this as not planned Won't fix, can't repro, duplicate, stale Jun 27, 2023
@jacobbednarz jacobbednarz added kind/support Categorizes issue or PR as related to user support. and removed kind/bug Categorizes issue or PR as related to a bug. triage/needs-information Indicates an issue needs more information in order to work on it. labels Jun 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/support Categorizes issue or PR as related to user support.
Projects
None yet
Development

No branches or pull requests

2 participants