in TerraformScripts/sc_terraform_wrapper/terraform_executor.py [0:0]
def _get_terraform_version(request_command):
try:
version_bytes = subprocess.check_output(['terraform', 'version'])
version_str = version_bytes.decode('utf-8')
version_matches = re.findall('v(\d+\.\d+\.\d+)$', version_str, flags=re.M)
if len(version_matches) == 1:
return parse_version(version_matches[0])
else:
raise Exception('Unable to determine terraform version. `terraform version` output'
'has unexpected format: {}. '
'Skipping `terraform {}`'.format(version_str, request_command))
except subprocess.CalledProcessError as e:
exit_code = e.returncode
raise Exception('Unable to determine terraform version. `terraform version` finished '
'with exit code {}. '
'Skipping `terraform {}`'.format(e.returncode, request_command))