Skip to content

Commit 1b9e469

Browse files
committed
Fixes #1 Fix error when percent sign is in a key name
1 parent 5329ee5 commit 1b9e469

File tree

4 files changed

+124
-2
lines changed

4 files changed

+124
-2
lines changed

JSONPath.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -757,8 +757,8 @@ json() {
757757
comma[pathlen]=
758758
}
759759
let indent=(pathlen+1)*4
760-
printf "${comma[pathlen]}%0${indent}s${path[-1]}:" ""
761-
echo -n "$value"
760+
printf "${comma[pathlen]}%0${indent}s" ""
761+
echo -n "${path[-1]}:$value"
762762
comma[pathlen]=",\n"
763763
else
764764
# Array

test/valid/terraform.argp1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
..

test/valid/terraform.json

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
{
2+
"version": 3,
3+
"terraform_version": "0.10.8",
4+
"serial": 283,
5+
"lineage": "6bd3d27b-e8d4-4a35-a691-7658ec82dda0",
6+
"modules": [
7+
{
8+
"path": [
9+
"root"
10+
],
11+
"outputs": {},
12+
"resources": {
13+
"data.aws_ami.rds_backup_ami": {
14+
"type": "aws_ami",
15+
"depends_on": [],
16+
"primary": {
17+
"id": "ami-6eb6c80b",
18+
"attributes": {
19+
"architecture": "x86_64",
20+
"block_device_mappings.#": "3",
21+
"block_device_mappings.1634610537.device_name": "/dev/sdb",
22+
"block_device_mappings.1634610537.ebs.%": "0",
23+
"block_device_mappings.1634610537.no_device": "",
24+
"block_device_mappings.1634610537.virtual_name": "ephemeral0",
25+
"block_device_mappings.2547816212.device_name": "/dev/sda1",
26+
"block_device_mappings.2547816212.ebs.%": "6",
27+
"block_device_mappings.2547816212.ebs.delete_on_termination": "true",
28+
"block_device_mappings.2547816212.ebs.encrypted": "false",
29+
"block_device_mappings.2547816212.ebs.iops": "0",
30+
"block_device_mappings.2547816212.ebs.snapshot_id": "snap-03cf8fd8dbcfb9ef9",
31+
"block_device_mappings.2547816212.ebs.volume_size": "8",
32+
"block_device_mappings.2547816212.ebs.volume_type": "gp2",
33+
"block_device_mappings.2547816212.no_device": "",
34+
"block_device_mappings.2547816212.virtual_name": "",
35+
"block_device_mappings.3850042718.device_name": "/dev/sdc",
36+
"block_device_mappings.3850042718.ebs.%": "0",
37+
"block_device_mappings.3850042718.no_device": "",
38+
"block_device_mappings.3850042718.virtual_name": "ephemeral1",
39+
"creation_date": "2017-12-11T10:31:14.000Z",
40+
"hypervisor": "xen",
41+
"id": "ami-6eb6f89a",
42+
"image_id": "ami-6e96f80a",
43+
"image_location": "419923423128/ubuntu-1604-blah-1512988117",
44+
"image_type": "machine",
45+
"most_recent": "true",
46+
"name": "ubuntu-1604-blah-1512988117",
47+
"name_regex": "ubuntu-1604-blah-*",
48+
"owner_id": "419129293927",
49+
"owners.#": "1",
50+
"owners.0": "419129293927",
51+
"product_codes.#": "0",
52+
"public": "false",
53+
"root_device_name": "/dev/sda1",
54+
"root_device_type": "ebs",
55+
"root_snapshot_id": "snap-05be5ad8dbcfb9ef9",
56+
"sriov_net_support": "simple",
57+
"state": "available",
58+
"state_reason.%": "2",
59+
"state_reason.code": "UNSET",
60+
"state_reason.message": "UNSET",
61+
"tags.%": "0",
62+
"virtualization_type": "hvm"
63+
},
64+
"meta": {},
65+
"tainted": false
66+
},
67+
"deposed": [],
68+
"provider": ""
69+
}
70+
}
71+
}
72+
]
73+
}

test/valid/terraform_argp1.parsed

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
["version"] 3
2+
["terraform_version"] "0.10.8"
3+
["serial"] 283
4+
["lineage"] "6bd3d27b-e8d4-4a35-a691-7658ec82dda0"
5+
["modules",0,"path",0] "root"
6+
["modules",0,"resources","data.aws_ami.rds_backup_ami","type"] "aws_ami"
7+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","id"] "ami-6eb6c80b"
8+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","architecture"] "x86_64"
9+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.#"] "3"
10+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.1634610537.device_name"] "/dev/sdb"
11+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.1634610537.ebs.%"] "0"
12+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.1634610537.virtual_name"] "ephemeral0"
13+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.2547816212.device_name"] "/dev/sda1"
14+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.2547816212.ebs.%"] "6"
15+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.2547816212.ebs.delete_on_termination"] "true"
16+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.2547816212.ebs.encrypted"] "false"
17+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.2547816212.ebs.iops"] "0"
18+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.2547816212.ebs.snapshot_id"] "snap-03cf8fd8dbcfb9ef9"
19+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.2547816212.ebs.volume_size"] "8"
20+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.2547816212.ebs.volume_type"] "gp2"
21+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.3850042718.device_name"] "/dev/sdc"
22+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.3850042718.ebs.%"] "0"
23+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","block_device_mappings.3850042718.virtual_name"] "ephemeral1"
24+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","creation_date"] "2017-12-11T10:31:14.000Z"
25+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","hypervisor"] "xen"
26+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","id"] "ami-6eb6f89a"
27+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","image_id"] "ami-6e96f80a"
28+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","image_location"] "419923423128/ubuntu-1604-blah-1512988117"
29+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","image_type"] "machine"
30+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","most_recent"] "true"
31+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","name"] "ubuntu-1604-blah-1512988117"
32+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","name_regex"] "ubuntu-1604-blah-*"
33+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","owner_id"] "419129293927"
34+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","owners.#"] "1"
35+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","owners.0"] "419129293927"
36+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","product_codes.#"] "0"
37+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","public"] "false"
38+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","root_device_name"] "/dev/sda1"
39+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","root_device_type"] "ebs"
40+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","root_snapshot_id"] "snap-05be5ad8dbcfb9ef9"
41+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","sriov_net_support"] "simple"
42+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","state"] "available"
43+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","state_reason.%"] "2"
44+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","state_reason.code"] "UNSET"
45+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","state_reason.message"] "UNSET"
46+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","tags.%"] "0"
47+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","attributes","virtualization_type"] "hvm"
48+
["modules",0,"resources","data.aws_ami.rds_backup_ami","primary","tainted"] false

0 commit comments

Comments
 (0)