├── .github └── workflows │ └── release.yml ├── .gitignore ├── DockerfileIT ├── LICENSE ├── Makefile ├── README.md ├── examples ├── aws │ ├── bucket │ │ ├── main.tf │ │ └── spec │ │ │ └── default.tfspec │ ├── module_ec2 │ │ ├── main.tf │ │ ├── spec │ │ │ ├── default │ │ │ │ └── default.tfspec │ │ │ └── with_ebs_block_device │ │ │ │ ├── override.tfvars │ │ │ │ └── with_ebs_block_device.tfspec │ │ └── variables.tf │ └── multiregion │ │ ├── main.tf │ │ └── spec │ │ └── main.tfspec ├── azure │ └── module_dcos_cluster │ │ ├── main.tf │ │ ├── spec │ │ ├── custom_hostname_format │ │ │ ├── custom_hostname_format.tfspec │ │ │ └── override.tfvars │ │ ├── mono_cluster │ │ │ ├── mono_cluster.tfspec │ │ │ └── override.tfvars │ │ └── three_cluster │ │ │ ├── override.tfvars │ │ │ └── three_cluster.tfspec │ │ └── variables.tf ├── gcp │ └── module_compute_instance │ │ ├── main.tf │ │ ├── spec │ │ ├── access_configs_and_static_ips │ │ │ ├── access_configs_and_static_ips.tfspec │ │ │ └── override.tfvars │ │ └── no_access_configs_no_static_ips │ │ │ ├── access_configs_and_static_ips.tfspec │ │ │ └── override.tfvars │ │ └── variables.tf └── workspace │ ├── main.tf │ └── spec │ └── default │ └── test.tfspec ├── go.mod ├── go.sum ├── integration_tests ├── main_test.go ├── mock_failure │ ├── main.tf │ └── spec │ │ └── main.tfspec ├── mock_success │ ├── main.tf │ └── spec │ │ └── main.tfspec ├── providers_test.go ├── test_helper.go ├── test_project │ ├── provider.tf │ └── spec │ │ └── default │ │ └── default.tfspec └── test_project_tf12 │ ├── provider.tf │ └── spec │ └── default │ └── default.tfspec ├── lib ├── cty.go ├── cty_test.go ├── diagnostics.go ├── providers.go ├── providers_test.go ├── provisioners.go ├── spec.go ├── spec_test.go ├── terraform.go ├── terraform_internal.go ├── testdata │ ├── .terraform │ │ └── plugins │ │ │ └── no.registry.com │ │ │ └── nocorp │ │ │ └── testprovider │ │ │ └── 0.1.2 │ │ │ ├── linux_amd64 │ │ │ └── terraform-provider-testprovider_v0.1.2 │ │ │ └── windows_amd64 │ │ │ └── terraform-provider-testprovider_v0.1.2.exe │ ├── scenario.tfspec │ ├── scenario_expect.tfspec │ ├── scenario_mock_provider.tfspec │ └── scenario_workspace.tfspec └── testdata12 │ ├── .terraform │ └── plugins │ │ ├── linux_amd64 │ │ └── terraform-provider-testprovider_v0.1.2 │ │ └── windows_amd64 │ │ └── terraform-provider-testprovider_v0.1.2.exe │ ├── scenario.tfspec │ └── scenario_workspace.tfspec └── main.go /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/.gitignore -------------------------------------------------------------------------------- /DockerfileIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/DockerfileIT -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/README.md -------------------------------------------------------------------------------- /examples/aws/bucket/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/aws/bucket/main.tf -------------------------------------------------------------------------------- /examples/aws/bucket/spec/default.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/aws/bucket/spec/default.tfspec -------------------------------------------------------------------------------- /examples/aws/module_ec2/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/aws/module_ec2/main.tf -------------------------------------------------------------------------------- /examples/aws/module_ec2/spec/default/default.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/aws/module_ec2/spec/default/default.tfspec -------------------------------------------------------------------------------- /examples/aws/module_ec2/spec/with_ebs_block_device/override.tfvars: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/aws/module_ec2/spec/with_ebs_block_device/override.tfvars -------------------------------------------------------------------------------- /examples/aws/module_ec2/spec/with_ebs_block_device/with_ebs_block_device.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/aws/module_ec2/spec/with_ebs_block_device/with_ebs_block_device.tfspec -------------------------------------------------------------------------------- /examples/aws/module_ec2/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/aws/module_ec2/variables.tf -------------------------------------------------------------------------------- /examples/aws/multiregion/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/aws/multiregion/main.tf -------------------------------------------------------------------------------- /examples/aws/multiregion/spec/main.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/aws/multiregion/spec/main.tfspec -------------------------------------------------------------------------------- /examples/azure/module_dcos_cluster/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/azure/module_dcos_cluster/main.tf -------------------------------------------------------------------------------- /examples/azure/module_dcos_cluster/spec/custom_hostname_format/custom_hostname_format.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/azure/module_dcos_cluster/spec/custom_hostname_format/custom_hostname_format.tfspec -------------------------------------------------------------------------------- /examples/azure/module_dcos_cluster/spec/custom_hostname_format/override.tfvars: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/azure/module_dcos_cluster/spec/custom_hostname_format/override.tfvars -------------------------------------------------------------------------------- /examples/azure/module_dcos_cluster/spec/mono_cluster/mono_cluster.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/azure/module_dcos_cluster/spec/mono_cluster/mono_cluster.tfspec -------------------------------------------------------------------------------- /examples/azure/module_dcos_cluster/spec/mono_cluster/override.tfvars: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/azure/module_dcos_cluster/spec/mono_cluster/override.tfvars -------------------------------------------------------------------------------- /examples/azure/module_dcos_cluster/spec/three_cluster/override.tfvars: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/azure/module_dcos_cluster/spec/three_cluster/override.tfvars -------------------------------------------------------------------------------- /examples/azure/module_dcos_cluster/spec/three_cluster/three_cluster.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/azure/module_dcos_cluster/spec/three_cluster/three_cluster.tfspec -------------------------------------------------------------------------------- /examples/azure/module_dcos_cluster/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/azure/module_dcos_cluster/variables.tf -------------------------------------------------------------------------------- /examples/gcp/module_compute_instance/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/gcp/module_compute_instance/main.tf -------------------------------------------------------------------------------- /examples/gcp/module_compute_instance/spec/access_configs_and_static_ips/access_configs_and_static_ips.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/gcp/module_compute_instance/spec/access_configs_and_static_ips/access_configs_and_static_ips.tfspec -------------------------------------------------------------------------------- /examples/gcp/module_compute_instance/spec/access_configs_and_static_ips/override.tfvars: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/gcp/module_compute_instance/spec/access_configs_and_static_ips/override.tfvars -------------------------------------------------------------------------------- /examples/gcp/module_compute_instance/spec/no_access_configs_no_static_ips/access_configs_and_static_ips.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/gcp/module_compute_instance/spec/no_access_configs_no_static_ips/access_configs_and_static_ips.tfspec -------------------------------------------------------------------------------- /examples/gcp/module_compute_instance/spec/no_access_configs_no_static_ips/override.tfvars: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/gcp/module_compute_instance/spec/no_access_configs_no_static_ips/override.tfvars -------------------------------------------------------------------------------- /examples/gcp/module_compute_instance/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/gcp/module_compute_instance/variables.tf -------------------------------------------------------------------------------- /examples/workspace/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/workspace/main.tf -------------------------------------------------------------------------------- /examples/workspace/spec/default/test.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/examples/workspace/spec/default/test.tfspec -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/go.sum -------------------------------------------------------------------------------- /integration_tests/main_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/main_test.go -------------------------------------------------------------------------------- /integration_tests/mock_failure/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/mock_failure/main.tf -------------------------------------------------------------------------------- /integration_tests/mock_failure/spec/main.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/mock_failure/spec/main.tfspec -------------------------------------------------------------------------------- /integration_tests/mock_success/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/mock_success/main.tf -------------------------------------------------------------------------------- /integration_tests/mock_success/spec/main.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/mock_success/spec/main.tfspec -------------------------------------------------------------------------------- /integration_tests/providers_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/providers_test.go -------------------------------------------------------------------------------- /integration_tests/test_helper.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/test_helper.go -------------------------------------------------------------------------------- /integration_tests/test_project/provider.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/test_project/provider.tf -------------------------------------------------------------------------------- /integration_tests/test_project/spec/default/default.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/test_project/spec/default/default.tfspec -------------------------------------------------------------------------------- /integration_tests/test_project_tf12/provider.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/test_project_tf12/provider.tf -------------------------------------------------------------------------------- /integration_tests/test_project_tf12/spec/default/default.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/integration_tests/test_project_tf12/spec/default/default.tfspec -------------------------------------------------------------------------------- /lib/cty.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/cty.go -------------------------------------------------------------------------------- /lib/cty_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/cty_test.go -------------------------------------------------------------------------------- /lib/diagnostics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/diagnostics.go -------------------------------------------------------------------------------- /lib/providers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/providers.go -------------------------------------------------------------------------------- /lib/providers_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/providers_test.go -------------------------------------------------------------------------------- /lib/provisioners.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/provisioners.go -------------------------------------------------------------------------------- /lib/spec.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/spec.go -------------------------------------------------------------------------------- /lib/spec_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/spec_test.go -------------------------------------------------------------------------------- /lib/terraform.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/terraform.go -------------------------------------------------------------------------------- /lib/terraform_internal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/terraform_internal.go -------------------------------------------------------------------------------- /lib/testdata/.terraform/plugins/no.registry.com/nocorp/testprovider/0.1.2/linux_amd64/terraform-provider-testprovider_v0.1.2: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/testdata/.terraform/plugins/no.registry.com/nocorp/testprovider/0.1.2/windows_amd64/terraform-provider-testprovider_v0.1.2.exe: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/testdata/scenario.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/testdata/scenario.tfspec -------------------------------------------------------------------------------- /lib/testdata/scenario_expect.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/testdata/scenario_expect.tfspec -------------------------------------------------------------------------------- /lib/testdata/scenario_mock_provider.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/testdata/scenario_mock_provider.tfspec -------------------------------------------------------------------------------- /lib/testdata/scenario_workspace.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/testdata/scenario_workspace.tfspec -------------------------------------------------------------------------------- /lib/testdata12/.terraform/plugins/linux_amd64/terraform-provider-testprovider_v0.1.2: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/testdata12/.terraform/plugins/windows_amd64/terraform-provider-testprovider_v0.1.2.exe: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/testdata12/scenario.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/testdata12/scenario.tfspec -------------------------------------------------------------------------------- /lib/testdata12/scenario_workspace.tfspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/lib/testdata12/scenario_workspace.tfspec -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhurel/terraspec/HEAD/main.go --------------------------------------------------------------------------------