:py:mod:`tests.system.providers.google.cloud.workflows.example_workflows`
=========================================================================

.. py:module:: tests.system.providers.google.cloud.workflows.example_workflows


Module Contents
---------------

.. py:data:: ENV_ID
   

   

.. py:data:: PROJECT_ID
   

   

.. py:data:: DAG_ID
   :annotation: = cloud_workflows

   

.. py:data:: LOCATION
   :annotation: = us-central1

   

.. py:data:: WORKFLOW_ID
   

   

.. py:data:: WORKFLOW_CONTENT
   :annotation: = Multiline-String

    .. raw:: html

        <details><summary>Show Value</summary>

    .. code-block:: text
        :linenos:

        
        - getCurrentTime:
            call: http.get
            args:
                url: https://us-central1-workflowsample.cloudfunctions.net/datetime
            result: currentTime
        - readWikipedia:
            call: http.get
            args:
                url: https://en.wikipedia.org/w/api.php
                query:
                    action: opensearch
                    search: ${currentTime.body.dayOfTheWeek}
            result: wikiResult
        - returnResult:
            return: ${wikiResult.body[1]}


    .. raw:: html

        </details>

   

.. py:data:: WORKFLOW
   

   

.. py:data:: EXECUTION
   

   

.. py:data:: SLEEP_WORKFLOW_ID
   

   

.. py:data:: SLEEP_WORKFLOW_CONTENT
   :annotation: = Multiline-String

    .. raw:: html

        <details><summary>Show Value</summary>

    .. code-block:: text
        :linenos:

        
        - someSleep:
            call: sys.sleep
            args:
                seconds: 120


    .. raw:: html

        </details>

   

.. py:data:: SLEEP_WORKFLOW
   

   

.. py:data:: create_workflow
   

   

.. py:data:: test_run
   

   

