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 |
|---|---|
Authentication method to use. If not specified, auto-detects based on available credentials. When Otherwise falls back to Choices:
|
|
Globus Auth client ID for client_credentials authentication. Can also be set via the |
|
Globus Auth client secret for client_credentials authentication. Can also be set via the |
|
Contact email for the endpoint |
|
Description of the endpoint |
|
Type of endpoint Choices:
|
|
Display name of the endpoint |
|
Network usage setting Choices:
|
|
Organization name |
|
Whether the endpoint should be public Choices:
|
|
Desired state of the endpoint Choices:
|
|
Subscription ID for managed endpoints |
Notes
Note
Authentication is required for all Globus API operations.
For
client_credentialsauth, register a confidential client at https://developers.globus.org.For
cliauth, runglobus loginfirst to cache tokens.The
climethod reads tokens from~/.globus/cli/storage.db.For
cliauth with multiple profiles, setGLOBUS_PROFILEenvironment variable.Set
GLOBUS_SDK_ENVIRONMENTtosandboxortestfor 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 |
|---|---|
Whether the endpoint was changed Returned: always |
|
ID of the created/managed endpoint Returned: when state=present |
|
Name of the endpoint Returned: always |