xclarity_client 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/Gemfile +2 -0
- data/README.md +57 -4
- data/bin/mock_server.ru +1 -1
- data/docs/apib/cabinet.apib +63 -0
- data/docs/apib/canister.apib +69 -0
- data/docs/apib/chassis.apib +65 -1428
- data/docs/apib/cmm.apib +1102 -0
- data/docs/apib/fan.apib +383 -0
- data/docs/apib/fan_mux.apib +13 -0
- data/docs/apib/fan_muxes.apib +245 -0
- data/docs/apib/node.apib +8989 -869
- data/docs/apib/power_supply.apib +519 -0
- data/docs/apib/scalable_complex.apib +91 -0
- data/docs/apib/squisher.rb +26 -0
- data/docs/apib/switches.apib +1596 -0
- data/example/simple.rb +12 -5
- data/lib/xclarity_client.rb +20 -0
- data/lib/xclarity_client/cabinet.rb +14 -0
- data/lib/xclarity_client/cabinet_management.rb +59 -0
- data/lib/xclarity_client/canister.rb +20 -0
- data/lib/xclarity_client/canister_management.rb +60 -0
- data/lib/xclarity_client/chassi.rb +24 -0
- data/lib/xclarity_client/chassi_management.rb +64 -0
- data/lib/xclarity_client/client.rb +77 -1
- data/lib/xclarity_client/cmm.rb +18 -0
- data/lib/xclarity_client/cmm_management.rb +61 -0
- data/lib/xclarity_client/configuration.rb +13 -3
- data/lib/xclarity_client/fan.rb +20 -0
- data/lib/xclarity_client/fan_management.rb +83 -0
- data/lib/xclarity_client/fan_mux.rb +18 -0
- data/lib/xclarity_client/fan_mux_management.rb +82 -0
- data/lib/xclarity_client/node.rb +15 -94
- data/lib/xclarity_client/node_management.rb +62 -0
- data/lib/xclarity_client/power_supply.rb +18 -0
- data/lib/xclarity_client/power_supply_management.rb +89 -0
- data/lib/xclarity_client/scalable_complex.rb +16 -0
- data/lib/xclarity_client/scalable_complex_management.rb +83 -0
- data/lib/xclarity_client/switch.rb +19 -0
- data/lib/xclarity_client/switch_management.rb +59 -0
- data/lib/xclarity_client/version.rb +1 -1
- data/lib/xclarity_client/xclarity_base.rb +26 -1
- data/lib/xclarity_client/xclarity_resource.rb +20 -0
- data/xclarity_client.gemspec +1 -2
- metadata +34 -5
- data/lib/xclarity_client/chassis.rb +0 -7
data/example/simple.rb
CHANGED
@@ -1,15 +1,22 @@
|
|
1
1
|
require 'xclarity_client'
|
2
2
|
|
3
3
|
conf = XClarityClient::Configuration.new(
|
4
|
-
:username => '
|
5
|
-
:password => '
|
6
|
-
:host => '
|
4
|
+
:username => '',
|
5
|
+
:password => '',
|
6
|
+
:host => '',
|
7
|
+
:auth_type => '',
|
8
|
+
:ssl_verify => ''
|
7
9
|
)
|
8
10
|
|
9
|
-
virtual_appliance = XClarityClient::VirtualApplianceManagement.new(conf)
|
11
|
+
# virtual_appliance = XClarityClient::VirtualApplianceManagement.new(conf)
|
10
12
|
|
11
13
|
# puts virtual_appliance.configuration_settings
|
12
14
|
|
13
15
|
client = XClarityClient::Client.new(conf)
|
14
16
|
|
15
|
-
puts
|
17
|
+
puts "============= CABINETS ==============="
|
18
|
+
client.discover_cabinet.map do |cabinet|
|
19
|
+
cabinet.instance_variables.each do |att|
|
20
|
+
puts "#{att} - #{cabinet.instance_variable_get att}"
|
21
|
+
end
|
22
|
+
end
|
data/lib/xclarity_client.rb
CHANGED
@@ -6,5 +6,25 @@ end
|
|
6
6
|
require 'xclarity_client/configuration'
|
7
7
|
require 'xclarity_client/client'
|
8
8
|
require 'xclarity_client/xclarity_base'
|
9
|
+
require 'xclarity_client/xclarity_resource'
|
9
10
|
require 'xclarity_client/virtual_appliance_management'
|
10
11
|
require 'xclarity_client/node'
|
12
|
+
require 'xclarity_client/node_management'
|
13
|
+
require 'xclarity_client/chassi'
|
14
|
+
require 'xclarity_client/chassi_management'
|
15
|
+
require 'xclarity_client/scalable_complex'
|
16
|
+
require 'xclarity_client/scalable_complex_management'
|
17
|
+
require 'xclarity_client/power_supply'
|
18
|
+
require 'xclarity_client/power_supply_management'
|
19
|
+
require 'xclarity_client/switch'
|
20
|
+
require 'xclarity_client/switch_management'
|
21
|
+
require 'xclarity_client/fan_mux'
|
22
|
+
require 'xclarity_client/fan_mux_management'
|
23
|
+
require 'xclarity_client/fan'
|
24
|
+
require 'xclarity_client/fan_management'
|
25
|
+
require 'xclarity_client/cmm'
|
26
|
+
require 'xclarity_client/cmm_management'
|
27
|
+
require 'xclarity_client/canister'
|
28
|
+
require 'xclarity_client/canister_management'
|
29
|
+
require 'xclarity_client/cabinet'
|
30
|
+
require 'xclarity_client/cabinet_management'
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module XClarityClient
|
2
|
+
class Cabinet
|
3
|
+
include XClarityClient::Resource
|
4
|
+
|
5
|
+
BASE_URI = '/cabinet'.freeze
|
6
|
+
|
7
|
+
attr_accessor :cabinetName, :chassisList, :complexList, :height, :location, :nodeList,
|
8
|
+
:placeholderList, :room, :storageList, :switchList, :UUID
|
9
|
+
|
10
|
+
def initialize(attributes)
|
11
|
+
build_resource(attributes)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module XClarityClient
|
4
|
+
class CabinetManagement < XClarityBase
|
5
|
+
|
6
|
+
BASE_URI = '/cabinet'.freeze
|
7
|
+
|
8
|
+
def initialize(conf)
|
9
|
+
super(conf, BASE_URI)
|
10
|
+
end
|
11
|
+
|
12
|
+
def population
|
13
|
+
response = connection(BASE_URI)
|
14
|
+
|
15
|
+
body = JSON.parse(response.body)
|
16
|
+
body = {'cabinetList' => [body]} unless body.has_key? 'cabinetList'
|
17
|
+
body['cabinetList'].map do |cabinet|
|
18
|
+
Cabinet.new cabinet
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def get_object_cabinet(uuids, includeAttributes, excludeAttributes)
|
23
|
+
|
24
|
+
response = if not includeAttributes.nil?
|
25
|
+
get_object_cabinet_include_attributes(uuids, includeAttributes)
|
26
|
+
elsif not excludeAttributes.nil?
|
27
|
+
get_object_cabinet_exclude_attributes(uuids, excludeAttributes)
|
28
|
+
elsif not uuids.nil?
|
29
|
+
connection(BASE_URI + "/" + uuids.join(","))
|
30
|
+
else
|
31
|
+
connection(BASE_URI)
|
32
|
+
end
|
33
|
+
|
34
|
+
body = JSON.parse(response.body)
|
35
|
+
body = {'cabinetList' => [body]} unless body.has_key? 'cabinetList'
|
36
|
+
body['cabinetList'].map do |cabinet|
|
37
|
+
Cabinet.new cabinet
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
def get_object_cabinet_exclude_attributes(uuids, attributes)
|
43
|
+
|
44
|
+
response = if not uuids.nil?
|
45
|
+
connection(BASE_URI + "/" + uuids.join(",") + "?excludeAttributes="+ attributes.join(","))
|
46
|
+
else
|
47
|
+
connection(BASE_URI + "?excludeAttributes=" + attributes.join(","))
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def get_object_cabinet_include_attributes(uuids, attributes)
|
52
|
+
response = if not uuids.nil?
|
53
|
+
connection(BASE_URI + "/" + uuids.join(",") + "?includeAttributes="+ attributes.join(","))
|
54
|
+
else
|
55
|
+
connection(BASE_URI + "?includeAttributes=" + attributes.join(","))
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module XClarityClient
|
2
|
+
class Canister
|
3
|
+
include XClarityClient::Resource
|
4
|
+
|
5
|
+
BASE_URI = '/canisters'.freeze
|
6
|
+
|
7
|
+
attr_accessor :cmmDisplayName, :backedBy, :contact, :dataHandle, :description,
|
8
|
+
:firmware, :FRU, :domainName, :driveBays, :drives, :errorFields, :ipInterfaces, :powerStatus,
|
9
|
+
:fruSerialNumber, :manufacturer, :manufacturerId, :processorSlots,
|
10
|
+
:processors, :name, :parent, :posID, :productId, :productName, :type,
|
11
|
+
:serviceHostName, :userDescription, :uri, :vnicMode, :uuid, :vpdID, :activationKeys, :bladeState, :cmmHealthState,
|
12
|
+
:hostname, :ipv4Addresses, :ipv4ServiceAddress,:ipv6Addresses, :ipv6ServiceAddress, :lanOverUsb, :leds, :location,
|
13
|
+
:macAddress, :machineType, :memoryModules, :memorySlots, :model, :partNumber, :posId,:serialNumber,:slots, :subType,
|
14
|
+
:subSlots
|
15
|
+
|
16
|
+
def initialize(attributes)
|
17
|
+
build_resource(attributes)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module XClarityClient
|
4
|
+
class CanisterManagement < XClarityBase
|
5
|
+
|
6
|
+
BASE_URI = '/canisters'.freeze
|
7
|
+
|
8
|
+
def initialize(conf)
|
9
|
+
super(conf, BASE_URI)
|
10
|
+
end
|
11
|
+
|
12
|
+
def population
|
13
|
+
response = connection(BASE_URI)
|
14
|
+
|
15
|
+
body = JSON.parse(response.body)
|
16
|
+
body = {'canisterList' => [body]} unless body.has_key? 'canisterList'
|
17
|
+
body['canisterList'].map do |canister|
|
18
|
+
Canister.new canister
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def get_object_canisters(uuids, includeAttributes, excludeAttributes)
|
23
|
+
|
24
|
+
response = if not includeAttributes.nil?
|
25
|
+
get_object_canisters_include_attributes(uuids, includeAttributes)
|
26
|
+
elsif not excludeAttributes.nil?
|
27
|
+
get_object_canisters_exclude_attributes(uuids, excludeAttributes)
|
28
|
+
elsif not uuids.nil?
|
29
|
+
connection(BASE_URI + "/" + uuids)
|
30
|
+
else
|
31
|
+
connection(BASE_URI)
|
32
|
+
end
|
33
|
+
|
34
|
+
body = JSON.parse(response.body)
|
35
|
+
body = {'canisterList' => [body]} unless body.has_key? 'canisterList'
|
36
|
+
body['canisterList'].map do |canister|
|
37
|
+
Canister.new canister
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
def get_object_canisters_exclude_attributes(uuids, attributes)
|
43
|
+
|
44
|
+
response = if not uuids.nil?
|
45
|
+
connection(BASE_URI + "/#{uuids}"+"?excludeAttributes=#{attributes.join(",")}")
|
46
|
+
else
|
47
|
+
connection(BASE_URI + "?excludeAttributes=" + attributes.join(","))
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
def get_object_canisters_include_attributes(uuids, attributes)
|
53
|
+
response = if not uuids.nil?
|
54
|
+
connection(BASE_URI + "/" + uuids + "?includeAttributes=" + attributes.join(","))
|
55
|
+
else
|
56
|
+
connection(BASE_URI + "?includeAttributes=" + attributes.join(","))
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module XClarityClient
|
2
|
+
class Chassi
|
3
|
+
include XClarityClient::Resource
|
4
|
+
|
5
|
+
BASE_URI = '/chassis'.freeze
|
6
|
+
|
7
|
+
attr_accessor :properties, :_id, :accessState, :activationKeys, :activeAlerts, :backedBy, :bladeSlots,
|
8
|
+
:cmmDisplayName, :cmmHealthState, :cmms, :cmmSlots, :complex, :contact, :dataHandle,
|
9
|
+
:description, :domainName, :encapsulation, :energyPolicies, :errorFields,
|
10
|
+
:excludedHealthState, :fanMuxes, :fanMuxSlots, :fans, :fanSlots, :height, :hostname,
|
11
|
+
:isConnectionTrusted, :ledCardSlots, :leds, :location, :machineType, :managerName,
|
12
|
+
:managerUuid, :manufacturer, :manufacturerId, :mgmtProcIPaddress, :model, :name,
|
13
|
+
:nist, :nodes, :partNumber, :passThroughModules, :posID, :powerAllocation,
|
14
|
+
:powerSupplySlots, :powerSupplies, :productId, :overallHealthState, :SecurityPolicy,
|
15
|
+
:serialNumber, :status, :switches, :switchSlots, :tlsVersion, :type, :userDescription,
|
16
|
+
:uri, :uuid, :vpdID, :mmSlots, :displayName, :productName, :parent, :fruNumber, :password, :recoveryPassword,
|
17
|
+
:username, :managementPorts, :ipAddresses
|
18
|
+
|
19
|
+
def initialize(attributes)
|
20
|
+
build_resource(attributes)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module XClarityClient
|
4
|
+
class ChassiManagement < XClarityBase
|
5
|
+
|
6
|
+
BASE_URI = '/chassis'.freeze
|
7
|
+
|
8
|
+
def initialize(conf)
|
9
|
+
super(conf, BASE_URI)
|
10
|
+
end
|
11
|
+
|
12
|
+
def population
|
13
|
+
response = connection(BASE_URI)
|
14
|
+
|
15
|
+
body = JSON.parse(response.body)
|
16
|
+
body = {'chassisList' => [body]} unless body.has_key? 'chassisList'
|
17
|
+
body['chassisList'].map do |chassi|
|
18
|
+
Chassi.new chassi
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def discover_chassis
|
23
|
+
ChassiManagement.new(@connection).population
|
24
|
+
end
|
25
|
+
|
26
|
+
def get_object_chassis(uuids, includeAttributes, excludeAttributes)
|
27
|
+
|
28
|
+
if not includeAttributes.nil?
|
29
|
+
response = get_object_chassis_include_attributes(uuids, includeAttributes)
|
30
|
+
elsif not excludeAttributes.nil?
|
31
|
+
response = get_object_chassis_exclude_attributes(uuids, excludeAttributes)
|
32
|
+
elsif not uuids.nil?
|
33
|
+
response = connection(BASE_URI + "/" + uuids.join(","))
|
34
|
+
else
|
35
|
+
response = connection(BASE_URI)
|
36
|
+
end
|
37
|
+
|
38
|
+
body = JSON.parse(response.body) #rescue {}
|
39
|
+
body = {'chassisList' => [body]} unless body.has_key? 'chassisList'
|
40
|
+
body['chassisList'].map do |chassi|
|
41
|
+
Chassi.new chassi
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def get_object_chassis_exclude_attributes(uuids, attributes)
|
48
|
+
if not uuids.nil?
|
49
|
+
response = connection(BASE_URI + "/#{uuids.join(",")}"+"?excludeAttributes=#{attributes.join(",")}")
|
50
|
+
else
|
51
|
+
response = connection(BASE_URI + "?excludeAttributes=" + attributes.join(","))
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def get_object_chassis_include_attributes(uuids, attributes)
|
56
|
+
if not uuids.nil?
|
57
|
+
response = connection(BASE_URI + "/" + uuids.join(",") + "?includeAttributes=" + attributes.join(","))
|
58
|
+
else
|
59
|
+
response = connection(BASE_URI + "?includeAttributes=" + attributes.join(","))
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
@@ -6,8 +6,84 @@ module XClarityClient
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def discover_nodes
|
9
|
-
|
9
|
+
NodeManagement.new(@connection).population
|
10
10
|
end
|
11
11
|
|
12
|
+
def discover_scalableComplexes
|
13
|
+
ScalableComplexManagement.new(@connection).population
|
14
|
+
end
|
15
|
+
|
16
|
+
def discover_cabinet
|
17
|
+
CabinetManagement.new(@connection).population
|
18
|
+
end
|
19
|
+
|
20
|
+
def fetch_cabinet(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
21
|
+
CabinetManagement.new(@connection).get_object_cabinet(uuids, includeAttributes, excludeAttributes)
|
22
|
+
end
|
23
|
+
|
24
|
+
def discover_canisters
|
25
|
+
CanisterManagement.new(@connection).population
|
26
|
+
end
|
27
|
+
|
28
|
+
def fetch_canisters(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
29
|
+
CanisterManagement.new(@connection).get_object_canisters(uuids, includeAttributes, excludeAttributes)
|
30
|
+
end
|
31
|
+
|
32
|
+
def discover_cmms
|
33
|
+
CmmManagement.new(@connection).population
|
34
|
+
end
|
35
|
+
|
36
|
+
def fetch_cmms(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
37
|
+
CmmManagement.new(@connection).get_object_cmms(uuids, includeAttributes, excludeAttributes)
|
38
|
+
end
|
39
|
+
|
40
|
+
def fetch_fans(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
41
|
+
|
42
|
+
FanManagement.new(@connection).get_object_fans(uuids, includeAttributes, excludeAttributes)
|
43
|
+
end
|
44
|
+
|
45
|
+
def discover_fans
|
46
|
+
FanManagement.new(@connection).population
|
47
|
+
end
|
48
|
+
|
49
|
+
def discover_switches
|
50
|
+
SwitchManagement.new(@connection).population
|
51
|
+
end
|
52
|
+
|
53
|
+
def discover_fan_muxes
|
54
|
+
FanMuxManagement.new(@connection).population
|
55
|
+
end
|
56
|
+
|
57
|
+
def fetch_fan_muxes(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
58
|
+
FanMuxManagement.new(@connection).get_object_fan_muxes(uuids, includeAttributes, excludeAttributes)
|
59
|
+
end
|
60
|
+
|
61
|
+
def discover_chassis
|
62
|
+
ChassiManagement.new(@connection).population
|
63
|
+
end
|
64
|
+
|
65
|
+
def discover_power_supplies
|
66
|
+
PowerSupplyManagement.new(@connection).population
|
67
|
+
end
|
68
|
+
|
69
|
+
def fetch_nodes(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
70
|
+
NodeManagement.new(@connection).get_object_nodes(uuids, includeAttributes, excludeAttributes)
|
71
|
+
end
|
72
|
+
|
73
|
+
def fetch_chassis(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
74
|
+
ChassiManagement.new(@connection).get_object_chassis(uuids, includeAttributes, excludeAttributes)
|
75
|
+
end
|
76
|
+
|
77
|
+
def fetch_scalableComplexes(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
78
|
+
ScalableComplexManagement.new(@connection).get_object_scalableComplexes(uuids, includeAttributes, excludeAttributes)
|
79
|
+
end
|
80
|
+
|
81
|
+
def fetch_switches(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
82
|
+
SwitchManagement.new(@connection).get_object_switches(uuids, includeAttributes, excludeAttributes)
|
83
|
+
end
|
84
|
+
|
85
|
+
def fetch_power_supplies(uuids = nil, includeAttributes = nil, excludeAttributes = nil)
|
86
|
+
PowerSupplyManagement.new(@connection).get_object_power_supplies(uuids, includeAttributes, excludeAttributes)
|
87
|
+
end
|
12
88
|
end
|
13
89
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require "pp"
|
2
|
+
|
3
|
+
module XClarityClient
|
4
|
+
class Cmm
|
5
|
+
include XClarityClient::Resource
|
6
|
+
|
7
|
+
BASE_URI = '/cmms'.freeze
|
8
|
+
|
9
|
+
attr_accessor :_id, :properties, :accessState, :backedBy, :cmmDisplayName, :cmmHealthState, :dataHandle, :dnsHostnames, :domainName, :errorFields,
|
10
|
+
:excludedHealthState, :firmware, :FRU, :fruSerialNumber, :hostConfig, :hostname, :ipInterfaces, :ipv4Addresses, :ipv6Addresses,
|
11
|
+
:macAddresses, :machineType, :mgmtProcIPaddress, :model, :name, :overallHealthState, :parent, :partNumber, :powerAllocation,
|
12
|
+
:productId, :role, :serialNumber, :slots, :type, :userDescription, :uri, :uuid,:description, :leds, :manufacturerId, :manufacturer
|
13
|
+
|
14
|
+
def initialize(attributes)
|
15
|
+
build_resource(attributes)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module XClarityClient
|
4
|
+
class CmmManagement < XClarityBase
|
5
|
+
|
6
|
+
BASE_URI = '/cmms'.freeze
|
7
|
+
|
8
|
+
def initialize(conf)
|
9
|
+
super(conf, BASE_URI)
|
10
|
+
end
|
11
|
+
|
12
|
+
def population
|
13
|
+
response = connection(BASE_URI)
|
14
|
+
|
15
|
+
body = JSON.parse(response.body)
|
16
|
+
body = {'cmmList' => [body]} unless body.has_key? 'cmmList'
|
17
|
+
body['cmmList'].map do |cmm|
|
18
|
+
Cmm.new cmm
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def get_object_cmms(uuids, includeAttributes, excludeAttributes)
|
23
|
+
|
24
|
+
if not includeAttributes.nil?
|
25
|
+
response = get_object_cmms_include_attributes(uuids, includeAttributes)
|
26
|
+
elsif not excludeAttributes.nil?
|
27
|
+
response = get_object_cmms_exclude_attributes(uuids, excludeAttributes)
|
28
|
+
elsif not uuids.nil?
|
29
|
+
response = connection(BASE_URI + "/" + uuids.join(","))
|
30
|
+
else
|
31
|
+
response = connection(BASE_URI)
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
body = JSON.parse(response.body) #rescue {}
|
36
|
+
body = {'cmmList' => [body]} unless body.has_key? 'cmmList'
|
37
|
+
body['cmmList'].map do |cmm|
|
38
|
+
Cmm.new cmm
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def get_object_cmms_exclude_attributes(uuids, attributes)
|
45
|
+
if not uuids.nil?
|
46
|
+
response = connection(BASE_URI + "/#{uuids.join(",")}"+"?excludeAttributes=#{attributes.join(",")}")
|
47
|
+
else
|
48
|
+
response = connection(BASE_URI + "?excludeAttributes=" + attributes.join(","))
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def get_object_cmms_include_attributes(uuids, attributes)
|
53
|
+
if not uuids.nil?
|
54
|
+
response = connection(BASE_URI + "/" + uuids.join(",") + "?includeAttributes=" + attributes.join(","))
|
55
|
+
else
|
56
|
+
response = connection(BASE_URI + "?includeAttributes=" + attributes.join(","))
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|