def create_session_token_var(aws_session_token, workspace_id, org):
    """Return the session token evn var object."""
    return tfe_var_handler.TFEVars(key="AWS_SESSION_TOKEN",
                                   value=aws_session_token,
                                   category='env',
                                   org=org,
                                   workspace_id=workspace_id).get_var()
def create_region_var(region, workspace_id, org):
    """Return the region env var object."""
    return tfe_var_handler.TFEVars(key="AWS_DEFAULT_REGION",
                                   value=region,
                                   category='env',
                                   org=org,
                                   workspace_id=workspace_id).get_var()
def create_access_key_id_var(access_key_id, workspace_id, org):
    """Return env var object."""
    if access_key_id:
        return tfe_var_handler.TFEVars(key="AWS_ACCESS_KEY_ID",
                                       value=access_key_id,
                                       category='env',
                                       org=org,
                                       workspace_id=workspace_id).get_var()
    else:
        log.error("Access Key Id not found.")
        return False
def create_secret_access_key_id_var(secret_access_key, workspace_id, org):
    """Return env var object."""
    if secret_access_key:
        return tfe_var_handler.TFEVars(key="AWS_SECRET_ACCESS_KEY",
                                       value=secret_access_key,
                                       category='env',
                                       org=org,
                                       workspace_id=workspace_id,
                                       is_senative=True).get_var()
    else:
        log.error("Secret Access Key not found.")
        return False
def create_tfe_tf_vars(region, json_obj, org, workspace_id):
    """Populate TFE vars with raw var data."""
    configFromS3 = config.ConfigFromS3("tfsh-config", "config.ini", region)
    conf = configFromS3.config
    raw_vars = parse_vars(json_obj)
    response = {}
    if raw_vars:
        for var in raw_vars:
            var_value = raw_vars[var]
            # fix map values
            if "[{" in var_value:
                var_value = re.sub('\[|\]', '', var_value)
                new_var = tfe_var_handler.TFEVars(var,
                                                  var_value,
                                                  org=org,
                                                  workspace_id=workspace_id,
                                                  is_hcl="true").get_var()
            # check if the variable is a map or list
            elif "{" in var_value or "[" in var_value:
                new_var = tfe_var_handler.TFEVars(var,
                                                  var_value,
                                                  org=org,
                                                  workspace_id=workspace_id,
                                                  is_hcl="true").get_var()
            else:
                new_var = tfe_var_handler.TFEVars(
                    var, var_value, org=org,
                    workspace_id=workspace_id).get_var()
            print("var payload: {}".format(new_var))
            api_endpoint = "/vars"
            record = tfe_handler.TFERequest(api_endpoint, new_var, conf)
            var_response = record.make_request()
            log.debug('Create tfe_var response: {}'.format(response))
            response[var] = var_response
        return response
    else:
        log.error("Input json object was empty.")
        return "ERROR: vars json object cannot be empty"
def create_tfe_tf_vars(region, json_obj, org, workspace):
    """Populate TFE vars with raw var data."""
    configFromS3 = config.ConfigFromS3("tfsh-config", "config.ini",
                                       region)
    conf = configFromS3.config
    raw_vars = parse_vars(json_obj)
    response = {}
    if raw_vars:
        for var in raw_vars:
            new_var = tfe_var_handler.TFEVars(var, raw_vars[var], org=org,
                                              workspace=workspace).get_var()
            print("var payload: {}".format(new_var))
            api_endpoint = "/vars"
            record = tfe_handler.TFERequest(api_endpoint, new_var, conf)
            var_response = record.make_request()
            log.debug('Create tfe_var response: {}'.format(response))
            response[var] = var_response
        return response
    else:
        log.error("Input json object was empty.")
        return "ERROR: vars json object cannot be empty"