App-Oozie

 view release on metacpan or  search on metacpan

lib/App/Oozie/Update/Coordinator.pm  view on Meta::CPAN

package App::Oozie::Update::Coordinator;

use 5.014;
use strict;
use warnings;

our $VERSION = '0.016'; # VERSION

use namespace::autoclean -except => [qw/_options_data _options_config/];

use App::Oozie::Constants qw(
    EMPTY_STRING
    ONE_HOUR
    RE_EQUAL
);
use App::Oozie::Types::Common qw( IsCOORDID );
use App::Oozie::Util::Misc qw( resolve_tmp_dir );

use Config::General qw( ParseConfig );
use Cwd;
use Date::Format ();
use Date::Parse  ();
use File::Spec::Functions qw( catfile );
use File::Temp ();
use Getopt::Long;
use IPC::Cmd ();
use Ref::Util       qw( is_ref );
use Types::Standard qw( HashRef );
use XML::Twig;

use Moo;
use MooX::Options prefer_commandline => 0,
                  protect_argv       => 0,
                  usage_string       => <<'USAGE',
Usage: %c %o [options] --coord <coord id>
USAGE
;

with qw(
    App::Oozie::Role::Log
    App::Oozie::Role::Fields::Common
    App::Oozie::Role::Info
);

option coord => (
    is       => 'rw',
    isa      => IsCOORDID,
    format   => 's',
    required => 1,
    doc      => q{The ID of the coordinator you want to update},
);

option define => (
    is      => 'rw',
    format  => 's@',
    default => sub { [] },
    doc     => q{define or update a coordinator property, like "--define 'foo=bar'"},
);

option doas => (
    is     => 'rw',
    format => 's',
    lazy   => 1,
    doc    => 'User to impersonate as',
);

has override => (
    is      => 'rw',
    isa     => HashRef,
    default => sub {
        +{}
    },
);

sub run {
    my $self   = shift;
    my $logger = $self->logger;

    $logger->info(
        sprintf 'Starting%s',
                $self->verbose  ? EMPTY_STRING
                                : '. Enable --verbose to see more information',
    );

    $self->log_versions if $self->verbose;

    my($job_meta, $job_properties) = $self->collect_current_conf;

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.607 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )