module VolumeAccessGroup

Volume Access Group api calls

Public Instance Methods

vag_add_initiator(initiator, group_id) click to toggle source

Add iSCSI initiator(s) to VolumeAccessGroup

Arguments:

initiator: (String or Array)
group_id: (Integer)

Require Admin credential

# File lib/solidfire_api/volume_access_group.rb, line 53
def vag_add_initiator(initiator, group_id)
  initiator = [ initiator ] if initiator.class == String
  api_call = {
    :method => "AddInitiatorsToVolumeAccessGroup",
    :params => {
      :volumeAccessGroupID => group_id,
      :initiators => initiator
    }
  }
  answer = query_sf(api_call)
  return answer
end
vag_add_volume(volume_name, vag_name) click to toggle source

Add Volume to VolumeAccessGroup using names

# File lib/solidfire_api/volume_access_group.rb, line 114
def vag_add_volume(volume_name, vag_name)
  volume_id = volumes_list(name: volume_name).first["volumeID"]
  vag_id = vag_list().select {|s| s["name"] == vag_name }.first["volumeAccessGroupID"]
  vag_add_volume_id(volume_id, vag_id)
end
vag_add_volume_id(volume_id, group_id) click to toggle source

Add Volume to VolumeAccessGroup

Arguments:

volume_id: (Integer)
group_id: (Integer)

Require Admin credential

# File lib/solidfire_api/volume_access_group.rb, line 97
def vag_add_volume_id(volume_id, group_id)
  volume_id = [ volume_id ] if volume_id.class == String
  api_call = {
    :method => "AddVolumesToVolumeAccessGroup",
    :params => {
      :volumeAccessGroupID => group_id,
      :volumes => volume_id
    }
  }
  answer = query_sf(api_call)
  return answer
end
vag_create(group_name) click to toggle source

create VolumeAccessGroup return groupID

Arguments:

group_name: (String, name of group)

Require Admin credential

# File lib/solidfire_api/volume_access_group.rb, line 32
def vag_create(group_name)
  api_call = {
    :method => "CreateVolumeAccessGroup",
    :params => {
      :name => group_name,
      :attributes => {}
    }
  }
  answer = query_sf(api_call)
  return answer["volumeAccessGroupID"]
end
vag_list() click to toggle source

list VolumeAccessGroups

Arguments:

state: (String, active or deleted, default = active)
limit: (Integer, default = 1000)
# File lib/solidfire_api/volume_access_group.rb, line 14
def vag_list()
  api_call = {
    :method => "ListVolumeAccessGroups",
    :params => {}
  }
  answer = query_sf(api_call)
  return answer["volumeAccessGroups"]
end
vag_remove_initiator(initiator, group_id) click to toggle source

Remove iSCSI initiator(s) from VolumeAccessGroup

Arguments:

initiator: (String or Array)
group_id: (Integer)

Require Admin credential

# File lib/solidfire_api/volume_access_group.rb, line 75
def vag_remove_initiator(initiator, group_id)
  initiator = [ initiator ] if initiator.class == String
  api_call = {
    :method => "RemoveInitiatorsFromVolumeAccessGroup",
    :params => {
      :volumeAccessGroupID => group_id,
      :initiators => initiator
    }
  }
  answer = query_sf(api_call)
  return answer
end