Acme-Globus
view release on metacpan or search on metacpan
lib/Acme/Globus.pm view on Meta::CPAN
=head3 B<endpoint_rename>
Stubs
=cut
sub endpoint_activate { }
sub endpoint_add { }
sub endpoint_deactivate { }
sub endpoint_modify { }
sub endpoint_rename { }
=head2 OTHER
=head3 B<help>
=head3 B<history>
=head3 B<man>
=head3 B<profile>
=head3 B<versions>
profile() returns information about the Globus user, including the email address
and public key.
Otherwise stubs
=cut
sub profile {
my ($self) = @_ ;
my $command = qq{profile} ;
my $result
= _globus_action( $command, $self->{username}, $self->{key_path} ) ;
my %output
= map { my ( $k, $v ) = split m{:\s?}, $_ ; $k => $v } split m{\n},
$result ;
return wantarray ? %output : \%output ;
}
sub help { }
sub history { }
sub man { }
sub versions { }
sub _globus_action {
my ( $command, $user, $key_path ) = @_ ;
my $host = '@cli.globusonline.org' ;
my $ssh = Net::OpenSSH->new(
$user . $host,
key_path => $key_path,
async => 0,
) ;
$ssh->error
and die "Couldn't establish SSH connection: " . $ssh->error ;
my $debug = 0 ;
say STDERR "\t" . '=' x 20 if $debug ;
say STDERR "\t" . $command if $debug ;
say STDERR "\t" . '-' x 20 if $debug ;
my $response = $ssh->capture($command)
or carp "remote command failed: " . $ssh->error ;
return $response ;
}
1 ;
=head1 LICENSE
Copyright (C) 2017, Dave Jacoby.
This program is free software, you can redistribute it and/or modify it
under the terms of the Artistic License version 2.0.
=head1 AUTHOR
Dave Jacoby - L<jacoby.david@gmail.com>
=cut
( run in 2.890 seconds using v1.01-cache-2.11-cpan-5a3173703d6 )