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 )