Source code for airflow.providers.google.cloud.links.datafusion
## Licensed to the Apache Software Foundation (ASF) under one# or more contributor license agreements. See the NOTICE file# distributed with this work for additional information# regarding copyright ownership. The ASF licenses this file# to you under the Apache License, Version 2.0 (the# "License"); you may not use this file except in compliance# with the License. You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing,# software distributed under the License is distributed on an# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY# KIND, either express or implied. See the License for the# specific language governing permissions and limitations# under the License."""This module contains Google Data Fusion links."""from__future__importannotationsfromtypingimportTYPE_CHECKING,ClassVarfromairflow.modelsimportBaseOperatorLink,XComifTYPE_CHECKING:fromairflow.modelsimportBaseOperatorfromairflow.models.taskinstancekeyimportTaskInstanceKeyfromairflow.utils.contextimportContext
[docs]classBaseGoogleLink(BaseOperatorLink):""" Link for Google operators. Prevent adding ``https://console.cloud.google.com`` in front of every link where URI is used. """
[docs]defget_link(self,operator:BaseOperator,*,ti_key:TaskInstanceKey,)->str:conf=XCom.get_value(key=self.key,ti_key=ti_key)ifnotconf:return""# Add a default value for the 'namespace' parameter for backward compatibility.conf.setdefault("namespace","default")returnself.format_str.format(**conf)
[docs]classDataFusionInstanceLink(BaseGoogleLink):"""Helper class for constructing Data Fusion Instance link."""