in 5-app-infra/3-artifact-publish/docker/cdmc/tag_engine_api/main.py [0:0]
def create_export_config():
json_request = request.get_json(force=True)
print('json request: ', json_request)
status, response, tag_creator_sa = do_authentication(request.headers, json_request, ENABLE_AUTH)
if status == False:
return jsonify(response), 400
if 'source_projects' in json_request:
source_projects = json_request['source_projects']
else:
source_projects = ''
if 'source_folder' in json_request:
source_folder = json_request['source_folder']
else:
source_folder = ''
if source_projects == '' and source_folder == '':
print("The export config requires either a source_projects or source_folder parameter. Please add the parameter to the json object.")
resp = jsonify(success=False)
return resp
if 'source_region' in json_request:
source_region = json_request['source_region']
else:
print("The export config requires either a source_region parameter. Please add the parameter to the json object.")
resp = jsonify(success=False)
return resp
if 'target_project' in json_request:
target_project = json_request['target_project']
else:
print("The export config requires a target_project parameter. Please add the parameter to the json object.")
resp = jsonify(success=False)
return resp
if 'target_dataset' in json_request:
target_dataset = json_request['target_dataset']
else:
print("The export config requires a target_dataset parameter. Please add the parameter to the json object.")
resp = jsonify(success=False)
return resp
if 'target_region' in json_request:
target_region = json_request['target_region']
else:
print("The export config requires a target_region parameter. Please add the parameter to the json object.")
resp = jsonify(success=False)
return resp
if 'refresh_mode' in json_request:
refresh_mode = json_request['refresh_mode']
else:
print("The export config requires a refresh_mode parameter. Please add the parameter to the json object.")
resp = jsonify(success=False)
return resp
if refresh_mode.upper() == 'AUTO':
if 'refresh_frequency' in json_request:
refresh_frequency = json_request['refresh_frequency']
else:
print("The export config requires a refresh_frequency parameter when refresh_mode = AUTO. Please add the parameter to the json object.")
resp = jsonify(success=False)
return resp
if 'refresh_unit' in json_request:
refresh_unit = json_request['refresh_unit']
else:
print("The export config requires a refresh_unit parameter when refresh_mode = AUTO. Please add the parameter to the json object.")
resp = jsonify(success=False)
return resp
else:
refresh_frequency = None
refresh_unit = None
if 'write_option' in json_request:
write_option = json_request['write_option']
else:
print("The export config requires a write_option parameter. Please add the parameter to the json object.")
resp = jsonify(success=False)
return resp
config_uuid = store.write_tag_export_config(tag_creator_sa, source_projects, source_folder, source_region, \
target_project, target_dataset, target_region, write_option, \
refresh_mode, refresh_frequency, refresh_unit)
return jsonify(config_uuid=config_uuid, config_type='TAG_EXPORT')