m1yag1.globus.globus_endpoint module – Manage Globus Endpoints

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_endpoint.

New in m1yag1.globus 1.0.0

Synopsis

  • Create, update, or delete Globus Endpoints

  • Configure endpoint settings and authentication

Parameters

Parameter

Comments

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.

contact_email

string

Contact email for the endpoint

description

string

Description of the endpoint

endpoint_type

string

Type of endpoint

Choices:

  • "personal" ← (default)

  • "shared"

  • "server"

name

string / required

Display name of the endpoint

network_use

string

Network usage setting

Choices:

  • "normal" ← (default)

  • "minimal"

  • "aggressive"

organization

string

Organization name

public

boolean

Whether the endpoint should be public

Choices:

  • false ← (default)

  • true

state

string

Desired state of the endpoint

Choices:

  • "present" ← (default)

  • "absent"

subscription_id

string

Subscription ID for managed endpoints

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

# Basic endpoint creation
- name: Create a Globus endpoint
  globus_endpoint:
    name: "My Research Endpoint"
    description: "Data endpoint for research project"
    organization: "University Research Lab"
    contact_email: "admin@university.edu"
    endpoint_type: "server"
    public: true
    state: present

# High-performance research endpoint
- name: Create high-performance research data endpoint
  globus_endpoint:
    name: "Research Data Server"
    description: "High-performance data transfer endpoint for genomics research"
    organization: "University Research Computing"
    contact_email: "admin@university.edu"
    endpoint_type: server
    hostname: "data.university.edu"
    public: true
    network_use: aggressive
    state: present

# Personal endpoint for individual researchers
- name: Create personal research endpoint
  globus_endpoint:
    name: "{{ ansible_user }}-personal"
    description: "Personal endpoint for {{ ansible_user }}"
    organization: "University"
    contact_email: "{{ ansible_user }}@university.edu"
    endpoint_type: personal
    public: false
    state: present

# Multi-institutional collaboration endpoint
- name: Create collaboration endpoint
  globus_endpoint:
    name: "Multi-Inst-Collab"
    description: "Multi-institutional genomics collaboration endpoint"
    organization: "Research Consortium"
    contact_email: "consortium-admin@universities.org"
    endpoint_type: server
    public: false  # Private for consortium members only
    network_use: aggressive
    state: present
  register: collab_endpoint

# Using service credentials
- name: Create endpoint with service credentials
  globus_endpoint:
    name: "Production Endpoint"
    description: "Production data transfer endpoint"
    organization: "Research Computing"
    contact_email: "support@university.edu"
    endpoint_type: server
    public: true
    client_id: "{{ vault_globus_client_id }}"
    client_secret: "{{ vault_globus_client_secret }}"
    state: present

# GCS deployment automation
- name: Create GCS endpoint with dynamic naming
  globus_endpoint:
    name: "{{ ansible_hostname }}-gcs"
    description: "GCS endpoint for {{ ansible_hostname }}"
    organization: "{{ organization_name }}"
    contact_email: "{{ admin_email }}"
    endpoint_type: server
    hostname: "{{ ansible_fqdn }}"
    public: true
    network_use: normal
    state: present
  delegate_to: localhost

# Delete an endpoint
- name: Delete an endpoint
  globus_endpoint:
    name: "Old Endpoint"
    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 endpoint was changed

Returned: always

endpoint_id

string

ID of the created/managed endpoint

Returned: when state=present

name

string

Name of the endpoint

Returned: always

Authors

  • m1yag1