turbaszek commented on a change in pull request #8575:
URL: https://github.com/apache/airflow/pull/8575#discussion_r482095033



##########
File path: airflow/providers/google/cloud/example_dags/example_cloud_build.py
##########
@@ -74,42 +108,146 @@
 }
 # [END howto_operator_create_build_from_repo_body]
 
+
 with models.DAG(
     "example_gcp_cloud_build",
     default_args=dict(start_date=dates.days_ago(1)),
     schedule_interval=None,
-    tags=['example'],
-) as dag:
+    tags=["example"],
+) as build_dag:
+
     # [START howto_operator_create_build_from_storage]
     create_build_from_storage = CloudBuildCreateBuildOperator(
-        task_id="create_build_from_storage", project_id=GCP_PROJECT_ID, 
body=create_build_from_storage_body
+        task_id="create_build_from_storage", project_id=GCP_PROJECT_ID, 
build=create_build_from_storage_body
     )
     # [END howto_operator_create_build_from_storage]
 
     # [START howto_operator_create_build_from_storage_result]
     create_build_from_storage_result = BashOperator(
-        bash_command="echo '{{ 
task_instance.xcom_pull('create_build_from_storage')['images'][0] }}'",
+        bash_command="echo '{{ 
task_instance.xcom_pull('create_build_from_storage')['results'] }}'",
         task_id="create_build_from_storage_result",
     )
     # [END howto_operator_create_build_from_storage_result]
 
+    # [START howto_operator_create_build_from_repo]
     create_build_from_repo = CloudBuildCreateBuildOperator(
-        task_id="create_build_from_repo", project_id=GCP_PROJECT_ID, 
body=create_build_from_repo_body
+        task_id="create_build_from_repo", project_id=GCP_PROJECT_ID, 
build=create_build_from_repo_body
     )
+    # [END howto_operator_create_build_from_repo]
 
+    # [START howto_operator_create_build_from_repo_result]
     create_build_from_repo_result = BashOperator(
-        bash_command="echo '{{ 
task_instance.xcom_pull('create_build_from_repo')['images'][0] }}'",
+        bash_command="echo '{{ 
task_instance.xcom_pull('create_build_from_repo')['results'] }}'",
         task_id="create_build_from_repo_result",
     )
+    # [END howto_operator_create_build_from_repo_result]
+
+    # [START howto_operator_list_builds]
+    list_builds = CloudBuildListBuildsOperator(task_id="list_builds", 
project_id=GCP_PROJECT_ID)
+    # [END howto_operator_list_builds]
+
+    # [START howto_operator_create_build_without_wait]
+    create_build_without_wait = CloudBuildCreateBuildOperator(
+        task_id="create_build_without_wait",
+        project_id=GCP_PROJECT_ID,
+        build=create_build_from_repo_body,
+        wait=False,
+    )
+    # [END howto_operator_create_build_without_wait]
+
+    # [START howto_operator_cancel_build]
+    cancel_build = CloudBuildCancelBuildOperator(
+        task_id="cancel_build",
+        id_="{{ task_instance.xcom_pull('create_build_without_wait')['id'] }}",
+        project_id=GCP_PROJECT_ID,
+    )
+    # [END howto_operator_cancel_build]
+
+    # [START howto_operator_get_build]
+    get_build = CloudBuildGetBuildOperator(
+        task_id="get_build",
+        id_="{{ task_instance.xcom_pull('create_build_without_wait')['id'] }}",
+        project_id=GCP_PROJECT_ID,
+    )
+    # [END howto_operator_get_build]
+
+    # [START howto_operator_retry_build]
+    retry_build = CloudBuildRetryBuildOperator(
+        task_id="retry_build",
+        id_="{{ task_instance.xcom_pull('create_build_without_wait')['id'] }}",
+        project_id=GCP_PROJECT_ID,
+    )
+    # [END howto_operator_retry_build]
 
     # [START howto_operator_gcp_create_build_from_yaml_body]
     create_build_from_file = CloudBuildCreateBuildOperator(
         task_id="create_build_from_file",
         project_id=GCP_PROJECT_ID,
-        body=str(CURRENT_FOLDER.joinpath('example_cloud_build.yaml')),
+        build=str(CURRENT_FOLDER.joinpath('example_cloud_build.yaml')),
         params={'name': 'Airflow'},
     )
     # [END howto_operator_gcp_create_build_from_yaml_body]
-    create_build_from_storage >> create_build_from_storage_result  # pylint: 
disable=pointless-statement
 
-    create_build_from_repo >> create_build_from_repo_result  # pylint: 
disable=pointless-statement
+    create_build_from_storage >> create_build_from_storage_result
+    create_build_from_storage_result >> list_builds
+    create_build_from_repo >> create_build_from_repo_result
+    create_build_from_repo_result >> list_builds
+    list_builds >> create_build_without_wait >> cancel_build
+    cancel_build >> retry_build >> get_build
+
+with models.DAG(
+    "example_gcp_cloud_build_trigger",
+    default_args=dict(start_date=dates.days_ago(1)),
+    schedule_interval=None,
+    tags=["example"],
+) as build_trigger_dag:
+
+    # [START howto_operator_create_build_trigger]
+    create_build_trigger = CloudBuildCreateBuildTriggerOperator(
+        task_id="create_build_trigger", project_id=GCP_PROJECT_ID, 
trigger=create_build_trigger_body
+    )
+    # [END howto_operator_create_build_trigger]
+
+    # [START howto_operator_run_build_trigger]
+    run_build_trigger = CloudBuildRunBuildTriggerOperator(
+        task_id="run_build_trigger",
+        project_id=GCP_PROJECT_ID,
+        trigger_id="{{ task_instance.xcom_pull('create_build_trigger')['id'] 
}}",
+        source=create_build_from_repo_body['source'],
+    )
+    # [END howto_operator_run_build_trigger]
+
+    # [START howto_operator_create_build_trigger]
+    update_build_trigger = CloudBuildUpdateBuildTriggerOperator(
+        task_id="update_build_trigger",
+        project_id=GCP_PROJECT_ID,
+        trigger_id="{{ task_instance.xcom_pull('create_build_trigger')['id'] 
}}",
+        trigger=update_build_trigger_body,
+    )
+    # [END howto_operator_create_build_trigger]
+
+    # [START howto_operator_get_build_trigger]
+    get_build_trigger = CloudBuildGetBuildTriggerOperator(
+        task_id="get_build_trigger",
+        project_id=GCP_PROJECT_ID,
+        trigger_id="{{ task_instance.xcom_pull('create_build_trigger')['id'] 
}}",
+    )
+    # [END howto_operator_get_build_trigger]
+
+    # [START howto_operator_delete_build_trigger]
+    delete_build_trigger = CloudBuildDeleteBuildTriggerOperator(
+        task_id="delete_build_trigger",
+        project_id=GCP_PROJECT_ID,
+        trigger_id="{{ task_instance.xcom_pull('create_build_trigger')['id'] 
}}",
+    )
+    # [END howto_operator_delete_build_trigger]
+
+    # [START howto_operator_list_build_triggers]
+    list_build_triggers = CloudBuildListBuildTriggersOperator(
+        task_id="list_build_triggers", project_id=GCP_PROJECT_ID,
+    )
+    # [END howto_operator_list_build_triggers]
+
+    create_build_trigger >> run_build_trigger >> update_build_trigger  # 
pylint: disable=pointless-statement
+    update_build_trigger >> get_build_trigger >> delete_build_trigger  # 
pylint: disable=pointless-statement
+    delete_build_trigger >> list_build_triggers  # pylint: 
disable=pointless-statement

Review comment:
       ```suggestion
       create_build_trigger >> run_build_trigger >> update_build_trigger
       update_build_trigger >> get_build_trigger >> delete_build_trigger
       delete_build_trigger >> list_build_triggers
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to