Last active
April 29, 2021 18:06
-
-
Save codrcodz/ad6b0a287ba4cd02fdc4cbd072ce6ec4 to your computer and use it in GitHub Desktop.
Metadata Parser v0.2.0
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 | |
# 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; |
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 | |
# 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" \ | |
); |
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]$ 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