Documentation ¶
Index ¶
- Constants
- type AggrInfo
- type AggrInodeAttributes
- type AggrListPagesResponse
- type AggrListResponse
- type AggrOptions
- type AggrOwnershipAttributes
- type AggrRaidAttributes
- type AggrSpaceAttributes
- type AggrSpaceInfo
- type AggrSpaceInfoQuery
- type AggrSpaceListResponse
- type AggrSpaceOptions
- type AggrSpareDiskInfo
- type AggrSpareDiskInfoQuery
- type AggrSparesListPagesResponse
- type AggrSparesListResponse
- type AggrSparesOptions
- type Aggregate
- type AggregatePageHandler
- type AggregateSpace
- type AggregateSpares
- type AggregateSparesPageHandler
- type AsyncResultBase
- type Base
- type Cf
- type Client
- type ClientOptions
- type ClusterFailoverInfoOptions
- type ClusterFailoverInfoPagesResponse
- type ClusterFailoverInfoResponse
- type ClusterIdentity
- type ClusterIdentityInfo
- type ClusterIdentityOptions
- type ClusterIdentityResponse
- type Diagnosis
- type DiagnosisAlertInfo
- type DiagnosisAlertPagesResponse
- type DiagnosisListResponse
- type DiagnosisOptions
- type DiagnosisPageHandler
- type DiagnosisQuery
- type DiskInventoryInfo
- type DiskOwnershipInfo
- type ExportRuleListResponse
- type ExportRuleQuery
- type Fcp
- type FcpAdapterConfigGetIterResponse
- type FcpAdapterConfigInfo
- type FcpAdapterConfigOptions
- type FcpAdapterConfigPageHandler
- type FcpAdapterConfigPageResponse
- type FcpAdapterConfigQuery
- type Fcport
- type FcportGetLinkStateOptions
- type FcportGetLinkStateResponse
- type FcportLinkStateInfo
- type GivebackRelatedInfo
- type InstanceData
- type InstanceInfo
- type InstanceInfoQuery
- type InterconnectRelatedInfo
- type Job
- type JobEntry
- type JobHistoryInfo
- type JobHistoryOptions
- type JobListResponse
- type JobOptions
- type JobResponse
- type Lun
- type LunCreateOptions
- type LunInfo
- type LunListPagesResponse
- type LunListResponse
- type LunOperation
- func (l LunOperation) Create(vserverName string, options *LunCreateOptions) (*SingleResultResponse, *http.Response, error)
- func (l LunOperation) Map(vserverName string, lunPathName string, initiatorGroup string) (*SingleResultResponse, *http.Response, error)
- func (l LunOperation) Operation(vserverName string, lunPathName string, operation string) (*SingleResultResponse, *http.Response, error)
- func (l LunOperation) Unmap(vserverName string, lunPathName string, initiatorGroup string) (*SingleResultResponse, *http.Response, error)
- type LunOptions
- type LunPageHandler
- type LunQuery
- type Net
- func (n Net) CreateBroadcastDomain(createOptions *NetBroadcastDomainCreateOptions) (*NetBroadcastDomainCreateResponse, *http.Response, error)
- func (n Net) CreateIPSpace(name string, returnRecord bool) (*NetIPSpaceResponse, *http.Response, error)
- func (n Net) CreateNetInterface(options *NetInterfaceInfo) (*SingleResultResponse, *http.Response, error)
- func (n Net) CreateRoute(vServerName string, options *NetRoutesInfo) (*NetRoutesResponse, *http.Response, error)
- func (n Net) CreateVlan(options *NetVlanInfo) (*SingleResultResponse, *http.Response, error)
- func (n Net) DeleteBroadcastDomain(domain string, ipSpace string) (*NetBroadcastDomainCreateResponse, *http.Response, error)
- func (n Net) DeleteIPSpace(name string) (*NetIPSpaceResponse, *http.Response, error)
- func (n Net) DeleteNetInterface(vServerName string, lif string) (*SingleResultResponse, *http.Response, error)
- func (n Net) DeleteRoute(vServerName string, destination string, gateway string) (*SingleResultResponse, *http.Response, error)
- func (n Net) DeleteVlan(options *NetVlanInfo) (*SingleResultResponse, *http.Response, error)
- func (n Net) GetBroadcastDomain(domain string, ipSpace string) (*NetBroadcastDomainResponse, *http.Response, error)
- func (n Net) GetIPSpace(name string) (*NetIPSpaceResponse, *http.Response, error)
- func (n Net) GetVlan(interfaceName string, node string) (*NetVlanResponse, *http.Response, error)
- func (n Net) ListIPSpaces(query *NetIPSpaceInfo) (*NetIPSpaceListResponse, *http.Response, error)
- func (n Net) ListVlans(info *NetVlanInfo) (*NetVlanListResponse, *http.Response, error)
- func (n *Net) NetInterfaceGetAll(options *NetInterfaceOptions, fn NetInterfacePageHandler)
- func (n *Net) NetInterfaceGetIter(options *NetInterfaceOptions) (*NetInterfaceGetIterResponse, *http.Response, error)
- func (n *Net) NetPortGetAll(options *NetPortOptions, fn NetPortPageHandler)
- func (n *Net) NetPortGetIter(options *NetPortOptions) (*NetPortGetIterResponse, *http.Response, error)
- func (n Net) RenameIPSpace(name string, newName string) (*NetIPSpaceResponse, *http.Response, error)
- type NetBroadcastDomainCreateOptions
- type NetBroadcastDomainCreateResponse
- type NetBroadcastDomainInfo
- type NetBroadcastDomainOptions
- type NetBroadcastDomainResponse
- type NetIPSpaceInfo
- type NetIPSpaceListResponse
- type NetIPSpaceOptions
- type NetIPSpaceResponse
- type NetInterfaceGetIterResponse
- type NetInterfaceInfo
- type NetInterfaceOptions
- type NetInterfacePageHandler
- type NetInterfacePageResponse
- type NetInterfaceQuery
- type NetPortGetIterResponse
- type NetPortInfo
- type NetPortOptions
- type NetPortPageHandler
- type NetPortPageResponse
- type NetPortQuery
- type NetPortUpdateInfo
- type NetRoutesInfo
- type NetRoutesResponse
- type NetVlanInfo
- type NetVlanListResponse
- type NetVlanOptions
- type NetVlanResponse
- type NodeDetailOptions
- type NodeDetails
- type NodeDetailsPageHandler
- type NodeDetailsPagesResponse
- type NodeDetailsQuery
- type NodeDetailsResponse
- type NodeRelatedInfo
- type Perf
- func (p *Perf) PerfObjectGetInstances(params *PerfObjectGetInstanceParams) (*PerfObjectGetInstancesResponse, *http.Response, error)
- func (p *Perf) PerfObjectInstanceGetAllInfo(options *PerfObjectInstanceListInfoIterParams, ...)
- func (p *Perf) PerfObjectInstanceListInfoIter(params *PerfObjectInstanceListInfoIterParams) (*PerfObjectInstanceListInfoIterResponse, *http.Response, error)
- type PerfCounterData
- type PerfCounters
- type PerfObjectGetInstanceParams
- type PerfObjectGetInstancesResponse
- type PerfObjectInstanceData
- type PerfObjectInstanceListInfoHandler
- type PerfObjectInstanceListInfoIterParams
- type PerfObjectInstanceListInfoIterResponse
- type PerfObjectInstanceListInfoPageResponse
- type QosPolicy
- func (qp QosPolicy) ChangeIops(iops string, qosPolicyName string) (*QosPolicyResponse, *http.Response, error)
- func (qp QosPolicy) Create(query *QosPolicyInfo) (*QosPolicyResponse, *http.Response, error)
- func (qp QosPolicy) Delete(name string, force bool) (*QosPolicyResponse, *http.Response, error)
- func (qp QosPolicy) Get(name string, query *QosPolicyInfo) (*QosPolicyResponse, *http.Response, error)
- func (qp QosPolicy) Rename(info *QosPolicyRenameInfo) (*QosPolicyResponse, *http.Response, error)
- type QosPolicyInfo
- type QosPolicyRenameInfo
- type QosPolicyResponse
- type Qtree
- func (q *Qtree) Create(vserverName, volume, qtree string, info *QtreeInfo) (*QtreeListResponse, *http.Response, error)
- func (q *Qtree) Delete(vserverName, volName, qtreeName string, force bool) (*QtreeListResponse, *http.Response, error)
- func (q *Qtree) DeleteAsync(vserverName, volName, qtreeName string) (*QtreeListResponse, *http.Response, error)
- func (q *Qtree) List(options *QtreeOptions) (*QtreeListResponse, *http.Response, error)
- type QtreeInfo
- type QtreeListResponse
- type QtreeOptions
- type QtreeQuery
- type Quota
- func (q *Quota) Create(serverName, target, quotaType, qtree string, entry *QuotaEntry) (*QuotaListResponse, *http.Response, error)
- func (q *Quota) Delete(serverName, target, quotaType, volume, qtree string) (*QuotaListResponse, *http.Response, error)
- func (q *Quota) Get(name string, options *QuotaOptions) (*QuotaResponse, *http.Response, error)
- func (q *Quota) List(options *QuotaOptions) (*QuotaListResponse, *http.Response, error)
- func (q *Quota) Off(serverName, volumeName string) (*QuotaStatusResponse, *http.Response, error)
- func (q *Quota) On(serverName, volumeName string) (*QuotaStatusResponse, *http.Response, error)
- func (q *Quota) Status(serverName, volumeName string) (*QuotaStatusResponse, *http.Response, error)
- func (q *Quota) Update(serverName string, entry *QuotaEntry) (*QuotaListResponse, *http.Response, error)
- type QuotaEntry
- type QuotaListResponse
- type QuotaOptions
- type QuotaQuery
- type QuotaReport
- type QuotaReportEntry
- type QuotaReportEntryQuery
- type QuotaReportOptions
- type QuotaReportPageHandler
- type QuotaReportPagesResponse
- type QuotaReportResponse
- type QuotaResponse
- type QuotaStatus
- type QuotaStatusEntry
- type QuotaStatusEntryQuery
- type QuotaStatusIterOptions
- type QuotaStatusIterResponse
- type QuotaStatusPageHandler
- type QuotaStatusPagesResponse
- type QuotaStatusResponse
- type Result
- type ResultBase
- type SingleResultBase
- type SingleResultResponse
- type Snapmirror
- func (s Snapmirror) AbortBy(query *SnapmirrorInfo, continueOnFailure bool) (*SnapmirrorIterResponse, *http.Response, error)
- func (s Snapmirror) Create(vServerName string, attributes *SnapmirrorInfo) (*SingleResultResponse, *http.Response, error)
- func (s Snapmirror) DestroyBy(query *SnapmirrorInfo, continueOnFailure bool) (*SnapmirrorIterResponse, *http.Response, error)
- func (s Snapmirror) Get(vServerName string, sourcePath string, destinationPath string, ...) (*SnapmirrorResponse, *http.Response, error)
- func (s Snapmirror) InitializeLSSet(vServerName string, sourcePath string) (*SnapmirrorAsyncResponse, *http.Response, error)
- func (s Snapmirror) UpdateLSSet(vServerName string, sourcePath string) (*SnapmirrorAsyncResponse, *http.Response, error)
- type SnapmirrorAsyncResponse
- type SnapmirrorInfo
- type SnapmirrorIterResponse
- type SnapmirrorResponse
- type Snapshot
- type SnapshotInfo
- type SnapshotListPagesResponse
- type SnapshotListResponse
- type SnapshotOptions
- type SnapshotPageHandler
- type SnapshotQuery
- type StorageDisk
- type StorageDiskGetAllPageHandler
- type StorageDiskGetIterResponse
- type StorageDiskInfo
- type StorageDiskInfoPageResponse
- type StorageDiskOptions
- type StorageFailoverInfo
- type StorageFailoverInfoPageHandler
- type StorageFailoverInfoQuery
- type System
- type TakeoverRelatedInfo
- type VServer
- func (v VServer) AddInitiator(vServerName string, iGroupName string, initiator string) (*VServerIgroupsResponse, *http.Response, error)
- func (v VServer) Create(options *VServerInfo) (*VServerAsyncResponse, *http.Response, error)
- func (v VServer) CreateExportRule(vServerName string, options *VServerExportRuleInfo) (*VServerExportsResponse, *http.Response, error)
- func (v VServer) CreateNfsService(vServerName string, options *VServerNfsCreateOptions) (*SingleResultResponse, *http.Response, error)
- func (v VServer) Delete(name string) (*VServerListResponse, *http.Response, error)
- func (v VServer) DeleteExportRule(vServerName string, policyName string, ruleIndex int) (*VServerExportsResponse, *http.Response, error)
- func (v VServer) Get(name string, options *VServerOptions) (*VServerResponse, *http.Response, error)
- func (v VServer) List(options *VServerOptions) (*VServerListResponse, *http.Response, error)
- func (v VServer) ListExportRules(vServerName string) (*ExportRuleListResponse, *http.Response, error)
- func (v VServer) Modify(name string, options *VServerInfo) (*SingleResultResponse, *http.Response, error)
- func (v VServer) RemoveInitiator(vServerName string, iGroupName string, initiator string, force bool) (*VServerIgroupsResponse, *http.Response, error)
- type VServerAsyncResponse
- type VServerExportRuleInfo
- type VServerExportsResponse
- type VServerIgroupInfo
- type VServerIgroupsResponse
- type VServerInfo
- type VServerListResponse
- type VServerNfsCreateOptions
- type VServerOptions
- type VServerQuery
- type VServerResponse
- type Volume
- type VolumeAntivirusAttributes
- type VolumeAutobalanceAttributes
- type VolumeAutosizeAttributes
- type VolumeCreateOptions
- type VolumeDirectoryAttributes
- type VolumeExportAttributes
- type VolumeHybridCacheAttributes
- type VolumeIDAttributes
- type VolumeInfo
- type VolumeInodeAttributes
- type VolumeLanguageAttributes
- type VolumeListPagesResponse
- type VolumeListResponse
- type VolumeMirrorAttributes
- type VolumeModifyInfo
- type VolumeModifyOptions
- type VolumeModifyResponce
- type VolumeOperation
- type VolumeOptions
- type VolumePageHandler
- type VolumePerformanceAttributes
- type VolumeQosAttributes
- type VolumeQuery
- type VolumeSecurityAttributes
- type VolumeSisAttributes
- type VolumeSnaplockAttributes
- type VolumeSnapshotAttributes
- type VolumeSnapshotAutodeleteAttributes
- type VolumeSpace
- type VolumeSpaceAttributes
- type VolumeSpaceInfo
- type VolumeSpaceInfoQuery
- type VolumeSpaceListResponse
- type VolumeSpaceOptions
- type VolumeSpacesInfo
- type VolumeStateAttributes
- type VolumeTransitionAttributes
Constants ¶
const ( LunOnlineOperation = "lun-online" LunOfflineOperation = "lun-offline" LunDestroyOperation = "lun-destroy" LunCreateOperation = "lun-create-by-size" LunMapOperation = "lun-map" LunUnmapOperation = "lun-unmap" )
These consts are for defined LUN operations
const ( ServerURL = `/servlets/netapp.servlets.admin.XMLrequest_filer` XMLNs = "http://www.netapp.com/filer/admin" )
const ( QuotaStatusCorrupt = "corrupt" QuotaStatusInitializing = "initializing" QuotaStatusMixed = "mixed" QuotaStatusOff = "off" QuotaStatusOn = "on" QuotaStatusResizing = "resizing" QuotaStatusReverting = "reverting" QuotaStatusUnknown = "unknown" QuotaStatusUpgrading = "upgrading" )
const ( SnapmirrorRelationshipDP string = "data_protection" SnapmirrorRelationshipLS string = "load_sharing" SnapmirrorRelationshipV string = "vault" SnapmirrorRelationshipR string = "restore" SnapmirrorRelationshipTDP string = "transition_data_protection" SnapmirrorRelationshipEDP string = "extended_data_protection" )
Snapmirror Relationship Types
const ( VolumeCreateOperation = "volume-create" VolumeOfflineOperation = "volume-offline" VolumeOnlineOperation = "volume-online" VolumeDestroyOperation = "volume-destroy" VolumeUnmountOperation = "volume-unmount" VolumeRestrictOperation = "volume-restrict" )
These consts are for defined volume operations
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AggrInfo ¶
type AggrInfo struct { AggregateName string `xml:"aggregate-name,omitempty"` AggrInodeAttributes *AggrInodeAttributes `xml:"aggr-inode-attributes,omitempty"` AggrSpaceAttributes *AggrSpaceAttributes `xml:"aggr-space-attributes,omitempty"` AggrOwnershipAttributes *AggrOwnershipAttributes `xml:"aggr-ownership-attributes,omitempty"` AggrRaidAttributes *AggrRaidAttributes `xml:"aggr-raid-attributes,omitempty"` }
type AggrInodeAttributes ¶
type AggrInodeAttributes struct { FilesPrivateUsed int `xml:"files-private-used"` FilesTotal int `xml:"files-total"` FilesUsed int `xml:"files-used"` InodefilePrivateCapacity int `xml:"inodefile-private-capacity"` InodefilePublicCapacity int `xml:"inodefile-public-capacity"` MaxfilesAvailable int `xml:"maxfiles-available"` MaxfilesPossible int `xml:"maxfiles-possible"` MaxfilesUsed int `xml:"maxfiles-used"` PercentInodeUsedCapacity int `xml:"percent-inode-used-capacity"` }
type AggrListPagesResponse ¶
type AggrListPagesResponse struct { Response *AggrListResponse Error error RawResponse *http.Response }
type AggrListResponse ¶
type AggrListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AggrAttributes []AggrInfo `xml:"attributes-list>aggr-attributes"` NextTag string `xml:"next-tag"` } `xml:"results"` }
type AggrOptions ¶
type AggrOwnershipAttributes ¶
type AggrOwnershipAttributes struct { Cluster string `xml:"cluster"` HomeID int `xml:"home-id"` HomeName string `xml:"home-name"` OwnerID int `xml:"owner-id"` OwnerName string `xml:"owner-name"` }
AggrOwnershipAttributes describe aggregate's ownership
type AggrRaidAttributes ¶
type AggrRaidAttributes struct { AggregateType string `xml:"aggregate-type,omitempty"` CacheRaidGroupSize int `xml:"cache-raid-group-size,omitempty"` ChecksumStatus string `xml:"checksum-status,omitempty"` ChecksumStyle string `xml:"checksum-style,omitempty"` DiskCount int `xml:"disk-count,omitempty"` EncryptionKeyID string `xml:"encryption-key-id,omitempty"` HaPolicy string `xml:"ha-policy,omitempty"` HasLocalRoot *bool `xml:"has-local-root"` HasPartnerRoot *bool `xml:"has-partner-root"` IsChecksumEnabled *bool `xml:"is-checksum-enabled"` IsEncrypted *bool `xml:"is-encrypted"` IsHybrid *bool `xml:"is-hybrid"` IsHybridEnabled *bool `xml:"is-hybrid-enabled"` IsInconsistent *bool `xml:"is-inconsistent"` IsMirrored *bool `xml:"is-mirrored"` IsRootAggregate *bool `xml:"is-root-aggregate"` MirrorStatus string `xml:"mirror-status,omitempty"` MountState string `xml:"mount-state,omitempty"` PlexCount int `xml:"plex-count,omitempty"` RaidLostWriteState string `xml:"raid-lost-write-state,omitempty"` RaidSize int `xml:"raid-size,omitempty"` RaidStatus string `xml:"raid-status,omitempty"` RaidType string `xml:"raid-type,omitempty"` State string `xml:"state,omitempty"` }
type AggrSpaceAttributes ¶
type AggrSpaceAttributes struct { AggregateMetadata string `xml:"aggregate-metadata"` HybridCacheSizeTotal string `xml:"hybrid-cache-size-total"` PercentUsedCapacity string `xml:"percent-used-capacity"` PhysicalUsed int `xml:"physical-used"` PhysicalUsedPercent int `xml:"physical-used-percent"` SizeAvailable int `xml:"size-available"` SizeTotal int `xml:"size-total"` SizeUsed int `xml:"size-used"` TotalReservedSpace int `xml:"total-reserved-space"` UsedIncludingSnapshotReserve string `xml:"used-including-snapshot-reserve"` VolumeFootprints string `xml:"volume-footprints"` }
type AggrSpaceInfo ¶
type AggrSpaceInfo struct { Aggregate string `xml:"aggregate,omitempty"` AggregateMetadata string `xml:"aggregate-metadata,omitempty"` AggregateMetadataPercent string `xml:"aggregate-metadata-percent,omitempty"` AggregateSize string `xml:"aggregate-size,omitempty"` PercentSnapshotSpace string `xml:"percent-snapshot-space,omitempty"` PhysicalUsed string `xml:"physical-used,omitempty"` PhysicalUsedPercent string `xml:"physical-used-percent,omitempty"` SnapSizeTotal string `xml:"snap-size-total,omitempty"` SnapshotReserveUnusable string `xml:"snapshot-reserve-unusable,omitempty"` SnapshotReserveUnusablePercent string `xml:"snapshot-reserve-unusable-percent,omitempty"` UsedIncludingSnapshotReserve string `xml:"used-including-snapshot-reserve,omitempty"` UsedIncludingSnapshotReservePercent string `xml:"used-including-snapshot-reserve-percent,omitempty"` VolumeFootprints string `xml:"volume-footprints,omitempty"` VolumeFootprintsPercent string `xml:"volume-footprints-percent,omitempty"` }
type AggrSpaceInfoQuery ¶
type AggrSpaceInfoQuery struct {
AggrSpaceInfo *AggrSpaceInfo `xml:"space-information,omitempty"`
}
type AggrSpaceListResponse ¶
type AggrSpaceListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { AggrAttributes []AggrSpaceInfo `xml:"space-information"` } `xml:"attributes-list"` } `xml:"results"` }
type AggrSpaceOptions ¶
type AggrSpaceOptions struct { DesiredAttributes *AggrSpaceInfoQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *AggrSpaceInfoQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type AggrSpareDiskInfo ¶
type AggrSpareDiskInfo struct { ChecksumStyle string `xml:"checksum-style"` Disk string `xml:"disk"` DiskRpm int `xml:"disk-rpm"` DiskType string `xml:"disk-type"` EffectiveDiskRpm int `xml:"effective-disk-rpm"` EffectiveDiskType string `xml:"effective-disk-type"` IsDiskLeftBehind bool `xml:"is-disk-left-behind"` IsDiskZeroed bool `xml:"is-disk-zeroed"` IsDiskZeroing bool `xml:"is-disk-zeroing"` IsSparecore bool `xml:"is-sparecore"` LocalUsableDataSize int `xml:"local-usable-data-size"` LocalUsableDataSizeBlks int `xml:"local-usable-data-size-blks"` LocalUsableRootSize int `xml:"local-usable-root-size"` LocalUsableRootSizeBlks int `xml:"local-usable-root-size-blks"` OriginalOwner string `xml:"original-owner"` SyncmirrorPool string `xml:"syncmirror-pool"` TotalSize int `xml:"total-size"` UsableSize int `xml:"usable-size"` UsableSizeBlks int `xml:"usable-size-blks"` ZeroingPercent int `xml:"zeroing-percent"` }
type AggrSpareDiskInfoQuery ¶
type AggrSpareDiskInfoQuery struct {
AggrSpareDiskInfo *AggrSpareDiskInfo `xml:"aggr-spare-disk-info,omitempty"`
}
type AggrSparesListPagesResponse ¶
type AggrSparesListPagesResponse struct { Response *AggrSparesListResponse Error error RawResponse *http.Response }
type AggrSparesListResponse ¶
type AggrSparesListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { AggrAttributes []AggrSpareDiskInfo `xml:"aggr-spare-disk-info"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type AggrSparesOptions ¶
type AggrSparesOptions struct { DesiredAttributes *AggrSpareDiskInfoQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *AggrSpareDiskInfoQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type Aggregate ¶
type Aggregate struct { Base Params struct { XMLName xml.Name AggrOptions } }
func (Aggregate) List ¶
func (a Aggregate) List(options *AggrOptions) (*AggrListResponse, *http.Response, error)
func (*Aggregate) ListPages ¶
func (a *Aggregate) ListPages(options *AggrOptions, fn AggregatePageHandler)
type AggregatePageHandler ¶
type AggregatePageHandler func(AggrListPagesResponse) (shouldContinue bool)
type AggregateSpace ¶
type AggregateSpace struct { Base Params struct { XMLName xml.Name *AggrSpaceOptions } }
func (*AggregateSpace) List ¶
func (a *AggregateSpace) List(options *AggrSpaceOptions) (*AggrSpaceListResponse, *http.Response, error)
type AggregateSpares ¶
type AggregateSpares struct { Base Params struct { XMLName xml.Name *AggrSparesOptions } }
func (*AggregateSpares) List ¶
func (a *AggregateSpares) List(options *AggrSparesOptions) (*AggrSparesListResponse, *http.Response, error)
func (*AggregateSpares) ListPages ¶
func (a *AggregateSpares) ListPages(options *AggrSparesOptions, fn AggregateSparesPageHandler)
type AggregateSparesPageHandler ¶
type AggregateSparesPageHandler func(AggrSparesListPagesResponse) (shouldContinue bool)
type AsyncResultBase ¶
type AsyncResultBase struct { SingleResultBase ErrorCode int `xml:"result-error-code"` ErrorMessage string `xml:"result-error-message"` JobID int `xml:"result-jobid"` JobStatus string `xml:"result-status"` }
func (*AsyncResultBase) Passed ¶
func (r *AsyncResultBase) Passed() bool
func (*AsyncResultBase) Result ¶
func (r *AsyncResultBase) Result() *SingleResultBase
type Cf ¶
type Cf struct { Base Params struct { XMLName xml.Name *ClusterFailoverInfoOptions } }
func (*Cf) ClusterFailoverInfoList ¶
func (s *Cf) ClusterFailoverInfoList(options *ClusterFailoverInfoOptions) (*ClusterFailoverInfoResponse, *http.Response, error)
func (*Cf) ClusterFailoverInfoListPages ¶
func (s *Cf) ClusterFailoverInfoListPages(options *ClusterFailoverInfoOptions, fn StorageFailoverInfoPageHandler)
type Client ¶
type Client struct { BaseURL *url.URL UserAgent string ResponseTimeout time.Duration Aggregate *Aggregate AggregateSpace *AggregateSpace AggregateSpares *AggregateSpares Cf *Cf ClusterIdentity *ClusterIdentity Diagnosis *Diagnosis Fcp *Fcp Fcport *Fcport Job *Job Lun *Lun Net *Net Perf *Perf Qtree *Qtree QosPolicy *QosPolicy Quota *Quota QuotaReport *QuotaReport QuotaStatus *QuotaStatus Snapshot *Snapshot Snapmirror *Snapmirror StorageDisk *StorageDisk System *System Volume *Volume VolumeSpace *VolumeSpace VolumeOperations *VolumeOperation LunOperations *LunOperation VServer *VServer // contains filtered or unexported fields }
A Client manages communication with the GitHub API.
type ClientOptions ¶
type ClientOptions struct { BasicAuthUser string BasicAuthPassword string SSLVerify bool CAFile string CertFile string KeyFile string Debug bool Timeout time.Duration }
func DefaultOptions ¶
func DefaultOptions() *ClientOptions
type ClusterFailoverInfoOptions ¶
type ClusterFailoverInfoOptions struct { DesiredAttributes *StorageFailoverInfoQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *StorageFailoverInfoQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type ClusterFailoverInfoPagesResponse ¶
type ClusterFailoverInfoPagesResponse struct { Response *ClusterFailoverInfoResponse Error error RawResponse *http.Response }
type ClusterFailoverInfoResponse ¶
type ClusterFailoverInfoResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList []StorageFailoverInfo `xml:"attributes-list>storage-failover-info"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type ClusterIdentity ¶
type ClusterIdentity struct { Base Params struct { XMLName xml.Name *ClusterIdentityOptions } }
func (*ClusterIdentity) List ¶
func (c *ClusterIdentity) List(options *ClusterIdentityOptions) (*ClusterIdentityResponse, *http.Response, error)
type ClusterIdentityInfo ¶
type ClusterIdentityOptions ¶
type ClusterIdentityOptions struct {
DesiredAttributes *ClusterIdentityInfo `xml:"desired-attributes,omitempty"`
}
type ClusterIdentityResponse ¶
type ClusterIdentityResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase ClusterIdentityInfo []ClusterIdentityInfo `xml:"attributes>cluster-identity-info"` } `xml:"results"` }
type Diagnosis ¶
type Diagnosis struct { Base Params struct { XMLName xml.Name *DiagnosisOptions } }
func (*Diagnosis) DiagnosisAlertGetAll ¶
func (v *Diagnosis) DiagnosisAlertGetAll(options *DiagnosisOptions, fn DiagnosisPageHandler)
func (*Diagnosis) DiagnosisAlertGetIter ¶
func (v *Diagnosis) DiagnosisAlertGetIter(options *DiagnosisOptions) (*DiagnosisListResponse, *http.Response, error)
type DiagnosisAlertInfo ¶
type DiagnosisAlertInfo struct { Acknowledge bool `xml:"acknowledge"` Acknowledger string `xml:"acknowledger"` Additionalinfo string `xml:"additional-info"` AlertId string `xml:"alert-id"` AlertingResource string `xml:"alerting-resource"` AlertingResourceName string `xml:"alerting-resource-name"` CorrectiveActions string `xml:"corrective-actions"` IndicationTime int `xml:"indication-time"` Monitor string `xml:"monitor"` Node string `xml:"node"` PerceivedSeverity string `xml:"perceived-severity"` Policy string `xml:"policy"` PossibleEffect string `xml:"possible-effect"` ProbableCause string `xml:"probable-cause"` ProbableCauseDescription string `xml:"probable-cause-description"` Subsystem string `xml:"subsystem"` Suppress bool `xml:"suppress"` Suppressor string `xml:"suppressor"` }
type DiagnosisAlertPagesResponse ¶
type DiagnosisAlertPagesResponse struct { Response *DiagnosisListResponse Error error RawResponse *http.Response }
type DiagnosisListResponse ¶
type DiagnosisListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { DiagnosisAttributes []DiagnosisAlertInfo `xml:"diagnosis-alert-info"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type DiagnosisOptions ¶
type DiagnosisOptions struct { DesiredAttributes *DiagnosisAlertInfo `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *DiagnosisQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type DiagnosisPageHandler ¶
type DiagnosisPageHandler func(DiagnosisAlertPagesResponse) (shouldContinue bool)
type DiagnosisQuery ¶
type DiagnosisQuery struct {
DiagnosisInfo *DiagnosisAlertInfo `xml:"diagnosis-alert-info,omitempty"`
}
type DiskInventoryInfo ¶
type DiskInventoryInfo struct { BytesPerSector int `xml:"bytes-per-sector,omitempty"` CapacitySectors int `xml:"capacity-sectors,omitempty"` ChecksumCompatibility string `xml:"checksum-compatibility,omitempty"` DiskClusterName string `xml:"disk-cluster-name,omitempty"` DiskType string `xml:"disk-type,omitempty"` DiskUid string `xml:"disk-uid,omitempty"` FirmwareRevision string `xml:"firmware-revision,omitempty"` GrownDefectListCount int `xml:"grown-defect-list-count,omitempty"` HealthMonitorTimeInterval int `xml:"health-monitor-time-interval,omitempty"` ImportInProgress *bool `xml:"import-in-progress,omitempty"` IsDynamicallyQualified *bool `xml:"is-dynamically-qualified,omitempty"` IsMultidiskCarrier *bool `xml:"is-multidisk-carrier,omitempty"` MediaScrubCount int `xml:"media-scrub-count,omitempty"` MediaScrubLastDoneTimeInterval int `xml:"media-scrub-last-done-time-interval,omitempty"` Model string `xml:"model,omitempty"` ReservationKey string `xml:"reservation-key,omitempty"` ReservationType string `xml:"reservation-type,omitempty"` RightSizeSectors int `xml:"right-size-sectors,omitempty"` Rpm int `xml:"rpm,omitempty"` SerialNumber string `xml:"serial-number,omitempty"` Shelf string `xml:"shelf,omitempty"` ShelfBay string `xml:"shelf-bay,omitempty"` ShelfUid string `xml:"shelf-uid,omitempty"` StackID int `xml:"stack-id,omitempty"` Vendor string `xml:"vendor,omitempty"` }
type DiskOwnershipInfo ¶
type DiskOwnershipInfo struct { DiskUid string `xml:"disk-uid,omitempty"` DrHomeNodeId int `xml:"dr-home-node-id,omitempty"` DrHomeNodeName string `xml:"dr-home-node-name,omitempty"` HomeNodeId int `xml:"home-node-id,omitempty"` HomeNodeName string `xml:"home-node-name,omitempty"` IsFailed *bool `xml:"is-failed,omitempty"` OwnerNodeId int `xml:"owner-node-id,omitempty"` OwnerNodeName string `xml:"owner-node-name,omitempty"` Pool int `xml:"pool,omitempty"` ReservedByNodeId int `xml:"reserved-by-node-id,omitempty"` }
type ExportRuleListResponse ¶
type ExportRuleListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { VServerExportRuleInfo []VServerExportRuleInfo `xml:"export-rule-info"` } `xml:"attributes-list"` } `xml:"results"` }
type ExportRuleQuery ¶
type ExportRuleQuery struct {
ExportRuleInfo *VServerExportRuleInfo `xml:"export-rule-info,omitempty"`
}
type Fcp ¶
type Fcp struct { Base Params struct { XMLName xml.Name *FcpAdapterConfigOptions } }
func (*Fcp) FcpAdapterGetAll ¶
func (f *Fcp) FcpAdapterGetAll(options *FcpAdapterConfigOptions, fn FcpAdapterConfigPageHandler)
func (*Fcp) FcpAdapterGetIter ¶
func (f *Fcp) FcpAdapterGetIter(options *FcpAdapterConfigOptions) (*FcpAdapterConfigGetIterResponse, *http.Response, error)
type FcpAdapterConfigGetIterResponse ¶
type FcpAdapterConfigGetIterResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { FcpAdapterAttributes []FcpAdapterConfigInfo `xml:"fcp-config-adapter-info"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type FcpAdapterConfigInfo ¶
type FcpAdapterConfigInfo struct { Adapter string `xml:"adapter"` CacheLineSize int `xml:"cache-line-size"` ConnectionEstablished string `xml:"connection-established"` DataLinkRate int `xml:"data-link-rate"` ExternalGbicEnabled bool `xml:"external-gbic-enabled"` FabricEstablished bool `xml:"fabric-established"` FirmwareRev string `xml:"firmware-rev"` HardwareRev string `xml:"hardware-rev"` InfoName string `xml:"info-name"` MaxSpeed int `xml:"max-speed"` MediaType string `xml:"media-type"` MpiFirmwareRev string `xml:"mpi-firmware-rev"` Node string `xml:"node"` NodeName string `xml:"node-name"` PacketSize int `xml:"packet-size"` PciBusWidth int `xml:"pci-bus-width"` PciClockSpeed int `xml:"pci-clock-speed"` PhyFirmwareRev string `xml:"phy-firmware-rev"` PhysicalDataLinkRate int `xml:"physical-data-link-rate"` PhysicalLinkState string `xml:"physical-link-state"` PhysicalProtocol string `xml:"physical-protocol"` PortAddress int `xml:"port-address"` PortName string `xml:"port-name"` Speed string `xml:"speed"` SramParityEnabled bool `xml:"sram-parity-enabled"` State string `xml:"state"` SwitchPort string `xml:"switch-port"` VlanId int `xml:"vlan-id"` }
type FcpAdapterConfigOptions ¶
type FcpAdapterConfigOptions struct { DesiredAttributes *FcpAdapterConfigQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *FcpAdapterConfigQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type FcpAdapterConfigPageHandler ¶
type FcpAdapterConfigPageHandler func(FcpAdapterConfigPageResponse) (shouldContinue bool)
type FcpAdapterConfigPageResponse ¶
type FcpAdapterConfigPageResponse struct { Response *FcpAdapterConfigGetIterResponse Error error RawResponse *http.Response }
type FcpAdapterConfigQuery ¶
type FcpAdapterConfigQuery struct {
FcpAdapterConfigInfo *FcpAdapterConfigInfo `xml:"net-port-info,omitempty"`
}
type Fcport ¶
type Fcport struct { Base Params struct { XMLName xml.Name *FcportGetLinkStateOptions } }
func (*Fcport) GetLinkState ¶
func (f *Fcport) GetLinkState(options *FcportGetLinkStateOptions) (*FcportGetLinkStateResponse, *http.Response, error)
type FcportGetLinkStateResponse ¶
type FcportGetLinkStateResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AdapterLinkState []FcportLinkStateInfo `xml:"adapter-link-state"` } `xml:"results"` }
type FcportLinkStateInfo ¶
type GivebackRelatedInfo ¶
type GivebackRelatedInfo struct {
GivebackState string `xml:"giveback-state"`
}
type InstanceData ¶
type InstanceData struct { Name string `xml:"name"` Counters PerfCounters `xml:"counters"` }
type InstanceInfo ¶
type InstanceInfoQuery ¶
type InstanceInfoQuery struct {
InstanceInfo *InstanceInfo `xml:"instance-info,omitempty"`
}
type InterconnectRelatedInfo ¶
type Job ¶
type Job struct { Base Params struct { XMLName xml.Name *JobOptions } }
func (*Job) Get ¶
func (q *Job) Get(vserverName string, id int, options *JobOptions) (*JobResponse, *http.Response, error)
func (Job) GetHistory ¶
func (j Job) GetHistory(options *JobHistoryOptions) (*JobListResponse, *http.Response, error)
type JobHistoryInfo ¶
type JobHistoryInfo struct { JobCompletion string `xml:"job-completion,omitempty"` JobDescription string `xml:"job-description,omitempty"` JobEndTime int `xml:"job-end-time,omitempty"` JobEventTime int `xml:"job-event-time,omitempty"` JobEventType string `xml:"job-event-type,omitempty"` JobID int `xml:"job-id,omitempty"` JobName string `xml:"job-name,omitempty"` JobNode string `xml:"job-node,omitempty"` JobStartTime int `xml:"job-start-time,omitempty"` JobStatusCode int `xml:"job-status-code,omitempty"` JobUsername string `xml:"job-username,omitempty"` JobUUID string `xml:"job-uuid,omitempty"` JobVServer string `xml:"job-vserver,omitempty"` LogID int `xml:"log-id,omitempty"` }
type JobHistoryOptions ¶
type JobHistoryOptions struct { Query *JobHistoryInfo `xml:"query>job-history-info,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Tag string `xml:"tag,omitempty"` }
type JobListResponse ¶
type JobListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase HistoryInfo []JobHistoryInfo `xml:"attributes-list>job-history-info"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type JobOptions ¶
type JobResponse ¶
type JobResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase Attributes struct { JobInfo struct { IsRestarted string `xml:"is-restarted"` JobAffinity string `xml:"job-affinity"` JobCategory string `xml:"job-category"` JobCompletion string `xml:"job-completion"` JobDescription string `xml:"job-description"` JobID string `xml:"job-id"` JobName string `xml:"job-name"` JobNode string `xml:"job-node"` JobPriority string `xml:"job-priority"` JobProcess string `xml:"job-process"` JobProgress string `xml:"job-progress"` JobQueueTime string `xml:"job-queue-time"` JobRestartIsOrWasDelayed string `xml:"job-restart-is-or-was-delayed"` JobSchedule string `xml:"job-schedule"` JobStartTime string `xml:"job-start-time"` JobState string `xml:"job-state"` JobStatusCode string `xml:"job-status-code"` JobType string `xml:"job-type"` JobUsername string `xml:"job-username"` JobUUID string `xml:"job-uuid"` JobVserver string `xml:"job-vserver"` } `xml:"job-info"` } `xml:"attributes"` } `xml:"results"` }
func (*JobResponse) JobState ¶
func (j *JobResponse) JobState() string
func (*JobResponse) Success ¶
func (j *JobResponse) Success() bool
type Lun ¶
type Lun struct { Base Params struct { XMLName xml.Name *LunOptions } }
func (*Lun) List ¶
func (v *Lun) List(options *LunOptions) (*LunListResponse, *http.Response, error)
func (*Lun) ListPages ¶
func (v *Lun) ListPages(options *LunOptions, fn LunPageHandler)
type LunCreateOptions ¶
type LunCreateOptions struct { Class string `xml:"class,omitempty"` Comment string `xml:"comment,omitempty"` ForeignDisk string `xml:"foreign-disk,omitempty"` InitiatorGroup string `xml:"initiator-group,omitempty"` OsType string `xml:"ostype,omitempty"` Path string `xml:"path,omitempty"` PrefixSize string `xml:"prefix-size,omitempty"` QosAdaptivePolicyGroup string `xml:"qos-adaptive-policy-group,omitempty"` QosPolicyGroup string `xml:"qos-policy-group,omitempty"` Size int64 `xml:"size,omitempty"` SpaceAllocationEnabled bool `xml:"space-allocation-enabled,omitempty"` SpaceReservationEnabled bool `xml:"space-reservation-enabled,omitempty"` UseExactSize bool `xml:"use-exact-size,omitempty"` }
LunCreateOptions struct is used for volume creation
type LunInfo ¶
type LunInfo struct { Alignment string `xml:"alignment"` BackingSnapshot string `xml:"backing-snapshot"` BlockSize int `xml:"block-size"` Class string `xml:"class"` CloneBackingSnapshot string `xml:"clone-backing-snapshot"` Comment string `xml:"comment"` CreationTimestamp int `xml:"creation-timestamp"` DeviceBinaryId string `xml:"device-binary-id"` DeviceId int `xml:"device-id"` DeviceTextId string `xml:"device-text-id"` IsClone bool `xml:"is-clone"` IsCloneAutodeleteEnabled bool `xml:"is-clone-autodelete-enabled"` IsInconsistentImport bool `xml:"is-inconsistent-import"` IsRestoreInaccessible bool `xml:"is-restore-inaccessible"` IsSpaceAllocEnabled bool `xml:"is-space-alloc-enabled"` IsSpaceReservationEnabled bool `xml:"is-space-reservation-enabled"` Mapped bool `xml:"mapped"` MultiprotocolType string `xml:"multiprotocol-type"` Node string `xml:"node"` Online bool `xml:"online"` Path string `xml:"path"` PrefixSize int `xml:"prefix-size"` QosPolicyGroup string `xml:"qos-policy-group"` Qtree string `xml:"qtree"` ReadOnly bool `xml:"read-only"` Serial7Mode string `xml:"serial-7-mode"` SerialNumber string `xml:"serial-number"` Size int `xml:"size"` SizeUsed int `xml:"size-used"` Staging bool `xml:"staging"` State string `xml:"state"` SuffixSize int `xml:"suffix-size"` Uuid string `xml:"uuid"` Volume string `xml:"volume"` Vserver string `xml:"vserver"` }
type LunListPagesResponse ¶
type LunListPagesResponse struct { Response *LunListResponse Error error RawResponse *http.Response }
type LunListResponse ¶
type LunOperation ¶
type LunOperation struct { Base Params struct { XMLName xml.Name LunPath *lunPath LunInitiatorGroup *lunInitiatorGroup LunCreateOptions } }
LunOperation is the base struct for volume operations
func (LunOperation) Create ¶
func (l LunOperation) Create(vserverName string, options *LunCreateOptions) (*SingleResultResponse, *http.Response, error)
Create creates a new LUN on a preexisting volume
func (LunOperation) Map ¶
func (l LunOperation) Map(vserverName string, lunPathName string, initiatorGroup string) (*SingleResultResponse, *http.Response, error)
Map maps a LUN to an igroup
func (LunOperation) Operation ¶
func (l LunOperation) Operation(vserverName string, lunPathName string, operation string) (*SingleResultResponse, *http.Response, error)
Operation runs several operations (from consts defined above with LunOperation* name)
func (LunOperation) Unmap ¶
func (l LunOperation) Unmap(vserverName string, lunPathName string, initiatorGroup string) (*SingleResultResponse, *http.Response, error)
Unmap unmaps a LUN for an igroup
type LunOptions ¶
type LunPageHandler ¶
type LunPageHandler func(LunListPagesResponse) (shouldContinue bool)
type Net ¶
type Net struct {
Base
}
func (Net) CreateBroadcastDomain ¶
func (n Net) CreateBroadcastDomain(createOptions *NetBroadcastDomainCreateOptions) (*NetBroadcastDomainCreateResponse, *http.Response, error)
CreateBroadcastDomain creates a new broadcast domain
func (Net) CreateIPSpace ¶
func (n Net) CreateIPSpace(name string, returnRecord bool) (*NetIPSpaceResponse, *http.Response, error)
CreateIPSpace creates a new ipspace on the cluster
func (Net) CreateNetInterface ¶
func (n Net) CreateNetInterface(options *NetInterfaceInfo) (*SingleResultResponse, *http.Response, error)
CreateNetInterface creates a new network interface
func (Net) CreateRoute ¶
func (n Net) CreateRoute(vServerName string, options *NetRoutesInfo) (*NetRoutesResponse, *http.Response, error)
CreateRoute creates a new route for Routing Group
func (Net) CreateVlan ¶
func (n Net) CreateVlan(options *NetVlanInfo) (*SingleResultResponse, *http.Response, error)
CreateVlan creates a new vlan
func (Net) DeleteBroadcastDomain ¶
func (Net) DeleteIPSpace ¶
DeleteIPSpace deletes an IPSpace
func (Net) DeleteNetInterface ¶
func (n Net) DeleteNetInterface(vServerName string, lif string) (*SingleResultResponse, *http.Response, error)
DeleteNetInterface removes a LIF from a vserver
func (Net) DeleteRoute ¶
func (n Net) DeleteRoute(vServerName string, destination string, gateway string) (*SingleResultResponse, *http.Response, error)
DeleteRoute creates a new route for Routing Group
func (Net) DeleteVlan ¶
func (n Net) DeleteVlan(options *NetVlanInfo) (*SingleResultResponse, *http.Response, error)
DeleteVlan removes vlan from existence
func (Net) GetBroadcastDomain ¶
func (n Net) GetBroadcastDomain(domain string, ipSpace string) (*NetBroadcastDomainResponse, *http.Response, error)
GetBroadcastDomain grabs a single named broadcast domain
func (Net) GetIPSpace ¶
GetIPSpace grabs data for an ip space
func (Net) ListIPSpaces ¶
func (n Net) ListIPSpaces(query *NetIPSpaceInfo) (*NetIPSpaceListResponse, *http.Response, error)
func (Net) ListVlans ¶
func (n Net) ListVlans(info *NetVlanInfo) (*NetVlanListResponse, *http.Response, error)
ListVlans lists all vlans that match info query
func (*Net) NetInterfaceGetAll ¶
func (n *Net) NetInterfaceGetAll(options *NetInterfaceOptions, fn NetInterfacePageHandler)
func (*Net) NetInterfaceGetIter ¶
func (n *Net) NetInterfaceGetIter(options *NetInterfaceOptions) (*NetInterfaceGetIterResponse, *http.Response, error)
func (*Net) NetPortGetAll ¶
func (n *Net) NetPortGetAll(options *NetPortOptions, fn NetPortPageHandler)
func (*Net) NetPortGetIter ¶
func (n *Net) NetPortGetIter(options *NetPortOptions) (*NetPortGetIterResponse, *http.Response, error)
func (Net) RenameIPSpace ¶
func (n Net) RenameIPSpace(name string, newName string) (*NetIPSpaceResponse, *http.Response, error)
RenameIPSpace changes the name of an ipspace
type NetBroadcastDomainCreateOptions ¶
type NetBroadcastDomainCreateOptions struct { BroadcastDomain string `xml:"broadcast-domain"` IPSpace string `xml:"ipspace"` MTU int `xml:"mtu,omitempty"` Ports *[]string `xml:"ports>net-qualified-port-name,omitempty"` }
NetBroadcastDomainCreateOptions used for creating new Broadcast Domain
type NetBroadcastDomainCreateResponse ¶
type NetBroadcastDomainCreateResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase CombinedPortUpdateStatus string `xml:"port-update-status-combined"` } `xml:"results"` }
NetBroadcastDomainCreateResponse returns result of creating a new broadcast domain
type NetBroadcastDomainInfo ¶
type NetBroadcastDomainInfo struct { BroadcastDomain string `xml:"broadcast-domain,omitempty"` FailoverGroups []string `xml:"failover-groups>failover-group"` IPSpace string `xml:"ipspace,omitempty"` MTU int `xml:"mtu,omitempty"` CombinedPortUpdateStatus string `xml:"port-update-status-combined,omitempty"` Ports *[]NetPortUpdateInfo `xml:"ports>port-info"` SubnetNames []string `xml:"subnet-names>subnet-name"` }
NetBroadcastDomainInfo is the Broadcast Domain data
type NetBroadcastDomainOptions ¶
type NetBroadcastDomainOptions struct { DesiredAttributes *NetBroadcastDomainInfo `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *NetBroadcastDomainInfo `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
NetBroadcastDomainOptions get/list options for getting broadcast domains
type NetBroadcastDomainResponse ¶
type NetBroadcastDomainResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase Info NetBroadcastDomainInfo `xml:"attributes>net-port-broadcast-domain-info"` } `xml:"results"` }
NetBroadcastDomainResponse returns results for broadcast domains
type NetIPSpaceInfo ¶
type NetIPSpaceInfo struct { BroadcastDomains *[]string `xml:"broadcast-domains>broadcast-domain-name,omitempty"` ID int `xml:"id,omitempty"` IPSpace string `xml:"ipspace,omitempty"` Ports *[]string `xml:"ports>net-qualified-port-name,omitempty"` UUID string `xml:"uuid,omitempty"` VServers *[]string `xml:"vservers>vserver-name,omitempty"` }
NetIPSpaceInfo holds newly created ipspace variables
type NetIPSpaceListResponse ¶
type NetIPSpaceListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase Info []NetIPSpaceInfo `xml:"attributes-list>net-ipspaces-info"` NumRecords string `xml:"num-records"` } `xml:"results"` }
type NetIPSpaceOptions ¶
type NetIPSpaceOptions struct { DesiredAttributes *NetIPSpaceInfo `xml:"desired-attributes>net-ip-spaces-info,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *NetIPSpaceInfo `xml:"query>net-ipspaces-info,omitempty"` Tag string `xml:"tag,omitempty"` }
type NetIPSpaceResponse ¶
type NetIPSpaceResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase NetIPSpaceInfo `xml:",innerxml"` NetIPSpaceCreateInfo *NetIPSpaceInfo `xml:"result>net-ipspaces-info"` } `xml:"results"` }
NetIPSpaceResponse is return type for net ip space requests
type NetInterfaceGetIterResponse ¶
type NetInterfaceGetIterResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { NetInterfaceAttributes []NetInterfaceInfo `xml:"net-interface-info"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type NetInterfaceInfo ¶
type NetInterfaceInfo struct { Address string `xml:"address,omitempty"` AdministrativeStatus string `xml:"administrative-status,omitempty"` Comment string `xml:"comment,omitempty"` DataProtocols *[]string `xml:"data-protocols>data-protocol"` CurrentNode string `xml:"current-node,omitempty"` CurrentPort string `xml:"current-port,omitempty"` DnsDomainName string `xml:"dns-domain-name,omitempty"` FailoverGroup string `xml:"failover-group,omitempty"` FailoverPolicy string `xml:"failover-policy,omitempty"` FirewallPolicy string `xml:"firewall-policy,omitempty"` HomeNode string `xml:"home-node,omitempty"` HomePort string `xml:"home-port,omitempty"` InterfaceName string `xml:"interface-name,omitempty"` IsAutoRevert bool `xml:"is-auto-revert,omitempty"` IsHome bool `xml:"is-home,omitempty"` IsIpv4LinkLocal bool `xml:"is-ipv4-link-local,omitempty"` Netmask string `xml:"netmask,omitempty"` NetmaskLength int `xml:"netmask-length,omitempty"` OperationalStatus string `xml:"operational-status,omitempty"` Role string `xml:"role,omitempty"` RoutingGroupName string `xml:"routing-group-name,omitempty"` UseFailoverGroup string `xml:"use-failover-group,omitempty"` Vserver string `xml:"vserver,omitempty"` }
type NetInterfaceOptions ¶
type NetInterfaceOptions struct { DesiredAttributes *NetInterfaceQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *NetInterfaceQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type NetInterfacePageHandler ¶
type NetInterfacePageHandler func(NetInterfacePageResponse) (shouldContinue bool)
type NetInterfacePageResponse ¶
type NetInterfacePageResponse struct { Response *NetInterfaceGetIterResponse Error error RawResponse *http.Response }
type NetInterfaceQuery ¶
type NetInterfaceQuery struct {
NetInterfaceInfo *NetInterfaceInfo `xml:"net-interface-info,omitempty"`
}
type NetPortGetIterResponse ¶
type NetPortGetIterResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { NetPortAttributes []NetPortInfo `xml:"net-port-info"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type NetPortInfo ¶
type NetPortInfo struct { AdministrativeDuplex string `xml:"administrative-duplex,omitempty"` AdministrativeFlowcontrol string `xml:"administrative-flowcontrol,omitempty"` AdministrativeSpeed string `xml:"administrative-speed,omitempty"` AutorevertDelay int `xml:"autorevert-delay,omitempty"` IfgrpDistributionFunction string `xml:"ifgrp-distribution-function,omitempty"` IfgrpMode string `xml:"ifgrp-mode,omitempty"` IfgrpNode string `xml:"ifgrp-node,omitempty"` IfgrpPort string `xml:"ifgrp-port,omitempty"` IsAdministrativeAutoNegotiate bool `xml:"is-administrative-auto-negotiate,omitempty"` IsAdministrativeUp bool `xml:"is-administrative-up,omitempty"` IsOperationalAutoNegotiate bool `xml:"is-operational-auto-negotiate,omitempty"` LinkStatus string `xml:"link-status,omitempty"` MacAddress string `xml:"mac-address,omitempty"` Mtu int `xml:"mtu,omitempty"` Node string `xml:"node,omitempty"` OperationalDuplex string `xml:"operational-duplex,omitempty"` OperationalFlowcontrol string `xml:"operational-flowcontrol,omitempty"` OperationalSpeed string `xml:"operational-speed,omitempty"` Port string `xml:"port,omitempty"` PortType string `xml:"port-type,omitempty"` RemoteDeviceId string `xml:"remote-device-id,omitempty"` Role string `xml:"role,omitempty"` VlanId int `xml:"vlan-id,omitempty"` VlanNode string `xml:"vlan-node,omitempty"` VlanPort string `xml:"vlan-port,omitempty"` }
type NetPortOptions ¶
type NetPortOptions struct { DesiredAttributes *NetPortQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *NetPortQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type NetPortPageHandler ¶
type NetPortPageHandler func(NetPortPageResponse) (shouldContinue bool)
type NetPortPageResponse ¶
type NetPortPageResponse struct { Response *NetPortGetIterResponse Error error RawResponse *http.Response }
type NetPortQuery ¶
type NetPortQuery struct {
NetPortInfo *NetPortInfo `xml:"net-port-info,omitempty"`
}
type NetPortUpdateInfo ¶
type NetPortUpdateInfo struct { Port string `xml:"port"` PortUpdateStatus string `xml:"port-update-status"` PortUpdateStatusDetails string `xml:"port-update-status-details"` }
NetPortUpdateInfo is port info for the broadcast domain
type NetRoutesInfo ¶
type NetRoutesInfo struct { AddressFamily string `xml:"address-family,omitempty"` DestinationAddress string `xml:"destination"` GatewayAddress string `xml:"gateway"` Metric int `xml:"metric,omitempty"` ReturnRecord bool `xml:"return-record,omitempty"` VServer string `xml:"vserver,omitempty"` }
NetRoutingGroupRouteInfo holds route information
type NetRoutesResponse ¶
type NetRoutesResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase Info NetRoutesInfo `xml:"result>net-vs-routes-info"` } `xml:"results"` }
type NetVlanInfo ¶
type NetVlanInfo struct { InterfaceName string `xml:"interface-name,omitempty"` Node string `xml:"node,omitempty"` ParentInterface string `xml:"parent-interface,omitempty"` VlanID int `xml:"vlanid,omitempty"` }
NetVlanInfo is the Vlan data
func (*NetVlanInfo) ToString ¶
func (v *NetVlanInfo) ToString() string
ToString converts to string, ie test-cluster-01-01:a0a-3555
type NetVlanListResponse ¶
type NetVlanListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase Info []NetVlanInfo `xml:"attributes-list>vlan-info"` } `xml:"results"` }
NetVlanListResponse returns results for a list of vlans
type NetVlanOptions ¶
type NetVlanOptions struct { DesiredAttributes *NetVlanInfo `xml:"desired-attributes>vlan-info,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *NetVlanInfo `xml:"query>vlan-info,omitempty"` Tag string `xml:"tag,omitempty"` }
NetVlanOptions get/list options for getting vlans
type NetVlanResponse ¶
type NetVlanResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase Info NetVlanInfo `xml:"attributes>vlan-info"` } `xml:"results"` }
NetVlanResponse returns results for a single vlan
type NodeDetailOptions ¶
type NodeDetailOptions struct { DesiredAttributes *NodeDetailsQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *NodeDetailsQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type NodeDetails ¶
type NodeDetails struct { EnvFailedFanCount int `xml:"env-failed-fan-count"` EnvFailedFanMessage string `xml:"env-failed-fan-message"` EnvFailedPowerSupplyCount int `xml:"env-failed-power-supply-count"` EnvFailedPowerSupplyMessage string `xml:"env-failed-power-supply-message"` EnvOverTemperature bool `xml:"env-over-temperature"` Name string `xml:"node"` NodeAssetTag string `xml:"node-asset-tag"` NodeLocation string `xml:"node-location"` NodeModel string `xml:"node-model"` NodeNvramId string `xml:"node-nvram-id"` NodeOwner string `xml:"node-owner"` NodeSerialNumber string `xml:"node-serial-number"` NodeStorageConfiguration string `xml:"node-storage-configuration"` NodeSystemId string `xml:"node-system-id"` NodeUptime string `xml:"node-uptime"` NodeUuid string `xml:"node-uuid"` NodeVendor string `xml:"node-vendor"` NvramBatteryStatus string `xml:"nvram-battery-status"` ProductVersion string `xml:"product-version"` }
type NodeDetailsPageHandler ¶
type NodeDetailsPageHandler func(NodeDetailsPagesResponse) (shouldContinue bool)
type NodeDetailsPagesResponse ¶
type NodeDetailsPagesResponse struct { Response *NodeDetailsResponse Error error RawResponse *http.Response }
type NodeDetailsQuery ¶
type NodeDetailsQuery struct {
NodeDetails *NodeDetails `xml:"node-details-info,omitempty"`
}
type NodeDetailsResponse ¶
type NodeDetailsResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase NodeDetails []NodeDetails `xml:"attributes-list>node-details-info"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type NodeRelatedInfo ¶
type NodeRelatedInfo struct { CurrentMode string `xml:"current-mode"` LocalFirmwareProgress int `xml:"local-firmware-progress"` LocalFirmwareState string `xml:"local-firmware-state"` Node string `xml:"node"` NodeState string `xml:"node-state"` NvramId int `xml:"nvram-id"` PartnerFirmwareProgress int `xml:"partner-firmware-progress"` PartnerFirmwareState string `xml:"partner-firmware-state"` PartnerName string `xml:"partner-name"` PartnerNvramId int `xml:"partner-nvram-id"` StateDescription string `xml:"state-description"` }
type Perf ¶
type Perf struct {
Base
}
func (*Perf) PerfObjectGetInstances ¶
func (p *Perf) PerfObjectGetInstances(params *PerfObjectGetInstanceParams) (*PerfObjectGetInstancesResponse, *http.Response, error)
func (*Perf) PerfObjectInstanceGetAllInfo ¶
func (p *Perf) PerfObjectInstanceGetAllInfo(options *PerfObjectInstanceListInfoIterParams, fn PerfObjectInstanceListInfoHandler)
func (*Perf) PerfObjectInstanceListInfoIter ¶
func (p *Perf) PerfObjectInstanceListInfoIter(params *PerfObjectInstanceListInfoIterParams) (*PerfObjectInstanceListInfoIterResponse, *http.Response, error)
type PerfCounterData ¶
type PerfCounters ¶
type PerfCounters struct {
CounterData []PerfCounterData `xml:"counter-data"`
}
type PerfObjectGetInstanceParams ¶
type PerfObjectGetInstanceParams struct { ObjectName string `xml:"objectname"` InstanceUuids struct { Uuids []string `xml:"instance-uuid"` } `xml:"instance-uuids,omitempty"` Instances struct { Instances []string `xml:"instance"` } `xml:"instances,omitempty"` Counters struct { Counter []string `xml:"counter"` } `xml:"counters"` }
type PerfObjectGetInstancesResponse ¶
type PerfObjectGetInstancesResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase PerfObjectInstanceData PerfObjectInstanceData `xml:"instances"` } `xml:"results"` }
type PerfObjectInstanceData ¶
type PerfObjectInstanceData struct {
Instances []InstanceData `xml:"instance-data"`
}
type PerfObjectInstanceListInfoHandler ¶
type PerfObjectInstanceListInfoHandler func(PerfObjectInstanceListInfoPageResponse) (shouldContinue bool)
type PerfObjectInstanceListInfoIterParams ¶
type PerfObjectInstanceListInfoIterParams struct { DesiredAttributes *InstanceInfo `xml:"desired-attributes,omitempty"` FilterData string `xml:"filter-data,omitempty"` MaxRecords int `xml:"max-records,omitempty"` ObjectName string `xml:"objectname"` Query *InstanceInfoQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type PerfObjectInstanceListInfoIterResponse ¶
type PerfObjectInstanceListInfoIterResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { InstanceInfo []InstanceInfo `xml:"instance-info"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type PerfObjectInstanceListInfoPageResponse ¶
type PerfObjectInstanceListInfoPageResponse struct { Response *PerfObjectInstanceListInfoIterResponse Error error RawResponse *http.Response }
type QosPolicy ¶
type QosPolicy struct { Base Params struct { XMLName xml.Name Query *QosPolicyInfo `xml:"desired-attributes,omitempty"` QosPolicyInfo QosPolicyRenameInfo } }
QosPolicy is the main struct we're building on
func (QosPolicy) ChangeIops ¶
func (qp QosPolicy) ChangeIops(iops string, qosPolicyName string) (*QosPolicyResponse, *http.Response, error)
ChangeIops modifies the iops
func (QosPolicy) Create ¶
func (qp QosPolicy) Create(query *QosPolicyInfo) (*QosPolicyResponse, *http.Response, error)
Create makes new qos policy
func (QosPolicy) Delete ¶
Delete removes qos policy from the cluster, optionally forcing that deletion
func (QosPolicy) Get ¶
func (qp QosPolicy) Get(name string, query *QosPolicyInfo) (*QosPolicyResponse, *http.Response, error)
Get grabs a qos policy, note: it will do so cluster wide
func (QosPolicy) Rename ¶
func (qp QosPolicy) Rename(info *QosPolicyRenameInfo) (*QosPolicyResponse, *http.Response, error)
Rename changes policy name, any volumes attached to the policy get the new name automatically
type QosPolicyInfo ¶
type QosPolicyInfo struct { MaxThroughput string `xml:"max-throughput,omitempty"` NumWorkloads int `xml:"num-workloads,omitempty"` PgID int `xml:"pgid,omitempty"` PolicyGroup string `xml:"policy-group,omitempty"` PolicyGroupClass string `xml:"policy-group-class,omitempty"` UUID string `xml:"uuid,omitempty"` VServer string `xml:"vserver,omitempty"` // ReturnRecord is only used in create ReturnRecord bool `xml:"return-record,omitempty"` // Force is only used in delete Force bool `xml:"force,omitempty"` }
QosPolicyInfo is all qos policy data netapp stores
type QosPolicyRenameInfo ¶
type QosPolicyRenameInfo struct { CurrentPolicyGroup string `xml:"policy-group-name,omitempty"` NewPolicyGroup string `xml:"new-name,omitempty"` }
QosPolicyRenameInfo is a struct for renaming a qos policy
type QosPolicyResponse ¶
type QosPolicyResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase QosPolicyInfo QosPolicyInfo `xml:"attributes>qos-policy-group-info"` } `xml:"results"` }
QosPolicyResponse is what comes back from the api
type Qtree ¶
type Qtree struct { Base Params struct { XMLName xml.Name *QtreeOptions } }
func (*Qtree) DeleteAsync ¶
func (*Qtree) List ¶
func (q *Qtree) List(options *QtreeOptions) (*QtreeListResponse, *http.Response, error)
type QtreeInfo ¶
type QtreeInfo struct { ExportPolicy string `xml:"export-policy,omitempty"` ID string `xml:"id,omitempty"` IsExportPolicyInherited string `xml:"is-export-policy-inherited,omitempty"` Mode string `xml:"mode,omitempty"` Oplocks string `xml:"oplocks,omitempty"` Qtree string `xml:"qtree,omitempty"` Force bool `xml:"force,omitempty"` SecurityStyle string `xml:"security-style,omitempty"` Status string `xml:"status,omitempty"` Volume string `xml:"volume,omitempty"` Vserver string `xml:"vserver,omitempty"` }
type QtreeListResponse ¶
type QtreeOptions ¶
type QtreeOptions struct { DesiredAttributes *QtreeQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *QtreeQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` *QtreeInfo }
type QtreeQuery ¶
type QtreeQuery struct {
QtreeInfo *QtreeInfo `xml:"qtree-info,omitempty"`
}
type Quota ¶
type Quota struct { Base Params struct { XMLName xml.Name *QuotaOptions } }
func (*Quota) Create ¶
func (q *Quota) Create(serverName, target, quotaType, qtree string, entry *QuotaEntry) (*QuotaListResponse, *http.Response, error)
func (*Quota) Get ¶
func (q *Quota) Get(name string, options *QuotaOptions) (*QuotaResponse, *http.Response, error)
func (*Quota) List ¶
func (q *Quota) List(options *QuotaOptions) (*QuotaListResponse, *http.Response, error)
func (*Quota) Update ¶
func (q *Quota) Update(serverName string, entry *QuotaEntry) (*QuotaListResponse, *http.Response, error)
type QuotaEntry ¶
type QuotaEntry struct { DiskLimit string `xml:"disk-limit,omitempty"` FileLimit string `xml:"file-limit,omitempty"` PerformUserMapping string `xml:"perform-user-mapping,omitempty"` Policy string `xml:"policy,omitempty"` Qtree *string `xml:"qtree,omitempty"` QuotaTarget string `xml:"quota-target,omitempty"` QuotaType string `xml:"quota-type,omitempty"` SoftDiskLimit string `xml:"soft-disk-limit,omitempty"` SoftFileLimit string `xml:"soft-file-limit,omitempty"` Threshold string `xml:"threshold,omitempty"` Volume string `xml:"volume,omitempty"` Vserver string `xml:"vserver,omitempty"` }
type QuotaListResponse ¶
type QuotaListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { QuotaEntry []QuotaEntry `xml:"quota-entry"` } `xml:"attributes-list"` } `xml:"results"` }
type QuotaOptions ¶
type QuotaOptions struct { DesiredAttributes *QuotaQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *QuotaQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` *QuotaEntry }
type QuotaQuery ¶
type QuotaQuery struct {
QuotaEntry *QuotaEntry `xml:"quota-entry,omitempty"`
}
type QuotaReport ¶
type QuotaReport struct { Base Params struct { XMLName xml.Name *QuotaReportOptions } }
func (*QuotaReport) Report ¶
func (qr *QuotaReport) Report(options *QuotaReportOptions) (*QuotaReportResponse, *http.Response, error)
func (*QuotaReport) ReportPages ¶
func (a *QuotaReport) ReportPages(options *QuotaReportOptions, fn QuotaReportPageHandler)
type QuotaReportEntry ¶
type QuotaReportEntry struct { DiskLimit string `xml:"disk-limit,omitempty"` DiskUsed string `xml:"disk-used,omitempty"` FileLimit string `xml:"file-limit,omitempty"` FilesUsed string `xml:"files-used,omitempty"` QuotaTarget string `xml:"quota-target,omitempty"` QuotaType string `xml:"quota-type,omitempty"` SoftDiskLimit string `xml:"soft-disk-limit,omitempty"` SoftFileLimit string `xml:"soft-file-limit,omitempty"` Threshold string `xml:"threshold,omitempty"` Tree string `xml:"tree,omitempty"` Volume string `xml:"volume,omitempty"` Vserver string `xml:"vserver,omitempty"` }
type QuotaReportEntryQuery ¶
type QuotaReportEntryQuery struct {
QuotaReportEntry *QuotaReportEntry `xml:"quota,omitempty"`
}
type QuotaReportOptions ¶
type QuotaReportOptions struct { DesiredAttributes *QuotaReportEntryQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Path string `xml:"path,omitempty"` Query *QuotaReportEntryQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type QuotaReportPageHandler ¶
type QuotaReportPageHandler func(QuotaReportPagesResponse) (shouldContinue bool)
type QuotaReportPagesResponse ¶
type QuotaReportPagesResponse struct { Response *QuotaReportResponse Error error RawResponse *http.Response }
type QuotaReportResponse ¶
type QuotaReportResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { QuotaReportEntry []QuotaReportEntry `xml:"quota"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type QuotaResponse ¶
type QuotaResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase QuotaEntry } `xml:"results"` }
type QuotaStatus ¶
type QuotaStatus struct { Base Params struct { XMLName xml.Name *QuotaStatusIterOptions } }
func (*QuotaStatus) StatusIter ¶
func (qr *QuotaStatus) StatusIter(options *QuotaStatusIterOptions) (*QuotaStatusIterResponse, *http.Response, error)
func (*QuotaStatus) StatusPages ¶
func (a *QuotaStatus) StatusPages(options *QuotaStatusIterOptions, fn QuotaStatusPageHandler)
type QuotaStatusEntry ¶
type QuotaStatusEntryQuery ¶
type QuotaStatusEntryQuery struct {
QuotaStatusEntry *QuotaStatusEntry `xml:"quota-status-attributes,omitempty"`
}
type QuotaStatusIterOptions ¶
type QuotaStatusIterOptions struct { DesiredAttributes *QuotaStatusEntryQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *QuotaStatusEntryQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type QuotaStatusIterResponse ¶
type QuotaStatusIterResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { QuotaStatusAttributes []QuotaStatusEntry `xml:"quota-status-attributes"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type QuotaStatusPageHandler ¶
type QuotaStatusPageHandler func(QuotaStatusPagesResponse) (shouldContinue bool)
type QuotaStatusPagesResponse ¶
type QuotaStatusPagesResponse struct { Response *QuotaStatusIterResponse Error error RawResponse *http.Response }
type QuotaStatusResponse ¶
type Result ¶
type Result interface { Passed() bool Result() *SingleResultBase }
type ResultBase ¶
type ResultBase struct { Status string `xml:"status,attr"` Reason string `xml:"reason,attr"` NumRecords int `xml:"num-records"` ErrorNo int `xml:"errno,attr"` }
func (*ResultBase) Passed ¶
func (r *ResultBase) Passed() bool
func (*ResultBase) Result ¶
func (r *ResultBase) Result() *SingleResultBase
type SingleResultBase ¶
type SingleResultBase struct { Status string `xml:"status,attr"` Reason string `xml:"reason,attr"` ErrorNo int `xml:"errno,attr"` }
func (*SingleResultBase) Passed ¶
func (r *SingleResultBase) Passed() bool
func (*SingleResultBase) Result ¶
func (r *SingleResultBase) Result() *SingleResultBase
type SingleResultResponse ¶
type SingleResultResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase } `xml:"results"` }
SingleResultResponse is used any time only pass/error is communted back to the client from the server
type Snapmirror ¶
type Snapmirror struct { Base Params struct { XMLName xml.Name DesiredAttributes *SnapmirrorInfo `xml:"desired-attributes>snapmirror-info,omitempty"` *SnapmirrorInfo } }
Snapmirror is Snapmirror API struct
func (Snapmirror) AbortBy ¶
func (s Snapmirror) AbortBy(query *SnapmirrorInfo, continueOnFailure bool) (*SnapmirrorIterResponse, *http.Response, error)
func (Snapmirror) Create ¶
func (s Snapmirror) Create(vServerName string, attributes *SnapmirrorInfo) (*SingleResultResponse, *http.Response, error)
Create creates a snapmirror on a vserver with attributes provided. Note, not all attributes are supported, refer to docs or api errors to diagnose
func (Snapmirror) DestroyBy ¶
func (s Snapmirror) DestroyBy(query *SnapmirrorInfo, continueOnFailure bool) (*SnapmirrorIterResponse, *http.Response, error)
func (Snapmirror) Get ¶
func (s Snapmirror) Get(vServerName string, sourcePath string, destinationPath string, attributes *SnapmirrorInfo) (*SnapmirrorResponse, *http.Response, error)
Get returns data related to a snapmirror
func (Snapmirror) InitializeLSSet ¶
func (s Snapmirror) InitializeLSSet(vServerName string, sourcePath string) (*SnapmirrorAsyncResponse, *http.Response, error)
InitializeLSSet starts a Load Sharing set via an async call
func (Snapmirror) UpdateLSSet ¶
func (s Snapmirror) UpdateLSSet(vServerName string, sourcePath string) (*SnapmirrorAsyncResponse, *http.Response, error)
UpdateLSSet starts a Load Sharing set via an async call
type SnapmirrorAsyncResponse ¶
type SnapmirrorAsyncResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { AsyncResultBase } `xml:"results"` }
type SnapmirrorInfo ¶
type SnapmirrorInfo struct { BreakFailedCount int `xml:"break-failed-count,omitempty"` BreakSuccessCount int `xml:"break-successful-count,omitempty"` CGItemMappings []string `xml:"cg-item-mappings,omitempty"` CurrentMaxTransferRate int `xml:"current-max-transfer-rate,omitempty"` CurrentOperationID string `xml:"current-operation-id,omitempty"` CurrentTransferError string `xml:"current-transfer-error,omitempty"` CurrentTransferPriority string `xml:"current-transfer-priority,omitempty"` CurrentTransferType string `xml:"current-transfer-type,omitempty"` DestinationCluster string `xml:"destination-cluster,omitempty"` DestinationLocation string `xml:"destination-location,omitempty"` DestinationVolume string `xml:"destination-volume,omitempty"` DestinationVolumeNode string `xml:"destination-volume-node,omitempty"` DestinationVServer string `xml:"destination-vserver,omitempty"` ExportedSnapshot string `xml:"exported-snapshot,omitempty"` ExportedSnapshotTimestamp int `xml:"exported-snapshot-timestamp,omitempty"` RestoreFileCount int `xml:"file-restore-file-count,omitempty"` RestoreFileList []string `xml:"file-restore-file-list,omitempty"` IdentitityPreserve bool `xml:"identity-preserve,omitempty"` IsConstituent bool `xml:"is-constituent,omitempty"` IsHealthy bool `xml:"is-healthy,omitempty"` LagTime int `xml:"lag-time,omitempty"` LastTransferDuration int `xml:"last-transfer-duration,omitempty"` LastTransferEndTimestamp int `xml:"last-transfer-end-timestamp,omitempty"` LastTransferError string `xml:"last-transfer-error,omitempty"` LastTransferErrorCodes []int `xml:"last-transfer-error-codes,omitempty"` LastTransferFrom string `xml:"last-transfer-from,omitempty"` LastTransferNetworkCompressionRatio string `xml:"last-transfer-network-compression-ratio,omitempty"` LastTransferSize int `xml:"last-transfer-size,omitempty"` LastTransferType string `xml:"last-transfer-type,omitempty"` MaxTransferRate int `xml:"max-transfer-rate,omitempty"` MirrorState string `xml:"mirror-state,omitempty"` NetworkCompressionRatio string `xml:"network-compression-ratio,omitempty"` NewestSnapshot string `xml:"newest-snapshot,omitempty"` NewestSnapshotTimestamp int `xml:"newest-snapshot-timestamp,omitempty"` Policy string `xml:"policy,omitempty"` PolicyType string `xml:"policy-type,omitempty"` ProgressLastUpdated int `xml:"progress-last-updated,omitempty"` PseudoCommonSnapFailedCount int `xml:"pseudo-common-snap-failed-count,omitempty"` PseudoCommonSnapSuccessCount int `xml:"pseudo-common-snap-success-count,omitempty"` RelationshipControlPlane string `xml:"relationship-control-plane,omitempty"` RelationshipGroupType string `xml:"relationship-group-type,omitempty"` RelationshipID string `xml:"relationship-id,omitempty"` RelationshipProgress int `xml:"relationship-progress,omitempty"` RelationshipStatus string `xml:"relationship-status,omitempty"` RelationshipType string `xml:"relationship-type,omitempty"` ResyncAvgTimeSyncCg int `xml:"resync-avg-time-sync-cg,omitempty"` ResyncFailedCount int `xml:"resync-failed-count,omitempty"` ResyncSuccessCount int `xml:"resync-successful-count,omitempty"` Schedule string `xml:"schedule,omitempty"` SnapshotCheckpoint int `xml:"snapshot-checkpoint,omitempty"` SnapshotProgress int `xml:"snapshot-progress,omitempty"` SourceCluster string `xml:"source-cluster,omitempty"` SourceLocation string `xml:"source-location,omitempty"` SourceVolume string `xml:"source-volume,omitempty"` SourceVolumeNode string `xml:"source-volume-node,omitempty"` SourceVServer string `xml:"source-vserver,omitempty"` TotalTransferBytes int `xml:"total-transfer-bytes,omitempty"` TotalTransferTime int `xml:"total-transfer-time,omitempty"` TransferSnapshot string `xml:"transfer-snapshot,omitempty"` Tries string `xml:"tries,omitempty"` UnhealthyReason string `xml:"unhealthy-reason,omitempty"` UpdateFailedCount int `xml:"update-failed-count,omitempty"` UpdateSuccessCount int `xml:"update-successful-count,omitempty"` VServer string `xml:"vserver,omitempty"` }
SnapmirrorInfo contains all fields for snapmirror data
type SnapmirrorIterResponse ¶
type SnapmirrorIterResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { NumFailed int `xml:"num-failed"` NumSucceeded int `xml:"num-succeeded"` FailureList []struct { ErrorNo int `xml:"error-code"` Reason string `xml:"error-message"` Info *SnapmirrorInfo `xml:"snapmirror-key>snapmirror-info"` } `xml:"failure-list>snapmirror-destroy-iter-info"` SuccessList []struct { Info *SnapmirrorInfo `xml:"snapmirror-key>snapmirror-info"` } `xml:"success-list>snapmirror-destroy-iter-info"` } `xml:"results"` }
type SnapmirrorResponse ¶
type SnapmirrorResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase Info *SnapmirrorInfo `xml:"attributes>snapmirror-info"` } `xml:"results"` }
SnapmirrorResponse returns results for snapmirror
type Snapshot ¶
type Snapshot struct { Base Params struct { XMLName xml.Name *SnapshotOptions } }
func (*Snapshot) List ¶
func (v *Snapshot) List(options *SnapshotOptions) (*SnapshotListResponse, *http.Response, error)
func (*Snapshot) ListPages ¶
func (v *Snapshot) ListPages(options *SnapshotOptions, fn SnapshotPageHandler)
type SnapshotInfo ¶
type SnapshotInfo struct { AccessTime int `xml:"access-time"` Busy bool `xml:"busy"` ContainsLunClones bool `xml:"contains-lun-clones"` CumulativePercentageOfTotalBlocks int `xml:"cumulative-percentage-of-total-blocks"` CumulativePercentageOfUsedBlocks int `xml:"cumulative-percentage-of-used-blocks"` CumulativeTotal int `xml:"cumulative-total"` Dependency string `xml:"dependency"` Is7ModeSnapshot bool `xml:"is-7-mode-snapshot"` Name string `xml:"name"` PercentageOfTotalBlocks int `xml:"percentage-of-total-blocks"` PercentageOfUsedBlocks int `xml:"percentage-of-used-blocks"` SnapmirrorLabel string `xml:"snapmirror-label"` SnapshotInstanceUuid string `xml:"snapshot-instance-uuid"` SnapshotVersionUuid string `xml:"snapshot-version-uuid"` State string `xml:"state"` Total int `xml:"total"` Volume string `xml:"volume"` VolumeProvenanceUuid string `xml:"volume-provenance-uuid"` Vserver string `xml:"vserver"` }
type SnapshotListPagesResponse ¶
type SnapshotListPagesResponse struct { Response *SnapshotListResponse Error error RawResponse *http.Response }
type SnapshotListResponse ¶
type SnapshotListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { SnapshotAttributes []SnapshotInfo `xml:"snapshot-info"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type SnapshotOptions ¶
type SnapshotOptions struct { DesiredAttributes *SnapshotQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *SnapshotQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type SnapshotPageHandler ¶
type SnapshotPageHandler func(SnapshotListPagesResponse) (shouldContinue bool)
type SnapshotQuery ¶
type SnapshotQuery struct {
SnapshotInfo *SnapshotInfo `xml:"snapshot-info,omitempty"`
}
type StorageDisk ¶
type StorageDisk struct { Base Params struct { XMLName xml.Name *StorageDiskOptions } }
func (*StorageDisk) StorageDiskGetAll ¶
func (s *StorageDisk) StorageDiskGetAll(options *StorageDiskOptions, fn StorageDiskGetAllPageHandler)
func (*StorageDisk) StorageDiskGetIter ¶
func (s *StorageDisk) StorageDiskGetIter(options *StorageDiskOptions) (*StorageDiskGetIterResponse, *http.Response, error)
type StorageDiskGetAllPageHandler ¶
type StorageDiskGetAllPageHandler func(StorageDiskInfoPageResponse) (shouldContinue bool)
type StorageDiskGetIterResponse ¶
type StorageDiskGetIterResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { StorageDiskInfo []StorageDiskInfo `xml:"storage-disk-info"` } `xml:"attributes-list"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type StorageDiskInfo ¶
type StorageDiskInfo struct { DiskInventoryInfo *DiskInventoryInfo `xml:"disk-inventory-info,omitempty"` DiskName string `xml:"disk-name,omitempty"` DiskOwnershipInfo *DiskOwnershipInfo `xml:"disk-ownership-info,omitempty"` }
type StorageDiskInfoPageResponse ¶
type StorageDiskInfoPageResponse struct { Response *StorageDiskGetIterResponse Error error RawResponse *http.Response }
type StorageDiskOptions ¶
type StorageDiskOptions struct { DesiredAttributes *StorageDiskInfo `xml:"desired-attributes>storage-disk-info,omitempty"` Query *StorageDiskInfo `xml:"query>storage-disk-info,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Tag string `xml:"tag,omitempty"` }
type StorageFailoverInfo ¶
type StorageFailoverInfo struct { InterconnectRelatedInfo *InterconnectRelatedInfo `xml:"sfo-interconnect-info>interconnect-related-info"` NodeRelatedInfo *NodeRelatedInfo `xml:"sfo-node-info>node-related-info"` TakeoverRelatedInfo *TakeoverRelatedInfo `xml:"sfo-takeover-info>takeover-related-info"` GivebackRelatedInfo *GivebackRelatedInfo `xml:"sfo-giveback-info>giveback-related-info"` }
type StorageFailoverInfoPageHandler ¶
type StorageFailoverInfoPageHandler func(ClusterFailoverInfoPagesResponse) (shouldContinue bool)
type StorageFailoverInfoQuery ¶
type StorageFailoverInfoQuery struct {
StorageFailoverInfo *StorageFailoverInfo `xml:"storage-failover-info,omitempty"`
}
type System ¶
type System struct { Base Params struct { XMLName xml.Name *NodeDetailOptions } }
func (*System) List ¶
func (s *System) List(options *NodeDetailOptions) (*NodeDetailsResponse, *http.Response, error)
func (*System) ListPages ¶
func (s *System) ListPages(options *NodeDetailOptions, fn NodeDetailsPageHandler)
type TakeoverRelatedInfo ¶
type TakeoverRelatedInfo struct { TakeoverByPartnerPossible bool `xml:"takeover-by-partner-possible"` TakeoverEnabled bool `xml:"takeover-enabled"` TakeoverFailureReason string `xml:"takeover-failure-reason"` TakeoverModule string `xml:"takeover-module"` TakeoverOfPartnerPossible bool `xml:"takeover-of-partner-possible"` TakeoverReason string `xml:"takeover-reason"` TakeoverState string `xml:"takeover-state"` TimeSinceTakeover int `xml:"time-since-takeover"` TimeUntilTakeover int `xml:"time-until-takeover"` }
type VServer ¶
type VServer struct { Base Params struct { XMLName xml.Name VServerInfo `xml:",innerxml"` VServerOptions } }
func (VServer) AddInitiator ¶
func (v VServer) AddInitiator(vServerName string, iGroupName string, initiator string) (*VServerIgroupsResponse, *http.Response, error)
AddInitiator add an initiator to an igroup
func (VServer) Create ¶
func (v VServer) Create(options *VServerInfo) (*VServerAsyncResponse, *http.Response, error)
Create creates a new VServer
func (VServer) CreateExportRule ¶
func (v VServer) CreateExportRule(vServerName string, options *VServerExportRuleInfo) (*VServerExportsResponse, *http.Response, error)
CreateExportRule creates a new export rule for a given vserver
func (VServer) CreateNfsService ¶
func (v VServer) CreateNfsService(vServerName string, options *VServerNfsCreateOptions) (*SingleResultResponse, *http.Response, error)
CreateNfsService configures and enables nfs service on a vserver
func (VServer) DeleteExportRule ¶
func (v VServer) DeleteExportRule(vServerName string, policyName string, ruleIndex int) (*VServerExportsResponse, *http.Response, error)
DeleteExportRule removes an export rule for a given vserver, policy and rule index
func (VServer) Get ¶
func (v VServer) Get(name string, options *VServerOptions) (*VServerResponse, *http.Response, error)
func (VServer) List ¶
func (v VServer) List(options *VServerOptions) (*VServerListResponse, *http.Response, error)
func (VServer) ListExportRules ¶
func (v VServer) ListExportRules(vServerName string) (*ExportRuleListResponse, *http.Response, error)
ListExportRules lists all export rules on a vserver
func (VServer) Modify ¶
func (v VServer) Modify(name string, options *VServerInfo) (*SingleResultResponse, *http.Response, error)
type VServerAsyncResponse ¶
type VServerAsyncResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { AsyncResultBase VServerInfo VServerInfo `xml:"result>vserver-info"` } `xml:"results"` }
VServerAsyncResponse returns job-based responses
type VServerExportRuleInfo ¶
type VServerExportRuleInfo struct { AnonymousUserID int `xml:"anonymous-user-id,omitempty"` ClientMatch string `xml:"client-match,omitempty"` ExportChownMode string `xml:"export-chown-mode,omitempty"` ExportNTFSUnixSecurityOps string `xml:"export-ntfs-unix-security-ops,omitempty"` AllowCreateDevices bool `xml:"is-allow-dev-is-enabled,omitempty"` AllowSetUID bool `xml:"is-allow-set-uid-enabled,omitempty"` PolicyName string `xml:"policy-name,omitempty"` Protocol *[]string `xml:"protocol>access-protocol,omitempty"` ReadOnlyRule *[]string `xml:"ro-rule>security-flavor,omitempty"` RuleIndex int `xml:"rule-index,omitempty"` ReadWriteRule *[]string `xml:"rw-rule>security-flavor,omitempty"` SuperUserSecurity *[]string `xml:"super-user-security>security-flavor,omitempty"` }
VServerExportRuleInfo sets all different options for Export Rules
type VServerExportsResponse ¶
type VServerExportsResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase } `xml:"results"` }
VServerExportsResponse creates correct response obj
type VServerIgroupInfo ¶
type VServerIgroupInfo struct { PortsetName string `xml:"initiator-group-portset-name,omitempty"` InitiatorGroupName string `xml:"initiator-group-name,omitempty"` InitiatorGroupUUID string `xml:"initiator-group-uuid,omitempty"` InitiatorName string `xml:"initiator,omitempty"` Force bool `xml:"force,omitempty"` }
VServerIgroupInfo sets all different options for the igroup
type VServerIgroupsResponse ¶
type VServerIgroupsResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase } `xml:"results"` }
VServerIgroupsResponse creates correct response obj
type VServerInfo ¶
type VServerInfo struct { AntivirusOnAccessPolicy string `xml:"antivirus-on-access-policy,omitempty"` AggregateList *[]string `xml:"aggr-list>aggr-name"` Comment string `xml:"comment,omitempty"` Ipspace string `xml:"ipspace,omitempty"` IsRepositoryVserver string `xml:"is-repository-vserver,omitempty"` SnapshotPolicy string `xml:"snapshot-policy,omitempty"` UUID string `xml:"uuid,omitempty"` VserverName string `xml:"vserver-name,omitempty"` VserverType string `xml:"vserver-type,omitempty"` AllowedProtocols *[]string `xml:"allowed-protocols>protocol,omitempty"` DisallowedProtocols *[]string `xml:"disallowed-protocols>protocol,omitempty"` IsConfigLockedForChanges bool `xml:"is-config-locked-for-changes,omitempty"` Language string `xml:"language,omitempty"` MaxVolumes string `xml:"max-volumes,omitempty"` NameMappingSwitch *[]string `xml:"name-mapping-switch>nmswitch,omitempty"` NameServerSwitch *[]string `xml:"name-server-switch>nsswitch,omitempty"` OperationalState string `xml:"operational-state,omitempty"` QuotaPolicy string `xml:"quota-policy,omitempty"` RootVolume string `xml:"root-volume,omitempty"` RootVolumeAggregate string `xml:"root-volume-aggregate,omitempty"` RootVolumeSecurityStyle string `xml:"root-volume-security-style,omitempty"` State string `xml:"state,omitempty"` VolumeDeleteRetentionHours int `xml:"volume-delete-retention-hours,omitempty"` VserverSubtype string `xml:"vserver-subtype,omitempty"` }
type VServerListResponse ¶
type VServerListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { VserverInfo []VServerInfo `xml:"vserver-info"` } `xml:"attributes-list"` } `xml:"results"` }
type VServerNfsCreateOptions ¶
type VServerOptions ¶
type VServerOptions struct { DesiredAttributes *VServerQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *VServerQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type VServerQuery ¶
type VServerQuery struct {
VServerInfo *VServerInfo `xml:"vserver-info,omitempty"`
}
type VServerResponse ¶
type VServerResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase VServerInfo VServerInfo `xml:"attributes>vserver-info"` } `xml:"results"` }
type Volume ¶
type Volume struct { Base Params struct { XMLName xml.Name *VolumeOptions } }
func (Volume) List ¶
func (v Volume) List(options *VolumeOptions) (*VolumeListResponse, *http.Response, error)
func (*Volume) ListPages ¶
func (v *Volume) ListPages(options *VolumeOptions, fn VolumePageHandler)
func (Volume) Modify ¶
func (v Volume) Modify(options *VolumeOptions) (*VolumeModifyResponce, *http.Response, error)
Modify changes some volume properties, note: it will silently ignore things it cannot change
type VolumeAntivirusAttributes ¶
type VolumeAntivirusAttributes struct {
OnAccessPolicy string `xml:"on-access-policy"`
}
type VolumeAutobalanceAttributes ¶
type VolumeAutobalanceAttributes struct {
IsAutobalanceEligible string `xml:"is-autobalance-eligible"`
}
type VolumeAutosizeAttributes ¶
type VolumeAutosizeAttributes struct { GrowThresholdPercent string `xml:"grow-threshold-percent"` IsEnabled string `xml:"is-enabled"` MaximumSize string `xml:"maximum-size"` MinimumSize string `xml:"minimum-size"` Mode string `xml:"mode"` ShrinkThresholdPercent string `xml:"shrink-threshold-percent"` }
type VolumeCreateOptions ¶
type VolumeCreateOptions struct { AntivirusOnAccessPolicy string `xml:"antivirus-on-access-policy,omitempty"` CacheRetentionPriority string `xml:"cache-retention-priority,omitempty"` CachingPolicy string `xml:"caching-policy,omitempty"` ConstituentRole string `xml:"constituent-role,omitempty"` ContainingAggregateName string `xml:"containing-aggr-name,omitempty"` EfficiencyPolicy string `xml:"efficiency-policy,omitempty"` Encrypt bool `xml:"encrypt,omitempty"` ExcludedFromAutobalance bool `xml:"excluded-from-autobalance,omitempty"` ExportPolicy string `xml:"export-policy,omitempty"` ExtentSize string `xml:"extent-size,omitempty"` FlexcachePolicy string `xml:"flexcache-cache-policy,omitempty"` FlexcacheFillPolicy string `xml:"flexcache-fill-policy,omitempty"` FlexcacheOriginVolumeName string `xml:"flexcache-origin-volume-name,omitempty"` GroupID int `xml:"group-id,omitempty"` IsJunctionActive bool `xml:"is-junction-active,omitempty"` IsNvfailEnabled string `xml:"is-nvfail-enabled,omitempty"` IsVserverRoot bool `xml:"is-vserver-root,omitempty"` JunctionPath string `xml:"junction-path,omitempty"` LanguageCode string `xml:"language-code,omitempty"` MaxDirSize int `xml:"max-dir-size,omitempty"` MaxWriteAllocBlocks int `xml:"max-write-alloc-blocks,omitempty"` PercentageSnapshotReserve int `xml:"percentage-snapshot-reserve,omitempty"` QosAdaptivePolicyGroupName string `xml:"qos-adaptive-policy-group-name,omitempty"` QosPolicyGroupName string `xml:"qos-policy-group-name,omitempty"` Size string `xml:"size,omitempty"` SnapshotPolicy string `xml:"snapshot-policy,omitempty"` SpaceReserve string `xml:"space-reserve,omitempty"` SpaceSlo string `xml:"space-slo,omitempty"` StorageService string `xml:"storage-service,omitempty"` TieringPolicy string `xml:"tiering-policy,omitempty"` UnixPermissions string `xml:"unix-permissions,omitempty"` UserID int `xml:"user-id,omitempty"` VMAlignSector int `xml:"vm-align-sector,omitempty"` VMAlignSuffix string `xml:"vm-align-suffix,omitempty"` Volume string `xml:"volume,omitempty"` VolumeComment string `xml:"volume-comment,omitempty"` VolumeSecurityStyle string `xml:"volume-security-style,omitempty"` VolumeState string `xml:"volume-state,omitempty"` VolumeType string `xml:"volume-type,omitempty"` VserverDrProtection string `xml:"vserver-dr-protection,omitempty"` }
VolumeCreateOptions struct is used for volume creation
type VolumeExportAttributes ¶
type VolumeExportAttributes struct {
Policy string `xml:"policy"`
}
type VolumeIDAttributes ¶
type VolumeIDAttributes struct { AggrList []string `xml:"aggr-list>aggr-name,omitempty"` Comment string `xml:"comment,omitempty"` ContainingAggregateName string `xml:"containing-aggregate-name,omitempty"` ContainingAggregateUUID string `xml:"containing-aggregate-uuid,omitempty"` CreationTime string `xml:"creation-time,omitempty"` Dsid string `xml:"dsid,omitempty"` Fsid string `xml:"fsid,omitempty"` InstanceUUID string `xml:"instance-uuid,omitempty"` JunctionParentName string `xml:"junction-parent-name,omitempty"` JunctionPath string `xml:"junction-path,omitempty"` Msid string `xml:"msid,omitempty"` Name string `xml:"name,omitempty"` NameOrdinal string `xml:"name-ordinal,omitempty"` Node string `xml:"node,omitempty"` Nodes []string `xml:"nodes>node-name,omitempty"` OwningVserverName string `xml:"owning-vserver-name,omitempty"` OwningVserverUUID string `xml:"owning-vserver-uuid,omitempty"` ProvenanceUUID string `xml:"provenance-uuid,omitempty"` Style string `xml:"style,omitempty"` StyleExtended string `xml:"style-extended,omitempty"` Type string `xml:"type,omitempty"` UUID string `xml:"uuid,omitempty"` }
type VolumeInfo ¶
type VolumeInfo struct { Encrypt string `xml:"encrypt,omitempty"` KeyID string `xml:"key-id,omitempty"` VolumeAntivirusAttributes *VolumeAntivirusAttributes `xml:"volume-antivirus-attributes,omitempty"` VolumeAutobalanceAttributes *VolumeAutobalanceAttributes `xml:"volume-autobalance-attributes,omitempty"` VolumeAutosizeAttributes *VolumeAutosizeAttributes `xml:"volume-autosize-attributes"` VolumeDirectoryAttributes *VolumeDirectoryAttributes `xml:"volume-directory-attributes"` VolumeExportAttributes *VolumeExportAttributes `xml:"volume-export-attributes,omitempty"` VolumeHybridCacheAttributes *VolumeHybridCacheAttributes `xml:"volume-hybrid-cache-attributes,omitempty"` VolumeIDAttributes *VolumeIDAttributes `xml:"volume-id-attributes,omitempty"` VolumeInodeAttributes *VolumeInodeAttributes `xml:"volume-inode-attributes,omitempty"` VolumeLanguageAttributes *VolumeLanguageAttributes `xml:"volume-language-attributes,omitempty"` VolumeMirrorAttributes *VolumeMirrorAttributes `xml:"volume-mirror-attributes,omitempty"` VolumePerformanceAttributes *VolumePerformanceAttributes `xml:"volume-performance-attributes,omitempty"` VolumeQosAttributes *VolumeQosAttributes `xml:"volume-qos-attributes,omitempty"` VolumeSecurityAttributes *VolumeSecurityAttributes `xml:"volume-security-attributes,omitempty"` VolumeSisAttributes *VolumeSisAttributes `xml:"volume-sis-attributes,omitempty"` VolumeSnaplockAttributes *VolumeSnaplockAttributes `xml:"volume-snaplock-attributes,omitempty"` VolumeSnapshotAttributes *VolumeSnapshotAttributes `xml:"volume-snapshot-attributes,omitempty"` VolumeSnapshotAutodeleteAttributes *VolumeSnapshotAutodeleteAttributes `xml:"volume-snapshot-autodelete-attributes,omitempty"` VolumeSpaceAttributes *VolumeSpaceAttributes `xml:"volume-space-attributes,omitempty"` VolumeStateAttributes *VolumeStateAttributes `xml:"volume-state-attributes,omitempty"` VolumeTransitionAttributes *VolumeTransitionAttributes `xml:"volume-transition-attributes,omitempty"` }
type VolumeInodeAttributes ¶
type VolumeInodeAttributes struct { BlockType string `xml:"block-type"` FilesPrivateUsed string `xml:"files-private-used"` FilesTotal string `xml:"files-total"` FilesUsed string `xml:"files-used"` InodefilePrivateCapacity string `xml:"inodefile-private-capacity"` InodefilePublicCapacity string `xml:"inodefile-public-capacity"` InofileVersion string `xml:"inofile-version"` }
type VolumeLanguageAttributes ¶
type VolumeLanguageAttributes struct { IsConvertUcodeEnabled string `xml:"is-convert-ucode-enabled"` IsCreateUcodeEnabled string `xml:"is-create-ucode-enabled"` Language string `xml:"language"` LanguageCode string `xml:"language-code"` NfsCharacterSet string `xml:"nfs-character-set"` OemCharacterSet string `xml:"oem-character-set"` }
type VolumeListPagesResponse ¶
type VolumeListPagesResponse struct { Response *VolumeListResponse Error error RawResponse *http.Response }
type VolumeListResponse ¶
type VolumeListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList []VolumeInfo `xml:"attributes-list>volume-attributes"` NextTag string `xml:"next-tag"` NumRecords int `xml:"num-records"` } `xml:"results"` }
type VolumeMirrorAttributes ¶
type VolumeMirrorAttributes struct { IsDataProtectionMirror string `xml:"is-data-protection-mirror"` IsLoadSharingMirror string `xml:"is-load-sharing-mirror"` IsMoveMirror string `xml:"is-move-mirror"` IsReplicaVolume string `xml:"is-replica-volume"` MirrorTransferInProgress string `xml:"mirror-transfer-in-progress"` RedirectSnapshotID string `xml:"redirect-snapshot-id"` }
type VolumeModifyInfo ¶
type VolumeModifyInfo struct { ErrorCode int `xml:"error-code,omitempty"` ErrorMessage string `xml:"error-message,omitempty"` VolumeKey *VolumeInfo `xml:"volume-key,omitempty"` }
type VolumeModifyOptions ¶
type VolumeModifyOptions struct { *VolumeOptions ContinueOnFailure bool `xml:"continue-on-failure,omitempty"` MaxFailureCount int `xml:"max-failure-count,omitempty"` ReturnFailureList bool `xml:"return-failure-list,omitempty"` ReturnSuccessList bool `xml:"return-success-list,omitempty"` }
type VolumeModifyResponce ¶
type VolumeModifyResponce struct { XMLName xml.Name `xml:"netapp"` Results struct { SingleResultBase FailureList *[]VolumeModifyInfo `xml:"failure-list>volume-modify-iter-info"` SuccessList *[]VolumeModifyInfo `xml:"success-list>volume-modify-iter-info"` NextTag string `xml:"next-tag"` NumberSucceeded int `xml:"num-succeeded"` NumberFailed int `xml:"num-failed"` } `xml:"results"` }
type VolumeOperation ¶
type VolumeOperation struct { Base Params struct { XMLName xml.Name VolumeName *volumeName VolumeCreateOptions } }
VolumeOperation is the base struct for volume operations
func (VolumeOperation) Create ¶
func (v VolumeOperation) Create(vserverName string, options *VolumeCreateOptions) (*SingleResultResponse, *http.Response, error)
Create a new volume
func (VolumeOperation) Operation ¶
func (v VolumeOperation) Operation(vserverName string, volName string, operation string) (*SingleResultResponse, *http.Response, error)
Operation runs several operations (from consts defined above with VolumeOperation* name)
type VolumeOptions ¶
type VolumeOptions struct { DesiredAttributes *VolumeQuery `xml:"desired-attributes,omitempty"` Attributes *VolumeQuery `xml:"attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *VolumeQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type VolumePageHandler ¶
type VolumePageHandler func(VolumeListPagesResponse) (shouldContinue bool)
type VolumePerformanceAttributes ¶
type VolumePerformanceAttributes struct { ExtentEnabled string `xml:"extent-enabled"` FcDelegsEnabled string `xml:"fc-delegs-enabled"` IsAtimeUpdateEnabled string `xml:"is-atime-update-enabled"` MaxWriteAllocBlocks string `xml:"max-write-alloc-blocks"` MinimalReadAhead string `xml:"minimal-read-ahead"` ReadRealloc string `xml:"read-realloc"` }
type VolumeQosAttributes ¶
type VolumeQosAttributes struct { AdaptivePolicyGroupName string `xml:"adaptive-policy-group-name,omitempty"` PolicyGroupName string `xml:"policy-group-name"` }
VolumeQosAttributes is for tracking QOS-related volume attributes
type VolumeQuery ¶
type VolumeQuery struct {
VolumeInfo *VolumeInfo `xml:"volume-attributes,omitempty"`
}
type VolumeSisAttributes ¶
type VolumeSisAttributes struct { CompressionSpaceSaved string `xml:"compression-space-saved"` DeduplicationSpaceSaved string `xml:"deduplication-space-saved"` IsSisLoggingEnabled string `xml:"is-sis-logging-enabled"` IsSisStateEnabled string `xml:"is-sis-state-enabled"` IsSisVolume string `xml:"is-sis-volume"` PercentageCompressionSpaceSaved string `xml:"percentage-compression-space-saved"` PercentageDeduplicationSpaceSaved string `xml:"percentage-deduplication-space-saved"` PercentageTotalSpaceSaved string `xml:"percentage-total-space-saved"` TotalSpaceSaved string `xml:"total-space-saved"` }
type VolumeSnaplockAttributes ¶
type VolumeSnaplockAttributes struct {
SnaplockType string `xml:"snaplock-type"`
}
type VolumeSnapshotAttributes ¶
type VolumeSnapshotAttributes struct { AutoSnapshotsEnabled string `xml:"auto-snapshots-enabled,omitempty"` SnapdirAccessEnabled bool `xml:"snapdir-access-enabled,omitempty"` SnapshotCloneDependencyEnabled string `xml:"snapshot-clone-dependency-enabled,omitempty"` SnapshotCount string `xml:"snapshot-count,omitempty"` SnapshotPolicy string `xml:"snapshot-policy,omitempty"` }
type VolumeSnapshotAutodeleteAttributes ¶
type VolumeSnapshotAutodeleteAttributes struct { Commitment string `xml:"commitment"` DeferDelete string `xml:"defer-delete"` DeleteOrder string `xml:"delete-order"` DestroyList string `xml:"destroy-list"` IsAutodeleteEnabled string `xml:"is-autodelete-enabled"` Prefix string `xml:"prefix"` TargetFreeSpace string `xml:"target-free-space"` Trigger string `xml:"trigger"` }
type VolumeSpace ¶
type VolumeSpace struct { Base Params struct { XMLName xml.Name *VolumeSpaceOptions } }
func (*VolumeSpace) List ¶
func (v *VolumeSpace) List(options *VolumeSpaceOptions) (*VolumeSpaceListResponse, *http.Response, error)
type VolumeSpaceAttributes ¶
type VolumeSpaceAttributes struct { FilesystemSize string `xml:"filesystem-size,omitempty"` IsFilesysSizeFixed string `xml:"is-filesys-size-fixed,omitempty"` IsSpaceGuaranteeEnabled string `xml:"is-space-guarantee-enabled,omitempty"` IsSpaceSloEnabled string `xml:"is-space-slo-enabled,omitempty"` LogicalUsed string `xml:"logical-used,omitempty"` LogicalUsedByAfs string `xml:"logical-used-by-afs,omitempty"` LogicalUsedBySnapshot string `xml:"logical-used-by-snapshot,omitempty"` LogicalUsedPercent string `xml:"logical-used-percent,omitempty"` OverwriteReserve string `xml:"overwrite-reserve,omitempty"` OverwriteReserveRequired string `xml:"overwrite-reserve-required,omitempty"` OverwriteReserveUsed string `xml:"overwrite-reserve-used,omitempty"` OverwriteReserveUsedActual string `xml:"overwrite-reserve-used-actual,omitempty"` PercentageFractionalReserve string `xml:"percentage-fractional-reserve,omitempty"` PercentageSizeUsed string `xml:"percentage-size-used,omitempty"` PercentageSnapshotReserve string `xml:"percentage-snapshot-reserve,omitempty"` PercentageSnapshotReserveUsed string `xml:"percentage-snapshot-reserve-used,omitempty"` PhysicalUsed string `xml:"physical-used,omitempty"` PhysicalUsedPercent string `xml:"physical-used-percent,omitempty"` Size int `xml:"size,omitempty"` SizeAvailable string `xml:"size-available,omitempty"` SizeAvailableForSnapshots string `xml:"size-available-for-snapshots,omitempty"` SizeTotal string `xml:"size-total,omitempty"` SizeUsed string `xml:"size-used,omitempty"` SizeUsedBySnapshots string `xml:"size-used-by-snapshots,omitempty"` SnapshotReserveSize string `xml:"snapshot-reserve-size,omitempty"` SpaceFullThresholdPercent string `xml:"space-full-threshold-percent,omitempty"` SpaceGuarantee string `xml:"space-guarantee,omitempty"` SpaceMgmtOptionTryFirst string `xml:"space-mgmt-option-try-first,omitempty"` SpaceNearlyFullThresholdPercent string `xml:"space-nearly-full-threshold-percent,omitempty"` SpaceSlo string `xml:"space-slo,omitempty"` }
type VolumeSpaceInfo ¶
type VolumeSpaceInfo struct { FilesystemMetadata string `xml:"filesystem-metadata"` FilesystemMetadataPercent string `xml:"filesystem-metadata-percent"` Inodes string `xml:"inodes"` InodesPercent string `xml:"inodes-percent"` PerformanceMetadata string `xml:"performance-metadata"` PerformanceMetadataPercent string `xml:"performance-metadata-percent"` PhysicalUsed int `xml:"physical-used"` PhysicalUsedPercent string `xml:"physical-used-percent"` SnapshotReserve string `xml:"snapshot-reserve"` SnapshotReservePercent string `xml:"snapshot-reserve-percent"` TotalUsed int `xml:"total-used"` TotalUsedPercent string `xml:"total-used-percent"` UserData string `xml:"user-data"` UserDataPercent string `xml:"user-data-percent"` Volume string `xml:"volume"` Vserver string `xml:"vserver"` }
type VolumeSpaceInfoQuery ¶
type VolumeSpaceInfoQuery struct {
VolumeSpaceInfo *VolumeSpaceInfo `xml:"space-info,omitempty"`
}
type VolumeSpaceListResponse ¶
type VolumeSpaceListResponse struct { XMLName xml.Name `xml:"netapp"` Results struct { ResultBase AttributesList struct { SpaceInfo VolumeSpacesInfo `xml:"space-info"` } `xml:"attributes-list"` NumRecords string `xml:"num-records"` } `xml:"results"` }
type VolumeSpaceOptions ¶
type VolumeSpaceOptions struct { DesiredAttributes *VolumeSpaceInfoQuery `xml:"desired-attributes,omitempty"` MaxRecords int `xml:"max-records,omitempty"` Query *VolumeSpaceInfoQuery `xml:"query,omitempty"` Tag string `xml:"tag,omitempty"` }
type VolumeSpacesInfo ¶
type VolumeSpacesInfo []VolumeSpaceInfo
func (VolumeSpacesInfo) Len ¶
func (v VolumeSpacesInfo) Len() int
func (VolumeSpacesInfo) Less ¶
func (p VolumeSpacesInfo) Less(i, j int) bool
func (VolumeSpacesInfo) Swap ¶
func (v VolumeSpacesInfo) Swap(i, j int)
type VolumeStateAttributes ¶
type VolumeStateAttributes struct { BecomeNodeRootAfterReboot string `xml:"become-node-root-after-reboot"` ForceNvfailOnDr string `xml:"force-nvfail-on-dr"` IgnoreInconsistent string `xml:"ignore-inconsistent"` InNvfailedState string `xml:"in-nvfailed-state"` IsClusterVolume string `xml:"is-cluster-volume"` IsConstituent string `xml:"is-constituent"` IsFlexgroup string `xml:"is-flexgroup"` IsInconsistent string `xml:"is-inconsistent"` IsInvalid string `xml:"is-invalid"` IsJunctionActive string `xml:"is-junction-active"` IsMoving string `xml:"is-moving"` IsNodeRoot string `xml:"is-node-root"` IsNvfailEnabled string `xml:"is-nvfail-enabled"` IsQuiescedInMemory string `xml:"is-quiesced-in-memory"` IsQuiescedOnDisk string `xml:"is-quiesced-on-disk"` IsUnrecoverable string `xml:"is-unrecoverable"` IsVolumeInCutover string `xml:"is-volume-in-cutover"` IsVserverRoot string `xml:"is-vserver-root"` State string `xml:"state"` }
Source Files ¶
- aggregate.go
- base.go
- cf.go
- cluster.go
- diagnosis.go
- fcp.go
- fcport.go
- job.go
- lun.go
- lun_operations.go
- net-broadcast-domain.go
- net-ipspace.go
- net-vlan.go
- net.go
- netapp.go
- perf.go
- qos-policy.go
- qtree.go
- quota.go
- snapmirror.go
- snapshot.go
- storage-disk.go
- system.go
- volume-modify.go
- volume-operations.go
- volume.go
- vserver-exports.go
- vserver-igroups.go
- vserver-nfs.go
- vserver.go