remove useless code

This commit is contained in:
garnier-quentin 2020-07-01 18:15:11 +02:00
parent 6967637669
commit 77489ade75
122 changed files with 800 additions and 2657 deletions

View File

@ -40,22 +40,21 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'remote' => { name => 'remote' }, 'remote' => { name => 'remote' },
'ssh-option:s@' => { name => 'ssh_option' }, 'ssh-option:s@' => { name => 'ssh_option' },
'ssh-path:s' => { name => 'ssh_path' }, 'ssh-path:s' => { name => 'ssh_path' },
'ssh-command:s' => { name => 'ssh_command', default => 'ssh' }, 'ssh-command:s' => { name => 'ssh_command', default => 'ssh' },
'timeout:s' => { name => 'timeout', default => 50 }, 'timeout:s' => { name => 'timeout', default => 50 },
'sudo' => { name => 'sudo' }, 'sudo' => { name => 'sudo' },
'command:s' => { name => 'command', default => 'ANSIBLE_LOAD_CALLBACK_PLUGINS=true ANSIBLE_STDOUT_CALLBACK=json ansible' }, 'command:s' => { name => 'command', default => 'ANSIBLE_LOAD_CALLBACK_PLUGINS=true ANSIBLE_STDOUT_CALLBACK=json ansible' },
'command-path:s' => { name => 'command_path' }, 'command-path:s' => { name => 'command_path' },
'command-options:s' => { name => 'command_options', default => '' }, 'command-options:s' => { name => 'command_options', default => '' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'CLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -66,21 +65,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -40,21 +40,20 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'host:s' => { name => 'host' }, 'host:s' => { name => 'host' },
'username:s' => { name => 'username' }, 'username:s' => { name => 'username' },
'password:s' => { name => 'password' }, 'password:s' => { name => 'password' },
'timeout:s' => { name => 'timeout', default => 50 }, 'timeout:s' => { name => 'timeout', default => 50 },
'sudo' => { name => 'sudo' }, 'sudo' => { name => 'sudo' },
'command:s' => { name => 'command', default => 'tower-cli' }, 'command:s' => { name => 'command', default => 'tower-cli' },
'command-path:s' => { name => 'command_path' }, 'command-path:s' => { name => 'command_path' },
'command-options:s' => { name => 'command_options', default => '' }, 'command-options:s' => { name => 'command_options', default => '' },
'proxyurl:s' => { name => 'proxyurl' }, 'proxyurl:s' => { name => 'proxyurl' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'TOWERCLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'TOWERCLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -65,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,20 +45,19 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'port:s' => { name => 'port'}, 'port:s' => { name => 'port'},
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'api-username:s' => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
'api-password:s' => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
'api-version:s' => { name => 'api_version' }, 'api-version:s' => { name => 'api_version' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -71,21 +70,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -39,26 +39,24 @@ sub new {
} }
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => $options{options}->add_options(arguments => {
{ 'tsm-hostname:s' => { name => 'tsm_hostname' },
"tsm-hostname:s" => { name => 'tsm_hostname' }, 'tsm-username:s' => { name => 'tsm_username' },
"tsm-username:s" => { name => 'tsm_username' }, 'tsm-password:s' => { name => 'tsm_password' },
"tsm-password:s" => { name => 'tsm_password' }, 'ssh-hostname:s' => { name => 'ssh_hostname' },
"ssh-hostname:s" => { name => 'ssh_hostname' }, 'ssh-option:s@' => { name => 'ssh_option' },
"ssh-option:s@" => { name => 'ssh_option' }, 'ssh-path:s' => { name => 'ssh_path' },
"ssh-path:s" => { name => 'ssh_path' }, 'ssh-command:s' => { name => 'ssh_command', default => 'ssh' },
"ssh-command:s" => { name => 'ssh_command', default => 'ssh' }, 'timeout:s' => { name => 'timeout', default => 45 },
"timeout:s" => { name => 'timeout', default => 45 }, 'sudo' => { name => 'sudo' },
"sudo" => { name => 'sudo' }, 'command:s' => { name => 'command', default => 'dsmadmc' },
"command:s" => { name => 'command', default => 'dsmadmc' }, 'command-path:s' => { name => 'command_path', default => '/opt/tivoli/tsm/client/ba/bin' },
"command-path:s" => { name => 'command_path', default => '/opt/tivoli/tsm/client/ba/bin' }, 'command-options:s' => { name => 'command_options', default => '' }
"command-options:s" => { name => 'command_options', default => '' }, });
});
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'TSM CLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'TSM CLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -69,21 +67,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,52 +41,32 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"url-path:s" => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
"unknown-status:s" => { name => 'unknown_status', default => '%{http_code} < 200 or %{http_code} >= 300' }, 'unknown-status:s' => { name => 'unknown_status', default => '%{http_code} < 200 or %{http_code} >= 300' },
"warning-status:s" => { name => 'warning_status' }, 'warning-status:s' => { name => 'warning_status' },
"critical-status:s" => { name => 'critical_status' }, 'critical-status:s' => { name => 'critical_status' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples sub set_defaults {}
sub set_defaults {
my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -52,7 +52,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'BLUEMIND OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'BLUEMIND OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{ssh} = centreon::plugins::ssh->new(%options); $self->{ssh} = centreon::plugins::ssh->new(%options);
return $self; return $self;
@ -64,22 +63,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub get_hostname { sub get_hostname {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -43,19 +43,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"api-username:s" => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
"api-password:s" => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
"api-path:s" => { name => 'api_path' }, 'api-path:s' => { name => 'api_path' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -68,21 +67,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,19 +41,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"url-path:s" => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"username:s" => { name => 'username' }, 'username:s' => { name => 'username' },
"password:s" => { name => 'password' }, 'password:s' => { name => 'password' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'XMLAPI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'XMLAPI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -65,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,19 +41,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"url-path:s" => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"username:s" => { name => 'username' }, 'username:s' => { name => 'username' },
"password:s" => { name => 'password' }, 'password:s' => { name => 'password' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'XMLAPI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'XMLAPI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -65,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -55,7 +55,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -67,21 +66,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -55,7 +55,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'CLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{ssh} = centreon::plugins::ssh->new(%options); $self->{ssh} = centreon::plugins::ssh->new(%options);
return $self; return $self;
@ -67,21 +66,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -50,7 +50,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM TCP OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM TCP OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -61,21 +60,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -56,7 +56,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -68,21 +67,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,13 +45,12 @@ sub new {
'port:s@' => { name => 'port' }, 'port:s@' => { name => 'port' },
'username:s@' => { name => 'username' }, 'username:s@' => { name => 'username' },
'password:s@' => { name => 'password' }, 'password:s@' => { name => 'password' },
'timeout:s@' => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -63,21 +62,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -49,14 +49,13 @@ sub new {
'port:s' => { name => 'port'}, 'port:s' => { name => 'port'},
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'api-password:s' => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
'timeout:s' => { name => 'timeout', default => 30 }, 'timeout:s' => { name => 'timeout', default => 30 }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -68,21 +67,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -57,7 +57,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -70,21 +69,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -55,7 +55,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -67,21 +66,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -48,13 +48,12 @@ sub new {
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
'unknown-http-status:s' => { name => 'unknown_http_status' }, 'unknown-http-status:s' => { name => 'unknown_http_status' },
'warning-http-status:s' => { name => 'warning_http_status' }, 'warning-http-status:s' => { name => 'warning_http_status' },
'critical-http-status:s' => { name => 'critical_http_status' }, 'critical-http-status:s' => { name => 'critical_http_status' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -66,21 +65,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -51,7 +51,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -63,21 +62,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -42,18 +42,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"url-path:s" => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"api-token:s" => { name => 'api_token' }, 'api-token:s' => { name => 'api_token' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -65,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -54,13 +54,12 @@ sub new {
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
'unknown-http-status:s' => { name => 'unknown_http_status' }, 'unknown-http-status:s' => { name => 'unknown_http_status' },
'warning-http-status:s' => { name => 'warning_http_status' }, 'warning-http-status:s' => { name => 'warning_http_status' },
'critical-http-status:s' => { name => 'critical_http_status' }, 'critical-http-status:s' => { name => 'critical_http_status' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -72,21 +71,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -51,7 +51,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MQI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MQI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
centreon::plugins::misc::mymodule_load( centreon::plugins::misc::mymodule_load(
output => $self->{output}, output => $self->{output},
@ -74,21 +73,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -43,18 +43,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'port:s' => { name => 'port' }, 'port:s' => { name => 'port' },
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'username:s' => { name => 'username' }, 'username:s' => { name => 'username' },
'password:s' => { name => 'password' }, 'password:s' => { name => 'password' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -66,21 +65,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -54,7 +54,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -66,21 +65,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -54,14 +54,13 @@ sub new {
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
'reload-cache-time:s' => { name => 'reload_cache_time' }, 'reload-cache-time:s' => { name => 'reload_cache_time' },
'authent-endpoint:s' => { name => 'authent_endpoint'}, 'authent-endpoint:s' => { name => 'authent_endpoint' },
'monitoring-endpoint:s' => { name => 'monitoring_endpoint'}, 'monitoring-endpoint:s' => { name => 'monitoring_endpoint' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -74,21 +73,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -40,18 +40,16 @@ sub new {
} }
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => $options{options}->add_options(arguments => {
{ 'omi-hostname:s@' => { name => 'omi_hostname' },
"omi-hostname:s@" => { name => 'omi_hostname' }, 'omi-port:s@' => { name => 'omi_port' },
"omi-port:s@" => { name => 'omi_port' }, 'omi-password:s@' => { name => 'omi_password' },
"omi-password:s@" => { name => 'omi_password' }, 'timeout:s@' => { name => 'timeout' }
"timeout:s@" => { name => 'timeout' }, });
});
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'MANAGEMENT API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'MANAGEMENT API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{cnx_omi} = undef; $self->{cnx_omi} = undef;
return $self; return $self;
@ -64,21 +62,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,18 +41,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"url-path:s" => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"api-token:s" => { name => 'api_token' }, 'api-token:s' => { name => 'api_token' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -64,21 +63,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -57,7 +57,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -69,21 +68,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -44,13 +44,12 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{nrpe} = centreon::plugins::nrpe->new(%options); $self->{nrpe} = centreon::plugins::nrpe->new(%options);
return $self; return $self;
@ -62,21 +61,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -46,22 +46,21 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"credentials" => { name => 'credentials' }, 'credentials' => { name => 'credentials' },
"basic" => { name => 'basic' }, 'basic' => { name => 'basic' },
"username:s" => { name => 'username' }, 'username:s' => { name => 'username' },
"password:s" => { name => 'password' }, 'password:s' => { name => 'password' },
"legacy-password:s" => { name => 'legacy_password' }, 'legacy-password:s' => { name => 'legacy_password' },
"new-api" => { name => 'new_api' }, 'new-api' => { name => 'new_api' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -73,21 +72,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,21 +45,20 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'port:s' => { name => 'port'}, 'port:s' => { name => 'port'},
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'api-username:s' => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
'api-password:s' => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
'realm:s' => { name => 'realm' }, 'realm:s' => { name => 'realm' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
'reload-cache-time:s' => { name => 'reload_cache_time', default => 7200 }, 'reload-cache-time:s' => { name => 'reload_cache_time', default => 7200 }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -72,21 +71,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -61,7 +61,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -73,21 +72,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -40,17 +40,15 @@ sub new {
} }
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => $options{options}->add_options(arguments => {
{ 'hostname:s' => { name => 'hostname' },
"hostname:s" => { name => 'hostname' }, 'port:s' => { name => 'port' },
"port:s" => { name => 'port' }, 'password:s' => { name => 'password' }
"password:s" => { name => 'password' }, });
});
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REDIS CLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REDIS CLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -61,21 +59,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,23 +41,21 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"interval:s@" => { name => 'interval' }, 'interval:s@' => { name => 'interval' },
"hostname:s@" => { name => 'hostname' }, 'hostname:s@' => { name => 'hostname' },
"port:s@" => { name => 'port' }, 'port:s@' => { name => 'port' },
"proto:s@" => { name => 'proto' }, 'proto:s@' => { name => 'proto' },
"username:s@" => { name => 'username' }, 'username:s@' => { name => 'username' },
"password:s@" => { name => 'password' }, 'password:s@' => { name => 'password' },
"timeout:s@" => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
sub set_options { sub set_options {
@ -66,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -42,18 +42,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"url-path:s" => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"api-token:s" => { name => 'api_token' }, 'api-token:s' => { name => 'api_token' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -65,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -49,7 +49,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -61,21 +60,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,22 +41,20 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
"api-path:s" => { name => 'api_path' }, 'api-path:s' => { name => 'api_path' },
"api-token:s" => { name => 'api_token' }, 'api-token:s' => { name => 'api_token' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
sub set_options { sub set_options {
@ -65,21 +63,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,55 +41,32 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s@" => { name => 'hostname' }, 'hostname:s@' => { name => 'hostname' },
"port:s@" => { name => 'port' }, 'port:s@' => { name => 'port' },
"proto:s@" => { name => 'proto' }, 'proto:s@' => { name => 'proto' },
"username:s@" => { name => 'username' }, 'username:s@' => { name => 'username' },
"password:s@" => { name => 'password' }, 'password:s@' => { name => 'password' },
"timeout:s@" => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples sub set_defaults {}
sub set_defaults {
my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still hostname
# return 0 = no hostname left
$self->{hostname} = (defined($self->{option_results}->{hostname})) ? shift(@{$self->{option_results}->{hostname}}) : undef; $self->{hostname} = (defined($self->{option_results}->{hostname})) ? shift(@{$self->{option_results}->{hostname}}) : undef;
$self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : 4444; $self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : 4444;
@ -135,8 +112,10 @@ sub get {
$self->settings(); $self->settings();
my $response = $self->{http}->request(url_path => $options{path}, my $response = $self->{http}->request(
critical_status => '', warning_status => ''); url_path => $options{path},
critical_status => '', warning_status => ''
);
my $content; my $content;
eval { eval {
$content = JSON::XS->new->utf8->decode($response); $content = JSON::XS->new->utf8->decode($response);

View File

@ -45,19 +45,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"api-username:s" => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
"api-password:s" => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
"reload-cache-time:s" => { name => 'reload_cache_time' }, 'reload-cache-time:s' => { name => 'reload_cache_time' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -70,21 +69,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -31,10 +31,6 @@ sub new {
my ($class, %options) = @_; my ($class, %options) = @_;
my $self = {}; my $self = {};
bless $self, $class; bless $self, $class;
# $options{options} = options object
# $options{output} = output object
# $options{exit_value} = integer
# $options{noptions} = integer
if (!defined($options{output})) { if (!defined($options{output})) {
print "Class Custom: Need to specify 'output' argument.\n"; print "Class Custom: Need to specify 'output' argument.\n";
@ -59,50 +55,28 @@ sub new {
'case-insensitive' => { name => 'case_insensitive' }, 'case-insensitive' => { name => 'case_insensitive' },
'unknown-connector-status:s' => { name => 'unknown_connector_status' }, 'unknown-connector-status:s' => { name => 'unknown_connector_status' },
'warning-connector-status:s' => { name => 'warning_connector_status' }, 'warning-connector-status:s' => { name => 'warning_connector_status' },
'critical-connector-status:s' => { name => 'critical_connector_status' }, 'critical-connector-status:s' => { name => 'critical_connector_status' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'CONNECTOR OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CONNECTOR OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{json_send} = {}; $self->{json_send} = {};
$self->{result} = undef; $self->{result} = undef;
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples sub set_defaults {}
sub set_defaults {
my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still hostname
# return 0 = no hostname left
$self->{connector_hostname} = (defined($self->{option_results}->{connector_hostname})) ? shift(@{$self->{option_results}->{connector_hostname}}) : undef; $self->{connector_hostname} = (defined($self->{option_results}->{connector_hostname})) ? shift(@{$self->{option_results}->{connector_hostname}}) : undef;
$self->{connector_port} = (defined($self->{option_results}->{connector_port})) ? shift(@{$self->{option_results}->{connector_port}}) : 5700; $self->{connector_port} = (defined($self->{option_results}->{connector_port})) ? shift(@{$self->{option_results}->{connector_port}}) : 5700;

View File

@ -50,14 +50,13 @@ sub new {
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'api-username:s' => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
'api-password:s' => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
'timeout:s' => { name => 'timeout', default => 30 }, 'timeout:s' => { name => 'timeout', default => 30 }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -70,21 +69,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,22 +45,21 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"port:s" => { name => 'port'}, 'port:s' => { name => 'port'},
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"api-username:s" => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
"api-password:s" => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
"timeout:s" => { name => 'timeout', default => 30 }, 'timeout:s' => { name => 'timeout', default => 30 },
'unknown-http-status:s' => { name => 'unknown_http_status' }, 'unknown-http-status:s' => { name => 'unknown_http_status' },
'warning-http-status:s' => { name => 'warning_http_status' }, 'warning-http-status:s' => { name => 'warning_http_status' },
'critical-http-status:s' => { name => 'critical_http_status' }, 'critical-http-status:s' => { name => 'critical_http_status' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -73,21 +72,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,13 +45,12 @@ sub new {
'ami-port:s@' => { name => 'ami_port' }, 'ami-port:s@' => { name => 'ami_port' },
'ami-username:s@' => { name => 'ami_username' }, 'ami-username:s@' => { name => 'ami_username' },
'ami-password:s@' => { name => 'ami_password' }, 'ami-password:s@' => { name => 'ami_password' },
'timeout:s@' => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'AMI API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'AMI API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{cnx_ami} = undef; $self->{cnx_ami} = undef;
return $self; return $self;
@ -63,21 +62,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,55 +41,32 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s@" => { name => 'hostname' }, 'hostname:s@' => { name => 'hostname' },
"port:s@" => { name => 'port' }, 'port:s@' => { name => 'port' },
"proto:s@" => { name => 'proto' }, 'proto:s@' => { name => 'proto' },
"username:s@" => { name => 'username' }, 'username:s@' => { name => 'username' },
"password:s@" => { name => 'password' }, 'password:s@' => { name => 'password' },
"timeout:s@" => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples sub set_defaults {}
sub set_defaults {
my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still hostname
# return 0 = no hostname left
$self->{hostname} = (defined($self->{option_results}->{hostname})) ? shift(@{$self->{option_results}->{hostname}}) : undef; $self->{hostname} = (defined($self->{option_results}->{hostname})) ? shift(@{$self->{option_results}->{hostname}}) : undef;
$self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : 30080; $self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : 30080;

View File

@ -46,17 +46,15 @@ sub new {
'password:s@' => { name => 'password' }, 'password:s@' => { name => 'password' },
'timeout:s@' => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' },
'port:s@' => { name => 'port' }, 'port:s@' => { name => 'port' },
'proto:s@' => { name => 'proto' }, 'proto:s@' => { name => 'proto' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
sub set_options { sub set_options {
@ -65,21 +63,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,19 +45,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"url-path:s" => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"api-key:s" => { name => 'api_key' }, 'api-key:s' => { name => 'api_key' },
"api-secret:s" => { name => 'api_secret' }, 'api-secret:s' => { name => 'api_secret' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -70,21 +69,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -28,10 +28,6 @@ sub new {
my ($class, %options) = @_; my ($class, %options) = @_;
my $self = {}; my $self = {};
bless $self, $class; bless $self, $class;
# $options{options} = options object
# $options{output} = output object
# $options{exit_value} = integer
# $options{noptions} = integer
if (!defined($options{output})) { if (!defined($options{output})) {
print "Class Custom: Need to specify 'output' argument.\n"; print "Class Custom: Need to specify 'output' argument.\n";
@ -43,31 +39,29 @@ sub new {
} }
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => $options{options}->add_options(arguments => {
{ 'remote' => { name => 'remote' },
"remote" => { name => 'remote' }, 'ssh-address:s' => { name => 'ssh_address' },
"ssh-address:s" => { name => 'ssh_address' }, 'ssh-option:s@' => { name => 'ssh_option' },
"ssh-option:s@" => { name => 'ssh_option' }, 'ssh-path:s' => { name => 'ssh_path' },
"ssh-path:s" => { name => 'ssh_path' }, 'ssh-command:s' => { name => 'ssh_command', default => 'ssh' },
"ssh-command:s" => { name => 'ssh_command', default => 'ssh' }, 'navicli-command:s' => { name => 'navicli_command', default => 'navicli' },
"navicli-command:s" => { name => 'navicli_command', default => 'navicli' }, 'navicli-path:s' => { name => 'navicli_path', default => '/opt/Navisphere/bin' },
"navicli-path:s" => { name => 'navicli_path', default => '/opt/Navisphere/bin' }, 'naviseccli-command:s' => { name => 'naviseccli_command', default => 'naviseccli' },
"naviseccli-command:s" => { name => 'naviseccli_command', default => 'naviseccli' }, 'naviseccli-path:s' => { name => 'naviseccli_path', default => '/opt/Navisphere/bin' },
"naviseccli-path:s" => { name => 'naviseccli_path', default => '/opt/Navisphere/bin' }, 'sudo:s' => { name => 'sudo', },
"sudo:s" => { name => 'sudo', }, 'special-arg:s@' => { name => 'special_arg' },
"special-arg:s@" => { name => 'special_arg' }, 'hostname:s@' => { name => 'hostname' },
"hostname:s@" => { name => 'hostname' }, 'secfilepath:s@' => { name => 'secfilepath' },
"secfilepath:s@" => { name => 'secfilepath' }, 'username:s@' => { name => 'username' },
"username:s@" => { name => 'username' }, 'password:s@' => { name => 'password' },
"password:s@" => { name => 'password' }, 'scope:s@' => { name => 'scope' },
"scope:s@" => { name => 'scope' }, 'timeout:s@' => { name => 'timeout' }
"timeout:s@" => { name => 'timeout' }, });
});
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'NAVISPHERE OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'NAVISPHERE OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
# 1 means we use a file to read # 1 means we use a file to read
$self->{no_navicmd} = 0; $self->{no_navicmd} = 0;
@ -76,32 +70,13 @@ sub new {
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples sub set_defaults {}
sub set_defaults {
my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub build_command { sub build_command {
my ($self, %options) = @_; my ($self, %options) = @_;
@ -196,13 +171,14 @@ sub execute_command {
# Need to set timeout over command. # Need to set timeout over command.
$self->{option_results}->{timeout} = $self->{timeout} + 5; $self->{option_results}->{timeout} = $self->{timeout} + 5;
return centreon::plugins::misc::execute(output => $self->{output}, return centreon::plugins::misc::execute(
options => $self->{option_results}, output => $self->{output},
sudo => $self->{sudo}, options => $self->{option_results},
command => $self->{cmd}, sudo => $self->{sudo},
command_path => undef, command => $self->{cmd},
command_options => undef command_path => undef,
); command_options => undef
);
} }
1; 1;

View File

@ -41,24 +41,22 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'ssh-option:s@' => { name => 'ssh_option' }, 'ssh-option:s@' => { name => 'ssh_option' },
'ssh-path:s' => { name => 'ssh_path' }, 'ssh-path:s' => { name => 'ssh_path' },
'ssh-command:s' => { name => 'ssh_command', default => 'ssh' }, 'ssh-command:s' => { name => 'ssh_command', default => 'ssh' },
'timeout:s' => { name => 'timeout', default => 10 }, 'timeout:s' => { name => 'timeout', default => 10 },
'sudo' => { name => 'sudo' }, 'sudo' => { name => 'sudo' },
'command:s' => { name => 'command', default => 'cat' }, 'command:s' => { name => 'command', default => 'cat' },
'command-path:s' => { name => 'command_path' }, 'command-path:s' => { name => 'command_path' },
'command-options:s' => { name => 'command_options' }, 'command-options:s' => { name => 'command_options' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'FILE OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'FILE OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
sub set_options { sub set_options {
@ -67,21 +65,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,23 +41,21 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s@' => { name => 'hostname' }, 'hostname:s@' => { name => 'hostname' },
'port:s@' => { name => 'port' }, 'port:s@' => { name => 'port' },
'proto:s@' => { name => 'proto' }, 'proto:s@' => { name => 'proto' },
'urlpath:s@' => { name => 'url_path' }, 'urlpath:s@' => { name => 'url_path' },
'username:s@' => { name => 'username' }, 'username:s@' => { name => 'username' },
'password:s@' => { name => 'password' }, 'password:s@' => { name => 'password' },
'timeout:s@' => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'WEB OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'WEB OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
sub set_options { sub set_options {
@ -66,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -46,60 +46,37 @@ sub new {
} }
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => $options{options}->add_options(arguments => {
{ 'url:s@' => { name => 'url' },
"url:s@" => { name => 'url' }, 'timeout:s@' => { name => 'timeout' },
"timeout:s@" => { name => 'timeout' }, 'username:s@' => { name => 'username' },
"username:s@" => { name => 'username' }, 'password:s@' => { name => 'password' },
"password:s@" => { name => 'password' }, 'proxy-url:s@' => { name => 'proxy_url' },
"proxy-url:s@" => { name => 'proxy_url' }, 'proxy-username:s@' => { name => 'proxy_username' },
"proxy-username:s@" => { name => 'proxy_username' }, 'proxy-password:s@' => { name => 'proxy_password' },
"proxy-password:s@" => { name => 'proxy_password' }, 'target-url:s@' => { name => 'target_url' },
"target-url:s@" => { name => 'target_url' }, 'target-username:s@' => { name => 'target_username' },
"target-username:s@" => { name => 'target_username' }, 'target-password:s@' => { name => 'target_password' }
"target-password:s@" => { name => 'target_password' }, });
});
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'JOLOKIA OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'JOLOKIA OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{jmx4perl} = undef; $self->{jmx4perl} = undef;
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples sub set_defaults {}
sub set_defaults {
my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still url
# return 0 = no url left
foreach (('url', 'timeout', 'username', 'password', 'proxy_url', 'proxy_username', foreach (('url', 'timeout', 'username', 'password', 'proxy_url', 'proxy_username',
'proxy_password', 'target_url', 'target_username', 'target_password')) { 'proxy_password', 'target_url', 'target_username', 'target_password')) {
@ -163,9 +140,10 @@ sub connect {
sub _add_request { sub _add_request {
my ($self, %options) = @_; my ($self, %options) = @_;
my $request = JMX::Jmx4Perl::Request->new(READ, $options{object}, my $request = JMX::Jmx4Perl::Request->new(
$options{attribute} READ, $options{object},
); $options{attribute}
);
if (!$request->is_mbean_pattern($options{object})) { if (!$request->is_mbean_pattern($options{object})) {
$request->{path} = $options{path}; $request->{path} = $options{path};
} }
@ -283,10 +261,15 @@ sub list_attributes {
my $mbeans = $self->{jmx4perl}->search($pattern); my $mbeans = $self->{jmx4perl}->search($pattern);
print "List attributes:\n"; print "List attributes:\n";
for my $mbean (@$mbeans) { for my $mbean (@$mbeans) {
my $request = JMX::Jmx4Perl::Request->new(READ, $mbean, undef, {maxDepth => $max_depth, my $request = JMX::Jmx4Perl::Request->new(
maxObjects => $max_objects, READ, $mbean, undef,
maxCollectionSize => $max_collection_size, {
ignoreErrors => 1}); maxDepth => $max_depth,
maxObjects => $max_objects,
maxCollectionSize => $max_collection_size,
ignoreErrors => 1
}
);
my $response = $self->{jmx4perl}->request($request); my $response = $self->{jmx4perl}->request($request);
if ($response->is_error) { if ($response->is_error) {
print "ERROR: " . $response->error_text . "\n"; print "ERROR: " . $response->error_text . "\n";

View File

@ -39,22 +39,20 @@ sub new {
} }
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => $options{options}->add_options(arguments => {
{ 'rtu-port:s@' => { name => 'rtu_port' },
"rtu-port:s@" => { name => 'rtu_port' }, 'rtu-baudrate:s@' => { name => 'rtu_baudrate' },
"rtu-baudrate:s@" => { name => 'rtu_baudrate' }, 'rtu-databits:s@' => { name => 'rtu_databits' },
"rtu-databits:s@" => { name => 'rtu_databits' }, 'rtu-parity:s@' => { name => 'rtu_parity' },
"rtu-parity:s@" => { name => 'rtu_parity' }, 'rtu-stopbits:s@' => { name => 'rtu_stopbits' },
"rtu-stopbits:s@" => { name => 'rtu_stopbits' }, 'tcp-host:s@' => { name => 'tcp_host' },
"tcp-host:s@" => { name => 'tcp_host' }, 'tcp-port:s@' => { name => 'tcp_port' },
"tcp-port:s@" => { name => 'tcp_port' }, 'timeout:s@' => { name => 'timeout' }
"timeout:s@" => { name => 'timeout' }, });
});
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'MODBUS OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'MODBUS OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -74,21 +72,7 @@ sub set_options {
} }
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,15 +45,14 @@ sub new {
'timeout:s@' => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' },
'ssh-username:s@' => { name => 'ssh_username' }, 'ssh-username:s@' => { name => 'ssh_username' },
'ssh-password:s@' => { name => 'ssh_password' }, 'ssh-password:s@' => { name => 'ssh_password' },
'ssh-dir:s@' => { name => 'ssh_dir' }, 'ssh-dir:s@' => { name => 'ssh_dir' },
'ssh-identity:s@' => { name => 'ssh_identity' }, 'ssh-identity:s@' => { name => 'ssh_identity' },
'ssh-skip-serverkey-issue' => { name => 'ssh_skip_serverkey_issue' }, 'ssh-skip-serverkey-issue' => { name => 'ssh_skip_serverkey_issue' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'SSH OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'SSH OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{ssh} = undef; $self->{ssh} = undef;
return $self; return $self;
@ -65,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -59,7 +59,7 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'SMCLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'SMCLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode}; $self->{custommode_name} = $options{custommode_name};
# 1 means we use a file to read # 1 means we use a file to read
$self->{no_smclicmd} = 0; $self->{no_smclicmd} = 0;
@ -82,7 +82,7 @@ sub set_defaults {
# Manage default value # Manage default value
foreach (keys %{$options{default}}) { foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) { if ($_ eq $self->{custommode_name}) {
if (ref($options{default}->{$_}) eq 'ARRAY') { if (ref($options{default}->{$_}) eq 'ARRAY') {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) { for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) { foreach my $opt (keys %{$options{default}->{$_}[$i]}) {

View File

@ -58,7 +58,7 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'DBI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'DBI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode}; $self->{custommode_name} = $options{custommode_name};
$self->{instance} = undef; $self->{instance} = undef;
$self->{statement_handle} = undef; $self->{statement_handle} = undef;
$self->{version} = undef; $self->{version} = undef;
@ -115,7 +115,7 @@ sub set_defaults {
# Manage default value # Manage default value
foreach (keys %{$options{default}}) { foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) { if ($_ eq $self->{custommode_name}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) { for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) { foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) { if (!defined($self->{option_results}->{$opt}[$i])) {

View File

@ -40,7 +40,7 @@ sub new {
'list-custommode' => { name => 'list_custommode' }, 'list-custommode' => { name => 'list_custommode' },
'multiple' => { name => 'multiple' }, 'multiple' => { name => 'multiple' },
'no-sanity-options' => { name => 'no_sanity_options' }, 'no-sanity-options' => { name => 'no_sanity_options' },
'pass-manager:s' => { name => 'pass_manager' }, 'pass-manager:s' => { name => 'pass_manager' }
} }
); );
$self->{version} = '1.0'; $self->{version} = '1.0';
@ -70,10 +70,15 @@ sub load_custom_mode {
$self->is_custommode(custommode => $self->{custommode_name}); $self->is_custommode(custommode => $self->{custommode_name});
centreon::plugins::misc::mymodule_load( centreon::plugins::misc::mymodule_load(
output => $self->{output}, module => $self->{custom_modes}{$self->{custommode_name}}, output => $self->{output}, module => $self->{custom_modes}->{$self->{custommode_name}},
error_msg => 'Cannot load module --custommode.' error_msg => 'Cannot load module --custommode.'
); );
$self->{custommode_current} = $self->{custom_modes}{$self->{custommode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{custommode_name}); $self->{custommode_current} = $self->{custom_modes}->{$self->{custommode_name}}->new(
options => $self->{options},
output => $self->{output},
custommode_name => $self->{custommode_name},
mode_name => $self->{mode_name}
);
} }
sub init { sub init {
@ -149,7 +154,7 @@ sub init {
$self->{custommode_current}->set_defaults(default => $self->{customdefault}); $self->{custommode_current}->set_defaults(default => $self->{customdefault});
while ($self->{custommode_current}->check_options()) { while ($self->{custommode_current}->check_options()) {
$self->{custommode_current} = $self->{custom_modes}{$self->{custommode_name}}->new(noptions => 1, options => $self->{options}, output => $self->{output}, mode => $self->{custommode_name}); $self->{custommode_current} = $self->{custom_modes}->{$self->{custommode_name}}->new(noptions => 1, options => $self->{options}, output => $self->{output}, mode => $self->{custommode_name});
$self->{custommode_current}->set_options(option_results => $self->{option_results}); $self->{custommode_current}->set_options(option_results => $self->{option_results});
push @{$self->{custommode_stored}}, $self->{custommode_current}; push @{$self->{custommode_stored}}, $self->{custommode_current};
} }
@ -210,7 +215,7 @@ sub is_mode {
sub is_custommode { sub is_custommode {
my ($self, %options) = @_; my ($self, %options) = @_;
if (!defined($self->{custom_modes}{$options{custommode}})) { if (!defined($self->{custom_modes}->{$options{custommode}})) {
$self->{output}->add_option_msg(short_msg => "mode '" . $options{custommode} . "' doesn't exist (use --list-custommode option to show available modes)."); $self->{output}->add_option_msg(short_msg => "mode '" . $options{custommode} . "' doesn't exist (use --list-custommode option to show available modes).");
$self->{output}->option_exit(); $self->{output}->option_exit();
} }

View File

@ -41,12 +41,12 @@ sub new {
'list-sqlmode' => { name => 'list_sqlmode' }, 'list-sqlmode' => { name => 'list_sqlmode' },
'multiple' => { name => 'multiple' }, 'multiple' => { name => 'multiple' },
'no-sanity-options' => { name => 'no_sanity_options' }, 'no-sanity-options' => { name => 'no_sanity_options' },
'pass-manager:s' => { name => 'pass_manager' }, 'pass-manager:s' => { name => 'pass_manager' }
} }
); );
$self->{version} = '1.0'; $self->{version} = '1.0';
%{$self->{modes}} = (); %{$self->{modes}} = ();
%{$self->{sql_modes}} = ('dbi' => 'centreon::plugins::dbi'); $self->{sql_modes} = { 'dbi' => 'centreon::plugins::dbi' };
$self->{default} = undef; $self->{default} = undef;
$self->{sqldefault} = {}; $self->{sqldefault} = {};
$self->{sqlmode_current} = undef; $self->{sqlmode_current} = undef;
@ -93,9 +93,16 @@ sub init {
if (defined($self->{sqlmode_name}) && $self->{sqlmode_name} ne '') { if (defined($self->{sqlmode_name}) && $self->{sqlmode_name} ne '') {
$self->is_sqlmode(sqlmode => $self->{sqlmode_name}); $self->is_sqlmode(sqlmode => $self->{sqlmode_name});
centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{sql_modes}{$self->{sqlmode_name}}, centreon::plugins::misc::mymodule_load(
error_msg => "Cannot load module --sqlmode."); output => $self->{output}, module => $self->{sql_modes}->{$self->{sqlmode_name}},
$self->{sqlmode_current} = $self->{sql_modes}{$self->{sqlmode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{sqlmode_name}); error_msg => "Cannot load module --sqlmode."
);
$self->{sqlmode_current} = $self->{sql_modes}->{$self->{sqlmode_name}}->new(
options => $self->{options},
output => $self->{output},
custommode_name => $self->{custommode_name},
mode_name => $self->{mode_name}
);
} else { } else {
$self->{output}->add_option_msg(short_msg => "Need to specify '--sqlmode'."); $self->{output}->add_option_msg(short_msg => "Need to specify '--sqlmode'.");
$self->{output}->option_exit(); $self->{output}->option_exit();
@ -143,7 +150,7 @@ sub init {
$self->{sqlmode_current}->set_defaults(default => $self->{sqldefault}); $self->{sqlmode_current}->set_defaults(default => $self->{sqldefault});
while ($self->{sqlmode_current}->check_options()) { while ($self->{sqlmode_current}->check_options()) {
$self->{sqlmode_current} = $self->{sql_modes}{$self->{sqlmode_name}}->new(noptions => 1, options => $self->{options}, output => $self->{output}, mode => $self->{sqlmode_name}); $self->{sqlmode_current} = $self->{sql_modes}->{$self->{sqlmode_name}}->new(noptions => 1, options => $self->{options}, output => $self->{output}, mode => $self->{sqlmode_name});
$self->{sqlmode_current}->set_options(option_results => $self->{option_results}); $self->{sqlmode_current}->set_options(option_results => $self->{option_results});
push @{$self->{sqlmode_stored}}, $self->{sqlmode_current}; push @{$self->{sqlmode_stored}}, $self->{sqlmode_current};
} }
@ -206,7 +213,7 @@ sub is_sqlmode {
my ($self, %options) = @_; my ($self, %options) = @_;
# $options->{sqlmode} = mode # $options->{sqlmode} = mode
if (!defined($self->{sql_modes}{$options{sqlmode}})) { if (!defined($self->{sql_modes}->{$options{sqlmode}})) {
$self->{output}->add_option_msg(short_msg => "mode '" . $options{sqlmode} . "' doesn't exist (use --list-sqlmode option to show available modes)."); $self->{output}->add_option_msg(short_msg => "mode '" . $options{sqlmode} . "' doesn't exist (use --list-sqlmode option to show available modes).");
$self->{output}->option_exit(); $self->{output}->option_exit();
} }

View File

@ -62,7 +62,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'AWSCLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'AWSCLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -79,21 +78,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -56,7 +56,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'PAWS OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'PAWS OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -73,21 +72,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -55,13 +55,12 @@ sub new {
'interval:s' => { name => 'interval' }, 'interval:s' => { name => 'interval' },
'aggregation:s@' => { name => 'aggregation' }, 'aggregation:s@' => { name => 'aggregation' },
'zeroed' => { name => 'zeroed' }, 'zeroed' => { name => 'zeroed' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -74,21 +73,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -54,13 +54,12 @@ sub new {
'command:s' => { name => 'command', default => 'az' }, 'command:s' => { name => 'command', default => 'az' },
'command-path:s' => { name => 'command_path' }, 'command-path:s' => { name => 'command_path' },
'command-options:s' => { name => 'command_options', default => '' }, 'command-options:s' => { name => 'command_options', default => '' },
'proxyurl:s' => { name => 'proxyurl' }, 'proxyurl:s' => { name => 'proxyurl' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'AZCLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'AZCLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -71,21 +70,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -43,31 +43,28 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s@" => { name => 'hostname' }, 'hostname:s@' => { name => 'hostname' },
"port:s" => { name => 'port', default => 8080 }, 'port:s' => { name => 'port', default => 8080 },
"proto:s" => { name => 'proto', default => 'http' }, 'proto:s' => { name => 'proto', default => 'http' },
"path:s" => { name => 'path', default => '/containers/docker/' }, 'path:s' => { name => 'path', default => '/containers/docker/' },
"credentials" => { name => 'credentials' }, 'credentials' => { name => 'credentials' },
"username:s" => { name => 'username' }, 'username:s' => { name => 'username' },
"password:s" => { name => 'password' }, 'password:s' => { name => 'password' },
"timeout:s" => { name => 'timeout', default => 10 }, 'timeout:s' => { name => 'timeout', default => 10 },
"cert-file:s" => { name => 'cert_file' }, 'cert-file:s' => { name => 'cert_file' },
"key-file:s" => { name => 'key_file' }, 'key-file:s' => { name => 'key_file' },
"cacert-file:s" => { name => 'cacert_file' }, 'cacert-file:s' => { name => 'cacert_file' },
"cert-pwd:s" => { name => 'cert_pwd' }, 'cert-pwd:s' => { name => 'cert_pwd' },
"cert-pkcs12" => { name => 'cert_pkcs12' }, 'cert-pkcs12' => { name => 'cert_pkcs12' },
"api-version:s" => { name => 'api_version', default => 'v1.3' }, 'api-version:s' => { name => 'api_version', default => 'v1.3' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
sub set_options { sub set_options {
@ -76,26 +73,10 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still hostname
# return 0 = no hostname left
$self->{hostname} = (defined($self->{option_results}->{hostname})) ? $self->{option_results}->{hostname} : undef; $self->{hostname} = (defined($self->{option_results}->{hostname})) ? $self->{option_results}->{hostname} : undef;

View File

@ -42,25 +42,23 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"username:s" => { name => 'username' }, 'username:s' => { name => 'username' },
"password:s" => { name => 'password' }, 'password:s' => { name => 'password' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
"api-path:s" => { name => 'api_path' }, 'api-path:s' => { name => 'api_path' },
"api-username:s" => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
"api-password:s" => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
sub set_options { sub set_options {
@ -69,21 +67,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -56,21 +56,18 @@ sub new {
'cacert-file:s' => { name => 'cacert_file' }, 'cacert-file:s' => { name => 'cacert_file' },
'cert-pwd:s' => { name => 'cert_pwd' }, 'cert-pwd:s' => { name => 'cert_pwd' },
'cert-pkcs12' => { name => 'cert_pkcs12' }, 'cert-pkcs12' => { name => 'cert_pkcs12' },
'api-display' => { name => 'api_display' }, 'api-display' => { name => 'api_display' },
'api-write-file:s' => { name => 'api_write_file' }, 'api-write-file:s' => { name => 'api_write_file' },
'api-read-file:s' => { name => 'api_read_file' }, 'api-read-file:s' => { name => 'api_read_file' },
'reload-cache-time:s' => { name => 'reload_cache_time', default => 300 }, 'reload-cache-time:s' => { name => 'reload_cache_time', default => 300 }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
sub set_options { sub set_options {
@ -79,26 +76,10 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still hostname
# return 0 = no hostname left
$self->{hostname} = (defined($self->{option_results}->{hostname})) ? $self->{option_results}->{hostname} : undef; $self->{hostname} = (defined($self->{option_results}->{hostname})) ? $self->{option_results}->{hostname} : undef;

View File

@ -54,13 +54,12 @@ sub new {
'interval:s' => { name => 'interval' }, 'interval:s' => { name => 'interval' },
'aggregation:s@' => { name => 'aggregation' }, 'aggregation:s@' => { name => 'aggregation' },
'zeroed' => { name => 'zeroed' }, 'zeroed' => { name => 'zeroed' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -73,21 +72,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,19 +41,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"url-path:s" => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
"api-username:s" => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
"api-key:s" => { name => 'api_key' }, 'api-key:s' => { name => 'api_key' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'XMLAPI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'XMLAPI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -65,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -43,18 +43,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"token:s" => { name => 'token' }, 'token:s' => { name => 'token' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
"config-file:s" => { name => 'config_file' }, 'config-file:s' => { name => 'config_file' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -66,21 +65,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -40,22 +40,21 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"token:s" => { name => 'token' }, 'token:s' => { name => 'token' },
"timeout:s" => { name => 'timeout', default => 10 }, 'timeout:s' => { name => 'timeout', default => 10 },
"config-file:s" => { name => 'config_file' }, 'config-file:s' => { name => 'config_file' },
"sudo" => { name => 'sudo' }, 'sudo' => { name => 'sudo' },
"command:s" => { name => 'command', default => 'kubectl' }, 'command:s' => { name => 'command', default => 'kubectl' },
"command-path:s" => { name => 'command_path' }, 'command-path:s' => { name => 'command_path' },
"command-options:s" => { name => 'command_options', default => '' }, 'command-options:s' => { name => 'command_options', default => '' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'CLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -66,21 +65,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -47,18 +47,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"tenant:s" => { name => 'tenant' }, 'tenant:s' => { name => 'tenant' },
"client-id:s" => { name => 'client_id' }, 'client-id:s' => { name => 'client_id' },
"client-secret:s" => { name => 'client_secret' }, 'client-secret:s' => { name => 'client_secret' },
"login-endpoint:s" => { name => 'login_endpoint' }, 'login-endpoint:s' => { name => 'login_endpoint' },
"graph-endpoint:s" => { name => 'graph_endpoint' }, 'graph-endpoint:s' => { name => 'graph_endpoint' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -71,21 +70,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,18 +45,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"tenant:s" => { name => 'tenant' }, 'tenant:s' => { name => 'tenant' },
"client-id:s" => { name => 'client_id' }, 'client-id:s' => { name => 'client_id' },
"client-secret:s" => { name => 'client_secret' }, 'client-secret:s' => { name => 'client_secret' },
"login-endpoint:s" => { name => 'login_endpoint' }, 'login-endpoint:s' => { name => 'login_endpoint' },
"management-endpoint:s" => { name => 'management_endpoint' }, 'management-endpoint:s' => { name => 'management_endpoint' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -69,21 +68,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -57,7 +57,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -69,21 +68,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -43,28 +43,26 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'url-path:s' => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
'port:s' => { name => 'port' }, 'port:s' => { name => 'port' },
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'credentials' => { name => 'credentials' }, 'credentials' => { name => 'credentials' },
'basic' => { name => 'basic' }, 'basic' => { name => 'basic' },
'username:s' => { name => 'username' }, 'username:s' => { name => 'username' },
'password:s' => { name => 'password' }, 'password:s' => { name => 'password' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
'header:s@' => { name => 'header' }, 'header:s@' => { name => 'header' },
'timeframe:s' => { name => 'timeframe' }, 'timeframe:s' => { name => 'timeframe' },
'step:s' => { name => 'step' }, 'step:s' => { name => 'step' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
sub set_options { sub set_options {
@ -73,21 +71,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -50,13 +50,12 @@ sub new {
'operator-user' => { name => 'operator_user' }, 'operator-user' => { name => 'operator_user' },
'api-path:s' => { name => 'api_path' }, 'api-path:s' => { name => 'api_path' },
'timeframe:s' => { name => 'timeframe' }, 'timeframe:s' => { name => 'timeframe' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -68,21 +67,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -49,13 +49,12 @@ sub new {
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
'unknown-http-status:s' => { name => 'unknown_http_status' }, 'unknown-http-status:s' => { name => 'unknown_http_status' },
'warning-http-status:s' => { name => 'warning_http_status' }, 'warning-http-status:s' => { name => 'warning_http_status' },
'critical-http-status:s' => { name => 'critical_http_status' }, 'critical-http-status:s' => { name => 'critical_http_status' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -67,21 +66,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,22 +41,20 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s@" => { name => 'hostname' }, 'hostname:s@' => { name => 'hostname' },
"port:s@" => { name => 'port' }, 'port:s@' => { name => 'port' },
"proto:s@" => { name => 'proto' }, 'proto:s@' => { name => 'proto' },
"username:s@" => { name => 'username' }, 'username:s@' => { name => 'username' },
"password:s@" => { name => 'password' }, 'password:s@' => { name => 'password' },
"timeout:s@" => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
sub set_options { sub set_options {
@ -65,21 +63,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -51,7 +51,7 @@ sub init {
arguments => { arguments => {
'host:s@' => { name => 'db_host' }, 'host:s@' => { name => 'db_host' },
'port:s@' => { name => 'db_port' }, 'port:s@' => { name => 'db_port' },
'database:s@' => { name => 'db_name' }, 'database:s@' => { name => 'db_name' }
} }
); );
$self->{options}->parse_options(); $self->{options}->parse_options();

View File

@ -52,13 +52,12 @@ sub new {
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
'unknown-http-status:s' => { name => 'unknown_http_status' }, 'unknown-http-status:s' => { name => 'unknown_http_status' },
'warning-http-status:s' => { name => 'warning_http_status' }, 'warning-http-status:s' => { name => 'warning_http_status' },
'critical-http-status:s' => { name => 'critical_http_status' }, 'critical-http-status:s' => { name => 'critical_http_status' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM MODE OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -70,21 +69,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -49,14 +49,13 @@ sub new {
'username:s' => { name => 'username' }, 'username:s' => { name => 'username' },
'password:s' => { name => 'password' }, 'password:s' => { name => 'password' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
'ssl-opt:s@' => { name => 'ssl_opt' }, 'ssl-opt:s@' => { name => 'ssl_opt' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'DRIVER OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'DRIVER OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -67,21 +66,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -50,13 +50,13 @@ sub new {
'username:s@' => { name => 'username' }, 'username:s@' => { name => 'username' },
'password:s@' => { name => 'password' }, 'password:s@' => { name => 'password' },
'socket:s@' => { name => 'socket' }, 'socket:s@' => { name => 'socket' },
'sql-errors-exit:s' => { name => 'sql_errors_exit', default => 'unknown' }, 'sql-errors-exit:s' => { name => 'sql_errors_exit', default => 'unknown' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'MYSQLCMD OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'MYSQLCMD OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode}; $self->{custommode_name} = $options{custommode_name};
$self->{args} = undef; $self->{args} = undef;
$self->{stdout} = undef; $self->{stdout} = undef;
$self->{columns} = undef; $self->{columns} = undef;
@ -71,22 +71,17 @@ sub new {
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples
sub set_defaults { sub set_defaults {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) { foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) { if ($_ eq $self->{custommode_name}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) { for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) { foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) { if (!defined($self->{option_results}->{$opt}[$i])) {
@ -100,8 +95,6 @@ sub set_defaults {
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still data_source
# return 0 = no data_source left
$self->{host} = (defined($self->{option_results}->{host})) ? shift(@{$self->{option_results}->{host}}) : undef; $self->{host} = (defined($self->{option_results}->{host})) ? shift(@{$self->{option_results}->{host}}) : undef;
$self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : undef; $self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : undef;

View File

@ -45,11 +45,11 @@ sub new {
'sql' => 'centreon::common::protocols::sql::mode::sql', 'sql' => 'centreon::common::protocols::sql::mode::sql',
'sql-string' => 'centreon::common::protocols::sql::mode::sqlstring', 'sql-string' => 'centreon::common::protocols::sql::mode::sqlstring',
'threads-connected' => 'database::mysql::mode::threadsconnected', 'threads-connected' => 'database::mysql::mode::threadsconnected',
'uptime' => 'database::mysql::mode::uptime', 'uptime' => 'database::mysql::mode::uptime'
); );
$self->{sql_modes}{dbi} = 'database::mysql::dbi'; $self->{sql_modes}->{dbi} = 'database::mysql::dbi';
$self->{sql_modes}{mysqlcmd} = 'database::mysql::mysqlcmd'; $self->{sql_modes}->{mysqlcmd} = 'database::mysql::mysqlcmd';
return $self; return $self;
} }
@ -59,9 +59,9 @@ sub init {
$self->{options}->add_options( $self->{options}->add_options(
arguments => { arguments => {
'host:s@' => { name => 'db_host' }, 'host:s@' => { name => 'db_host' },
'port:s@' => { name => 'db_port' }, 'port:s@' => { name => 'db_port' },
'socket:s@' => { name => 'db_socket' }, 'socket:s@' => { name => 'db_socket' }
} }
); );
$self->{options}->parse_options(); $self->{options}->parse_options();

View File

@ -58,11 +58,11 @@ sub new {
'sql' => 'centreon::common::protocols::sql::mode::sql', 'sql' => 'centreon::common::protocols::sql::mode::sql',
'sql-string' => 'centreon::common::protocols::sql::mode::sqlstring', 'sql-string' => 'centreon::common::protocols::sql::mode::sqlstring',
'tablespace-usage' => 'database::oracle::mode::tablespaceusage', 'tablespace-usage' => 'database::oracle::mode::tablespaceusage',
'tnsping' => 'database::oracle::mode::tnsping', 'tnsping' => 'database::oracle::mode::tnsping'
); );
$self->{sql_modes}{dbi} = 'database::oracle::dbi'; $self->{sql_modes}->{dbi} = 'database::oracle::dbi';
$self->{sql_modes}{sqlpluscmd} = 'database::oracle::sqlpluscmd'; $self->{sql_modes}->{sqlpluscmd} = 'database::oracle::sqlpluscmd';
return $self; return $self;
} }
@ -75,7 +75,7 @@ sub init {
'port:s@' => { name => 'port' }, 'port:s@' => { name => 'port' },
'sid:s' => { name => 'sid' }, 'sid:s' => { name => 'sid' },
'servicename:s' => { name => 'servicename' }, 'servicename:s' => { name => 'servicename' },
'container:s' => { name => 'container' }, 'container:s' => { name => 'container' }
}); });
$self->{options}->parse_options(); $self->{options}->parse_options();

View File

@ -46,24 +46,24 @@ sub new {
} }
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"sqlplus-cmd:s" => { name => 'sqlplus_cmd'}, 'sqlplus-cmd:s' => { name => 'sqlplus_cmd'},
"oracle-home:s" => { name => 'oracle_home' }, 'oracle-home:s' => { name => 'oracle_home' },
"tnsadmin-home:s" => { name => 'tnsadmin_home' }, 'tnsadmin-home:s' => { name => 'tnsadmin_home' },
"tnsnames-sid:s" => { name => 'tnsnames_sid'}, 'tnsnames-sid:s' => { name => 'tnsnames_sid'},
"tnsnames-servicename:s" => { name => 'tnsnames_servicename'}, 'tnsnames-servicename:s' => { name => 'tnsnames_servicename'},
"username:s" => { name => 'username' }, 'username:s' => { name => 'username' },
"password:s" => { name => 'password' }, 'password:s' => { name => 'password' },
"local-connexion" => { name => 'local_connexion', default => 0 }, 'local-connexion' => { name => 'local_connexion', default => 0 },
"sysdba" => { name => 'sysdba', default => 0 }, 'sysdba' => { name => 'sysdba', default => 0 },
"sql-errors-exit:s" => { name => 'sql_errors_exit', default => 'unknown' }, 'sql-errors-exit:s' => { name => 'sql_errors_exit', default => 'unknown' },
"tempdir:s" => { name => 'tempdir', default => '/tmp' }, 'tempdir:s' => { name => 'tempdir', default => '/tmp' }
} }
); );
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'sqlpluscmd OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'sqlpluscmd OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode}; $self->{custommode_name} = $options{custommode_name};
$self->{args} = undef; $self->{args} = undef;
$self->{stdout} = undef; $self->{stdout} = undef;
$self->{columns} = undef; $self->{columns} = undef;
@ -77,22 +77,17 @@ sub new {
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples
sub set_defaults { sub set_defaults {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) { foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) { if ($_ eq $self->{custommode_name}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) { for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) { foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) { if (!defined($self->{option_results}->{$opt}[$i])) {
@ -106,8 +101,6 @@ sub set_defaults {
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still data_source
# return 0 = no data_source left
$self->{sid} = defined($self->{option_results}->{sid}[0]) ? $self->{option_results}->{sid}[0] : $self->{option_results}->{tnsnames_sid}; $self->{sid} = defined($self->{option_results}->{sid}[0]) ? $self->{option_results}->{sid}[0] : $self->{option_results}->{tnsnames_sid};
$self->{service_name} = defined($self->{option_results}->{service_name}[0]) ? $self->{option_results}->{service_name}[0] : $self->{option_results}->{tnsnames_servicename}; $self->{service_name} = defined($self->{option_results}->{service_name}[0]) ? $self->{option_results}->{service_name}[0] : $self->{option_results}->{tnsnames_servicename};

View File

@ -46,7 +46,7 @@ sub new {
'vacuum' => 'database::postgres::mode::vacuum', 'vacuum' => 'database::postgres::mode::vacuum',
); );
$self->{sql_modes}{psqlcmd} = 'database::postgres::psqlcmd'; $self->{sql_modes}->{psqlcmd} = 'database::postgres::psqlcmd';
return $self; return $self;
} }

View File

@ -43,20 +43,20 @@ sub new {
$options{output}->option_exit(); $options{output}->option_exit();
} }
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => $options{options}->add_options(arguments => {
{ "psql-cmd:s" => { name => 'psql_cmd', default => '/usr/bin/psql' }, 'psql-cmd:s' => { name => 'psql_cmd', default => '/usr/bin/psql' },
"host:s@" => { name => 'host' }, 'host:s@' => { name => 'host' },
"port:s@" => { name => 'port' }, 'port:s@' => { name => 'port' },
"username:s@" => { name => 'username' }, 'username:s@' => { name => 'username' },
"password:s@" => { name => 'password' }, 'password:s@' => { name => 'password' },
"dbname:s@" => { name => 'dbname' }, 'dbname:s@' => { name => 'dbname' },
"sql-errors-exit:s" => { name => 'sql_errors_exit', default => 'unknown' }, 'sql-errors-exit:s' => { name => 'sql_errors_exit', default => 'unknown' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'PSQLCMD OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'PSQLCMD OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode}; $self->{custommode_name} = $options{custommode_name};
$self->{args} = undef; $self->{args} = undef;
$self->{stdout} = undef; $self->{stdout} = undef;
$self->{columns} = undef; $self->{columns} = undef;
@ -74,22 +74,17 @@ sub new {
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples
sub set_defaults { sub set_defaults {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) { foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) { if ($_ eq $self->{custommode_name}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) { for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) { foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) { if (!defined($self->{option_results}->{$opt}[$i])) {
@ -103,8 +98,6 @@ sub set_defaults {
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still data_source
# return 0 = no data_source left
$self->{host} = (defined($self->{option_results}->{host})) ? shift(@{$self->{option_results}->{host}}) : undef; $self->{host} = (defined($self->{option_results}->{host})) ? shift(@{$self->{option_results}->{host}}) : undef;
$self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : undef; $self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : undef;

View File

@ -49,7 +49,7 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CUSTOM OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode}; $self->{custommode_name} = $options{custommode_name};
$self->{customarg} = undef; $self->{customarg} = undef;
@ -71,7 +71,7 @@ sub set_defaults {
# Manage default value # Manage default value
foreach (keys %{$options{default}}) { foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) { if ($_ eq $self->{custommode_name}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) { for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) { foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) { if (!defined($self->{option_results}->{$opt}[$i])) {

View File

@ -45,19 +45,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'port:s' => { name => 'port'}, 'port:s' => { name => 'port'},
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'api-username:s' => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
'api-password:s' => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
'timeout:s' => { name => 'timeout', default => 30 }, 'timeout:s' => { name => 'timeout', default => 30 }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -70,21 +69,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -55,14 +55,13 @@ sub new {
'lockfile-dir:s' => { name => 'lockfile_dir', default => '/var/lib/centreon/centplugins' }, 'lockfile-dir:s' => { name => 'lockfile_dir', default => '/var/lib/centreon/centplugins' },
'unknown-http-status:s' => { name => 'unknown_http_status' }, 'unknown-http-status:s' => { name => 'unknown_http_status' },
'warning-http-status:s' => { name => 'warning_http_status' }, 'warning-http-status:s' => { name => 'warning_http_status' },
'critical-http-status:s' => { name => 'critical_http_status' }, 'critical-http-status:s' => { name => 'critical_http_status' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -74,21 +73,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,19 +45,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'port:s' => { name => 'port'}, 'port:s' => { name => 'port'},
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'api-username:s' => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
'api-password:s' => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
'timeout:s' => { name => 'timeout', default => 30 }, 'timeout:s' => { name => 'timeout', default => 30 }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -70,21 +69,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -42,18 +42,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'timeout:s' => { name => 'timeout', default => 30 }, 'timeout:s' => { name => 'timeout', default => 30 },
'port:s' => { name => 'port', default => 443 }, 'port:s' => { name => 'port', default => 443 },
'username:s' => { name => 'username' }, 'username:s' => { name => 'username' },
'password:s' => { name => 'password' }, 'password:s' => { name => 'password' },
'force-ilo3' => { name => 'force_ilo3' }, 'force-ilo3' => { name => 'force_ilo3' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'XML API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'XML API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -65,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -45,19 +45,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'port:s' => { name => 'port'}, 'port:s' => { name => 'port'},
'proto:s' => { name => 'proto' }, 'proto:s' => { name => 'proto' },
'api-username:s' => { name => 'api_username' }, 'api-username:s' => { name => 'api_username' },
'api-password:s' => { name => 'api_password' }, 'api-password:s' => { name => 'api_password' },
'timeout:s' => { name => 'timeout', default => 30 }, 'timeout:s' => { name => 'timeout', default => 30 }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -70,21 +69,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -44,18 +44,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'username:s' => { name => 'username' }, 'username:s' => { name => 'username' },
'password:s' => { name => 'password' }, 'password:s' => { name => 'password' },
'hostname:s' => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
'timeout:s' => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' },
'port:s' => { name => 'port'}, 'port:s' => { name => 'port'},
'proto:s' => { name => 'proto'} 'proto:s' => { name => 'proto'}
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
@ -68,21 +67,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -55,7 +55,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
$self->{cache_checked} = 0; $self->{cache_checked} = 0;
@ -69,21 +68,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,56 +41,33 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s@" => { name => 'hostname' }, 'hostname:s@' => { name => 'hostname' },
"port:s@" => { name => 'port' }, 'port:s@' => { name => 'port' },
"proto:s@" => { name => 'proto' }, 'proto:s@' => { name => 'proto' },
"url-path:s@" => { name => 'url_path' }, 'url-path:s@' => { name => 'url_path' },
"username:s@" => { name => 'username' }, 'username:s@' => { name => 'username' },
"password:s@" => { name => 'password' }, 'password:s@' => { name => 'password' },
"timeout:s@" => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
} }
# Method to manage multiples
sub set_options { sub set_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# options{options_result}
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
# Method to manage multiples sub set_defaults {}
sub set_defaults {
my ($self, %options) = @_;
# options{default}
# Manage default value
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;
# return 1 = ok still hostname
# return 0 = no hostname left
$self->{hostname} = (defined($self->{option_results}->{hostname})) ? shift(@{$self->{option_results}->{hostname}}) : undef; $self->{hostname} = (defined($self->{option_results}->{hostname})) ? shift(@{$self->{option_results}->{hostname}}) : undef;
$self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : 443; $self->{port} = (defined($self->{option_results}->{port})) ? shift(@{$self->{option_results}->{port}}) : 443;

View File

@ -47,13 +47,12 @@ sub new {
'timeout:s' => { name => 'timeout', default => 45 }, 'timeout:s' => { name => 'timeout', default => 45 },
'command:s' => { name => 'command' }, 'command:s' => { name => 'command' },
'command-path:s' => { name => 'command_path' }, 'command-path:s' => { name => 'command_path' },
'command-options:s' => { name => 'command_options' }, 'command-options:s' => { name => 'command_options' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'SSH OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'SSH OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
return $self; return $self;
} }
@ -64,21 +63,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -41,19 +41,18 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s" => { name => 'hostname' }, 'hostname:s' => { name => 'hostname' },
"url-path:s" => { name => 'url_path' }, 'url-path:s' => { name => 'url_path' },
"port:s" => { name => 'port' }, 'port:s' => { name => 'port' },
"proto:s" => { name => 'proto' }, 'proto:s' => { name => 'proto' },
"username:s" => { name => 'username' }, 'username:s' => { name => 'username' },
"password:s" => { name => 'password' }, 'password:s' => { name => 'password' },
"timeout:s" => { name => 'timeout' }, 'timeout:s' => { name => 'timeout' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'XMLAPI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'XMLAPI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
return $self; return $self;
@ -65,21 +64,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -42,18 +42,17 @@ sub new {
if (!defined($options{noptions})) { if (!defined($options{noptions})) {
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
"hostname:s@" => { name => 'hostname' }, 'hostname:s@' => { name => 'hostname' },
"freebox-app-id:s@" => { name => 'freebox_app_id' }, 'freebox-app-id:s@' => { name => 'freebox_app_id' },
"freebox-app-token:s@" => { name => 'freebox_app_token' }, 'freebox-app-token:s@' => { name => 'freebox_app_token' },
"freebox-api-version:s@" => { name => 'freebox_api_version', }, 'freebox-api-version:s@' => { name => 'freebox_api_version', },
"timeout:s@" => { name => 'timeout' }, 'timeout:s@' => { name => 'timeout' },
"resolution:s@" => { name => 'resolution' }, 'resolution:s@' => { name => 'resolution' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{session_token} = undef; $self->{session_token} = undef;
@ -68,21 +67,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -46,13 +46,12 @@ sub new {
'timeout:s' => { name => 'timeout', default => 45 }, 'timeout:s' => { name => 'timeout', default => 45 },
'command:s' => { name => 'command' }, 'command:s' => { name => 'command' },
'command-path:s' => { name => 'command_path' }, 'command-path:s' => { name => 'command_path' },
'command-options:s' => { name => 'command_options' }, 'command-options:s' => { name => 'command_options' }
}); });
} }
$options{options}->add_help(package => __PACKAGE__, sections => 'SSH OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'SSH OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{ssh} = centreon::plugins::ssh->new(%options); $self->{ssh} = centreon::plugins::ssh->new(%options);
return $self; return $self;
@ -64,21 +63,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -59,7 +59,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{http} = centreon::plugins::http->new(%options); $self->{http} = centreon::plugins::http->new(%options);
$self->{cache} = centreon::plugins::statefile->new(%options); $self->{cache} = centreon::plugins::statefile->new(%options);
$self->{cache_checked} = 0; $self->{cache_checked} = 0;
@ -73,21 +72,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -52,7 +52,6 @@ sub new {
$options{options}->add_help(package => __PACKAGE__, sections => 'CLI OPTIONS', once => 1); $options{options}->add_help(package => __PACKAGE__, sections => 'CLI OPTIONS', once => 1);
$self->{output} = $options{output}; $self->{output} = $options{output};
$self->{mode} = $options{mode};
$self->{ssh} = centreon::plugins::ssh->new(%options); $self->{ssh} = centreon::plugins::ssh->new(%options);
return $self; return $self;
@ -64,21 +63,7 @@ sub set_options {
$self->{option_results} = $options{option_results}; $self->{option_results} = $options{option_results};
} }
sub set_defaults { sub set_defaults {}
my ($self, %options) = @_;
foreach (keys %{$options{default}}) {
if ($_ eq $self->{mode}) {
for (my $i = 0; $i < scalar(@{$options{default}->{$_}}); $i++) {
foreach my $opt (keys %{$options{default}->{$_}[$i]}) {
if (!defined($self->{option_results}->{$opt}[$i])) {
$self->{option_results}->{$opt}[$i] = $options{default}->{$_}[$i]->{$opt};
}
}
}
}
}
}
sub check_options { sub check_options {
my ($self, %options) = @_; my ($self, %options) = @_;

View File

@ -61,30 +61,23 @@ sub new {
my $self = $class->SUPER::new(package => __PACKAGE__, %options); my $self = $class->SUPER::new(package => __PACKAGE__, %options);
bless $self, $class; bless $self, $class;
$options{options}->add_options(arguments => $options{options}->add_options(arguments => {
{ 'warning:s' => { name => 'warning', },
"hostname:s" => { name => 'hostname' }, 'critical:s' => { name => 'critical', },
"remote" => { name => 'remote' }, 'service:s@' => { name => 'service', },
"ssh-option:s@" => { name => 'ssh_option' }, 'application:s@' => { name => 'application', },
"ssh-path:s" => { name => 'ssh_path' }, 'con-mode:s' => { name => 'con_mode', default => 'netstat' }
"ssh-command:s" => { name => 'ssh_command', default => 'ssh' }, });
"timeout:s" => { name => 'timeout', default => 30 },
"sudo" => { name => 'sudo' }, $self->{connections} = [];
"command:s" => { name => 'command', },
"command-path:s" => { name => 'command_path', },
"command-options:s" => { name => 'command_options', },
"warning:s" => { name => 'warning', },
"critical:s" => { name => 'critical', },
"service:s@" => { name => 'service', },
"application:s@" => { name => 'application', },
"con-mode:s" => { name => 'con_mode', default => 'netstat' },
});
@{$self->{connections}} = ();
$self->{services} = { total => { filter => '(?!(udp*))#.*?#.*?#.*?#.*?#(?!(listen))', builtin => 1, number => 0, msg => 'Total connections: %d' } }; $self->{services} = { total => { filter => '(?!(udp*))#.*?#.*?#.*?#.*?#(?!(listen))', builtin => 1, number => 0, msg => 'Total connections: %d' } };
$self->{applications} = {}; $self->{applications} = {};
$self->{states} = { closed => 0, listen => 0, synSent => 0, synReceived => 0, $self->{states} = {
established => 0, finWait1 => 0, finWait2 => 0, closeWait => 0, closed => 0, listen => 0, synSent => 0, synReceived => 0,
lastAck => 0, closing => 0, timeWait => 0 }; established => 0, finWait1 => 0, finWait2 => 0, closeWait => 0,
lastAck => 0, closing => 0, timeWait => 0
};
return $self; return $self;
} }
@ -150,23 +143,18 @@ sub build_connections {
$self->{output}->option_exit(); $self->{output}->option_exit();
} }
if (!defined($self->{option_results}->{command})) { my ($command, $command_options) = ('netstat', '-antu 2>&1');
if ($self->{option_results}->{con_mode} eq 'netstat') { if ($self->{option_results}->{con_mode} eq 'ss') {
$self->{option_results}->{command} = 'netstat'; $command = 'ss';
$self->{option_results}->{command_options} = '-antu 2>&1'; $command_options = '-a -A tcp,udp -n 2>&1';
} else {
$self->{option_results}->{command} = 'ss';
$self->{option_results}->{command_options} = '-a -A tcp,udp -n 2>&1';
}
} }
$self->{stdout} = centreon::plugins::misc::execute(output => $self->{output}, ($self->{stdout}) = $options{custom}->execute_command(
options => $self->{option_results}, command => $command,
sudo => $self->{option_results}->{sudo}, command_options => $command_options
command => $self->{option_results}->{command}, );
command_path => $self->{option_results}->{command_path},
command_options => $self->{option_results}->{command_options}); if ($self->{option_results}->{con_mode} eq 'ss') {
if ($self->{option_results}->{command} eq 'ss') {
$self->ss_build(); $self->ss_build();
} else { } else {
$self->netstat_build(); $self->netstat_build();
@ -188,14 +176,17 @@ sub check_services {
$self->{output}->option_exit(); $self->{output}->option_exit();
} }
$self->{services}->{$tag} = { filter => ((defined($ipv) && $ipv ne '') ? $ipv : '.*?') . '#' . $self->{services}->{$tag} = {
((defined($filter_ip_src) && $filter_ip_src ne '') ? $filter_ip_src : '.*?') . '#' . filter =>
((defined($port_src) && $port_src ne '') ? $port_src : '.*?') . '#' . ((defined($ipv) && $ipv ne '') ? $ipv : '.*?') . '#' .
((defined($filter_ip_dst) && $filter_ip_dst ne '') ? $filter_ip_dst : '.*?') . '#' . ((defined($filter_ip_src) && $filter_ip_src ne '') ? $filter_ip_src : '.*?') . '#' .
((defined($port_dst) && $port_dst ne '') ? $port_dst : '.*?') . '#' . ((defined($port_src) && $port_src ne '') ? $port_src : '.*?') . '#' .
((defined($state) && $state ne '') ? lc($state) : '(?!(listen))') ((defined($filter_ip_dst) && $filter_ip_dst ne '') ? $filter_ip_dst : '.*?') . '#' .
, ((defined($port_dst) && $port_dst ne '') ? $port_dst : '.*?') . '#' .
builtin => 0, number => 0 }; ((defined($state) && $state ne '') ? lc($state) : '(?!(listen))'),
builtin => 0,
number => 0
};
if (($self->{perfdata}->threshold_validate(label => 'warning-service-' . $tag, value => $warn)) == 0) { if (($self->{perfdata}->threshold_validate(label => 'warning-service-' . $tag, value => $warn)) == 0) {
$self->{output}->add_option_msg(short_msg => "Wrong warning threshold '" . $warn . "' for service '$tag'."); $self->{output}->add_option_msg(short_msg => "Wrong warning threshold '" . $warn . "' for service '$tag'.");
$self->{output}->option_exit(); $self->{output}->option_exit();
@ -223,8 +214,8 @@ sub check_applications {
} }
$self->{applications}->{$tag} = { $self->{applications}->{$tag} = {
services => {}, services => {}
}; };
foreach my $service (split /\|/, $services) { foreach my $service (split /\|/, $services) {
if (!defined($self->{services}->{$service})) { if (!defined($self->{services}->{$service})) {
$self->{output}->add_option_msg(short_msg => "Service '" . $service . "' is not defined."); $self->{output}->add_option_msg(short_msg => "Service '" . $service . "' is not defined.");
@ -254,20 +245,26 @@ sub test_services {
} }
} }
my $exit_code = $self->{perfdata}->threshold_check(value => $self->{services}->{$tag}->{number}, my $exit_code = $self->{perfdata}->threshold_check(
threshold => [ { label => 'critical-service-' . $tag, 'exit_litteral' => 'critical' }, { label => 'warning-service-' . $tag, exit_litteral => 'warning' } ]); value => $self->{services}->{$tag}->{number},
threshold => [ { label => 'critical-service-' . $tag, 'exit_litteral' => 'critical' }, { label => 'warning-service-' . $tag, exit_litteral => 'warning' } ]
);
my ($perf_label, $msg) = ('service_' . $tag, "Service '$tag' connections: %d"); my ($perf_label, $msg) = ('service_' . $tag, "Service '$tag' connections: %d");
if ($self->{services}->{$tag}->{builtin} == 1) { if ($self->{services}->{$tag}->{builtin} == 1) {
($perf_label, $msg) = ($tag, $self->{services}->{$tag}->{msg}); ($perf_label, $msg) = ($tag, $self->{services}->{$tag}->{msg});
} }
$self->{output}->output_add(severity => $exit_code, $self->{output}->output_add(
short_msg => sprintf($msg, $self->{services}->{$tag}->{number})); severity => $exit_code,
$self->{output}->perfdata_add(label => $perf_label, short_msg => sprintf($msg, $self->{services}->{$tag}->{number})
value => $self->{services}->{$tag}->{number}, );
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning-service-' . $tag), $self->{output}->perfdata_add(
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical-service-' . $tag), label => $perf_label,
min => 0); value => $self->{services}->{$tag}->{number},
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning-service-' . $tag),
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical-service-' . $tag),
min => 0
);
} }
} }
@ -281,15 +278,21 @@ sub test_applications {
$number += $self->{services}->{$_}->{number}; $number += $self->{services}->{$_}->{number};
} }
my $exit_code = $self->{perfdata}->threshold_check(value => $number, my $exit_code = $self->{perfdata}->threshold_check(
threshold => [ { label => 'critical-app-' . $tag, 'exit_litteral' => 'critical' }, { label => 'warning-app-' . $tag, exit_litteral => 'warning' } ]); value => $number,
$self->{output}->output_add(severity => $exit_code, threshold => [ { label => 'critical-app-' . $tag, 'exit_litteral' => 'critical' }, { label => 'warning-app-' . $tag, exit_litteral => 'warning' } ]
short_msg => sprintf("Applicatin '%s' connections: %d", $tag, $number)); );
$self->{output}->perfdata_add(label => 'app_' . $tag, $self->{output}->output_add(
value => $number, severity => $exit_code,
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning-app-' . $tag), short_msg => sprintf("Applicatin '%s' connections: %d", $tag, $number)
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical-app-' . $tag), );
min => 0); $self->{output}->perfdata_add(
label => 'app_' . $tag,
value => $number,
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning-app-' . $tag),
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical-app-' . $tag),
min => 0
);
} }
} }
@ -311,16 +314,17 @@ sub check_options {
sub run { sub run {
my ($self, %options) = @_; my ($self, %options) = @_;
$self->{snmp} = $options{snmp};
$self->build_connections(); $self->build_connections(custom => $options{custom});
$self->test_services(); $self->test_services();
$self->test_applications(); $self->test_applications();
foreach (keys %{$self->{states}}) { foreach (keys %{$self->{states}}) {
$self->{output}->perfdata_add(label => 'con_' . $_, $self->{output}->perfdata_add(
value => $self->{states}->{$_}, label => 'con_' . $_,
min => 0); value => $self->{states}->{$_},
min => 0
);
} }
$self->{output}->display(); $self->{output}->display();
@ -334,7 +338,9 @@ __END__
=head1 MODE =head1 MODE
Check tcp/udp connections (udp connections are not in total. Use option '--service' to check it). Check tcp/udp connections (udp connections are not in total. Use option '--service' to check it).
'ipx', 'x25' connections are not checked (need output to do it. If you have, you can post it in forge :) 'ipx', 'x25' connections are not checked (need output to do it. If you have, you can post it in github :)
Command used: 'netstat -antu 2>&1' or 'ss -a -A tcp,udp -n 2>&1'
=over 8 =over 8
@ -402,49 +408,6 @@ nagios-perfdata - number of connections.
=back =back
=item B<--remote>
Execute command remotely in 'ssh'.
=item B<--hostname>
Hostname to query (need --remote).
=item B<--ssh-option>
Specify multiple options like the user (example: --ssh-option='-l=centreon-engine' --ssh-option='-p=52').
=item B<--ssh-path>
Specify ssh command path (default: none)
=item B<--ssh-command>
Specify ssh command (default: 'ssh'). Useful to use 'plink'.
=item B<--timeout>
Timeout in seconds for the command (Default: 30).
=item B<--sudo>
Use 'sudo' to execute the command.
=item B<--command>
Command to get information (Default: 'netstat').
Can be changed if you have output in a file.
If --con-mode='ss', command 'ss' will be used.
=item B<--command-path>
Command path (Default: none).
=item B<--command-options>
Command options (Default: '-antu 2>&1').
If --con-mode='ss', argument default will '-a -A tcp,udp -n'.
=item B<--con-mode> =item B<--con-mode>
Default mode for parsing and command (Default: 'netstat'). Default mode for parsing and command (Default: 'netstat').

View File

@ -109,10 +109,10 @@ sub set_counters {
output_use => 'prct_used', threshold_use => 'prct_used', output_use => 'prct_used', threshold_use => 'prct_used',
perfdatas => [ perfdatas => [
{ label => 'total_cpu_avg', value => 'prct_used', template => '%.2f', { label => 'total_cpu_avg', value => 'prct_used', template => '%.2f',
min => 0, max => 100, unit => '%' }, min => 0, max => 100, unit => '%' }
], ]
} }
}, }
]; ];
$self->{maps_counters}->{cpu_core} = [ $self->{maps_counters}->{cpu_core} = [
@ -126,10 +126,10 @@ sub set_counters {
output_use => 'prct_used', threshold_use => 'prct_used', output_use => 'prct_used', threshold_use => 'prct_used',
perfdatas => [ perfdatas => [
{ label => 'cpu', value => 'prct_used', template => '%.2f', { label => 'cpu', value => 'prct_used', template => '%.2f',
min => 0, max => 100, unit => '%', label_extra_instance => 1 }, min => 0, max => 100, unit => '%', label_extra_instance => 1 }
], ]
} }
}, }
]; ];
} }
@ -145,42 +145,17 @@ sub new {
bless $self, $class; bless $self, $class;
$options{options}->add_options(arguments => { $options{options}->add_options(arguments => {
'hostname:s' => { name => 'hostname' },
'remote' => { name => 'remote' },
'ssh-option:s@' => { name => 'ssh_option' },
'ssh-path:s' => { name => 'ssh_path' },
'ssh-command:s' => { name => 'ssh_command', default => 'ssh' },
'timeout:s' => { name => 'timeout', default => 30 },
'sudo' => { name => 'sudo' },
'command:s' => { name => 'command', default => 'cat' },
'command-path:s' => { name => 'command_path' },
'command-options:s' => { name => 'command_options', default => '/proc/stat 2>&1' }
}); });
$self->{hostname} = undef;
return $self; return $self;
} }
sub check_options {
my ($self, %options) = @_;
$self->SUPER::check_options(%options);
$self->{hostname} = $self->{option_results}->{hostname};
if (!defined($self->{hostname})) {
$self->{hostname} = 'me';
}
}
sub manage_selection { sub manage_selection {
my ($self, %options) = @_; my ($self, %options) = @_;
my $stdout = centreon::plugins::misc::execute( my ($stdout) = $options{custom}->execute_command(
output => $self->{output}, command => 'cat',
options => $self->{option_results}, command_options => '/proc/stat 2>&1'
sudo => $self->{option_results}->{sudo},
command => $self->{option_results}->{command},
command_path => $self->{option_results}->{command_path},
command_options => $self->{option_results}->{command_options}
); );
$self->{cpu_avg} = {}; $self->{cpu_avg} = {};
@ -202,9 +177,8 @@ sub manage_selection {
$self->{cpu_avg}->{'cpu' . $cpu_number . '_iowait'} = $6; $self->{cpu_avg}->{'cpu' . $cpu_number . '_iowait'} = $6;
} }
$self->{cache_name} = "cache_linux_local_" . md5_hex($self->{hostname}) . '_' . $self->{mode} . '_' . $self->{cache_name} = 'cache_linux_local_' . $options{custom}->get_identifier() . '_' . $self->{mode} . '_' .
(defined($self->{option_results}->{filter_counters}) ? md5_hex($self->{option_results}->{filter_counters}) : md5_hex('all')) . '_' . (defined($self->{option_results}->{filter_counters}) ? md5_hex($self->{option_results}->{filter_counters}) : md5_hex('all'));
(defined($self->{option_results}->{ssh_option}) ? md5_hex(join('', @{$self->{option_results}->{ssh_option}})) : md5_hex('all'));
} }
1; 1;
@ -214,50 +188,10 @@ __END__
=head1 MODE =head1 MODE
Check system CPUs (need '/proc/stat' file). Check system CPUs (need '/proc/stat' file).
Command used: cat /proc/stat 2>&1
=over 8 =over 8
=item B<--remote>
Execute command remotely in 'ssh'.
=item B<--hostname>
Hostname to query (need --remote).
=item B<--ssh-option>
Specify multiple options like the user (example: --ssh-option='-l=centreon-engine' --ssh-option='-p=52').
=item B<--ssh-path>
Specify ssh command path (default: none)
=item B<--ssh-command>
Specify ssh command (default: 'ssh'). Useful to use 'plink'.
=item B<--timeout>
Timeout in seconds for the command (Default: 30).
=item B<--sudo>
Use 'sudo' to execute the command.
=item B<--command>
Command to get information (Default: 'cat').
Can be changed if you have output in a file.
=item B<--command-path>
Command path (Default: none).
=item B<--command-options>
Command options (Default: '/proc/stat 2>&1').
=item B<--warning-average> =item B<--warning-average>
Warning threshold average CPU utilization. Warning threshold average CPU utilization.

Some files were not shown because too many files have changed in this diff Show More