Skip to content

Instantly share code, notes, and snippets.

@codrcodz
Last active April 29, 2021 18:06
Show Gist options
  • Save codrcodz/ad6b0a287ba4cd02fdc4cbd072ce6ec4 to your computer and use it in GitHub Desktop.
Save codrcodz/ad6b0a287ba4cd02fdc4cbd072ce6ec4 to your computer and use it in GitHub Desktop.
Metadata Parser v0.2.0
#!/usr/bin/env bash
# Note: This script requires Bash v4.3+ due to use of `local -n`
# Function ensures all deps are in $PATH before continuing
dependency_check() {
local 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() {
{ \
local -n keys="${2}" \
&& 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}\"" \
&& for key in "${!keys[@]}"; do
echo " ${key}: \"$(go list -m -f '{{ .Version }}' "${keys[$key]}" 2>/dev/null || echo "unknown";)\"";
done;
done < <(printf '%s\n' "${releases_array[@]}";) \
&& 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
# Uses associative arrays (Bash v4+ only); requires Bash upgrade on MacOS
convert_yaml_to_bash() {
{ \
local -n keys="${3}" \
&& echo -e "#!/usr/bin/env bash\n" \
&& echo "metadata_format=\"${2}\"" \
&& for key in "${!keys[@]}"; do
while read -r line; do
if [[ ${line} =~ tflint_version:.*$ ]]; then
tflint_version=${BASH_REMATCH#*: };
tflint_version=${tflint_version//\"};
elif [[ ${line} =~ ${key}:.*$ ]]; then
echo "tflint_v${tflint_version//./_}[${key}]=${BASH_REMATCH#*: }";
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}" "${3}" > "./${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}" "${3}" > "./${1}.bash";
} \
||
{ \
echo -e "\n[FAIL] Failed to create one or more releases metadata files; exiting." 1>&2;
exit 1;
};
};
if [[ -f "./metadata_parser.vars.sh" ]]; then
source ./metadata_parser.vars.sh \
&& main \
"${releases_metadata_file_prefix}" \
"${metadata_format}" \
"metadata_keys";
else
echo -e "\n[FAIL] No variables file (./metadata_parser.vars.sh) found; exiting." 1>&2;
exit 1;
fi;
#!/usr/bin/env bash
# This file is automatically sourced by `metadata_parser.sh`
# It inherits nearly all its global variables from here
# This variable is placed in metadata files to indicate changes to users
metadata_format="v0.2.0";
# Used as the prefix for the names of all metadata files
releases_metadata_file_prefix="releases_metadata";
# Array used to map metadata file keys to associated go module source code locations
declare -A metadata_keys;
# Shellcheck thinks this array isn't used because it is referenced indirectly
# shellcheck disable=2034
metadata_keys=( \
[terraform_version]="github.com/hashicorp/terraform" \
[hcl_version]="github.com/hashicorp/hcl/v2" \
);
[codz@dt tflint]$ cd .release_metadata/
[codz@dt .release_metadata]$ rm -f releases_metadata.*
[codz@dt .release_metadata]$ tree
.
└── metadata_parser.sh
0 directories, 1 file
[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]$ shellcheck -f json -x ./metadata_parser.sh
[]
[codz@dt .release_metadata]$ time ./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).
real 0m5.531s
user 0m7.723s
sys 0m2.513s
[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]$ for file in releases_metadata.*; do echo -e "\n\n:::$file:::\n$(<$file)"; done
:::releases_metadata.bash:::
#!/usr/bin/env bash
metadata_format="v0.2.0"
tflint_v0_1_0[hcl_version]="unknown"
tflint_v0_2_0[hcl_version]="unknown"
tflint_v0_2_1[hcl_version]="unknown"
tflint_v0_3_0[hcl_version]="unknown"
tflint_v0_3_1[hcl_version]="unknown"
tflint_v0_3_2[hcl_version]="unknown"
tflint_v0_3_3[hcl_version]="unknown"
tflint_v0_3_4[hcl_version]="unknown"
tflint_v0_3_5[hcl_version]="unknown"
tflint_v0_3_6[hcl_version]="unknown"
tflint_v0_4_0[hcl_version]="unknown"
tflint_v0_4_1[hcl_version]="unknown"
tflint_v0_4_2[hcl_version]="unknown"
tflint_v0_4_3[hcl_version]="unknown"
tflint_v0_5_0[hcl_version]="unknown"
tflint_v0_5_1[hcl_version]="unknown"
tflint_v0_5_2[hcl_version]="unknown"
tflint_v0_5_3[hcl_version]="unknown"
tflint_v0_5_4[hcl_version]="unknown"
tflint_v0_6_0[hcl_version]="unknown"
tflint_v0_7_0[hcl_version]="unknown"
tflint_v0_7_1[hcl_version]="unknown"
tflint_v0_7_2[hcl_version]="unknown"
tflint_v0_7_3[hcl_version]="unknown"
tflint_v0_7_4[hcl_version]="unknown"
tflint_v0_7_5[hcl_version]="unknown"
tflint_v0_7_6[hcl_version]="unknown"
tflint_v0_8_0[hcl_version]="unknown"
tflint_v0_8_1[hcl_version]="unknown"
tflint_v0_8_2[hcl_version]="unknown"
tflint_v0_8_3[hcl_version]="unknown"
tflint_v0_9_0[hcl_version]="unknown"
tflint_v0_9_1[hcl_version]="unknown"
tflint_v0_9_2[hcl_version]="unknown"
tflint_v0_9_3[hcl_version]="unknown"
tflint_v0_10_0[hcl_version]="unknown"
tflint_v0_10_1[hcl_version]="unknown"
tflint_v0_10_2[hcl_version]="unknown"
tflint_v0_10_3[hcl_version]="unknown"
tflint_v0_11_0[hcl_version]="unknown"
tflint_v0_11_1[hcl_version]="unknown"
tflint_v0_11_2[hcl_version]="unknown"
tflint_v0_12_0[hcl_version]="unknown"
tflint_v0_12_1[hcl_version]="v2.0.0"
tflint_v0_13_0[hcl_version]="v2.0.0"
tflint_v0_13_1[hcl_version]="v2.0.0"
tflint_v0_13_2[hcl_version]="v2.0.0"
tflint_v0_13_3[hcl_version]="v2.0.0"
tflint_v0_13_4[hcl_version]="v2.0.0"
tflint_v0_14_0[hcl_version]="v2.3.0"
tflint_v0_15_0[hcl_version]="v2.3.0"
tflint_v0_15_1[hcl_version]="v2.3.0"
tflint_v0_15_2[hcl_version]="v2.3.0"
tflint_v0_15_3[hcl_version]="v2.3.0"
tflint_v0_15_4[hcl_version]="v2.3.0"
tflint_v0_15_5[hcl_version]="v2.3.0"
tflint_v0_16_0[hcl_version]="v2.5.0"
tflint_v0_16_1[hcl_version]="v2.5.1"
tflint_v0_16_2[hcl_version]="v2.5.1"
tflint_v0_17_0[hcl_version]="v2.6.0"
tflint_v0_18_0[hcl_version]="v2.6.0"
tflint_v0_19_0[hcl_version]="v2.6.0"
tflint_v0_19_1[hcl_version]="v2.6.0"
tflint_v0_20_0[hcl_version]="v2.6.0"
tflint_v0_20_1[hcl_version]="v2.6.0"
tflint_v0_20_2[hcl_version]="v2.6.0"
tflint_v0_20_3[hcl_version]="v2.6.0"
tflint_v0_21_0[hcl_version]="v2.7.1"
tflint_v0_22_0[hcl_version]="v2.8.0"
tflint_v0_23_0[hcl_version]="v2.8.1"
tflint_v0_23_1[hcl_version]="v2.8.1"
tflint_v0_24_0[hcl_version]="v2.8.2"
tflint_v0_24_1[hcl_version]="v2.8.2"
tflint_v0_25_0[hcl_version]="v2.9.0"
tflint_v0_26_0[hcl_version]="v2.9.1"
tflint_v0_27_0[hcl_version]="v2.9.1"
tflint_v0_28_0[hcl_version]="v2.9.1"
tflint_v0_1_0[terraform_version]="unknown"
tflint_v0_2_0[terraform_version]="unknown"
tflint_v0_2_1[terraform_version]="unknown"
tflint_v0_3_0[terraform_version]="unknown"
tflint_v0_3_1[terraform_version]="unknown"
tflint_v0_3_2[terraform_version]="unknown"
tflint_v0_3_3[terraform_version]="unknown"
tflint_v0_3_4[terraform_version]="unknown"
tflint_v0_3_5[terraform_version]="unknown"
tflint_v0_3_6[terraform_version]="unknown"
tflint_v0_4_0[terraform_version]="unknown"
tflint_v0_4_1[terraform_version]="unknown"
tflint_v0_4_2[terraform_version]="unknown"
tflint_v0_4_3[terraform_version]="unknown"
tflint_v0_5_0[terraform_version]="unknown"
tflint_v0_5_1[terraform_version]="unknown"
tflint_v0_5_2[terraform_version]="unknown"
tflint_v0_5_3[terraform_version]="unknown"
tflint_v0_5_4[terraform_version]="unknown"
tflint_v0_6_0[terraform_version]="unknown"
tflint_v0_7_0[terraform_version]="unknown"
tflint_v0_7_1[terraform_version]="unknown"
tflint_v0_7_2[terraform_version]="unknown"
tflint_v0_7_3[terraform_version]="unknown"
tflint_v0_7_4[terraform_version]="unknown"
tflint_v0_7_5[terraform_version]="unknown"
tflint_v0_7_6[terraform_version]="unknown"
tflint_v0_8_0[terraform_version]="unknown"
tflint_v0_8_1[terraform_version]="v0.12.0"
tflint_v0_8_2[terraform_version]="v0.12.0"
tflint_v0_8_3[terraform_version]="v0.12.1"
tflint_v0_9_0[terraform_version]="v0.12.3"
tflint_v0_9_1[terraform_version]="v0.12.3"
tflint_v0_9_2[terraform_version]="v0.12.5"
tflint_v0_9_3[terraform_version]="v0.12.6"
tflint_v0_10_0[terraform_version]="v0.12.6"
tflint_v0_10_1[terraform_version]="v0.12.6"
tflint_v0_10_2[terraform_version]="v0.12.7"
tflint_v0_10_3[terraform_version]="v0.12.7"
tflint_v0_11_0[terraform_version]="v0.12.8"
tflint_v0_11_1[terraform_version]="v0.12.8"
tflint_v0_11_2[terraform_version]="v0.12.9"
tflint_v0_12_0[terraform_version]="v0.12.9"
tflint_v0_12_1[terraform_version]="v0.12.10"
tflint_v0_13_0[terraform_version]="v0.12.15"
tflint_v0_13_1[terraform_version]="v0.12.15"
tflint_v0_13_2[terraform_version]="v0.12.17"
tflint_v0_13_3[terraform_version]="v0.12.18"
tflint_v0_13_4[terraform_version]="v0.12.18"
tflint_v0_14_0[terraform_version]="v0.12.20"
tflint_v0_15_0[terraform_version]="v0.12.21"
tflint_v0_15_1[terraform_version]="v0.12.21"
tflint_v0_15_2[terraform_version]="v0.12.23"
tflint_v0_15_3[terraform_version]="v0.12.24"
tflint_v0_15_4[terraform_version]="v0.12.24"
tflint_v0_15_5[terraform_version]="v0.12.24"
tflint_v0_16_0[terraform_version]="v0.12.25"
tflint_v0_16_1[terraform_version]="v0.12.25"
tflint_v0_16_2[terraform_version]="v0.12.26"
tflint_v0_17_0[terraform_version]="v0.12.28"
tflint_v0_18_0[terraform_version]="v0.12.28"
tflint_v0_19_0[terraform_version]="v0.13.0"
tflint_v0_19_1[terraform_version]="v0.13.0"
tflint_v0_20_0[terraform_version]="v0.13.2"
tflint_v0_20_1[terraform_version]="v0.13.2"
tflint_v0_20_2[terraform_version]="v0.13.3"
tflint_v0_20_3[terraform_version]="v0.13.4"
tflint_v0_21_0[terraform_version]="v0.13.5"
tflint_v0_22_0[terraform_version]="v0.14.2"
tflint_v0_23_0[terraform_version]="v0.14.3"
tflint_v0_23_1[terraform_version]="v0.14.3"
tflint_v0_24_0[terraform_version]="v0.14.5"
tflint_v0_24_1[terraform_version]="v0.14.5"
tflint_v0_25_0[terraform_version]="v0.14.7"
tflint_v0_26_0[terraform_version]="v0.14.9"
tflint_v0_27_0[terraform_version]="v0.15.0"
tflint_v0_28_0[terraform_version]="v0.15.0"
:::releases_metadata.json:::
{
"metadata_format": "v0.2.0",
"tflint_releases": [
{
"tflint_version": "0.1.0",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.2.0",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.2.1",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.3.0",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.3.1",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.3.2",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.3.3",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.3.4",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.3.5",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.3.6",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.4.0",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.4.1",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.4.2",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.4.3",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.5.0",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.5.1",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.5.2",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.5.3",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.5.4",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.6.0",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.7.0",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.7.1",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.7.2",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.7.3",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.7.4",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.7.5",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.7.6",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.8.0",
"hcl_version": "unknown",
"terraform_version": "unknown"
},
{
"tflint_version": "0.8.1",
"hcl_version": "unknown",
"terraform_version": "v0.12.0"
},
{
"tflint_version": "0.8.2",
"hcl_version": "unknown",
"terraform_version": "v0.12.0"
},
{
"tflint_version": "0.8.3",
"hcl_version": "unknown",
"terraform_version": "v0.12.1"
},
{
"tflint_version": "0.9.0",
"hcl_version": "unknown",
"terraform_version": "v0.12.3"
},
{
"tflint_version": "0.9.1",
"hcl_version": "unknown",
"terraform_version": "v0.12.3"
},
{
"tflint_version": "0.9.2",
"hcl_version": "unknown",
"terraform_version": "v0.12.5"
},
{
"tflint_version": "0.9.3",
"hcl_version": "unknown",
"terraform_version": "v0.12.6"
},
{
"tflint_version": "0.10.0",
"hcl_version": "unknown",
"terraform_version": "v0.12.6"
},
{
"tflint_version": "0.10.1",
"hcl_version": "unknown",
"terraform_version": "v0.12.6"
},
{
"tflint_version": "0.10.2",
"hcl_version": "unknown",
"terraform_version": "v0.12.7"
},
{
"tflint_version": "0.10.3",
"hcl_version": "unknown",
"terraform_version": "v0.12.7"
},
{
"tflint_version": "0.11.0",
"hcl_version": "unknown",
"terraform_version": "v0.12.8"
},
{
"tflint_version": "0.11.1",
"hcl_version": "unknown",
"terraform_version": "v0.12.8"
},
{
"tflint_version": "0.11.2",
"hcl_version": "unknown",
"terraform_version": "v0.12.9"
},
{
"tflint_version": "0.12.0",
"hcl_version": "unknown",
"terraform_version": "v0.12.9"
},
{
"tflint_version": "0.12.1",
"hcl_version": "v2.0.0",
"terraform_version": "v0.12.10"
},
{
"tflint_version": "0.13.0",
"hcl_version": "v2.0.0",
"terraform_version": "v0.12.15"
},
{
"tflint_version": "0.13.1",
"hcl_version": "v2.0.0",
"terraform_version": "v0.12.15"
},
{
"tflint_version": "0.13.2",
"hcl_version": "v2.0.0",
"terraform_version": "v0.12.17"
},
{
"tflint_version": "0.13.3",
"hcl_version": "v2.0.0",
"terraform_version": "v0.12.18"
},
{
"tflint_version": "0.13.4",
"hcl_version": "v2.0.0",
"terraform_version": "v0.12.18"
},
{
"tflint_version": "0.14.0",
"hcl_version": "v2.3.0",
"terraform_version": "v0.12.20"
},
{
"tflint_version": "0.15.0",
"hcl_version": "v2.3.0",
"terraform_version": "v0.12.21"
},
{
"tflint_version": "0.15.1",
"hcl_version": "v2.3.0",
"terraform_version": "v0.12.21"
},
{
"tflint_version": "0.15.2",
"hcl_version": "v2.3.0",
"terraform_version": "v0.12.23"
},
{
"tflint_version": "0.15.3",
"hcl_version": "v2.3.0",
"terraform_version": "v0.12.24"
},
{
"tflint_version": "0.15.4",
"hcl_version": "v2.3.0",
"terraform_version": "v0.12.24"
},
{
"tflint_version": "0.15.5",
"hcl_version": "v2.3.0",
"terraform_version": "v0.12.24"
},
{
"tflint_version": "0.16.0",
"hcl_version": "v2.5.0",
"terraform_version": "v0.12.25"
},
{
"tflint_version": "0.16.1",
"hcl_version": "v2.5.1",
"terraform_version": "v0.12.25"
},
{
"tflint_version": "0.16.2",
"hcl_version": "v2.5.1",
"terraform_version": "v0.12.26"
},
{
"tflint_version": "0.17.0",
"hcl_version": "v2.6.0",
"terraform_version": "v0.12.28"
},
{
"tflint_version": "0.18.0",
"hcl_version": "v2.6.0",
"terraform_version": "v0.12.28"
},
{
"tflint_version": "0.19.0",
"hcl_version": "v2.6.0",
"terraform_version": "v0.13.0"
},
{
"tflint_version": "0.19.1",
"hcl_version": "v2.6.0",
"terraform_version": "v0.13.0"
},
{
"tflint_version": "0.20.0",
"hcl_version": "v2.6.0",
"terraform_version": "v0.13.2"
},
{
"tflint_version": "0.20.1",
"hcl_version": "v2.6.0",
"terraform_version": "v0.13.2"
},
{
"tflint_version": "0.20.2",
"hcl_version": "v2.6.0",
"terraform_version": "v0.13.3"
},
{
"tflint_version": "0.20.3",
"hcl_version": "v2.6.0",
"terraform_version": "v0.13.4"
},
{
"tflint_version": "0.21.0",
"hcl_version": "v2.7.1",
"terraform_version": "v0.13.5"
},
{
"tflint_version": "0.22.0",
"hcl_version": "v2.8.0",
"terraform_version": "v0.14.2"
},
{
"tflint_version": "0.23.0",
"hcl_version": "v2.8.1",
"terraform_version": "v0.14.3"
},
{
"tflint_version": "0.23.1",
"hcl_version": "v2.8.1",
"terraform_version": "v0.14.3"
},
{
"tflint_version": "0.24.0",
"hcl_version": "v2.8.2",
"terraform_version": "v0.14.5"
},
{
"tflint_version": "0.24.1",
"hcl_version": "v2.8.2",
"terraform_version": "v0.14.5"
},
{
"tflint_version": "0.25.0",
"hcl_version": "v2.9.0",
"terraform_version": "v0.14.7"
},
{
"tflint_version": "0.26.0",
"hcl_version": "v2.9.1",
"terraform_version": "v0.14.9"
},
{
"tflint_version": "0.27.0",
"hcl_version": "v2.9.1",
"terraform_version": "v0.15.0"
},
{
"tflint_version": "0.28.0",
"hcl_version": "v2.9.1",
"terraform_version": "v0.15.0"
}
]
}
:::releases_metadata.yaml:::
---
metadata_format: "v0.2.0"
tflint_releases:
- tflint_version: "0.1.0"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.2.0"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.2.1"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.3.0"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.3.1"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.3.2"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.3.3"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.3.4"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.3.5"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.3.6"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.4.0"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.4.1"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.4.2"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.4.3"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.5.0"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.5.1"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.5.2"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.5.3"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.5.4"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.6.0"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.7.0"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.7.1"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.7.2"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.7.3"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.7.4"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.7.5"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.7.6"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.8.0"
hcl_version: "unknown"
terraform_version: "unknown"
- tflint_version: "0.8.1"
hcl_version: "unknown"
terraform_version: "v0.12.0"
- tflint_version: "0.8.2"
hcl_version: "unknown"
terraform_version: "v0.12.0"
- tflint_version: "0.8.3"
hcl_version: "unknown"
terraform_version: "v0.12.1"
- tflint_version: "0.9.0"
hcl_version: "unknown"
terraform_version: "v0.12.3"
- tflint_version: "0.9.1"
hcl_version: "unknown"
terraform_version: "v0.12.3"
- tflint_version: "0.9.2"
hcl_version: "unknown"
terraform_version: "v0.12.5"
- tflint_version: "0.9.3"
hcl_version: "unknown"
terraform_version: "v0.12.6"
- tflint_version: "0.10.0"
hcl_version: "unknown"
terraform_version: "v0.12.6"
- tflint_version: "0.10.1"
hcl_version: "unknown"
terraform_version: "v0.12.6"
- tflint_version: "0.10.2"
hcl_version: "unknown"
terraform_version: "v0.12.7"
- tflint_version: "0.10.3"
hcl_version: "unknown"
terraform_version: "v0.12.7"
- tflint_version: "0.11.0"
hcl_version: "unknown"
terraform_version: "v0.12.8"
- tflint_version: "0.11.1"
hcl_version: "unknown"
terraform_version: "v0.12.8"
- tflint_version: "0.11.2"
hcl_version: "unknown"
terraform_version: "v0.12.9"
- tflint_version: "0.12.0"
hcl_version: "unknown"
terraform_version: "v0.12.9"
- tflint_version: "0.12.1"
hcl_version: "v2.0.0"
terraform_version: "v0.12.10"
- tflint_version: "0.13.0"
hcl_version: "v2.0.0"
terraform_version: "v0.12.15"
- tflint_version: "0.13.1"
hcl_version: "v2.0.0"
terraform_version: "v0.12.15"
- tflint_version: "0.13.2"
hcl_version: "v2.0.0"
terraform_version: "v0.12.17"
- tflint_version: "0.13.3"
hcl_version: "v2.0.0"
terraform_version: "v0.12.18"
- tflint_version: "0.13.4"
hcl_version: "v2.0.0"
terraform_version: "v0.12.18"
- tflint_version: "0.14.0"
hcl_version: "v2.3.0"
terraform_version: "v0.12.20"
- tflint_version: "0.15.0"
hcl_version: "v2.3.0"
terraform_version: "v0.12.21"
- tflint_version: "0.15.1"
hcl_version: "v2.3.0"
terraform_version: "v0.12.21"
- tflint_version: "0.15.2"
hcl_version: "v2.3.0"
terraform_version: "v0.12.23"
- tflint_version: "0.15.3"
hcl_version: "v2.3.0"
terraform_version: "v0.12.24"
- tflint_version: "0.15.4"
hcl_version: "v2.3.0"
terraform_version: "v0.12.24"
- tflint_version: "0.15.5"
hcl_version: "v2.3.0"
terraform_version: "v0.12.24"
- tflint_version: "0.16.0"
hcl_version: "v2.5.0"
terraform_version: "v0.12.25"
- tflint_version: "0.16.1"
hcl_version: "v2.5.1"
terraform_version: "v0.12.25"
- tflint_version: "0.16.2"
hcl_version: "v2.5.1"
terraform_version: "v0.12.26"
- tflint_version: "0.17.0"
hcl_version: "v2.6.0"
terraform_version: "v0.12.28"
- tflint_version: "0.18.0"
hcl_version: "v2.6.0"
terraform_version: "v0.12.28"
- tflint_version: "0.19.0"
hcl_version: "v2.6.0"
terraform_version: "v0.13.0"
- tflint_version: "0.19.1"
hcl_version: "v2.6.0"
terraform_version: "v0.13.0"
- tflint_version: "0.20.0"
hcl_version: "v2.6.0"
terraform_version: "v0.13.2"
- tflint_version: "0.20.1"
hcl_version: "v2.6.0"
terraform_version: "v0.13.2"
- tflint_version: "0.20.2"
hcl_version: "v2.6.0"
terraform_version: "v0.13.3"
- tflint_version: "0.20.3"
hcl_version: "v2.6.0"
terraform_version: "v0.13.4"
- tflint_version: "0.21.0"
hcl_version: "v2.7.1"
terraform_version: "v0.13.5"
- tflint_version: "0.22.0"
hcl_version: "v2.8.0"
terraform_version: "v0.14.2"
- tflint_version: "0.23.0"
hcl_version: "v2.8.1"
terraform_version: "v0.14.3"
- tflint_version: "0.23.1"
hcl_version: "v2.8.1"
terraform_version: "v0.14.3"
- tflint_version: "0.24.0"
hcl_version: "v2.8.2"
terraform_version: "v0.14.5"
- tflint_version: "0.24.1"
hcl_version: "v2.8.2"
terraform_version: "v0.14.5"
- tflint_version: "0.25.0"
hcl_version: "v2.9.0"
terraform_version: "v0.14.7"
- tflint_version: "0.26.0"
hcl_version: "v2.9.1"
terraform_version: "v0.14.9"
- tflint_version: "0.27.0"
hcl_version: "v2.9.1"
terraform_version: "v0.15.0"
- tflint_version: "0.28.0"
hcl_version: "v2.9.1"
terraform_version: "v0.15.0"
...
[codz@dt .release_metadata]$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment