mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-31 01:24:35 +02:00
add filter for meraki discovery
This commit is contained in:
parent
40ab645939
commit
2128f49a82
@ -59,37 +59,29 @@ sub manage_selection {
|
|||||||
);
|
);
|
||||||
|
|
||||||
my $devices_statuses = $options{custom}->get_organization_device_statuses();
|
my $devices_statuses = $options{custom}->get_organization_device_statuses();
|
||||||
|
my $results = {};
|
||||||
foreach (keys %$devices) {
|
foreach (keys %$devices) {
|
||||||
if (defined($self->{option_results}->{filter_network_id}) && $self->{option_results}->{filter_network_id} ne '' &&
|
next if (defined($self->{option_results}->{filter_network_id}) && $self->{option_results}->{filter_network_id} ne '' &&
|
||||||
$devices->{$_}->{networkId} !~ /$self->{option_results}->{filter_network_id}/) {
|
$devices->{$_}->{networkId} !~ /$self->{option_results}->{filter_network_id}/);
|
||||||
delete $devices->{$_};
|
next if (defined($self->{option_results}->{filter_tags}) && $self->{option_results}->{filter_tags} ne '' &&
|
||||||
next;
|
(!defined($devices->{$_}->{tags}) || $devices->{$_}->{tags} !~ /$self->{option_results}->{filter_tags}/));
|
||||||
}
|
next if (defined($self->{option_results}->{filter_organization_id}) && $self->{option_results}->{filter_organization_id} ne '' &&
|
||||||
if (defined($self->{option_results}->{filter_tags}) && $self->{option_results}->{filter_tags} ne '' &&
|
$networks->{ $devices->{$_}->{networkId} }->{organizationId} !~ /$self->{option_results}->{filter_organization_id}/);
|
||||||
(!defined($devices->{$_}->{tags}) || $devices->{$_}->{tags} !~ /$self->{option_results}->{filter_tags}/)) {
|
|
||||||
delete $devices->{$_};
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
if (defined($self->{option_results}->{filter_organization_id}) && $self->{option_results}->{filter_organization_id} ne '' &&
|
|
||||||
$networks->{ $devices->{$_}->{networkId} }->{organizationId} !~ /$self->{option_results}->{filter_organization_id}/) {
|
|
||||||
delete $devices->{$_};
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
|
|
||||||
my $organization_name = $organizations->{ $networks->{ $devices->{$_}->{networkId} }->{organizationId} }->{name};
|
my $organization_name = $organizations->{ $networks->{ $devices->{$_}->{networkId} }->{organizationId} }->{name};
|
||||||
if (defined($self->{option_results}->{filter_organization_name}) && $self->{option_results}->{filter_organization_name} ne '' &&
|
next if (defined($self->{option_results}->{filter_organization_name}) && $self->{option_results}->{filter_organization_name} ne '' &&
|
||||||
$organization_name !~ /$self->{option_results}->{filter_organization_name}/) {
|
$organization_name !~ /$self->{option_results}->{filter_organization_name}/);
|
||||||
delete $devices->{$_};
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
|
|
||||||
$devices->{$_}->{status} = $devices_statuses->{ $devices->{$_}->{serial} }->{status};
|
$results->{$_} = {
|
||||||
$devices->{$_}->{public_ip} = $devices_statuses->{ $devices->{$_}->{serial} }->{publicIp};
|
%{$devices->{$_}},
|
||||||
$devices->{$_}->{network_name} = $networks->{ $devices->{$_}->{networkId} }->{name};
|
status => $devices_statuses->{ $devices->{$_}->{serial} }->{status},
|
||||||
$devices->{$_}->{organization_name} = $organization_name;
|
public_ip => $devices_statuses->{ $devices->{$_}->{serial} }->{publicIp},
|
||||||
|
network_name => $networks->{ $devices->{$_}->{networkId} }->{name},
|
||||||
|
organization_name => $organization_name
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
return $devices;
|
return $results;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub run {
|
sub run {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user