oneview

package
v0.0.0-...-20cc175 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2018 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LIGURL               = "/rest/logical-interconnect-groups"
	LIURL                = "/rest/logical-interconnects"
	UplinkSetURL         = "/rest/uplink-sets"
	ICURL                = "/rest/interconnects"
	SFPURL               = "/pluggableModuleInformation"
	ICTypeURL            = "/rest/interconnect-types"
	ENetworkURL          = "/rest/ethernet-networks"
	NetSetURL            = "/rest/network-sets"
	EnclosureURL         = "/rest/enclosures"
	EGURL                = "/rest/enclosure-groups"
	LEURL                = "/rest/logical-enclosures"
	SPURL                = "/rest/server-profiles"
	SPTemplateURL        = "/rest/server-profile-templates"
	ServerHWURL          = "/rest/server-hardware"
	ServerHWTypeURL      = "/rest/server-hardware-types"
	VersionURL           = "/rest/version"
	DeploymentServerURL  = "/rest/deployment-servers"
	StreamerApplianceURL = "/rest/deployment-servers/image-streamer-appliances"
	DeploymentPlanURL    = "/rest/os-deployment-plans/" //somehow needs to have ending /, otherwise error out from OV

	ArtifactURL               = "/rest/artifact-bundles"
	StreamerDeploymentPlanURL = "/rest/deployment-plans"
	StreamerBuildPlanURL      = "/rest/build-plans"
	StreamerGoldenImageURL    = "/rest/golden-images"

	DefaultConfigFile = "appliance-credential.yml"
)

Variables

This section is empty.

Functions

func ColToMap

func ColToMap(x OVCol, c *CLIOVClient)

func CreateEG

func CreateEG(filename string)

func CreateLE

func CreateLE(filename string)

func CreateLIGConfigParse

func CreateLIGConfigParse(fileName string)

func CreateLIGUplinkSet

func CreateLIGUplinkSet(c *CLIOVClient, ylig YAMLLIG)

func CreateNetworkConfigParse

func CreateNetworkConfigParse(fileName string)

func CreateSP

func CreateSP(filename string)

func CreateSPTemplateConfigParse

func CreateSPTemplateConfigParse(fileName string)

func DeleteLIG

func DeleteLIG(name string) error

func DeleteNetwork

func DeleteNetwork(name string) error

func DeleteSPTemplate

func DeleteSPTemplate(name string) error

func ENetworkGetURI

func ENetworkGetURI(x chan []ENetwork)

ENetworkGetURI to get all Ethernet Networks

func ICTypeGetURI

func ICTypeGetURI(x chan []ICType)

func ImportRemoteEnc

func ImportRemoteEnc(ipv6 string) error

ImportRemoteEnc adds remote enclosure during OV initial setup

func LoadConfig

func LoadConfig(flagFile string) error

func NetSetGetURI

func NetSetGetURI(x chan []NetSet)

func SFPGetURI

func SFPGetURI(ic *IC)

func ServerHWTypeGetURI

func ServerHWTypeGetURI(x chan []ServerHWType)

func ShowConfig

func ShowConfig() error

func VerifyConfig

func VerifyConfig() error

Types

type ActiveQosConfig

type ActiveQosConfig struct {
	Category                   string                 `json:"category,omitempty"`                   // "category": "null",
	ConfigType                 string                 `json:"configType,omitempty"`                 // "configType": "CustomWithFCoE",
	Created                    string                 `json:"created,omitempty"`                    // "created": "20150831T154835.250Z",
	Description                string                 `json:"description,omitempty,omitempty"`      // "description": "Ethernet Settings",
	DownlinkClassificationType string                 `json:"downlinkClassificationType,omitempty"` //"downlinkClassifcationType": "DOT1P_AND_DSCP",
	ETAG                       string                 `json:"eTag,omitempty"`                       // "eTag": "1441036118675/8",
	Modified                   string                 `json:"modified,omitempty"`                   // "modified": "20150831T154835.250Z",
	Name                       string                 `json:"name,omitempty"`                       // "name": "active QOS Config 1",
	QosTrafficClassifiers      []QosTrafficClassifier `json:"qosTrafficClassifiers"`                // "qosTrafficClassifiers": {...},
	State                      string                 `json:"state,omitempty"`                      // "state": "Normal",
	Status                     string                 `json:"status,omitempty"`                     // "status": "Critical",
	Type                       string                 `json:"type,omitempty"`                       // "type": "QosConfiguration",
	UplinkClassificationType   string                 `json:"uplinkClassificationType,omitempty"`   // "uplinkClassificationType": "DOT1P"
	URI                        string                 `json:"uri,omitempty"`                        // "uri": null
}

type ApplianceComparison

type ApplianceComparison struct {
	Name         []string
	MgmtIP       []string
	VSAMgmtIP    []string
	AMVMMgmtIP   []string
	ClusterIP    []string
	DataIP       []string
	VSADataIP    []string
	VSAClusterIP []string
	AMVMDataIP   []string
	MgmtActive   []bool
}

type Artifact

type Artifact struct {
	Type                   string                   `json:"type"`
	DeploymentPlans        []ArtifactDeploymentPlan `json:"deploymentPlans"`
	BuildPlans             []BuildPlan              `json:"buildPlans"`
	Goldenimage            []Goldenimage            `json:"goldenimage"`
	PlanScripts            []PlanScript             `json:"planScripts"`
	Checksum               string                   `json:"checksum"`
	ETag                   string                   `json:"eTag"`
	Created                string                   `json:"created"`
	Modified               string                   `json:"modified"`
	ArtifactsbundleID      string                   `json:"artifactsbundleID"`
	ArtifactsCount         int                      `json:"artifactsCount"`
	Importbundle           bool                     `json:"importbundle"`
	BackupService          bool                     `json:"backupService"`
	RecoverBundle          bool                     `json:"recoverBundle"`
	LastBackUpDownloadTime string                   `json:"lastBackUpDownloadTime"`
	DownloadURI            string                   `json:"downloadURI"`
	Category               string                   `json:"category"`
	Name                   string                   `json:"name"`
	State                  string                   `json:"state"`
	Size                   int                      `json:"size"`
	ReadOnly               bool                     `json:"readOnly"`
	Description            string                   `json:"description"`
	URI                    string                   `json:"uri"`
	Status                 string                   `json:"status"`
}

type ArtifactCol

type ArtifactCol struct {
	Type        string     `json:"type"`
	Sort        string     `json:"sort"`
	Members     []Artifact `json:"members"`
	NextPageURI string     `json:"nextPageUri"`
	Start       int        `json:"start"`
	PrevPageURI string     `json:"prevPageUri"`
	Total       int        `json:"total"`
	Count       int        `json:"count"`
	ETag        string     `json:"eTag"`
	Created     string     `json:"created"`
	Modified    string     `json:"modified"`
	Category    string     `json:"category"`
	URI         string     `json:"uri"`
}

type ArtifactDeploymentPlan

type ArtifactDeploymentPlan struct {
	DeploymentplanName string `json:"deploymentplanName"`
	GoldenImageName    string `json:"goldenImageName"`
	OebpName           string `json:"oebpName"`
	DpID               string `json:"dpId"`
	ReadOnly           bool   `json:"readOnly"`
	Description        string `json:"description"`
}

type AssociatedResource

type AssociatedResource struct {
	ResourceName     utils.Nstring `json:"resourceName,omitempty"`     // "resourceName": "se05, bay 16",
	AssociationType  string        `json:"associationType,omitempty"`  // "associationType": "MANAGED_BY",
	ResourceCateogry string        `json:"resourceCategory,omitempty"` // "resourceCategory": "server-hardware",
	ResourceURI      utils.Nstring `json:"resourceUri,omitempty"`      // "resourceUri": "/rest/server-hardware/30373237-3132-4D32-3235-303930524D57"
}

AssociatedResource associated resource

type BuildPlan

type BuildPlan struct {
	BuildPlanName  string `json:"buildPlanName"`
	BpID           string `json:"bpID"`
	PlanScriptName string `json:"planScriptName"`
	ReadOnly       bool   `json:"readOnly"`
	Description    string `json:"description"`
}

type CLIOVClient

type CLIOVClient struct {
	Endpoint    string
	User        string
	Password    string
	Domain      string
	APIKey      string
	APIVersion  int
	ContentType string
	Out         io.ReadWriter
}

CLIOVClient is the OVCLient with additinal commands

func NewCLIOVClient

func NewCLIOVClient() *CLIOVClient

NewCLIOVClient first reads local default config for IP/User/Pass information, then it'll connect to server to get version without key, finally returns a client with info acquired

func NewFakeClient

func NewFakeClient(url string, out io.ReadWriter) *CLIOVClient

func (*CLIOVClient) Efuse

func (c *CLIOVClient) Efuse(devicetype, enclosure, bay string)

func (*CLIOVClient) GetDeploymentServer

func (c *CLIOVClient) GetDeploymentServer() []DeploymentServer

func (*CLIOVClient) GetEG

func (c *CLIOVClient) GetEG() []EG

func (*CLIOVClient) GetEGVerbose

func (c *CLIOVClient) GetEGVerbose(name string) []EG

func (*CLIOVClient) GetENetwork

func (c *CLIOVClient) GetENetwork() []ENetwork

func (*CLIOVClient) GetEnc

func (c *CLIOVClient) GetEnc() []Enclosure

func (*CLIOVClient) GetEthernetNetworkByName

func (c *CLIOVClient) GetEthernetNetworkByName(name string) []ENetwork

func (*CLIOVClient) GetIC

func (c *CLIOVClient) GetIC() []IC

func (*CLIOVClient) GetLE

func (c *CLIOVClient) GetLE() []LE

func (*CLIOVClient) GetLEVerbose

func (c *CLIOVClient) GetLEVerbose(name string) []LE

func (*CLIOVClient) GetLI

func (c *CLIOVClient) GetLI() []LI

GetLI is the function called from ovcli cmd package to get information on "show li", it in turn calls RestGet

func (*CLIOVClient) GetLIG

func (c *CLIOVClient) GetLIG() []LIG

func (*CLIOVClient) GetLIGVerbose

func (c *CLIOVClient) GetLIGVerbose(name string) []LIG

func (*CLIOVClient) GetLIVerbose

func (c *CLIOVClient) GetLIVerbose(name string) LIList

func (*CLIOVClient) GetMAC

func (c *CLIOVClient) GetMAC(address string, vlan int) []MAC

func (*CLIOVClient) GetResourceLists

func (c *CLIOVClient) GetResourceLists(resourceName string, filters ...string)

GetResourceLists is method to get list of resource list, it updates global rmap resource table to store resource data

func (*CLIOVClient) GetResourceURL

func (c *CLIOVClient) GetResourceURL(resource, name string) string

GetResourceURL uses GetResourceLists to get resource for one item

func (*CLIOVClient) GetSP

func (c *CLIOVClient) GetSP() SPList

func (*CLIOVClient) GetSPTemplate

func (c *CLIOVClient) GetSPTemplate() []SPTemplate

func (*CLIOVClient) GetSPTemplateVerbose

func (c *CLIOVClient) GetSPTemplateVerbose(name string) []SPTemplate

func (*CLIOVClient) GetSPVerbose

func (c *CLIOVClient) GetSPVerbose(name string) SPList

func (*CLIOVClient) GetServerHW

func (c *CLIOVClient) GetServerHW() []ServerHW

func (*CLIOVClient) GetServerHWTypeByName

func (c *CLIOVClient) GetServerHWTypeByName(name string) []ServerHWType

func (*CLIOVClient) GetStreamer

func (c *CLIOVClient) GetStreamer() ApplianceComparison

func (*CLIOVClient) GetUplinkSet

func (c *CLIOVClient) GetUplinkSet() UplinkSetList

GetUplinkSet is to retrive uplinkset information

func (*CLIOVClient) GetUplinkSetVerbose

func (c *CLIOVClient) GetUplinkSetVerbose(name string) UplinkSetList

GetUplinkSet is to retrive uplinkset information

func (*CLIOVClient) SendHTTPRequest

func (c *CLIOVClient) SendHTTPRequest(method, uri string, body interface{}, filters ...string) ([]byte, error)

SendHTTPRequest is low level method to create http client, send request, check return task status and return data

func (*CLIOVClient) SetEncName

func (c *CLIOVClient) SetEncName(from, to string)

func (*CLIOVClient) SetServerPower

func (c *CLIOVClient) SetServerPower(server, state string)

func (*CLIOVClient) StreamerGetArtifact

func (c *CLIOVClient) StreamerGetArtifact() []Artifact

func (*CLIOVClient) StreamerGetDeploymentPlan

func (c *CLIOVClient) StreamerGetDeploymentPlan() []StreamerDeploymentPlan

type Connection

type Connection struct {
	ID              int    `json:"id,omitempty"`
	Name            string `json:"name,omitempty"`
	FunctionType    string `json:"functionType,omitempty"`
	NetworkURI      string `json:"networkUri,omitempty"`
	PortID          string `json:"portId,omitempty"`
	RequestedVFs    string `json:"requestedVFs,omitempty"`
	AllocatedVFs    int    `json:"allocatedVFs,omitempty"`
	InterconnectURI string `json:"interconnectUri,omitempty"`
	MacType         string `json:"macType,omitempty"`
	WwpnType        string `json:"wwpnType,omitempty"`
	Mac             string `json:"mac,omitempty"`
	Wwnn            string `json:"wwnn,omitempty"`
	Wwpn            string `json:"wwpn,omitempty"`
	RequestedMbps   string `json:"requestedMbps,omitempty"`
	AllocatedMbps   int    `json:"allocatedMbps,omitempty"`
	MaximumMbps     int    `json:"maximumMbps,omitempty"`
	Ipv4            Ipv4   `json:"ipv4,omitempty"`
	Boot            struct {
		Priority string `json:"priority,omitempty"`
	} `json:"boot,omitempty"`
	State       string `json:"state,omitempty"`
	Status      string `json:"status,omitempty"`
	NetworkName string `json:"networkName,omitempty"`
	NetworkVlan string `json:"-"`
	ICName      string `json:"-"`
}

type Controller

type Controller struct {
	DeviceSlot    string         `json:"deviceSlot,omitempty"`
	Mode          string         `json:"mode,omitempty"`
	Initialize    bool           `json:"initialize"`
	LogicalDrives []LogicalDrive `json:"logicalDrives,omitempty"`
}

type DeploymentPlan

type DeploymentPlan struct {
	Type                 string `json:"type"`
	OsType               string `json:"osType"`
	AdditionalParameters []struct {
		CaID          string `json:"caId"`
		CaConstraints string `json:"caConstraints"`
		CaEditable    bool   `json:"caEditable"`
		CaType        string `json:"caType"`
		Description   string `json:"description"`
		Name          string `json:"name"`
		Value         string `json:"value"`
	} `json:"additionalParameters"`
	DeploymentAppliance     string `json:"deploymentAppliance"`
	DeploymentApplianceIpv4 string `json:"deploymentApplianceIpv4"`
	NativePlanURI           string `json:"nativePlanUri"`
	OsdpSize                string `json:"osdpSize"`
	Architecture            string `json:"architecture"`
	DeploymentType          string `json:"deploymentType"`
	ID                      string `json:"id"`
	Description             string `json:"description"`
	Name                    string `json:"name"`
	Status                  string `json:"status"`
	State                   string `json:"state"`
	Created                 string `json:"created"`
	ETag                    string `json:"eTag"`
	Modified                string `json:"modified"`
	Category                string `json:"category"`
	URI                     string `json:"uri"`
}

type DeploymentPlanCol

type DeploymentPlanCol struct {
	Type        string           `json:"type"`
	Members     []DeploymentPlan `json:"members"`
	NextPageURI string           `json:"nextPageUri"`
	Start       int              `json:"start"`
	PrevPageURI string           `json:"prevPageUri"`
	Total       int              `json:"total"`
	Count       int              `json:"count"`
	Created     string           `json:"created"`
	ETag        string           `json:"eTag"`
	Modified    string           `json:"modified"`
	Category    string           `json:"category"`
	URI         string           `json:"uri"`
}

type DeploymentServer

type DeploymentServer struct {
	Type                   string `json:"type"`
	Created                string `json:"created"`
	ETag                   string `json:"eTag"`
	MgmtNetworkURI         string `json:"mgmtNetworkUri"`
	Modified               string `json:"modified"`
	Checksum               string `json:"checksum"`
	PrimaryUIURI           string `json:"primaryUIUri"`
	PrimaryUUID            string `json:"primaryUUID"`
	PrimaryClusterName     string `json:"primaryClusterName"`
	DeplManagersType       string `json:"deplManagersType"`
	PrimaryIPV4            string `json:"primaryIPV4"`
	PrimaryIP              string `json:"primaryIP"`
	PrimaryActiveAppliance string `json:"primaryActiveAppliance"`
	PrimaryClusterStatus   string `json:"primaryClusterStatus"`
	Description            string `json:"description"`
	Category               string `json:"category"`
	Status                 string `json:"status"`
	URI                    string `json:"uri"`
	Name                   string `json:"name"`
	ID                     string `json:"id"`
	State                  string `json:"state"`
	PrintDeploymentPlan    []string
	PrintMgmtNetwork       string
}

type DeploymentServerCol

type DeploymentServerCol struct {
	Type        string             `json:"type"`
	Members     []DeploymentServer `json:"members"`
	NextPageURI string             `json:"nextPageUri"`
	Start       int                `json:"start"`
	PrevPageURI string             `json:"prevPageUri"`
	Total       int                `json:"total"`
	Count       int                `json:"count"`
	Created     string             `json:"created"`
	ETag        string             `json:"eTag"`
	Modified    string             `json:"modified"`
	Category    string             `json:"category"`
	URI         string             `json:"uri"`
}

type DownlinkPortCapability

type DownlinkPortCapability struct {
	Category           string                 `json:"category,omitempty"`           // "category": null,
	Created            string                 `json:"created,omitempty"`            // "created": "20150831T154835.250Z",
	Description        string                 `json:"description,omitempty"`        // "description": "Downlink Port Capability",
	DownlinkSubPorts   map[string]interface{} `json:"downlinkSubPorts,omitempty"`   // "downlinkSubPorts": null,
	ETAG               string                 `json:"eTag,omitempty"`               // "eTag": "1441036118675/8",
	MaxBandwidthInGbps int                    `json:"maxBandwidthInGbps,omitempty"` // "maxBandwidthInGbps": 10,
	Modified           string                 `json:"modified,omitempty"`           // "modified": "20150831T154835.250Z",
	Name               string                 `json:"name,omitempty"`               // "name": null,
	PortCapabilities   []string               `json:"portCapabilities,omitempty"`   //"portCapabilites":  ["ConnectionReservation","FibreChannel","ConnectionDeployment"],
	State              string                 `json:"state,omitempty"`              // "state": "Normal",
	Status             string                 `json:"status,omitempty"`             // "status": "Critical",
	TotalSubPort       int                    `json:"totalSubPort,omitempty"`       // "totalSubPort": 1,
	Type               string                 `json:"type,omitempty"`               // "type": "downlink-port-capability",
	URI                string                 `json:"uri,omitempty"`                // "uri": "null"
}

type EG

type EG struct {
	AssociatedLogicalInterconnectGroups []string             `json:"associatedLogicalInterconnectGroups,omitempty"` // "associatedInterconnectGorups": [],
	Category                            string               `json:"category,omitempty"`                            // "category": "enclosure-groups",
	Created                             string               `json:"created,omitempty"`                             // "created": "20150831T154835.250Z",
	Description                         string               `json:"description,omitempty"`                         // "description": "Enclosure Group 1",
	ETAG                                string               `json:"eTag,omitempty"`                                // "eTag": "1441036118675/8",
	EnclosureCount                      int                  `json:"enclosureCount,omitempty"`                      // "enclosureCount": 1,
	EnclosureTypeUri                    string               `json:"enclosureTypeUri,omitempty"`                    // "enclosureTypeUri": "/rest/enclosures/e2f0031b-52bd-4223-9ac1-d91cb5219d548"
	InterconnectBayMappingCount         int                  `json:"interconnectBayMappingCount,omitempty"`         // "interconnectBayMappingCount": 8,
	InterconnectBayMappings             []InterconnectBayMap `json:"interconnectBayMappings"`                       // "interconnectBayMappings": [],
	IpRangeUris                         []string             `json:"ipRangeUris,omitempty"`
	IpAddressingMode                    string               `json:"ipAddressingMode"`
	Modified                            string               `json:"modified,omitempty"`         // "modified": "20150831T154835.250Z",
	Name                                string               `json:"name,omitempty"`             // "name": "Enclosure Group 1",
	PortMappingCount                    int                  `json:"portMappingCount,omitempty"` // "portMappingCount": 1,
	PortMappings                        []PortMap            `json:"portMappings,omitempty"`     // "portMappings": [],
	PowerMode                           string               `json:"powerMode,omitempty"`        // "powerMode": RedundantPowerFeed,
	StackingMode                        string               `json:"stackingMode,omitempty"`     // "stackingMode": "Enclosure"
	State                               string               `json:"state,omitempty"`            // "state": "Normal",
	Status                              string               `json:"status,omitempty"`           // "status": "Critical",
	Type                                string               `json:"type,omitempty"`             // "type": "EnclosureGroupV200",
	URI                                 string               `json:"uri,omitempty"`              // "uri": "/rest/enclosure-groups/e2f0031b-52bd-4223-9ac1-d91cb519d548"
	LIGs                                LIGList              `json:"-"`
}

type EGCol

type EGCol struct {
	Total       int    `json:"total,omitempty"`       // "total": 1,
	Count       int    `json:"count,omitempty"`       // "count": 1,
	Start       int    `json:"start,omitempty"`       // "start": 0,
	PrevPageURI string `json:"prevPageUri,omitempty"` // "prevPageUri": null,
	NextPageURI string `json:"nextPageUri,omitempty"` // "nextPageUri": null,
	URI         string `json:"uri,omitempty"`         // "uri": "/rest/server-profiles?filter=connectionTemplateUri%20matches%7769cae0-b680-435b-9b87-9b864c81657fsort=name:asc"
	Members     []EG   `json:"members,omitempty"`     // "members":[]
}

type ENetwork

type ENetwork struct {
	Category              string `json:"category,omitempty"`              // "category": "ethernet-networks",
	ConnectionTemplateUri string `json:"connectionTemplateUri,omitempty"` // "connectionTemplateUri": "/rest/connection-templates/7769cae0-b680-435b-9b87-9b864c81657f",
	Created               string `json:"created,omitempty"`               // "created": "20150831T154835.250Z",
	Description           string `json:"description,omitempty"`           // "description": "Ethernet network 1",
	ETAG                  string `json:"eTag,omitempty"`                  // "eTag": "1441036118675/8",
	EthernetNetworkType   string `json:"ethernetNetworkType,omitempty"`   // "ethernetNetworkType": "Tagged",
	FabricUri             string `json:"fabricUri,omitempty"`             // "fabricUri": "/rest/fabrics/9b8f7ec0-52b3-475e-84f4-c4eac51c2c20",
	Modified              string `json:"modified,omitempty"`              // "modified": "20150831T154835.250Z",
	Name                  string `json:"name,omitempty"`                  // "name": "Ethernet Network 1",
	PrivateNetwork        bool   `json:"privateNetwork"`                  // "privateNetwork": false,
	Purpose               string `json:"purpose,omitempty"`               // "purpose": "General",
	SmartLink             bool   `json:"smartLink"`                       // "smartLink": false,
	State                 string `json:"state,omitempty"`                 // "state": "Normal",
	Status                string `json:"status,omitempty"`                // "status": "Critical",
	Type                  string `json:"type,omitempty"`                  // "type": "ethernet-networkV3",
	URI                   string `json:"uri,omitempty"`                   // "uri": "/rest/ethernet-networks/e2f0031b-52bd-4223-9ac1-d91cb519d548"
	VlanId                int    `json:"vlanId,omitempty"`                // "vlanId": 1,
}

func GetENetworkVerbose

func GetENetworkVerbose(name string) []ENetwork

type ENetworkCol

type ENetworkCol struct {
	Total       int        `json:"total,omitempty"`       // "total": 1,
	Count       int        `json:"count,omitempty"`       // "count": 1,
	Start       int        `json:"start,omitempty"`       // "start": 0,
	PrevPageURI string     `json:"prevPageUri,omitempty"` // "prevPageUri": null,
	NextPageURI string     `json:"nextPageUri,omitempty"` // "nextPageUri": null,
	URI         string     `json:"uri,omitempty"`         // "uri": "/rest/server-profiles?filter=connectionTemplateUri%20matches%7769cae0-b680-435b-9b87-9b864c81657fsort=name:asc"
	Members     []ENetwork `json:"members,omitempty"`     // "members":[]
}

type EncCol

type EncCol struct {
	Type        string      `json:"type"`
	Members     []Enclosure `json:"members"`
	Start       int         `json:"start"`
	PrevPageURI string      `json:"prevPageUri"`
	NextPageURI string      `json:"nextPageUri"`
	Count       int         `json:"count"`
	Total       int         `json:"total"`
	Created     string      `json:"created"`
	ETag        string      `json:"eTag"`
	Modified    string      `json:"modified"`
	Category    string      `json:"category"`
	URI         string      `json:"uri"`
}

type EncList

type EncList []Enclosure

type Enclosure

type Enclosure struct {
	Type                  string        `json:"type"`
	Partitions            []interface{} `json:"partitions"`
	CrossBars             []interface{} `json:"crossBars"`
	ScopeUris             []interface{} `json:"scopeUris"`
	RemoteSupportSettings struct {
		RemoteSupportCurrentState string `json:"remoteSupportCurrentState"`
		Destination               string `json:"destination"`
	} `json:"remoteSupportSettings"`
	SupportDataCollectionState interface{} `json:"supportDataCollectionState"`
	SupportState               string      `json:"supportState"`
	RemoteSupportURI           string      `json:"remoteSupportUri"`
	SupportDataCollectionsURI  string      `json:"supportDataCollectionsUri"`
	SupportDataCollectionType  interface{} `json:"supportDataCollectionType"`
	EnclosureType              string      `json:"enclosureType"`
	DeviceBays                 []struct {
		Type             string      `json:"type"`
		BayNumber        int         `json:"bayNumber"`
		Model            interface{} `json:"model"`
		DevicePresence   string      `json:"devicePresence"`
		ProfileURI       interface{} `json:"profileUri"`
		DeviceURI        string      `json:"deviceUri"`
		CoveredByProfile interface{} `json:"coveredByProfile"`
		CoveredByDevice  string      `json:"coveredByDevice"`
		Ipv4Setting      struct {
			IPAddress         string `json:"ipAddress"`
			Mode              string `json:"mode"`
			IPAssignmentState string `json:"ipAssignmentState"`
			IPRangeURI        string `json:"ipRangeUri"`
		} `json:"ipv4Setting"`
		UUID                                    interface{} `json:"uuid"`
		AvailableForFullHeightDoubleWideProfile bool        `json:"availableForFullHeightDoubleWideProfile"`
		AvailableForHalfHeightDoubleWideProfile bool        `json:"availableForHalfHeightDoubleWideProfile"`
		DeviceBayType                           string      `json:"deviceBayType"`
		DeviceFormFactor                        string      `json:"deviceFormFactor"`
		BayPowerState                           string      `json:"bayPowerState"`
		ChangeState                             string      `json:"changeState"`
		AvailableForHalfHeightProfile           bool        `json:"availableForHalfHeightProfile"`
		AvailableForFullHeightProfile           bool        `json:"availableForFullHeightProfile"`
		URI                                     string      `json:"uri"`
		Created                                 interface{} `json:"created"`
		ETag                                    interface{} `json:"eTag"`
		Modified                                interface{} `json:"modified"`
		Category                                string      `json:"category"`
		PowerAllocationWatts                    int         `json:"powerAllocationWatts"`
		SerialConsole                           bool        `json:"serialConsole"`
		SerialNumber                            string      `json:"serialNumber,omitempty"`
	} `json:"deviceBays"`
	LicensingIntent string `json:"licensingIntent"`
	PartNumber      string `json:"partNumber"`
	UIDState        string `json:"uidState"`
	FanBayCount     int    `json:"fanBayCount"`
	FanBays         []struct {
		BayNumber       int    `json:"bayNumber"`
		DevicePresence  string `json:"devicePresence"`
		DeviceRequired  bool   `json:"deviceRequired"`
		Status          string `json:"status"`
		Model           string `json:"model"`
		PartNumber      string `json:"partNumber"`
		SparePartNumber string `json:"sparePartNumber"`
		ChangeState     string `json:"changeState"`
		FanBayType      string `json:"fanBayType"`
		SerialNumber    string `json:"serialNumber"`
	} `json:"fanBays"`
	PowerSupplyBayCount int `json:"powerSupplyBayCount"`
	PowerSupplyBays     []struct {
		BayNumber           int    `json:"bayNumber"`
		DevicePresence      string `json:"devicePresence"`
		Status              string `json:"status"`
		Model               string `json:"model"`
		SerialNumber        string `json:"serialNumber"`
		PartNumber          string `json:"partNumber"`
		SparePartNumber     string `json:"sparePartNumber"`
		ChangeState         string `json:"changeState"`
		PowerSupplyBayType  string `json:"powerSupplyBayType"`
		OutputCapacityWatts int    `json:"outputCapacityWatts"`
	} `json:"powerSupplyBays"`
	FwBaselineURI        string `json:"fwBaselineUri"`
	FwBaselineName       string `json:"fwBaselineName"`
	IsFwManaged          bool   `json:"isFwManaged"`
	ForceInstallFirmware bool   `json:"forceInstallFirmware"`
	EnclosureTypeURI     string `json:"enclosureTypeUri"`
	LogicalEnclosureURI  string `json:"logicalEnclosureUri"`
	EnclosureGroupURI    string `json:"enclosureGroupUri"`
	UUID                 string `json:"uuid"`
	ManagerBays          []struct {
		Role                       string `json:"role"`
		BayPowerState              string `json:"bayPowerState"`
		ChangeState                string `json:"changeState"`
		IPAddress                  string `json:"ipAddress"`
		BayNumber                  int    `json:"bayNumber"`
		UIDState                   string `json:"uidState"`
		DevicePresence             string `json:"devicePresence"`
		FwVersion                  string `json:"fwVersion"`
		ManagerType                string `json:"managerType"`
		FwBuildDate                string `json:"fwBuildDate"`
		SerialNumber               string `json:"serialNumber"`
		Status                     string `json:"status"`
		SparePartNumber            string `json:"sparePartNumber"`
		PartNumber                 string `json:"partNumber"`
		MgmtPortLinkState          string `json:"mgmtPortLinkState"`
		LinkPortState              string `json:"linkPortState"`
		MgmtPortStatus             string `json:"mgmtPortStatus"`
		LinkPortStatus             string `json:"linkPortStatus"`
		NegotiatedMgmtPortSpeedGbs int    `json:"negotiatedMgmtPortSpeedGbs"`
		NegotiatedLinkPortSpeedGbs int    `json:"negotiatedLinkPortSpeedGbs"`
		LinkPortIsolated           bool   `json:"linkPortIsolated"`
		MgmtPortState              string `json:"mgmtPortState"`
		MgmtPortNeighbor           struct {
			ResourceURI interface{} `json:"resourceUri"`
			IPAddress   interface{} `json:"ipAddress"`
			MacAddress  string      `json:"macAddress"`
			Description string      `json:"description"`
			Port        string      `json:"port"`
		} `json:"mgmtPortNeighbor"`
		MgmtPortSpeedGbs string `json:"mgmtPortSpeedGbs"`
		LinkPortSpeedGbs string `json:"linkPortSpeedGbs"`
		Model            string `json:"model"`
		LinkedEnclosure  struct {
			BayNumber    int    `json:"bayNumber"`
			SerialNumber string `json:"serialNumber"`
		} `json:"linkedEnclosure"`
	} `json:"managerBays"`
	EnclosureModel       string `json:"enclosureModel"`
	ReconfigurationState string `json:"reconfigurationState"`
	DeviceBayCount       int    `json:"deviceBayCount"`
	InterconnectBayCount int    `json:"interconnectBayCount"`
	InterconnectBays     []struct {
		BayNumber              int         `json:"bayNumber"`
		InterconnectURI        string      `json:"interconnectUri"`
		LogicalInterconnectURI string      `json:"logicalInterconnectUri"`
		InterconnectModel      string      `json:"interconnectModel"`
		Ipv4Setting            interface{} `json:"ipv4Setting"`
		BayPowerState          string      `json:"bayPowerState"`
		ChangeState            string      `json:"changeState"`
		InterconnectBayType    string      `json:"interconnectBayType"`
		SerialNumber           string      `json:"serialNumber"`
		PowerAllocationWatts   int         `json:"powerAllocationWatts"`
		SerialConsole          bool        `json:"serialConsole"`
		PartNumber             string      `json:"partNumber,omitempty"`
	} `json:"interconnectBays"`
	SerialNumber                              string      `json:"serialNumber"`
	ETag                                      string      `json:"eTag"`
	RefreshState                              string      `json:"refreshState"`
	Status                                    string      `json:"status"`
	URI                                       string      `json:"uri"`
	Name                                      string      `json:"name"`
	State                                     string      `json:"state"`
	StateReason                               string      `json:"stateReason"`
	Description                               interface{} `json:"description"`
	Created                                   string      `json:"created"`
	Modified                                  string      `json:"modified"`
	Category                                  string      `json:"category"`
	Version                                   string      `json:"version"`
	FrameLinkModuleDomain                     string      `json:"frameLinkModuleDomain"`
	PowerMode                                 string      `json:"powerMode"`
	ManagerBayCount                           int         `json:"managerBayCount"`
	FansAndManagementDevicesWatts             int         `json:"fansAndManagementDevicesWatts"`
	PowerCapacityBoostWatts                   int         `json:"powerCapacityBoostWatts"`
	MinimumPowerSupplies                      int         `json:"minimumPowerSupplies"`
	MinimumPowerSuppliesForRedundantPowerFeed int         `json:"minimumPowerSuppliesForRedundantPowerFeed"`
	PowerAvailableWatts                       int         `json:"powerAvailableWatts"`
	PowerCapacityWatts                        int         `json:"powerCapacityWatts"`
	DeviceBayWatts                            int         `json:"deviceBayWatts"`
	InterconnectBayWatts                      int         `json:"interconnectBayWatts"`
	PowerAllocatedWatts                       int         `json:"powerAllocatedWatts"`
	ApplianceBays                             []struct {
		Model           string `json:"model"`
		BayPowerState   string `json:"bayPowerState"`
		PartNumber      string `json:"partNumber"`
		BayNumber       int    `json:"bayNumber"`
		SparePartNumber string `json:"sparePartNumber"`
		DevicePresence  string `json:"devicePresence"`
		PoweredOn       bool   `json:"poweredOn"`
		SerialNumber    string `json:"serialNumber"`
		Status          string `json:"status"`
	} `json:"applianceBays"`
	ApplianceBayCount int `json:"applianceBayCount"`
}

type EthernetSettings

type EthernetSettings struct {
	Category                    string `json:"category,omitempty"`                    // "category": null,
	Created                     string `json:"created,omitempty"`                     // "created": "20150831T154835.250Z",
	DependentResourceUri        string `json:"dependentResourceUri,omitempty"`        // dependentResourceUri": "/rest/logical-interconnect-groups/b7b144e9-1f5e-4d52-8534-2e39280f9e86",
	Description                 string `json:"description,omitempty,omitempty"`       // "description": "Ethernet Settings",
	ETAG                        string `json:"eTag,omitempty"`                        // "eTag": "1441036118675/8",
	EnableFastMacCacheFailover  *bool  `json:"enableFastMacCacheFailover,omitempty"`  //"enableFastMacCacheFailover": false,
	EnableIgmpSnooping          *bool  `json:"enableIgmpSnooping,omitempty"`          // "enableIgmpSnooping": false,
	EnableNetworkLoopProtection *bool  `json:"enableNetworkLoopProtection,omitempty"` // "enableNetworkLoopProtection": false,
	EnablePauseFloodProtection  *bool  `json:"enablePauseFloodProtection,omitempty"`  // "enablePauseFloodProtection": false,
	EnableRichTLV               *bool  `json:"enableRichTLV,omitempty"`               // "enableRichTLV": false,
	ID                          string `json:"id,omitempty"`                          //"id": "0c398238-2d35-48eb-9eb5-7560d59f94b3",
	IgmpIdleTimeoutInterval     int    `json:"igmpIdleTimeoutInterval,omitempty"`     // "igmpIdleTimeoutInterval": 260,
	InterconnectType            string `json:"interconnectType,omitempty"`            // "interconnectType": "Ethernet",
	MacRefreshInterval          int    `json:"macRefreshInterval,omitempty"`          // "macRefreshInterval": 5,
	Modified                    string `json:"modified,omitempty"`                    // "modified": "20150831T154835.250Z",
	Name                        string `json:"name,omitempty"`                        // "name": "ethernetSettings 1",
	State                       string `json:"state,omitempty"`                       // "state": "Normal",
	Status                      string `json:"status,omitempty"`                      // "status": "Critical",
	Type                        string `json:"type,omitempty"`                        // "EthernetInterconnectSettingsV3",
	URI                         string `json:"uri,omitempty"`                         // "uri": "/rest/logical-interconnect-groups/b7b144e9-1f5e-4d52-8534-2e39280f9e86/ethernetSettings"
}

type ExpectedNeighbor

type ExpectedNeighbor struct {
	RemoteChassisID string `json:"remoteChassisId"`
	RemotePortID    string `json:"remotePortId"`
}

type Goldenimage

type Goldenimage struct {
	GoldenimageName string `json:"goldenimageName"`
	GiID            string `json:"giID"`
	ReadOnly        bool   `json:"readOnly"`
	Description     string `json:"description"`
}

type IC

type IC struct {
	Type                   string        `json:"type"`
	LogicalInterconnectURI string        `json:"logicalInterconnectUri"`
	PartNumber             string        `json:"partNumber"`
	Ports                  []Port        `json:"ports"`
	IPAddressList          []interface{} `json:"ipAddressList"`
	// SnmpConfiguration struct {
	// 	Type             string        `json:"type"`
	// 	ReadCommunity    string        `json:"readCommunity"`
	// 	TrapDestinations []interface{} `json:"trapDestinations"`
	// 	SystemContact    string        `json:"systemContact"`
	// 	SnmpAccess       []interface{} `json:"snmpAccess"`
	// 	Enabled          bool          `json:"enabled"`
	// 	Description      interface{}   `json:"description"`
	// 	Status           interface{}   `json:"status"`
	// 	Name             interface{}   `json:"name"`
	// 	State            interface{}   `json:"state"`
	// 	Created          string     `json:"created"`
	// 	ETag             interface{}   `json:"eTag"`
	// 	Modified         string     `json:"modified"`
	// 	Category         string        `json:"category"`
	// 	URI              interface{}   `json:"uri"`
	// } `json:"snmpConfiguration"`
	// InterconnectLocation struct {
	// 	LocationEntries []struct {
	// 		Value string `json:"value"`
	// 		Type  string `json:"type"`
	// 	} `json:"locationEntries"`
	// } `json:"interconnectLocation"`
	// InterconnectTypeURI string      `json:"interconnectTypeUri"`
	// MgmtInterface       string      `json:"mgmtInterface"`
	// StackingMemberID    int         `json:"stackingMemberId"`
	// FirmwareVersion     string      `json:"firmwareVersion"`
	// PortCount           int         `json:"portCount"`
	// Model               string      `json:"model"`
	// EnclosureURI        string      `json:"enclosureUri"`
	// StackingDomainID    int         `json:"stackingDomainId"`
	// EnclosureType       string      `json:"enclosureType"`
	// PowerState          string      `json:"powerState"`
	// StackingDomainRole  string      `json:"stackingDomainRole"`
	// MigrationState      interface{} `json:"migrationState"`
	// QosConfiguration    struct {
	// 	Type            string `json:"type"`
	// 	ActiveQosConfig struct {
	// 		Type                       string        `json:"type"`
	// 		ConfigType                 string        `json:"configType"`
	// 		DownlinkClassificationType interface{}   `json:"downlinkClassificationType"`
	// 		UplinkClassificationType   interface{}   `json:"uplinkClassificationType"`
	// 		QosTrafficClassifiers      []interface{} `json:"qosTrafficClassifiers"`
	// 		Description                interface{}   `json:"description"`
	// 		Status                     interface{}   `json:"status"`
	// 		Name                       interface{}   `json:"name"`
	// 		State                      interface{}   `json:"state"`
	// 		Created                    interface{}   `json:"created"`
	// 		ETag                       interface{}   `json:"eTag"`
	// 		Modified                   interface{}   `json:"modified"`
	// 		Category                   string        `json:"category"`
	// 		URI                        interface{}   `json:"uri"`
	// 	} `json:"activeQosConfig"`
	// 	InactiveFCoEQosConfig    interface{} `json:"inactiveFCoEQosConfig"`
	// 	InactiveNonFCoEQosConfig interface{} `json:"inactiveNonFCoEQosConfig"`
	// 	Description              interface{} `json:"description"`
	// 	Status                   interface{} `json:"status"`
	// 	Name                     interface{} `json:"name"`
	// 	State                    interface{} `json:"state"`
	// 	Created                  string   `json:"created"`
	// 	ETag                     interface{} `json:"eTag"`
	// 	Modified                 string   `json:"modified"`
	// 	Category                 string      `json:"category"`
	// 	URI                      interface{} `json:"uri"`
	// } `json:"qosConfiguration"`
	// LldpIpv4Address            string `json:"lldpIpv4Address"`
	// LldpIpv6Address            string `json:"lldpIpv6Address"`
	// MaxBandwidth               string `json:"maxBandwidth"`
	// IgmpIdleTimeoutInterval    int    `json:"igmpIdleTimeoutInterval"`
	// EnablePauseFloodProtection bool   `json:"enablePauseFloodProtection"`
	ProductName string `json:"productName"`
	// IcmLicenses                struct {
	// 	License []struct {
	// 		RequiredCount int    `json:"requiredCount"`
	// 		LicenseType   string `json:"licenseType"`
	// 		ConsumedCount int    `json:"consumedCount"`
	// 		State         string `json:"state"`
	// 	} `json:"license"`
	// } `json:"icmLicenses"`
	UIDState                      string        `json:"uidState"`
	EnclosureName                 string        `json:"enclosureName"`
	BaseWWN                       string        `json:"baseWWN"`
	InterconnectMAC               string        `json:"interconnectMAC"`
	UnsupportedCapabilities       interface{}   `json:"unsupportedCapabilities"`
	InterconnectIP                interface{}   `json:"interconnectIP"`
	EnableTaggedLldp              bool          `json:"enableTaggedLldp"`
	SubPortCount                  int           `json:"subPortCount"`
	EdgeVirtualBridgingAvailable  bool          `json:"edgeVirtualBridgingAvailable"`
	EnableIgmpSnooping            bool          `json:"enableIgmpSnooping"`
	NetworkLoopProtectionInterval int           `json:"networkLoopProtectionInterval"`
	EnableFastMacCacheFailover    bool          `json:"enableFastMacCacheFailover"`
	EnableNetworkLoopProtection   bool          `json:"enableNetworkLoopProtection"`
	EnableRichTLV                 bool          `json:"enableRichTLV"`
	DeviceResetState              string        `json:"deviceResetState"`
	SerialNumber                  string        `json:"serialNumber"`
	Roles                         []string      `json:"roles"`
	HostName                      string        `json:"hostName"`
	ScopeUris                     []interface{} `json:"scopeUris"`
	Description                   interface{}   `json:"description"`
	Status                        string        `json:"status"`
	Name                          string        `json:"name"`
	State                         string        `json:"state"`
	Created                       string        `json:"created"`
	ETag                          string        `json:"eTag"`
	Modified                      string        `json:"modified"`
	Category                      string        `json:"category"`
	URI                           string        `json:"uri"`
	LIName                        string
	SFPList                       []SFP
}

Interconnect object

func GetICPort

func GetICPort() []IC

func GetSFP

func GetSFP() []IC

type ICCol

type ICCol struct {
	Type        string `json:"type"`
	Total       int    `json:"total,omitempty"`       // "total": 1,
	Count       int    `json:"count,omitempty"`       // "count": 1,
	Start       int    `json:"start,omitempty"`       // "start": 0,
	PrevPageURI string `json:"prevPageUri,omitempty"` // "prevPageUri": null,
	NextPageURI string //`json:"nextPageUri,omitempty"` // "nextPageUri": null,
	URI         string `json:"uri,omitempty"`     // "uri": "/rest/server-profiles?filter=serialNumber%20matches%20%272M25090RMW%27&sort=name:asc"
	Members     []IC   `json:"members,omitempty"` // "members":[]
}

ICCol a list of Interconnect objects

type ICSFPMap

type ICSFPMap map[string]*ICSFPStruct

ICSFPMap is mapping between each module and its own port mapping table, such as map["module 1, top frame"]*map[d1]struct{for d1} type ICSFPMap map[string]*SFPMap create extract struct inside map to give us information on Module Name

type ICSFPStruct

type ICSFPStruct struct {
	ModuleName string
	SFPMapping *SFPMap
}

ICSFPStruct can give us information of Modulename, which we can't get from simple map key for IC module

type ICType

type ICType struct {
	Category                 string                 `json:"category,omitempty"`                 // "category": "interconnect-types",
	Created                  string                 `json:"created,omitempty"`                  // "created": "20150831T154835.250Z",
	Description              string                 `json:"description,omitempty"`              // "description": "Interconnect Type 1",
	DownlinkCount            int                    `json:"downlinkCount,omitempty"`            // "downlinkCount": 2,
	DownlinkPortCapability   DownlinkPortCapability `json:"downlinkPortCapability,omitempty"`   // "downlinkPortCapability": {...},
	ETAG                     string                 `json:"eTag,omitempty"`                     // "eTag": "1441036118675/8",
	InterconnectCapabilities InterconnectCapability `json:"interconnectCapabilities,omitempty"` // "interconnectCapabilities": {...},
	MaximumFirmwareVersion   string                 `json:"maximumFirmwareVersion,omitempty"`   // "maximumFirmwareVersion": "3.0.0",
	MinimumFirmwareVersion   string                 `json:"minimumFirmwareVersion,omitempty"`   // "minimumFirmwareVersion": "2.0.0",
	Modified                 string                 `json:"modified,omitempty"`                 // "modified": "20150831T154835.250Z",
	Name                     string                 `json:"name,omitempty"`                     // "name": null,
	PartNumber               string                 `json:"partNumber,omitempty"`               // "partNumber": "572018-B21",
	PortInfos                []PortInfo             `json:"portInfos,omitempty"`                // "portInfos": {...},
	State                    string                 `json:"state,omitempty"`                    // "state": "Normal",
	Status                   string                 `json:"status,omitempty"`                   // "status": "Critical",
	Type                     string                 `json:"type,omitempty"`                     // "type": "interconnect-typeV3",
	UnsupportedCapabilities  []string               `json:"unsupportedCapabilities,omitempty"`  // "unsupportedCapabilities": [],
	URI                      string                 `json:"uri,omitempty"`                      // "uri": "/rest/interconnect-types/9d31081c-e010-4005-bf0b-e64b0ca04af5"
}

type ICTypeCol

type ICTypeCol struct {
	Total       int      `json:"total,omitempty"`       // "total": 1,
	Count       int      `json:"count,omitempty"`       // "count": 1,
	Start       int      `json:"start,omitempty"`       // "start": 0,
	PrevPageURI string   `json:"prevPageUri,omitempty"` // "prevPageUri": null,
	NextPageURI string   `json:"nextPageUri,omitempty"` // "nextPageUri": null,
	URI         string   `json:"uri,omitempty"`         // "uri": "/rest/server-profiles?filter=connectionTemplateUri%20matches%7769cae0-b680-435b-9b87-9b864c81657fsort=name:asc"
	Members     []ICType `json:"members,omitempty"`     // "members":[]
}

type IOBay

type IOBay struct {
	EncIndex    int
	Enclosure   string
	Bay         string
	ModelName   string
	ModelNumber string
}

type IOBayList

type IOBayList []IOBay

type InactiveFCoEQosConfig

type InactiveFCoEQosConfig struct {
	Category                   string                 `json:"category,omitempty"`                   // "category": "null",
	ConfigType                 string                 `json:"configType,omitempty"`                 // "configType": "CustomWithFCoE",
	Created                    string                 `json:"created,omitempty"`                    // "created": "20150831T154835.250Z",
	Description                string                 `json:"description,omitempty,omitempty"`      // "description": "Ethernet Settings",
	DownlinkClassificationType string                 `json:"downlinkClassificationType,omitempty"` //"downlinkClassifcationType": "DOT1P_AND_DSCP",
	ETAG                       string                 `json:"eTag,omitempty"`                       // "eTag": "1441036118675/8",
	Modified                   string                 `json:"modified,omitempty"`                   // "modified": "20150831T154835.250Z",
	Name                       string                 `json:"name,omitempty"`                       // "name": "active QOS Config 1",
	QosTrafficClassifiers      []QosTrafficClassifier `json:"qosTrafficClassifiers,omitempty"`      // "qosTrafficClassifiers": {...},
	State                      string                 `json:"state,omitempty"`                      // "state": "Normal",
	Status                     string                 `json:"status,omitempty"`                     // "status": "Critical",
	Type                       string                 `json:"type,omitempty"`                       // "type": "QosConfiguration",
	UplinkClassificationType   string                 `json:"uplinkClassificationType,omitempty"`   // "uplinkClassificationType": "DOT1P"
	URI                        string                 `json:"uri,omitempty"`                        // "uri": null
}

type InactiveNonFCoEQosConfig

type InactiveNonFCoEQosConfig struct {
	Category                   string                 `json:"category,omitempty"`                   // "category": "null",
	ConfigType                 string                 `json:"configType,omitempty"`                 // "configType": "CustomWithFCoE",
	Created                    string                 `json:"created,omitempty"`                    // "created": "20150831T154835.250Z",
	Description                string                 `json:"description,omitempty,omitempty"`      // "description": "Ethernet Settings",
	DownlinkClassificationType string                 `json:"downlinkClassificationType,omitempty"` //"downlinkClassifcationType": "DOT1P_AND_DSCP",
	ETAG                       string                 `json:"eTag,omitempty"`                       // "eTag": "1441036118675/8",
	Modified                   string                 `json:"modified,omitempty"`                   // "modified": "20150831T154835.250Z",
	Name                       string                 `json:"name,omitempty"`                       // "name": "active QOS Config 1",
	QosTrafficClassifiers      []QosTrafficClassifier `json:"qosTrafficClassifiers,omitempty"`      // "qosTrafficClassifiers": {...},
	State                      string                 `json:"state,omitempty"`                      // "state": "Normal",
	Status                     string                 `json:"status,omitempty"`                     // "status": "Critical",
	Type                       string                 `json:"type,omitempty"`                       // "type": "QosConfiguration",
	UplinkClassificationType   string                 `json:"uplinkClassificationType,omitempty"`   // "uplinkClassificationType": "DOT1P"
	URI                        string                 `json:"uri,omitempty"`                        // "uri": null
}

type InterconnectBayMap

type InterconnectBayMap struct {
	InterconnectBay             int    `json:"interconnectBay,omitempty"`             // "interconnectBay": 0,
	LogicalInterconnectGroupUri string `json:"logicalInterconnectGroupUri,omitempty"` // "logicalInterconnectGroupUri": "",
}

type InterconnectCapability

type InterconnectCapability struct {
	Capabilities       []string `json:"capabilities,omitempty"`       // "capabilities": ["Ethernet"],
	MaxBandwidthInGbps int      `json:"maxBandwidthInGbps,omitempty"` // "maxBandwidthInGbps": 10,
}

type InterconnectMapEntryTemplate

type InterconnectMapEntryTemplate struct {
	EnclosureIndex               int             `json:"enclosureIndex,omitempty"`               // "enclosureIndex": 1,
	LogicalDownlinkUri           string          `json:"logicalDownlinkUri,omitempty"`           // "logicalDownlinkUri": "/rest/logical-downlinks/5b33fec1-63e8-40e1-9e3d-3af928917b2f",
	LogicalLocation              LogicalLocation `json:"logicalLocation,omitempty"`              // "logicalLocation": {...},
	PermittedInterconnectTypeUri string          `json:"permittedInterconnectTypeUri,omitempty"` //"permittedSwitchTypeUri": "/rest/switch-types/a2bc8f42-8bb8-4560-b80f-6c3c0e0d66e0",
}

type InterconnectMapTemplate

type InterconnectMapTemplate struct {
	InterconnectMapEntryTemplates []InterconnectMapEntryTemplate `json:"interconnectMapEntryTemplates"` // "interconnectMapEntryTemplates": {...},
}

type Ipv4

type Ipv4 struct {
	IPAddressSource string `json:"ipAddressSource,omitempty"`
	IPAddress       string `json:"ipAddress,omitempty"`
	SubnetMask      string `json:"subnetMask,omitempty"`
	Gateway         string `json:"gateway,omitempty"`
}

type Ipv4Range

type Ipv4Range struct {
	IPRangeURI string   `json:"ipRangeUri,omitempty"`
	Name       string   `json:"name,omitempty"`
	SubnetMask string   `json:"subnetMask,omitempty"`
	Gateway    string   `json:"gateway,omitempty"`
	Domain     string   `json:"domain,omitempty"`
	DNSServers []string `json:"dnsServers,omitempty"`
}

type LE

type LE struct {
	Type              string   `json:"type,omitempty"`
	EnclosureGroupURI string   `json:"enclosureGroupUri,omitempty"`
	EnclosureUris     []string `json:"enclosureUris,omitempty"`
	// Enclosures        struct {
	// 	RestEnclosures0000000000A66104 struct {
	// 		InterconnectBays []struct {
	// 			LicenseIntents struct {
	// 				FCUpgrade string `json:"FCUpgrade,omitempty"`
	// 			} `json:"licenseIntents,omitempty"`
	// 			BayNumber int `json:"bayNumber,omitempty"`
	// 		} `json:"interconnectBays,omitempty"`
	// 		EnclosureURI string `json:"enclosureUri,omitempty"`
	// 	} `json:"/rest/enclosures/0000000000A66104,omitempty"`
	// 	RestEnclosures0000000000A66105 struct {
	// 		InterconnectBays []struct {
	// 			LicenseIntents struct {
	// 				FCUpgrade string `json:"FCUpgrade,omitempty"`
	// 			} `json:"licenseIntents,omitempty"`
	// 			BayNumber int `json:"bayNumber,omitempty"`
	// 		} `json:"interconnectBays,omitempty"`
	// 		EnclosureURI string `json:"enclosureUri,omitempty"`
	// 	} `json:"/rest/enclosures/0000000000A66105,omitempty"`
	// } `json:"enclosures,omitempty"`
	LogicalInterconnectUris []string    `json:"logicalInterconnectUris,omitempty"`
	IPAddressingMode        string      `json:"ipAddressingMode,omitempty"`
	Ipv4Ranges              []Ipv4Range `json:"ipv4Ranges,omitempty"`
	PowerMode               string      `json:"powerMode,omitempty"`
	AmbientTemperatureMode  string      `json:"ambientTemperatureMode,omitempty"`
	Firmware                struct {
		FirmwareBaselineURI                       string `json:"firmwareBaselineUri,omitempty"`
		ValidateIfLIFirmwareUpdateIsNonDisruptive bool   `json:"validateIfLIFirmwareUpdateIsNonDisruptive,omitempty"`
		ForceInstallFirmware                      bool   `json:"forceInstallFirmware,omitempty"`
		LogicalInterconnectUpdateMode             string `json:"logicalInterconnectUpdateMode,omitempty"`
		UpdateFirmwareOnUnmanagedInterconnect     bool   `json:"updateFirmwareOnUnmanagedInterconnect,omitempty"`
	} `json:"-"`
	ScalingState              string `json:"scalingState,omitempty"`
	DeploymentManagerSettings struct {
		OsDeploymentSettings struct {
			DeploymentModeSettings struct {
				DeploymentMode       string `json:"deploymentMode,omitempty"`
				DeploymentNetworkURI string `json:"deploymentNetworkUri,omitempty"`
			} `json:"deploymentModeSettings,omitempty"`
			ManageOSDeployment bool `json:"manageOSDeployment,omitempty"`
		} `json:"-"`
		DeploymentClusterURI string `json:"deploymentClusterUri,omitempty"`
	} `json:"-"`
	DeleteFailed   bool     `json:"deleteFailed,omitempty"`
	ETag           string   `json:"eTag,omitempty"`
	Status         string   `json:"status,omitempty"`
	URI            string   `json:"uri,omitempty"`
	Name           string   `json:"name,omitempty"`
	State          string   `json:"state,omitempty"`
	Description    string   `json:"description,omitempty"`
	Category       string   `json:"category,omitempty"`
	Created        string   `json:"created,omitempty"`
	Modified       string   `json:"modified,omitempty"`
	EGName         string   `json:"-"`
	EnclosureNames []string `json:"-"`
	LINames        []string `json:"-"`
}

type LECol

type LECol struct {
	Type        string `json:"type,omitempty,omitempty"`
	Members     []LE   `json:"members,omitempty,omitempty"`
	Count       int    `json:"count,omitempty,omitempty"`
	Total       int    `json:"total,omitempty,omitempty"`
	Start       int    `json:"start,omitempty,omitempty"`
	PrevPageURI string `json:"prevPageUri,omitempty,omitempty"`
	NextPageURI string `json:"nextPageUri,omitempty,omitempty"`
	Category    string `json:"category,omitempty,omitempty"`
	Created     string `json:"created,omitempty"`
	ETag        string `json:"eTag,omitempty"`
	Modified    string `json:"modified,omitempty"`
	URI         string `json:"uri,omitempty"`
}

type LI

type LI struct {
	Type                        string `json:"type"`
	LogicalInterconnectGroupURI string `json:"logicalInterconnectGroupUri"`
	// SnmpConfiguration           struct {
	// 	Type             string        `json:"type"`
	// 	ReadCommunity    string        `json:"readCommunity"`
	// 	TrapDestinations []interface{} `json:"trapDestinations"`
	// 	SystemContact    string        `json:"systemContact"`
	// 	SnmpAccess       []interface{} `json:"snmpAccess"`
	// 	Enabled          bool          `json:"enabled"`
	// 	Description      interface{}   `json:"description"`
	// 	Status           interface{}   `json:"status"`
	// 	Name             interface{}   `json:"name"`
	// 	State            interface{}   `json:"state"`
	// 	Created          string     `json:"created"`
	// 	ETag             interface{}   `json:"eTag"`
	// 	Modified         string     `json:"modified"`
	// 	Category         string        `json:"category"`
	// 	URI              interface{}   `json:"uri"`
	// } `json:"snmpConfiguration"`
	// TelemetryConfiguration struct {
	// 	Type            string      `json:"type"`
	// 	SampleCount     int         `json:"sampleCount"`
	// 	SampleInterval  int         `json:"sampleInterval"`
	// 	EnableTelemetry bool        `json:"enableTelemetry"`
	// 	Description     interface{} `json:"description"`
	// 	Status          interface{} `json:"status"`
	// 	Name            string      `json:"name"`
	// 	State           interface{} `json:"state"`
	// 	Created         interface{} `json:"created"`
	// 	ETag            interface{} `json:"eTag"`
	// 	Modified        interface{} `json:"modified"`
	// 	Category        string      `json:"category"`
	// 	URI             string      `json:"uri"`
	// } `json:"telemetryConfiguration"`
	EnclosureUris  []string `json:"enclosureUris"`
	EnclosureType  string   `json:"enclosureType"`
	StackingHealth string   `json:"stackingHealth"`
	Interconnects  []string `json:"interconnects"`
	// QosConfiguration struct {
	// 	Type            string `json:"type"`
	// 	ActiveQosConfig struct {
	// 		Type                       string        `json:"type"`
	// 		ConfigType                 string        `json:"configType"`
	// 		DownlinkClassificationType interface{}   `json:"downlinkClassificationType"`
	// 		UplinkClassificationType   interface{}   `json:"uplinkClassificationType"`
	// 		QosTrafficClassifiers      []interface{} `json:"qosTrafficClassifiers"`
	// 		Description                interface{}   `json:"description"`
	// 		Status                     interface{}   `json:"status"`
	// 		Name                       interface{}   `json:"name"`
	// 		State                      interface{}   `json:"state"`
	// 		Created                    interface{}   `json:"created"`
	// 		ETag                       interface{}   `json:"eTag"`
	// 		Modified                   interface{}   `json:"modified"`
	// 		Category                   string        `json:"category"`
	// 		URI                        interface{}   `json:"uri"`
	// 	} `json:"activeQosConfig"`
	// 	InactiveFCoEQosConfig    interface{} `json:"inactiveFCoEQosConfig"`
	// 	InactiveNonFCoEQosConfig interface{} `json:"inactiveNonFCoEQosConfig"`
	// 	Description              interface{} `json:"description"`
	// 	Status                   interface{} `json:"status"`
	// 	Name                     interface{} `json:"name"`
	// 	State                    interface{} `json:"state"`
	// 	Created                  string   `json:"created"`
	// 	ETag                     interface{} `json:"eTag"`
	// 	Modified                 string   `json:"modified"`
	// 	Category                 string      `json:"category"`
	// 	URI                      interface{} `json:"uri"`
	// } `json:"qosConfiguration"`
	InternalNetworkUris []string `json:"internalNetworkUris"`
	InterconnectMap     struct {
		InterconnectMapEntries []struct {
			InterconnectURI              string `json:"interconnectUri"`
			EnclosureIndex               int    `json:"enclosureIndex"`
			PermittedInterconnectTypeURI string `json:"permittedInterconnectTypeUri"`
			LogicalDownlinkURI           string `json:"logicalDownlinkUri"`
			Location                     struct {
				LocationEntries []struct {
					Value string `json:"value"`
					Type  string `json:"type"`
				} `json:"locationEntries"`
			} `json:"location"`
		} `json:"interconnectMapEntries"`
	} `json:"InterconnectMap"`
	IcmLicenses struct {
		License []struct {
			RequiredCount int         `json:"requiredCount"`
			LicenseType   string      `json:"licenseType"`
			ConsumedCount int         `json:"consumedCount"`
			State         interface{} `json:"state"`
		} `json:"license"`
	} `json:"icmLicenses"`
	ConsistencyStatus string `json:"consistencyStatus"`
	EthernetSettings  struct {
		Type                        string      `json:"type"`
		InterconnectType            string      `json:"interconnectType"`
		LldpIpv4Address             string      `json:"lldpIpv4Address"`
		LldpIpv6Address             string      `json:"lldpIpv6Address"`
		EnableIgmpSnooping          bool        `json:"enableIgmpSnooping"`
		IgmpIdleTimeoutInterval     int         `json:"igmpIdleTimeoutInterval"`
		EnableFastMacCacheFailover  bool        `json:"enableFastMacCacheFailover"`
		MacRefreshInterval          int         `json:"macRefreshInterval"`
		EnableNetworkLoopProtection bool        `json:"enableNetworkLoopProtection"`
		EnablePauseFloodProtection  bool        `json:"enablePauseFloodProtection"`
		EnableRichTLV               bool        `json:"enableRichTLV"`
		EnableTaggedLldp            bool        `json:"enableTaggedLldp"`
		DependentResourceURI        string      `json:"dependentResourceUri"`
		Name                        string      `json:"name"`
		ID                          string      `json:"id"`
		Description                 interface{} `json:"description"`
		Status                      interface{} `json:"status"`
		State                       interface{} `json:"state"`
		Created                     string      `json:"created"`
		ETag                        interface{} `json:"eTag"`
		Modified                    string      `json:"modified"`
		Category                    interface{} `json:"category"`
		URI                         string      `json:"uri"`
	} `json:"ethernetSettings"`
	FabricURI   string `json:"fabricUri"`
	PortMonitor struct {
		Type              string        `json:"type"`
		AnalyzerPort      interface{}   `json:"analyzerPort"`
		MonitoredPorts    []interface{} `json:"monitoredPorts"`
		EnablePortMonitor bool          `json:"enablePortMonitor"`
		Description       interface{}   `json:"description"`
		Status            interface{}   `json:"status"`
		Name              string        `json:"name"`
		State             interface{}   `json:"state"`
		Created           interface{}   `json:"created"`
		ETag              string        `json:"eTag"`
		Modified          interface{}   `json:"modified"`
		Category          string        `json:"category"`
		URI               string        `json:"uri"`
	} `json:"portMonitor"`
	DomainURI   string        `json:"domainUri"`
	ScopeUris   []interface{} `json:"scopeUris"`
	Description interface{}   `json:"description"`
	Status      string        `json:"status"`
	Name        string        `json:"name"`
	State       string        `json:"state"`
	Created     string        `json:"created"`
	ETag        string        `json:"eTag"`
	Modified    string        `json:"modified"`
	Category    string        `json:"category"`
	URI         string        `json:"uri"`
	LIGName     string
	UplinkSets  UplinkSetList
	IOBays      IOBayList
}

type LICol

type LICol struct {
	Type        string      `json:"type"`
	Members     LIList      `json:"members"`
	NextPageURI string      `json:"nextPageUri"`
	Start       int         `json:"start"`
	PrevPageURI interface{} `json:"prevPageUri"`
	Count       int         `json:"count"`
	Total       int         `json:"total"`
	Created     interface{} `json:"created"`
	ETag        interface{} `json:"eTag"`
	Modified    interface{} `json:"modified"`
	Category    string      `json:"category"`
	URI         string      `json:"uri"`
}

type LIG

type LIG struct {
	Category                string                  `json:"category,omitempty"`         // "category": "logical-interconnect-groups",
	Created                 string                  `json:"created,omitempty"`          // "created": "20150831T154835.250Z",
	Description             string                  `json:"description,omitempty"`      // "description": "Logical Interconnect Group 1",
	ETAG                    string                  `json:"eTag,omitempty"`             // "eTag": "1441036118675/8",
	EnclosureIndexes        []int                   `json:"enclosureIndexes,omitempty"` // "enclosureIndexes": [1],
	EnclosureType           string                  `json:"enclosureType,omitempty"`    // "enclosureType": "C7000",
	EthernetSettings        *EthernetSettings       `json:"ethernetSettings,omitempty"` // "ethernetSettings": {...},
	FabricUri               string                  `json:"fabricUri,omitempty"`        // "fabricUri": "/rest/fabrics/9b8f7ec0-52b3-475e-84f4-c4eac51c2c20",
	InterconnectBaySet      int                     `json:"interconnectBaySet"`
	InterconnectMapTemplate InterconnectMapTemplate `json:"interconnectMapTemplate"` // "interconnectMapTemplate": {...},
	// InterconnectMapTemplate *InterconnectMapTemplate `json:"interconnectMapTemplate"`          // "interconnectMapTemplate": {...},
	InternalNetworkUris    []string                `json:"internalNetworkUris,omitempty"`    // "internalNetworkUris": []
	Modified               string                  `json:"modified,omitempty"`               // "modified": "20150831T154835.250Z",
	Name                   string                  `json:"name"`                             // "name": "Logical Interconnect Group1",
	QosConfiguration       *QosConfiguration       `json:"qosConfiguration,omitempty"`       // "qosConfiguration": {},
	RedundancyType         string                  `json:"redundancyType,omitempty"`         // "redundancyType": "HighlyAvailable"
	SnmpConfiguration      *SnmpConfiguration      `json:"snmpConfiguration,omitempty"`      // "snmpConfiguration": {...}
	StackingHealth         string                  `json:"stackingHealth,omitempty"`         //"stackingHealth": "Connected",
	StackingMode           string                  `json:"stackingMode,omitempty"`           //"stackingMode": "Enclosure",
	State                  string                  `json:"state,omitempty"`                  // "state": "Normal",
	Status                 string                  `json:"status,omitempty"`                 // "status": "Critical",
	TelemetryConfiguration *TelemetryConfiguration `json:"telemetryConfiguration,omitempty"` // "telemetryConfiguration": {...},
	Type                   string                  `json:"type"`                             // "type": "logical-interconnect-groupsV3",
	UplinkSets             []LIGUplinkSet          `json:"uplinkSets"`                       // "uplinkSets": {...},
	URI                    string                  `json:"uri,omitempty"`                    // "uri": "/rest/logical-interconnect-groups/e2f0031b-52bd-4223-9ac1-d91cb519d548",
	IOBays                 LIGIOBayList            `json:"-"`                                //define []IOBay as named type to use multisort method later
}

type LIGCol

type LIGCol struct {
	Total       int     `json:"total,omitempty"`       // "total": 1,
	Count       int     `json:"count,omitempty"`       // "count": 1,
	Start       int     `json:"start,omitempty"`       // "start": 0,
	PrevPageURI string  `json:"prevPageUri,omitempty"` // "prevPageUri": null,
	NextPageURI string  `json:"nextPageUri,omitempty"` // "nextPageUri": null,
	URI         string  `json:"uri,omitempty"`         // "uri": "/rest/server-profiles?filter=connectionTemplateUri%20matches%7769cae0-b680-435b-9b87-9b864c81657fsort=name:asc"
	Members     LIGList `json:"members,omitempty"`     // "members":[]
}

type LIGIOBay

type LIGIOBay struct {
	Enclosure   int
	Bay         int
	ModelName   string
	ModelNumber string
}

type LIGIOBayList

type LIGIOBayList []LIGIOBay

type LIGList

type LIGList []LIG

type LIGUplinkPort

type LIGUplinkPort struct {
	Enclosure int
	Bay       int
	Port      string
}

type LIGUplinkPortList

type LIGUplinkPortList []LIGUplinkPort

type LIGUplinkSet

type LIGUplinkSet struct {
	EthernetNetworkType    string                  `json:"ethernetNetworkType,omitempty"` // "ethernetNetworkType": "Tagged",
	LacpTimer              string                  `json:"lacpTimer,omitempty"`           // "lacpTimer": "Long",
	LogicalPortConfigInfos []LogicalPortConfigInfo `json:"logicalPortConfigInfos"`        // "logicalPortConfigInfos": {...},
	Mode                   string                  `json:"mode,omitempty"`                // "mode": "Auto",
	Name                   string                  `json:"name,omitempty"`                // "name": "Uplink 1",
	NativeNetworkUri       string                  `json:"nativeNetworkUri,omitempty"`    // "nativeNetworkUri": null,
	NetworkType            string                  `json:"networkType,omitempty"`         // "networkType": "Ethernet",
	NetworkUris            []string                `json:"networkUris"`                   // "networkUris": ["/rest/ethernet-networks/f1e38895-721b-4204-8395-ae0caba5e163"]
	PrimaryPort            *LogicalLocation        `json:"primaryPort,omitempty"`         // "primaryPort": {...},
	Reachability           string                  `json:"reachability,omitempty"`        // "reachability": "Reachable",
	UplinkPorts            LIGUplinkPortList       `json:"-"`                             //define named type to use multisort method later
	Networks               []NetworkSummary        `json:"-"`                             //collect network name and vlanid from NetworkURI list
}

type LIList

type LIList []LI

type LIUplinkSetMap

type LIUplinkSetMap map[string]UplinkSetMap

LIUplinkSetMap is mapping between each LI and its own Uplinkset maps

type LocationEntry

type LocationEntry struct {
	RelativeValue int    `json:"relativeValue,omitempty"` //"relativeValue": 2,
	Type          string `json:"type,omitempty"`          //"type": "StackingMemberId",
}

type LogicalDrive

type LogicalDrive struct {
	Name              string `json:"name,omitempty"`
	RaidLevel         string `json:"raidLevel,omitempty"`
	Bootable          bool   `json:"bootable,omitempty"`
	NumPhysicalDrives int    `json:"numPhysicalDrives,omitempty"`
	DriveTechnology   string `json:"driveTechnology,omitempty"`
	SasLogicalJBODID  int    `json:"sasLogicalJBODId,omitempty"`
	DriveNumber       int    `json:"driveNumber,omitempty"`
}

type LogicalLocation

type LogicalLocation struct {
	LocationEntries []LocationEntry `json:"locationEntries,omitempty"` // "locationEntries": {...}
}

shared by InterconnectMapEntryTemplate and LogicalPortConfigInfo

type LogicalPortConfigInfo

type LogicalPortConfigInfo struct {
	DesiredSpeed    string          `json:"desiredSpeed,omitempty"`    // "desiredSpeed": "Auto",
	LogicalLocation LogicalLocation `json:"logicalLocation,omitempty"` // "logicalLocation": {...},
}

type MAC

type MAC struct {
	InterconnectName string `json:"interconnectName"`
	InterconnectURI  string `json:"interconnectUri"`
	NetworkInterface string `json:"networkInterface"`
	MacAddress       string `json:"macAddress"`
	EntryType        string `json:"entryType"`
	NetworkName      string `json:"networkName"`
	NetworkURI       string `json:"networkUri"`
	ExternalVlan     string `json:"externalVlan"`
	InternalVlan     string `json:"internalVlan"`
}

type MACCol

type MACCol struct {
	Count   int   `json:"count"`
	Members []MAC `json:"members"`
}

type Neighbor

type Neighbor struct {
	RemoteMgmtAddress        interface{} `json:"remoteMgmtAddress"`
	RemotePortID             string      `json:"remotePortId"`
	RemoteChassisID          string      `json:"remoteChassisId"`
	RemoteChassisIDType      interface{} `json:"remoteChassisIdType"`
	RemotePortIDType         interface{} `json:"remotePortIdType"`
	RemotePortDescription    interface{} `json:"remotePortDescription"`
	RemoteSystemDescription  interface{} `json:"remoteSystemDescription"`
	RemoteMgmtAddressType    interface{} `json:"remoteMgmtAddressType"`
	RemoteSystemCapabilities interface{} `json:"remoteSystemCapabilities"`
	RemoteSystemName         string      `json:"remoteSystemName"`
	RemoteType               interface{} `json:"remoteType"`
	LinkURI                  interface{} `json:"linkUri"`
	LinkLabel                interface{} `json:"linkLabel"`
}

type NetSet

type NetSet struct {
	Type                  string   `json:"type"`
	NetworkUris           []string `json:"networkUris"`
	NativeNetworkURI      string   `json:"nativeNetworkUri"`
	ConnectionTemplateURI string   `json:"connectionTemplateUri"`
	ScopeUris             []string `json:"scopeUris"`
	Description           string   `json:"description"`
	Status                string   `json:"status"`
	Name                  string   `json:"name"`
	State                 string   `json:"state"`
	Created               string   `json:"created"`
	ETag                  string   `json:"eTag"`
	Modified              string   `json:"modified"`
	Category              string   `json:"category"`
	URI                   string   `json:"uri"`
}

type NetSetCol

type NetSetCol struct {
	Type        string   `json:"type"`
	Members     []NetSet `json:"members"`
	NextPageURI string   `json:"nextPageUri"`
	Start       int      `json:"start"`
	PrevPageURI string   `json:"prevPageUri"`
	Count       int      `json:"count"`
	Total       int      `json:"total"`
	Created     string   `json:"created"`
	ETag        string   `json:"eTag"`
	Modified    string   `json:"modified"`
	Category    string   `json:"category"`
	URI         string   `json:"uri"`
}

type NetworkSummary

type NetworkSummary struct {
	Name   string
	Vlanid int
	Type   string
}

type OSDeploymentSettings

type OSDeploymentSettings struct {
	ForceOsDeployment   bool   `json:"forceOsDeployment"`
	OsDeploymentPlanURI string `json:"osDeploymentPlanUri"`
	OsVolumeURI         string `json:"osVolumeUri"`
	OsCustomAttributes  []struct {
		Name  string `json:"name"`
		Value string `json:"value"`
	} `json:"osCustomAttributes"`
}

type OVCol

type OVCol interface {
	GetMap(c *CLIOVClient)
}

type PhysicalPort

type PhysicalPort struct {
	InterconnectPort         int    `json:"interconnectPort"`
	InterconnectURI          string `json:"interconnectUri"`
	Mac                      string `json:"mac"`
	PhysicalInterconnectPort int    `json:"physicalInterconnectPort"`
	PhysicalInterconnectURI  string `json:"physicalInterconnectUri"`
	PortNumber               int    `json:"portNumber"`
	Type                     string `json:"type"`
	VirtualPorts             []struct {
		CurrentAllocatedVirtualFunctionCount int    `json:"currentAllocatedVirtualFunctionCount"`
		Mac                                  string `json:"mac"`
		PortFunction                         string `json:"portFunction"`
		PortNumber                           int    `json:"portNumber"`
		Wwnn                                 string `json:"wwnn"`
		Wwpn                                 string `json:"wwpn"`
	} `json:"virtualPorts"`
	Wwn interface{} `json:"wwn"`
}

type PlanScript

type PlanScript struct {
	PlanScriptName string `json:"planScriptName"`
	PsID           string `json:"psID"`
	ReadOnly       bool   `json:"readOnly"`
	Description    string `json:"description"`
}

type Port

type Port struct {
	Type                      string      `json:"type"`
	LagID                     int         `json:"lagId"`
	PortName                  string      `json:"portName"`
	PortStatus                string      `json:"portStatus"`
	FcPortProperties          interface{} `json:"fcPortProperties"`
	PortID                    string      `json:"portId"`
	InterconnectName          string      `json:"interconnectName"`
	PortHealthStatus          string      `json:"portHealthStatus"`
	Enabled                   bool        `json:"enabled"`
	PortStatusReason          string      `json:"portStatusReason"`
	PortType                  string      `json:"portType"`
	Vlans                     interface{} `json:"vlans"`
	DcbxInfo                  interface{} `json:"dcbxInfo"`
	BayNumber                 int         `json:"bayNumber"`
	Subports                  interface{} `json:"subports"`
	LagStates                 interface{} `json:"lagStates"`
	PortRunningCapabilityType interface{} `json:"portRunningCapabilityType"`
	PortMonitorConfigInfo     string      `json:"portMonitorConfigInfo"`
	PairedPortName            interface{} `json:"pairedPortName"`
	VendorSpecificPortName    interface{} `json:"vendorSpecificPortName"`
	Neighbor                  Neighbor    `json:"neighbor"`
	ConnectorType             string      `json:"connectorType"`
	AssociatedUplinkSetURI    interface{} `json:"associatedUplinkSetUri"`
	OperationalSpeed          interface{} `json:"operationalSpeed"`
	Available                 bool        `json:"available"`
	Capability                []string    `json:"capability"`
	PortTypeExtended          string      `json:"portTypeExtended"`
	ConfigPortTypes           []string    `json:"configPortTypes"`
	PortSplitMode             string      `json:"portSplitMode"`
	Description               interface{} `json:"description"`
	Status                    string      `json:"status"`
	Name                      string      `json:"name"`
	State                     interface{} `json:"state"`
	Created                   interface{} `json:"created"`
	ETag                      interface{} `json:"eTag"`
	Modified                  interface{} `json:"modified"`
	Category                  string      `json:"category"`
	URI                       string      `json:"uri"`
	TransceiverPN             string
}

type PortConfigInfo

type PortConfigInfo struct {
	DesiredSpeed     string           `json:"desiredSpeed"`
	PortURI          string           `json:"portUri"`
	ExpectedNeighbor ExpectedNeighbor `json:"expectedNeighbor"`
	Location         struct {
		LocationEntries []struct {
			Value string `json:"value"`
			Type  string `json:"type"`
		} `json:"locationEntries"`
	} `json:"location"`
}

type PortInfo

type PortInfo struct {
	DownlinkCapable  bool     `json:"downlinkCapable,omitempty"` // "downlinkCapable": true,
	PairedPortName   string   `json:"pairedPortName,omitempty"`  // "pairedPortName": null,
	PortCapabilities []string `json:"portCapabilites,omitempty"` // "portCapabilities":  ["ConnectionReservation","FibreChannel","ConnectionDeployment"],
	PortName         string   `json:"portName,omitempty"`        // "portName": "4",
	PortNumber       int      `json:"portNumber,omitempty"`      // "portNumber": 20,
	UplinkCapable    bool     `json:"uplinkCapable,omitempty"`   // "uplinkCapable": true,
}

type PortMap

type PortMap struct {
	InterconnectBay int `json:"interconnectBay,omitempty"` // "interconnectBay": 1,
	MidplanePort    int `json:"midplanePort,omitempty"`    // "midplanePort": 1,
}

type ProfileConnection

type ProfileConnection struct {
	CID           int
	CName         string
	CNetwork      string
	CVLAN         string
	CMAC          string
	CPort         string
	CInterconnect string
	CBoot         string
}

type ProfileConnectionList

type ProfileConnectionList []ProfileConnection

type ProgressUpdate

type ProgressUpdate struct {
	TimeStamp    string `json:"timestamp,omitempty"`    // "timestamp":"2015-09-10T22:50:14.250Z",
	StatusUpdate string `json:"statusUpdate,omitempty"` // "statusUpdate":"Apply server settings.",
	ID           int    `json:"id,omitempty"`           // "id":12566
}

ProgressUpdate - Task Progress Updates

type QosClassificationMap

type QosClassificationMap struct {
	Dot1pClassMapping []int    `json:"dot1pClassMapping"` // "dot1pClassMapping": [3],
	DscpClassMapping  []string `json:"dscpClassMapping"`  // "dscpClassMapping": [],
}

type QosConfiguration

type QosConfiguration struct {
	ActiveQosConfig          ActiveQosConfig           `json:"activeQosConfig,omitempty"`          //"activeQosConfig": {...},
	Category                 string                    `json:"category,omitempty"`                 // "category": "qos-aggregated-configuration",
	Created                  string                    `json:"created,omitempty"`                  // "created": "20150831T154835.250Z",
	Description              string                    `json:"description,omitempty,omitempty"`    // "description": null,
	ETAG                     string                    `json:"eTag,omitempty"`                     // "eTag": "1441036118675/8",
	InactiveFCoEQosConfig    *InactiveFCoEQosConfig    `json:"inactiveFCoEQosConfig,omitempty"`    // "inactiveFCoEQosConfig": {...},
	InactiveNonFCoEQosConfig *InactiveNonFCoEQosConfig `json:"inactiveNonFCoEQosConfig,omitempty"` // "inactiveNonFCoEQosConfig": {...},
	Modified                 string                    `json:"modified,omitempty"`                 // "modified": "20150831T154835.250Z",
	Name                     string                    `json:"name,omitempty"`                     // "name": "Qos Config 1",
	State                    string                    `json:"state,omitempty"`                    // "state": "Normal",
	Status                   string                    `json:"status,omitempty"`                   // "status": "Critical",
	Type                     string                    `json:"type,omitempty"`                     // "qos-aggregated-configuration",
	URI                      string                    `json:"uri,omitempty"`                      // "uri": null
}

type QosTrafficClass

type QosTrafficClass struct {
	BandwidthShare   string `json:"bandwidthShare,omitempty"` // "bandwidthShare": "fcoe",
	ClassName        string `json:"className"`                // "className": "FCoE lossless",
	EgressDot1pValue int    `json:"egressDot1pValue"`         // "egressDot1pValue": 3,
	Enabled          *bool  `json:"enabled,omitempty"`        // "enabled": true,
	MaxBandwidth     int    `json:"maxBandwidth"`             // "maxBandwidth": 100,
	RealTime         *bool  `json:"realTime,omitempty"`       // "realTime": true,
}

type QosTrafficClassifier

type QosTrafficClassifier struct {
	QosClassificationMapping *QosClassificationMap `json:"qosClassificationMapping"`  // "qosClassificationMapping": {...},
	QosTrafficClass          QosTrafficClass       `json:"qosTrafficClass,omitempty"` // "qosTrafficClass": {...},
}

type SBPCustomerAttributes

type SBPCustomerAttributes struct {
	Constraints string `json:"constraints"`
	Name        string `json:"name"`
	Value       string `json:"value"`
	Type        string `json:"type"`
	Description string `json:"description"`
}

type SFP

type SFP struct {
	Identifier       string      `json:"identifier"`
	SerialNumber     string      `json:"serialNumber"`
	VendorName       string      `json:"vendorName"`
	VendorPartNumber string      `json:"vendorPartNumber"`
	VendorRevision   string      `json:"vendorRevision"`
	Speed            string      `json:"speed"`
	PortName         string      `json:"portName"`
	Connector        interface{} `json:"connector"`
	ExtIdentifier    string      `json:"extIdentifier"`
	VendorOui        string      `json:"vendorOui"`
}

type SFPMap

type SFPMap map[string]*SFP

SFPMap is from conversion of raw SFPList(a slice) to mapping struct with port names as keys and the pointers of SFP structs as values. Each module has its own "sfpMap" to pass to channel

type SP

type SP struct {
	Type                     string `json:"type,omitempty"`
	URI                      string `json:"uri,omitempty"`
	Name                     string `json:"name,omitempty"`
	Description              string `json:"description,omitempty"`
	SerialNumber             string `json:"serialNumber,omitempty"`
	UUID                     string `json:"uuid,omitempty"`
	IscsiInitiatorName       string `json:"iscsiInitiatorName,omitempty"`
	IscsiInitiatorNameType   string `json:"iscsiInitiatorNameType,omitempty"`
	ServerProfileTemplateURI string `json:"serverProfileTemplateUri,omitempty"`
	TemplateCompliance       string `json:"templateCompliance,omitempty"`
	ServerHardwareURI        string `json:"serverHardwareUri,omitempty"`
	ServerHardwareTypeURI    string `json:"serverHardwareTypeUri,omitempty"`
	EnclosureGroupURI        string `json:"enclosureGroupUri,omitempty"`
	EnclosureURI             string `json:"enclosureUri,omitempty"`
	EnclosureBay             int    `json:"enclosureBay,omitempty"`
	Affinity                 string `json:"affinity,omitempty"`
	AssociatedServer         string `json:"associatedServer,omitempty"`
	HideUnusedFlexNics       bool   `json:"hideUnusedFlexNics,omitempty"`
	Firmware                 struct {
		FirmwareScheduleDateTime string `json:"firmwareScheduleDateTime,omitempty"`
		FirmwareActivationType   string `json:"firmwareActivationType,omitempty"`
		FirmwareInstallType      string `json:"firmwareInstallType,omitempty"`
		ForceInstallFirmware     bool   `json:"forceInstallFirmware,omitempty"`
		ManageFirmware           bool   `json:"manageFirmware,omitempty"`
		FirmwareBaselineURI      string `json:"firmwareBaselineUri,omitempty"`
	} `json:"firmware,omitempty"`
	MacType            string `json:"macType,omitempty"`
	WwnType            string `json:"wwnType,omitempty"`
	SerialNumberType   string `json:"serialNumberType,omitempty"`
	Category           string `json:"category,omitempty"`
	Created            string `json:"created,omitempty"`
	Modified           string `json:"modified,omitempty"`
	Status             string `json:"status,omitempty"`
	State              string `json:"state,omitempty"`
	InProgress         bool   `json:"inProgress,omitempty"`
	TaskURI            string `json:"taskUri,omitempty"`
	ConnectionSettings struct {
		Connections []Connection `json:"connections,omitempty"`
	} `json:"connectionSettings,omitempty"`
	//Connections      []Connection `json:"connections,omitempty"`  #remove because APIv800 use connectionsetting now
	BootMode struct {
		ManageMode    bool   `json:"manageMode,omitempty"`
		PxeBootPolicy string `json:"pxeBootPolicy,omitempty"`
		Mode          string `json:"mode,omitempty"`
	} `json:"bootMode,omitempty"`
	Boot struct {
		ManageBoot bool     `json:"manageBoot,omitempty"`
		Order      []string `json:"order,omitempty"`
	} `json:"boot,omitempty"`
	Bios struct {
		ManageBios         bool `json:"manageBios,omitempty"`
		OverriddenSettings []struct {
			ID    string `json:"id,omitempty"`
			Value string `json:"value,omitempty"`
		} `json:"overriddenSettings,omitempty"`
	} `json:"bios,omitempty"`
	LocalStorage struct {
		SasLogicalJBODs []SasLogicalJBOD `json:"sasLogicalJBODs,omitempty"`
		Controllers     []Controller     `json:"controllers,omitempty"`
	} `json:"localStorage,omitempty"`
	SanStorage struct {
		VolumeAttachments    []VolumeAttachment `json:"volumeAttachments,omitempty"`
		SanSystemCredentials []string           `json:"sanSystemCredentials,omitempty"`
		ManageSanStorage     bool               `json:"manageSanStorage,omitempty"`
	} `json:"sanStorage,omitempty"`
	OsDeploymentSettings OSDeploymentSettings `json:"osDeploymentSettings,omitempty"`
	RefreshState         string               `json:"refreshState,omitempty"`
	ETag                 string               `json:"eTag,omitempty"`
	SPTemplate           string               `json:"-"`
	ServerHW             string               `json:"-"`
	ServerHWType         string               `json:"-"`
	PowerState           string               `json:"-"`
}

type SPCol

type SPCol struct {
	Type        string `json:"type,omitempty"`
	Members     SPList `json:"members,omitempty"`
	NextPageURI string `json:"nextPageUri,omitempty"`
	Start       int    `json:"start,omitempty"`
	PrevPageURI string `json:"prevPageUri,omitempty"`
	Count       int    `json:"count,omitempty"`
	Total       int    `json:"total,omitempty"`
	Category    string `json:"category,omitempty"`
	Modified    string `json:"modified,omitempty"`
	ETag        string `json:"eTag,omitempty"`
	Created     string `json:"created,omitempty"`
	URI         string `json:"uri,omitempty"`
}

type SPList

type SPList []SP

type SPTConnection

type SPTConnection struct {
	ID            int    `json:"id,omitempty"`
	Name          string `json:"name,omitempty"`
	FunctionType  string `json:"functionType,omitempty"`
	NetworkURI    string `json:"networkUri,omitempty"`
	PortID        string `json:"portId,omitempty"`
	RequestedVFs  string `json:"requestedVFs,omitempty"`
	RequestedMbps string `json:"requestedMbps,omitempty"`
	Boot          struct {
		Priority   string `json:"priority,omitempty"`
		BootVlanID string `json:"bootVlanId,omitempty"`
	} `json:"boot,omitempty"`
	NetworkName string `json:"-"`
	NetworkVlan string `json:"-"`
}

type SPTemplate

type SPTemplate struct {
	Type                     string               `json:"type,omitempty"`
	URI                      string               `json:"uri,omitempty"`
	Name                     string               `json:"name,omitempty"`
	Description              string               `json:"description,omitempty"`
	ServerProfileDescription string               `json:"serverProfileDescription,omitempty"`
	ServerHardwareTypeURI    string               `json:"serverHardwareTypeUri,omitempty"`
	EnclosureGroupURI        string               `json:"enclosureGroupUri,omitempty"`
	Affinity                 string               `json:"affinity,omitempty"`
	HideUnusedFlexNics       bool                 `json:"hideUnusedFlexNics,omitempty"`
	MacType                  string               `json:"macType,omitempty"`
	WwnType                  string               `json:"wwnType,omitempty"`
	SerialNumberType         string               `json:"serialNumberType,omitempty"`
	IscsiInitiatorNameType   string               `json:"iscsiInitiatorNameType,omitempty"`
	OsDeploymentSettings     OSDeploymentSettings `json:"osDeploymentSettings,omitempty"`
	Firmware                 struct {
		ManageFirmware         bool   `json:"manageFirmware,omitempty"`
		ForceInstallFirmware   bool   `json:"forceInstallFirmware,omitempty"`
		FirmwareActivationType string `json:"firmwareActivationType,omitempty"`
	} `json:"firmware,omitempty"`
	ConnectionSettings struct {
		ManageConnections bool            `json:"manageConnections,omitempty"`
		Connections       []SPTConnection `json:"connections,omitempty"`
	} `json:"connectionSettings,omitempty"`
	BootMode struct {
		ManageMode    bool   `json:"manageMode,omitempty"`
		Mode          string `json:"mode,omitempty"`
		PxeBootPolicy string `json:"pxeBootPolicy,omitempty"`
	} `json:"bootMode,omitempty"`
	Boot struct {
		ManageBoot bool     `json:"manageBoot,omitempty"`
		Order      []string `json:"order,omitempty"`
	} `json:"boot,omitepmty"`
	Bios struct {
		ManageBios         bool `json:"manageBios,omitempty"`
		OverriddenSettings []struct {
			ID    string `json:"id,omitempty"`
			Value string `json:"value,omitempty"`
		} `json:"overriddenSettings,omitempty"`
	} `json:"-"`
	LocalStorage struct {
		SasLogicalJBODs []SasLogicalJBOD `json:"sasLogicalJBODs,omitempty"`
		Controllers     []Controller     `json:"controllers,omitempty"`
	} `json:"localStorage,omitempty"`
	SanStorage struct {
		ManageSanStorage  bool               `json:"manageSanStorage,omitempty"`
		VolumeAttachments []VolumeAttachment `json:"volumeAttachments,omitempty"`
	} `json:"-"`
	Category     string `json:"category,omitempty"`
	Created      string `json:"created,omitempty"`
	Modified     string `json:"modified,omitempty"`
	Status       string `json:"status,omitempty"`
	State        string `json:"state,omitempty"`
	ETag         string `json:"eTag,omitempty"`
	EG           string `json:"-"`
	ServerHWType string `json:"-"`
}

type SPTemplateCol

type SPTemplateCol struct {
	Type        string       `json:"type,omitemty,omitempty"`
	Members     []SPTemplate `json:"members,omitempty"`
	NextPageURI string       `json:"nextPageUri,omitempty"`
	Start       int          `json:"start,omitempty"`
	PrevPageURI string       `json:"prevPageUri,omitempty"`
	Count       int          `json:"count,omitempty"`
	Total       int          `json:"total,omitempty"`
	Category    string       `json:"category,omitempty"`
	Modified    string       `json:"modified,omitempty"`
	ETag        string       `json:"eTag,omitempty"`
	Created     string       `json:"created,omitempty"`
	URI         string       `json:"uri,omitempty"`
}

type SasLogicalJBOD

type SasLogicalJBOD struct {
	ID                int    `json:"id,omitempty"`
	DeviceSlot        string `json:"deviceSlot,omitempty"`
	Name              string `json:"name,omitempty"`
	NumPhysicalDrives int    `json:"numPhysicalDrives,omitempty"`
	DriveMinSizeGB    int    `json:"driveMinSizeGB,omitempty"`
	DriveMaxSizeGB    int    `json:"driveMaxSizeGB,omitempty"`
	DriveTechnology   string `json:"driveTechnology,omitempty"`
	SasLogicalJBODURI string `json:"sasLogicalJBODUri,omitempty"`
	Status            string `json:"status,omitempty"`
}

type ServerHW

type ServerHW struct {
	Type        string `json:"type"`
	Name        string `json:"name"`
	ServerName  string `json:"serverName"`
	State       string `json:"state"`
	StateReason string `json:"stateReason"`
	AssetTag    string `json:"assetTag"`
	Category    string `json:"category"`
	Created     string `json:"created"`
	Description string `json:"description"`
	ETag        string `json:"eTag"`
	FormFactor  string `json:"formFactor"`
	//HostOsType                     string `json:"hostOsType"`
	IntelligentProvisioningVersion string `json:"intelligentProvisioningVersion"`
	LicensingIntent                string `json:"licensingIntent"`
	LocationURI                    string `json:"locationUri"`
	MemoryMb                       int    `json:"memoryMb"`
	MigrationState                 string `json:"migrationState"`
	Model                          string `json:"model"`
	Modified                       string `json:"modified"`
	MpFirmwareVersion              string `json:"mpFirmwareVersion"`
	MpHostInfo                     struct {
		MpHostName    string `json:"mpHostName"`
		MpIPAddresses []struct {
			Address string `json:"address"`
			Type    string `json:"type"`
		} `json:"mpIpAddresses"`
	} `json:"mpHostInfo"`
	MpModel                   string `json:"mpModel"`
	MpState                   string `json:"mpState"`
	PartNumber                string `json:"partNumber"`
	PhysicalServerHardwareURI string `json:"physicalServerHardwareUri"`
	PortMap                   struct {
		DeviceSlots []struct {
			DeviceName    string         `json:"deviceName"`
			DeviceNumber  int            `json:"deviceNumber"`
			Location      string         `json:"location"`
			PhysicalPorts []PhysicalPort `json:"physicalPorts"`
			SlotNumber    int            `json:"slotNumber"`
		} `json:"deviceSlots"`
	} `json:"portMap"`
	Position              int    `json:"position"`
	PowerLock             bool   `json:"powerLock"`
	PowerState            string `json:"powerState"`
	ProcessorCoreCount    int    `json:"processorCoreCount"`
	ProcessorCount        int    `json:"processorCount"`
	ProcessorSpeedMhz     int    `json:"processorSpeedMhz"`
	ProcessorType         string `json:"processorType"`
	RefreshState          string `json:"refreshState"`
	RemoteSupportSettings struct {
		RemoteSupportCurrentState string `json:"remoteSupportCurrentState"`
		Destination               string `json:"destination"`
	} `json:"remoteSupportSettings"`
	RemoteSupportURI           string   `json:"remoteSupportUri"`
	RomVersion                 string   `json:"romVersion"`
	ScopeUris                  []string `json:"scopeUris"`
	SerialNumber               string   `json:"serialNumber"`
	ServerFirmwareInventoryURI string   `json:"serverFirmwareInventoryUri"`
	ServerGroupURI             string   `json:"serverGroupUri"`
	ServerHardwareTypeURI      string   `json:"serverHardwareTypeUri"`
	ServerProfileURI           string   `json:"serverProfileUri"`
	ServerSettings             struct {
		FirmwareAndDriversInstallState struct {
			InstalledStateTimestamp string `json:"installedStateTimestamp"`
			InstallState            string `json:"installState"`
		} `json:"firmwareAndDriversInstallState"`
		HpSmartUpdateToolStatus struct {
			Mode              string `json:"mode"`
			Version           string `json:"version"`
			ServiceState      string `json:"serviceState"`
			InstallState      string `json:"installState"`
			LastOperationTime string `json:"lastOperationTime"`
		} `json:"hpSmartUpdateToolStatus"`
		FirmwareInstallSchedule struct {
			DateTime        string `json:"dateTime"`
			ScheduleOptions string `json:"scheduleOptions"`
		} `json:"firmwareInstallSchedule"`
	} `json:"serverSettings"`
	ShortModel string `json:"shortModel"`
	Signature  struct {
		PersonalityChecksum int `json:"personalityChecksum"`
		ServerHwChecksum    int `json:"serverHwChecksum"`
	} `json:"signature"`
	Status                     string `json:"status"`
	SupportDataCollectionState string `json:"supportDataCollectionState"`
	SupportDataCollectionType  string `json:"supportDataCollectionType"`
	SupportDataCollectionsURI  string `json:"supportDataCollectionsUri"`
	SupportState               string `json:"supportState"`
	UIDState                   string `json:"uidState"`
	URI                        string `json:"uri"`
	UUID                       string `json:"uuid"`
	VirtualSerialNumber        string `json:"virtualSerialNumber"`
	VirtualUUID                string `json:"virtualUuid"`
	ServerHWTName              string `json:"-"`
	SPName                     string `json:"-"`
}

type ServerHWCol

type ServerHWCol struct {
	Type        string     `json:"type"`
	Category    string     `json:"category"`
	Count       int        `json:"count"`
	Created     string     `json:"created"`
	ETag        string     `json:"eTag"`
	Members     []ServerHW `json:"members"`
	Modified    string     `json:"modified"`
	NextPageURI string     `json:"nextPageUri"`
	PrevPageURI string     `json:"prevPageUri"`
	Start       int        `json:"start"`
	Total       int        `json:"total"`
	URI         string     `json:"uri"`
}

type ServerHWType

type ServerHWType struct {
	Type         string `json:"type"`
	Category     string `json:"category"`
	Name         string `json:"name"`
	Description  string `json:"description"`
	URI          string `json:"uri"`
	ETag         string `json:"eTag"`
	Model        string `json:"model"`
	FormFactor   string `json:"formFactor"`
	BiosSettings []struct {
		Category        string `json:"category"`
		ID              string `json:"id"`
		Name            string `json:"name"`
		Type            string `json:"type"`
		DefaultValue    string `json:"defaultValue"`
		LowerBound      int    `json:"lowerBound"`
		UpperBound      int    `json:"upperBound"`
		ScalarIncrement int    `json:"scalarIncrement"`
		StringMinLength int    `json:"stringMinLength"`
		//ValueExpression int    `json:"valueExpression"`
		WarningText string `json:"warningText"`
		HelpText    string `json:"helpText"`
		Options     []struct {
			OptionLinks string `json:"optionLinks"`
			Name        string `json:"name"`
			ID          string `json:"id"`
		} `json:"options"`
		DependencyList []struct {
			Type    string `json:"type"`
			MapFrom []struct {
				MapFromAttribute string `json:"mapFromAttribute"`
				MapFromProperty  string `json:"mapFromProperty"`
				MapFromCondition string `json:"mapFromCondition"`
				MapTerms         string `json:"mapTerms"`
				MapFromValue     string `json:"mapFromValue"`
			} `json:"mapFrom"`
			MapToAttribute string `json:"mapToAttribute"`
			MapToProperty  string `json:"mapToProperty"`
		} `json:"dependencyList"`
		StringMaxLength int `json:"stringMaxLength,omitempty"`
	} `json:"biosSettings"`
	StorageCapabilities StorageCapability `json:"storageCapabilities"`
	Adapters            []struct {
		Model string `json:"model"`
		Ports []struct {
			VirtualPorts []struct {
				Capabilities []string `json:"capabilities"`
				PortNumber   int      `json:"portNumber"`
				PortFunction string   `json:"portFunction"`
			} `json:"virtualPorts"`
			MaxVFsSupported int `json:"maxVFsSupported"`
			//SupportedFcGbps       string `json:"supportedFcGbps"`
			PhysicalFunctionCount int    `json:"physicalFunctionCount"`
			MaxSpeedMbps          int    `json:"maxSpeedMbps"`
			Mapping               int    `json:"mapping"`
			Type                  string `json:"type"`
			Number                int    `json:"number"`
		} `json:"ports"`
		MinVFsIncrement     int               `json:"minVFsIncrement"`
		MaxVFsSupported     int               `json:"maxVFsSupported"`
		DeviceNumber        int               `json:"deviceNumber"`
		Capabilities        []string          `json:"capabilities"`
		StorageCapabilities StorageCapability `json:"storageCapabilities"`
		Location            string            `json:"location"`
		Slot                int               `json:"slot"`
		DeviceType          string            `json:"deviceType"`
	} `json:"adapters"`
	BootModes        []string `json:"bootModes"`
	PxeBootPolicies  []string `json:"pxeBootPolicies"`
	Family           string   `json:"family"`
	Capabilities     []string `json:"capabilities"`
	BootCapabilities []string `json:"bootCapabilities"`
}

type ServerHWTypeCol

type ServerHWTypeCol struct {
	Type        string         `json:"type"`
	ETag        string         `json:"eTag"`
	Members     []ServerHWType `json:"members"`
	Count       int            `json:"count"`
	NextPageURI string         `json:"nextPageUri"`
	Start       int            `json:"start"`
	PrevPageURI string         `json:"prevPageUri"`
	Total       int            `json:"total"`
	Category    string         `json:"category"`
	URI         string         `json:"uri"`
}

type SnmpConfiguration

type SnmpConfiguration struct {
	Category         string            `json:"category,omitempty"`         // "category": "snmp-configuration",
	Created          string            `json:"created,omitempty"`          // "created": "20150831T154835.250Z",
	Description      string            `json:"description,omitempty"`      // "description": null,
	ETAG             string            `json:"eTag,omitempty"`             // "eTag": "1441036118675/8",
	Enabled          *bool             `json:"enabled,omitempty"`          // "enabled": true,
	Modified         string            `json:"modified,omitempty"`         // "modified": "20150831T154835.250Z",
	Name             string            `json:"name,omitempty"`             // "name": "Snmp Config",
	ReadCommunity    string            `json:"readCommunity,omitempty"`    // "readCommunity": "public",
	SnmpAccess       []string          `json:"snmpAccess,omitempty"`       // "snmpAccess": [],
	State            string            `json:"state,omitempty"`            // "state": "Normal",
	Status           string            `json:"status,omitempty"`           // "status": "Critical",
	SystemContact    string            `json:"systemContact,omitempty"`    // "systemContact": "",
	TrapDestinations []TrapDestination `json:"trapDestinations,omitempty"` // "trapDestinations": {...}
	Type             string            `json:"type,omitempty"`             // "type": "snmp-configuration",
	URI              string            `json:"uri,omitempty"`              // "uri": null
}

TODO SNMPConfiguration

type StorageCapability

type StorageCapability struct {
	ControllerModes      []string `json:"controllerModes"`
	NvmeBackplaneCapable bool     `json:"nvmeBackplaneCapable"`
	RaidLevels           []string `json:"raidLevels"`
	MaximumDrives        int      `json:"maximumDrives"`
	DriveTechnologies    []string `json:"driveTechnologies"`
}

type StreamerAppliance

type StreamerAppliance struct {
	Created                                string `json:"created"`
	ServerHardwareURI                      string `json:"serverHardwareUri"`
	ManagementNetworkURI                   string `json:"managementNetworkUri"`
	Modified                               string `json:"modified"`
	DeploymentNetworkURI                   string `json:"deploymentNetworkUri"`
	DomainName                             string `json:"domainName"`
	ApplianceUUID                          string `json:"applianceUUID"`
	DeploymentManagerURI                   string `json:"deploymentManagerUri"`
	LeURI                                  string `json:"leUri"`
	IltURI                                 string `json:"iltUri"`
	AmvmMgmtIPv4Address                    string `json:"amvmMgmtIPv4Address"`
	AmvmDataIPv4Address                    string `json:"amvmDataIPv4Address"`
	CreateStorageClusterExpectedTimeInSecs int    `json:"createStorageClusterExpectedTimeInSecs"`
	MgmtDNSServer                          string `json:"mgmtDNSServer"`
	ProdDNSServer                          string `json:"prodDNSServer"`
	ApplianceIpv6Address                   string `json:"applianceIpv6Address"`
	AlternateMgmtDNSServer                 string `json:"alternateMgmtDNSServer"`
	AlternateprodDNSServer                 string `json:"alternateprodDNSServer"`
	PeerIpv6                               string `json:"peerIpv6"`
	CimEnclosureURI                        string `json:"cimEnclosureUri"`
	CimBay                                 int    `json:"cimBay"`
	VlanTagID                              string `json:"vlanTagId"`
	EmIpv6Address                          string `json:"emIpv6Address"`
	MgmtIpv4Address                        string `json:"mgmtIpv4Address"`
	VsaVersion                             string `json:"vsaVersion"`
	ImageStreamerVersion                   string `json:"imageStreamerVersion"`
	CertMd5                                string `json:"certMd5"`
	NeedUpgrade                            bool   `json:"needUpgrade"`
	ProdDomain                             string `json:"prodDomain"`
	ClusterURI                             string `json:"clusterUri"`
	ApplianceURI                           string `json:"applianceUri"`
	ApplianceSerialNumber                  string `json:"applianceSerialNumber"`
	ClaimedByOV                            bool   `json:"claimedByOV"`
	IsActive                               bool   `json:"isActive"`
	IsPrimary                              bool   `json:"isPrimary"`
	PeerApplianceURI                       string `json:"peerApplianceUri"`
	OneViewIpv6Address                     string `json:"oneViewIpv6Address"`
	ClusterName                            string `json:"clusterName"`
	ClusterStatus                          string `json:"clusterStatus"`
	LeName                                 string `json:"leName"`
	CimEnclosureName                       string `json:"cimEnclosureName"`
	OneViewIpv4Address                     string `json:"oneViewIpv4Address"`
	OneViewApplianceUUID                   string `json:"oneViewApplianceUUID"`
	AtlasVersion                           string `json:"atlasVersion"`
	DataIpv4Address                        string `json:"dataIpv4Address"`
	MgmtSubnetMask                         string `json:"mgmtSubnetMask"`
	DataSubnetMask                         string `json:"dataSubnetMask"`
	MgmtGateway                            string `json:"mgmtGateway"`
	DataGateway                            string `json:"dataGateway"`
	ClusterIpv6Address                     string `json:"clusterIpv6Address"`
	ClusterIpv4Address                     string `json:"clusterIpv4Address"`
	QuorumString                           string `json:"quorumString"`
	VsaMgmtIpv4Address                     string `json:"vsaMgmtIpv4Address"`
	VsaDataIpv4Address                     string `json:"vsaDataIpv4Address"`
	VsaDataClusterIpv4Address              string `json:"vsaDataClusterIpv4Address"`
	Description                            string `json:"description"`
	Status                                 string `json:"status"`
	URI                                    string `json:"uri"`
	Name                                   string `json:"name"`
	ID                                     string `json:"id"`
}

type StreamerApplianceCol

type StreamerApplianceCol struct {
	Type        string              `json:"type"`
	Members     []StreamerAppliance `json:"members"`
	NextPageURI string              `json:"nextPageUri"`
	Start       int                 `json:"start"`
	PrevPageURI string              `json:"prevPageUri"`
	Total       int                 `json:"total"`
	Count       int                 `json:"count"`
	Created     string              `json:"created"`
	ETag        string              `json:"eTag"`
	Modified    string              `json:"modified"`
	Category    string              `json:"category"`
	URI         string              `json:"uri"`
}

type StreamerBuildPlan

type StreamerBuildPlan struct {
	Type               string                  `json:"type"`
	CopyURI            string                  `json:"copyUri"`
	DependentArtifacts string                  `json:"dependentArtifacts"`
	CustomAttributes   []SBPCustomerAttributes `json:"customAttributes"`
	BuildStep          []struct {
		PlanScriptName string `json:"planScriptName"`
		PlanScriptURI  string `json:"planScriptUri"`
		Parameters     string `json:"parameters"`
		SerialNumber   string `json:"serialNumber"`
	} `json:"buildStep"`
	ETag            string `json:"eTag"`
	Created         string `json:"created"`
	Modified        string `json:"modified"`
	HpProvided      bool   `json:"hpProvided"`
	BuildPlanid     string `json:"buildPlanid"`
	OeBuildPlanType string `json:"oeBuildPlanType"`
	Category        string `json:"category"`
	Name            string `json:"name"`
	Description     string `json:"description"`
	URI             string `json:"uri"`
	Status          string `json:"status"`
}

type StreamerBuildPlanCol

type StreamerBuildPlanCol struct {
	Type        string              `json:"type"`
	Sort        string              `json:"sort"`
	Members     []StreamerBuildPlan `json:"members"`
	NextPageURI string              `json:"nextPageUri"`
	Start       int                 `json:"start"`
	PrevPageURI string              `json:"prevPageUri"`
	Total       int                 `json:"total"`
	Count       int                 `json:"count"`
	ETag        string              `json:"eTag"`
	Created     string              `json:"created"`
	Modified    string              `json:"modified"`
	Category    string              `json:"category"`
	URI         string              `json:"uri"`
}

type StreamerDeploymentPlan

type StreamerDeploymentPlan struct {
	Type             string `json:"type"`
	CopyURI          string `json:"copyUri"`
	CustomAttributes []struct {
		Constraints string `json:"constraints"`
		Editable    bool   `json:"editable"`
		Visible     bool   `json:"visible"`
		Name        string `json:"name"`
		Value       string `json:"value"`
		ID          string `json:"id"`
		Type        string `json:"type"`
		Description string `json:"description"`
	} `json:"customAttributes"`
	ImportMetadata   bool   `json:"importMetadata"`
	ETag             string `json:"eTag"`
	Created          string `json:"created"`
	Modified         string `json:"modified"`
	HpProvided       bool   `json:"hpProvided"`
	GoldenImageURI   string `json:"goldenImageURI"`
	OeBuildPlanURI   string `json:"oeBuildPlanURI"`
	Category         string `json:"category"`
	Name             string `json:"name"`
	ID               string `json:"id"`
	State            string `json:"state"`
	Description      string `json:"description"`
	URI              string `json:"uri"`
	Status           string `json:"status"`
	PrintGoldenImage string
	PrintBuildPlan   string
}

type StreamerDeploymentPlanCol

type StreamerDeploymentPlanCol struct {
	Type        string                   `json:"type"`
	Sort        string                   `json:"sort"`
	Members     []StreamerDeploymentPlan `json:"members"`
	NextPageURI string                   `json:"nextPageUri"`
	Start       int                      `json:"start"`
	PrevPageURI string                   `json:"prevPageUri"`
	Total       int                      `json:"total"`
	Count       int                      `json:"count"`
	ETag        string                   `json:"eTag"`
	Created     string                   `json:"created"`
	Modified    string                   `json:"modified"`
	Category    string                   `json:"category"`
	URI         string                   `json:"uri"`
}

type StreamerGoldenImage

type StreamerGoldenImage struct {
	Type                   string `json:"type"`
	DependentArtifacts     string `json:"dependentArtifacts"`
	OsVolumeName           string `json:"osVolumeName"`
	BuildPlanName          string `json:"buildPlanName"`
	BuildPlanCategory      string `json:"buildPlanCategory"`
	ImageCapture           bool   `json:"imageCapture"`
	OsVolumeURI            string `json:"osVolumeURI"`
	BuildPlanURI           string `json:"buildPlanUri"`
	CheckSum               string `json:"checkSum"`
	ImportedFromBundle     bool   `json:"importedFromBundle"`
	BundleName             string `json:"bundleName"`
	BundleURI              string `json:"bundleURI"`
	ArtifactBundleCategory string `json:"artifactBundleCategory"`
	OsVolumeCategory       string `json:"osVolumeCategory"`
	ReadOnly               bool   `json:"readOnly"`
	Created                string `json:"created"`
	Modified               string `json:"modified"`
	Category               string `json:"category"`
	Name                   string `json:"name"`
	ID                     string `json:"id"`
	State                  string `json:"state"`
	Size                   int    `json:"size"`
	Description            string `json:"description"`
	URI                    string `json:"uri"`
	Status                 string `json:"status"`
	ETag                   string `json:"eTag"`
}

type StreamerGoldenImageCol

type StreamerGoldenImageCol struct {
	Type        string                `json:"type"`
	Sort        string                `json:"sort"`
	Members     []StreamerGoldenImage `json:"members"`
	NextPageURI string                `json:"nextPageUri"`
	Start       int                   `json:"start"`
	PrevPageURI string                `json:"prevPageUri"`
	Total       int                   `json:"total"`
	Count       int                   `json:"count"`
	ETag        string                `json:"eTag"`
	Created     string                `json:"created"`
	Modified    string                `json:"modified"`
	Category    string                `json:"category"`
	URI         string                `json:"uri"`
}

type Task

type Task struct {
	Type                    string             `json:"type,omitempty"`                    // "type": "TaskResourceV2",
	Data                    TaskData           `json:"data,omitempty"`                    // "data": null,
	Category                string             `json:"category,omitempty"`                // "category": "tasks",
	Hidden                  bool               `json:"hidden,omitempty"`                  // "hidden": false,
	StateReason             string             `json:"stateReason,omitempty"`             // "stateReason": null,
	User                    string             `json:"User,omitempty"`                    // "taskType": "User",
	AssociatedRes           AssociatedResource `json:"associatedResource,omitempty"`      // "associatedResource": { },
	PercentComplete         int                `json:"percentComplete,omitempty"`         // "percentComplete": 0,
	AssociatedTaskURI       utils.Nstring      `json:"associatedTaskUri,omitempty"`       // "associatedTaskUri": null,
	CompletedSteps          int                `json:"completedSteps,omitempty"`          // "completedSteps": 0,
	ComputedPercentComplete int                `json:"computedPercentComplete,omitempty"` //     "computedPercentComplete": 0,
	ExpectedDuration        int                `json:"expectedDuration,omitempty"`        // "expectedDuration": 300,
	ParentTaskURI           utils.Nstring      `json:"parentTaskUri,omitempty"`           // "parentTaskUri": null,
	ProgressUpdates         []ProgressUpdate   `json:"progressUpdates,omitempty"`         // "progressUpdates": [],
	TaskErrors              []TaskError        `json:"taskErrors,omitempty"`              // "taskErrors": [],
	TaskOutput              []string           `json:"taskOutput,omitempty"`              // "taskOutput": [],
	TaskState               string             `json:"taskState,omitempty"`               // "taskState": "New",
	TaskStatus              string             `json:"taskStatus,omitempty"`              // "taskStatus": "Power off Server: se05, bay 16",
	TaskType                string             `json:"taskType,omitempty"`
	TotalSteps              int                `json:"totalSteps,omitempty"`    // "totalSteps": 0,
	UserInitiated           bool               `json:"userInitiated,omitempty"` // "userInitiated": true,
	Name                    string             `json:"name,omitempty"`          // "name": "Power off",
	Owner                   string             `json:"owner,omitempty"`         // "owner": "wenlock",
	ETAG                    string             `json:"eTag,omitempty"`          // "eTag": "0",
	Created                 string             `json:"created,omitempty"`       // "created": "2015-09-07T03:25:54.844Z",
	Modified                string             `json:"modified,omitempty"`      // "modified": "2015-09-07T03:25:54.844Z",
	URI                     string             `json:"uri,omitempty"`           // "uri": "/rest/tasks/145F808A-A8DD-4E1B-8C86-C2379C97B3B2"
	TaskIsDone              bool               // when true, task are done
	Timeout                 int                // time before timeout on Executor
	WaitTime                time.Duration      // time between task checks
	Client                  *CLIOVClient
}

Task structure

func NewTask

func NewTask(c *CLIOVClient) *Task

NewProfileTask - Create New Task

func (*Task) GetCurrentTaskStatus

func (t *Task) GetCurrentTaskStatus() error

GetCurrentTaskStatus - Get the current status

func (*Task) GetLastStatusUpdate

func (t *Task) GetLastStatusUpdate() string

GetLastStatusUpdate - get last detail updates from task

func (*Task) ResetTask

func (t *Task) ResetTask()

ResetTask - reset the power task back to off

func (*Task) Wait

func (t *Task) Wait() error

Wait - wait on task to complete

type TaskData

type TaskData struct {
	TaskCategory string `json:"task-category,omitempty"`
}

type TaskError

type TaskError struct {
	Data               map[string]interface{} `json:"data,omitempty"`               // "data":{},
	ErrorCode          string                 `json:"errorCode,omitempty"`          // "errorCode":"MacTypeDiffGlobalMacType",
	Details            string                 `json:"details,omitempty"`            // "details":"",
	NestedErrors       []TaskError            `json:"nestedErrors,omitempty"`       // "nestedErrors":[],
	Message            string                 `json:"message,omitempty"`            // "message":"When macType is not user defined, mac type should be same as the global Mac assignment Virtual."
	ErrorSource        utils.Nstring          `json:"errorSource,omitempty"`        // "errorSource":null,
	RecommendedActions []string               `json:"recommendedActions,omitempty"` // "recommendedActions":["Verify parameters and try again."],
}

TaskError struct

type TaskServer

type TaskServer struct {
	Name string `json:"name,omitempty"` // "Name to server
	URI  string `json:"uri,omitempty"`  // "URI to server
}

TaskServer Example: {"name":"se05, bay 14", "uri":"/rest/server-hardware/30373237-3132-4D32-3235-303930524D52"}

type TaskState

type TaskState int

TaskState task state

const (
	T_COMPLETED TaskState = 1 + iota
	T_ERROR
	T_INERRUPTED
	T_KILLED
	T_NEW
	T_PENDING
	T_RUNNING
	T_STARTING
	T_STOPPING
	T_SUSPENDED
	T_TERMINATED
	T_UNKNOWN
	T_WARNING
)

func (TaskState) Equal

func (ts TaskState) Equal(s string) bool

Equal for type

func (TaskState) String

func (ts TaskState) String() string

String for type

type TaskType

type TaskType int

TaskType - task type

const (
	T_APPLIANCE TaskType = 1 + iota
	T_BACKGROUND
	T_USER
)

func (TaskType) Equal

func (tt TaskType) Equal(s string) bool

Equal type

func (TaskType) String

func (tt TaskType) String() string

String return

type TelemetryConfiguration

type TelemetryConfiguration struct {
	Category        string `json:"category,omitempty"`        // "category": "telemetry-configuration",
	Created         string `json:"created,omitempty"`         // "created": "20150831T154835.250Z",
	Description     string `json:"description,omitempty"`     // "description": null,
	ETAG            string `json:"eTag,omitempty"`            // "eTag": "1441036118675/8",
	EnableTelemetry *bool  `json:"enableTelemetry,omitempty"` // "enableTelemetry": false,
	Modified        string `json:"modified,omitempty"`        // "modified": "20150831T154835.250Z",
	Name            string `json:"name,omitempty"`            // "name": "telemetry configuration",
	SampleCount     int    `json:"sampleCount,omitempty"`     // "sampleCount": 12
	SampleInterval  int    `json:"sampleInterval,omitempty"`  // "sampleInterval": 300,
	State           string `json:"state,omitempty"`           // "state": "Normal",
	Status          string `json:"status,omitempty"`          // "status": "Critical",
	Type            string `json:"type,omitempty"`            // "type": "telemetry-configuration",
	URI             string `json:"uri,omitempty"`             // "uri": null
}

type TrapDestination

type TrapDestination struct {
	CommunityString    string   `json:"communityString,omitempty"`    //"communityString": "public",
	EnetTrapCategories []string `json:"enetTrapCategories,omitempty"` //"enetTrapCategories": ["PortStatus", "Other"],
	FcTrapCategories   []string `json:"fcTrapCategories,omitempty"`   //"fcTrapCategories": ["PortStatus", "Other"]
	TrapDestination    string   `json:"trapDestination,omitempty"`    //"trapDestination": "127.0.0.1",
	TrapFormat         string   `json:"trapFormat,omitempty"`         //"trapFormat", "SNMPv1",
	TrapSeverities     []string `json:"trapSeverities,omitempty"`     //"trapSeverities": "Info",
	VcmTrapCategories  []string `json:"vcmTrapCategories,omitempty"`  // "vcmTrapCategories": ["Legacy"],
}

type UplinkPort

type UplinkPort struct {
	Enclosure string
	Bay       string
	Port      string
}

type UplinkPortList

type UplinkPortList []UplinkPort

type UplinkSet

type UplinkSet struct {
	Type                           string           `json:"type"`
	ConnectionMode                 string           `json:"connectionMode"`
	ManualLoginRedistributionState string           `json:"manualLoginRedistributionState"`
	NativeNetworkURI               string           `json:"nativeNetworkUri"`
	FcoeNetworkUris                []string         `json:"fcoeNetworkUris"`
	FcNetworkUris                  []string         `json:"fcNetworkUris"`
	PrimaryPortLocation            string           `json:"primaryPortLocation"`
	LogicalInterconnectURI         string           `json:"logicalInterconnectUri"`
	NetworkType                    string           `json:"networkType"`
	EthernetNetworkType            string           `json:"ethernetNetworkType"`
	PortConfigInfos                []PortConfigInfo `json:"portConfigInfos"`
	Reachability                   string           `json:"reachability"`
	NetworkUris                    []string         `json:"networkUris"`
	LacpTimer                      string           `json:"lacpTimer"`
	Description                    string           `json:"description"`
	Status                         string           `json:"status"`
	Name                           string           `json:"name"`
	State                          string           `json:"state"`
	Category                       string           `json:"category"`
	Modified                       string           `json:"modified"`
	ETag                           string           `json:"eTag"`
	Created                        string           `json:"created"`
	URI                            string           `json:"uri"`
	LIName                         string           //manually add to be get LI name from LogicalInterconnectURI
	UplinkPorts                    UplinkPortList
	Networks                       []NetworkSummary
}

type UplinkSetCol

type UplinkSetCol struct {
	Type        string        `json:"type"`
	Members     UplinkSetList `json:"members"`
	Count       int           `json:"count"`
	Total       int           `json:"total"`
	NextPageURI string        `json:"nextPageUri"`
	Start       int           `json:"start"`
	PrevPageURI string        `json:"prevPageUri"`
	Category    string        `json:"category"`
	Modified    string        `json:"modified"`
	ETag        string        `json:"eTag"`
	Created     string        `json:"created"`
	URI         string        `json:"uri"`
}

type UplinkSetList

type UplinkSetList []UplinkSet

type UplinkSetMap

type UplinkSetMap map[string]*UplinkSet

UplinkSetMap is mapping between each uplinkset name/URI and its struct

type VolumeAttachment

type VolumeAttachment struct {
	ID                             int    `json:"id"`
	IsBootVolume                   bool   `json:"isBootVolume"`
	AssociatedTemplateAttachmentID string `json:"associatedTemplateAttachmentId"`
	Lun                            string `json:"lun"`
	LunType                        string `json:"lunType"`
	StoragePaths                   []struct {
		ConnectionID   int           `json:"connectionId"`
		IsEnabled      bool          `json:"isEnabled"`
		TargetSelector string        `json:"targetSelector"`
		Targets        []interface{} `json:"targets"`
	} `json:"storagePaths"`
	VolumeURI              string `json:"volumeUri"`
	VolumeStoragePoolURI   string `json:"volumeStoragePoolUri"`
	VolumeStorageSystemURI string `json:"volumeStorageSystemUri"`
}

type YAMLConfig

type YAMLConfig struct {
	ENetworks   []ENetwork       `json:"networks"`
	SPTemplates []YAMLSPTemplate `json:"servertemplates"`
	LIGs        []YAMLLIG        `json:"ligs"`
	EGs         []YAMLEG         `json:"egs"`
	LEs         []YAMLLE         `json:"les"`
	SPs         []YAMLSP         `json:"serverprofiles"`
}

type YAMLConnection

type YAMLConnection struct {
	Name    string `json:"name,omiempty"`
	Network string `json:"network,omiempty"`
}

type YAMLController

type YAMLController struct {
	Slot          string
	Mode          string
	Initialize    bool
	LogicalDrives []YAMLLogicalDrive `json:"logicaldrives,omiempty"`
}

type YAMLEG

type YAMLEG struct {
	Name       string
	FrameCount int `json:"framecount"`
	Frames     []YAMLFrame
}

type YAMLFrame

type YAMLFrame struct {
	ID   int
	LIGs []string `json:"ligs"`
}

type YAMLInterconnect

type YAMLInterconnect struct {
	Frame        int    `json:"frame"`
	Bay          int    `json:"bay"`
	Interconnect string `json:"interconnect"`
}

type YAMLLE

type YAMLLE struct {
	Name       string
	Enclosures []string
	EG         string
}

type YAMLLIG

type YAMLLIG struct {
	Name            string `json:"name"`
	FrameCount      int    `json:"framecount`
	InterConnectSet int    `json:"interconnectset`
	Interconnects   []YAMLInterconnect
	UplinkSets      []YAMLUplinkSet `json:"uplinksets"`
}

type YAMLLogicalDrive

type YAMLLogicalDrive struct {
	Name      string
	RaidLevel string `json:"raidlevel,omiempty"`
	NumDrive  int    `json:"numdrive,omiempty"`
}

type YAMLSP

type YAMLSP struct {
	Name     string
	Template string
}

type YAMLSPTemplate

type YAMLSPTemplate struct {
	Name            string           `json:"name,omitempty"`
	EG              string           `json:"enclosuregroup,omitempty"`
	ServerHWType    string           `json:"serverhardwaretype,omitempty"`
	YAMLConnections []YAMLConnection `json:"connections,omiempty"`
	BootMode        string           `json:"bootmode,omiempty"`
	Controllers     []YAMLController `json:"controllers,omiempty"`
}

type YAMLUplinkSet

type YAMLUplinkSet struct {
	Name        string
	Type        string
	Networks    []string
	UplinkPorts []string `json:"uplinkports"`
}

Jump to

Keyboard shortcuts

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