ontap

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2020 License: MIT Imports: 11 Imported by: 1

README

go-ontap

Golang module to access Netapp ontap API and pull data

Sample usage:

package main

import (
	"fmt"
	"github.com/marstid/go-ontap"
)

func main() {

	client := ontap.NewClient("hostname.tld", "ontap-userid", "password", true)
	client.Debug = false

	// Print ONTAP version
	version, err := client.GetSystemVersion()
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println(client.Host + " running " + version + "\n\n")
	}

	// Get information about volumes
	volumes, err := client.GetVolumeInfo(100)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(client.Host + " has following Volumes:")
	for _, v := range volumes {
		fmt.Println(v.Name)
	}

	// Get information about disks
	disks, err := client.GetDiskInfo()
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println()
	fmt.Println(client.Host + " has following Disks:")
	for _, v := range disks {
		fmt.Println("Name: " + v.Name + ", Type: " + v.DiskType + ", Model: " + v.Model)
	}


}

Documentation

Index

Constants

View Source
const XMLns = "http://www.netapp.com/filer/admin"

Variables

This section is empty.

Functions

This section is empty.

Types

type AggrInfo

type AggrInfo struct {
	Name            string
	SizeTotal       string
	SizeUsed        string
	SizeAvailable   string
	SizeUsedPercent string
	State           string
	Cluster         string
	// Data Compaction
	DataCompactionSpaceSaved        string
	DataCompactionSpaceSavedPercent string
	// Sis
	SisSpaceSaved        string
	SisSpaceSavedPercent string
}

type AggrInfoRequest

type AggrInfoRequest struct {
	XMLName     xml.Name `xml:"netapp"`
	Version     string   `xml:"version,attr"`
	Xmlns       string   `xml:"xmlns,attr"`
	AggrGetIter struct {
		MaxRecords string `xml:"max-records"`
	} `xml:"aggr-get-iter"`
}

type AggrInfoResponse

type AggrInfoResponse struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Results struct {
		Text           string `xml:",chardata"`
		Status         string `xml:"status,attr"`
		AttributesList struct {
			Text           string `xml:",chardata"`
			AggrAttributes []struct {
				Text             string `xml:",chardata"`
				AggrFsAttributes struct {
					Text      string `xml:",chardata"`
					BlockType string `xml:"block-type"`
					Fsid      string `xml:"fsid"`
					Type      string `xml:"type"`
				} `xml:"aggr-fs-attributes"`
				AggrInodeAttributes struct {
					Text                     string `xml:",chardata"`
					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"`
					MaxfilesAvailable        string `xml:"maxfiles-available"`
					MaxfilesPossible         string `xml:"maxfiles-possible"`
					MaxfilesUsed             string `xml:"maxfiles-used"`
					PercentInodeUsedCapacity string `xml:"percent-inode-used-capacity"`
				} `xml:"aggr-inode-attributes"`
				AggrOwnershipAttributes struct {
					Text      string `xml:",chardata"`
					Cluster   string `xml:"cluster"`
					HomeID    string `xml:"home-id"`
					HomeName  string `xml:"home-name"`
					OwnerID   string `xml:"owner-id"`
					OwnerName string `xml:"owner-name"`
				} `xml:"aggr-ownership-attributes"`
				AggrPerformanceAttributes struct {
					Text                      string `xml:",chardata"`
					FreeSpaceRealloc          string `xml:"free-space-realloc"`
					MaxWriteAllocBlocks       string `xml:"max-write-alloc-blocks"`
					SingleInstanceDataLogging string `xml:"single-instance-data-logging"`
				} `xml:"aggr-performance-attributes"`
				AggrRaidAttributes struct {
					Text              string `xml:",chardata"`
					AggregateType     string `xml:"aggregate-type"`
					ChecksumStatus    string `xml:"checksum-status"`
					ChecksumStyle     string `xml:"checksum-style"`
					DiskCount         string `xml:"disk-count"`
					HaPolicy          string `xml:"ha-policy"`
					HasLocalRoot      string `xml:"has-local-root"`
					HasPartnerRoot    string `xml:"has-partner-root"`
					IsChecksumEnabled string `xml:"is-checksum-enabled"`
					IsComposite       string `xml:"is-composite"`
					IsEncrypted       string `xml:"is-encrypted"`
					IsHybrid          string `xml:"is-hybrid"`
					IsHybridEnabled   string `xml:"is-hybrid-enabled"`
					IsInconsistent    string `xml:"is-inconsistent"`
					IsMirrored        string `xml:"is-mirrored"`
					IsRootAggregate   string `xml:"is-root-aggregate"`
					MirrorStatus      string `xml:"mirror-status"`
					MountState        string `xml:"mount-state"`
					PlexCount         string `xml:"plex-count"`
					Plexes            struct {
						Text           string `xml:",chardata"`
						PlexAttributes struct {
							Text        string `xml:",chardata"`
							IsOnline    string `xml:"is-online"`
							IsResyncing string `xml:"is-resyncing"`
							PlexName    string `xml:"plex-name"`
							PlexStatus  string `xml:"plex-status"`
							Pool        string `xml:"pool"`
							Raidgroups  struct {
								Text                string `xml:",chardata"`
								RaidgroupAttributes struct {
									Text                        string `xml:",chardata"`
									ChecksumStyle               string `xml:"checksum-style"`
									IsCacheTier                 string `xml:"is-cache-tier"`
									IsRecomputingParity         string `xml:"is-recomputing-parity"`
									IsReconstructing            string `xml:"is-reconstructing"`
									RaidgroupName               string `xml:"raidgroup-name"`
									RecomputingParityPercentage string `xml:"recomputing-parity-percentage"`
									ReconstructionPercentage    string `xml:"reconstruction-percentage"`
								} `xml:"raidgroup-attributes"`
							} `xml:"raidgroups"`
							ResyncingPercentage string `xml:"resyncing-percentage"`
						} `xml:"plex-attributes"`
					} `xml:"plexes"`
					RaidLostWriteState string `xml:"raid-lost-write-state"`
					RaidSize           string `xml:"raid-size"`
					RaidStatus         string `xml:"raid-status"`
					RaidType           string `xml:"raid-type"`
					State              string `xml:"state"`
					UsesSharedDisks    string `xml:"uses-shared-disks"`
				} `xml:"aggr-raid-attributes"`
				AggrSnaplockAttributes struct {
					Text         string `xml:",chardata"`
					IsSnaplock   string `xml:"is-snaplock"`
					SnaplockType string `xml:"snaplock-type"`
				} `xml:"aggr-snaplock-attributes"`
				AggrSnapshotAttributes struct {
					Text                        string `xml:",chardata"`
					FilesTotal                  string `xml:"files-total"`
					FilesUsed                   string `xml:"files-used"`
					IsSnapshotAutoCreateEnabled string `xml:"is-snapshot-auto-create-enabled"`
					IsSnapshotAutoDeleteEnabled string `xml:"is-snapshot-auto-delete-enabled"`
					MaxfilesAvailable           string `xml:"maxfiles-available"`
					MaxfilesPossible            string `xml:"maxfiles-possible"`
					MaxfilesUsed                string `xml:"maxfiles-used"`
					PercentInodeUsedCapacity    string `xml:"percent-inode-used-capacity"`
					PercentUsedCapacity         string `xml:"percent-used-capacity"`
					SizeAvailable               string `xml:"size-available"`
					SizeTotal                   string `xml:"size-total"`
					SizeUsed                    string `xml:"size-used"`
					SnapshotReservePercent      string `xml:"snapshot-reserve-percent"`
				} `xml:"aggr-snapshot-attributes"`
				AggrSpaceAttributes struct {
					Text                            string `xml:",chardata"`
					CapacityTierUsed                string `xml:"capacity-tier-used"`
					DataCompactedCount              string `xml:"data-compacted-count"`
					DataCompactionSpaceSaved        string `xml:"data-compaction-space-saved"`
					DataCompactionSpaceSavedPercent string `xml:"data-compaction-space-saved-percent"`
					HybridCacheSizeTotal            string `xml:"hybrid-cache-size-total"`
					PercentUsedCapacity             string `xml:"percent-used-capacity"`
					PhysicalUsed                    string `xml:"physical-used"`
					PhysicalUsedPercent             string `xml:"physical-used-percent"`
					SisSharedCount                  string `xml:"sis-shared-count"`
					SisSpaceSaved                   string `xml:"sis-space-saved"`
					SisSpaceSavedPercent            string `xml:"sis-space-saved-percent"`
					SizeAvailable                   string `xml:"size-available"`
					SizeTotal                       string `xml:"size-total"`
					SizeUsed                        string `xml:"size-used"`
					TotalReservedSpace              string `xml:"total-reserved-space"`
				} `xml:"aggr-space-attributes"`
				AggrVolumeCountAttributes struct {
					Text         string `xml:",chardata"`
					FlexvolCount string `xml:"flexvol-count"`
				} `xml:"aggr-volume-count-attributes"`
				AggregateName                         string `xml:"aggregate-name"`
				AggregateUuid                         string `xml:"aggregate-uuid"`
				AutobalanceAvailableThresholdPercent  string `xml:"autobalance-available-threshold-percent"`
				AutobalanceState                      string `xml:"autobalance-state"`
				AutobalanceStateChangeCounter         string `xml:"autobalance-state-change-counter"`
				AutobalanceUnbalancedThresholdPercent string `xml:"autobalance-unbalanced-threshold-percent"`
				IsAutobalanceEligible                 string `xml:"is-autobalance-eligible"`
				IsCftPrecommit                        string `xml:"is-cft-precommit"`
				IsObjectStoreAttachEligible           string `xml:"is-object-store-attach-eligible"`
				IsTransitionOutOfSpace                string `xml:"is-transition-out-of-space"`
				Nodes                                 struct {
					Text     string `xml:",chardata"`
					NodeName string `xml:"node-name"`
				} `xml:"nodes"`
			} `xml:"aggr-attributes"`
		} `xml:"attributes-list"`
		NumRecords string `xml:"num-records"`
	} `xml:"results"`
}

type Base

type Base struct {
	XMLName xml.Name `xml:"netapp"`
	Version string   `xml:"version,attr"`
	XMLns   string   `xml:"xmlns,attr"`
}

type Client

type Client struct {
	UserName  string
	Password  string
	Host      string
	VerifySSL bool
	SSL       bool
	TimeOut   time.Duration
	Url       string
	Debug     bool
}

func NewClient

func NewClient(host, username, password string, ssl bool, timeout time.Duration) *Client

Instantiate new client

func (*Client) GetAggrInfo

func (c *Client) GetAggrInfo(limit int) ([]AggrInfo, error)

func (*Client) GetAggrPerf

func (c *Client) GetAggrPerf() ([]PerfCounter, error)

func (*Client) GetClusterNodeInfo

func (c *Client) GetClusterNodeInfo() (clusterId IdentityInfo, error error)

func (*Client) GetDiskInfo

func (c *Client) GetDiskInfo() ([]DiskInfo, error)

func (*Client) GetDiskPerf

func (c *Client) GetDiskPerf() ([]PerfCounter, error)

func (*Client) GetEnvironment

func (c *Client) GetEnvironment() (sensorInfo []EnvironmentSensorsInfo, error error)

Get slice of EnvironmentSensorInfo

func (*Client) GetFCConfig

func (c *Client) GetFCConfig() (fcc []FcConfig, error error)

Get slice of FcConfig

func (*Client) GetFCPAdapter

func (c *Client) GetFCPAdapter() (fcc []FcpConfigAdapterInfo, error error)

Get slice of FcpConfigAdapterInfo

func (*Client) GetIdClusterInfo

func (c *Client) GetIdClusterInfo() (clusterId IdentityInfo, error error)

func (*Client) GetLunInfo

func (c *Client) GetLunInfo(limit int) (lunInfo []LunInfoType, err error)

func (*Client) GetNodePerf

func (c *Client) GetNodePerf() ([]PerfCounter, error)

func (*Client) GetPerfCounters

func (c *Client) GetPerfCounters(object string) (volumes []PerfCounterInfo, err error)

func (*Client) GetPerfObject

func (c *Client) GetPerfObject() (oi []ObjectInfo, err error)

func (*Client) GetSystemNodeInfo

func (c *Client) GetSystemNodeInfo() (nodeDetails []NodeDetailsInfo, err error)

func (*Client) GetSystemPerf

func (c *Client) GetSystemPerf() ([]PerfCounter, error)

func (*Client) GetSystemVersion

func (c *Client) GetSystemVersion() (version string, error error)

func (*Client) GetVolumeInfo

func (c *Client) GetVolumeInfo(limit int) (volumes []VolumeInfo, err error)

Returns custom struct of Volumes Info

func (*Client) GetVolumePerf

func (c *Client) GetVolumePerf() ([]PerfCounter, error)

func (*Client) GetVolumeToAggrMap

func (c *Client) GetVolumeToAggrMap() (map[string]string, error)

type ClusterIdInfo

type ClusterIdInfo struct {
	Contact      string
	Location     string
	Name         string
	SerialNumber string
}

type ClusterIdentityInfo

type ClusterIdentityInfo struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Results struct {
		Text       string `xml:",chardata"`
		Status     string `xml:"status,attr"`
		Attributes struct {
			Text                string       `xml:",chardata"`
			ClusterIdentityInfo IdentityInfo `xml:"cluster-identity-info"`
		} `xml:"attributes"`
	} `xml:"results"`
}

type ClusterInfoRequest

type ClusterInfoRequest struct {
	XMLName            xml.Name `xml:"netapp"`
	Text               string   `xml:",chardata"`
	Version            string   `xml:"version,attr"`
	Xmlns              string   `xml:"xmlns,attr"`
	NmsdkVersion       string   `xml:"nmsdk_version,attr"`
	NmsdkPlatform      string   `xml:"nmsdk_platform,attr"`
	NmsdkLanguage      string   `xml:"nmsdk_language,attr"`
	ClusterIdentityGet string   `xml:"cluster-identity-get"`
}

func NewClusterIdGet

func NewClusterIdGet() *ClusterInfoRequest

type ClusterNodeRequest

type ClusterNodeRequest struct {
	XMLName        xml.Name `xml:"netapp"`
	Text           string   `xml:",chardata"`
	Version        string   `xml:"version,attr"`
	Xmlns          string   `xml:"xmlns,attr"`
	NmsdkVersion   string   `xml:"nmsdk_version,attr"`
	NmsdkPlatform  string   `xml:"nmsdk_platform,attr"`
	NmsdkLanguage  string   `xml:"nmsdk_language,attr"`
	ClusterNodeGet string   `xml:"cluster-node-get-iter"`
}

type DiskInfo

type DiskInfo struct {
	Name      string
	DiskType  string
	Model     string
	Online    bool
	Prefailed bool
	Spare     bool
}

type DiskInfoRequest

type DiskInfoRequest struct {
	XMLName            xml.Name `xml:"netapp"`
	Text               string   `xml:",chardata"`
	Version            string   `xml:"version,attr"`
	Xmlns              string   `xml:"xmlns,attr"`
	StorageDiskGetIter struct {
		Text string `xml:",chardata"`
	} `xml:"storage-disk-get-iter"`
}

type DiskInfoRequestName

type DiskInfoRequestName struct {
	XMLName            xml.Name `xml:"netapp"`
	Text               string   `xml:",chardata"`
	Version            string   `xml:"version,attr"`
	Xmlns              string   `xml:"xmlns,attr"`
	StorageDiskGetIter struct {
		Text              string `xml:",chardata"`
		DesiredAttributes struct {
			Text     string `xml:",chardata"`
			DiskName string `xml:"disk-name"`
		} `xml:"desired-attributes"`
	} `xml:"storage-disk-get-iter"`
}

type DiskInfoResponse

type DiskInfoResponse struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Results struct {
		Text           string `xml:",chardata"`
		Status         string `xml:"status,attr"`
		AttributesList struct {
			Text            string `xml:",chardata"`
			StorageDiskInfo []struct {
				Text              string `xml:",chardata"`
				DiskInventoryInfo struct {
					Text                           string `xml:",chardata"`
					BytesPerSector                 string `xml:"bytes-per-sector"`
					CapacitySectors                string `xml:"capacity-sectors"`
					ChecksumCompatibility          string `xml:"checksum-compatibility"`
					DiskClass                      string `xml:"disk-class"`
					DiskClusterName                string `xml:"disk-cluster-name"`
					DiskType                       string `xml:"disk-type"`
					DiskUid                        string `xml:"disk-uid"`
					FirmwareRevision               string `xml:"firmware-revision"`
					GrownDefectListCount           string `xml:"grown-defect-list-count"`
					HealthMonitorTimeInterval      string `xml:"health-monitor-time-interval"`
					ImportInProgress               string `xml:"import-in-progress"`
					IsDynamicallyQualified         string `xml:"is-dynamically-qualified"`
					IsMultidiskCarrier             string `xml:"is-multidisk-carrier"`
					IsShared                       string `xml:"is-shared"`
					MediaScrubCount                string `xml:"media-scrub-count"`
					MediaScrubLastDoneTimeInterval string `xml:"media-scrub-last-done-time-interval"`
					Model                          string `xml:"model"`
					ReservationKey                 string `xml:"reservation-key"`
					ReservationType                string `xml:"reservation-type"`
					RightSizeSectors               string `xml:"right-size-sectors"`
					Rpm                            string `xml:"rpm"`
					SerialNumber                   string `xml:"serial-number"`
					Shelf                          string `xml:"shelf"`
					ShelfBay                       string `xml:"shelf-bay"`
					ShelfUid                       string `xml:"shelf-uid"`
					StackID                        string `xml:"stack-id"`
					Vendor                         string `xml:"vendor"`
				} `xml:"disk-inventory-info"`
				DiskMetroclusterInfo struct {
					Text          string `xml:",chardata"`
					IsLocalAttach string `xml:"is-local-attach"`
				} `xml:"disk-metrocluster-info"`
				DiskName          string `xml:"disk-name"`
				DiskOwnershipInfo struct {
					Text             string `xml:",chardata"`
					DiskUid          string `xml:"disk-uid"`
					HomeNodeID       string `xml:"home-node-id"`
					HomeNodeName     string `xml:"home-node-name"`
					IsFailed         string `xml:"is-failed"`
					OwnerNodeID      string `xml:"owner-node-id"`
					OwnerNodeName    string `xml:"owner-node-name"`
					Pool             string `xml:"pool"`
					ReservedByNodeID string `xml:"reserved-by-node-id"`
				} `xml:"disk-ownership-info"`
				DiskPaths struct {
					Text         string `xml:",chardata"`
					DiskPathInfo []struct {
						Text                    string `xml:",chardata"`
						ArrayName               string `xml:"array-name"`
						DiskName                string `xml:"disk-name"`
						DiskPort                string `xml:"disk-port"`
						DiskPortName            string `xml:"disk-port-name"`
						DiskUid                 string `xml:"disk-uid"`
						InitiatorIoKbps         string `xml:"initiator-io-kbps"`
						InitiatorIops           string `xml:"initiator-iops"`
						InitiatorLunInUseCount  string `xml:"initiator-lun-in-use-count"`
						InitiatorPort           string `xml:"initiator-port"`
						InitiatorPortSpeed      string `xml:"initiator-port-speed"`
						InitiatorSideSwitchPort string `xml:"initiator-side-switch-port"`
						LunIoKbps               string `xml:"lun-io-kbps"`
						LunIops                 string `xml:"lun-iops"`
						LunNumber               string `xml:"lun-number"`
						LunPathUseState         string `xml:"lun-path-use-state"`
						Node                    string `xml:"node"`
						PathIoKbps              string `xml:"path-io-kbps"`
						PathIops                string `xml:"path-iops"`
						PathLinkErrors          string `xml:"path-link-errors"`
						PathLunInUseCount       string `xml:"path-lun-in-use-count"`
						PathQuality             string `xml:"path-quality"`
						PreferredTargetPort     string `xml:"preferred-target-port"`
						TargetIoKbps            string `xml:"target-io-kbps"`
						TargetIops              string `xml:"target-iops"`
						TargetIqn               string `xml:"target-iqn"`
						TargetLunInUseCount     string `xml:"target-lun-in-use-count"`
						TargetPortAccessState   string `xml:"target-port-access-state"`
						TargetSideSwitchPort    string `xml:"target-side-switch-port"`
						TargetWwnn              string `xml:"target-wwnn"`
						TargetWwpn              string `xml:"target-wwpn"`
						Tpgn                    string `xml:"tpgn"`
					} `xml:"disk-path-info"`
				} `xml:"disk-paths"`
				DiskRaidInfo struct {
					Text              string `xml:",chardata"`
					ActiveNodeName    string `xml:"active-node-name"`
					ContainerType     string `xml:"container-type"`
					DiskAggregateInfo struct {
						Text             string `xml:",chardata"`
						AggregateName    string `xml:"aggregate-name"`
						ChecksumType     string `xml:"checksum-type"`
						IsMediaScrubbing string `xml:"is-media-scrubbing"`
						IsOffline        string `xml:"is-offline"`
						IsPrefailed      string `xml:"is-prefailed"`
						IsReconstructing string `xml:"is-reconstructing"`
						IsReplacing      string `xml:"is-replacing"`
						IsZeroed         string `xml:"is-zeroed"`
						IsZeroing        string `xml:"is-zeroing"`
						PlexName         string `xml:"plex-name"`
						RaidGroupName    string `xml:"raid-group-name"`
					} `xml:"disk-aggregate-info"`
					DiskSharedInfo struct {
						Text             string `xml:",chardata"`
						ChecksumType     string `xml:"checksum-type"`
						IsMediaScrubbing string `xml:"is-media-scrubbing"`
						IsOffline        string `xml:"is-offline"`
						IsPrefailed      string `xml:"is-prefailed"`
						IsReconstructing string `xml:"is-reconstructing"`
						IsReplacing      string `xml:"is-replacing"`
						IsZeroed         string `xml:"is-zeroed"`
						IsZeroing        string `xml:"is-zeroing"`
					} `xml:"disk-shared-info"`
					DiskUid           string `xml:"disk-uid"`
					EffectiveDiskType string `xml:"effective-disk-type"`
					EffectiveRpm      string `xml:"effective-rpm"`
					PhysicalBlocks    string `xml:"physical-blocks"`
					Position          string `xml:"position"`
					SparePool         string `xml:"spare-pool"`
					StandardDiskType  string `xml:"standard-disk-type"`
					UsedBlocks        string `xml:"used-blocks"`
				} `xml:"disk-raid-info"`
				DiskStatsInfo struct {
					Text                string `xml:",chardata"`
					AverageLatency      string `xml:"average-latency"`
					BytesPerSector      string `xml:"bytes-per-sector"`
					DiskIoKbps          string `xml:"disk-io-kbps"`
					DiskIops            string `xml:"disk-iops"`
					DiskUid             string `xml:"disk-uid"`
					PathErrorCount      string `xml:"path-error-count"`
					PowerOnTimeInterval string `xml:"power-on-time-interval"`
					SectorsRead         string `xml:"sectors-read"`
					SectorsWritten      string `xml:"sectors-written"`
				} `xml:"disk-stats-info"`
				DiskUid string `xml:"disk-uid"`
			} `xml:"storage-disk-info"`
		} `xml:"attributes-list"`
		NumRecords string `xml:"num-records"`
	} `xml:"results"`
}

type EnvRequest

type EnvRequest struct {
	XMLName                   xml.Name `xml:"netapp"`
	Text                      string   `xml:",chardata"`
	Version                   string   `xml:"version,attr"`
	Xmlns                     string   `xml:"xmlns,attr"`
	NmsdkVersion              string   `xml:"nmsdk_version,attr"`
	NmsdkPlatform             string   `xml:"nmsdk_platform,attr"`
	NmsdkLanguage             string   `xml:"nmsdk_language,attr"`
	EnvironmentSensorsGetIter string   `xml:"environment-sensors-get-iter"`
}

type EnvResults

type EnvResults struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Results struct {
		Text           string `xml:",chardata"`
		Status         string `xml:"status,attr"`
		AttributesList struct {
			Text               string                   `xml:",chardata"`
			EnvironmentSensors []EnvironmentSensorsInfo `xml:"environment-sensors-info"`
		} `xml:"attributes-list"`
		NumRecords string `xml:"num-records"`
	} `xml:"results"`
}

type EnvironmentSensorsInfo

type EnvironmentSensorsInfo struct {
	Text                  string `xml:",chardata"`
	DiscreteSensorState   string `xml:"discrete-sensor-state"`
	DiscreteSensorValue   string `xml:"discrete-sensor-value"`
	NodeName              string `xml:"node-name"`
	SensorName            string `xml:"sensor-name"`
	SensorType            string `xml:"sensor-type"`
	ThresholdSensorState  string `xml:"threshold-sensor-state"`
	CriticalHighThreshold string `xml:"critical-high-threshold"`
	ThresholdSensorValue  string `xml:"threshold-sensor-value"`
	ValueUnits            string `xml:"value-units"`
	WarningHighThreshold  string `xml:"warning-high-threshold"`
	CriticalLowThreshold  string `xml:"critical-low-threshold"`
	WarningLowThreshold   string `xml:"warning-low-threshold"`
}

type FCConfigRequest

type FCConfigRequest struct {
	XMLName          xml.Name `xml:"netapp"`
	Text             string   `xml:",chardata"`
	Version          string   `xml:"version,attr"`
	Xmlns            string   `xml:"xmlns,attr"`
	NmsdkVersion     string   `xml:"nmsdk_version,attr"`
	NmsdkPlatform    string   `xml:"nmsdk_platform,attr"`
	NmsdkLanguage    string   `xml:"nmsdk_language,attr"`
	FCConfigListInfo string   `xml:"fc-config-list-info"`
}

type FCPAdapterRequest

type FCPAdapterRequest struct {
	XMLName          xml.Name `xml:"netapp"`
	Text             string   `xml:",chardata"`
	Version          string   `xml:"version,attr"`
	Xmlns            string   `xml:"xmlns,attr"`
	NmsdkVersion     string   `xml:"nmsdk_version,attr"`
	NmsdkPlatform    string   `xml:"nmsdk_platform,attr"`
	NmsdkLanguage    string   `xml:"nmsdk_language,attr"`
	FCConfigListInfo string   `xml:"fcp-adapter-get-iter"`
}

type FCPAdapterResponse

type FCPAdapterResponse struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Results struct {
		Text           string `xml:",chardata"`
		Status         string `xml:"status,attr"`
		AttributesList struct {
			Text                  string                 `xml:",chardata"`
			FcpConfigAdapterInfos []FcpConfigAdapterInfo `xml:"fcp-config-adapter-info"`
		} `xml:"attributes-list"`
		NumRecords string `xml:"num-records"`
	} `xml:"results"`
}

type FcConfig

type FcConfig struct {
	Text          string `xml:",chardata"`
	AdapterName   string `xml:"adapter-name"`
	AdapterState  string `xml:"adapter-state"`
	AdapterStatus string `xml:"adapter-status"`
	AdapterType   string `xml:"adapter-type"`
	NodeName      string `xml:"node-name"`
}

type FcConfigReply

type FcConfigReply struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Results struct {
		Text           string `xml:",chardata"`
		Status         string `xml:"status,attr"`
		AttributesList struct {
			Text      string     `xml:",chardata"`
			FcConfigs []FcConfig `xml:"fc-config"`
		} `xml:"attributes-list"`
		NumRecords string `xml:"num-records"`
	} `xml:"results"`
}

type FcpConfigAdapterInfo

type FcpConfigAdapterInfo struct {
	Text                   string `xml:",chardata"`
	Adapter                string `xml:"adapter"`
	ConnectionEstablished  string `xml:"connection-established"`
	DataLinkRate           string `xml:"data-link-rate"`
	DataProtocolsSupported struct {
		Text                   string   `xml:",chardata"`
		FcpAdapterDataProtocol []string `xml:"fcp-adapter-data-protocol"`
	} `xml:"data-protocols-supported"`
	FabricEstablished                    string `xml:"fabric-established"`
	FirmwareRev                          string `xml:"firmware-rev"`
	HardwareRev                          string `xml:"hardware-rev"`
	InfoName                             string `xml:"info-name"`
	IsSfpDiagnosticsInternallyCalibrated string `xml:"is-sfp-diagnostics-internally-calibrated"`
	IsSfpOpticalTransceiverValid         string `xml:"is-sfp-optical-transceiver-valid"`
	IsSfpRxPowerInRange                  string `xml:"is-sfp-rx-power-in-range"`
	IsSfpTxPowerInRange                  string `xml:"is-sfp-tx-power-in-range"`
	MaxSpeed                             string `xml:"max-speed"`
	MediaType                            string `xml:"media-type"`
	Node                                 string `xml:"node"`
	NodeName                             string `xml:"node-name"`
	PhysicalProtocol                     string `xml:"physical-protocol"`
	PortAddress                          string `xml:"port-address"`
	PortName                             string `xml:"port-name"`
	SfpConnector                         string `xml:"sfp-connector"`
	SfpDateCode                          string `xml:"sfp-date-code"`
	SfpEncoding                          string `xml:"sfp-encoding"`
	SfpFcSpeedcapabilities               string `xml:"sfp-fc-speedcapabilities"`
	SfpFormfactor                        string `xml:"sfp-formfactor"`
	SfpPartNumber                        string `xml:"sfp-part-number"`
	SfpRev                               string `xml:"sfp-rev"`
	SfpRxPower                           string `xml:"sfp-rx-power"`
	SfpSerialNumber                      string `xml:"sfp-serial-number"`
	SfpTxPower                           string `xml:"sfp-tx-power"`
	SfpVendorName                        string `xml:"sfp-vendor-name"`
	SfpVendorOui                         string `xml:"sfp-vendor-oui"`
	SfpWavelength                        string `xml:"sfp-wavelength"`
	Speed                                string `xml:"speed"`
	State                                string `xml:"state"`
	StatusAdmin                          string `xml:"status-admin"`
	StatusExtended                       string `xml:"status-extended"`
	SwitchPort                           string `xml:"switch-port"`
	FabricName                           string `xml:"fabric-name"`
}

type IdentityInfo

type IdentityInfo struct {
	Text                string `xml:",chardata"`
	ClusterContact      string `xml:"cluster-contact"`
	ClusterLocation     string `xml:"cluster-location"`
	ClusterName         string `xml:"cluster-name"`
	ClusterSerialNumber string `xml:"cluster-serial-number"`
	ClusterUuid         string `xml:"cluster-uuid"`
	RdbUuid             string `xml:"rdb-uuid"`
}

type LunGetIter

type LunGetIter struct {
	Base
	Query struct {
		MaxRecords        int      `xml:"max-records"`
		DesiredAttributes struct{} `xml:"desired-attributes"`
	} `xml:"lun-get-iter"`
}

func NewLunGetIter

func NewLunGetIter(limit int) *LunGetIter

type LunInfoType

type LunInfoType struct {
	Text                      string `xml:",chardata"`
	Alignment                 string `xml:"alignment"`
	Application               string `xml:"application"`
	ApplicationUuid           string `xml:"application-uuid"`
	BlockSize                 int    `xml:"block-size"`
	Class                     string `xml:"class"`
	Comment                   string `xml:"comment"`
	CreationTimestamp         string `xml:"creation-timestamp"`
	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                string `xml:"prefix-size"`
	Qtree                     string `xml:"qtree"`
	ReadOnly                  bool   `xml:"read-only"`
	Serial7Mode               string `xml:"serial-7-mode"`
	SerialNumber              string `xml:"serial-number"`
	ShareState                string `xml:"share-state"`
	Size                      int    `xml:"size"`
	SizeUsed                  int    `xml:"size-used"`
	Staging                   string `xml:"staging"`
	State                     string `xml:"state"`
	SuffixSize                string `xml:"suffix-size"`
	Uuid                      string `xml:"uuid"`
	Volume                    string `xml:"volume"`
	Vserver                   string `xml:"vserver"`
}

type LunListResult

type LunListResult struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Results struct {
		Text           string `xml:",chardata"`
		Status         string `xml:"status,attr"`
		AttributesList struct {
			Text    string        `xml:",chardata"`
			LunInfo []LunInfoType `xml:"lun-info"`
		} `xml:"attributes-list"`
		NumRecords string `xml:"num-records"`
	} `xml:"results"`
}

type NetappVolume

type NetappVolume struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Results struct {
		Text           string `xml:",chardata"`
		Status         string `xml:"status,attr"`
		AttributesList struct {
			Text             string `xml:",chardata"`
			VolumeAttributes []struct {
				Text                     string `xml:",chardata"`
				Encrypt                  string `xml:"encrypt"`
				VolumeAutosizeAttributes struct {
					Text                   string `xml:",chardata"`
					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"`
				} `xml:"volume-autosize-attributes"`
				VolumeCompAggrAttributes struct {
					Text          string `xml:",chardata"`
					TieringPolicy string `xml:"tiering-policy"`
				} `xml:"volume-comp-aggr-attributes"`
				VolumeDirectoryAttributes struct {
					Text       string `xml:",chardata"`
					I2pEnabled string `xml:"i2p-enabled"`
					MaxDirSize string `xml:"max-dir-size"`
					RootDirGen string `xml:"root-dir-gen"`
				} `xml:"volume-directory-attributes"`
				VolumeHybridCacheAttributes struct {
					Text        string `xml:",chardata"`
					Eligibility string `xml:"eligibility"`
				} `xml:"volume-hybrid-cache-attributes"`
				VolumeIDAttributes struct {
					Text     string `xml:",chardata"`
					AggrList struct {
						Text     string `xml:",chardata"`
						AggrName string `xml:"aggr-name"`
					} `xml:"aggr-list"`
					ContainingAggregateName string `xml:"containing-aggregate-name"`
					ContainingAggregateUuid string `xml:"containing-aggregate-uuid"`
					CreationTime            string `xml:"creation-time"`
					ExtentSize              string `xml:"extent-size"`
					Fsid                    string `xml:"fsid"`
					InstanceUuid            string `xml:"instance-uuid"`
					Name                    string `xml:"name"`
					NameOrdinal             string `xml:"name-ordinal"`
					Node                    string `xml:"node"`
					Nodes                   struct {
						Text     string `xml:",chardata"`
						NodeName string `xml:"node-name"`
					} `xml:"nodes"`
					OwningVserverName string `xml:"owning-vserver-name"`
					OwningVserverUuid string `xml:"owning-vserver-uuid"`
					ProvenanceUuid    string `xml:"provenance-uuid"`
					Style             string `xml:"style"`
					StyleExtended     string `xml:"style-extended"`
					Type              string `xml:"type"`
					Uuid              string `xml:"uuid"`
				} `xml:"volume-id-attributes"`
				VolumeInodeAttributes struct {
					Text                     string `xml:",chardata"`
					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"`
				} `xml:"volume-inode-attributes"`
				VolumeLanguageAttributes struct {
					Text                  string `xml:",chardata"`
					IsConvertUcodeEnabled string `xml:"is-convert-ucode-enabled"`
					IsCreateUcodeEnabled  string `xml:"is-create-ucode-enabled"`
					Language              string `xml:"language"`
					NfsCharacterSet       string `xml:"nfs-character-set"`
					OemCharacterSet       string `xml:"oem-character-set"`
				} `xml:"volume-language-attributes"`
				VolumeMirrorAttributes struct {
					Text                     string `xml:",chardata"`
					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"`
					IsSnapmirrorSource       string `xml:"is-snapmirror-source"`
					MirrorTransferInProgress string `xml:"mirror-transfer-in-progress"`
					RedirectSnapshotID       string `xml:"redirect-snapshot-id"`
				} `xml:"volume-mirror-attributes"`
				VolumePerformanceAttributes struct {
					Text                      string `xml:",chardata"`
					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"`
					SingleInstanceDataLogging string `xml:"single-instance-data-logging"`
				} `xml:"volume-performance-attributes"`
				VolumeSecurityAttributes struct {
					Text                         string `xml:",chardata"`
					VolumeSecurityUnixAttributes struct {
						Text        string `xml:",chardata"`
						Permissions string `xml:"permissions"`
					} `xml:"volume-security-unix-attributes"`
				} `xml:"volume-security-attributes"`
				VolumeSisAttributes struct {
					Text                              string `xml:",chardata"`
					CompressionSpaceSaved             string `xml:"compression-space-saved"`
					DeduplicationSpaceSaved           string `xml:"deduplication-space-saved"`
					DeduplicationSpaceShared          string `xml:"deduplication-space-shared"`
					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"`
				} `xml:"volume-sis-attributes"`
				VolumeSnaplockAttributes struct {
					Text         string `xml:",chardata"`
					SnaplockType string `xml:"snaplock-type"`
				} `xml:"volume-snaplock-attributes"`
				VolumeSnapshotAttributes struct {
					Text                           string `xml:",chardata"`
					SnapdirAccessEnabled           string `xml:"snapdir-access-enabled"`
					SnapshotCloneDependencyEnabled string `xml:"snapshot-clone-dependency-enabled"`
					SnapshotCount                  string `xml:"snapshot-count"`
				} `xml:"volume-snapshot-attributes"`
				VolumeSnapshotAutodeleteAttributes struct {
					Text                string `xml:",chardata"`
					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"`
				} `xml:"volume-snapshot-autodelete-attributes"`
				VolumeSpaceAttributes struct {
					Text                            string `xml:",chardata"`
					ExpectedAvailable               string `xml:"expected-available"`
					FilesystemSize                  string `xml:"filesystem-size"`
					IsFilesysSizeFixed              string `xml:"is-filesys-size-fixed"`
					IsSpaceGuaranteeEnabled         string `xml:"is-space-guarantee-enabled"`
					IsSpaceSloEnabled               string `xml:"is-space-slo-enabled"`
					OverProvisioned                 string `xml:"over-provisioned"`
					OverwriteReserve                string `xml:"overwrite-reserve"`
					OverwriteReserveRequired        string `xml:"overwrite-reserve-required"`
					OverwriteReserveUsed            string `xml:"overwrite-reserve-used"`
					OverwriteReserveUsedActual      string `xml:"overwrite-reserve-used-actual"`
					PercentageFractionalReserve     string `xml:"percentage-fractional-reserve"`
					PercentageSizeUsed              string `xml:"percentage-size-used"`
					PercentageSnapshotReserve       string `xml:"percentage-snapshot-reserve"`
					PercentageSnapshotReserveUsed   string `xml:"percentage-snapshot-reserve-used"`
					PhysicalUsed                    string `xml:"physical-used"`
					PhysicalUsedPercent             string `xml:"physical-used-percent"`
					Size                            string `xml:"size"`
					SizeAvailable                   string `xml:"size-available"`
					SizeAvailableForSnapshots       string `xml:"size-available-for-snapshots"`
					SizeTotal                       string `xml:"size-total"`
					SizeUsed                        string `xml:"size-used"`
					SizeUsedBySnapshots             string `xml:"size-used-by-snapshots"`
					SnapshotReserveAvailable        string `xml:"snapshot-reserve-available"`
					SnapshotReserveSize             string `xml:"snapshot-reserve-size"`
					SpaceFullThresholdPercent       string `xml:"space-full-threshold-percent"`
					SpaceGuarantee                  string `xml:"space-guarantee"`
					SpaceMgmtOptionTryFirst         string `xml:"space-mgmt-option-try-first"`
					SpaceNearlyFullThresholdPercent string `xml:"space-nearly-full-threshold-percent"`
					SpaceSlo                        string `xml:"space-slo"`
				} `xml:"volume-space-attributes"`
				VolumeStateAttributes struct {
					Text                      string `xml:",chardata"`
					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"`
					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"`
					State                     string `xml:"state"`
				} `xml:"volume-state-attributes"`
				VolumeTransitionAttributes struct {
					Text                  string `xml:",chardata"`
					IsCftPrecommit        string `xml:"is-cft-precommit"`
					IsCopiedForTransition string `xml:"is-copied-for-transition"`
					IsTransitioned        string `xml:"is-transitioned"`
					TransitionBehavior    string `xml:"transition-behavior"`
				} `xml:"volume-transition-attributes"`
			} `xml:"volume-attributes"`
		} `xml:"attributes-list"`
		NextTag struct {
			Text               string `xml:",chardata"`
			VolumeGetIterKeyTd struct {
				Text string `xml:",chardata"`
				Key0 string `xml:"key-0"`
				Key1 string `xml:"key-1"`
			} `xml:"volume-get-iter-key-td"`
		} `xml:"next-tag"`
		NumRecords string `xml:"num-records"`
	} `xml:"results"`
}

type NodeDetailsInfo

type NodeDetailsInfo struct {
	Text                        string `xml:",chardata"`
	CpuBusytime                 string `xml:"cpu-busytime"`
	CpuFirmwareRelease          string `xml:"cpu-firmware-release"`
	EnvFailedFanCount           string `xml:"env-failed-fan-count"`
	EnvFailedFanMessage         string `xml:"env-failed-fan-message"`
	EnvFailedPowerSupplyCount   string `xml:"env-failed-power-supply-count"`
	EnvFailedPowerSupplyMessage string `xml:"env-failed-power-supply-message"`
	EnvOverTemperature          string `xml:"env-over-temperature"`
	IsAllFlashOptimized         string `xml:"is-all-flash-optimized"`
	IsDiffSvcs                  string `xml:"is-diff-svcs"`
	IsEpsilonNode               string `xml:"is-epsilon-node"`
	IsNodeClusterEligible       string `xml:"is-node-cluster-eligible"`
	IsNodeHealthy               string `xml:"is-node-healthy"`
	MaximumAggregateSize        string `xml:"maximum-aggregate-size"`
	MaximumNumberOfVolumes      string `xml:"maximum-number-of-volumes"`
	MaximumVolumeSize           string `xml:"maximum-volume-size"`
	Node                        string `xml:"node"`
	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 ObjectInfo

type ObjectInfo struct {
	Text                         string `xml:",chardata"`
	Description                  string `xml:"description"`
	IsDeprecated                 string `xml:"is-deprecated"`
	Name                         string `xml:"name"`
	PrivilegeLevel               string `xml:"privilege-level"`
	GetInstancesPreferredCounter string `xml:"get-instances-preferred-counter"`
}

type PerfCounter

type PerfCounter struct {
	ObjectName string
	Counter    string
	Value      string
}

type PerfCounterInfo

type PerfCounterInfo struct {
	Name       string
	Desc       string
	Unit       string
	Deprecated string
}

type PerfCounterRequest

type PerfCounterRequest struct {
	XMLName                xml.Name `xml:"netapp"`
	Version                string   `xml:"version,attr"`
	Xmlns                  string   `xml:"xmlns,attr"`
	PerfObjectGetInstances struct {
		Objectname string `xml:"objectname"`
	} `xml:"perf-object-counter-list-info"`
}

type PerfCounterResponse

type PerfCounterResponse struct {
	XMLName xml.Name `xml:"netapp"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Text    string   `xml:",chardata"`
	Results struct {
		Text     string `xml:",chardata"`
		Status   string `xml:"status,attr"`
		Counters struct {
			Text        string `xml:",chardata"`
			CounterInfo []struct {
				Text           string `xml:",chardata"`
				Desc           string `xml:"desc"`
				IsDeprecated   string `xml:"is-deprecated"`
				Name           string `xml:"name"`
				PrivilegeLevel string `xml:"privilege-level"`
				Properties     string `xml:"properties"`
				Unit           string `xml:"unit"`
			} `xml:"counter-info"`
		} `xml:"counters"`
	} `xml:"results"`
}

type PerfObjectRequest

type PerfObjectRequest struct {
	XMLName       xml.Name `xml:"netapp"`
	Text          string   `xml:",chardata"`
	Version       string   `xml:"version,attr"`
	Xmlns         string   `xml:"xmlns,attr"`
	NmsdkVersion  string   `xml:"nmsdk_version,attr"`
	NmsdkPlatform string   `xml:"nmsdk_platform,attr"`
	NmsdkLanguage string   `xml:"nmsdk_language,attr"`
	PerfObject    string   `xml:"perf-object-list-info"`
}

type PerfObjectResponse

type PerfObjectResponse struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Results struct {
		Text    string `xml:",chardata"`
		Status  string `xml:"status,attr"`
		Objects struct {
			Text           string       `xml:",chardata"`
			ObjectInfoList []ObjectInfo `xml:"object-info"`
		} `xml:"objects"`
	} `xml:"results"`
}

type PerfRequest

type PerfRequest struct {
	XMLName                xml.Name `xml:"netapp"`
	Version                string   `xml:"version,attr"`
	Xmlns                  string   `xml:"xmlns,attr"`
	PerfObjectGetInstances struct {
		Objectname string `xml:"objectname"`
		Counters   struct {
			Counter []string `xml:"counter"`
		} `xml:"counters"`
		Instances struct {
			Instance []string `xml:"instance"`
		} `xml:"instances"`
	} `xml:"perf-object-get-instances"`
}

type PerfResponse

type PerfResponse struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Results struct {
		Text      string `xml:",chardata"`
		Status    string `xml:"status,attr"`
		Instances struct {
			Text         string `xml:",chardata"`
			InstanceData []struct {
				Text     string `xml:",chardata"`
				Counters struct {
					Text        string `xml:",chardata"`
					CounterData []struct {
						Text  string `xml:",chardata"`
						Name  string `xml:"name"`
						Value string `xml:"value"`
					} `xml:"counter-data"`
				} `xml:"counters"`
				Name   string `xml:"name"`
				SortID string `xml:"sort-id"`
				Uuid   string `xml:"uuid"`
			} `xml:"instance-data"`
		} `xml:"instances"`
		Timestamp string `xml:"timestamp"`
	} `xml:"results"`
}

type System

type System struct{}

type SystemGetVersion

type SystemGetVersion struct {
	Base
	Version struct{} `xml:"system-get-version"`
}

func NewSystemGetVersion

func NewSystemGetVersion() *SystemGetVersion

type SystemGetVersionResult

type SystemGetVersionResult struct {
	Base
	Results struct {
		Status    string `xml:"status,attr"`
		Clustered bool   `xml:"is-clustered"`
		Version   string `xml:"version"`
	} `xml:"results"`
}

type SystemNodeRequest

type SystemNodeRequest struct {
	XMLName                   xml.Name `xml:"netapp"`
	Text                      string   `xml:",chardata"`
	Version                   string   `xml:"version,attr"`
	Xmlns                     string   `xml:"xmlns,attr"`
	NmsdkVersion              string   `xml:"nmsdk_version,attr"`
	NmsdkPlatform             string   `xml:"nmsdk_platform,attr"`
	NmsdkLanguage             string   `xml:"nmsdk_language,attr"`
	EnvironmentSensorsGetIter string   `xml:"system-node-get-iter"`
}

type SystemNodeResponse

type SystemNodeResponse struct {
	XMLName xml.Name `xml:"netapp"`
	Text    string   `xml:",chardata"`
	Version string   `xml:"version,attr"`
	Xmlns   string   `xml:"xmlns,attr"`
	Results struct {
		Text           string `xml:",chardata"`
		Status         string `xml:"status,attr"`
		AttributesList struct {
			Text        string            `xml:",chardata"`
			NodeDetails []NodeDetailsInfo `xml:"node-details-info"`
		} `xml:"attributes-list"`
		NumRecords string `xml:"num-records"`
	} `xml:"results"`
}

type Volume

type Volume struct {
	Client *Client
}

func NewVolume

func NewVolume(c *Client) *Volume

type VolumeAttributes

type VolumeAttributes struct {
	VolumeIdAttribute    VolumeIdAttribute    `xml:"volume-id-attributes"`
	VolumeSpaceAttribute VolumeSpaceAttribute `xml:"volume-space-attributes"`
}

type VolumeGetIter

type VolumeGetIter struct {
	Base
	Query struct {
		MaxRecords        int      `xml:"max-records"`
		DesiredAttributes struct{} `xml:"desired-attributes"`
	} `xml:"volume-get-iter"`
}

func NewVolumeGetIter

func NewVolumeGetIter(limit int) *VolumeGetIter

type VolumeGetIterFull

type VolumeGetIterFull struct {
	XMLName       xml.Name `xml:"netapp"`
	Text          string   `xml:",chardata"`
	Version       string   `xml:"version,attr"`
	Xmlns         string   `xml:"xmlns,attr"`
	VolumeGetIter struct {
		Text              string `xml:",chardata"`
		MaxRecords        string `xml:"max-records"`
		DesiredAttributes struct {
			Text string `xml:",chardata"`
		} `xml:"desired-attributes"`
	} `xml:"volume-get-iter"`
}

type VolumeGetIterResult

type VolumeGetIterResult struct {
	Base
	Results struct {
		Status         string `xml:"status,attr"`
		AttributesList struct {
			VolumeAttributes []VolumeAttributes `xml:"volume-attributes"`
		} `xml:"attributes-list"`
	} `xml:"results"`
}

type VolumeGetIterShort

type VolumeGetIterShort struct {
	XMLName       xml.Name `xml:"netapp"`
	Text          string   `xml:",chardata"`
	Version       string   `xml:"version,attr"`
	Xmlns         string   `xml:"xmlns,attr"`
	VolumeGetIter struct {
		Text              string `xml:",chardata"`
		MaxRecords        string `xml:"max-records"`
		DesiredAttributes struct {
			VolumeAttributes struct {
				Text                  string `xml:",chardata"`
				VolumeIDAttributes    string `xml:"volume-id-attributes"`
				VolumeSpaceAttributes string `xml:"volume-space-attributes"`
				VolumeStateAttributes string `xml:"volume-state-attributes"`
				VolumeSisAttributes   string `xml:"volume-sis-attributes"`
				VolumeInodeAttributes string `xml:"volume-inode-attributes"`
			} `xml:"volume-attributes,omitempty"`
		} `xml:"desired-attributes"`
	} `xml:"volume-get-iter"`
}

type VolumeIdAttribute

type VolumeIdAttribute struct {
	Name    string `xml:"name"`
	AggName string `xml:"containing-aggregate-name"`
}

type VolumeInfo

type VolumeInfo struct {
	Name                              string
	Aggr                              string
	SizeTotal                         string
	PercentUsed                       string
	SizeUsed                          string
	SizeFree                          string
	State                             string
	SnapPercentUsed                   string
	SnapPercentReserve                string
	CompressionSpaceSaved             string
	CompressionPercentageSpaceSaved   string
	DeduplicationSpaceSaved           string
	DeduplicationPercentageSpaceSaved string
	TotalSpaceSaved                   string
	TotalPercentageSpaceSaved         string
	InodeTotal                        string
	InodeUsed                         string
	InodePercent                      string
}

type VolumeSpaceAttribute

type VolumeSpaceAttribute struct {
	Size        string `xml:"size"`
	PercentUsed string `xml:"percentage-size-used"`
	Used        string `xml:"size-used"`
	Free        string `xml:"size-available"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL