(plugin) hardware::server::dell::vxm::restapi - add --api-version option (#4177)

This commit is contained in:
qgarnier 2023-01-25 10:07:32 +00:00 committed by GitHub
parent 59e8e2422a
commit f3e876f9d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 4 deletions

View File

@ -43,6 +43,7 @@ sub new {
$options{options}->add_options(arguments => {
'api-username:s' => { name => 'api_username' },
'api-password:s' => { name => 'api_password' },
'api-version:s' => { name => 'api_version' },
'hostname:s' => { name => 'hostname' },
'port:s' => { name => 'port' },
'proto:s' => { name => 'proto' },
@ -77,6 +78,7 @@ sub check_options {
$self->{timeout} = (defined($self->{option_results}->{timeout})) ? $self->{option_results}->{timeout} : 50;
$self->{api_username} = (defined($self->{option_results}->{api_username})) ? $self->{option_results}->{api_username} : '';
$self->{api_password} = (defined($self->{option_results}->{api_password})) ? $self->{option_results}->{api_password} : '';
$self->{api_version} = defined($self->{option_results}->{api_version}) && $self->{option_results}->{api_version} ne '' ? $self->{option_results}->{api_version} : '2';
$self->{unknown_http_status} = (defined($self->{option_results}->{unknown_http_status})) ? $self->{option_results}->{unknown_http_status} : '%{http_code} < 200 or %{http_code} >= 300';
$self->{warning_http_status} = (defined($self->{option_results}->{warning_http_status})) ? $self->{option_results}->{warning_http_status} : '';
$self->{critical_http_status} = (defined($self->{option_results}->{critical_http_status})) ? $self->{option_results}->{critical_http_status} : '';
@ -138,7 +140,7 @@ sub request {
$self->settings();
my $content = $self->{http}->request(
url_path => $options{endpoint},
url_path => '/rest/vxm/v' . $self->{api_version} . $options{endpoint},
unknown_status => $self->{unknown_http_status},
warning_status => $self->{warning_http_status},
critical_status => $self->{critical_http_status}
@ -195,6 +197,10 @@ API username.
API password.
=item B<--api-version>
API version (Default: 2).
=item B<--timeout>
Set timeout in seconds (Default: 50).

View File

@ -128,7 +128,7 @@ sub new {
sub manage_selection {
my ($self, %options) = @_;
my $results = $options{custom}->request(endpoint => '/rest/vxm/v1/chassis');
my $results = $options{custom}->request(endpoint => '/chassis');
$self->{global} = { num_chassis => 0, unhealthy => 0 };
$self->{chassis} = {};

View File

@ -55,7 +55,7 @@ sub check_options {
sub discovery_host {
my ($self, %options) = @_;
my $hosts = $options{custom}->request(endpoint => '/rest/vxm/v1/hosts');
my $hosts = $options{custom}->request(endpoint => '/hosts');
my $disco_data = [];
foreach my $host (@$hosts) {

View File

@ -165,7 +165,7 @@ sub new {
sub manage_selection {
my ($self, %options) = @_;
my $results = $options{custom}->request(endpoint => '/rest/vxm/v1/hosts');
my $results = $options{custom}->request(endpoint => '/hosts');
$self->{global} = { num_hosts => 0, unhealthy => 0 };
$self->{hosts} = {};