Documentation
¶
Index ¶
- Variables
- type CallResponseError
- type Driver
- func (d Driver) Connect() (response string, err error)
- func (d Driver) CreateVolume(name string, volumeGroupRef string, size string, mediaType string) (volumeRef string, err error)
- func (d Driver) DestroyVolume(name string) (err error)
- func (d Driver) IsVolumeAlreadyMappedToHost(name string, hostRef string) (isMapped bool, lunNumber int, err error)
- func (d Driver) MapVolume(name string, hostRef string) (lunNumber int, err error)
- func (d Driver) SendMsg(data []byte, httpMethod string, msgType string) (*http.Response, error)
- func (d Driver) UnmapVolume(name string) (err error)
- func (d Driver) VerifyHostIQN(iqn string) (hostRef string, err error)
- func (d Driver) VerifyVolumeExists(name string) (err error)
- func (d Driver) VerifyVolumePools(mediaType string, size string) (VolumeGroupRef string, err error)
- type DriverConfig
- type HostExHostPort
- type HostExInitiator
- type HostExResponse
- type HostExScsiNodeName
- type LUNMapping
- type MsgConnect
- type MsgConnectResponse
- type MsgVolumeEx
- type MsgVolumeExResponse
- type VolumeGroupExResponse
- type VolumeInfo
- type VolumeMappingCreateRequest
- type VolumeTag
Constants ¶
This section is empty.
Variables ¶
View Source
var GenericResponseMalformed int = 422
View Source
var GenericResponseNoContent int = 204
View Source
var GenericResponseNotFound int = 404
View Source
var GenericResponseOffline int = 424
View Source
var GenericResponseOkay int = 200
View Source
var GenericResponseSuccess int = 201
Functions ¶
This section is empty.
Types ¶
type CallResponseError ¶
type CallResponseError struct {
ErrorMsg string `json:"errorMessage"`
LocalizedMsg string `json:"localizedMessage"`
ReturnCode string `json:"retcode"`
CodeType string `json:"codeType"` //'symbol', 'webservice', 'systemerror', 'devicemgrerror'
}
Used for errors on RESTful calls to return what went wrong
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
Driver is the object to use for interacting with the Array
func NewDriver ¶
func NewDriver(config DriverConfig) *Driver
NewDriver is a factory method for creating a new instance
func (Driver) CreateVolume ¶
func (Driver) DestroyVolume ¶
func (Driver) IsVolumeAlreadyMappedToHost ¶
func (Driver) UnmapVolume ¶
func (Driver) VerifyVolumeExists ¶
type DriverConfig ¶
type DriverConfig struct {
//Web Proxy Services Info
WebProxyHostname string
WebProxyPort string
WebProxyUseHTTP bool
WebProxyVerifyTLS bool
Username string
Password string
//Array Info
ControllerA string
ControllerB string
PasswordArray string
ArrayRegistered bool
//Host Connectivity
HostDataIP string //for iSCSI with multipathing this can be either IP on host
//Internal Config Variables
ArrayID string //Unique ID for array once added to web proxy services
Volumes map[string]*VolumeInfo
//Storage protocol of the driver (iSCSI, FC, etc)
Protocol string
DriverName string
Version int
}
DriverConfig holds the configuration data for Driver objects
type HostExHostPort ¶
type HostExHostPort struct {
}
type HostExInitiator ¶
type HostExInitiator struct {
InitiatorRef string `json:"initiatorRef"`
NodeName HostExScsiNodeName `json:"nodeName"`
Label string `json:"label"`
}
type HostExResponse ¶
type HostExResponse struct {
HostRef string `json:"hostRef"`
Label string `json:"label"`
Initiators []HostExInitiator `json:"initiators"`
}
Obtain information about all hosts on array
type HostExScsiNodeName ¶
type LUNMapping ¶
type LUNMapping struct {
LunMappingRef string `json:"lunMappingRef"`
LunNumber int `json:"lun"`
VolumeRef string `json:"volumeRef"`
HostRef string `json:"mapRef"`
}
Structure that reflects LUN information
type MsgConnect ¶
type MsgConnect struct {
ControllerAddresses []string `json:"controllerAddresses"`
Password string `json:"password,omitempty"`
}
Add array to Web Services Proxy
type MsgConnectResponse ¶
type MsgVolumeEx ¶
type MsgVolumeEx struct {
VolumeGroupRef string `json:"poolId"`
Name string `json:"name"`
SizeUnit string `json:"sizeUnit"` //bytes, b, kb, mb, gb, tb, pb, eb, zb, yb
Size int `json:"size"`
SegmentSize int `json:"segSize"`
DataAssurance bool `json:"dataAssuranceEnabled,omitempty"`
OwningController string `json:"owningControllerId,omitempty"`
VolumeTags []VolumeTag `json:"metaTags,omitempty"`
}
Create a volume
type MsgVolumeExResponse ¶
type MsgVolumeExResponse struct {
IsOffline bool `json:"offline"`
Label string `json:"label"`
VolumeSize string `json:"capacity"`
SegmentSize int `json:"segmentSize"`
VolumeRef string `json:"volumeRef"`
VolumeGroupRef string `json:"volumeGroupRef"`
ListOfMappings []LUNMapping `json:"listOfMappings"`
IsMapped bool `json:"mapped"`
}
type VolumeGroupExResponse ¶
type VolumeGroupExResponse struct {
SequenceNumber int `json:"sequenceNum"`
IsOffline bool `json:"offline"`
WorldWideName string `json:"worldWideName"`
VolumeGroupRef string `json:"volumeGroupRef"`
VolumeLabel string `json:"label"`
FreeSpace string `json:"freeSpace"` //Documentation says this is an int but really it is a string!
}
Obtain volume group information
type VolumeInfo ¶
type VolumeInfo struct {
VolumeGroupRef string
VolumeRef string
VolumeSize int64
SegmentSize int
UnitSize string
MediaType string
SecureVolume bool
IsVolumeMapped bool
LunMappingRef string
LunNumber int
}
VolumeInfo hold all the information about a constructed volume on E-Series array and Docker Host Mapping
type VolumeMappingCreateRequest ¶
type VolumeMappingCreateRequest struct {
MappableObjectId string `json:"mappableObjectId"`
TargetID string `json:"targetId"`
LunNumber int `json:"lun,omitempty"`
}
Request to map a created volume to a host
Click to show internal directories.
Click to hide internal directories.