File Coverage

blib/lib/Tivoli/Fwk.pm
Criterion Covered Total %
statement 0 58 0.0
branch 0 12 0.0
condition n/a
subroutine 0 7 0.0
pod 7 7 100.0
total 7 84 8.3


line stmt bran cond sub pod time code
1             package Tivoli::Fwk;
2            
3             our(@ISA, @EXPORT, $VERSION, $Fileparse_fstype, $Fileparse_igncase);
4             require Exporter;
5             @ISA = qw(Exporter);
6             @EXPORT = qw(ExecuteSys CrtPR CrtDatalessPM NoResource Wlookup_pm Wlsendpts_SearchPms Wgetsub_pm);
7            
8             $VERSION = '0.04';
9            
10             ################################################################################################
11            
12             =pod
13            
14             =head1 NAME
15            
16             Tivoli::Fwk - Perl Extension for Tivoli
17            
18             =head1 SYNOPSIS
19            
20             use Tivoli::Fwk;
21            
22            
23             =head1 VERSION
24            
25             v0.04
26            
27             =head1 LICENSE
28            
29             Copyright (c) 2001 Robert Hase.
30             All rights reserved.
31             This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
32            
33             =head1 DESCRIPTION
34            
35             =over
36            
37             This Package will handle about everything you may need for Framework.
38             If anything has been left out, please contact me at
39             tivoli.rhase@muc-net.de
40             so it can be added.
41            
42             =back
43            
44             =head2 DETAILS
45            
46             still in work
47            
48             =head2 ROUTINES
49            
50             Description of Routines
51            
52             =head3 ExecuteSys
53            
54             =over
55            
56             =item * DESCRIPTION
57            
58             Execute Unix Command with system
59            
60             =item * CALL
61            
62             $Var = &ExecuteSys();
63            
64             =item * SAMPLE
65            
66             $Var = &ExecuteSys('ls');
67             $Var = returncode from the Command
68            
69             =back
70            
71             =cut
72            
73             sub ExecuteSys
74             {
75 0     0 1   ($p_cmd)=@_;
76 0           my ($rc) ;
77 0           $command = "$p_cmd 2>>/dev/null";
78 0           $rc=0xffff & system $command;
79 0           return $rc;
80             }
81            
82             =pod
83            
84             =head3 CrtPR
85            
86             =over
87            
88             =item * DESCRIPTION
89            
90             Create PolicyRegion
91            
92             =item * CALL
93            
94             $Var = &CrtPR();
95            
96             =item * SAMPLE
97            
98             $Var = &CrtPR("top-Company_Europe_pr", "all-Clients_Europe-pr");
99             $Var = 1 = ok, 0 = Failure
100            
101             =back
102            
103             =cut
104            
105             sub CrtPR
106             {
107 0     0 1   ($p_tpr, $p_pr)=@_;
108 0           $l_cmd = "wcrtpr -s \@PolicyRegion:$p_tpr -m ProfileManager $p_pr";
109 0           $l_rc=&ExecuteSys ($l_cmd);
110 0 0         if ($l_rc) { return(1); }
  0            
111 0           return(0);
112             }
113            
114             =pod
115            
116             =head3 CrtDatalessPM
117            
118             =over
119            
120             =item * DESCRIPTION
121            
122             Create Dataless ProfileManager
123            
124             =item * CALL
125            
126             $Var = &CrtDatalessPM();
127            
128             =item * SAMPLE
129            
130             $Var = &CrtDatalessPM("all-Sample-pr", "all-inv-SW-tmr-pm");
131             $Var = 1 = ok, 0 = Failure
132            
133             =back
134            
135             =cut
136            
137             sub CrtDatalessPM
138             {
139 0     0 1   ($p_pr, $p_pm)=@_;
140 0           $l_cmd = "wcrtprfmgr \@PolicyRegion:$p_pr $p_pm";
141 0           $l_rc=&ExecuteSys ($l_cmd);
142 0 0         if ($l_rc) { &Error ("Error executing $l_cmd")};
  0            
143 0           $l_cmd = "wsetpm -d \@ProfileManager:$p_pm";
144 0           $l_rc=&ExecuteSys ($l_cmd);
145 0 0         if ($l_rc) {return(1);}
  0            
146 0           return(0);
147             }
148            
149             =pod
150            
151             =head3 NoResource
152            
153             =over
154            
155             =item * DESCRIPTION
156            
157             Check Tivoli Resource with wlookup
158            
159             =item * CALL
160            
161             $Var = &NoResource();
162            
163             =item * SAMPLE
164            
165             $Var = &NoResource("RIM", "inv40");
166             $Var = 1 = ok, 0 = Failure
167            
168             =back
169            
170             =cut
171            
172             sub NoResource
173             {
174 0     0 1   ($p_typ, $p_res)=@_;
175 0           $l_cmd="wlookup -r $p_typ $p_res >/dev/null 2>&1";
176 0           $rc=0xffff & system $l_cmd;
177 0 0         if ( $rc == 0 ) {return(1);}
  0            
178 0           return(0);
179             }
180            
181             =pod
182            
183             =head3 Wlookup_pm
184            
185             =over
186            
187             =item * DESCRIPTION
188            
189             looks for ProfileManagers which includes the given String
190            
191             =item * CALL
192            
193             $Var = &Wlookup_pm();
194            
195             =item * SAMPLE
196            
197             @Arr = &Wlookup_pm("-New_EP-");
198             @Arr = Array with ProfileManagers
199            
200             =back
201            
202             =cut
203            
204             sub Wlookup_pm
205             {
206 0     0 1   my($l_searchstring) = $_[0];
207 0           my(@l_pm, @l_pm_erg);
208 0           my($l_cli);
209 0           $l_cli = "wlookup -aLr ProfileManager |grep $l_searchstring";
210 0           @l_pm = `$l_cli`;
211 0 0         if($? != 0)
212             {
213 0           return(0);
214             }
215 0           foreach $l_dummy (@l_pm)
216             {
217 0           chomp($l_dummy);
218 0           $l_dummy =~ s/\s.*$//;
219 0           push(@l_pm_erg, $l_dummy);
220             }
221 0           return(@l_pm_erg);
222             }
223            
224             =pod
225            
226             =head3 Wlsendpts_SearchPms
227            
228             =over
229            
230             =item * DESCRIPTION
231            
232             Lists all the endpoints directly or indirectly subscribed to the given ProfileManager
233            
234             =item * CALL
235            
236             $Var = &Wlsendpts_SearchPms();
237            
238             =item * SAMPLE
239            
240             @Arr = &Wlsendpts_SearchPms("all-Server-pm");
241             @Arr = Array with Endpoints
242            
243             =back
244            
245             =cut
246            
247             sub Wlsendpts_SearchPms
248             {
249 0     0 1   my($p_pm) = $_[0];
250 0           my($l_dummy);
251 0           my(@l_ep, @l_ep_result);
252 0           $l_dummy = "wlsendpts \@${p_pm}";
253 0           @l_ep = `$l_dummy`;
254            
255 0 0         if($? != 0)
256             {
257 0           return(0);
258             }
259 0           foreach $l_dummy (@l_ep)
260             {
261 0           chomp($l_dummy);
262 0           $l_dummy =~ s/\s.*\)$//;
263 0           push(@l_ep_result, $l_dummy);
264             }
265 0           return(@l_ep_result);
266             }
267            
268             =pod
269            
270             =head3 Wgetsub_pm
271            
272             =over
273            
274             =item * DESCRIPTION
275            
276             gets the Subscribers of a given ProfileManager
277            
278             =item * CALL
279            
280             $Var = &Wgetsub_pm();
281            
282             =item * SAMPLE
283            
284             @Arr = &Wgetsub_pm("all-Clients-pm");
285             @Arr = Array with Subscribers
286            
287             =back
288            
289             =cut
290            
291             sub Wgetsub_pm
292             {
293 0     0 1   my($l_pm) = $_[0];
294 0           my($l_dummy);
295 0           my(@l_subs, @l_subs_result);
296 0           $l_dummy = "wgetsub \@ProfileManager:$l_pm";
297 0           @l_subs = `$l_dummy 2>/dev/null`;
298 0           chomp(@l_subs);
299 0           return(@l_subs);
300             }
301            
302             =pod
303            
304             =head2 Plattforms and Requirements
305            
306             =over
307            
308             Supported Plattforms and Requirements
309            
310             =item * Plattforms
311            
312             tested on:
313            
314             - aix4-r1 (AIX 4.3)
315            
316             =back
317            
318             =item * Requirements
319            
320             requires Perl v5 or higher
321            
322             =back
323            
324             =head2 HISTORY
325            
326             VERSION DATE AUTHOR WORK
327             ----------------------------------------------------
328             0.01 2001-07-06 RHase created
329             0.01 2001-07-06 RHase Wlsendpts_SearchPms
330             0.01 2001-07-06 RHase Wlookup_pm
331             0.02 2001-07-09 RMahner NoResource
332             0.02 2001-07-09 RMahner CrtDatalessPM
333             0.02 2001-07-09 RMahner CrtPR
334             0.02 2001-07-09 RMahner ExecuteSys
335             0.03 2001-07-13 RHase Wgetsub_pm
336             0.04 2001-08-04 RHase POD-Doku added
337            
338             =head1 AUTHOR
339            
340             Robert Hase
341             ID : RHASE
342             eMail : Tivoli.RHase@Muc-Net.de
343             Web : http://www.Muc-Net.de
344            
345             =head1 SEE ALSO
346            
347             CPAN
348             http://www.perl.com
349            
350             =cut
351            
352             ###############################################################################################
353            
354             1;