1VMware::LabManager(3) User Contributed Perl DocumentationVMware::LabManager(3)
2
3
4
6 VMware::LabManager - Perl module to provide basic VMware Lab Manager
7 operations.
8
10 Version 0.01
11
13 This module provides an encapsulation of VMware Lab Manager SOAP API in
14 convenient API format. Basic functionality like deploying & deleting a
15 library config to & from the workspace are provided.
16
17 A little code snippet to get you started:
18
19 use VMware::LabManager;
20 use Data::Dumper;
21
22 #instantiate the LM object
23 my $lm = VMware::LabManager->new('username','passwd','labManager hostname', 'org');
24
25 #or if you want the XML messages dumped (i.e. verbose), pass the debug option:
26 my $lm = VMware::LabManager->new('username','passwd','labManager hostname', 'org', 'debug');
27
28 #deploy_config returns the config ID of the config that is deployed
29 my $configID = $lm->deploy_config('my_library_config_name');
30 print $configID;
31
32 #get all the machines in the deployed config
33 my $machineArray = $lm->get_machines($configID);
34 print Dumper($machineArray);
35
36 #delete the config once you are done.
37 $action = $lm->delete_config($configID);
38 print $action
39
41 This module does not provide a one-to-one mapping of the Lab Manager
42 SOAP API, but rather it provides an API wrapper, which combines certain
43 SOAP calls as a meaningful single operation. Thus this module is
44 heavily tailored for automation purposes. But, it should also cater to
45 the broader audience as it still does provide overall functionality
46 that might be required.
47
48 Using this module, you can checkout a config & deploy it in one single
49 method call, similarly undeploy & delete in a single method call. This
50 module also provides a method to get the list of all machines (and
51 their details) that a deployed configuration has. Apart from that the
52 SOAP object & auth header methods are exposed; So if need be, they can
53 be used to access other SOAP calls available through Lab Manager SOAP
54 service.
55
57 new
58 This function instantiates the LM object. The arguments in the required
59 order are:
60
61 · Username - Your username for Lab Manager login.
62
63 · Password - Your password for Lab Manager login.
64
65 · Hostname - FQDN of the Lab Manager you are trying to log in.
66
67 · Organization - Organization to which you belong to in Lab Manager.
68
69 This does not authenticate with the Lab Manager server yet. That
70 happens when you use one of the other methods.
71
72 get_soap
73 This method is primary used internally, but there are situations where
74 it could be used for other SOAP methods that have not been exposed by
75 this module. This method returns SOAP::Lite object & sets the readable
76 option on. You can use this in conjunction with Authentication header,
77 which you can get from get_auth_header() method.
78
79 NOTE: Usage of this method outside the scope of this API is not
80 recommended.
81
82 get_auth_header
83 This method returns an authentication header wrapper that is needed for
84 each SOAP call that you make to Lab Manager. It uses the options you
85 provided in the new() method to build this header.
86
87 deploy_config
88 This method is tailored for automation. During automation, one
89 primarily cares about deploying a library image. A single method call
90 to encapsulate the whole set of operations is more deirable.
91
92 This method requires a config name (make sure it is unique in the
93 system), which it uses to:
94
95 · Checkout the config to your default workspace with a random name.
96
97 · Deploy the confignation in fenced mode.
98
99 · Return the unique numeric Config ID of the deployed config.
100
101 You have to use this config ID to undeploy & delete it at at later
102 stage.
103
104 get_machines
105 This method returns an array of all the Machines in the deployed
106 config. For each machine it includes mac address, name, internal IP,
107 external IP, name & its id.
108
109 delete_config
110 This method performs two actions - 1)undeploy the configuation (if it
111 is not undeployed) and 2) delete the configuation. This method takes
112 the config ID of the configuration you deployed earlier using the
113 deploy_config() method.
114
116 "Aditya Ivaturi", "<"ivaturi at gmail.com">"
117
119 Please report any bugs or feature requests to "ivaturi@gmail.com", or
120 through the web interface at
121 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=VMware-LabManager>. I
122 will be notified, and then you'll automatically be notified of progress
123 on your bug as I make changes.
124
126 You can find documentation for this module with the perldoc command.
127
128 perldoc VMware::LabManager
129
130 You can also look for information at:
131
132 · RT: CPAN's request tracker
133
134 <http://rt.cpan.org/NoAuth/Bugs.html?Dist=VMware-LabManager>
135
136 · AnnoCPAN: Annotated CPAN documentation
137
138 <http://annocpan.org/dist/VMware-LabManager>
139
140 · CPAN Ratings
141
142 <http://cpanratings.perl.org/d/VMware-LabManager>
143
144 · Search CPAN
145
146 <http://search.cpan.org/dist/VMware-LabManager/>
147
149 Copyright 2010 "Aditya Ivaturi".
150
151 This program is free software; you can redistribute it and/or modify it
152 under the terms of either: the GNU General Public License as published
153 by the Free Software Foundation; or the Artistic License.
154
155 See http://dev.perl.org/licenses/ for more information.
156
157
158
159perl v5.30.1 2020-01-30 VMware::LabManager(3)