Acme-Globus
view release on metacpan or search on metacpan
lib/Acme/Globus.pm view on Meta::CPAN
package Acme::Globus;
# ABSTRACT: Interface to the Globus research data sharing service
use strict;
use warnings;
use Carp ;
use JSON ;
use Net::OpenSSH ;
=pod
=head1 NAME
Globus - Object-Oriented interface to Globus
=head1 DESCRIPTION
Globus is a tool that allows the sharing of scientific data between
researchers and institutions. Globus enables you to transfer your
data using just a web browser, or using their SSH interface at
cli.globusonline.org.
This is a client library for the Globus CLI.
For detailed documentation of the API,
see L<http://dev.globus.org/cli/reference>.
=head1 CAVEATS
This code is a work in progress, focusing on my needs at the moment
rather than covering all the capabilities of the Globus CLI. It is
therefore very stubtastic.
This module also relies very much on SSH, and thus the rules of
private and public keys. Therefore, using it as a shared tool would
be ill-advised if not impossible.
=head1 SYNOPSIS
my $g = Globus->new($username,$path_to_ssh_key) ;
$g->endpoint_add_shared( 'institution#endpoint', $directory, $endpoint_name ) ;
$g->acl_add( $endpoint . '/', 'djacoby@example.com' ) ;
=head1 METHODS
=head2 BASICS
=head3 B<new>
Creates a new Globus object. Takes two options:
the username and path to the SSH key you use to connect to Globus.
=head3 B<set_username>
=head3 B<set_key_path>
=head3 B<get_username>
=head3 B<get_key_path>
These commands return and change the username and keypath you use to
connect to Globus.
=cut
sub new {
my ( $class, $username, $key_path ) = @_ ;
( run in 1.232 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )