Class: RMC::Item::StorageSystem

Inherits:
Object
  • Object
show all
Defined in:
lib/rmc/item/storage_system.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection, data) ⇒ StorageSystem

Returns a new instance of StorageSystem.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/rmc/item/storage_system.rb', line 18

def initialize(connection, data)

  @connection = connection

  @id = data['id']
  @name = data['name']
  @status = data['status']

  @serialNumber = data['serialNumber']
  @firmwareVersion = data['firmwareVersion']
  @deviceType = data['deviceType']
  @ipHostname = data['ipHostname']
  @sytemId = data['systemId']

  @configuredProtocols = data['configuredProtocols']
end

Instance Attribute Details

#connectionObject

Returns the value of attribute connection.



6
7
8
# File 'lib/rmc/item/storage_system.rb', line 6

def connection
  @connection
end

#deviceTypeObject (readonly)

Returns the value of attribute deviceType.



14
15
16
# File 'lib/rmc/item/storage_system.rb', line 14

def deviceType
  @deviceType
end

#firmwareVersionObject (readonly)

Returns the value of attribute firmwareVersion.



13
14
15
# File 'lib/rmc/item/storage_system.rb', line 13

def firmwareVersion
  @firmwareVersion
end

#idObject (readonly)

Returns the value of attribute id.



8
9
10
# File 'lib/rmc/item/storage_system.rb', line 8

def id
  @id
end

#ipHostnameObject (readonly)

Returns the value of attribute ipHostname.



15
16
17
# File 'lib/rmc/item/storage_system.rb', line 15

def ipHostname
  @ipHostname
end

#nameObject (readonly)

Returns the value of attribute name.



9
10
11
# File 'lib/rmc/item/storage_system.rb', line 9

def name
  @name
end

#serialNumberObject (readonly)

Returns the value of attribute serialNumber.



12
13
14
# File 'lib/rmc/item/storage_system.rb', line 12

def serialNumber
  @serialNumber
end

#statusObject (readonly)

Returns the value of attribute status.



10
11
12
# File 'lib/rmc/item/storage_system.rb', line 10

def status
  @status
end

#sytemIdObject (readonly)

Returns the value of attribute sytemId.



16
17
18
# File 'lib/rmc/item/storage_system.rb', line 16

def sytemId
  @sytemId
end

Instance Method Details

#deleteObject



60
61
62
63
64
65
# File 'lib/rmc/item/storage_system.rb', line 60

def delete
  @connection.request(
      :url => "/storage-systems/#{@id}",
      :method => :delete,
  )
end

#get_poolsObject



35
36
37
38
39
40
41
42
43
44
45
# File 'lib/rmc/item/storage_system.rb', line 35

def get_pools
  pools = []
  @configuredProtocols.each do |storage_pool|
    response = @connection.request(
        url: "/storage-pools/#{storage_pool['poolId']}"
    )
    pools << RMC::Item::StoragePool.new(@connection, response['storagePool'])
  end

  pools
end

#get_volumesObject



47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/rmc/item/storage_system.rb', line 47

def get_volumes
  response = @connection.request(
      url: "/volume?query=\"storageSystemId EQ '#{@id}'\"",
  )

  volumes = []
  response['storageSystem']['volumes']['members'].each do |_data|
    volumes << RMC::Item::Volume.new(@connection, _data)
  end

  volumes
end