File Coverage

blib/lib/OpenSearch/Parameters/Cluster/Health.pm
Criterion Covered Total %
statement 15 16 93.7
branch n/a
condition n/a
subroutine 5 6 83.3
pod 0 1 0.0
total 20 23 86.9


line stmt bran cond sub pod time code
1             package OpenSearch::Parameters::Cluster::Health;
2 4     4   2555 use strict;
  4         11  
  4         179  
3 4     4   25 use warnings;
  4         10  
  4         225  
4 4     4   22 use feature qw(state);
  4         7  
  4         538  
5 4     4   37 use Types::Standard qw(Str Bool Int HashRef Enum);
  4         15  
  4         30  
6 4     4   8808 use Moo::Role;
  4         10  
  4         33  
7              
8             with 'OpenSearch::Parameters';
9              
10             has 'index' => (
11             is => 'rw',
12             isa => Str,
13             );
14              
15             has 'expand_wildcards' => (
16             is => 'rw',
17             isa => Enum[qw(all open closed hidden none)],
18             );
19              
20             has 'level' => (
21             is => 'rw',
22             isa => Enum[qw(cluster indices shards awareness_attributes)],
23             );
24              
25             has 'awareness_attributes' => (
26             is => 'rw',
27             isa => Str,
28             );
29              
30             has 'local' => (
31             is => 'rw',
32             isa => Bool,
33             );
34              
35             has 'cluster_manager_timeout' => (
36             is => 'rw',
37             isa => Str,
38             );
39              
40             has 'timeout' => (
41             is => 'rw',
42             isa => Str,
43             );
44              
45             has 'wait_for_active_shards' => (
46             is => 'rw',
47             isa => Str,
48             );
49              
50             has 'wait_for_nodes' => (
51             is => 'rw',
52             isa => Str,
53             );
54              
55             has 'wait_for_events' => (
56             is => 'rw',
57             isa => Enum[qw(immediate urgent high normal low languid)],
58             );
59              
60             has 'wait_for_no_relocating_shards' => (
61             is => 'rw',
62             isa => Bool,
63             );
64              
65             has 'wait_for_no_initializing_shards' => (
66             is => 'rw',
67             isa => Bool,
68             );
69              
70             has 'wait_for_status' => (
71             is => 'rw',
72             isa => Enum[qw(green yellow red)],
73             );
74              
75             has 'weights' => (
76             is => 'rw',
77             isa => HashRef,
78             );
79              
80             around [
81             qw/index expand_wildcards level awareness_attributes local cluster_manager_timeout
82             timeout wait_for_active_shards wait_for_nodes wait_for_events wait_for_no_relocating_shards
83             wait_for_no_initializing_shards wait_for_status weights/
84             ] => sub {
85             my $orig = shift;
86             my $self = shift;
87              
88             if (@_) {
89             $self->$orig(@_);
90             return ($self);
91             }
92             return ( $self->$orig );
93             };
94              
95             sub api_spec {
96 0     0 0   state $s = +{
97             index => {
98             encode_func => 'as_is',
99             type => 'path',
100             },
101             expand_wildcards => {
102             encode_func => 'as_is',
103             type => 'url',
104             },
105             level => {
106             encode_func => 'as_is',
107             type => 'url',
108             },
109             awareness_attributes => {
110             encode_func => 'as_is',
111             type => 'url',
112             },
113             local => {
114             encode_func => 'encode_bool',
115             type => 'url',
116             },
117             cluster_manager_timeout => {
118             encode_func => 'as_is',
119             type => 'url',
120             },
121             timeout => {
122             encode_func => 'as_is',
123             type => 'url',
124             },
125             wait_for_active_shards => {
126             encode_func => 'as_is',
127             type => 'url',
128             },
129             wait_for_nodes => {
130             encode_func => 'as_is',
131             type => 'url',
132             },
133             wait_for_events => {
134             encode_func => 'as_is',
135             type => 'url',
136             },
137             wait_for_no_relocating_shards => {
138             encode_func => 'encode_bool',
139             type => 'url',
140             },
141             wait_for_no_initializing_shards => {
142             encode_func => 'encode_bool',
143             type => 'url',
144             },
145             wait_for_status => {
146             encode_func => 'as_is',
147             type => 'url',
148             },
149             weights => {
150             encode_func => 'as_is',
151             type => 'url',
152             }
153             };
154             }
155              
156             1;