Last active
April 29, 2021 12:51
-
-
Save codrcodz/4508473b3bcf3aa5e10ea58791e5ecff to your computer and use it in GitHub Desktop.
tflint Metadata Parser
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
metadata_format="v0.1.0"; | |
releases_metadata_file_prefix="releases_metadata"; | |
# Function ensures all deps are in $PATH before continuing | |
dependency_check() { | |
deps="git go yq"; | |
for dep in ${deps}; do | |
hash "${dep}" &>/dev/null \ | |
|| | |
{ \ | |
echo -e "\n[FAIL] Could not find dep ($dep) in \$PATH; exiting." 1>&2; | |
exit 1; | |
}; | |
done; | |
}; | |
# Function that uses `git` commit metadata to parse and sort commits by timestamp into an autosorted bash array | |
# Parses `tflint` version tag info from `git` tags to identify each `tflint` release | |
# Parses compatible `terraform` version from output of `go list` for each `tflint` release | |
# Uses parsed metadata to print YAML file contents with relevant release metadata for each `tflint` release | |
parse_metadata() { | |
{ \ | |
echo "---" \ | |
&& echo "metadata_format: \"${1}\"" \ | |
&& echo "tflint_releases:" \ | |
&& while read -r timestamp _ tag hash; do \ | |
releases_array[${timestamp}]="${tag} ${hash}"; \ | |
done < <( \ | |
git \ | |
for-each-ref \ | |
--format='%(*committerdate:raw)%(committerdate:raw) %(refname) %(*objectname) %(objectname)' \ | |
refs/tags \ | |
2>/dev/null\ | |
) \ | |
&& while read -r tag hash; do \ | |
git checkout -q "${hash}" \ | |
&& echo " - tflint_version: \"${tag//*v}\"" \ | |
&& echo " terraform_version: \"$( \ | |
go \ | |
list \ | |
-m \ | |
-f '{{ .Version }}' github.com/hashicorp/terraform \ | |
2>/dev/null \ | |
|| \ | |
echo \ | |
"unknown"; \ | |
)\""; \ | |
done < <( \ | |
for release in "${releases_array[@]}"; do \ | |
echo "${release}"; \ | |
done; \ | |
) \ | |
&& echo "..."; | |
} \ | |
|| | |
{ \ | |
echo -e "\n[FAIL] Failed to parse tflint release metadata and/or output metadata to yaml file; exiting." 1>&2; | |
exit 1; | |
}; | |
}; | |
# Converts valid YAML file contents into valid JSON file contents | |
convert_yaml_to_json() { | |
if [[ -f "${1}" ]]; then | |
yq '.' "${1}" \ | |
|| | |
{ \ | |
echo -e "\n[FAIL] Failed to convert YAML file (${1}) to JSON format; exiting." 1>&2; | |
exit 1; | |
}; | |
else | |
echo -e "\n[FAIL] YAML file (${1}) not available for conversion to JSON format; exiting." 1>&2; | |
exit 1; | |
fi; | |
}; | |
# Converts valid YAML file contents into valid Bash file contents | |
# To use, download file and `source ${filename}` to ingest variables | |
# Avoids associative arrays for compatibility purposes (Only requires Bash v3+) | |
convert_yaml_to_bash() { | |
{ \ | |
echo -e "#!/usr/bin/env bash\n" \ | |
&& echo "metadata_format=\"${2}\"" \ | |
&& arrays=( \ | |
"tflint_version" \ | |
"terraform_version" \ | |
) \ | |
&& for array in "${arrays[@]}"; do | |
echo "declare -a ${array}"; | |
while read -r line; do | |
if [[ "${line}" =~ ${array}:.* ]]; then | |
echo "${array}+=${BASH_REMATCH//$array: }"; | |
fi | |
done < "${1}"; | |
done; | |
} \ | |
|| | |
{ \ | |
echo -e "\n[FAIL] Failed to convert YAML file (${1}) to Bash format; exiting." 1>&2; | |
exit 1; | |
}; | |
}; | |
# Main function that executes the functions defined elsewhere | |
# Builds YAML file first, then bases JSON and Bash files contents on YAML file contents | |
main() { | |
{ \ | |
dependency_check \ | |
&& echo -e "\n[INFO] Creating YAML version of releases metadata file (${1}.yaml)." \ | |
&& parse_metadata "${2}" > "./${1}.yaml" \ | |
&& echo -e "\n[INFO] Creating JSON version of releases metadata file (${1}.json)." \ | |
&& convert_yaml_to_json "./${1}.yaml" > "./${1}.json" \ | |
&& echo -e "\n[INFO] Creating Bash version of releases metadata file (${1}.bash)." \ | |
&& convert_yaml_to_bash "./${1}.yaml" "${2}" > "./${1}.bash"; | |
} \ | |
|| | |
{ \ | |
echo -e "\n[FAIL] Failed to create one or more releases metadata files; exiting." 1>&2; | |
exit 1; | |
}; | |
}; | |
main "${releases_metadata_file_prefix}" "${metadata_format}"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[codz@dt tflint]$ | |
[codz@dt tflint]$ cd .release_metadata/ | |
[codz@dt .release_metadata]$ tree | |
. | |
├── metadata_parser.sh | |
├── releases_metadata.bash | |
├── releases_metadata.json | |
└── releases_metadata.yaml | |
0 directories, 4 files | |
[codz@dt .release_metadata]$ ./metadata_parser.sh | |
[INFO] Creating YAML version of releases metadata file (releases_metadata.yaml). | |
[INFO] Creating JSON version of releases metadata file (releases_metadata.json). | |
[INFO] Creating Bash version of releases metadata file (releases_metadata.bash). | |
[codz@dt .release_metadata]$ cat releases_metadata.* | |
#!/usr/bin/env bash | |
metadata_format="v0.1.0" | |
declare -a tflint_version | |
tflint_version+="0.1.0" | |
tflint_version+="0.2.0" | |
tflint_version+="0.2.1" | |
tflint_version+="0.3.0" | |
tflint_version+="0.3.1" | |
tflint_version+="0.3.2" | |
tflint_version+="0.3.3" | |
tflint_version+="0.3.4" | |
tflint_version+="0.3.5" | |
tflint_version+="0.3.6" | |
tflint_version+="0.4.0" | |
tflint_version+="0.4.1" | |
tflint_version+="0.4.2" | |
tflint_version+="0.4.3" | |
tflint_version+="0.5.0" | |
tflint_version+="0.5.1" | |
tflint_version+="0.5.2" | |
tflint_version+="0.5.3" | |
tflint_version+="0.5.4" | |
tflint_version+="0.6.0" | |
tflint_version+="0.7.0" | |
tflint_version+="0.7.1" | |
tflint_version+="0.7.2" | |
tflint_version+="0.7.3" | |
tflint_version+="0.7.4" | |
tflint_version+="0.7.5" | |
tflint_version+="0.7.6" | |
tflint_version+="0.8.0" | |
tflint_version+="0.8.1" | |
tflint_version+="0.8.2" | |
tflint_version+="0.8.3" | |
tflint_version+="0.9.0" | |
tflint_version+="0.9.1" | |
tflint_version+="0.9.2" | |
tflint_version+="0.9.3" | |
tflint_version+="0.10.0" | |
tflint_version+="0.10.1" | |
tflint_version+="0.10.2" | |
tflint_version+="0.10.3" | |
tflint_version+="0.11.0" | |
tflint_version+="0.11.1" | |
tflint_version+="0.11.2" | |
tflint_version+="0.12.0" | |
tflint_version+="0.12.1" | |
tflint_version+="0.13.0" | |
tflint_version+="0.13.1" | |
tflint_version+="0.13.2" | |
tflint_version+="0.13.3" | |
tflint_version+="0.13.4" | |
tflint_version+="0.14.0" | |
tflint_version+="0.15.0" | |
tflint_version+="0.15.1" | |
tflint_version+="0.15.2" | |
tflint_version+="0.15.3" | |
tflint_version+="0.15.4" | |
tflint_version+="0.15.5" | |
tflint_version+="0.16.0" | |
tflint_version+="0.16.1" | |
tflint_version+="0.16.2" | |
tflint_version+="0.17.0" | |
tflint_version+="0.18.0" | |
tflint_version+="0.19.0" | |
tflint_version+="0.19.1" | |
tflint_version+="0.20.0" | |
tflint_version+="0.20.1" | |
tflint_version+="0.20.2" | |
tflint_version+="0.20.3" | |
tflint_version+="0.21.0" | |
tflint_version+="0.22.0" | |
tflint_version+="0.23.0" | |
tflint_version+="0.23.1" | |
tflint_version+="0.24.0" | |
tflint_version+="0.24.1" | |
tflint_version+="0.25.0" | |
tflint_version+="0.26.0" | |
tflint_version+="0.27.0" | |
tflint_version+="0.28.0" | |
declare -a terraform_version | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="unknown" | |
terraform_version+="v0.12.0" | |
terraform_version+="v0.12.0" | |
terraform_version+="v0.12.1" | |
terraform_version+="v0.12.3" | |
terraform_version+="v0.12.3" | |
terraform_version+="v0.12.5" | |
terraform_version+="v0.12.6" | |
terraform_version+="v0.12.6" | |
terraform_version+="v0.12.6" | |
terraform_version+="v0.12.7" | |
terraform_version+="v0.12.7" | |
terraform_version+="v0.12.8" | |
terraform_version+="v0.12.8" | |
terraform_version+="v0.12.9" | |
terraform_version+="v0.12.9" | |
terraform_version+="v0.12.10" | |
terraform_version+="v0.12.15" | |
terraform_version+="v0.12.15" | |
terraform_version+="v0.12.17" | |
terraform_version+="v0.12.18" | |
terraform_version+="v0.12.18" | |
terraform_version+="v0.12.20" | |
terraform_version+="v0.12.21" | |
terraform_version+="v0.12.21" | |
terraform_version+="v0.12.23" | |
terraform_version+="v0.12.24" | |
terraform_version+="v0.12.24" | |
terraform_version+="v0.12.24" | |
terraform_version+="v0.12.25" | |
terraform_version+="v0.12.25" | |
terraform_version+="v0.12.26" | |
terraform_version+="v0.12.28" | |
terraform_version+="v0.12.28" | |
terraform_version+="v0.13.0" | |
terraform_version+="v0.13.0" | |
terraform_version+="v0.13.2" | |
terraform_version+="v0.13.2" | |
terraform_version+="v0.13.3" | |
terraform_version+="v0.13.4" | |
terraform_version+="v0.13.5" | |
terraform_version+="v0.14.2" | |
terraform_version+="v0.14.3" | |
terraform_version+="v0.14.3" | |
terraform_version+="v0.14.5" | |
terraform_version+="v0.14.5" | |
terraform_version+="v0.14.7" | |
terraform_version+="v0.14.9" | |
terraform_version+="v0.15.0" | |
terraform_version+="v0.15.0" | |
{ | |
"metadata_format": "v0.1.0", | |
"tflint_releases": [ | |
{ | |
"tflint_version": "0.1.0", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.2.0", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.2.1", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.3.0", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.3.1", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.3.2", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.3.3", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.3.4", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.3.5", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.3.6", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.4.0", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.4.1", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.4.2", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.4.3", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.5.0", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.5.1", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.5.2", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.5.3", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.5.4", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.6.0", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.7.0", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.7.1", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.7.2", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.7.3", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.7.4", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.7.5", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.7.6", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.8.0", | |
"terraform_version": "unknown" | |
}, | |
{ | |
"tflint_version": "0.8.1", | |
"terraform_version": "v0.12.0" | |
}, | |
{ | |
"tflint_version": "0.8.2", | |
"terraform_version": "v0.12.0" | |
}, | |
{ | |
"tflint_version": "0.8.3", | |
"terraform_version": "v0.12.1" | |
}, | |
{ | |
"tflint_version": "0.9.0", | |
"terraform_version": "v0.12.3" | |
}, | |
{ | |
"tflint_version": "0.9.1", | |
"terraform_version": "v0.12.3" | |
}, | |
{ | |
"tflint_version": "0.9.2", | |
"terraform_version": "v0.12.5" | |
}, | |
{ | |
"tflint_version": "0.9.3", | |
"terraform_version": "v0.12.6" | |
}, | |
{ | |
"tflint_version": "0.10.0", | |
"terraform_version": "v0.12.6" | |
}, | |
{ | |
"tflint_version": "0.10.1", | |
"terraform_version": "v0.12.6" | |
}, | |
{ | |
"tflint_version": "0.10.2", | |
"terraform_version": "v0.12.7" | |
}, | |
{ | |
"tflint_version": "0.10.3", | |
"terraform_version": "v0.12.7" | |
}, | |
{ | |
"tflint_version": "0.11.0", | |
"terraform_version": "v0.12.8" | |
}, | |
{ | |
"tflint_version": "0.11.1", | |
"terraform_version": "v0.12.8" | |
}, | |
{ | |
"tflint_version": "0.11.2", | |
"terraform_version": "v0.12.9" | |
}, | |
{ | |
"tflint_version": "0.12.0", | |
"terraform_version": "v0.12.9" | |
}, | |
{ | |
"tflint_version": "0.12.1", | |
"terraform_version": "v0.12.10" | |
}, | |
{ | |
"tflint_version": "0.13.0", | |
"terraform_version": "v0.12.15" | |
}, | |
{ | |
"tflint_version": "0.13.1", | |
"terraform_version": "v0.12.15" | |
}, | |
{ | |
"tflint_version": "0.13.2", | |
"terraform_version": "v0.12.17" | |
}, | |
{ | |
"tflint_version": "0.13.3", | |
"terraform_version": "v0.12.18" | |
}, | |
{ | |
"tflint_version": "0.13.4", | |
"terraform_version": "v0.12.18" | |
}, | |
{ | |
"tflint_version": "0.14.0", | |
"terraform_version": "v0.12.20" | |
}, | |
{ | |
"tflint_version": "0.15.0", | |
"terraform_version": "v0.12.21" | |
}, | |
{ | |
"tflint_version": "0.15.1", | |
"terraform_version": "v0.12.21" | |
}, | |
{ | |
"tflint_version": "0.15.2", | |
"terraform_version": "v0.12.23" | |
}, | |
{ | |
"tflint_version": "0.15.3", | |
"terraform_version": "v0.12.24" | |
}, | |
{ | |
"tflint_version": "0.15.4", | |
"terraform_version": "v0.12.24" | |
}, | |
{ | |
"tflint_version": "0.15.5", | |
"terraform_version": "v0.12.24" | |
}, | |
{ | |
"tflint_version": "0.16.0", | |
"terraform_version": "v0.12.25" | |
}, | |
{ | |
"tflint_version": "0.16.1", | |
"terraform_version": "v0.12.25" | |
}, | |
{ | |
"tflint_version": "0.16.2", | |
"terraform_version": "v0.12.26" | |
}, | |
{ | |
"tflint_version": "0.17.0", | |
"terraform_version": "v0.12.28" | |
}, | |
{ | |
"tflint_version": "0.18.0", | |
"terraform_version": "v0.12.28" | |
}, | |
{ | |
"tflint_version": "0.19.0", | |
"terraform_version": "v0.13.0" | |
}, | |
{ | |
"tflint_version": "0.19.1", | |
"terraform_version": "v0.13.0" | |
}, | |
{ | |
"tflint_version": "0.20.0", | |
"terraform_version": "v0.13.2" | |
}, | |
{ | |
"tflint_version": "0.20.1", | |
"terraform_version": "v0.13.2" | |
}, | |
{ | |
"tflint_version": "0.20.2", | |
"terraform_version": "v0.13.3" | |
}, | |
{ | |
"tflint_version": "0.20.3", | |
"terraform_version": "v0.13.4" | |
}, | |
{ | |
"tflint_version": "0.21.0", | |
"terraform_version": "v0.13.5" | |
}, | |
{ | |
"tflint_version": "0.22.0", | |
"terraform_version": "v0.14.2" | |
}, | |
{ | |
"tflint_version": "0.23.0", | |
"terraform_version": "v0.14.3" | |
}, | |
{ | |
"tflint_version": "0.23.1", | |
"terraform_version": "v0.14.3" | |
}, | |
{ | |
"tflint_version": "0.24.0", | |
"terraform_version": "v0.14.5" | |
}, | |
{ | |
"tflint_version": "0.24.1", | |
"terraform_version": "v0.14.5" | |
}, | |
{ | |
"tflint_version": "0.25.0", | |
"terraform_version": "v0.14.7" | |
}, | |
{ | |
"tflint_version": "0.26.0", | |
"terraform_version": "v0.14.9" | |
}, | |
{ | |
"tflint_version": "0.27.0", | |
"terraform_version": "v0.15.0" | |
}, | |
{ | |
"tflint_version": "0.28.0", | |
"terraform_version": "v0.15.0" | |
} | |
] | |
} | |
--- | |
metadata_format: "v0.1.0" | |
tflint_releases: | |
- tflint_version: "0.1.0" | |
terraform_version: "unknown" | |
- tflint_version: "0.2.0" | |
terraform_version: "unknown" | |
- tflint_version: "0.2.1" | |
terraform_version: "unknown" | |
- tflint_version: "0.3.0" | |
terraform_version: "unknown" | |
- tflint_version: "0.3.1" | |
terraform_version: "unknown" | |
- tflint_version: "0.3.2" | |
terraform_version: "unknown" | |
- tflint_version: "0.3.3" | |
terraform_version: "unknown" | |
- tflint_version: "0.3.4" | |
terraform_version: "unknown" | |
- tflint_version: "0.3.5" | |
terraform_version: "unknown" | |
- tflint_version: "0.3.6" | |
terraform_version: "unknown" | |
- tflint_version: "0.4.0" | |
terraform_version: "unknown" | |
- tflint_version: "0.4.1" | |
terraform_version: "unknown" | |
- tflint_version: "0.4.2" | |
terraform_version: "unknown" | |
- tflint_version: "0.4.3" | |
terraform_version: "unknown" | |
- tflint_version: "0.5.0" | |
terraform_version: "unknown" | |
- tflint_version: "0.5.1" | |
terraform_version: "unknown" | |
- tflint_version: "0.5.2" | |
terraform_version: "unknown" | |
- tflint_version: "0.5.3" | |
terraform_version: "unknown" | |
- tflint_version: "0.5.4" | |
terraform_version: "unknown" | |
- tflint_version: "0.6.0" | |
terraform_version: "unknown" | |
- tflint_version: "0.7.0" | |
terraform_version: "unknown" | |
- tflint_version: "0.7.1" | |
terraform_version: "unknown" | |
- tflint_version: "0.7.2" | |
terraform_version: "unknown" | |
- tflint_version: "0.7.3" | |
terraform_version: "unknown" | |
- tflint_version: "0.7.4" | |
terraform_version: "unknown" | |
- tflint_version: "0.7.5" | |
terraform_version: "unknown" | |
- tflint_version: "0.7.6" | |
terraform_version: "unknown" | |
- tflint_version: "0.8.0" | |
terraform_version: "unknown" | |
- tflint_version: "0.8.1" | |
terraform_version: "v0.12.0" | |
- tflint_version: "0.8.2" | |
terraform_version: "v0.12.0" | |
- tflint_version: "0.8.3" | |
terraform_version: "v0.12.1" | |
- tflint_version: "0.9.0" | |
terraform_version: "v0.12.3" | |
- tflint_version: "0.9.1" | |
terraform_version: "v0.12.3" | |
- tflint_version: "0.9.2" | |
terraform_version: "v0.12.5" | |
- tflint_version: "0.9.3" | |
terraform_version: "v0.12.6" | |
- tflint_version: "0.10.0" | |
terraform_version: "v0.12.6" | |
- tflint_version: "0.10.1" | |
terraform_version: "v0.12.6" | |
- tflint_version: "0.10.2" | |
terraform_version: "v0.12.7" | |
- tflint_version: "0.10.3" | |
terraform_version: "v0.12.7" | |
- tflint_version: "0.11.0" | |
terraform_version: "v0.12.8" | |
- tflint_version: "0.11.1" | |
terraform_version: "v0.12.8" | |
- tflint_version: "0.11.2" | |
terraform_version: "v0.12.9" | |
- tflint_version: "0.12.0" | |
terraform_version: "v0.12.9" | |
- tflint_version: "0.12.1" | |
terraform_version: "v0.12.10" | |
- tflint_version: "0.13.0" | |
terraform_version: "v0.12.15" | |
- tflint_version: "0.13.1" | |
terraform_version: "v0.12.15" | |
- tflint_version: "0.13.2" | |
terraform_version: "v0.12.17" | |
- tflint_version: "0.13.3" | |
terraform_version: "v0.12.18" | |
- tflint_version: "0.13.4" | |
terraform_version: "v0.12.18" | |
- tflint_version: "0.14.0" | |
terraform_version: "v0.12.20" | |
- tflint_version: "0.15.0" | |
terraform_version: "v0.12.21" | |
- tflint_version: "0.15.1" | |
terraform_version: "v0.12.21" | |
- tflint_version: "0.15.2" | |
terraform_version: "v0.12.23" | |
- tflint_version: "0.15.3" | |
terraform_version: "v0.12.24" | |
- tflint_version: "0.15.4" | |
terraform_version: "v0.12.24" | |
- tflint_version: "0.15.5" | |
terraform_version: "v0.12.24" | |
- tflint_version: "0.16.0" | |
terraform_version: "v0.12.25" | |
- tflint_version: "0.16.1" | |
terraform_version: "v0.12.25" | |
- tflint_version: "0.16.2" | |
terraform_version: "v0.12.26" | |
- tflint_version: "0.17.0" | |
terraform_version: "v0.12.28" | |
- tflint_version: "0.18.0" | |
terraform_version: "v0.12.28" | |
- tflint_version: "0.19.0" | |
terraform_version: "v0.13.0" | |
- tflint_version: "0.19.1" | |
terraform_version: "v0.13.0" | |
- tflint_version: "0.20.0" | |
terraform_version: "v0.13.2" | |
- tflint_version: "0.20.1" | |
terraform_version: "v0.13.2" | |
- tflint_version: "0.20.2" | |
terraform_version: "v0.13.3" | |
- tflint_version: "0.20.3" | |
terraform_version: "v0.13.4" | |
- tflint_version: "0.21.0" | |
terraform_version: "v0.13.5" | |
- tflint_version: "0.22.0" | |
terraform_version: "v0.14.2" | |
- tflint_version: "0.23.0" | |
terraform_version: "v0.14.3" | |
- tflint_version: "0.23.1" | |
terraform_version: "v0.14.3" | |
- tflint_version: "0.24.0" | |
terraform_version: "v0.14.5" | |
- tflint_version: "0.24.1" | |
terraform_version: "v0.14.5" | |
- tflint_version: "0.25.0" | |
terraform_version: "v0.14.7" | |
- tflint_version: "0.26.0" | |
terraform_version: "v0.14.9" | |
- tflint_version: "0.27.0" | |
terraform_version: "v0.15.0" | |
- tflint_version: "0.28.0" | |
terraform_version: "v0.15.0" | |
... | |
[codz@dt .release_metadata]$ shellcheck -f json metadata_parser.sh | |
[] | |
[codz@dt .release_metadata]$ shellcheck -V | |
ShellCheck - shell script analysis tool | |
version: 0.7.1 | |
license: GNU General Public License, version 3 | |
website: https://www.shellcheck.net | |
[codz@dt .release_metadata]$ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment