slo-generator/convert.py

50 lines
1.1 KiB
Python

import yaml
import jinja2
import sys, os, shutil, pathlib
from glob import glob
from yaml.loader import SafeLoader
# pre-initialization get current working directory
cwd = os.getcwd()
# defines
TEMPLATE_FOLDER_BASENAME = os.path.basename("templates")
TEMPLATE_FILE_BASENAME = os.path.basename("terraform-template.j2")
YAML_FILE_BASENAME = os.path.basename("TP_FTS.yaml")
# define entries
slo_id = None
slo_name = None
displayname = None
department = None
doc_url = None
slo_definition_tresholds_warning = None
slo_definition_tresholds_failure = None
emea_prod_metric = None
emea_prod_filter_service = []
emea_prod_filter_keyRequests = []
na_prod_metric = None
na_prod_filter_service = []
na_prod_filter_keyRequests = []
cn_prod_metric = None
cn_prod_filter_service = []
cn_prod_filter_keyRequests = []
# read yaml file
with open(YAML_FILE_BASENAME) as f:
data = list(yaml.safe_load_all(f))
# read template file
env = jinja2.Environment(loader=jinja2.FileSystemLoader(TEMPLATE_FOLDER_BASENAME),
trim_blocks=True,
lstrip_blocks=True)
template = env.get_template(TEMPLATE_FILE_BASENAME)