def get_requested_service_account()

in 5-app-infra/3-artifact-publish/docker/cdmc/tag_engine_api/access.py [0:0]


def get_requested_service_account(json): 
    
    store = tesh.TagEngineStoreHandler()
    
    if isinstance(json, dict) and 'service_account' in json:
        service_account = json['service_account']
    elif isinstance(json, dict) and 'config_uuid' in json and 'config_type' in json:
        service_account = store.lookup_service_account(json['config_type'], json['config_uuid'])
    elif isinstance(json, dict) and 'job_uuid' in json:
        config_uuid, config_type = store.read_config_by_job(json['job_uuid'])
        service_account = store.lookup_service_account(config_type, config_uuid)
    else:
        service_account = TAG_CREATOR_SA
    
    return service_account