helm
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Helm.pm view on Meta::CPAN
package Helm;
use strict;
use warnings;
use Moose;
use Moose::Util::TypeConstraints qw(enum);
use URI;
use namespace::autoclean;
use Try::Tiny;
use File::Spec::Functions qw(catdir catfile tmpdir devnull);
use File::HomeDir;
use Net::OpenSSH;
use Fcntl qw(:flock);
use File::Basename qw(basename);
use Helm::Log;
use Helm::Server;
use Scalar::Util qw(blessed);
use Parallel::ForkManager;
use DateTime;
use IO::File;
our $VERSION = 0.4;
our $DEBUG = 0;
our $DEBUG_LOG;
our $DEBUG_LOG_PID;
enum LOG_LEVEL => qw(debug info warn error);
enum LOCK_TYPE => qw(none local remote both);
has task => (is => 'ro', writer => '_task', required => 1);
has user => (is => 'ro', writer => '_user', isa => 'Maybe[Str]');
has config_uri => (is => 'ro', writer => '_config_uri', isa => 'Maybe[Str]');
has config => (is => 'ro', writer => '_config', isa => 'Helm::Conf');
has lock_type => (is => 'ro', writer => '_lock_type', isa => 'LOCK_TYPE');
has sleep => (is => 'ro', writer => '_sleep', isa => 'Maybe[Num]');
has current_server => (is => 'ro', writer => '_current_server', isa => 'Helm::Server');
has current_ssh => (is => 'ro', writer => '_current_ssh', isa => 'Net::OpenSSH');
has log => (is => 'ro', writer => '_log', isa => 'Helm::Log');
has default_port => (is => 'ro', writer => '_port', isa => 'Maybe[Int]');
has timeout => (is => 'ro', writer => '_timeout', isa => 'Maybe[Int]');
has sudo => (is => 'rw', isa => 'Maybe[Str]', default => '');
has extra_options => (is => 'ro', isa => 'Maybe[HashRef]', default => sub { {} });
has extra_args => (is => 'ro', isa => 'Maybe[ArrayRef]', default => sub { [] });
has parallel => (is => 'ro', isa => 'Maybe[Bool]', default => 0);
has parallel_max => (is => 'ro', isa => 'Maybe[Int]', default => 100);
has continue_with_errors => (is => 'ro', isa => 'Maybe[Bool]', default => 0);
has all_configured_servers => (
is => 'ro',
writer => '_all_configured_servers',
isa => 'Maybe[Bool]',
default => 0,
);
has local_lock_handle => (
is => 'ro',
writer => '_local_lock_handle',
isa => 'Maybe[FileHandle]',
);
has servers => (
is => 'ro',
writer => '_servers',
isa => 'Maybe[ArrayRef]',
default => sub { [] },
);
has roles => (
is => 'ro',
writer => '_roles',
isa => 'ArrayRef[Str]',
default => sub { [] },
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.424 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )