App-ElasticSearch-Utilities

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "JSON::MaybeXS" : "0",
            "LWP::UserAgent" : "0",
            "Module::Load" : "0",
            "Module::Pluggable::Object" : "0",
            "Moo" : "0",
            "Moo::Role" : "0",
            "Net::CIDR::Lite" : "0",
            "Net::Netrc" : "0",
            "POSIX" : "0",
            "Pod::Usage" : "0",
            "Ref::Util" : "0",
            "Storable" : "0",
            "Sub::Exporter" : "0",
            "Test::Deep" : "0",
            "Text::CSV_XS" : "0",
            "Time::HiRes" : "0",
            "Time::Local" : "0",
            "Type::Library" : "0",
            "Type::Tiny" : "0",
            "Types::Standard" : "0",
            "URI" : "0",

META.yml  view on Meta::CPAN

  JSON::MaybeXS: '0'
  LWP::UserAgent: '0'
  Module::Load: '0'
  Module::Pluggable::Object: '0'
  Moo: '0'
  Moo::Role: '0'
  Net::CIDR::Lite: '0'
  Net::Netrc: '0'
  POSIX: '0'
  Pod::Usage: '0'
  Ref::Util: '0'
  Storable: '0'
  Sub::Exporter: '0'
  Test::Deep: '0'
  Text::CSV_XS: '0'
  Time::HiRes: '0'
  Time::Local: '0'
  Type::Library: '0'
  Type::Tiny: '0'
  Types::Standard: '0'
  URI: '0'

Makefile.PL  view on Meta::CPAN

    "JSON::MaybeXS" => 0,
    "LWP::UserAgent" => 0,
    "Module::Load" => 0,
    "Module::Pluggable::Object" => 0,
    "Moo" => 0,
    "Moo::Role" => 0,
    "Net::CIDR::Lite" => 0,
    "Net::Netrc" => 0,
    "POSIX" => 0,
    "Pod::Usage" => 0,
    "Ref::Util" => 0,
    "Storable" => 0,
    "Sub::Exporter" => 0,
    "Test::Deep" => 0,
    "Text::CSV_XS" => 0,
    "Time::HiRes" => 0,
    "Time::Local" => 0,
    "Type::Library" => 0,
    "Type::Tiny" => 0,
    "Types::Standard" => 0,
    "URI" => 0,

lib/App/ElasticSearch/Utilities.pm  view on Meta::CPAN


use App::ElasticSearch::Utilities::HTTPRequest;
use CLI::Helpers qw(:all);
use Getopt::Long qw(GetOptionsFromArray :config pass_through no_auto_abbrev);
use Hash::Flatten qw(flatten);
use Hash::Merge::Simple qw(clone_merge);
use IPC::Run3;
use JSON::MaybeXS;
use LWP::UserAgent;
use Net::Netrc;
use Ref::Util qw(is_ref is_arrayref is_hashref);
use Time::Local;
use URI;
use URI::QueryParam;
use YAML::XS ();

# Control loading ARGV
my $ARGV_AT_INIT    = 1;
my $COPY_ARGV       = 0;
our $_init_complete = 0;

lib/App/ElasticSearch/Utilities/Connection.pm  view on Meta::CPAN

use v5.16;
use warnings;

our $VERSION = '8.8'; # VERSION

use App::ElasticSearch::Utilities::HTTPRequest;
use CLI::Helpers qw(:output);
use JSON::MaybeXS;
use LWP::UserAgent;
use Module::Load;
use Ref::Util qw(is_ref is_arrayref is_hashref);
use Types::Standard qw( Enum HashRef InstanceOf Int Str );
use URI;
use URI::QueryParam;

use Moo;
use namespace::autoclean;

has 'host' => (
    is      => 'ro',
    isa     => Str,

lib/App/ElasticSearch/Utilities/HTTPRequest.pm  view on Meta::CPAN

# ABSTRACT: Allow for strange content elements for Elasticsearch APIs


use v5.16;
use warnings;
no warnings 'uninitialized';

our $VERSION = '8.8'; # VERSION

use JSON::MaybeXS;
use Ref::Util qw(is_ref is_arrayref is_hashref);

use parent 'HTTP::Request';

sub new {
    my $class = shift;
    my $self = $class->SUPER::new(@_);
    $self->header('Accept' => 'application/json');

    return $self;
}

lib/App/ElasticSearch/Utilities/Metrics.pm  view on Meta::CPAN



use v5.16;
use warnings;

our $VERSION = '8.8'; # VERSION

use App::ElasticSearch::Utilities qw(es_connect);
use CLI::Helpers qw(:output);
use JSON::MaybeXS;
use Ref::Util qw(is_ref is_arrayref is_hashref);
use Types::Standard qw( ArrayRef Bool HashRef InstanceOf Int Str );

use Moo;
use namespace::autoclean;


has 'connection' => (
    is      => 'ro',
    isa     => InstanceOf['App::ElasticSearch::Utilities::Connection'],
    default => sub { es_connect() },

lib/App/ElasticSearch/Utilities/Query.pm  view on Meta::CPAN

use warnings;

our $VERSION = '8.8'; # VERSION

use App::ElasticSearch::Utilities qw(es_request es_indices);
use App::ElasticSearch::Utilities::Aggregations;
use CLI::Helpers qw(:output);
use Clone qw(clone);
use Const::Fast;
use Moo;
use Ref::Util qw(is_arrayref is_hashref);
use Types::Standard qw(ArrayRef Enum HashRef Int Maybe Str);
use Types::ElasticSearch qw(TimeConstant is_TimeConstant);
use namespace::autoclean;

const my $AGG_KEY => 'aggregations';
my %TO = (
    array_ref => sub { defined $_[0] && is_arrayref($_[0]) ? $_[0] : defined $_[0] ? [ $_[0] ] : $_[0] },
);


lib/App/ElasticSearch/Utilities/QueryString.pm  view on Meta::CPAN

use v5.16;
use warnings;

our $VERSION = '8.8'; # VERSION

use App::ElasticSearch::Utilities qw(:config);
use App::ElasticSearch::Utilities::Query;
use CLI::Helpers qw(:output);
use Module::Pluggable::Object;
use Moo;
use Ref::Util qw(is_arrayref);
use Types::Standard qw(ArrayRef Enum HashRef);

use namespace::autoclean;


my %JOINING  = map { $_ => 1 } qw( AND OR );
my %TRAILING = map { $_ => 1 } qw( AND OR NOT );


has 'context' => (

lib/App/ElasticSearch/Utilities/QueryString/FileExpansion.pm  view on Meta::CPAN

# ABSTRACT: Build a terms query from unique values in a column of a file

use v5.16;
use warnings;

our $VERSION = '8.8'; # VERSION

use CLI::Helpers qw(:output);
use File::Slurp::Tiny qw(read_lines);
use JSON::MaybeXS;
use Ref::Util qw(is_ref is_arrayref is_hashref);
use Text::CSV_XS;
use namespace::autoclean;

use Moo;
with 'App::ElasticSearch::Utilities::QueryString::Plugin';

sub _build_priority { 10; }

my %parsers = (
    txt  => \&_parse_txt,

lib/App/ElasticSearch/Utilities/QueryString/Plugin.pm  view on Meta::CPAN

package App::ElasticSearch::Utilities::QueryString::Plugin;
# ABSTRACT: Moo::Role for implementing QueryString Plugins

use v5.16;
use warnings;

our $VERSION = '8.8'; # VERSION

use Hash::Merge::Simple qw(clone_merge);
use Moo::Role;
use Ref::Util qw(is_arrayref is_hashref);
use Types::Standard qw( HashRef Str Int );


# Attributes
has name => (
    is  => 'lazy',
    isa => Str,
);
sub _build_name {
    my $self = shift;

scripts/es-alias-manager.pl  view on Meta::CPAN

# PODNAME: es-alias-manager.pl
# ABSTRACT: Allow easy alias management for daily indexes
use strict;
use warnings;

use App::ElasticSearch::Utilities qw(:default);
use CLI::Helpers qw(:all);
use DateTime;
use Getopt::Long qw(:config no_ignore_case no_ignore_case_always);
use Pod::Usage;
use Ref::Util qw( is_ref );
use YAML::XS ();

#------------------------------------------------------------------------#
# Argument Collection
my %opt;
GetOptions(\%opt,
    'all',
    'config=s',
    'skip=s',
    # Basic options

scripts/es-copy-index.pl  view on Meta::CPAN

use App::ElasticSearch::Utilities qw(:default :index);
use App::ElasticSearch::Utilities::Query;
use App::ElasticSearch::Utilities::QueryString;
use CLI::Helpers qw(:all);
use File::Basename;
use File::Slurp::Tiny qw(read_lines);
use Getopt::Long qw(:config posix_default no_ignore_case no_ignore_case_always);
use Hash::Merge::Simple qw(clone_merge);
use JSON::MaybeXS;
use Pod::Usage;
use Ref::Util qw(is_hashref);
use Time::HiRes qw(time);

#------------------------------------------------------------------------#
# Argument Parsing
my %OPT;
GetOptions(\%OPT, qw(
    from=s
    to=s
    source=s
    destination=s

scripts/es-graphite-dynamic.pl  view on Meta::CPAN

# ABSTRACT: Dynamically gather metrics and send to graphite
use strict;
use warnings;

use App::ElasticSearch::Utilities qw(es_connect);
use App::ElasticSearch::Utilities::Metrics;
use CLI::Helpers qw(:all);
use Getopt::Long qw(:config no_ignore_case no_ignore_case_always);
use IO::Socket::INET;
use Pod::Usage;
use Ref::Util qw(is_hashref is_arrayref);

#------------------------------------------------------------------------#
# Argument Collection
my %opt;
GetOptions(\%opt,
    'ignore=s',
    'carbon-base=s',
    'carbon-proto=s',
    'carbon-server=s',
    'carbon-port=i',

scripts/es-index-blocks.pl  view on Meta::CPAN

# PODNAME: es-index-blocks.pl
# ABSTRACT: Report and manage index blocks
use strict;
use warnings;

use App::ElasticSearch::Utilities qw(es_request es_node_stats es_index_stats es_index_strip_date es_flatten_hash);
use CLI::Helpers qw(:all);
use Getopt::Long::Descriptive;
use IO::Socket::INET;
use Pod::Usage;
use Ref::Util qw(is_hashref is_arrayref);

#------------------------------------------------------------------------#
# Argument Collection
my ($opt,$usage) = describe_options('%c %o',
    ['remove-blocks|remove',  "Remove discovered blocks, default is to just report."],
    [],
    ['For complete options, see the manual.'],
    [],
    ['help',   "Display this message and exit.", { shortcircuit => 1 }],
    ['manual', "Display complete man page.", { shortcircuit => 1 }],

scripts/es-search.pl  view on Meta::CPAN


use App::ElasticSearch::Utilities qw(:all);
use App::ElasticSearch::Utilities::Query;
use App::ElasticSearch::Utilities::QueryString;
use Carp;
use CLI::Helpers qw(:all);
use Getopt::Long qw(:config no_ignore_case no_ignore_case_always);
use JSON::MaybeXS qw(:legacy);
use Pod::Usage;
use POSIX qw(strftime);
use Ref::Util qw(is_ref is_arrayref is_hashref);
use Time::HiRes qw(sleep time);
use YAML::XS;
local $YAML::XS::Boolean = "JSON::PP";

#------------------------------------------------------------------------#
# Argument Parsing
my %OPT;
GetOptions(\%OPT, qw(
    all
    asc

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

( run in 0.654 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )