Documentation
¶
Index ¶
- Constants
- Variables
- func NewDriver() array.Driver
- type Array
- func (t *Array) AddDisk(ctx context.Context, opt OptAddDisk) (array.Disk, error)
- func (t *Array) AddMasking(ctx context.Context, b []byte) (MaskingDump, error)
- func (t *Array) AddThinDev(ctx context.Context, opt OptAddThinDev) (Device, error)
- func (t *Array) CreatePair(ctx context.Context, opt OptCreatePair) error
- func (t *Array) CreateThinDev(ctx context.Context, opt OptAddThinDev) ([]string, error)
- func (t *Array) DelDisk(ctx context.Context, opt OptDelDisk) (array.Disk, error)
- func (t *Array) DelThinDev(ctx context.Context, opt OptDelThinDev) (Device, error)
- func (t *Array) DeletePair(ctx context.Context, opt OptDeletePair) (*RDF, error)
- func (t *Array) FreeThinDev(ctx context.Context, opt OptFreeThinDev) error
- func (t *Array) IsPowerMax() bool
- func (t *Array) IsThinDevFreed(ctx context.Context, sid, devId string) (bool, error)
- func (t *Array) IsThinDevStatusDeallocating(ctx context.Context, sid, devId string) (bool, error)
- func (t *Array) IsThinDevStatusFreeingAll(ctx context.Context, sid, devId string) (bool, error)
- func (t *Array) Log() *plog.Logger
- func (t *Array) MapDisk(ctx context.Context, opt OptMapDisk) (array.Disk, error)
- func (t *Array) MaskDBFile() (string, error)
- func (t *Array) PrepareEnv() error
- func (t *Array) RenameDisk(ctx context.Context, opt OptRenameDisk) (Device, error)
- func (t *Array) ResizeDisk(ctx context.Context, opt OptResizeDisk) (Device, error)
- func (t *Array) Run(args []string) error
- func (t *Array) SetSRDFMode(ctx context.Context, opt OptSetSRDFMode) error
- func (t *Array) SymAccessListDevInitiator(ctx context.Context, sid, wwn string) ([]InitiatorGroup, error)
- func (t *Array) SymAccessListDevStorage(ctx context.Context, sid, devId string) ([]StorageGroup, error)
- func (t *Array) SymAccessListPort(ctx context.Context, sid string) ([]PortGroup, error)
- func (t *Array) SymAccessListViewDetail(ctx context.Context) ([]MaskingView, error)
- func (t *Array) SymAccessShowPort(ctx context.Context, sid, name string) (ShowPortGroup, error)
- func (t *Array) SymAccessShowViewDetail(ctx context.Context, name string) ([]MaskingView, error)
- func (t *Array) SymCfgDirectorList(ctx context.Context, s string) ([]Director, error)
- func (t *Array) SymCfgList(ctx context.Context, s string) (SymmInfo, error)
- func (t *Array) SymCfgPoolList(ctx context.Context) ([]DevicePool, error)
- func (t *Array) SymCfgRDFGList(ctx context.Context, s string) ([]RDFGroup, error)
- func (t *Array) SymCfgSLOList(ctx context.Context) ([]SLO, error)
- func (t *Array) SymCfgSRPList(ctx context.Context) ([]SRP, error)
- func (t *Array) SymCfgVerifyThinDevStatus(ctx context.Context, sid, devId, status string) (bool, error)
- func (t *Array) SymDevList(ctx context.Context, sid string) ([]Device, error)
- func (t *Array) SymDevListThinDevs(ctx context.Context, sid, devId string) ([]ThinDev, error)
- func (t *Array) SymDevShow(ctx context.Context, sid, devId string) ([]Device, error)
- func (t *Array) SymDevShowByWWN(ctx context.Context, sid, devId string) ([]Device, error)
- func (t *Array) SymDiskListDiskGroupSummary(ctx context.Context) ([]DiskGroup, error)
- func (t *Array) SymEnv() []string
- func (t *Array) SymSGList(ctx context.Context, sid string) ([]SGInfo, error)
- func (t *Array) SymSGShow(ctx context.Context, sid, name string) ([]SGInfo, error)
- func (t *Array) UnmapDisk(ctx context.Context, opt OptUnmapDisk) (array.Disk, error)
- type BackEndDisk
- type CascadedViewNames
- type DevBackEnd
- type DevCapacity
- type DevFlags
- type DevFrontEnd
- type DevInfo
- type DevPortInfo
- type Device
- type DevicePool
- type DevicePoolTotals
- type DirInfo
- type DirPort
- type DirPortInfo
- type Director
- type DirectorIdentification
- type DiskGroup
- type DiskGroupInfo
- type DiskGroupSummaryTotals
- type DiskGroupTotals
- type FrontEndPort
- type Initiator
- type InitiatorGroup
- type InitiatorGroupInfo
- type InitiatorList
- type MaskViewNames
- type MaskingDump
- type MaskingDumpDev
- type MaskingDumpGK
- type MaskingDumpIG
- type MaskingDumpSG
- type MaskingDumpView
- type MaskingView
- type OptAddDisk
- type OptAddThinDev
- type OptCreatePair
- type OptDelDisk
- type OptDelThinDev
- type OptDeletePair
- type OptFreeThinDev
- type OptMapDisk
- type OptRenameDisk
- type OptResizeDisk
- type OptSetSRDFMode
- type OptUnmapDisk
- type PortGroup
- type PortGroupInfo
- type PortInfo
- type Product
- type RDF
- type RDFAInfo
- type RDFGroup
- type RDFInfo
- type RDFLink
- type RDFLocal
- type RDFMode
- type RDFRemote
- type RDFStatus
- type Result
- type SG
- type SGChildInfo
- type SGInfo
- type SGShort
- type SLO
- type SLOInfo
- type SRP
- type SRPInfo
- type SRPInfoDiskGroup
- type SRPInfoDiskGroupInfo
- type ShowPortGroup
- type ShowPortGroupInfo
- type StorageGroup
- type StorageGroupInfo
- type SymmInfo
- type SymmInfoShort
- type ThinDev
- type ViewDevice
- type ViewInfo
- type WPaceInfo
- type XSymAccessListDevInitiator
- type XSymAccessListDevInitiatorSymmetrix
- type XSymAccessListDevStorage
- type XSymAccessListDevStorageSymmetrix
- type XSymAccessListPort
- type XSymAccessListPortSymmetrix
- type XSymAccessListViewDetail
- type XSymAccessListViewDetailSymmetrix
- type XSymAccessShowPort
- type XSymAccessShowPortSymmetrix
- type XSymCfgDirList
- type XSymCfgDirListSymmetrix
- type XSymCfgList
- type XSymCfgListSymmetrix
- type XSymCfgPoolList
- type XSymCfgPoolListSymmetrix
- type XSymCfgRDFGList
- type XSymCfgRDFGListSymmetrix
- type XSymCfgSLOList
- type XSymCfgSLOListSymmetrix
- type XSymCfgSRPList
- type XSymCfgSRPListSymmetrix
- type XSymDevList
- type XSymDevListSymmetrix
- type XSymDevListThinDevs
- type XSymDevListThinDevsSymmetrix
- type XSymDevShow
- type XSymDevShowSymmetrix
- type XSymDiskListDiskGroupSummary
- type XSymDiskListDiskGroupSummarySymmetrix
- type XSymSGList
Constants ¶
View Source
const ( // Resize methods ResizeExact resizeMethod = iota ResizeUp ResizeDown )
Variables ¶
View Source
var ( // PromptReader is bufio.NewReader(os.Stdin) for testing dangerous command only, normally nil //PromptReader *bufio.Reader PromptReader = bufio.NewReader(os.Stdin) ErrNotFree = errors.New("device is not free") )
View Source
var ( DumpDefaultGKCount = 6 DumpDefaultConsistent = true )
Functions ¶
Types ¶
type Array ¶
func (*Array) AddMasking ¶
func (*Array) AddThinDev ¶
func (*Array) CreatePair ¶
func (t *Array) CreatePair(ctx context.Context, opt OptCreatePair) error
func (*Array) CreateThinDev ¶
func (*Array) DelThinDev ¶
func (*Array) DeletePair ¶
func (*Array) FreeThinDev ¶
func (t *Array) FreeThinDev(ctx context.Context, opt OptFreeThinDev) error
func (*Array) IsPowerMax ¶
func (*Array) IsThinDevFreed ¶
func (*Array) IsThinDevStatusDeallocating ¶
func (*Array) IsThinDevStatusFreeingAll ¶
func (*Array) MaskDBFile ¶
func (*Array) PrepareEnv ¶
func (*Array) RenameDisk ¶
func (*Array) ResizeDisk ¶
func (*Array) SetSRDFMode ¶
func (t *Array) SetSRDFMode(ctx context.Context, opt OptSetSRDFMode) error
func (*Array) SymAccessListDevInitiator ¶
func (*Array) SymAccessListDevStorage ¶
func (*Array) SymAccessListPort ¶
func (*Array) SymAccessListViewDetail ¶
func (t *Array) SymAccessListViewDetail(ctx context.Context) ([]MaskingView, error)
func (*Array) SymAccessShowPort ¶
func (*Array) SymAccessShowViewDetail ¶
func (*Array) SymCfgDirectorList ¶
func (*Array) SymCfgList ¶
func (*Array) SymCfgPoolList ¶
func (t *Array) SymCfgPoolList(ctx context.Context) ([]DevicePool, error)
func (*Array) SymCfgRDFGList ¶
func (*Array) SymCfgVerifyThinDevStatus ¶
func (*Array) SymDevList ¶
func (*Array) SymDevListThinDevs ¶
func (*Array) SymDevShow ¶
func (*Array) SymDevShowByWWN ¶
func (*Array) SymDiskListDiskGroupSummary ¶
type BackEndDisk ¶
type CascadedViewNames ¶
type DevBackEnd ¶
type DevCapacity ¶
type DevFrontEnd ¶
type DevFrontEnd struct {
XMLName xml.Name `xml:"Front_End" json:"-"`
Port FrontEndPort `xml:"Port" json:"Port"`
}
type DevInfo ¶
type DevInfo struct {
XMLName xml.Name `xml:"Dev_Info" json:"-"`
DevName string `xml:"dev_name" json:"dev_name"`
SRPName string `xml:"srp_name" json:"srp_name"`
Configuration string `xml:"configuration" json:"configuration"`
Status string `xml:"status" json:"status"`
SnapvxSource bool `xml:"snapvx_source" json:"snapvx_source"`
SnapvxTarget bool `xml:"snapvx_target" json:"snapvx_target"`
}
type DevPortInfo ¶
type Device ¶
type Device struct {
XMLName xml.Name `xml:"Device" json:"-"`
DevInfo DevInfo `xml:"Dev_Info" json:"Dev_Info"`
Flags DevFlags `xml:"Flags" json:"Flags"`
Capacity DevCapacity `xml:"Capacity" json:"Capacity"`
FrontEnd DevFrontEnd `xml:"Front_End" json:"Front_End"`
BackEnd DevBackEnd `xml:"Back_End" json:"Back_End"`
RDF *RDF `xml:"RDF" json:"RDF"`
Product *Product `xml:"Product" json:"Product"`
}
type DevicePool ¶
type DevicePool struct {
XMLName xml.Name `xml:"DevicePool" json:"-"`
Name string `xml:"pool_name" json:"pool_name"`
Type string `xml:"pool_type" json:"pool_type"`
DiskLocation string `xml:"disk_location" json:"pool_location"`
Technology string `xml:"technology" json:"technology"`
DevEmulation string `xml:"dev_emulation" json:"dev_emulation"`
Configuration string `xml:"configuration" json:"configuration"`
Devs int `xml:"pool_devs" json:"pool_devs"`
State string `xml:"pool_state" json:"pool_state"`
Totals DevicePoolTotals `xml:"Totals" json:"totals"`
}
type DevicePoolTotals ¶
type DevicePoolTotals struct {
XMLName xml.Name `xml:"Totals" json:"-"`
TotalTracks int64 `xml:"total_tracks" json:"total_tracks"`
TotalUsedTracks int64 `xml:"total_used_tracks" json:"total_used_tracks"`
TotalFreeTracks int64 `xml:"total_free_tracks" json:"total_free_tracks"`
TotalTracksMB float32 `xml:"total_tracks_mb" json:"total_tracks_mb"`
TotalUsedTracksMB float32 `xml:"total_used_tracks_mb" json:"total_used_tracks_mb"`
TotalFreeTracksMB float32 `xml:"total_free_tracks_mb" json:"total_free_tracks_mb"`
TotalTracksGB float32 `xml:"total_tracks_gb" json:"total_tracks_gb"`
TotalUsedTracksGB float32 `xml:"total_used_tracks_gb" json:"total_used_tracks_gb"`
TotalFreeTracksGB float32 `xml:"total_free_tracks_gb" json:"total_free_tracks_gb"`
TotalTracksTB float32 `xml:"total_tracks_tb" json:"total_tracks_tb"`
TotalUsedTracksTB float32 `xml:"total_used_tracks_tb" json:"total_used_tracks_tb"`
TotalFreeTracksTB float32 `xml:"total_free_tracks_tb" json:"total_free_tracks_tb"`
PercentFull int `xml:"percent_full" json:"percent_full"`
}
type DirInfo ¶
type DirInfo struct {
XMLName xml.Name `xml:"Dir_Info" json:"-"`
Id string `xml:"id" json:"id"`
Type string `xml:"type" json:"type"`
Status string `xml:"status" json:"status"`
Cores int `xml:"cores" json:"cores"`
EngineNum int `xml:"engine_num" json:"engine_num"`
Ports int `xml:"ports" json:"ports"`
Number int `xml:"number" json:"number"`
Slot int `xml:"slot" json:"slot"`
}
type DirPort ¶
type DirPort struct {
XMLName xml.Name `xml:"Port" json:"-"`
PortInfo DirPortInfo `xml:"Port_Info" json:"Port_Info"`
}
type DirPortInfo ¶
type DirPortInfo struct {
XMLName xml.Name `xml:"Port_Info" json:"-"`
Port int `xml:"port" json:"port"`
PortWWN string `xml:"port_wwn" json:"port_wwn"`
PortStatus string `xml:"port_status" json:"port_status"`
NegociatedSpeed string `xml:"negociated_speed" json:"negociated_speed"`
MaximumSpeed string `xml:"maximum_speed" json:"maximum_speed"`
}
type DirectorIdentification ¶
type DiskGroup ¶
type DiskGroup struct {
XMLName xml.Name `xml:"Disk_Group" json:"-"`
DiskGroupInfo DiskGroupInfo `xml:"Disk_Group_Info" json:"Disk_Group_Info"`
DiskGroupTotals DiskGroupTotals `xml:"Disk_Group_Totals" json:"Disk_Group_Totals"`
}
type DiskGroupInfo ¶
type DiskGroupInfo struct {
XMLName xml.Name `xml:"Disk_Group_Info" json:"-"`
DiskGroupNumber int `xml:"disk_group_number" json:"disk_group_number"`
DiskGroupName string `xml:"disk_group_name" json:"disk_group_name"`
DiskLocation string `xml:"disk_location" json:"disk_location"`
DisksSelected int `xml:"disks_selected" json:"disks_selected"`
Technology string `xml:"technology" json:"technology"`
Speed int `xml:"speed" json:"speed"`
FormFactor string `xml:"form_factor" json:"form_factor"`
HyperSizeMegabytes int64 `xml:"hyper_size_megabytes" json:"hyper_size_megabytes"`
HyperSizeGigabytes float64 `xml:"hyper_size_gigabytes" json:"hyper_size_gigabytes"`
HyperSizeTerabytes float64 `xml:"hyper_size_terabytes" json:"hyper_size_terabytes"`
MaxHypersPerDisk int `xml:"max_hypers_per_disk" json:"max_hypers_per_disk"`
DiskSizeMegabytes int64 `xml:"disk_size_megabytes" json:"disk_size_megabytes"`
DiskSizeGigabytes float64 `xml:"disk_size_gigabytes" json:"disk_size_gigabytes"`
DiskSizeTerabytes float64 `xml:"disk_size_terabytes" json:"disk_size_terabytes"`
RatedDiskSizeGigabytes int64 `xml:"rated_disk_size_gigabytes" json:"rated_disk_size_gigabytes"`
RatedDiskSizeTerabytes float64 `xml:"rated_disk_size_terabytes" json:"rated_disk_size_terabytes"`
}
type DiskGroupSummaryTotals ¶
type DiskGroupTotals ¶
type FrontEndPort ¶
type InitiatorGroup ¶
type InitiatorGroup struct {
XMLName xml.Name `xml:"Initiator_Group" json:"-"`
GroupInfo InitiatorGroupInfo `xml:"Group_Info" json:"Group_Info"`
}
type InitiatorGroupInfo ¶
type InitiatorGroupInfo struct {
XMLName xml.Name `xml:"Group_Info" json:"-"`
GroupName string `xml:"group_name" json:"group_name"`
ConsistentLUN string `xml:"consistent_lun" json:"consistent_lun"`
DevCount int `xml:"dev_count" json:"dev_count"`
SGCount int `xml:"sg_count" json:"sg_count"`
ViewCount int `xml:"view_count" json:"view_count"`
LastUpdated string `xml:"last_updated" json:"last_updated"`
MaskViewNames MaskViewNames `xml:"Mask_View_Names" json:"Mask_View_Names"`
Status string `xml:"status" json:"status"`
}
type InitiatorList ¶
type MaskViewNames ¶
type MaskingDump ¶
type MaskingDump struct {
InitiatorGroups []MaskingDumpIG `json:"ig"`
StorageGroups []MaskingDumpSG `json:"sg"`
Gatekeepers []MaskingDumpGK `json:"gk"`
Devices []MaskingDumpDev `json:"dev"`
Views []MaskingDumpView `json:"mv"`
}
Dump/Restore of masking views
type MaskingDumpDev ¶
type MaskingDumpDev struct {
Name string `json:"name"`
Size string `json:"size"`
StorageGroup string `json:"sg"`
Results []Result `json:"result"`
}
Dump/Restore of masking views
type MaskingDumpGK ¶
type MaskingDumpGK struct {
StorageGroup string `json:"sg"`
Count *int `json:"count"`
Results []Result `json:"result"`
}
Dump/Restore of masking views
type MaskingDumpIG ¶
type MaskingDumpIG struct {
Name string `json:"name"`
HBAIds []string `json:"hba_ids"`
InitiatorGroups []string `json:"igs"`
Consistent *bool `json:"consistent"`
Results []Result `json:"result"`
}
Dump/Restore of masking views
type MaskingDumpSG ¶
type MaskingDumpSG struct {
Name string `json:"name"`
SRP string `json:"srp"`
SLO string `json:"slo"`
StorageGroups []string `json:"sg"`
Results []Result `json:"result"`
}
Dump/Restore of masking views
type MaskingDumpView ¶
type MaskingDumpView struct {
Name string `json:"name"`
PortIds []string `json:"pg"`
StorageGroupNames []string `json:"sgs"`
InitiatorGroupNames []string `json:"igs"`
Results []Result `json:"result"`
}
Dump/Restore of masking views
type MaskingView ¶
type OptAddDisk ¶
type OptAddThinDev ¶
type OptCreatePair ¶
type OptDelDisk ¶
type OptDelThinDev ¶
type OptDeletePair ¶
type OptFreeThinDev ¶
type OptMapDisk ¶
type OptRenameDisk ¶
type OptSetSRDFMode ¶
type OptUnmapDisk ¶
type PortGroup ¶
type PortGroup struct {
XMLName xml.Name `xml:"Port_Group" json:"-"`
GroupInfo PortGroupInfo `xml:"Group_Info" json:"Group_Info"`
}
type PortGroupInfo ¶
type PortGroupInfo struct {
XMLName xml.Name `xml:"Group_Info" json:"-"`
GroupName string `xml:"group_name" json:"group_name"`
PortCount int `xml:"port_count" json:"port_count"`
ViewCount int `xml:"view_count" json:"view_count"`
LastUpdated string `xml:"last_updated" json:"last_updated"`
MaskViewNames MaskViewNames `xml:"Mask_View_Names" json:"Mask_View_Names"`
}
type PortInfo ¶
type PortInfo struct {
XMLName xml.Name `xml:"port_info" json:"-"`
DirectorIdentifications []DirectorIdentification `xml:"Director_Identification" json:"Director_Identification"`
}
type Product ¶
type Product struct {
XMLName xml.Name `xml:"Product" json:"-"`
Vendor string `xml:"vendor" json:"vendor"`
Name string `xml:"name" json:"name"`
Revision string `xml:"revision" json:"revision"`
SerialId string `xml:"serial_id" json:"serial_id"`
SymId string `xml:"symid" json:"symid"`
WWN string `xml:"wwn" json:"wwn"`
DeviceId string `xml:"device_id" json:"device_id"`
}
type RDF ¶
type RDF struct {
XMLName xml.Name `xml:"RDF" json:"-"`
Info RDFInfo `xml:"RDF_Info" json:"RDF_Info"`
Mode RDFMode `xml:"Mode" json:"Mode"`
Link RDFLink `xml:"Link" json:"Link"`
Local RDFLocal `xml:"Local" json:"Local"`
Remote RDFRemote `xml:"Remote" json:"Remote"`
RDFAInfo RDFAInfo `xml:"RdfaInfo" json:"RdfaInfo"`
}
type RDFGroup ¶
type RDFGroup struct {
XMLName xml.Name `xml:"RdfGroup" json:"-"`
RAGroupNum int `xml:"ra_group_num" json:"ra_group_num"`
RemoteRAGroupNum int `xml:"remote_ra_group_num" json:"remote_ra_group_num"`
RemoteSymId string `xml:"remote_symid" json:"remote_symid"`
RDFMetro string `xml:"rdf_metro" json:"rdf_metro"`
RDFGroupType string `xml:"rdf_group_type" json:"rdf_group_type"`
}
type RDFInfo ¶
type RDFInfo struct {
XMLName xml.Name `xml:"RDF_Info" json:"-"`
PairState string `xml:"pair_state" json:"pair_state"`
SuspendState string `xml:"suspend_state" json:"suspend_state"`
ConsistencyState string `xml:"consistency_state" json:"consistency_state"`
ConsistencyExemptState string `xml:"consistency_exempt_state" json:"consistency_exempt_state"`
ConfigRDFAWPaceExemptState string `xml:"config_rdfa_wpace_exempt_state" json:"config_rdfa_wpace_exempt_state"`
EffectiveRDFAWPaceExemptState string `xml:"effective_rdfa_wpace_exempt_state" json:"effective_rdfa_wpace_exempt_state"`
WPaceInfo WPaceInfo `xml:"WPace_Info" json:"WPace_Info"`
R1Invalids int `xml:"r1_invalids" json:"r1_invalids"`
R2Invalids int `xml:"r2_invalids" json:"r2_invalids"`
R2LargerThanR1 bool `xml:"r2_larger_than_r1" json:"r2_larger_than_r1"`
R1R2DeviceSize string `xml:"r1_r2_device_size" json:"r1_r2_device_size"`
PairedWithDiskless bool `xml:"paired_with_diskless" json:"paired_with_diskless"`
PairedWithConcurrent bool `xml:"paired_with_concurrent" json:"paired_with_concurrent"`
PairedWithCascaded bool `xml:"paired_with_cascaded" json:"paired_with_cascaded"`
ThickThinRelationship bool `xml:"thick_thin_relationship" json:"thick_thin_relationship"`
R2NotReadIfInvalid string `xml:"r2_not_ready_if_invalid" json:"r2_not_ready_if_invalid"`
PairConfiguration string `xml:"pair_configuration" json:"pair_configuration"`
}
type RDFMode ¶
type RDFMode struct {
XMLName xml.Name `xml:"Mode" json:"-"`
Mode string `xml:"mode" json:"mode"`
AdaptativeCopy string `xml:"adaptative_copy" json:"adaptative_copy"`
AdaptativeCopyWritePending string `xml:"adaptative_copy_write_pending" json:"adaptative_copy_write_pending"`
AdaptativeCopySkew int `xml:"adaptative_copy_skew" json:"adaptative_copy_skew"`
DeviceDomino string `xml:"device_domino" json:"device_domino"`
StarMode bool `xml:"star_mode" json:"star_mode"`
SqarMode bool `xml:"sqar_mode" json:"sqar_mode"`
}
type Result ¶
type Result struct {
Cmd []string `json:"cmd"`
Ret int `json:"ret"`
Out string `json:"out"`
Err string `json:"err"`
}
Dump/Restore of masking views
type SGChildInfo ¶
type SRPInfo ¶
type SRPInfo struct {
XMLName xml.Name `xml:"SRP_Info" json:"-"`
Name string `xml:"name" json:"name"`
DefaultSRP string `xml:"default_SRP" json:"default_SRP"`
EffectiveUsedCapacityPct int `xml:"effective_used_capacity_pct" json:"effective_used_capacity_pct"`
UsedCapacityGigabytes float64 `xml:"used_capacity_gigabytes" json:"used_capacity_gigabytes"`
UsedCapacityTerabytes float64 `xml:"used_capacity_terabytes" json:"used_capacity_terabytes"`
AllocatedCapacityGigabytes float64 `xml:"allocated_capacity_gigabytes" json:"allocated_capacity_gigabytes"`
AllocatedCapacityTerabytes float64 `xml:"allocated_capacity_terabytes" json:"allocated_capacity_terabytes"`
FreeCapacityGigabytes float64 `xml:"free_capacity_gigabytes" json:"free_capacity_gigabytes"`
FreeCapacityTerabytes float64 `xml:"free_capacity_terabytes" json:"free_capacity_terabytes"`
UsableCapacityGigabytes float64 `xml:"usable_capacity_gigabytes" json:"usable_capacity_gigabytes"`
UsableCapacityTerabytes float64 `xml:"usable_capacity_terabytes" json:"usable_capacity_terabytes"`
SubscribedCapacityGigabytes float64 `xml:"subscribed_capacity_gigabytes" json:"subscribed_capacity_gigabytes"`
SubscribedCapacityTerabytes float64 `xml:"subscribed_capacity_terabytes" json:"subscribed_capacity_terabytes"`
UserSubscribedCapacityGigabytes float64 `xml:"user_subscribed_capacity_gigabytes" json:"user_subscribed_capacity_gigabytes"`
UserSubscribedCapacityTerabytes float64 `xml:"user_subscribed_capacity_terabytes" json:"user_subscribed_capacity_terabytes"`
SystemSubscribedCapacityGigabytes float64 `xml:"system_subscribed_capacity_gigabytes" json:"system_subscribed_capacity_gigabytes"`
SystemSubscribedCapacityTerabytes float64 `xml:"system_subscribed_capacity_terabytes" json:"system_subscribed_capacity_terabytes"`
SubscribedCapacityPct nullable.Int `xml:"subscribed_capacity_pct" json:"subscribed_capacity_pct"`
ResvCap int `xml:"resv_cap" json:"resv_cap"`
DiskGroups []SRPInfoDiskGroup `xml:"DiskGroup" json:"disk_groups"`
}
type SRPInfoDiskGroup ¶
type SRPInfoDiskGroup struct {
XMLName xml.Name `xml:"Disk_Group" json:"-"`
DiskGroupInfo SRPInfoDiskGroupInfo `xml:"Disk_Group_Info" json:"Disk_Group_Info"`
}
type SRPInfoDiskGroupInfo ¶
type SRPInfoDiskGroupInfo struct {
XMLName xml.Name `xml:"Disk_Group_Info" json:"-"`
DiskGroupNumber int `xml:"disk_group_number" json:"disk_group_number"`
DiskGroupName string `xml:"disk_group_name" json:"disk_group_name"`
DiskGroupStatus string `xml:"disk_group_status" json:"disk_group_status"`
Technology string `xml:"technology" json:"technology"`
DiskLocation string `xml:"disk_location" json:"disk_location"`
Speed string `xml:"speed" json:"speed"`
FBAPct int `xml:"fba_pct" json:"fba_pct"`
CKDPct int `xml:"ckd_pct" json:"ckd_pct"`
UsableCapacityGigabytes float64 `xml:"usable_capacity_gigabytes" json:"usable_capacity_gigabytes"`
UsableCapacityTerabytes float64 `xml:"usable_capacity_terabytes" json:"usable_capacity_terabytes"`
Product string `xml:"product" json:"product"`
ArrayId string `xml:"array_id" json:"array_id"`
}
type ShowPortGroup ¶
type ShowPortGroup struct {
XMLName xml.Name `xml:"Port_Group" json:"-"`
GroupInfo ShowPortGroupInfo `xml:"Group_Info" json:"Group_Info"`
}
func (ShowPortGroup) HasAllPortOf ¶
func (t ShowPortGroup) HasAllPortOf(tgtIds []string) bool
func (ShowPortGroup) HasPort ¶
func (t ShowPortGroup) HasPort(tgtId string) bool
type ShowPortGroupInfo ¶
type ShowPortGroupInfo struct {
XMLName xml.Name `xml:"Group_Info" json:"-"`
GroupName string `xml:"group_name" json:"group_name"`
LastUpdated string `xml:"last_updated" json:"last_updated"`
DirectorIdentifications []DirectorIdentification `xml:"Director_Identification" json:"Director_Identification"`
}
type StorageGroup ¶
type StorageGroup struct {
XMLName xml.Name `xml:"Storage_Group" json:"-"`
GroupInfo StorageGroupInfo `xml:"Group_Info" json:"Group_Info"`
}
type StorageGroupInfo ¶
type StorageGroupInfo struct {
XMLName xml.Name `xml:"Group_Info" json:"-"`
GroupName string `xml:"group_name" json:"group_name"`
DevCount int `xml:"dev_count" json:"dev_count"`
SGCount int `xml:"sg_count" json:"sg_count"`
ViewCount int `xml:"view_count" json:"view_count"`
LastUpdated string `xml:"last_updated" json:"last_updated"`
MaskViewNames MaskViewNames `xml:"Mask_View_Names" json:"Mask_View_Names"`
CascadedViewNames CascadedViewNames `xml:"Cascaded_View_Names" json:"Cascaded_View_Names"`
Status string `xml:"status" json:"status"`
}
type SymmInfo ¶
type SymmInfo struct {
XMLName xml.Name `xml:"Symm_Info" json:"-"`
SymId string `xml:"symid" json:"symid"`
Attachment string `xml:"attachment" json:"attachment"`
Model string `xml:"model" json:"model"`
MicrocodeVersion string `xml:"microcode_version" json:"microcode_version"`
CacheMegabytes int64 `xml:"cache_megabytes" json:"cache_megabytes"`
PhysicalDevices int `xml:"physical_devices" json:"physical_devices"`
}
type SymmInfoShort ¶
type ThinDev ¶
type ThinDev struct {
XMLName xml.Name `xml:"Device" json:"-"`
DevName string `xml:"dev_name" json:"dev_name"`
DevEmul string `xml:"dev_emul" json:"dev_emul"`
MultiPool string `xml:"multi_pool" json:"multi_pool"`
PersistTracks int64 `xml:"persist_tracks" json:"persist_tracks"`
TotalTracks int64 `xml:"total_tracks" json:"total_tracks"`
AllocTracks int64 `xml:"alloc_tracks" json:"alloc_tracks"`
UnreducibleTracks int64 `xml:"unreducible_tracks" json:"unreducible_tracks"`
WrittenTracks int64 `xml:"written_tracks" json:"written_tracks"`
CompressedTracks int64 `xml:"compressed_tracks" json:"compressed_tracks"`
ExclusiveAllocTracks int64 `xml:"exclusive_alloc_tracks" json:"exclusive_alloc_tracks"`
}
type ViewDevice ¶
type ViewDevice struct {
XMLName xml.Name `xml:"Device" json:"-"`
DevName string `xml:"dev_name" json:"dev_name"`
DevPortInfo []DevPortInfo `xml:"dev_port_info" json:"dev_port_info"`
}
type ViewInfo ¶
type ViewInfo struct {
XMLName xml.Name `xml:"View_Info" json:"-"`
Name string `xml:"view_name" json:"view_name"`
LastUpdated string `xml:"last_updated" json:"last_updated"`
InitGrpName string `xml:"init_grpname" json:"init_grpname"`
PortGrpName string `xml:"port_grpname" json:"port_grpname"`
StorGrpName string `xml:"stor_grpname" json:"stor_grpname"`
PortInfo PortInfo `xml:"port_info" json:"port_info"`
SGChildInfo SGChildInfo `xml:"SG_Child_info" json:"SG_Child_info"`
InitiatorList InitiatorList `xml:"Initiator_List" json:"Initiator_List"`
Devices []ViewDevice `xml:"Device" json:"Device"`
}
type WPaceInfo ¶
type WPaceInfo struct {
XMLName xml.Name `xml:"WPace_Info" json:"-"`
PacingCapable string `xml:"pacing_capable" json:"pacing_capable"`
ConfigRDFAWPaceExemptState string `xml:"config_rdfa_wpace_exempt_state" json:"config_rdfa_wpace_exempt_state"`
EffectiveRDFAWPaceExemptState string `xml:"effective_rdfa_wpace_exempt_state" json:"effective_rdfa_wpace_exempt_state"`
RDFAWPaceState string `xml:"rdfa_wpace_state" json:"rdfa_wpace_state"`
RDFADevPaceState string `xml:"rdfa_devpace_state" json:"rdfa_devpace_state"`
}
type XSymAccessListDevInitiator ¶
type XSymAccessListDevInitiator struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymAccessListDevInitiatorSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymAccessListDevInitiatorSymmetrix ¶
type XSymAccessListDevInitiatorSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
InitiatorGroups []InitiatorGroup `xml:"Initiator_Group" json:"Initiator_Group"`
}
type XSymAccessListDevStorage ¶
type XSymAccessListDevStorage struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymAccessListDevStorageSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymAccessListDevStorageSymmetrix ¶
type XSymAccessListDevStorageSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
StorageGroups []StorageGroup `xml:"Storage_Group" json:"Storage_Group"`
}
type XSymAccessListPort ¶
type XSymAccessListPort struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymAccessListPortSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymAccessListPortSymmetrix ¶
type XSymAccessListPortSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
PortGroups []PortGroup `xml:"Port_Group" json:"Port_Group"`
}
type XSymAccessListViewDetail ¶
type XSymAccessListViewDetail struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymAccessListViewDetailSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymAccessListViewDetailSymmetrix ¶
type XSymAccessListViewDetailSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
MaskingViews []MaskingView `xml:"Masking_View" json:"Masking_View"`
}
type XSymAccessShowPort ¶
type XSymAccessShowPort struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymAccessShowPortSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymAccessShowPortSymmetrix ¶
type XSymAccessShowPortSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
PortGroup ShowPortGroup `xml:"Port_Group" json:"Port_Group"`
}
type XSymCfgDirList ¶
type XSymCfgDirList struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymCfgDirListSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymCfgDirListSymmetrix ¶
type XSymCfgList ¶
type XSymCfgList struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymCfgListSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymCfgListSymmetrix ¶
type XSymCfgPoolList ¶
type XSymCfgPoolList struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymCfgPoolListSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymCfgPoolListSymmetrix ¶
type XSymCfgPoolListSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
DevicePools []DevicePool `xml:"DevicePool" json:"device_pools"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
}
type XSymCfgRDFGList ¶
type XSymCfgRDFGList struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymCfgRDFGListSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymCfgRDFGListSymmetrix ¶
type XSymCfgRDFGListSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
RDFGroups []RDFGroup `xml:"RdfGroup" json:"rdf_groups"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
}
type XSymCfgSLOList ¶
type XSymCfgSLOList struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymCfgSLOListSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymCfgSLOListSymmetrix ¶
type XSymCfgSLOListSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
SLOs []SLO `xml:"SLO" json:"SLO"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
}
type XSymCfgSRPList ¶
type XSymCfgSRPList struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymCfgSRPListSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymCfgSRPListSymmetrix ¶
type XSymCfgSRPListSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
SRPs []SRP `xml:"SRP" json:"SRP"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
}
type XSymDevList ¶
type XSymDevList struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymDevListSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymDevListSymmetrix ¶
type XSymDevListSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
Devices []Device `xml:"Device" json:"devices"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
}
type XSymDevListThinDevs ¶
type XSymDevListThinDevs struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymDevListThinDevsSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymDevListThinDevsSymmetrix ¶
type XSymDevListThinDevsSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
ThinDevs []ThinDev `xml:"ThinDevs" json:"ThinDevs"`
}
type XSymDevShow ¶
type XSymDevShow struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymDevShowSymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymDevShowSymmetrix ¶
type XSymDevShowSymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
Devices []Device `xml:"Device" json:"Device"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
}
type XSymDiskListDiskGroupSummary ¶
type XSymDiskListDiskGroupSummary struct {
XMLName xml.Name `xml:"SymCLI_ML" json:"-"`
Symmetrix XSymDiskListDiskGroupSummarySymmetrix `xml:"Symmetrix" json:"Symmetrix"`
}
type XSymDiskListDiskGroupSummarySymmetrix ¶
type XSymDiskListDiskGroupSummarySymmetrix struct {
XMLName xml.Name `xml:"Symmetrix" json:"-"`
DiskGroups []DiskGroup `xml:"Disk_Group" json:"Disk_Group"`
SymmInfo SymmInfoShort `xml:"Symm_Info" json:"Symm_Info"`
DiskGroupSummaryTotals DiskGroupSummaryTotals `xml:"Disk_Group_Summary_Totals" json:"Disk_Group_Summary_Totals"`
}
type XSymSGList ¶
Click to show internal directories.
Click to hide internal directories.