m1yag1.globus.globus_flows module – Manage Globus Flows

Note

This module is part of the m1yag1.globus collection (version 0.6.0).

It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install m1yag1.globus.

To use it in a playbook, specify: m1yag1.globus.globus_flows.

New in m1yag1.globus 1.0.0

Synopsis

  • Create, update, or delete Globus Flows

  • Deploy and manage workflow automation

Parameters

Parameter

Comments

administered_by

list / elements=string

Who can administer this flow.

Accepts usernames (e.g., user@globusid.org), identity URNs, or group URNs.

auth_method

string

Authentication method to use.

If not specified, auto-detects based on available credentials.

When client_id and client_secret are provided, uses client_credentials.

Otherwise falls back to cli (reads tokens from globus-cli storage).

Choices:

  • "client_credentials"

  • "cli"

client_id

string

Globus Auth client ID for client_credentials authentication.

Can also be set via the GLOBUS_CLIENT_ID environment variable.

client_secret

string

Globus Auth client secret for client_credentials authentication.

Can also be set via the GLOBUS_CLIENT_SECRET environment variable.

definition

any

Flow definition (JSON or dict)

definition_file

path

Path to file containing flow definition

description

string

Description of the flow

flow_id

string

ID of existing flow (for updates)

input_schema

dictionary

Input schema for the flow

keywords

list / elements=string

Keywords for the flow

runnable_by

list / elements=string

Who can run this flow.

Accepts usernames (e.g., user@globusid.org), identity URNs, group URNs, or special values.

Special values include ‘public’ and ‘all_authenticated_users’.

state

string

Desired state of the flow

Choices:

  • "present" ← (default)

  • "absent"

subscription_id

string

Subscription ID for flow creation (required when user has multiple subscriptions)

subtitle

string

Subtitle of the flow

title

string / required

Title of the flow

visible_to

list / elements=string

Visibility settings for the flow.

Accepts usernames (e.g., user@globusid.org), identity URNs, group URNs, or special values.

Special values include ‘public’ and ‘all_authenticated_users’.

Notes

Note

  • Authentication is required for all Globus API operations.

  • For client_credentials auth, register a confidential client at https://developers.globus.org.

  • For cli auth, run globus login first to cache tokens.

  • The cli method reads tokens from ~/.globus/cli/storage.db.

  • For cli auth with multiple profiles, set GLOBUS_PROFILE environment variable.

  • Set GLOBUS_SDK_ENVIRONMENT to sandbox or test for non-production environments.

See Also

See also

Globus Auth Documentation

Official Globus authentication documentation

Globus CLI

Command-line interface for Globus

Examples

- name: Create a Globus Flow
  globus_flows:
    title: "Data Processing Pipeline"
    subtitle: "Automated data processing and analysis"
    description: "Processes raw data through multiple stages"
    definition:
      Comment: "Simple data processing flow"
      StartAt: "ProcessData"
      States:
        ProcessData:
          Type: "Action"
          ActionUrl: "https://compute.api.globus.org"
          Parameters:
            endpoint: "my-compute-endpoint"
            function: "process_data"
          End: true
    keywords:
      - "data-processing"
      - "automation"
    visible_to:
      - "public"
    runnable_by:
      - "all_authenticated_users"
    state: present

- name: Create flow from file
  globus_flows:
    title: "File Transfer Flow"
    definition_file: "/path/to/flow_definition.json"
    state: present

- name: Delete a flow
  globus_flows:
    title: "Old Flow"
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

changed

boolean

Whether the flow was changed

Returned: always

flow_id

string

ID of the created/managed flow

Returned: when state=present

flow_scope

string

Globus Auth scope for this flow (used for timers and external triggering)

Returned: when state=present

title

string

Title of the flow

Returned: always

Authors

  • m1yag1