def execute(self, context):
     hook = MLEngineHook(
         gcp_conn_id=self._gcp_conn_id, delegate_to=self._delegate_to)
     if self._operation == 'create':
         return hook.create_model(self._project_id, self._model)
     elif self._operation == 'get':
         return hook.get_model(self._project_id, self._model['name'])
     else:
         raise ValueError('Unknown operation: {}'.format(self._operation))
 def execute(self, context):
     hook = MLEngineHook(gcp_conn_id=self._gcp_conn_id,
                         delegate_to=self._delegate_to)
     if self._operation == 'create':
         return hook.create_model(self._project_id, self._model)
     elif self._operation == 'get':
         return hook.get_model(self._project_id, self._model['name'])
     else:
         raise ValueError('Unknown operation: {}'.format(self._operation))
def do_check_model(**kwargs):
    """ Check if a model with the name exists using Hooks instead of operators.
    Uses xcom_push to pass it to the next step. Could use return too if no key.
    """
    # pushes an XCom without a specific target, just by returning it
    mle = MLEngineHook()
    model_name = kwargs['dag_run'].conf.get('model_name')
    # return bool(mle.get_model(PROJECT, MODEL_DNN_NAME))
    project = mle.get_model(PROJECT, model_name)
    kwargs['ti'].xcom_push(key='is_project', value=bool(project))