58 lines
1.7 KiB
Perl
58 lines
1.7 KiB
Perl
#!/usr/bin/perl
|
|
|
|
#
|
|
# perl example to get openwsmand info.
|
|
# written by warptrosse@gmail.com
|
|
#
|
|
|
|
use strict;
|
|
use warnings;
|
|
use lib '../../../build/bindings/perl';
|
|
use lib '../.libs';
|
|
use lib '..';
|
|
use openwsman;
|
|
|
|
# debug (to stderr)
|
|
# openwsman::set_debug(-1);
|
|
|
|
# Create client instance.
|
|
# (host, port, path, scheme, username, password)
|
|
my $client = new openwsman::Client::('localhost', 5985, '/wsman', 'http',
|
|
'wsman', 'secret')
|
|
or die print "[ERROR] Could not create client handler.\n";
|
|
|
|
# Alternate way.
|
|
# my $client = new openwsman::Client::('http://wsman:secret@localhost:8889/wsman')
|
|
# or die print "[ERROR] Could not create client handler.\n";
|
|
|
|
# Set up client options.
|
|
my $options = new openwsman::ClientOptions::()
|
|
or die print "[ERROR] Could not create client options handler.\n";
|
|
|
|
# Dump the XML request to stdout.
|
|
# $options->set_dump_request();
|
|
|
|
# Force basic auth.
|
|
$client->transport()->set_auth_method($openwsman::BASIC_AUTH_STR);
|
|
|
|
my $result; # Used to store obtained data.
|
|
|
|
# Identify.
|
|
# (options)
|
|
$result = $client->identify($options);
|
|
unless($result && $result->is_fault eq 0) {
|
|
die print "[ERROR] Could not identify server.\n";
|
|
}
|
|
|
|
# Get server info.
|
|
my $root = $result->root;
|
|
my $prot_version = $root->find($openwsman::XML_NS_WSMAN_ID,
|
|
"ProtocolVersion")->text();
|
|
my $prod_vendor = $root->find($openwsman::XML_NS_WSMAN_ID,
|
|
"ProductVendor")->text();
|
|
my $prod_version = $root->find($openwsman::XML_NS_WSMAN_ID,
|
|
"ProductVersion")->text();
|
|
|
|
# Print output.
|
|
print "Protocol $prot_version, Vendor $prod_vendor, Version $prod_version\n";
|