App-Oozie
view release on metacpan or search on metacpan
lib/App/Oozie/Role/Fields/Objects.pm view on Meta::CPAN
package App::Oozie::Role::Fields::Objects;
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(
DEFAULT_TZ
DEFAULT_WEBHDFS_PORT
);
use App::Oozie::Date;
use App::Oozie::Types::DateTime qw( IsTZ );
use DateTime;
use Moo::Role;
use MooX::Options;
use Net::Hadoop::Oozie;
use Net::Hadoop::WebHDFS::LWP;
use Types::Standard qw( InstanceOf );
option resource_manager => (
is => 'rw',
format => 's',
);
option timezone => (
is => 'rw',
isa => IsTZ,
format => 's',
default => sub { DEFAULT_TZ },
doc => 'The time zone to be used when generating dates. Defaults to ' . DEFAULT_TZ,
);
option webhdfs_hostname => (
is => 'rw',
format => 's',
);
option webhdfs_port => (
is => 'rw',
format => 'i',
default => sub { DEFAULT_WEBHDFS_PORT },
);
option use_ssl => (
is => 'rw',
format => 'i',
default => sub { 0 },
);
has hdfs => (
is => 'rw',
isa => InstanceOf['Net::Hadoop::WebHDFS'],
lazy => 1,
default => sub {
my $self = shift;
my %opt = (
( $self->webhdfs_hostname ? (
host => $self->webhdfs_hostname,
) : ()),
port => $self->webhdfs_port,
username => $self->effective_username,
httpfs_mode => 1,
( $self->use_ssl ? (
use_ssl => 1,
) : () ),
);
Net::Hadoop::WebHDFS::LWP->new( %opt );
},
);
has date => (
is => 'ro',
isa => InstanceOf['App::Oozie::Date'],
( run in 0.515 second using v1.01-cache-2.11-cpan-5a3173703d6 )