Skip to content

Commit 626624a

Browse files
committed
Adding tf to hcl format names
1 parent b0d2522 commit 626624a

File tree

4 files changed

+87
-1
lines changed

4 files changed

+87
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ yq*.snap
4343

4444
test.yml
4545
test*.yml
46+
test*.tf
4647
test*.xml
4748
test*.toml
4849
test*.yaml

acceptance_tests/inputs-format.sh

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ setUp() {
66
rm test*.csv 2>/dev/null || true
77
rm test*.tsv 2>/dev/null || true
88
rm test*.xml 2>/dev/null || true
9+
rm test*.tf 2>/dev/null || true
910
}
1011

1112
testInputProperties() {
@@ -255,4 +256,61 @@ EOM
255256
assertEquals "$expected" "$X"
256257
}
257258

259+
testInputTerraform() {
260+
cat >test.tf <<EOL
261+
resource "aws_s3_bucket" "example" {
262+
bucket = "my-bucket"
263+
tags = {
264+
Environment = "Dev"
265+
Project = "Test"
266+
}
267+
}
268+
EOL
269+
270+
read -r -d '' expected << EOM
271+
resource "aws_s3_bucket" "example" {
272+
bucket = "my-bucket"
273+
tags = {
274+
Environment = "Dev"
275+
Project = "Test"
276+
}
277+
}
278+
EOM
279+
280+
X=$(./yq test.tf)
281+
assertEquals "$expected" "$X"
282+
283+
X=$(./yq ea test.tf)
284+
assertEquals "$expected" "$X"
285+
}
286+
287+
testInputTerraformGithubAction() {
288+
cat >test.tf <<EOL
289+
resource "aws_s3_bucket" "example" {
290+
bucket = "my-bucket"
291+
292+
tags = {
293+
Environment = "Dev"
294+
Project = "Test"
295+
}
296+
}
297+
EOL
298+
299+
read -r -d '' expected << EOM
300+
resource "aws_s3_bucket" "example" {
301+
bucket = "my-bucket"
302+
tags = {
303+
Environment = "Dev"
304+
Project = "Test"
305+
}
306+
}
307+
EOM
308+
309+
X=$(cat /dev/null | ./yq test.tf)
310+
assertEquals "$expected" "$X"
311+
312+
X=$(cat /dev/null | ./yq ea test.tf)
313+
assertEquals "$expected" "$X"
314+
}
315+
258316
source ./scripts/shunit2

examples/sample.tf

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# main.tf
2+
3+
# Define required providers and minimum Terraform version
4+
terraform {
5+
required_providers {
6+
aws = {
7+
source = "hashicorp/aws"
8+
version = "~> 5.0"
9+
}
10+
}
11+
required_version = ">= 1.2"
12+
}
13+
14+
# Configure the AWS provider
15+
provider "aws" {
16+
region = var.aws_region
17+
}
18+
19+
# Define an S3 bucket resource
20+
resource "aws_s3_bucket" "example_bucket" {
21+
bucket = var.bucket_name
22+
23+
tags = {
24+
Environment = "Development"
25+
Project = "TerraformExample"
26+
}
27+
}

pkg/yqlib/format.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ var TomlFormat = &Format{"toml", []string{},
6767
func() Decoder { return NewTomlDecoder() },
6868
}
6969

70-
var HclFormat = &Format{"hcl", []string{"h"},
70+
var HclFormat = &Format{"hcl", []string{"h", "tf"},
7171
func() Encoder { return NewHclEncoder(ConfiguredHclPreferences) },
7272
func() Decoder { return NewHclDecoder() },
7373
}

0 commit comments

Comments
 (0)