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.