terraform compliance错误:不是有效的terraform计划json输出

terraform compliance错误:不是有效的terraform计划json输出,terraform,terraform-provider-aws,terraform0.12+,Terraform,Terraform Provider Aws,Terraform0.12+,说明: 我正在与terraform compliance合作,它似乎不想接受文档中说要使用的标准json文件。我在github上创建了一个问题,但我想我会在这里扩展它,以防我遗漏了一些完全可能的东西 OS:macos catalina 流动码头工人 terraform compliance v1.2.7 我只是在文档上运行脚本,当我传递正确的json文件时,它似乎不起作用。这是否仍然维持 复制 # main.tf provider "aws" { region = var

说明: 我正在与terraform compliance合作,它似乎不想接受文档中说要使用的标准json文件。我在github上创建了一个问题,但我想我会在这里扩展它,以防我遗漏了一些完全可能的东西

OS:macos catalina

流动码头工人

terraform compliance v1.2.7

我只是在文档上运行脚本,当我传递正确的json文件时,它似乎不起作用。这是否仍然维持

复制

# main.tf
provider "aws" {
  region = var.region
}

locals {
  common_tags = {
    Environment        = var.env_name
    TerraformWorkspace = var.env_name
  }
}

terraform {
  backend "remote" {
    organization = "*******"
    workspaces {
      prefix = "******"
    }
  }
}
使用terraform compliance参数我不确定这是什么意思

我应该在docker运行这些吗

$terraform show-json>state.out.json $terraform state pull>state.out $terraform compliance-p state.out.json terraform compliance v1.2.7已启动 错误:state.out.json不是有效的terraform计划json输出。 测试版本:

terraform compliance v1.2.7

地形v0.12.26

Python 2.7.16

还支持各州以及计划产出。您的州文件中一定有一些terraform compliance不满意的地方


只是尝试了同样的方法,效果很好。假设维护者内部有敏感信息,是否可以私下共享状态文件?或者剥掉一些零件——但我想这会更难做到。

这不是要求州政府提供文件。它需要计划输出。terraform compliance旨在以增量方式运行,并用于在被拒绝的更改发生之前阻止它们,而不是告诉您应该阻止哪些已经存在的更改。@ydaetskcoR感谢您!我在文档中注意到,根据您的功能,您可以向其传递状态文件或计划文件。因此,如果我尝试使用plan.out或plan.out.json,它们都会失败,并显示类似的消息。我将更新问题以反映这一点。
# variables.tf
variable "region" {
  description = "AWS region"
}

variable "env_name" {
}