From e86c74e7c215f36faab06e004c4779143c5d5206 Mon Sep 17 00:00:00 2001 From: itoussies Date: Wed, 11 Dec 2024 15:43:49 +0100 Subject: [PATCH 1/5] Fix wrong variable assignment --- .../vpngateway/mode/vpngatewaystatus.pm | 4 +- .../azure/network/vpngateway/vpngateway.json | 125 ++++++++++++++++++ .../network/vpngateway/vpngatewaystatus.robot | 36 +++++ 3 files changed, 163 insertions(+), 2 deletions(-) create mode 100644 tests/cloud/azure/network/vpngateway/vpngateway.json create mode 100644 tests/cloud/azure/network/vpngateway/vpngatewaystatus.robot diff --git a/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm b/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm index 9dd3585632..9fa0fa2118 100644 --- a/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm +++ b/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm @@ -98,7 +98,7 @@ sub manage_selection { && $vpn->{name} !~ /$self->{option_results}->{filter_name}/); $self->{vpns}->{$vpn->{id}} = { - display => $vpn->{name}, + name => $vpn->{name}, provisioning_state => ($vpn->{provisioningState}) ? $vpn->{provisioningState} : $vpn->{properties}->{provisioningState}, gateway_type => ($vpn->{gatewayType}) ? $vpn->{gatewayType} : $vpn->{properties}->{gatewayType}, vpn_type => ($vpn->{vpnType}) ? $vpn->{vpnType} : $vpn->{properties}->{vpnType}, @@ -131,7 +131,7 @@ Set resource group (required). =item B<--filter-name> -Filter vpn name (can be a regexp). +Filter VPN Gateways by name (can be a regexp). =item B<--warning-status> diff --git a/tests/cloud/azure/network/vpngateway/vpngateway.json b/tests/cloud/azure/network/vpngateway/vpngateway.json new file mode 100644 index 0000000000..4673a602c0 --- /dev/null +++ b/tests/cloud/azure/network/vpngateway/vpngateway.json @@ -0,0 +1,125 @@ +{ + "uuid": "e745f255-dee8-48eb-a952-88bb0f9e5a0c", + "lastMigration": 32, + "name": "Azure vpn gateway", + "endpointPrefix": "", + "latency": 0, + "port": 3004, + "hostname": "", + "folders": [], + "routes": [ + { + "uuid": "f8dc6ac1-febc-46a8-be79-9e5e14cedd3a", + "type": "http", + "documentation": "List By Resource Group Reference (reduced reponse info)", + "method": "get", + "endpoint": "subscriptions/:subscriptionId/resourcegroups/:resourceGroup/providers/Microsoft.Network/virtualNetworkGateways", + "responses": [ + { + "uuid": "4b0edd9d-2052-45a3-9969-cf0cf461154c", + "body": "{\r\n \"value\": [\r\n {\r\n \"name\": \"gateway1\",\r\n \"id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1\",\r\n \"type\": \"Microsoft.Network/vpnGateways\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"gatewayType\": \"ExpressRoute\",\r\n \"vpnType\": \"RouteBased\"\r\n },\r\n {\r\n \"name\": \"gateway2\",\r\n \"id\": \"/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2\",\r\n \"type\": \"Microsoft.Network/vpnGateways\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"gatewayType\": \"ExpressRoute\",\r\n \"vpnType\": \"RouteBased\"\r\n }\r\n ]\r\n}", + "latency": 0, + "statusCode": 200, + "label": "", + "headers": [], + "bodyType": "INLINE", + "filePath": "", + "databucketID": "", + "sendFileAsBody": false, + "rules": [], + "rulesOperator": "OR", + "disableTemplating": false, + "fallbackTo404": false, + "default": true, + "crudKey": "id", + "callbacks": [] + } + ], + "responseMode": null + }, + { + "uuid": "325811e6-6a5d-4906-90a1-3df24183d529", + "type": "http", + "documentation": "Azure login", + "method": "post", + "endpoint": "login/:tenant/oauth2/token", + "responses": [ + { + "uuid": "e381c634-cbff-431e-851e-e4631f0f9e2c", + "body": "{\n \"access_token\": \"token\",\n \"expires_on\": \"{{ faker 'string.numeric' 10 }}\"\n}", + "latency": 0, + "statusCode": 200, + "label": "", + "headers": [], + "bodyType": "INLINE", + "filePath": "", + "databucketID": "", + "sendFileAsBody": false, + "rules": [], + "rulesOperator": "OR", + "disableTemplating": false, + "fallbackTo404": false, + "default": true, + "crudKey": "id", + "callbacks": [] + } + ], + "responseMode": null + } + ], + "rootChildren": [ + { + "type": "route", + "uuid": "f8dc6ac1-febc-46a8-be79-9e5e14cedd3a" + }, + { + "type": "route", + "uuid": "325811e6-6a5d-4906-90a1-3df24183d529" + } + ], + "proxyMode": false, + "proxyHost": "", + "proxyRemovePrefix": false, + "tlsOptions": { + "enabled": false, + "type": "CERT", + "pfxPath": "", + "certPath": "", + "keyPath": "", + "caPath": "", + "passphrase": "" + }, + "cors": true, + "headers": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Content-Type, Origin, Accept, Authorization, Content-Length, X-Requested-With" + } + ], + "proxyReqHeaders": [ + { + "key": "", + "value": "" + } + ], + "proxyResHeaders": [ + { + "key": "", + "value": "" + } + ], + "data": [], + "callbacks": [] +} \ No newline at end of file diff --git a/tests/cloud/azure/network/vpngateway/vpngatewaystatus.robot b/tests/cloud/azure/network/vpngateway/vpngatewaystatus.robot new file mode 100644 index 0000000000..c82b1f764f --- /dev/null +++ b/tests/cloud/azure/network/vpngateway/vpngatewaystatus.robot @@ -0,0 +1,36 @@ +*** Settings *** +Documentation Azure Network VPN Gateway plugin + +Resource ${CURDIR}${/}..${/}..${/}..${/}..${/}resources/import.resource + +Suite Setup Start Mockoon ${MOCKOON_JSON} +Suite Teardown Stop Mockoon +Test Timeout 120s + + +*** Variables *** +${MOCKOON_JSON} ${CURDIR}${/}vpngatewaystatus.json + +${BASE_URL} http://${HOSTNAME}:${APIPORT} +${LOGIN_ENDPOINT} ${BASE_URL}/login +${CMD} ${CENTREON_PLUGINS} --plugin=cloud::azure::network::vpngateway::plugin --custommode=api --mode=vpn-gateway-status --subscription=subscription --tenant=tenant --client-id=client_id --client-secret=secret --resource-group=resource-group --login-endpoint=${LOGIN_ENDPOINT} --management-endpoint=${BASE_URL} + + +*** Test Cases *** +VPN Gateway status ${tc} + [Tags] cloud azure api mockoon + ${command} Catenate + ... ${CMD} + ... ${extra_options} + + Ctn Run Command And Check Result As Strings ${command} ${expected_result} + + Examples: tc extra_options expected_result -- + ... 1 ${EMPTY} OK: All VPN gateways are ok + ... 2 --warning-status='\\%\{provisioning_state\} eq "Succeeded"' WARNING: VPN Gateway 'gateway1' Provisioning State 'Succeeded' [Gateway type: ExpressRoute] [VPN type: RouteBased] - VPN Gateway 'gateway2' Provisioning State 'Succeeded' [Gateway type: ExpressRoute] [VPN type: RouteBased] + ... 3 --critical-status='\\%\{provisioning_state\} eq "Succeeded"' CRITICAL: VPN Gateway 'gateway1' Provisioning State 'Succeeded' [Gateway type: ExpressRoute] [VPN type: RouteBased] - VPN Gateway 'gateway2' Provisioning State 'Succeeded' [Gateway type: ExpressRoute] [VPN type: RouteBased] + ... 4 --filter-name='gateway1' OK: VPN Gateway 'gateway1' Provisioning State 'Succeeded' [Gateway type: ExpressRoute] [VPN type: RouteBased] + ... 5 --filter-name='gateway1' --warning-status='\\%\{provisioning_state\} eq "Succeeded"' WARNING: VPN Gateway 'gateway1' Provisioning State 'Succeeded' [Gateway type: ExpressRoute] [VPN type: RouteBased] + ... 6 --filter-name='gateway1' --critical-status='\\%\{provisioning_state\} eq "Succeeded"' CRITICAL: VPN Gateway 'gateway1' Provisioning State 'Succeeded' [Gateway type: ExpressRoute] [VPN type: RouteBased] + + \ No newline at end of file From ef68077a2190e2feeb9e698e98ea4693d8f38d20 Mon Sep 17 00:00:00 2001 From: itoussies Date: Tue, 24 Dec 2024 10:00:09 +0100 Subject: [PATCH 2/5] Fix wrong variable assignment --- .../azure/network/vpngateway/mode/health.pm | 14 ++++++------- .../network/vpngateway/mode/sitetraffic.pm | 21 ++++++------------- .../network/vpngateway/mode/tunneltraffic.pm | 12 ++++------- .../vpngateway/mode/vpngatewaystatus.pm | 9 ++++---- ...{vpngateway.json => vpngatewaystatus.json} | 0 .../network/vpngateway/vpngatewaystatus.robot | 4 +++- 6 files changed, 24 insertions(+), 36 deletions(-) rename tests/cloud/azure/network/vpngateway/{vpngateway.json => vpngatewaystatus.json} (100%) diff --git a/src/cloud/azure/network/vpngateway/mode/health.pm b/src/cloud/azure/network/vpngateway/mode/health.pm index afb55d67b4..a2dbed8ebc 100644 --- a/src/cloud/azure/network/vpngateway/mode/health.pm +++ b/src/cloud/azure/network/vpngateway/mode/health.pm @@ -56,22 +56,22 @@ Set resource group (required if resource's name is used). =item B<--warning-status> Define the conditions to match for the status to be WARNING (default: ''). -You can use the following variables: %{status}, %{summary} +You can use the following variables: C<%{status}>, C<%{summary}>. =item B<--critical-status> -Define the conditions to match for the status to be CRITICAL (default: '%{status} =~ /^Unavailable$/'). -You can use the following variables: %{status}, %{summary} +Define the conditions to match for the status to be CRITICAL (default: C<%{status} =~ /^Unavailable$/>). +You can use the following variables: C<%{status}>, C<%{summary}>. =item B<--unknown-status> -Define the conditions to match for the status to be UNKNOWN (default: '%{status} =~ /^Unknown$/'). -You can use the following variables: %{status}, %{summary} +Define the conditions to match for the status to be UNKNOWN (default: C<%{status} =~ /^Unknown$/>). +You can use the following variables: C<%{status}>, C<%{summary}>. =item B<--ok-status> -Define the conditions to match for the status to be OK (default: '%{status} =~ /^Available$/'). -You can use the following variables: %{status}, %{summary} +Define the conditions to match for the status to be OK (default: C<%{status} =~ /^Available$/>). +You can use the following variables: C<%{status}>, C<%{summary}>. =back diff --git a/src/cloud/azure/network/vpngateway/mode/sitetraffic.pm b/src/cloud/azure/network/vpngateway/mode/sitetraffic.pm index 1cac9a61d0..21dba7d400 100644 --- a/src/cloud/azure/network/vpngateway/mode/sitetraffic.pm +++ b/src/cloud/azure/network/vpngateway/mode/sitetraffic.pm @@ -129,15 +129,11 @@ Example: Using resource name: -perl centreon_plugins.pl --plugin=cloud::azure::network::vpngateway::plugin --custommode=azcli --mode=site-traffic ---resource=MyResource --resource-group=MYRGROUP --aggregation='average' --aggregation='total' --critical-bandwidth-average='10' ---verbose +C Using resource ID: -perl centreon_plugins.pl --plugin=cloud::azure::network::vpngateway::plugin --custommode=azcli --mode=site-traffic ---resource='/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Network/virtualNetworkGateways/xxx' ---aggregation='average' --aggregation='total' --critical-bandwidth-average='10' --verbose +C Default aggregation: 'average' (*Bandwidth), 'total' (P2SConnectionCount) @@ -153,18 +149,13 @@ Set resource group (required if resource's name is used). =item B<--filter-metric> -Filter metrics (can be: 'AverageBandwidth', 'P2SBandwidth', 'P2SConnectionCount') +Filter metrics (can be: C, C, C) (can be a regexp). -=item B<--warning-$label$> +=item B<--warning-$label$ --critical-$label$> -Warning thresholds -($label$ can be: 'bandwidth-average', 'p2s-bandwidth', p2s-connections) - -=item B<--critical-$label$> - -Critical thresholds -($label$ can be: 'bandwidth-average', 'p2s-bandwidth', p2s-connections) +Thresholds +($label$ can be: C, C, C) =back diff --git a/src/cloud/azure/network/vpngateway/mode/tunneltraffic.pm b/src/cloud/azure/network/vpngateway/mode/tunneltraffic.pm index aa1a357541..4bbe57381f 100644 --- a/src/cloud/azure/network/vpngateway/mode/tunneltraffic.pm +++ b/src/cloud/azure/network/vpngateway/mode/tunneltraffic.pm @@ -1,3 +1,4 @@ + # # Copyright 2024 Centreon (http://www.centreon.com/) # @@ -175,15 +176,10 @@ Filter metrics (can be: 'TunnelIngressBytes', 'TunnelEgressBytes', 'TunnelIngres 'TunnelEgressPackets', 'TunnelIngressPacketDropTSMismatch', 'TunnelEgressPacketDropTSMismatch') (can be a regexp). -=item B<--warning-$label$> - -Warning thresholds. -($label$ can be traffic-in, traffic-out, packets-in, packets-out, dropped-packets-in, dropped-packets-out) - -=item B<--critical-$label$> +=item B<--warning-$label$ --critical-$label$> -Critical thresholds -($label$ can be traffic-in, traffic-out, packets-in, packets-out, dropped-packets-in, dropped-packets-out) +Thresholds +($label$ can be C, C, C, C, C, C) =item B<--per-sec> diff --git a/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm b/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm index 9fa0fa2118..b2093655cd 100644 --- a/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm +++ b/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm @@ -120,8 +120,7 @@ __END__ Check VPN gateways status. Example: -perl centreon_plugins.pl --plugin=cloud::azure::network::vpngateway::plugin --custommode=azcli --mode=vpn-gateways-status ---resource-group='MYRESOURCEGROUP' --verbose +C =over 8 @@ -136,12 +135,12 @@ Filter VPN Gateways by name (can be a regexp). =item B<--warning-status> Define the conditions to match for the status to be WARNING (default: ''). -You can use the following variables: %{provisioning_state}, %{gateway_type}, %{vpn_type}, %{display} +You can use the following variables: C<%{provisioning_state}>, C<%{gateway_type}>, C<%{vpn_type}>, C<%{display}> =item B<--critical-status> -Define the conditions to match for the status to be CRITICAL (default: '%{provisioning_state} ne "Succeeded"'). -You can use the following variables: %{provisioning_state}, %{gateway_type}, %{vpn_type}, %{display} +Define the conditions to match for the status to be CRITICAL (default: C<%{provisioning_state} ne "Succeeded">). +You can use the following variables: C<%{provisioning_state}>, C<%{gateway_type}>, C<%{vpn_type}>, C<%{display>} =back diff --git a/tests/cloud/azure/network/vpngateway/vpngateway.json b/tests/cloud/azure/network/vpngateway/vpngatewaystatus.json similarity index 100% rename from tests/cloud/azure/network/vpngateway/vpngateway.json rename to tests/cloud/azure/network/vpngateway/vpngatewaystatus.json diff --git a/tests/cloud/azure/network/vpngateway/vpngatewaystatus.robot b/tests/cloud/azure/network/vpngateway/vpngatewaystatus.robot index c82b1f764f..9e9ae7494f 100644 --- a/tests/cloud/azure/network/vpngateway/vpngatewaystatus.robot +++ b/tests/cloud/azure/network/vpngateway/vpngatewaystatus.robot @@ -13,7 +13,7 @@ ${MOCKOON_JSON} ${CURDIR}${/}vpngatewaystatus.json ${BASE_URL} http://${HOSTNAME}:${APIPORT} ${LOGIN_ENDPOINT} ${BASE_URL}/login -${CMD} ${CENTREON_PLUGINS} --plugin=cloud::azure::network::vpngateway::plugin --custommode=api --mode=vpn-gateway-status --subscription=subscription --tenant=tenant --client-id=client_id --client-secret=secret --resource-group=resource-group --login-endpoint=${LOGIN_ENDPOINT} --management-endpoint=${BASE_URL} +${CMD} ${CENTREON_PLUGINS} --plugin=cloud::azure::network::vpngateway::plugin --custommode=api --subscription=subscription --tenant=tenant --client-id=client_id --client-secret=secret --resource-group=resource-group --login-endpoint=${LOGIN_ENDPOINT} *** Test Cases *** @@ -21,6 +21,8 @@ VPN Gateway status ${tc} [Tags] cloud azure api mockoon ${command} Catenate ... ${CMD} + ... --mode=vpn-gateway-status + ... --management-endpoint=${BASE_URL} ... ${extra_options} Ctn Run Command And Check Result As Strings ${command} ${expected_result} From 7755ccc082d04c44720b46586df89695b963473b Mon Sep 17 00:00:00 2001 From: itoussies Date: Thu, 26 Dec 2024 17:27:01 +0100 Subject: [PATCH 3/5] Fix spell checks --- src/cloud/azure/network/vpngateway/mode/health.pm | 14 +++++++------- .../azure/network/vpngateway/mode/tunneltraffic.pm | 2 +- .../network/vpngateway/mode/vpngatewaystatus.pm | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/cloud/azure/network/vpngateway/mode/health.pm b/src/cloud/azure/network/vpngateway/mode/health.pm index a2dbed8ebc..53bd5f23d1 100644 --- a/src/cloud/azure/network/vpngateway/mode/health.pm +++ b/src/cloud/azure/network/vpngateway/mode/health.pm @@ -56,22 +56,22 @@ Set resource group (required if resource's name is used). =item B<--warning-status> Define the conditions to match for the status to be WARNING (default: ''). -You can use the following variables: C<%{status}>, C<%{summary}>. +You can use the following variables: %{status}, %{summary}. =item B<--critical-status> -Define the conditions to match for the status to be CRITICAL (default: C<%{status} =~ /^Unavailable$/>). -You can use the following variables: C<%{status}>, C<%{summary}>. +Define the conditions to match for the status to be CRITICAL (default: C<'%{status} =~ /^Unavailable$/'>). +You can use the following variables: %{status}, <%{summary}. =item B<--unknown-status> -Define the conditions to match for the status to be UNKNOWN (default: C<%{status} =~ /^Unknown$/>). -You can use the following variables: C<%{status}>, C<%{summary}>. +Define the conditions to match for the status to be UNKNOWN (default: C<'%{status} =~ /^Unknown$/'>). +You can use the following variables: %{status}, %{summary}. =item B<--ok-status> -Define the conditions to match for the status to be OK (default: C<%{status} =~ /^Available$/>). -You can use the following variables: C<%{status}>, C<%{summary}>. +Define the conditions to match for the status to be OK (default: C<'%{status} =~ /^Available$/''>). +You can use the following variables: %{status}, %{summary}. =back diff --git a/src/cloud/azure/network/vpngateway/mode/tunneltraffic.pm b/src/cloud/azure/network/vpngateway/mode/tunneltraffic.pm index 4bbe57381f..3a1ddfdf27 100644 --- a/src/cloud/azure/network/vpngateway/mode/tunneltraffic.pm +++ b/src/cloud/azure/network/vpngateway/mode/tunneltraffic.pm @@ -179,7 +179,7 @@ Filter metrics (can be: 'TunnelIngressBytes', 'TunnelEgressBytes', 'TunnelIngres =item B<--warning-$label$ --critical-$label$> Thresholds -($label$ can be C, C, C, C, C, C) +($label$ can be traffic-in, traffic-out, packets-in, packets-out, dropped-packets-in, dropped-packets-out) =item B<--per-sec> diff --git a/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm b/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm index b2093655cd..80d409a55c 100644 --- a/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm +++ b/src/cloud/azure/network/vpngateway/mode/vpngatewaystatus.pm @@ -135,12 +135,12 @@ Filter VPN Gateways by name (can be a regexp). =item B<--warning-status> Define the conditions to match for the status to be WARNING (default: ''). -You can use the following variables: C<%{provisioning_state}>, C<%{gateway_type}>, C<%{vpn_type}>, C<%{display}> +You can use the following variables: %{provisioning_state}, %{gateway_type}>, %{vpn_type}, %{display} =item B<--critical-status> -Define the conditions to match for the status to be CRITICAL (default: C<%{provisioning_state} ne "Succeeded">). -You can use the following variables: C<%{provisioning_state}>, C<%{gateway_type}>, C<%{vpn_type}>, C<%{display>} +Define the conditions to match for the status to be CRITICAL (default: C<'%{provisioning_state} ne "Succeeded"'>). +You can use the following variables: %{provisioning_state}, %{gateway_type}, %{vpn_type}, %{display} =back From ca4fbc87af4d1765ea0690c44bda55355d4e1968 Mon Sep 17 00:00:00 2001 From: itoussies <65223458+itoussies@users.noreply.github.com> Date: Mon, 10 Feb 2025 16:38:06 +0100 Subject: [PATCH 4/5] Update src/cloud/azure/network/vpngateway/mode/health.pm Co-authored-by: sdepassio <114986849+sdepassio@users.noreply.github.com> --- src/cloud/azure/network/vpngateway/mode/health.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cloud/azure/network/vpngateway/mode/health.pm b/src/cloud/azure/network/vpngateway/mode/health.pm index 53bd5f23d1..1b646e1e09 100644 --- a/src/cloud/azure/network/vpngateway/mode/health.pm +++ b/src/cloud/azure/network/vpngateway/mode/health.pm @@ -66,7 +66,7 @@ You can use the following variables: %{status}, <%{summary}. =item B<--unknown-status> Define the conditions to match for the status to be UNKNOWN (default: C<'%{status} =~ /^Unknown$/'>). -You can use the following variables: %{status}, %{summary}. +You can use the following variables: C<%{status}>, C<%{summary}>. =item B<--ok-status> From 0348d4442d99dd1999fa2cab5f169fee7dde8df3 Mon Sep 17 00:00:00 2001 From: itoussies <65223458+itoussies@users.noreply.github.com> Date: Mon, 10 Feb 2025 16:38:13 +0100 Subject: [PATCH 5/5] Update src/cloud/azure/network/vpngateway/mode/health.pm Co-authored-by: sdepassio <114986849+sdepassio@users.noreply.github.com> --- src/cloud/azure/network/vpngateway/mode/health.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cloud/azure/network/vpngateway/mode/health.pm b/src/cloud/azure/network/vpngateway/mode/health.pm index 1b646e1e09..60e0bf554d 100644 --- a/src/cloud/azure/network/vpngateway/mode/health.pm +++ b/src/cloud/azure/network/vpngateway/mode/health.pm @@ -71,7 +71,7 @@ You can use the following variables: C<%{status}>, C<%{summary}>. =item B<--ok-status> Define the conditions to match for the status to be OK (default: C<'%{status} =~ /^Available$/''>). -You can use the following variables: %{status}, %{summary}. +You can use the following variables: C<%{status}>, C<%{summary}>. =back