App-Oozie

 view release on metacpan or  search on metacpan

lib/App/Oozie/Deploy/Validate/Spec/Workflow.pm  view on Meta::CPAN

package App::Oozie::Deploy::Validate::Spec::Workflow;

use 5.014;
use strict;
use warnings;

our $VERSION = '0.020'; # VERSION

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

use App::Oozie::Constants qw(
    STAT_SIZE
);

use File::Basename;
use Moo;
use MooX::Options;
use Types::Standard qw( CodeRef );

my @JOB_TYPES_NEEDING_QUEUE = qw(
    fs
    hive
    java
    shell
    spark
    sqoop
    sub-workflow
);

with qw(
    App::Oozie::Role::Log
    App::Oozie::Role::Fields::Generic
    App::Oozie::Role::Validate::XML
);

has queue_conf_key_name => (
    is      => 'rw',
    default => sub { 'mapreduce.job.queuename' },
);

has file => (
    is       => 'rw',
    required => 1,
);

has file_size => (
    is      => 'ro',
    default => sub {
        my $file = shift->file;
        my $wf_size = (stat $file )[STAT_SIZE]
                        || die "$file either has zero size or I've failed to locate it";
        $wf_size;
    }
);

has max_wf_xml_length => (
    is       => 'rw',
    required => 1,
);

has max_node_name_len => (
    is       => 'rw',
    required => 1,
);

has email_validator => (
    is       => 'rw',
    required => 1,
    isa      => CodeRef,



( run in 0.978 second using v1.01-cache-2.11-cpan-524268b4103 )