terraform encoding_error ai_generated true

Error: The plan output exceeds the maximum allowed size of 4 MB; try reducing the number of resources or using a binary plan file

ID: terraform/plan-output-encoding-error

Also available as: JSON · Markdown · 中文
80%Fix Rate
86%Confidence
1Evidence
2024-02-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
Terraform v1.6.0 active
Terraform v1.7.0 active
Terraform v1.8.0 active

Root Cause

The JSON-formatted plan output is too large (over 4 MB) due to an excessive number of resources or large attribute values.

generic

中文

由于资源数量过多或属性值过大,JSON 格式的计划输出过大(超过 4 MB)。

Official Documentation

https://developer.hashicorp.com/terraform/cli/commands/plan#plan-output-size

Workarounds

  1. 95% success Use 'terraform plan -out=plan.tfplan' to generate a binary plan file instead of JSON output, which has no size limit.
    Use 'terraform plan -out=plan.tfplan' to generate a binary plan file instead of JSON output, which has no size limit.
  2. 85% success If you need JSON output, reduce the plan scope with 'terraform plan -target=resource_type.name' to focus on specific resources.
    If you need JSON output, reduce the plan scope with 'terraform plan -target=resource_type.name' to focus on specific resources.
  3. 75% success Use 'terraform plan -compact-warnings' and 'terraform plan -no-color' to reduce output verbosity.
    Use 'terraform plan -compact-warnings' and 'terraform plan -no-color' to reduce output verbosity.

中文步骤

  1. 使用 'terraform plan -out=plan.tfplan' 生成二进制计划文件而不是 JSON 输出,没有大小限制。
  2. 如果需要 JSON 输出,使用 'terraform plan -target=资源类型.名称' 减少计划范围,专注于特定资源。
  3. 使用 'terraform plan -compact-warnings' 和 'terraform plan -no-color' 减少输出冗余。

Dead Ends

Common approaches that don't work:

  1. 80% fail

    The JSON output is what exceeds the limit, not the binary plan.

  2. 70% fail

    Complex dependencies between resources may cause state fragmentation.

  3. 60% fail

    Apply may still fail or produce unexpected results without a plan.