File Coverage

blib/lib/OpenSearch/Parameters/Index/Create.pm
Criterion Covered Total %
statement 18 19 94.7
branch n/a
condition n/a
subroutine 6 7 85.7
pod 0 1 0.0
total 24 27 88.8


line stmt bran cond sub pod time code
1             package OpenSearch::Parameters::Index::Create;
2 4     4   2696 use strict;
  4         11  
  4         159  
3 4     4   22 use warnings;
  4         21  
  4         225  
4 4     4   23 use feature qw(state);
  4         8  
  4         440  
5 4     4   24 use Types::Standard qw(Str HashRef);
  4         10  
  4         31  
6 4     4   8005 use Types::Common::String qw(NonEmptyStr);
  4         9  
  4         39  
7 4     4   4695 use Moo::Role;
  4         10  
  4         41  
8              
9             with 'OpenSearch::Parameters';
10              
11             has 'index' => (
12             is => 'rw',
13             isa => NonEmptyStr,
14             required => 1,
15             );
16              
17             has 'settings' => (
18             is => 'rw',
19             isa => HashRef,
20             );
21              
22             has 'mappings' => (
23             is => 'rw',
24             isa => HashRef,
25             );
26              
27             has 'aliases' => (
28             is => 'rw',
29             isa => HashRef,
30             );
31              
32             has 'wait_for_active_shards' => (
33             is => 'rw',
34             isa => Str,
35             );
36              
37             has 'cluster_manager_timeout' => (
38             is => 'rw',
39             isa => Str,
40             );
41              
42             has 'timeout' => (
43             is => 'rw',
44             isa => Str,
45             );
46              
47             around [qw/index settings mappings aliases wait_for_active_shards cluster_manager_timeout timeout/] => sub {
48             my $orig = shift;
49             my $self = shift;
50              
51             if (@_) {
52             $self->$orig(@_);
53             return ($self);
54             }
55             return ( $self->$orig );
56             };
57              
58             sub api_spec {
59 0     0 0   state $s = +{
60             index => {
61             encode_func => 'as_is',
62             type => 'path',
63             },
64             settings => {
65             encode_func => 'as_is',
66             type => 'body',
67             },
68             mappings => {
69             encode_func => 'as_is',
70             type => 'body',
71             },
72             aliases => {
73             encode_func => 'as_is',
74             type => 'body',
75             },
76             wait_for_active_shards => {
77             encode_func => 'as_is',
78             type => 'url',
79             },
80             cluster_manager_timeout => {
81             encode_func => 'as_is',
82             type => 'url',
83             },
84             timeout => {
85             encode_func => 'as_is',
86             type => 'url',
87             }
88             };
89             }
90              
91             1;