918 lines
36 KiB
Perl
918 lines
36 KiB
Perl
package xCAT::vboxService;
|
|
# Generated by SOAP::Lite (v0.712) for Perl -- soaplite.com
|
|
# Copyright (C) 2000-2006 Paul Kulchenko, Byrne Reese
|
|
# -- generated at [Wed Mar 26 20:28:01 2014]
|
|
# -- generated from file:///home/vbox/tinderbox/4.3-sdk/out/linux.amd64/release/obj/webservice/vboxwebService.wsdl
|
|
# -- merged V3 API Methods at [Sun Apr 06 13:31:00 2014]
|
|
# -- manually added defintions for xCAT integration of both versions by Herbert Mehlhose, IBM
|
|
# -- reduce methods hash to the needed interface functionality needed for our purpose
|
|
my %methods = (
|
|
IVirtualBox_getExtraData => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'key', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_getExtraData
|
|
IMachine_getName => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getName
|
|
IProgress_getTimeout => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_getTimeout
|
|
IVRDEServer_setVRDEProperty => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'key', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'value', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_setVRDEProperty
|
|
IConsole_powerDown => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_powerDown
|
|
IConsole_getPowerButtonHandled => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_getPowerButtonHandled
|
|
IManagedObjectRef_release => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IManagedObjectRef_release
|
|
IMachine_saveSettings => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_saveSettings
|
|
IMachine_getExtraData => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'key', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getExtraData
|
|
IProgress_getPercent => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_getPercent
|
|
IProgress_getOperationPercent => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_getOperationPercent
|
|
IVirtualBox_getAPIVersion => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_getAPIVersion
|
|
IMachine_setExtraData => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'key', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'value', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_setExtraData
|
|
IVRDEServer_getEnabled => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_getEnabled
|
|
IProgress_waitForCompletion => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'timeout', type => 'xsd:int', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_waitForCompletion
|
|
IMachine_getState => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getState
|
|
IVirtualBox_getGuestOSTypes => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_getGuestOSTypes
|
|
IMachine_launchVMProcess => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'session', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'type', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'environment', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_launchVMProcess
|
|
IMachine_getGuestProperty => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'name', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getGuestProperty
|
|
IVirtualBox_openMachine => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'settingsFile', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_openMachine
|
|
IVRDEServer_getAuthLibrary => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_getAuthLibrary
|
|
IVRDEServer_setAuthTimeout => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'authTimeout', type => 'xsd:unsignedInt', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_setAuthTimeout
|
|
IProgress_setTimeout => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'timeout', type => 'xsd:unsignedInt', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_setTimeout
|
|
IConsole_getMachine => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_getMachine
|
|
IProgress_waitForAsyncProgressCompletion => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'pProgressAsync', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_waitForAsyncProgressCompletion
|
|
IConsole_powerUp => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_powerUp
|
|
ISession_getType => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISession_getType
|
|
IVirtualBox_getVersion => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_getVersion
|
|
IMachine_setGuestProperty => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'property', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'value', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'flags', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_setGuestProperty
|
|
IVirtualBox_findMachine => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'nameOrId', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_findMachine
|
|
IVRDEServer_setAuthType => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'authType', type => 'vbox:AuthType', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_setAuthType
|
|
IConsole_getDisplay => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_getDisplay
|
|
IConsole_getGuest => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_getGuest
|
|
IProgress_waitForOperationCompletion => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'operation', type => 'xsd:unsignedInt', attr => {}),
|
|
SOAP::Data->new(name => 'timeout', type => 'xsd:int', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_waitForOperationCompletion
|
|
IVirtualBox_getMachines => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_getMachines
|
|
IProgress_getResultCode => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_getResultCode
|
|
IProgress_getCompleted => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_getCompleted
|
|
IMachine_lockMachine => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'session', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'lockType', type => 'vbox:LockType', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_lockMachine
|
|
IMachine_getSessionType => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getSessionType
|
|
IVirtualBox_getSystemProperties => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_getSystemProperties
|
|
IProgress_getOperation => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_getOperation
|
|
ISession_getState => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISession_getState
|
|
IVRDEServer_getVRDEProperties => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_getVRDEProperties
|
|
IConsole_reset => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_reset
|
|
IMachine_getSessionState => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getSessionState
|
|
IVRDEServer_getVRDEProperty => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'key', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_getVRDEProperty
|
|
IVirtualBox_getMachineStates => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'machines', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_getMachineStates
|
|
IVRDEServer_getAuthType => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_getAuthType
|
|
IMachine_getVRDEServer => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getVRDEServer
|
|
IProgress_getErrorInfo => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_getErrorInfo
|
|
ISystemProperties_getVRDEAuthLibrary => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISystemProperties_getVRDEAuthLibrary
|
|
IMachine_getId => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getId
|
|
ISession_getMachine => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISession_getMachine
|
|
IMachine_showConsoleWindow => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_showConsoleWindow
|
|
IProcess_getStatus => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProcess_getStatus
|
|
IVRDEServer_getVRDEExtPack => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_getVRDEExtPack
|
|
ISession_getConsole => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISession_getConsole
|
|
IWebsessionManager_logon => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => 'username', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'password', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IWebsessionManager_logon
|
|
IWebsessionManager_logoff => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => 'refIVirtualBox', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IWebsessionManager_logoff
|
|
IVRDEServer_setEnabled => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'enabled', type => 'xsd:boolean', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_setEnabled
|
|
IConsole_powerButton => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_powerButton
|
|
IVRDEServer_setAuthLibrary => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'authLibrary', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDEServer_setAuthLibrary
|
|
ISession_unlockMachine => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISession_unlockMachine
|
|
IMachine_getDescription => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getDescription
|
|
ISystemProperties_setVRDEAuthLibrary => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'VRDEAuthLibrary', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISystemProperties_setVRDEAuthLibrary
|
|
IWebsessionManager_getSessionObject => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => 'refIVirtualBox', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IWebsessionManager_getSessionObject
|
|
IProgress_getId => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_getId
|
|
IVirtualBox_getVersionNormalized => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_getVersionNormalized
|
|
|
|
######################################################################
|
|
### starting v3 additions for backward compatibility with vbox 3.2 ###
|
|
######################################################################
|
|
|
|
# findMachine - change in parameter name / nameOrId
|
|
IVirtualBox_findMachine_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'name', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_findMachine
|
|
IMachine_getState_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getState
|
|
IMachine_getId_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getId
|
|
IWebsessionManager_getSessionObject_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => 'refIVirtualBox', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IWebsessionManager_getSessionObject
|
|
IVirtualBox_openSession_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'session', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'machineId', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_openSession
|
|
ISession_getMachine_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISession_getMachine
|
|
IMachine_getVRDPServer_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getVRDPServer
|
|
IVRDPServer_getEnabled_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDPServer_getEnabled
|
|
IVRDPServer_setEnabled_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'enabled', type => 'xsd:boolean', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDPServer_setEnabled
|
|
# from API version 3.0 to 3.1, the 'port' attribute has been changed to 'ports'
|
|
IVRDPServer_getPorts_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDPServer_getPorts
|
|
IVRDPServer_getPort_V30 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDPServer_getPort
|
|
IVRDPServer_setPorts_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'ports', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDPServer_setPorts
|
|
IVRDPServer_setPort_V30 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'port', type => 'xsd:unsignedInt', attr => {}),
|
|
], # end parameters
|
|
}, # end IVRDPServer_setPort
|
|
IMachine_saveSettings_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_saveSettings
|
|
IManagedObjectRef_release_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IManagedObjectRef_release
|
|
ISession_close_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISession_close
|
|
IVirtualBox_openRemoteSession_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'session', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'machineId', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'type', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'environment', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_openRemoteSession
|
|
IProgress_waitForCompletion_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'timeout', type => 'xsd:int', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_waitForCompletion
|
|
IProgress_getCompleted_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IProgress_getCompleted
|
|
IMachine_getSessionState_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IMachine_getSessionState
|
|
IVirtualBox_openExistingSession_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'session', type => 'xsd:string', attr => {}),
|
|
SOAP::Data->new(name => 'machineId', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IVirtualBox_openExistingSession
|
|
ISession_getConsole_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end ISession_getConsole
|
|
IConsole_reset_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_reset
|
|
IConsole_powerButton_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_powerButton
|
|
IConsole_powerDown_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_powerDown
|
|
IConsole_getPowerButtonHandled_V3 => {
|
|
endpoint => 'http://localhost:18083/',
|
|
soapaction => '',
|
|
namespace => 'http://www.virtualbox.org/',
|
|
parameters => [
|
|
SOAP::Data->new(name => '_this', type => 'xsd:string', attr => {}),
|
|
], # end parameters
|
|
}, # end IConsole_getPowerButtonHandled
|
|
); # end my %methods
|
|
|
|
use SOAP::Lite; # vbox.pm requires SOAP::Lite before requiring vboxService.pm, so we can check for SOAP::Lite dynamically
|
|
use Exporter;
|
|
use Carp ();
|
|
|
|
use vars qw(@ISA $AUTOLOAD @EXPORT_OK %EXPORT_TAGS);
|
|
@ISA = qw(Exporter SOAP::Lite);
|
|
#L("Setting EXPORT_OK array...");
|
|
@EXPORT_OK = (keys %methods);
|
|
#foreach(sort @EXPORT_OK) {L("M:$_");}
|
|
%EXPORT_TAGS = ('all' => [@EXPORT_OK]);
|
|
|
|
sub _call {
|
|
#######################################################################################################################################################
|
|
# save the additional parameter "vboxhost" which contains an URL with Port information
|
|
#my ($self, $method, $api, $vboxhost) = (shift, shift, shift, shift);
|
|
my ($self, $method, $vboxhost) = (shift, shift, shift);
|
|
my $name = UNIVERSAL::isa($method => 'SOAP::Data') ? $method->name : $method;
|
|
#L("Function: $name()");
|
|
my %method = %{$methods{$name}};
|
|
#######################################################################################################################################################
|
|
# set the proxy to $vboxhost instead of $method{endpoint} -> in future vboxhost could contain something like "[*P*<proxyurl>*P*]<hosturl>"
|
|
$self->proxy($vboxhost || Carp::croak "No server address (proxy) specified")
|
|
unless $self->proxy;
|
|
my @templates = @{$method{parameters}};
|
|
my @parameters = ();
|
|
foreach my $param (@_) {
|
|
if (@templates) {
|
|
#L("Parm(T): $param");
|
|
my $template = shift @templates;
|
|
my ($prefix,$typename) = SOAP::Utils::splitqname($template->type);
|
|
my $method = 'as_'.$typename;
|
|
# TODO - if can('as_'.$typename) {...}
|
|
#L(Data::Dumper->Dump([$template], [qw(TMPL)]));
|
|
my $result = $self->serializer->$method($param, $template->name, $template->type, $template->attr);
|
|
#L(Data::Dumper->Dump([$result], [qw(RESULT)]));
|
|
#L("Parm: " . $template->name . " Type: " . $template->type . " Val: " . $result->[2]);
|
|
push(@parameters, $template->value($result->[2]));
|
|
}
|
|
else {
|
|
#L("Parm(nonT): $param");
|
|
push(@parameters, $param);
|
|
}
|
|
}
|
|
#######################################################################################################################################################
|
|
# set the endpoint to $vboxhost instead of $method{endpoint} -> in future vboxhost could contain something like "[*P*<proxyurl>*P*]<hosturl>"
|
|
$self->endpoint($vboxhost)
|
|
->ns($method{namespace})
|
|
->on_action(sub{qq!"$method{soapaction}"!});
|
|
$self->serializer->register_ns("urn:vbox","interface");
|
|
$self->serializer->register_ns("http://www.virtualbox.org/","vbox");
|
|
$self->serializer->register_ns("http://schemas.xmlsoap.org/wsdl/soap/","soap");
|
|
# strip off possible version extensions '_Vx' at end of method name
|
|
$method =~ s/$\_V[0-9.]*//i;
|
|
#L("about to super call with stripped method $method..");
|
|
my $som = $self->SUPER::call($method => @parameters);
|
|
if ($self->want_som) {
|
|
return $som;
|
|
}
|
|
UNIVERSAL::isa($som => 'SOAP::SOM') ? wantarray ? $som->paramsall : $som->result : $som;
|
|
}
|
|
|
|
sub BEGIN {
|
|
no strict 'refs';
|
|
for my $method (qw(want_som)) {
|
|
my $field = '_' . $method;
|
|
*$method = sub {
|
|
my $self = shift->new;
|
|
@_ ? ($self->{$field} = shift, return $self) : return $self->{$field};
|
|
}
|
|
}
|
|
}
|
|
no strict 'refs';
|
|
for my $method (@EXPORT_OK) {
|
|
my %method = %{$methods{$method}};
|
|
*$method = sub {
|
|
my $self = UNIVERSAL::isa($_[0] => __PACKAGE__)
|
|
? ref $_[0]
|
|
? shift # OBJECT
|
|
# CLASS, either get self or create new and assign to self
|
|
: (shift->self || __PACKAGE__->self(__PACKAGE__->new))
|
|
# function call, either get self or create new and assign to self
|
|
: (__PACKAGE__->self || __PACKAGE__->self(__PACKAGE__->new));
|
|
#L("CALL: $method");
|
|
#foreach(@_) {L(" P:$_");}
|
|
$self->_call($method, @_);
|
|
}
|
|
}
|
|
|
|
sub AUTOLOAD {
|
|
my $method = substr($AUTOLOAD, rindex($AUTOLOAD, '::') + 2);
|
|
return if $method eq 'DESTROY' || $method eq 'want_som';
|
|
die "Unrecognized method '$method'. List of available method(s): @EXPORT_OK\n";
|
|
}
|
|
|
|
#sub L {
|
|
# my $string=shift;
|
|
# open FILE, ">>/tmp/soapxcatlog.txt";
|
|
# print FILE "LOG: $string\n";
|
|
# close FILE;
|
|
#}
|
|
|
|
|
|
1;
|
|
|