vmware_web_service 1.0.5 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/VMwareWebService/MiqVim.rb +0 -4
- data/lib/VMwareWebService/MiqVimCustomizationSpecManager.rb +1 -1
- data/lib/VMwareWebService/MiqVimDataStore.rb +2 -2
- data/lib/VMwareWebService/MiqVimInventory.rb +15 -10
- data/lib/VMwareWebService/MiqVimUpdate.rb +1 -1
- data/lib/VMwareWebService/MiqVimVm.rb +45 -52
- data/lib/VMwareWebService/version.rb +1 -1
- metadata +21 -31
- data/lib/VMwareWebService/MiqPbmInventory.rb +0 -67
- data/lib/VMwareWebService/PbmService.rb +0 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77fcee14b8adf4ff299e6f703078e3d2bbf62aba13be17e4a6253a010cae18f1
|
4
|
+
data.tar.gz: 86972a49c90161ae859753f7470e4e415b336e1178a554036aac0f24362588f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb2c3b6c7e80fed7f4b5d2cc63d4556103ffd0a6b57442896b0edc262601de38e0ab394bf2d75b1a2bc7e67788f766d4864668d47ad1c1d3001bcd0395db135d
|
7
|
+
data.tar.gz: def519ee4ed00ad05cb3590f7decddbf90a5e8b408b3df34223685a27cb3387675120a210ae5c1e58135a6c1609bb022ad56428a816ef81df6f1190437a91962
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'sync'
|
2
2
|
|
3
3
|
require 'VMwareWebService/MiqVimInventory'
|
4
|
-
require 'VMwareWebService/MiqPbmInventory'
|
5
4
|
require 'VMwareWebService/MiqVimVm'
|
6
5
|
require 'VMwareWebService/MiqVimVdlMod'
|
7
6
|
require 'VMwareWebService/MiqVimFolder'
|
@@ -17,7 +16,6 @@ require 'VMwareWebService/MiqVimUpdate'
|
|
17
16
|
|
18
17
|
class MiqVim < MiqVimInventory
|
19
18
|
include MiqVimVdlConnectionMod
|
20
|
-
include MiqPbmInventory
|
21
19
|
include MiqVimUpdate
|
22
20
|
|
23
21
|
attr_reader :updateThread, :monitor_updates
|
@@ -35,8 +33,6 @@ class MiqVim < MiqVimInventory
|
|
35
33
|
def initialize(server, username, password, cacheScope = nil, monitor_updates = false, preLoad = false, debugUpdates = false, notifyMethod = nil, maxWait = 60, maxObjects = 250)
|
36
34
|
super(server, username, password, cacheScope)
|
37
35
|
|
38
|
-
pbm_initialize(self)
|
39
|
-
|
40
36
|
@monitor_updates = monitor_updates
|
41
37
|
@updateMonitorReady = false
|
42
38
|
@error = nil
|
@@ -290,8 +290,8 @@ class MiqVimDataStore
|
|
290
290
|
if block_given?
|
291
291
|
open(fileUrl, options) { |ret| yield(ret) }
|
292
292
|
else
|
293
|
-
|
294
|
-
open(fileUrl, options) { |ret| data = ret.read
|
293
|
+
data = nil
|
294
|
+
open(fileUrl, options) { |ret| data = ret.read }
|
295
295
|
return data
|
296
296
|
end
|
297
297
|
end
|
@@ -366,7 +366,12 @@ class MiqVimInventory < MiqVimClientBase
|
|
366
366
|
#
|
367
367
|
# Hash snapshot info by create time.
|
368
368
|
#
|
369
|
-
|
369
|
+
# VMware API strips trailing '0's from the fractional seconds
|
370
|
+
# which causes the string to not match what .iso8601(6) returns
|
371
|
+
#
|
372
|
+
# Example 12:12:59.123Z instead of 12:12:59.123000Z
|
373
|
+
create_time = Time.parse(ssObj['createTime']).iso8601(6)
|
374
|
+
ssMorHash[create_time] = ssObj
|
370
375
|
|
371
376
|
#
|
372
377
|
# Ensure childSnapshotList is always present and always an array,
|
@@ -1138,18 +1143,18 @@ class MiqVimInventory < MiqVimClientBase
|
|
1138
1143
|
|
1139
1144
|
$vim_log.info "MiqVimInventory.datacenters_locked: loading Datacenter cache for #{@connId}"
|
1140
1145
|
begin
|
1141
|
-
|
1146
|
+
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1142
1147
|
|
1143
|
-
|
1148
|
+
ra = getMoPropMulti(inventoryHash_locked['Datacenter'], @propMap[:Datacenter][:props])
|
1144
1149
|
|
1145
|
-
|
1146
|
-
|
1147
|
-
|
1148
|
-
|
1150
|
+
@datacenters = {}
|
1151
|
+
@datacentersByMor = {}
|
1152
|
+
ra.each do |dcObj|
|
1153
|
+
addObjHash(:Datacenter, dcObj)
|
1154
|
+
end
|
1155
|
+
ensure
|
1156
|
+
@cacheLock.sync_unlock if unlock
|
1149
1157
|
end
|
1150
|
-
ensure
|
1151
|
-
@cacheLock.sync_unlock if unlock
|
1152
|
-
end
|
1153
1158
|
$vim_log.info "MiqVimInventory.datacenters_locked: loaded Datacenter cache for #{@connId}"
|
1154
1159
|
|
1155
1160
|
@datacenters
|
@@ -112,7 +112,7 @@ module MiqVimUpdate
|
|
112
112
|
version = updates_version
|
113
113
|
sleep @updateDelay if @updateDelay
|
114
114
|
end # while @monitor
|
115
|
-
rescue SignalException
|
115
|
+
rescue SignalException
|
116
116
|
# Ignore signals, except TERM
|
117
117
|
rescue => herr
|
118
118
|
if herr.respond_to?(:reason) && herr.reason == 'The task was canceled by a user.'
|
@@ -87,14 +87,6 @@ class MiqVimVm
|
|
87
87
|
# @invObj.releaseObj(self)
|
88
88
|
end
|
89
89
|
|
90
|
-
def vmMor
|
91
|
-
(@vmMor)
|
92
|
-
end
|
93
|
-
|
94
|
-
def vmh
|
95
|
-
(@vmh)
|
96
|
-
end
|
97
|
-
|
98
90
|
#######################
|
99
91
|
# Power state methods.
|
100
92
|
#######################
|
@@ -317,24 +309,24 @@ class MiqVimVm
|
|
317
309
|
return(@snapshotInfo) if @snapshotInfo && !refresh
|
318
310
|
|
319
311
|
begin
|
320
|
-
|
321
|
-
|
322
|
-
unless (ssp = @invObj.getMoProp_local(@vmMor, "snapshot"))
|
323
|
-
@snapshotInfo = nil
|
324
|
-
return(nil)
|
325
|
-
end
|
312
|
+
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
326
313
|
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
rsl = [rsl] unless rsl.kind_of?(Array)
|
331
|
-
rsl.each { |rs| @invObj.snapshotFixup(rs, ssMorHash) }
|
332
|
-
ssObj['ssMorHash'] = ssMorHash
|
333
|
-
@snapshotInfo = ssObj
|
334
|
-
ensure
|
335
|
-
@cacheLock.sync_unlock if unlock
|
314
|
+
unless (ssp = @invObj.getMoProp_local(@vmMor, "snapshot"))
|
315
|
+
@snapshotInfo = nil
|
316
|
+
return(nil)
|
336
317
|
end
|
337
318
|
|
319
|
+
ssObj = ssp["snapshot"]
|
320
|
+
ssMorHash = {}
|
321
|
+
rsl = ssObj['rootSnapshotList']
|
322
|
+
rsl = [rsl] unless rsl.kind_of?(Array)
|
323
|
+
rsl.each { |rs| @invObj.snapshotFixup(rs, ssMorHash) }
|
324
|
+
ssObj['ssMorHash'] = ssMorHash
|
325
|
+
@snapshotInfo = ssObj
|
326
|
+
ensure
|
327
|
+
@cacheLock.sync_unlock if unlock
|
328
|
+
end
|
329
|
+
|
338
330
|
(@snapshotInfo)
|
339
331
|
end # def snapshotInfo_locked
|
340
332
|
|
@@ -800,11 +792,11 @@ class MiqVimVm
|
|
800
792
|
bck.writeThrough = "false"
|
801
793
|
bck.fileName = backingFile
|
802
794
|
begin
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
795
|
+
dsn = @invObj.path2dsName(@dsPath)
|
796
|
+
bck.datastore = @invObj.dsName2mo_local(dsn)
|
797
|
+
rescue
|
798
|
+
bck.datastore = nil
|
799
|
+
end
|
808
800
|
end
|
809
801
|
end
|
810
802
|
end
|
@@ -856,11 +848,11 @@ class MiqVimVm
|
|
856
848
|
bck.writeThrough = "false"
|
857
849
|
bck.fileName = backingFile
|
858
850
|
begin
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
851
|
+
dsn = @invObj.path2dsName(@dsPath)
|
852
|
+
bck.datastore = @invObj.dsName2mo(dsn)
|
853
|
+
rescue
|
854
|
+
bck.datastore = nil
|
855
|
+
end
|
864
856
|
end unless deleteBacking
|
865
857
|
end
|
866
858
|
end
|
@@ -917,13 +909,14 @@ class MiqVimVm
|
|
917
909
|
scsi_controllers.sort_by { |s| s["key"].to_i }.each do |scsi_controller|
|
918
910
|
# Skip if all controller units are populated
|
919
911
|
# Bus has 16 units, controller takes up 1 unit itself
|
920
|
-
|
912
|
+
device = Array.wrap(scsi_controller["device"])
|
913
|
+
next if device.count >= MAX_SCSI_DEVICES
|
921
914
|
|
922
915
|
# We've found the lowest scsi controller with an available unit
|
923
916
|
controller_key = scsi_controller["key"]
|
924
917
|
|
925
918
|
# Get a list of disks on this controller
|
926
|
-
disks = devices.select { |dev|
|
919
|
+
disks = devices.select { |dev| device.include?(dev["key"]) }
|
927
920
|
|
928
921
|
# Get a list of all populated units on the controller
|
929
922
|
populated_units = disks.collect { |disk| disk["unitNumber"].to_i }
|
@@ -1037,24 +1030,24 @@ class MiqVimVm
|
|
1037
1030
|
end
|
1038
1031
|
|
1039
1032
|
begin
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
end
|
1051
|
-
$vim_log.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: calling createAlarm" if $vim_log
|
1052
|
-
alarmMor = @invObj.createAlarm(alarmManager, @vmMor, aSpec)
|
1053
|
-
$vim_log.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: returned from createAlarm" if $vim_log
|
1054
|
-
@miqAlarmMor = alarmMor
|
1055
|
-
ensure
|
1056
|
-
@cacheLock.sync_unlock if unlock
|
1033
|
+
@cacheLock.sync_lock(:EX) if (unlock = @cacheLock.sync_shared?)
|
1034
|
+
|
1035
|
+
alarmManager = @sic.alarmManager
|
1036
|
+
#
|
1037
|
+
# Add disabled if VM is running.
|
1038
|
+
#
|
1039
|
+
if poweredOff?
|
1040
|
+
aSpec = @miqAlarmSpecEnabled
|
1041
|
+
else
|
1042
|
+
aSpec = @miqAlarmSpecDisabled
|
1057
1043
|
end
|
1044
|
+
$vim_log.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: calling createAlarm" if $vim_log
|
1045
|
+
alarmMor = @invObj.createAlarm(alarmManager, @vmMor, aSpec)
|
1046
|
+
$vim_log.info "MiqVimVm(#{@invObj.server}, #{@invObj.username}).addMiqAlarm_locked: returned from createAlarm" if $vim_log
|
1047
|
+
@miqAlarmMor = alarmMor
|
1048
|
+
ensure
|
1049
|
+
@cacheLock.sync_unlock if unlock
|
1050
|
+
end
|
1058
1051
|
|
1059
1052
|
(alarmMor)
|
1060
1053
|
end # def addMiqAlarm_locked
|
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vmware_web_service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ManageIQ Developers
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
- - "
|
19
|
+
version: 5.2.4
|
20
|
+
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 5.2.4.3
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - "
|
27
|
+
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
- - "
|
29
|
+
version: 5.2.4
|
30
|
+
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 5.2.4.3
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: ffi-vix_disk_lib
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,30 +76,22 @@ dependencies:
|
|
76
76
|
name: more_core_extensions
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- - "
|
79
|
+
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
81
|
version: '3.2'
|
82
|
+
- - "<"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '5'
|
82
85
|
type: :runtime
|
83
86
|
prerelease: false
|
84
87
|
version_requirements: !ruby/object:Gem::Requirement
|
85
88
|
requirements:
|
86
|
-
- - "
|
89
|
+
- - ">="
|
87
90
|
- !ruby/object:Gem::Version
|
88
91
|
version: '3.2'
|
89
|
-
-
|
90
|
-
name: rbvmomi
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '2.0'
|
96
|
-
type: :runtime
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
92
|
+
- - "<"
|
101
93
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
94
|
+
version: '5'
|
103
95
|
- !ruby/object:Gem::Dependency
|
104
96
|
name: bundler
|
105
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -199,7 +191,7 @@ dependencies:
|
|
199
191
|
- !ruby/object:Gem::Version
|
200
192
|
version: '0'
|
201
193
|
description: A ruby interface to Vmware Web Services SDK
|
202
|
-
email:
|
194
|
+
email:
|
203
195
|
executables: []
|
204
196
|
extensions: []
|
205
197
|
extra_rdoc_files: []
|
@@ -215,7 +207,6 @@ files:
|
|
215
207
|
- lib/VMwareWebService/MiqHostSnmpSystem.rb
|
216
208
|
- lib/VMwareWebService/MiqHostStorageSystem.rb
|
217
209
|
- lib/VMwareWebService/MiqHostVirtualNicManager.rb
|
218
|
-
- lib/VMwareWebService/MiqPbmInventory.rb
|
219
210
|
- lib/VMwareWebService/MiqVim.rb
|
220
211
|
- lib/VMwareWebService/MiqVimAlarmManager.rb
|
221
212
|
- lib/VMwareWebService/MiqVimBroker.rb
|
@@ -236,7 +227,6 @@ files:
|
|
236
227
|
- lib/VMwareWebService/MiqVimUpdate.rb
|
237
228
|
- lib/VMwareWebService/MiqVimVdlMod.rb
|
238
229
|
- lib/VMwareWebService/MiqVimVm.rb
|
239
|
-
- lib/VMwareWebService/PbmService.rb
|
240
230
|
- lib/VMwareWebService/VimConstants.rb
|
241
231
|
- lib/VMwareWebService/VimMappingRegistry.rb
|
242
232
|
- lib/VMwareWebService/VimPropMaps.rb
|
@@ -4455,7 +4445,7 @@ homepage: https://github.com/ManageIQ/vmware_web_service
|
|
4455
4445
|
licenses:
|
4456
4446
|
- Apache-2.0
|
4457
4447
|
metadata: {}
|
4458
|
-
post_install_message:
|
4448
|
+
post_install_message:
|
4459
4449
|
rdoc_options: []
|
4460
4450
|
require_paths:
|
4461
4451
|
- lib
|
@@ -4471,7 +4461,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
4471
4461
|
version: '0'
|
4472
4462
|
requirements: []
|
4473
4463
|
rubygems_version: 3.1.3
|
4474
|
-
signing_key:
|
4464
|
+
signing_key:
|
4475
4465
|
specification_version: 4
|
4476
4466
|
summary: A ruby interface to Vmware Web Services SDK
|
4477
4467
|
test_files: []
|
@@ -1,67 +0,0 @@
|
|
1
|
-
require 'VMwareWebService/PbmService'
|
2
|
-
|
3
|
-
module MiqPbmInventory
|
4
|
-
def pbm_initialize(vim)
|
5
|
-
begin
|
6
|
-
# SPBM endpoint was introduced in vSphere Management SDK 5.5 and
|
7
|
-
# isn't supported by Hosts (only vCenters)
|
8
|
-
@pbm_svc = PbmService.new(vim) if apiVersion >= '5.5' && isVirtualCenter
|
9
|
-
rescue => err
|
10
|
-
$vim_log.warn("MiqPbmInventory: Failed to connect to SPBM endpoint: #{err}")
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def pbmProfilesByUid(_selspec = nil)
|
15
|
-
profiles = {}
|
16
|
-
return profiles if @pbm_svc.nil?
|
17
|
-
|
18
|
-
begin
|
19
|
-
profile_ids = @pbm_svc.queryProfile
|
20
|
-
@pbm_svc.retrieveContent(profile_ids).to_a.each do |pbm_profile|
|
21
|
-
uid = pbm_profile.profileId.uniqueId
|
22
|
-
|
23
|
-
profiles[uid] = pbm_profile
|
24
|
-
end
|
25
|
-
rescue => err
|
26
|
-
$vim_log.warn("MiqPbmInventory: pbmProfilesByUid: #{err}")
|
27
|
-
end
|
28
|
-
|
29
|
-
profiles
|
30
|
-
end
|
31
|
-
|
32
|
-
def pbmQueryAssociatedEntity(profile_ids)
|
33
|
-
assoc_entities = {}
|
34
|
-
return assoc_entities if @pbm_svc.nil?
|
35
|
-
|
36
|
-
begin
|
37
|
-
profile_ids.each do |profile_id|
|
38
|
-
# If a string was passed in create a PbmProfileId object
|
39
|
-
profile_id = RbVmomi::PBM::PbmProfileId(:uniqueId => profile_id) if profile_id.kind_of?(String)
|
40
|
-
|
41
|
-
assoc_entities[profile_id.uniqueId] = @pbm_svc.queryAssociatedEntity(profile_id)
|
42
|
-
end
|
43
|
-
rescue => err
|
44
|
-
$vim_log.warn("MiqPbmInventory: pbmQueryAssociatedEntity: #{err}")
|
45
|
-
end
|
46
|
-
|
47
|
-
assoc_entities
|
48
|
-
end
|
49
|
-
|
50
|
-
def pbmQueryMatchingHub(profile_ids)
|
51
|
-
hubs = {}
|
52
|
-
return hubs if @pbm_svc.nil?
|
53
|
-
|
54
|
-
begin
|
55
|
-
profile_ids.each do |profile_id|
|
56
|
-
# If a string was passed in create a PbmProfileId object
|
57
|
-
profile_id = RbVmomi::PBM::PbmProfileId(:uniqueId => profile_id) if profile_id.kind_of?(String)
|
58
|
-
|
59
|
-
hubs[profile_id.uniqueId] = @pbm_svc.queryMatchingHub(profile_id)
|
60
|
-
end
|
61
|
-
rescue => err
|
62
|
-
$vim_log.warn("MiqPbmInventory: pbmQueryMatchingHub: #{err}")
|
63
|
-
end
|
64
|
-
|
65
|
-
hubs
|
66
|
-
end
|
67
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require 'rbvmomi'
|
2
|
-
require 'rbvmomi/pbm'
|
3
|
-
|
4
|
-
PbmVimConnection = Struct.new(:host, :cookie)
|
5
|
-
|
6
|
-
class PbmService
|
7
|
-
def initialize(vim)
|
8
|
-
# RbVmomi::PBM#connect expects a RbVmomi::VIM object, use a struct
|
9
|
-
# to fake it out into using our vim Handsoap connection
|
10
|
-
pbm_vim_conn = PbmVimConnection.new(vim.server.dup, vim.session_cookie.dup)
|
11
|
-
|
12
|
-
@pbm = RbVmomi::PBM.connect(pbm_vim_conn, :insecure => true)
|
13
|
-
@sic = @pbm.serviceContent
|
14
|
-
end
|
15
|
-
|
16
|
-
def queryAssociatedEntity(profileId)
|
17
|
-
@sic.profileManager.PbmQueryAssociatedEntity(:profile => profileId)
|
18
|
-
end
|
19
|
-
|
20
|
-
def queryMatchingHub(profileId, hubsToSearch = nil)
|
21
|
-
@sic.placementSolver.PbmQueryMatchingHub(
|
22
|
-
:profile => profileId,
|
23
|
-
:hubsToSearch => hubsToSearch
|
24
|
-
)
|
25
|
-
end
|
26
|
-
|
27
|
-
def queryProfile
|
28
|
-
@sic.profileManager.PbmQueryProfile(
|
29
|
-
:resourceType => RbVmomi::PBM::PbmProfileResourceType(:resourceType => "STORAGE")
|
30
|
-
)
|
31
|
-
end
|
32
|
-
|
33
|
-
def retrieveContent(profileIds)
|
34
|
-
@sic.profileManager.PbmRetrieveContent(:profileIds => profileIds)
|
35
|
-
end
|
36
|
-
end
|