Documentation ¶
Index ¶
- func NewReqID() int
- type APIError
- type Account
- type AddAccountRequest
- type AddAccountResult
- type AddInitiatorsToVolumeAccessGroupRequest
- type AddVolumesToVolumeAccessGroupRequest
- type Client
- func (c *Client) AddAccount(req *AddAccountRequest) (accountID int64, err error)
- func (c *Client) AddInitiatorsToVolumeAccessGroup(r *AddInitiatorsToVolumeAccessGroupRequest) error
- func (c *Client) AddVolumeToAccessGroup(groupID int64, volIDs []int64) (err error)
- func (c *Client) AttachVolume(v *Volume, iface string) (path, device string, err error)
- func (c *Client) CreateVolume(createReq *CreateVolumeRequest) (vol Volume, err error)
- func (c *Client) CreateVolumeAccessGroup(r *CreateVolumeAccessGroupRequest) (vagID int64, err error)
- func (c *Client) DeleteRange(startID, endID int64)
- func (c *Client) DeleteVolume(volumeID int64) (err error)
- func (c *Client) DetachVolume(v Volume) (err error)
- func (c *Client) GetAccountByID(req *GetAccountByIDRequest) (account Account, err error)
- func (c *Client) GetAccountByName(req *GetAccountByNameRequest) (account Account, err error)
- func (c *Client) GetVolumeByID(volID int64) (v Volume, err error)
- func (c *Client) GetVolumeByName(n string, acctID int64) (v Volume, err error)
- func (c *Client) GetVolumesByName(sfName string, acctID int64) (v []Volume, err error)
- func (c *Client) ListActiveVolumes(listVolReq *ListActiveVolumesRequest) (volumes []Volume, err error)
- func (c *Client) ListVolumeAccessGroups(r *ListVolumeAccessGroupsRequest) (vags []VolumeAccessGroup, err error)
- func (c *Client) ListVolumesForAccount(listReq *ListVolumesForAccountRequest) (volumes []Volume, err error)
- func (c *Client) Request(method string, params interface{}, id int) (response []byte, err error)
- type Config
- type CreateVolumeAccessGroupRequest
- type CreateVolumeAccessGroupResult
- type CreateVolumeRequest
- type CreateVolumeResult
- type DeleteVolumeRequest
- type EmptyResponse
- type GetAccountByIDRequest
- type GetAccountByNameRequest
- type GetAccountResult
- type ListActiveVolumesRequest
- type ListVolumeAccessGroupsRequest
- type ListVolumesAccessGroupsResult
- type ListVolumesForAccountRequest
- type ListVolumesResult
- type QoS
- type VolType
- type Volume
- type VolumeAccessGroup
- type VolumePair
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type APIError ¶
type APIError struct { ID int `json:"id"` Error struct { Code int `json:"code"` Message string `json:"message"` Name string `json:"name"` } `json:"error"` }
APIError wrapper
type Account ¶
type Account struct { AccountID int64 `json:"accountID,omitempty"` Username string `json:"username,omitempty"` Status string `json:"status,omitempty"` Volumes []int64 `json:"volumes,omitempty"` InitiatorSecret string `json:"initiatorSecret,omitempty"` TargetSecret string `json:"targetSecret,omitempty"` Attributes interface{} `json:"attributes,omitempty"` }
Account tbd
type AddAccountRequest ¶
type AddAccountRequest struct { Username string `json:"username"` InitiatorSecret string `json:"initiatorSecret,omitempty"` TargetSecret string `json:"targetSecret,omitempty"` Attributes interface{} `json:"attributes,omitempty"` }
AddAccountRequest tbd
type AddAccountResult ¶
type AddAccountResult struct { ID int `json:"id"` Result struct { AccountID int64 `json:"accountID"` } `json:"result"` }
AddAccountResult tbd
type AddInitiatorsToVolumeAccessGroupRequest ¶
type AddInitiatorsToVolumeAccessGroupRequest struct { Initiators []string `json:"initiators"` VAGID int64 `json:"volumeAccessGroupID"` }
AddInitiatorsToVolumeAccessGroupRequest tbd
type AddVolumesToVolumeAccessGroupRequest ¶
type AddVolumesToVolumeAccessGroupRequest struct { VolumeAccessGroupID int64 `json:"volumeAccessGroupID"` Volumes []int64 `json:"volumes"` }
AddVolumesToVolumeAccessGroupRequest tbd
type Client ¶
type Client struct { SVIP string Endpoint string DefaultAPIPort int DefaultVolSize int64 //bytes DefaultAccountID int64 DefaultTenantName string VolumeTypes *[]VolType Config *Config }
Client is used to send api requests to a SolidFire system system
func NewFromParameters ¶
func NewFromParameters(pendpoint string, pdefaultSizeGiB int64, psvip string, pcfg Config, pdefaultTenantName string) (c *Client, err error)
NewFromParameters is a factory method to createsa new sfapi.Client object using the supplied paramters
func (*Client) AddAccount ¶
func (c *Client) AddAccount(req *AddAccountRequest) (accountID int64, err error)
AddAccount tbd
func (*Client) AddInitiatorsToVolumeAccessGroup ¶
func (c *Client) AddInitiatorsToVolumeAccessGroup(r *AddInitiatorsToVolumeAccessGroupRequest) error
AddInitiatorsToVolumeAccessGroup tbd
func (*Client) AddVolumeToAccessGroup ¶
AddVolumeToAccessGroup tbd
func (*Client) AttachVolume ¶
AttachVolume tbd
func (*Client) CreateVolume ¶
func (c *Client) CreateVolume(createReq *CreateVolumeRequest) (vol Volume, err error)
CreateVolume tbd
func (*Client) CreateVolumeAccessGroup ¶
func (c *Client) CreateVolumeAccessGroup(r *CreateVolumeAccessGroupRequest) (vagID int64, err error)
CreateVolumeAccessGroup tbd
func (*Client) DeleteVolume ¶
DeleteVolume tbd
func (*Client) GetAccountByID ¶
func (c *Client) GetAccountByID(req *GetAccountByIDRequest) (account Account, err error)
GetAccountByID tbd
func (*Client) GetAccountByName ¶
func (c *Client) GetAccountByName(req *GetAccountByNameRequest) (account Account, err error)
GetAccountByName tbd
func (*Client) GetVolumeByID ¶
GetVolumeByID tbd
func (*Client) GetVolumeByName ¶
GetVolumeByName tbd
func (*Client) GetVolumesByName ¶
GetVolumesByName tbd
func (*Client) ListActiveVolumes ¶
func (c *Client) ListActiveVolumes(listVolReq *ListActiveVolumesRequest) (volumes []Volume, err error)
ListActiveVolumes tbd
func (*Client) ListVolumeAccessGroups ¶
func (c *Client) ListVolumeAccessGroups(r *ListVolumeAccessGroupsRequest) (vags []VolumeAccessGroup, err error)
ListVolumeAccessGroups tbd
func (*Client) ListVolumesForAccount ¶
func (c *Client) ListVolumesForAccount(listReq *ListVolumesForAccountRequest) (volumes []Volume, err error)
ListVolumesForAccount tbd
type Config ¶
type Config struct { TenantName string EndPoint string DefaultVolSz int64 //Default volume size in GiB MountPoint string SVIP string InitiatorIFace string //iface to use of iSCSI initiator Types *[]VolType }
Config holds the configuration data for the Client to communicate with a SolidFire storage system
type CreateVolumeAccessGroupRequest ¶
type CreateVolumeAccessGroupRequest struct { Name string `json:"name"` Volumes []int64 `json:"volumes,omitempty"` Initiators []string `json:"initiators,omitempty"` }
CreateVolumeAccessGroupRequest tbd
type CreateVolumeAccessGroupResult ¶
type CreateVolumeAccessGroupResult struct { ID int `json:"id"` Result struct { VagID int64 `json:"volumeAccessGroupID"` } `json:"result"` }
CreateVolumeAccessGroupResult tbd
type CreateVolumeRequest ¶
type CreateVolumeRequest struct { Name string `json:"name"` AccountID int64 `json:"accountID"` TotalSize int64 `json:"totalSize"` Enable512e bool `json:"enable512e"` Qos QoS `json:"qos,omitempty"` Attributes interface{} `json:"attributes"` }
CreateVolumeRequest tbd
type CreateVolumeResult ¶
type CreateVolumeResult struct { ID int `json:"id"` Result struct { VolumeID int64 `json:"volumeID"` } `json:"result"` }
CreateVolumeResult tbd
type DeleteVolumeRequest ¶
type DeleteVolumeRequest struct {
VolumeID int64 `json:"volumeID"`
}
DeleteVolumeRequest tbd
type EmptyResponse ¶
type EmptyResponse struct { ID int `json:"id"` Result struct { } `json:"result"` }
EmptyResponse tbd
type GetAccountByIDRequest ¶
type GetAccountByIDRequest struct {
AccountID int64 `json:"accountID"`
}
GetAccountByIDRequest tbd
type GetAccountByNameRequest ¶
type GetAccountByNameRequest struct {
Name string `json:"username"`
}
GetAccountByNameRequest tbd
type GetAccountResult ¶
type GetAccountResult struct { ID int `json:"id"` Result struct { Account Account `json:"account"` } `json:"result"` }
GetAccountResult tbd
type ListActiveVolumesRequest ¶
type ListActiveVolumesRequest struct { StartVolumeID int64 `json:"startVolumeID"` Limit int64 `json:"limit"` }
ListActiveVolumesRequest tbd
type ListVolumeAccessGroupsRequest ¶
type ListVolumeAccessGroupsRequest struct { StartVAGID int64 `json:"startVolumeAccessGroupID,omitempty"` Limit int64 `json:"limit,omitempty"` }
ListVolumeAccessGroupsRequest tbd
type ListVolumesAccessGroupsResult ¶
type ListVolumesAccessGroupsResult struct { ID int `json:"id"` Result struct { Vags []VolumeAccessGroup `json:"volumeAccessGroups"` } `json:"result"` }
ListVolumesAccessGroupsResult tbd
type ListVolumesForAccountRequest ¶
type ListVolumesForAccountRequest struct {
AccountID int64 `json:"accountID"`
}
ListVolumesForAccountRequest tbd
type ListVolumesResult ¶
type ListVolumesResult struct { ID int `json:"id"` Result struct { Volumes []Volume `json:"volumes"` } `json:"result"` }
ListVolumesResult tbd
type QoS ¶
type QoS struct { MinIOPS int64 `json:"minIOPS,omitempty"` MaxIOPS int64 `json:"maxIOPS,omitempty"` BurstIOPS int64 `json:"burstIOPS,omitempty"` BurstTime int64 `json:"-"` }
QoS settings
type Volume ¶
type Volume struct { VolumeID int64 `json:"volumeID"` Name string `json:"name"` AccountID int64 `json:"accountID"` CreateTime string `json:"createTime"` Status string `json:"status"` Access string `json:"access"` Enable512e bool `json:"enable512e"` Iqn string `json:"iqn"` ScsiEUIDeviceID string `json:"scsiEUIDeviceID"` ScsiNAADeviceID string `json:"scsiNAADeviceID"` Qos QoS `json:"qos"` VolumeAccessGroups []int64 `json:"volumeAccessGroups"` VolumePairs []VolumePair `json:"volumePairs"` DeleteTime string `json:"deleteTime"` PurgeTime string `json:"purgeTime"` SliceCount int64 `json:"sliceCount"` TotalSize int64 `json:"totalSize"` BlockSize int64 `json:"blockSize"` VirtualVolumeID string `json:"virtualVolumeID"` Attributes interface{} `json:"attributes"` }
Volume settings
type VolumeAccessGroup ¶
type VolumeAccessGroup struct { Initiators []string `json:"initiators"` Attributes interface{} `json:"attributes"` DeletedVolumes []int64 `json:"deletedVolumes"` Name string `json:"name"` VAGID int64 `json:"volumeAccessGroupID"` Volumes []int64 `json:"volumes"` }
VolumeAccessGroup tbd