ov

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2017 License: Apache-2.0 Imports: 11 Imported by: 19

Documentation

Overview

Package ov -

Package ov for working with HP OneView

Package ov -

Package ov -

Package ov -

Package ov -

Package ov -

Package ov -

Package ov

Package ov -

Package ov -

Package ov -

Package ov -

Package ov -

Package ov -

Package ov -

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIVersion

type APIVersion struct {
	CurrentVersion int `json:"currentVersion,omitempty"`
	MinimumVersion int `json:"minimumVersion,omitempty"`
}

APIVersion struct

type ActiveQosConfig

type ActiveQosConfig struct {
	Category                   utils.Nstring          `json:"category,omitempty"`                   // "category": "null",
	ConfigType                 string                 `json:"configType,omitempty"`                 // "configType": "CustomWithFCoE",
	Created                    string                 `json:"created,omitempty"`                    // "created": "20150831T154835.250Z",
	Description                utils.Nstring          `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                        utils.Nstring          `json:"uri,omitempty"`                        // "uri": null
}

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 Auth

type Auth struct {
	UserName string `json:"userName,omitempty"`
	Password string `json:"password,omitempty"`
	Domain   string `json:"authLoginDomain,omitempty"`
}

Auth structure

type AuthHeader

type AuthHeader struct {
	ContentType string `json:"Content-Type,omitempty"`
	XAPIVersion int    `json:"X-API-Version,omitempty"`
	Auth        string `json:"auth,omitempty"`
}

AuthHeader Marshal a json into a auth header

type BiosOption

type BiosOption struct {
	ManageBios         bool           `json:"manageBios,omitempty"`         // "manageBios": false,
	OverriddenSettings []BiosSettings `json:"overriddenSettings,omitempty"` // "overriddenSettings": []
}

BiosOption - bios options

type BiosSettings

type BiosSettings struct {
	ID    string `json:"id,omitempty"`    // id
	Value string `json:"value,omitempty"` // value
}

BiosSettings structure

type BootManagement

type BootManagement struct {
	ManageBoot bool     `json:"manageBoot,omitempty"` // "manageBoot": true,
	Order      []string `json:"order,omitempty"`      // "order": ["CD","USB","HardDisk","PXE"]
}

BootManagement management

type BootModeOption

type BootModeOption struct {
	ManageMode    bool          `json:"manageMode,omitempty"`    // "manageMode": true,
	Mode          string        `json:"mode,omitempty"`          // "mode": "BIOS",
	PXEBootPolicy utils.Nstring `json:"pxeBootPolicy,omitempty"` // "pxeBootPolicy": null
}

BootModeOption mode option

type BootOption

type BootOption struct {
	BootOptionV3
	Priority string       `json:"priority,omitempty"` // priority(const_string), indicates the boot priority for this device. PXE and Fibre Channel connections are treated separately; an Ethernet connection and a Fibre Channel connection can both be marked as Primary. The 'order' attribute controls ordering among the different device types.
	Targets  []BootTarget `json:"targets,omitempty"`  // targets {BootTarget}
}

BootOption -

type BootOptionV3 added in v0.8.2

type BootOptionV3 struct {
	BootTargetLun        string `json:"bootTargetLun,omitempty"`        // "bootTargetLun": "0",
	BootTargetName       string `json:"bootTargetName,omitempty"`       // "bootTargetName": "iqn.2015-02.com.hpe:iscsi.target",
	BootVolumeSource     string `json:"bootVolumeSource,omitempty"`     // "bootVolumeSource": "",
	ChapLevel            string `json:"chapLevel,omitempty"`            // "chapLevel": "None",
	ChapName             string `json:"chapName,omitempty"`             // "chapName": "chap name",
	ChapSecret           string `json:"chapSecret,omitempty"`           // "chapSecret": "super secret chap secret",
	FirstBootTargetIp    string `json:"firstBootTargetIp,omitempty"`    // "firtBootTargetIp": "10.0.0.50",
	FirstBootTargetPort  string `json:"firstBootTargetPort,omitempty"`  // "firstBootTargetPort": "8080",
	InitiatorGateway     string `json:"initiatorGateway,omitempty"`     // "initiatorGateway": "3260",
	InitiatorIp          string `json:"initiatorIp,omitempty"`          // "initiatorIp": "192.168.6.21",
	InitiatorName        string `json:"initiatorName,omitempty"`        // "initiatorName": "iqn.2015-02.com.hpe:oneview-vcgs02t012",
	InitiatorNameSource  string `json:"initiatorNameSource,omitempty"`  // "initiatorNameSource": "UserDefined"
	InitiatorSubnetMask  string `json:"initiatorSubnetMask,omitempty"`  // "initiatorSubnetMask": "255.255.240.0",
	InitiatorVlanId      int    `json:"initiatorVlanId,omitempty"`      // "initiatorVlanId": 77,
	MutualChapName       string `json:"mutualChapName,omitempty"`       // "mutualChapName": "name of mutual chap",
	MutualChapSecret     string `json:"mutualChapSecret,omitempty"`     // "mutualChapSecret": "secret of mutual chap",
	SecondBootTargetIp   string `json:"secondBootTargetIp,omitempty"`   // "secondBootTargetIp": "10.0.0.51",
	SecondBootTargetPort string `json:"secondBootTargetPort,omitempty"` // "secondBootTargetPort": "78"
}

type BootTarget

type BootTarget struct {
	ArrayWWPN string `json:"arrayWwpn,omitempty"` // arrayWwpn(string,required),The wwpn of the target device that provides access to the Boot Volume. This value must contain 16 HEX digits.
	LUN       string `json:"lun,omitempty"`       // lun(string,required), The LUN of the Boot Volume presented by the target device. This value can be either 1 to 3 decimal digits in the range 0 to 255, or 13 to 16 hex digits with no other characters
}

BootTarget -

type Connection

type Connection struct {
	Connectionv200
	AllocatedMbps    int           `json:"allocatedMbps,omitempty"`    // allocatedMbps(int:read), The transmit throughput (mbps) currently allocated to this connection. When Fibre Channel connections are set to Auto for requested bandwidth, the value can be set to -2000 to indicate that the actual value is unknown until OneView is able to negotiate the actual speed.
	Boot             BootOption    `json:"boot,omitempty"`             // boot {}
	DeploymentStatus string        `json:"deploymentStatus,omitempty"` // deploymentStatus(const_string:read), The deployment status of the connection. The value can be 'Undefined', 'Reserved', or 'Deployed'.
	FunctionType     string        `json:"functionType,omitempty"`     // functionType(const_string),  Type of function required for the connection. functionType cannot be modified after the connection is created. 'Ethernet', 'FibreChannel'
	ID               int           `json:"id,omitempty"`               // id(int), A unique identifier for this connection. When creating or editing a profile, an id is automatically assigned if the attribute is omitted or 0 is specified. When editing a profile, a connection is created if the id does not identify an existing connection.
	InterconnectURI  utils.Nstring `json:"interconnectUri,omitempty"`  // interconnectUri(Nstring:read), The interconnectUri associated with the connection.
	MAC              utils.Nstring `json:"mac,omitempty"`              // mac(Nstring), The MAC address that is currently programmed on the FlexNic. The value can be a virtual MAC, user defined MAC or physical MAC read from the device. It cannot be modified after the connection is created.
	MacType          string        `json:"macType,omitempty"`          // macType(const_string), Physical, UserDefined, Virtual
	MaximumMbps      int           `json:"maximumMbps,omitempty"`      // maximumMbps(int:read),  Maximum transmit throughput (mbps) allowed on this connection. The value is limited by the maximum throughput of the network link and maximumBandwidth of the selected network (networkUri). For Fibre Channel connections, the value is limited to the same value as the allocatedMbps.
	Name             string        `json:"name,omitempty"`             // name(string), A string used to identify the respective connection. The connection name is case insensitive, limited to 63 characters and must be unique within the profile.
	NetworkURI       utils.Nstring `json:"networkUri,omitempty"`       // networkUri(Nstring, required), Identifies the network or network set to be connected. Use GET /rest/server-profiles/available-networks to retrieve the list of available Ethernet networks, Fibre Channel networks and network sets that are available along with their respective ports.
	PortID           string        `json:"portId,omitempty"`           // portId(string), Identifies the port (FlexNIC) used for this connection, for example 'Flb 1:1-a'. The port can be automatically selected by specifying 'Auto', 'None', or a physical port when creating or editing the connection. If 'Auto' is specified, a port that provides access to the selected network (networkUri) will be selected. A physical port (e.g. 'Flb 1:2') can be specified if the choice of a specific FlexNIC on the physical port is not important. If 'None' is specified, the connection will not be configured on the server hardware. When omitted, portId defaults to 'Auto'. Use /rest/server-profiles/profile-ports to retrieve the list of available ports.
	RequestedMbps    string        `json:"requestedMbps,omitempty"`    // requestedMbps(string), The transmit throughput (mbps) that should be allocated to this connection. For FlexFabric connections, this value must not exceed the maximum bandwidth of the selected network (networkUri). If omitted, this value defaults to the typical bandwidth value of the selected network. The sum of the requestedBW values for the connections (FlexNICs) on an adapter port cannot exceed the capacity of the network link. For Virtual Connect Fibre Channel connections, the available discrete values are based on the adapter and the Fibre Channel interconnect module. Use GET /rest/server-profiles/profile-ports to retrieve the list of available ports and the acceptable bandwidth values for the ports.
	WWNN             utils.Nstring `json:"wwnn,omitempty"`             // wwnn(Nstring), The node WWN address that is currently programmed on the FlexNic. The value can be a virtual WWNN, user defined WWNN or physical WWNN read from the device. It cannot be modified after the connection is created.
	WWPN             utils.Nstring `json:"wwpn,omitempty"`             // wwpn(Nstring), The port WWN address that is currently programmed on the FlexNIC. The value can be a virtual WWPN, user defined WWPN or the physical WWPN read from the device. It cannot be modified after the connection is created.
	WWPNType         string        `json:"wwpnType,omitempty"`         // wwpnType(const_string), Physical, UserDefined, Virtual
}

Connection server profile object for ov

func (Connection) Clone

func (c Connection) Clone() Connection

Clone clone connection

type Connectionv200

type Connectionv200 struct {
	AllocatedVFs int    `json:"allocatedVFs,omitempty"` // allocatedVFs The number of virtual functions allocated to this connection. This value will be null. integer read only
	RequestedVFs string `json:"requestedVFs,omitempty"` // requestedVFs This value can be "Auto" or 0. string
}

Connectionv200 server profile object for ov

type CustomAttribute added in v0.8.2

type CustomAttribute struct {
	CaConstraints string `json:"caConstraints,omitempty"` // "caConstraints": "{}",
	CaEditable    bool   `json:"caEditable,omitempty"`    // "caEditable": true,
	CaID          string `json:"caId,omitempty"`          // "caId": "23436361-3a69-4ff0-9b97-85a2deb10822",
	CaType        string `json:"caType,omitempty"`        // "caType": "string",
	Description   string `json:"description,omitempty"`   // "description": "",
	Name          string `json:"name,omitempty"`          // "name": "attribute_name",
	Value         string `json:"value,omitempty"`         // "value": "attribute_value",
}

type CustomizeServer added in v0.8.2

type CustomizeServer struct {
	ProfileName            string            // name of server
	OSDeploymentBuildPlan  string            // name of the OS build plan
	OSDeploymentAttributes map[string]string // name value pairs for server custom attributes
	EthernetNetworkName    string            // deployment network name
}

CustomizeServer - use customizeserver when working with creating a new server server create if it's missing server apply deployment job

type DeviceSlotsv200

type DeviceSlotsv200 struct {
	DeviceName    string             `json:"deviceName,omitempty"`    // deviceName The name or model of the adapter. string read only
	DeviceNumber  int                `json:"deviceNumber,omitempty"`  // deviceNumber The device number of a blade server in an enclosure. integer read only
	Location      string             `json:"location,omitempty"`      // location The location of the adapter in the server. Lom indicates LAN on motherboard, Flb is for FlexibleLOM for blades and Mezz is for Mezzanine adapters.
	PhysicalPorts []PhysicalPortv200 `json:"physicalPorts,omitempty"` // physicalPorts        //
	SlotNumber    int                `json:"slotNumber,omitempty"`    // slotNumber The slot number of the adapter on the server hardware within its specified location. integer read only
}

DeviceSlotsv200 -

type DownlinkPortCapability

type DownlinkPortCapability struct {
	Category           utils.Nstring          `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               utils.Nstring          `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                utils.Nstring          `json:"uri,omitempty"`                // "uri": "null"
}

type EnclosureGroup added in v0.8.1

type EnclosureGroup struct {
	AssociatedLogicalInterconnectGroups []string             `json:"associatedInterconnectGroups,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                    utils.Nstring        `json:"enclosureTypeUri,omitempty"`             // "enclosureTypeUri": "/rest/enclosures/e2f0031b-52bd-4223-9ac1-d91cb5219d548"
	InterconnectBayMappingCount         int                  `json:"interconnectBayMappingCount,omitempty"`  // "interconnectBayMappingCount": 8,
	InterconnectBayMappings             []InterconnectBayMap `json:"interconnectBayMappings"`                // "interconnectBayMappings": [],
	IpRangeUris                         []utils.Nstring      `json:"ipRangeUris,omitempty"`
	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                                 utils.Nstring        `json:"uri,omitempty"`              // "uri": "/rest/enclosure-groups/e2f0031b-52bd-4223-9ac1-d91cb519d548"
}

type EnclosureGroupList added in v0.8.1

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

type EthernetNetwork

type EthernetNetwork struct {
	Category              string        `json:"category,omitempty"`              // "category": "ethernet-networks",
	ConnectionTemplateUri utils.Nstring `json:"connectionTemplateUri,omitempty"` // "connectionTemplateUri": "/rest/connection-templates/7769cae0-b680-435b-9b87-9b864c81657f",
	Created               string        `json:"created,omitempty"`               // "created": "20150831T154835.250Z",
	Description           utils.Nstring `json:"description,omitempty"`           // "description": "Ethernet network 1",
	ETAG                  string        `json:"eTag,omitempty"`                  // "eTag": "1441036118675/8",
	EthernetNetworkType   string        `json:"ethernetNetworkType,omitempty"`   // "ethernetNetworkType": "Tagged",
	FabricUri             utils.Nstring `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                   utils.Nstring `json:"uri,omitempty"`                   // "uri": "/rest/ethernet-networks/e2f0031b-52bd-4223-9ac1-d91cb519d548"
	VlanId                int           `json:"vlanId,omitempty"`                // "vlanId": 1,
}

type EthernetNetworkList

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

type EthernetSettings

type EthernetSettings struct {
	Category                    utils.Nstring `json:"category,omitempty"`                    // "category": null,
	Created                     string        `json:"created,omitempty"`                     // "created": "20150831T154835.250Z",
	DependentResourceUri        utils.Nstring `json:"dependentResourceUri,omitempty"`        // dependentResourceUri": "/rest/logical-interconnect-groups/b7b144e9-1f5e-4d52-8534-2e39280f9e86",
	Description                 utils.Nstring `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                         utils.Nstring `json:"uri,omitempty"`                         // "uri": "/rest/logical-interconnect-groups/b7b144e9-1f5e-4d52-8534-2e39280f9e86/ethernetSettings"
}

type FCNetwork added in v0.8.1

type FCNetwork struct {
	Type                    string        `json:"type,omitempty"`
	FabricType              string        `json:"fabricType,omitempty"`
	FabricUri               utils.Nstring `json:"fabricUri,omitempty"`
	ConnectionTemplateUri   utils.Nstring `json:"connectionTemplateUri,omitempty"`
	ManagedSanURI           utils.Nstring `json:"managedSanUri,omitempty"`
	LinkStabilityTime       int           `json:"linkStabilityTime,omitempty"`
	AutoLoginRedistribution bool          `json:"autoLoginRedistribution"`
	Description             string        `json:"description,omitempty"`
	Name                    string        `json:"name,omitempty"`
	State                   string        `json:"state,omitempty"`
	Status                  string        `json:"status,omitempty"`
	Category                string        `json:"category,omitempty"`
	URI                     utils.Nstring `json:"uri,omitempty"`
	ETAG                    string        `json:"eTag,omitempty"`
	Modified                string        `json:"modified,omitempty"`
	Created                 string        `json:"created,omitempty"`
}

type FCNetworkList added in v0.8.1

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

type FCoENetwork

type FCoENetwork struct {
	Type                  string        `json:"type,omitempty"`
	VlanId                int           `json:"vlanId,omitempty"`
	ConnectionTemplateUri utils.Nstring `json:"connectionTemplateUri,omitempty"`
	ManagedSanUri         utils.Nstring `json:"managedSanUri,omitempty"`
	FabricUri             utils.Nstring `json:"fabricUri,omitempty"`
	Description           utils.Nstring `json:"description,omitempty"`
	Name                  string        `json:"name,omitempty"`
	State                 string        `json:"state,omitempty"`
	Status                string        `json:"status,omitempty"`
	ETAG                  string        `json:"eTag,omitempty"`
	Modified              string        `json:"modified,omitempty"`
	Created               string        `json:"created,omitempty"`
	Category              string        `json:"category,omitempty"`
	URI                   utils.Nstring `json:"uri,omitempty"`
}

type FCoENetworkList

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

type FirmwareAndDriversInstallStatev200

type FirmwareAndDriversInstallStatev200 struct {
	InstallState            string `json:"installState,omitempty"`            // installState The installation state information of the firmware and/or OS drivers on the server.
	InstalledStateTimestamp string `json:"installedStateTimestamp,omitempty"` // The timestamp information indicating the time when the install state value got updated. string
}

FirmwareAndDriversInstallStatev200 -

type FirmwareOption

type FirmwareOption struct {
	FirmwareOptionv200
	ForceInstallFirmware bool          `json:"forceInstallFirmware,omitempty"` // "forceInstallFirmware": false,
	FirmwareBaselineUri  utils.Nstring `json:"firmwareBaselineUri,omitempty"`  // "firmwareBaselineUri": null,
	ManageFirmware       bool          `json:"manageFirmware,omitempty"`       // "manageFirmware": false
}

FirmwareOption structure for firware settings

type FirmwareOptionv200

type FirmwareOptionv200 struct {
	FirmwareInstallType string `json:"firmwareInstallType,omitempty"` // Specifies the way a Service Pack for ProLiant (SPP) is installed. This field is used if the 'manageFirmware' field is true. Possible values are
}

firmware additional properties introduced in 200 "FirmwareOnly" - Updates the firmware without powering down the server hardware using using HP Smart Update Tools. "FirmwareAndOSDrivers" - Updates the firmware and OS drivers without powering down the server hardware using HP Smart Update Tools. "FirmwareOnlyOfflineMode" - Manages the firmware through HP OneView. Selecting this option requires the server hardware to be powered down.

type HardwareState

type HardwareState int

HardwareState

const (
	H_UNKNOWN HardwareState = 1 + iota
	H_ADDING
	H_NOPROFILE_APPLIED
	H_MONITORED
	H_UNMANAGED
	H_REMOVING
	H_REMOVE_FAILED
	H_REMOVED
	H_APPLYING_PROFILE
	H_PROFILE_APPLIED
	H_REMOVING_PROFILE
	H_PROFILE_ERROR
	H_UNSUPPORTED
	H_UPATING_FIRMWARE
)

func (HardwareState) Equal

func (h HardwareState) Equal(s string) bool

func (HardwareState) String

func (h HardwareState) String() string

type HpSmartUpdateToolStatusv200

type HpSmartUpdateToolStatusv200 struct {
	HPSUTInstallState string `json:"hpSUTInstallState,omitempty"` // hpSUTInstallState HpSUT Install State Enum
	InstallState      string `json:"installState,omitempty"`      // installState HP Smart Update Tool's installed state on the server indicating whether it is installed, not installed or unknown.
	LastOperationTime string `json:"lastOperationTime,omitempty"` // lastOperationTime The timestamp indicating when HP Smart Update Tool was active or running a firmware update operation. string
	Mode              string `json:"mode,omitempty"`              // mode The current run mode configured for HP Smart Update Tool installed on the server. string
	ServiceState      string `json:"serviceState,omitempty"`      // serviceState The state of the HP Smart Update Tool Service running on the server operating system. string
	Version           string `json:"version,omitempty"`           // version The current version of the HP Smart Update Tool installed on the server. string
}

type InactiveFCoEQosConfig

type InactiveFCoEQosConfig struct {
	Category                   utils.Nstring          `json:"category,omitempty"`                   // "category": "null",
	ConfigType                 string                 `json:"configType,omitempty"`                 // "configType": "CustomWithFCoE",
	Created                    string                 `json:"created,omitempty"`                    // "created": "20150831T154835.250Z",
	Description                utils.Nstring          `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                        utils.Nstring          `json:"uri,omitempty"`                        // "uri": null
}

type InactiveNonFCoEQosConfig

type InactiveNonFCoEQosConfig struct {
	Category                   utils.Nstring          `json:"category,omitempty"`                   // "category": "null",
	ConfigType                 string                 `json:"configType,omitempty"`                 // "configType": "CustomWithFCoE",
	Created                    string                 `json:"created,omitempty"`                    // "created": "20150831T154835.250Z",
	Description                utils.Nstring          `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                        utils.Nstring          `json:"uri,omitempty"`                        // "uri": null
}

type InterconnectBayMap added in v0.8.1

type InterconnectBayMap struct {
	InterconnectBay             int           `json:"interconnectBay,omitempty"`             // "interconnectBay": 0,
	LogicalInterconnectGroupUri utils.Nstring `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           utils.Nstring   `json:"logicalDownlinkUri,omitempty"`           // "logicalDownlinkUri": "/rest/logical-downlinks/5b33fec1-63e8-40e1-9e3d-3af928917b2f",
	LogicalLocation              LogicalLocation `json:"logicalLocation,omitempty"`              // "logicalLocation": {...},
	PermittedInterconnectTypeUri utils.Nstring   `json:"permittedInterconnectTypeUri,omitempty"` //"permittedSwitchTypeUri": "/rest/switch-types/a2bc8f42-8bb8-4560-b80f-6c3c0e0d66e0",
}

type InterconnectMapTemplate

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

type InterconnectType

type InterconnectType 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                     utils.Nstring          `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                      utils.Nstring          `json:"uri,omitempty"`                      // "uri": "/rest/interconnect-types/9d31081c-e010-4005-bf0b-e64b0ca04af5"
}

type InterconnectTypeList

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

type LSDomainPerSwitch

type LSDomainPerSwitch struct {
	FirmwareVersion string `json:"firmwareVersion"` //"firmwareVersion": "unknown",
	IPAddress       string `json:"ipAddress"`       //"ipAddress": "172.18.1.11",
}

type LocalStorageEmbeddedController

type LocalStorageEmbeddedController struct {
	LocalStorageEmbeddedControllerV4
	ImportConfiguration bool             `json:"importConfiguration,omitempty"` // importConfiguration Determines if the logical drives in the current configuration should be imported. Boolean
	Initialize          bool             `json:"initialize,omitempty"`          // initialize Determines if the controller should be initialized before configuration. Boolean
	LogicalDrives       []LogicalDriveV3 `json:"logicalDrives,omitempty"`       // LogicalDriveV3 The list of logical drives associated with the controller.
	Managed             bool             `json:"managed,omitempty"`             // managed Determines if the specific controller is managed by OneView. Boolean
	Mode                string           `json:"mode,omitempty"`                // mode Determines the mode of operation of the controller. The controller mode can be changed between RAID and HBA mode when supported by the selected server hardware type. string
	SlotNumber          string           `json:"slotNumber,omitempty"`          // slotNumber The PCI slot number used by the controller. This value will always be set to "0", as only the embedded controller is supported in the current version. string
}

LocalStorageEmbeddedController -

type LocalStorageEmbeddedControllerV4 added in v0.8.2

type LocalStorageEmbeddedControllerV4 struct {
	DeviceSlot string `json:"deviceSlot,omitempty"` // "deviceSlot": "Mezz 1",
}

type LocalStorageOptions

type LocalStorageOptions struct {
	LocalStorageSettingsV3
	ManageLocalStorage bool           `json:"manageLocalStorage,omitempty"` // "manageLocalStorage": true,
	LogicalDrives      []LogicalDrive `json:"logicalDrives,omitempty"`      // "logicalDrives": [],
	Initialize         bool           `json:"initialize,omitempty"`         // 				"initialize": true
}

LocalStorageOptions -

func (LocalStorageOptions) Clone

Clone local storage

type LocalStorageSettingsV3

type LocalStorageSettingsV3 struct {
	LocalStorageSettingsV4
	Controllers []LocalStorageEmbeddedController `json:"controllers,omitempty"` //  The list of embedded local storage controllers.
}

LocalStorageSettingsV3 -

type LocalStorageSettingsV4 added in v0.8.2

type LocalStorageSettingsV4 struct {
	SasLogicalJBODs []LogicalJbod `json:"sasLogicalJBODs,omitempty"` // "sasLogicalJBODs": [],
}

type LocationEntry

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

type LogicalDrive

type LogicalDrive struct {
	Bootable  bool   `json:"bootable"`            // "bootable": true,
	RaidLevel string `json:"raidLevel,omitempty"` // "raidLevel": "RAID1"
}

LogicalDrive logical drive options

type LogicalDriveV3

type LogicalDriveV3 struct {
	LogicalDriveV4
	Bootable          bool   `json:"bootable,omitempty"`          // bootable Indicates if the logical drive is bootable or not. Boolean
	DriveName         string `json:"driveName,omitempty"`         // driveName The name of the logical drive. string
	DriveNumber       int    `json:"driveNumber,omitempty"`       // driveNumber The number assigned to the logical drive by HP SSA. This value is read-only and gets automatically populated once the logical drive is created. integer read only
	DriveTechnology   string `json:"driveTechnology,omitempty"`   // driveTechnology Defines the interface type for drives that will be used to build the logical drive. Supported values depend on the local storage capabilities of the selected server hardware type. string
	NumPhysicalDrives int    `json:"numPhysicalDrives,omitempty"` // numPhysicalDrives The number of physical drives to be used to build the logical drive. The provided values must be consistent with the selected RAID level and cannot exceed the maximum supported number of drives for the selected server hardware type. integer
	RaidLevel         string `json:"raidLevel,omitempty"`         // raidLevel The RAID level of the logical drive. Supported values depend on the local storage capabilities of the selected server hardware type. string
}

LogicalDriveV3 -

type LogicalDriveV4 added in v0.8.2

type LogicalDriveV4 struct {
	Name             string `json:"name,omitempty"`             // "name": "logical drive name",
	SasLogicalJBODId int    `json:"sasLogicalJBODId,omitempty"` // "sasLogicalJBODId": 1,
}

type LogicalInterconnectGroup

type LogicalInterconnectGroup struct {
	Category                string                   `json:"category,omitempty"`               // "category": "logical-interconnect-groups",
	Created                 string                   `json:"created,omitempty"`                // "created": "20150831T154835.250Z",
	Description             utils.Nstring            `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               utils.Nstring            `json:"fabricUri,omitempty"`              // "fabricUri": "/rest/fabrics/9b8f7ec0-52b3-475e-84f4-c4eac51c2c20",
	InterconnectMapTemplate *InterconnectMapTemplate `json:"interconnectMapTemplate"`          // "interconnectMapTemplate": {...},
	InternalNetworkUris     []utils.Nstring          `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              []UplinkSet              `json:"uplinkSets,omitempty"`             // "uplinkSets": {...},
	URI                     utils.Nstring            `json:"uri,omitempty"`                    // "uri": "/rest/logical-interconnect-groups/e2f0031b-52bd-4223-9ac1-d91cb519d548",
}

type LogicalInterconnectGroupList

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

type LogicalJbod added in v0.8.2

type LogicalJbod struct {
	DeviceSlot        string        `json:"deviceSlot,omitempty"`        // "deviceSlot": "Mezz 1",
	DriveMaxSizeGB    int           `json:"driveMaxSizeGB,omitempty"`    // "driveMaxSizeGB": 100,
	DriveMinSizeGB    int           `json:"driveMinSizeGB,omitempty"`    // "driveMinSizeGB": 10,
	DriveTechnology   string        `json:"driveTechnology,omitempty"`   // "driveTechnology": "SasHdd",
	ID                int           `json:"id,omitempty"`                // "id": 1,
	Name              string        `json:"name,omitempty"`              // "name": "logical jbod 1",
	NumPhysicalDrives int           `json:"numPhysicalDrives,omitempty"` // "numPhyricalDrives": 1,
	SasLogicalJBODUri utils.Nstring `json:"sasLogicalJBODUri,omitempty"` // "sasLogicalJBODUri": nil
	Status            string        `json:"status,omitempty"`            // "status": "OK",
}

type LogicalLocation

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

type LogicalPortConfigInfo

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

type LogicalSwitch

type LogicalSwitch struct {
	Category                string                  `json:"category,omitempty"`          // "category": "logcial-switch-groups",
	ConstitencyStatus       string                  `json:"constitencyStatus,omitempty"` //"consitencyStatue": "CONSISTENT",
	Created                 string                  `json:"created,omitempty"`           // "created": "20150831T154835.250Z",
	Description             utils.Nstring           `json:"description,omitempty"`       // "description": "Logical Switch 1",
	ETAG                    string                  `json:"eTag,omitempty"`              // "eTag": "1441036118675/8",
	FabricUri               utils.Nstring           `json:"fabricUri,omitempty"`         // "fabricUri": "/rest/fabrics/9b8f7ec0-52b3-475e-84f4-c4eac51c2c20",
	LogicalSwitchDomainInfo LogicalSwitchDomainInfo `json:"logicalSwitchDomainInfo"`
	Modified                string                  `json:"modified,omitempty"` // "modified": "20150831T154835.250Z",
	Name                    string                  `json:"name,omitempty"`     // "name": "Logical Switch Group1",
	State                   string                  `json:"state,omitempty"`    // "state": "Normal",
	Status                  string                  `json:"status,omitempty"`   // "status": "Critical",
	Type                    string                  `json:"type,omitempty"`     // "type": "logical-switch-groups",
	URI                     utils.Nstring           `json:"uri,omitempty"`      // "uri": "/rest/logical-switch-groups/e2f0031b-52bd-4223-9ac1-d91cb519d548",
	SwitchMapTemplate       SwitchMapTemplate       `json:"switchMapTemplate"`
}

type LogicalSwitchDomainInfo

type LogicalSwitchDomainInfo struct {
	DomainId         string              `json:"domainId"`         //"domainId": "NA",
	MasterMacAddress string              `json:"masterMacAddress"` //"masterMacAddress": "NA",
	PerSwitchDomain  []LSDomainPerSwitch `json:"perSwitchDomain"`
}

type LogicalSwitchGroup

type LogicalSwitchGroup struct {
	Category          string            `json:"category,omitempty"`    // "category": "logical-switch-groups",
	Created           string            `json:"created,omitempty"`     // "created": "20150831T154835.250Z",
	Description       utils.Nstring     `json:"description,omitempty"` // "description": "Logical Switch 1",
	ETAG              string            `json:"eTag,omitempty"`        // "eTag": "1441036118675/8",
	FabricUri         utils.Nstring     `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": "Logical Switch Group1",
	State             string            `json:"state,omitempty"`       // "state": "Normal",
	Status            string            `json:"status,omitempty"`      // "status": "Critical",
	Type              string            `json:"type,omitempty"`        // "type": "logical-switch-groups",
	URI               utils.Nstring     `json:"uri,omitempty"`         // "uri": "/rest/logical-switch-groups/e2f0031b-52bd-4223-9ac1-d91cb519d548",
	SwitchMapTemplate SwitchMapTemplate `json:"switchMapTemplate"`
}

TODO change this struct to hold the variables from the GET API response body variables

type LogicalSwitchGroupList

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

type MpHostInfov200

type MpHostInfov200 struct {
	MpHostName  string            `json:"mpHostName,omitempty"`    // mpHostName The host name of the Management Processor. string
	MpIPAddress []MpIPAddressv200 `json:"mpIpAddresses,omitempty"` // The list of IP addresses and corresponding type information for the Management Processor.
}

MpHostInfov200 -

type MpIPAddressv200

type MpIPAddressv200 struct {
	Address string `json:"address,omitempty"` // address An IP address for the Management Processor. string
	Type    string `json:"type,omitempty"`    // type The type of IP address. The following are useful values for the IP address type: Static - Static IP address configuration; DHCP - Dynamic host configuration protocol; SLAAC - Stateless address autoconfiguration (IPv6); LinkLocal - Link-local address (IPv6);
}

MpIPAddressv200 -

type MpIPTypev200

type MpIPTypev200 int

MpIPTypev200 Type constant

const (
	MpDHCP MpIPTypev200 = 1 + iota
	MpLinkLocal
	MpLinkLocalRequired
	MpLookup
	MpSlaaC
	MpStatic
	MpUndefined
)

const block

func (MpIPTypev200) Equal

func (o MpIPTypev200) Equal(s string) bool

Equal helper for MpIPTypev200

func (MpIPTypev200) String

func (o MpIPTypev200) String() string

String helper for MpIPTypev200

type NetworkSet

type NetworkSet struct {
	Category              string          `json:"category,omitempty"`              // "category": "network-sets",
	ConnectionTemplateUri utils.Nstring   `json:"connectionTemplateUri,omitempty"` // "connectionTemplateUri": "/rest/connection-templates/7769cae0-b680-435b-9b87-9b864c81657f",
	Created               string          `json:"created,omitempty"`               // "created": "20150831T154835.250Z",
	Description           utils.Nstring   `json:"description,omitempty"`           // "description": "Network Set 1",
	ETAG                  string          `json:"eTag,omitempty"`                  // "eTag": "1441036118675/8",
	Modified              string          `json:"modified,omitempty"`              // "modified": "20150831T154835.250Z",
	Name                  string          `json:"name"`                            // "name": "Network Set 1",
	NativeNetworkUri      utils.Nstring   `json:"nativeNetworkUri,omitempty"`
	NetworkUris           []utils.Nstring `json:"networkUris"`
	State                 string          `json:"state,omitempty"`  // "state": "Normal",
	Status                string          `json:"status,omitempty"` // "status": "Critical",
	Type                  string          `json:"type"`             // "type": "network-set",
	URI                   utils.Nstring   `json:"uri,omitempty"`    // "uri": "/rest/network-set/e2f0031b-52bd-4223-9ac1-d91cb519d548"
}

type NetworkSetList

type NetworkSetList struct {
	Total       int           `json:"total,omitempty"`       // "total": 1,
	Count       int           `json:"count,omitempty"`       // "count": 1,
	Start       int           `json:"start,omitempty"`       // "start": 0,
	PrevPageURI utils.Nstring `json:"prevPageUri,omitempty"` // "prevPageUri": null,
	NextPageURI utils.Nstring `json:"nextPageUri,omitempty"` // "nextPageUri": null,
	URI         utils.Nstring `json:"uri,omitempty"`         // "uri": "/rest/network-sets?sort=name:asc"
	Members     []NetworkSet  `json:"members,omitempty"`     // "members":[]
}

type OSCustomAttribute added in v0.8.2

type OSCustomAttribute struct {
	Name  string `json:"name,omitempty"`  // "name": "custom attribute 1",
	Value string `json:"value,omitempty"` // "value": "custom attribute value"
}

type OSDeploymentPlan added in v0.8.2

type OSDeploymentPlan struct {
	AdditionalParameters    []CustomAttribute `json:"additionalParameters,omitempty"`    // "additionalParameters": [],
	Architecture            string            `json:"architecture,omitempty"`            // "architecture": "",
	Category                string            `json:"category,omitempty"`                // "category": "os-deployment-plans",
	Created                 string            `json:"created,omitempty"`                 // "created": "20150831T154835.250Z",
	DeploymentAppliance     string            `json:"deploymentAppliance,omitempty"`     // "deploymentAppliance": "ivp6:port",
	DeploymentApplianceIpv4 string            `json:"deploymentApplianceIpv4,omitempty"` // "deploymentApplianceIpv4": "255.255.255.0"
	DeploymentType          string            `json:"deploymentType,omitempty"`          // "deploymentType": "i3s",
	Description             utils.Nstring     `json:"description,omitempty"`             // "description": "",
	ETAG                    string            `json:"eTag,omitempty"`                    // "eTag": "1441036118675/8",
	Id                      string            `json:"id,omitempty"`                      // "id": "ca7d7f3d-668a-4f56-9f83-ab491470a50a",
	Modified                string            `json:"modified,omitempty"`                // "modified": "20150831T154835.250Z",
	Name                    string            `json:"name,omitempty"`                    // "name": "osdp 1",
	NativePlanUri           string            `json:"nativePlanUri,omitempty"`           // "nativePlanUri": "/rest/deployment-plans/611f051a-3588-4b42-bf93-9fc70e034710",
	OsType                  string            `json:"osType,omitempty"`                  // "osType": "",
	OsdpSize                string            `json:"osdpSize,omitempty"`                // "osdpSize": "10GB",
	State                   string            `json:"state,omitempty"`                   // "state": "Normal",
	Status                  string            `json:"status,omitempty"`                  // "status": "Critical",
	Type                    string            `json:"type,omitempty"`                    // "type": "Osdp",
	URI                     utils.Nstring     `json:"uri,omitempty"`                     // "uri": "/rest/os-deployment-plans/ca7d7f3d-668a-4f56-9f83-ab491470a50a"
}

type OSDeploymentPlanList added in v0.8.2

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

type OSDeploymentSettings added in v0.8.2

type OSDeploymentSettings struct {
	OSCustomAttributes  []OSCustomAttribute `json:"osCustomAttributes,omitempty"`  // "osCustomAttributes": [],
	OSDeploymentPlanUri utils.Nstring       `json:"osDeploymentPlanUri,omitempty"` // "osDeploymentPlanUri": nil,
	OSVolumeUri         utils.Nstring       `json:"osVolumeUri,omitempty"`         // "osVolumeUri": nil,
}

type OVClient

type OVClient struct {
	rest.Client
}

OVClient - wrapper class for ov api's

func (*OVClient) CreateEnclosureGroup added in v0.8.1

func (c *OVClient) CreateEnclosureGroup(eGroup EnclosureGroup) error

func (*OVClient) CreateEthernetNetwork

func (c *OVClient) CreateEthernetNetwork(eNet EthernetNetwork) error

func (*OVClient) CreateFCNetwork added in v0.8.1

func (c *OVClient) CreateFCNetwork(fcNet FCNetwork) error

func (*OVClient) CreateFCoENetwork

func (c *OVClient) CreateFCoENetwork(fcoeNet FCoENetwork) error

func (*OVClient) CreateLogicalInterconnectGroup

func (c *OVClient) CreateLogicalInterconnectGroup(logicalInterconnectGroup LogicalInterconnectGroup) error

func (*OVClient) CreateLogicalSwitchGroup

func (c *OVClient) CreateLogicalSwitchGroup(logicalSwitchGroup LogicalSwitchGroup) error

func (*OVClient) CreateMachine

func (c *OVClient) CreateMachine(host_name string, server_template string) (err error)

Create machine

func (*OVClient) CreateNetworkSet

func (c *OVClient) CreateNetworkSet(netSet NetworkSet) error

func (*OVClient) CreateProfileFromTemplate

func (c *OVClient) CreateProfileFromTemplate(name string, template ServerProfile, blade ServerHardware) error

create profile from template

func (*OVClient) CreateProfileFromTemplateWithI3S added in v0.8.2

func (c *OVClient) CreateProfileFromTemplateWithI3S(name string, template ServerProfile, blade ServerHardware) error

create profile from template

func (*OVClient) CreateProfileTemplate added in v0.8.1

func (c *OVClient) CreateProfileTemplate(serverProfileTemplate ServerProfile) error

func (*OVClient) CreateStorageVolume added in v0.8.1

func (c *OVClient) CreateStorageVolume(sVol StorageVolumeV3) error

func (*OVClient) CustomizeServer added in v0.8.2

func (c *OVClient) CustomizeServer(cs CustomizeServer) error

CustomizeServer - Customize Server

func (*OVClient) DeleteEnclosureGroup added in v0.8.1

func (c *OVClient) DeleteEnclosureGroup(name string) error

func (*OVClient) DeleteEthernetNetwork

func (c *OVClient) DeleteEthernetNetwork(name string) error

func (*OVClient) DeleteFCNetwork added in v0.8.1

func (c *OVClient) DeleteFCNetwork(name string) error

func (*OVClient) DeleteFCoENetwork

func (c *OVClient) DeleteFCoENetwork(name string) error

func (*OVClient) DeleteLogicalInterconnectGroup

func (c *OVClient) DeleteLogicalInterconnectGroup(name string) error

func (*OVClient) DeleteLogicalSwitchGroup

func (c *OVClient) DeleteLogicalSwitchGroup(name string) error

func (*OVClient) DeleteNetworkSet

func (c *OVClient) DeleteNetworkSet(name string) error

func (*OVClient) DeleteOSBuildPlanFromServer added in v0.8.2

func (c *OVClient) DeleteOSBuildPlanFromServer(profileName string) error

func (*OVClient) DeleteProfile

func (c *OVClient) DeleteProfile(name string) error

delete a profile, assign the server and remove the profile from the system

func (*OVClient) DeleteProfileTemplate added in v0.8.1

func (c *OVClient) DeleteProfileTemplate(name string) error

func (*OVClient) DeleteStorageVolume added in v0.8.1

func (c *OVClient) DeleteStorageVolume(name string) error

func (*OVClient) GetAPIVersion

func (c *OVClient) GetAPIVersion() (APIVersion, error)

GetAPIVersion - returns the api version for OneView server returns structure APIVersion

func (*OVClient) GetAuthHeaderMap

func (c *OVClient) GetAuthHeaderMap() map[string]string

GetAuthHeaderMap Generate an auth Header map

func (*OVClient) GetAuthHeaderMapNoVer

func (c *OVClient) GetAuthHeaderMapNoVer() map[string]string

GetAuthHeaderMapNoVer generate header without version

func (*OVClient) GetAvailableHardware

func (c *OVClient) GetAvailableHardware(hardwaretype_uri utils.Nstring, servergroup_uri utils.Nstring) (hw ServerHardware, err error)

get available server blades = rest_api(:oneview, :get, "/rest/server-hardware?sort=name:asc&filter=serverHardwareTypeUri='#{server_hardware_type_uri}'&filter=serverGroupUri='#{enclosure_group_uri}'")

func (*OVClient) GetEnclosureGroupByName added in v0.8.1

func (c *OVClient) GetEnclosureGroupByName(name string) (EnclosureGroup, error)

func (*OVClient) GetEnclosureGroupByUri added in v0.8.1

func (c *OVClient) GetEnclosureGroupByUri(uri utils.Nstring) (EnclosureGroup, error)

func (*OVClient) GetEnclosureGroups added in v0.8.1

func (c *OVClient) GetEnclosureGroups(filter string, sort string) (EnclosureGroupList, error)

func (*OVClient) GetEthernetNetworkByName

func (c *OVClient) GetEthernetNetworkByName(name string) (EthernetNetwork, error)

func (*OVClient) GetEthernetNetworks

func (c *OVClient) GetEthernetNetworks(filter string, sort string) (EthernetNetworkList, error)

func (*OVClient) GetFCNetworkByName added in v0.8.1

func (c *OVClient) GetFCNetworkByName(name string) (FCNetwork, error)

func (*OVClient) GetFCNetworks added in v0.8.1

func (c *OVClient) GetFCNetworks(filter string, sort string) (FCNetworkList, error)

func (*OVClient) GetFCoENetworkByName

func (c *OVClient) GetFCoENetworkByName(name string) (FCoENetwork, error)

func (*OVClient) GetFCoENetworks

func (c *OVClient) GetFCoENetworks(filter string, sort string) (FCoENetworkList, error)

func (*OVClient) GetIdleTimeout

func (c *OVClient) GetIdleTimeout() (int64, error)

GetIdleTimeout gets the current timeout for the logged on session returns timeout in milliseconds, or error when it fails

func (*OVClient) GetInterconnectTypeByName

func (c *OVClient) GetInterconnectTypeByName(name string) (InterconnectType, error)

func (*OVClient) GetInterconnectTypeByUri

func (c *OVClient) GetInterconnectTypeByUri(uri utils.Nstring) (InterconnectType, error)

func (*OVClient) GetInterconnectTypes

func (c *OVClient) GetInterconnectTypes(filter string, sort string) (InterconnectTypeList, error)

func (*OVClient) GetLogicalInterconnectGroupByName

func (c *OVClient) GetLogicalInterconnectGroupByName(name string) (LogicalInterconnectGroup, error)

func (*OVClient) GetLogicalInterconnectGroupByUri added in v0.8.1

func (c *OVClient) GetLogicalInterconnectGroupByUri(uri utils.Nstring) (LogicalInterconnectGroup, error)

func (*OVClient) GetLogicalInterconnectGroups

func (c *OVClient) GetLogicalInterconnectGroups(filter string, sort string) (LogicalInterconnectGroupList, error)

func (*OVClient) GetLogicalSwitchGroupByName

func (c *OVClient) GetLogicalSwitchGroupByName(name string) (LogicalSwitchGroup, error)

func (*OVClient) GetLogicalSwitchGroups

func (c *OVClient) GetLogicalSwitchGroups(filter string, sort string) (LogicalSwitchGroupList, error)

func (*OVClient) GetNetworkSetByName

func (c *OVClient) GetNetworkSetByName(name string) (NetworkSet, error)

func (*OVClient) GetNetworkSets

func (c *OVClient) GetNetworkSets(filter string, sort string) (NetworkSetList, error)

func (*OVClient) GetOSDeploymentPlan added in v0.8.2

func (c *OVClient) GetOSDeploymentPlan(uri utils.Nstring) (OSDeploymentPlan, error)

get an os deployment plan with uri

func (*OVClient) GetOSDeploymentPlanByName added in v0.8.2

func (c *OVClient) GetOSDeploymentPlanByName(name string) (OSDeploymentPlan, error)

func (*OVClient) GetOSDeploymentPlans added in v0.8.2

func (c *OVClient) GetOSDeploymentPlans(filter string, sort string) (OSDeploymentPlanList, error)

func (*OVClient) GetProfileByName

func (c *OVClient) GetProfileByName(name string) (ServerProfile, error)

get a server profile by name

func (*OVClient) GetProfileBySN

func (c *OVClient) GetProfileBySN(serialnum string) (ServerProfile, error)

GetProfileBySN accepts serial number

func (*OVClient) GetProfileByURI

func (c *OVClient) GetProfileByURI(uri utils.Nstring) (ServerProfile, error)

GetProfileByURI - get the profile from a uri

func (*OVClient) GetProfileTemplateByName

func (c *OVClient) GetProfileTemplateByName(name string) (ServerProfile, error)

get a server profile template by name

func (*OVClient) GetProfileTemplates

func (c *OVClient) GetProfileTemplates(filter string, sort string) (ServerProfileList, error)

get a server profiles

func (*OVClient) GetProfiles

func (c *OVClient) GetProfiles(filter string, sort string) (ServerProfileList, error)

GetProfiles - get a server profiles

func (*OVClient) GetServerHardware

func (c *OVClient) GetServerHardware(uri utils.Nstring) (ServerHardware, error)

get a server hardware with uri

func (*OVClient) GetServerHardwareByName added in v0.8.2

func (c *OVClient) GetServerHardwareByName(name string) (ServerHardware, error)

get a server hardware with uri

func (*OVClient) GetServerHardwareList

func (c *OVClient) GetServerHardwareList(filters []string, sort string) (ServerHardwareList, error)

get a server hardware with filters

func (*OVClient) GetServerHardwareTypeByName added in v0.8.1

func (c *OVClient) GetServerHardwareTypeByName(name string) (ServerHardwareType, error)

func (*OVClient) GetServerHardwareTypeByUri added in v0.8.1

func (c *OVClient) GetServerHardwareTypeByUri(uri utils.Nstring) (ServerHardwareType, error)

func (*OVClient) GetServerHardwareTypes added in v0.8.1

func (c *OVClient) GetServerHardwareTypes(filter string, sort string) (ServerHardwareTypeList, error)

func (*OVClient) GetStorageVolumeByName added in v0.8.1

func (c *OVClient) GetStorageVolumeByName(name string) (StorageVolumeV3, error)

func (*OVClient) GetStorageVolumes added in v0.8.1

func (c *OVClient) GetStorageVolumes(filter string, sort string) (StorageVolumesListV3, error)

func (*OVClient) GetSwitchTypeByName

func (c *OVClient) GetSwitchTypeByName(name string) (SwitchType, error)

func (*OVClient) GetSwitchTypes

func (c *OVClient) GetSwitchTypes(filter string, sort string) (SwitchTypeList, error)

func (*OVClient) IsHardwareSchemaV2

func (c *OVClient) IsHardwareSchemaV2() bool

IsHardwareSchemaV2 - true when we are using v2, false for v1

func (*OVClient) IsProfileTemplates

func (c *OVClient) IsProfileTemplates() bool

IsProfileTemplates - returns true when we should use GetProfileTemplate...

func (*OVClient) ManageI3SConnections added in v0.8.2

func (c *OVClient) ManageI3SConnections(connections []Connection, netname string) ([]Connection, error)

ManageI3SConnections - setup connections for i3s deployment network

func (*OVClient) NewOVClient

func (c *OVClient) NewOVClient(user string, password string, domain string, endpoint string, sslverify bool, apiversion int) *OVClient

new Client

func (*OVClient) ProfileTemplatesNotSupported

func (c *OVClient) ProfileTemplatesNotSupported() bool

ProfileTemplatesNotSupported - determine these functions are supported

func (*OVClient) RefreshLogin

func (c *OVClient) RefreshLogin() error

RefreshLogin Refresh login authkey Should make sure we have a valid APIKey

func (*OVClient) RefreshVersion

func (c *OVClient) RefreshVersion() error

RefreshVersion - refresh the max api Version for the client

func (*OVClient) SessionLogin

func (c *OVClient) SessionLogin() (Session, error)

SessionLogin Login to OneView and get a session ID returns Session structure

func (*OVClient) SessionLogout

func (c *OVClient) SessionLogout() error

SessionLogout Logout to OneView and get a session ID returns Session structure

func (*OVClient) SetIdleTimeout

func (c *OVClient) SetIdleTimeout(thetime int64) error

SetIdleTimeout sets the current timeout

func (*OVClient) SubmitDeleteProfile

func (c *OVClient) SubmitDeleteProfile(p ServerProfile) (t *Task, err error)

submit new profile template

func (*OVClient) SubmitNewProfile

func (c *OVClient) SubmitNewProfile(p ServerProfile) (t *Task, err error)

SubmitNewProfile - submit new profile template

func (*OVClient) UpdateEnclosureGroup added in v0.8.1

func (c *OVClient) UpdateEnclosureGroup(enclosureGroup EnclosureGroup) error

func (*OVClient) UpdateEthernetNetwork

func (c *OVClient) UpdateEthernetNetwork(eNet EthernetNetwork) error

func (*OVClient) UpdateFCoENetwork

func (c *OVClient) UpdateFCoENetwork(fcoeNet FCoENetwork) error

func (*OVClient) UpdateFcNetwork added in v0.8.1

func (c *OVClient) UpdateFcNetwork(fcNet FCNetwork) error

func (*OVClient) UpdateLogicalInterconnectGroup

func (c *OVClient) UpdateLogicalInterconnectGroup(logicalInterconnectGroup LogicalInterconnectGroup) error

func (*OVClient) UpdateLogicalSwitchGroup

func (c *OVClient) UpdateLogicalSwitchGroup(logicalSwitchGroup LogicalSwitchGroup) error

func (*OVClient) UpdateNetworkSet

func (c *OVClient) UpdateNetworkSet(netSet NetworkSet) error

func (*OVClient) UpdateProfileTemplate added in v0.8.1

func (c *OVClient) UpdateProfileTemplate(serverProfileTemplate ServerProfile) error

func (*OVClient) UpdateServerProfile added in v0.8.2

func (c *OVClient) UpdateServerProfile(p ServerProfile) error

func (*OVClient) UpdateStorageVolume added in v0.8.1

func (c *OVClient) UpdateStorageVolume(sVol StorageVolumeV3) error

type PhysicalPortv200

type PhysicalPortv200 struct {
	InterconnectPort         int               `json:"interconnectPort,omitempty"`         // interconnectPort The downlink port number on the interconnect that hosts network connections for this adapter port. If the adapter port is not connected to an interconnect downlink port, the value will be 0. integer read only
	InterconnectURI          utils.Nstring     `json:"interconnectUri,omitempty"`          // interconnectUri The URI of the interconnect that hosts network connections for this adapter port. string read only
	MAC                      string            `json:"mac,omitempty"`                      // mac Physical mac address of this physical port. string read only
	PhysicalInterconnectPort int               `json:"physicalInterconnectPort,omitempty"` // physicalInterconnectPort The downlink port number on the interconnect to which the adapter port is physically connected. If the adapter port is not connected to an interconnect downlink port, the value will be 0. integer read only
	PhysicalInterconnectURI  utils.Nstring     `json:"physicalInterconnectUri,omitempty"`  // physicalInterconnectUri The URI of the interconnect to which the adapter port is physically connected. string read only
	PortNumber               int               `json:"portNumber,omitempty"`               // portNumber Physical port number of the adapter. integer read only
	Type                     string            `json:"type,omitempty"`                     // type Physical port type. Values include Ethernet and FibreChannel. Physical Server Port Type read only
	VirtualPorts             []VirtualPortv200 `json:"virtualPorts,omitempty"`             // For Flex-capable devices, a list of FlexNICs defined on the server. array of Server Fabric Virtual Port read only
	WWN                      string            `json:"wwn,omitempty"`                      // wwn The world wide name of this physical port. string read only
}

PhysicalPortv200 -

type PortInfo

type PortInfo struct {
	DownlinkCapable  bool          `json:"downlinkCapable,omitempty"` // "downlinkCapable": true,
	PairedPortName   utils.Nstring `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 added in v0.8.1

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

type PortMapv200

type PortMapv200 struct {
	DeviceSlots []DeviceSlotsv200 `json:"deviceSlots,omitempty"` //  List of each slot found on the server hardware. read only
}

PortMapv200 -

type Power

type Power struct {
	Blade      *ServerHardware
	State      PowerState
	TaskStatus bool
}

type PowerControl

type PowerControl int

Power control

const (
	P_COLDBOOT PowerControl = 1 + iota
	P_MOMPRESS
	P_PRESSANDHOLD
	P_RESET
)

func (PowerControl) String

func (pc PowerControl) String() string

type PowerRequest

type PowerRequest struct {
	PowerState   string `json:"powerState,omitempty"`
	PowerControl string `json:"powerControl,omitempty"`
}

PowerRequest { 'body' => { 'powerState' => state.capitalize, 'powerControl' => 'MomentaryPress' } })

type PowerState

type PowerState int

Create a PowerState type

const (
	P_ON PowerState = 1 + iota
	P_OFF
	P_UKNOWN
)

func (PowerState) Equal

func (p PowerState) Equal(s string) bool

func (PowerState) String

func (p PowerState) String() string

type PowerTask

type PowerTask struct {
	Blade ServerHardware
	State PowerState // current power state
	Task
}

Provides power execution status

func (*PowerTask) GetCurrentPowerState

func (pt *PowerTask) GetCurrentPowerState() error

get current power state

func (*PowerTask) NewPowerTask

func (pt *PowerTask) NewPowerTask(b ServerHardware) *PowerTask

Create a new power task manager TODO: refactor PowerTask to use Task vs overloading it here.

func (*PowerTask) PowerExecutor

func (pt *PowerTask) PowerExecutor(s PowerState) error

Submit desired power state and wait Most of our concurrency will happen in PowerExecutor

func (*PowerTask) SubmitPowerState

func (pt *PowerTask) SubmitPowerState(s PowerState)

Submit desired power state

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 ProvisioningParameters added in v0.8.1

type ProvisioningParameters struct {
	StoragePoolUri    utils.Nstring `json:"storagePoolUri,omitempty"`
	ProvisionType     string        `json:"provisionType,omitempty"`
	RequestedCapacity string        `json:"requestedCapacity,omitempty"`
	Shareable         bool          `json:"shareable,omitempty"`
}

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              utils.Nstring             `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                      utils.Nstring             `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 SanStorageOptions

type SanStorageOptions struct {
	SanStorageV3
	HostOSType            string             `json:"hostOSType,omitempty"`            // hostOSType(required),  The operating system type of the host. To retrieve the list of supported host OS types, issue a REST Get request using the /rest/storage-systems/host-types API.
	ManageSanStorage      bool               `json:"manageSanStorage"`                // manageSanStorage(required),  Identifies whether SAN storage is managed in this profile.
	VolumeAttachments     []VolumeAttachment `json:"volumeAttachments,omitempty"`     // volumeAttachments, The list of storage volume attachments. array of Volume Attachment
	SerialNumber          string             `json:"serialNumber,omitempty"`          // serialNumber (searchable) A 10-byte value that is exposed to the Operating System as the server hardware's Serial Number. The value can be a virtual serial number, user defined serial number or physical serial number read from the server's ROM. It cannot be modified after the profile is created.
	SerialNumberType      string             `json:"serialNumberType,omitempty"`      // serialNumberType (searchable) Specifies the type of Serial Number and UUID to be programmed into the server ROM. The value can be 'Virtual', 'UserDefined', or 'Physical'. The serialNumberType defaults to 'Virtual' when serialNumber or uuid are not specified. It cannot be modified after the profile is created.
	ServerHardwareTypeURI utils.Nstring      `json:"serverHardwareTypeUri,omitempty"` // serverHardwareTypeUri Identifies the server hardware type for which the Server Profile was designed. The serverHardwareTypeUri is determined when the profile is created and cannot be modified. Use GET /rest/server-hardware-types to retrieve the list of server hardware types.
	ServerHardwareURI     utils.Nstring      `json:"serverHardwareUri,omitempty"`     // serverHardwareUri Identifies the server hardware to which the server profile is currently assigned, if applicable. Use GET /rest/server-profiles/available-targets to retrieve the list of available servers.
	State                 string             `json:"state,omitempty"`                 // state (searchable, readonly) Current State of this Server Profile
	Status                string             `json:"status,omitempty"`                // status (searchable, readonly) Overall health status of this Server Profile
	TaskURI               utils.Nstring      `json:"taskUri,omitempty"`               // taskUri (read only) URI of the task currently executing or most recently executed on this server profile.
	Type                  string             `json:"type,omitempty"`                  // type (read only) Identifies the resource type. This field should always be set to 'ServerProfileV4'.
	URI                   utils.Nstring      `json:"uri,omitempty"`                   // uri (searchable, readonly) URI of this Server Profile. The URI is automatically generated when the server profile is created and cannot be modified.
	UUID                  string             `json:"uuid,omitempty"`                  // uuid (searchable) A 36-byte value that is exposed to the Operating System as the server hardware's UUID. The value can be a virtual uuid, user defined uuid or physical uuid read from the server's ROM. It cannot be modified after the profile is created.
	WWNType               string             `json:"wwnType,omitempty"`               // wwnType (searchable) Specifies the type of WWN address to be programmed into the IO devices. The value can be 'Virtual' or 'Physical'. It cannot be modified after the profile is created.
}

SanStorageOptions pecify san storage No San

"sanStorage": {
		"volumeAttachments": [],
		"manageSanStorage": false
},

func (SanStorageOptions) Clone

Clone clone local storage for submitting

type SanStorageV3

type SanStorageV3 struct {
	HostOSType        string               `json:"hostOSType,omitempty"`        // hostOSType The operating system type of the host. To retrieve the list of supported host OS types, issue a REST Get request using the /rest/storage-systems/host-types API. string required
	ManageSanStorage  bool                 `json:"manageSanStorage"`            // manageSanStorage Identifies whether SAN storage is managed in this profile. Boolean required
	VolumeAttachments []VolumeAttachmentV2 `json:"volumeAttachments,omitempty"` // The list of storage volume attachments.
}

SanStorageV3 -

type ServerHardware

type ServerHardware struct {
	ServerHardwarev200
	AssetTag              string        `json:"assetTag,omitempty"`              // "assetTag": "[Unknown]",
	Category              string        `json:"category,omitempty"`              // "category": "server-hardware",
	Created               string        `json:"created,omitempty"`               // "created": "2015-08-14T21:02:01.537Z",
	Description           utils.Nstring `json:"description,omitempty"`           // "description": null,
	ETAG                  string        `json:"eTag,omitempty"`                  // "eTag": "1441147370086",
	FormFactor            string        `json:"formFactor,omitempty"`            // "formFactor": "HalfHeight",
	LicensingIntent       string        `json:"licensingIntent,omitempty"`       // "licensingIntent": "OneView",
	LocationURI           utils.Nstring `json:"locationUri,omitempty"`           // "locationUri": "/rest/enclosures/092SN51207RR",
	MemoryMb              int           `json:"memoryMb,omitempty"`              // "memoryMb": 262144,
	Model                 string        `json:"model,omitempty"`                 // "model": "ProLiant BL460c Gen9",
	Modified              string        `json:"modified,omitempty"`              // "modified": "2015-09-01T22:42:50.086Z",
	MpFirwareVersion      string        `json:"mpFirmwareVersion,omitempty"`     // "mpFirmwareVersion": "2.03 Nov 07 2014",
	MpModel               string        `json:"mpModel,omitempty"`               // "mpModel": "iLO4",
	Name                  string        `json:"name,omitempty"`                  // "name": "se05, bay 16",
	PartNumber            string        `json:"partNumber,omitempty"`            // "partNumber": "727021-B21",
	Position              int           `json:"position,omitempty"`              // "position": 16,
	PowerLock             bool          `json:"powerLock,omitempty"`             // "powerLock": false,
	PowerState            string        `json:"powerState,omitempty"`            // "powerState": "Off",
	ProcessorCoreCount    int           `json:"processorCoreCount,omitempty"`    // "processorCoreCount": 14,
	ProcessorCount        int           `json:"processorCount,omitempty"`        // "processorCount": 2,
	ProcessorSpeedMhz     int           `json:"processorSpeedMhz,omitempty"`     // "processorSpeedMhz": 2300,
	ProcessorType         string        `json:"processorType,omitempty"`         // "processorType": "Intel(R) Xeon(R) CPU E5-2695 v3 @ 2.30GHz",
	RefreshState          string        `json:"refreshState,omitempty"`          // "refreshState": "NotRefreshing",
	RomVersion            string        `json:"romVersion,omitempty"`            // "romVersion": "I36 11/03/2014",
	SerialNumber          utils.Nstring `json:"serialNumber,omitempty"`          // "serialNumber": "2M25090RMW",
	ServerGroupURI        utils.Nstring `json:"serverGroupUri,omitempty"`        // "serverGroupUri": "/rest/enclosure-groups/56ad0069-8362-42fd-b4e3-f5c5a69af039",
	ServerHardwareTypeURI utils.Nstring `json:"serverHardwareTypeUri,omitempty"` // "serverHardwareTypeUri": "/rest/server-hardware-types/DB7726F7-F601-4EA8-B4A6-D1EE1B32C07C",
	ServerProfileURI      utils.Nstring `json:"serverProfileUri,omitempty"`      // "serverProfileUri": "/rest/server-profiles/9979b3a4-646a-4c3e-bca6-80ca0b403a93",
	ShortModel            string        `json:"shortModel,omitempty"`            // "shortModel": "BL460c Gen9",
	State                 string        `json:"state,omitempty"`                 // "state": "ProfileApplied",
	StateReason           string        `json:"stateReason,omitempty"`           // "stateReason": "NotApplicable",
	Status                string        `json:"status,omitempty"`                // "status": "Warning",
	Type                  string        `json:"type,omitempty"`                  // "type": "server-hardware-3",
	URI                   utils.Nstring `json:"uri,omitempty"`                   // "uri": "/rest/server-hardware/30373237-3132-4D32-3235-303930524D57",
	UUID                  utils.Nstring `json:"uuid,omitempty"`                  // "uuid": "30373237-3132-4D32-3235-303930524D57",
	VirtualSerialNumber   utils.Nstring `json:"VirtualSerialNumber,omitempty"`   // "virtualSerialNumber": "",
	VirtualUUID           string        `json:"virtualUuid,omitempty"`           // "virtualUuid": "00000000-0000-0000-0000-000000000000"
	// v1 properties
	MpDnsName   string `json:"mpDnsName,omitempty"`   // "mpDnsName": "ILO2M25090RMW",
	MpIpAddress string `json:"mpIpAddress,omitempty"` // make this private to force calls to GetIloIPAddress() "mpIpAddress": "172.28.3.136",
	// extra client struct
	Client *OVClient
}

ServerHardware get server hardware from ov

func (ServerHardware) GetIloIPAddress

func (h ServerHardware) GetIloIPAddress() string

GetIloIPAddress - Use MpIpAddress for v1 and For v2 check MpHostInfo is not nil , loop through MpHostInfo.MpIPAddress[], and return the first nonzero address

func (ServerHardware) GetPowerState

func (s ServerHardware) GetPowerState() (PowerState, error)

get the power state

func (ServerHardware) PowerOff

func (s ServerHardware) PowerOff() error

server hardware power off

func (ServerHardware) PowerOn

func (s ServerHardware) PowerOn() error

server hardware power on

type ServerHardwareList

type ServerHardwareList struct {
	Type        string           `json:"type,omitempty"`        // "type": "server-hardware-list-3",
	Category    string           `json:"category,omitempty"`    // "category": "server-hardware",
	Count       int              `json:"count,omitempty"`       // "count": 15,
	Created     string           `json:"created,omitempty"`     // "created": "2015-09-08T04:58:21.489Z",
	ETAG        string           `json:"eTag,omitempty"`        // "eTag": "1441688301489",
	Modified    string           `json:"modified,omitempty"`    // "modified": "2015-09-08T04:58:21.489Z",
	NextPageURI utils.Nstring    `json:"nextPageUri,omitempty"` // "nextPageUri": null,
	PrevPageURI utils.Nstring    `json:"prevPageUri,omitempty"` // "prevPageUri": null,
	Start       int              `json:"start,omitempty"`       // "start": 0,
	Total       int              `json:"total,omitempty"`       // "total": 15,
	URI         string           `json:"uri,omitempty"`         // "uri": "/rest/server-hardware?sort=name:asc&filter=serverHardwareTypeUri=%27/rest/server-hardware-types/DB7726F7-F601-4EA8-B4A6-D1EE1B32C07C%27&filter=serverGroupUri=%27/rest/enclosure-groups/56ad0069-8362-42fd-b4e3-f5c5a69af039%27&start=0&count=100"
	Members     []ServerHardware `json:"members,omitempty"`     //"members":[]
}

server hardware list, simillar to ServerProfileList with a TODO

type ServerHardwareType added in v0.8.1

type ServerHardwareType struct {
	Category    string        `json:"category,omitempty"`    // "category": "server-hardware",
	Created     string        `json:"created,omitempty"`     // "created": "20150831T154835.250Z",
	Description string        `json:"description,omitempty"` // "description": "ServerHardware",
	ETAG        string        `json:"eTag,omitempty"`        // "eTag": "1441036118675/8",
	Modified    string        `json:"modified,omitempty"`    // "modified": "20150831T154835.250Z",
	Name        string        `json:"name,omitempty"`        // "name": "ServerHardware 1",
	Type        string        `json:"type,omitempty"`        // "type": "server-hardware-type-4",
	URI         utils.Nstring `json:"uri,omitempty"`         // "uri": "/rest/server-hardware-types/e2f0031b-52bd-4223-9ac1-d91cb519d548"
}

type ServerHardwareTypeList added in v0.8.1

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

type ServerHardwarev200

type ServerHardwarev200 struct {
	IntelligentProvisioningVersion string              `json:"intelligentProvisioningVersion,omitempty"` // intelligentProvisioningVersion The installed version of the Intelligent Provisioning embedded server provisioning tool. string
	MpHostInfo                     *MpHostInfov200     `json:"mpHostInfo,omitempty"`                     // The host name and IP address information for the Management Processor that resides on this server.
	MpState                        string              `json:"mpState,omitempty"`                        //  Indicates the current state of the management processor.
	PortMap                        *PortMapv200        `json:"portMap,omitempty"`                        //  A list of adapters/slots, their ports and attributes. This information is available for blade servers but not rack servers.
	ServerSettings                 *ServerSettingsv200 `json:"serverSettings,omitempty"`                 //  Indicates the current settings on the server and state of these settings.
	Signature                      *Signaturev200      `json:"signature,omitempty"`                      // Data representing the current configuration or 'signature' of the server.
}

ServerHardwarev200 get server hardware from ov mphostinfo is private to force calls to GetIloIPAddress

type ServerProfile

type ServerProfile struct {
	ServerProfilev200
	*ServerProfilev300
	Affinity              string              `json:"affinity,omitempty"`         // "affinity": "Bay",
	AssociatedServer      utils.Nstring       `json:"associatedServer,omitempty"` // "associatedServer": null,
	Bios                  *BiosOption         `json:"bios,omitempty"`             // "bios": {	},
	Boot                  BootManagement      `json:"boot,omitempty"`             // "boot": { },
	BootMode              BootModeOption      `json:"bootMode,omitempty"`         // "bootMode": {},
	Category              string              `json:"category,omitempty"`         // "category": "server-profiles",
	Connections           []Connection        `json:"connections,omitempty"`
	Description           string              `json:"description,omitempty"`           // "description": "Docker Machine Bay 16",
	Created               string              `json:"created,omitempty"`               // "created": "20150831T154835.250Z",
	ETAG                  string              `json:"eTag,omitempty"`                  // "eTag": "1441036118675/8"
	EnclosureBay          int                 `json:"enclosureBay,omitempty"`          // "enclosureBay": 16,
	EnclosureGroupURI     utils.Nstring       `json:"enclosureGroupUri,omitempty"`     // "enclosureGroupUri": "/rest/enclosure-groups/56ad0069-8362-42fd-b4e3-f5c5a69af039",
	EnclosureURI          utils.Nstring       `json:"enclosureUri,omitempty"`          // "enclosureUri": "/rest/enclosures/092SN51207RR",
	Firmware              FirmwareOption      `json:"firmware,omitempty"`              // "firmware": { },
	HideUnusedFlexNics    bool                `json:"hideUnusedFlexNics,omitempty"`    // "hideUnusedFlexNics": false,
	InProgress            bool                `json:"inProgress,omitempty"`            // "inProgress": false,
	LocalStorage          LocalStorageOptions `json:"localStorage,omitempty"`          // "localStorage": {},
	MACType               string              `json:"macType,omitempty"`               // "macType": "Physical",
	Modified              string              `json:"modified,omitempty"`              // "modified": "20150902T175611.657Z",
	Name                  string              `json:"name,omitempty"`                  // "name": "Server_Profile_scs79",
	SanStorage            SanStorageOptions   `json:"sanStorage,omitempty"`            // "sanStorage": {},
	SerialNumber          utils.Nstring       `json:"serialNumber,omitempty"`          // "serialNumber": "2M25090RMW",
	SerialNumberType      string              `json:"serialNumberType,omitempty"`      // "serialNumberType": "Physical",
	ServerHardwareTypeURI utils.Nstring       `json:"serverHardwareTypeUri,omitempty"` // "serverHardwareTypeUri": "/rest/server-hardware-types/DB7726F7-F601-4EA8-B4A6-D1EE1B32C07C",
	ServerHardwareURI     utils.Nstring       `json:"serverHardwareUri,omitempty"`     // "serverHardwareUri": "/rest/server-hardware/30373237-3132-4D32-3235-303930524D57",
	State                 string              `json:"state,omitempty"`                 // "state": "Normal",
	Status                string              `json:"status,omitempty"`                // "status": "Critical",
	TaskURI               utils.Nstring       `json:"taskUri,omitempty"`               // "taskUri": "/rest/tasks/6F0DF438-7D30-41A2-A36D-62AB866BC7E8",
	Type                  string              `json:"type,omitempty"`                  // 	Type               string `json:"type,omitempty"`	// "type": "ServerProfileV4",
	URI                   utils.Nstring       `json:"uri,omitempty"`                   // "uri": "/rest/server-profiles/9979b3a4-646a-4c3e-bca6-80ca0b403a93",
	UUID                  utils.Nstring       `json:"uuid,omitempty"`                  // "uuid": "30373237-3132-4D32-3235-303930524D57",
	WWNType               string              `json:"wwnType,omitempty"`               // "wwnType": "Physical",
}

ServerProfile - server profile object for ov

func (ServerProfile) Clone

func (s ServerProfile) Clone() ServerProfile

Clone server profile

func (ServerProfile) GetConnectionByName

func (s ServerProfile) GetConnectionByName(name string) (Connection, error)

GetConnectionByName gets the connection from a profile with a given name

type ServerProfileList

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

ServerProfileList a list of ServerProfile objects TODO: missing properties, need to think how we can make a higher lvl structure like an OVList Then things like Members are inherited

type ServerProfilev200

type ServerProfilev200 struct {
	TemplateCompliance       string        `json:"templateCompliance,omitempty"`       // v2 Compliant, NonCompliant, Unknown
	ServerProfileTemplateURI utils.Nstring `json:"serverProfileTemplateUri,omitempty"` // undocmented option
}

ServerProfilev200 - v200 changes to ServerProfile

type ServerProfilev300 added in v0.8.2

type ServerProfilev300 struct {
	IscsiInitiatorName     string               `json:"iscsiInitiatorName,omitempty"`     // "iscsiInitiatorName": "name of iscsi initiator name",
	IscsiInitiatorNameType string               `json:"iscsiInitiatorNameType,omitempty"` // "iscsiInitiatorNameType": "UserDefined",
	OSDeploymentSettings   OSDeploymentSettings `json:"osDeploymentSettings,omitempty"`   // "osDeploymentSettings": {...},
}

type ServerSettingsv200

type ServerSettingsv200 struct {
	FirmwareAndDriversInstallState *FirmwareAndDriversInstallStatev200 `json:"firmwareAndDriversInstallState,omitempty"` //  firmwareAndDriversInstallState The current installation status details of the firmware and/or OS drivers on the server.
	HPSmartUpdateToolStatus        *HpSmartUpdateToolStatusv200        `json:"hpSmartUpdateToolStatus,omitempty"`        // The status of HP Smart Update Tool installed on the server.
}

ServerSettingsv200 -

type Session

type Session struct {
	ID string `json:"sessionID,omitempty"`
}

Session struct

type Signaturev200

type Signaturev200 struct {
	PersonalityChecksum int `json:"personalityChecksum,omitempty"` // A calculated checksum of the server 'personality,' based on the defined connections and server identifiers. integer read only
	ServerHwChecksum    int `json:"serverHwChecksum,omitempty"`    // A calculated checksum of the server hardware, based on the hardware components installed in the server. integer read only
}

Signaturev200 -

type SnmpConfiguration

type SnmpConfiguration struct {
	Category         utils.Nstring     `json:"category,omitempty"`         // "category": "snmp-configuration",
	Created          string            `json:"created,omitempty"`          // "created": "20150831T154835.250Z",
	Description      utils.Nstring     `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              utils.Nstring     `json:"uri,omitempty"`              // "uri": null
}

TODO SNMPConfiguration

type StoragePath

type StoragePath struct {
	ConnectionID      int      `json:"connectionId,omitempty"`      // connectionId (required), The ID of the connection associated with this storage path. Use GET /rest/server-profiles/available-networks to retrieve the list of available networks.
	IsEnabled         bool     `json:"isEnabled"`                   // isEnabled (required), Identifies whether the storage path is enabled.
	Status            string   `json:"status,omitempty"`            // status (read only), The overall health status of the storage path.
	StorageTargetType string   `json:"storageTargetType,omitempty"` // storageTargetType ('Auto', 'TargetPorts')
	StorageTargets    []string `json:"storageTargets,omitempty"`    // only set when storageTargetType is TargetPorts
}

StoragePath storage path host-to-target paths Use GET /rest/storage-systems/{arrayid}/managedPorts?query="expectedNetworkUri EQ '/rest/fc-networks/{netowrk-id}'" to retrieve the storage targets for the associated network.

func (StoragePath) Clone

func (c StoragePath) Clone() StoragePath

Clone -

type StoragePathV2

type StoragePathV2 struct {
	ConnectionID      int      `json:"connectionId,omitempty"`      // connectionId The ID of the connection associated with this storage path. Use GET /rest/server-profiles/available-networks to retrieve the list of available networks. integer required
	IsEnabled         bool     `json:"isEnabled,omitempty"`         // isEnabled Identifies whether the storage path is enabled. Boolean required
	Status            string   `json:"status,omitempty"`            // status The overall health status of the storage path. string read only
	StorageTargetType string   `json:"storageTargetType,omitempty"` // storageTargetType If set to Auto, the storage system will automatically identify the storage targets. In this case, set the storageTargets field to an empty array. If set to TargetPorts, the storage targets can be manually specified in the storageTargets field using comma-separated strings.
	StorageTargets    []string `json:"storageTargets,omitempty"`    // The WWPNs (World Wide Port Names) of the targets on the storage system. If storageTargetType is set to Auto, the storage system will automatically select the target ports, in which case the storageTargets field is not needed and should be set to an empty array. If storageTargetType is set to TargetPorts, then the the storageTargets field should be an array of comma-separated strings representing the WWPNs intended to be used to connect with the storage system. Use GET /rest/storage-systems/{arrayid}/managedPorts?query="expectedNetworkUri EQ '/rest/fc-networks/{netowrk-id}'" to retrieve the storage targets for the associated network.
}

StoragePathV2 - A list of host-to-target path associations.

type StorageVolumeV3 added in v0.8.1

type StorageVolumeV3 struct {
	Category               string                 `json:"category,omitempty"`
	Created                string                 `json:"created,omitempty"`
	Description            string                 `json:"description,omitempty"`
	ETAG                   string                 `json:"eTag,omitempty"`
	Name                   string                 `json:"name,omitempty"`
	State                  string                 `json:"state,omitempty"`
	Status                 string                 `json:"status,omitempty"`
	Type                   string                 `json:"type,omitempty"`
	URI                    utils.Nstring          `json:"uri,omitempty"`
	Shareable              bool                   `json:"shareable,omitempty"`
	StoragePoolUri         utils.Nstring          `json:"storagePoolUri,omitempty"`
	StorageSystemUri       utils.Nstring          `json:"storageSystemUri,omitempty"`
	ProvisionType          string                 `json:"provisionType,omitempty"`
	ProvisionedCapacity    string                 `json:"provisionedCapacity,omitempty"`
	ProvisioningParameters ProvisioningParameters `json:"provisioningParameters,omitempty"`
}

type StorageVolumesListV3 added in v0.8.1

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

type SwitchMapEntry

type SwitchMapEntry struct {
	PermittedSwitchTypeUri utils.Nstring   `json:"permittedSwitchTypeUri"` //"permittedSwitchTypeUri": "/rest/switch-types/a2bc8f42-8bb8-4560-b80f-6c3c0e0d66e0",
	LogicalLocation        LogicalLocation `json:"logicalLocation"`
}

type SwitchMapTemplate

type SwitchMapTemplate struct {
	SwitchMapEntryTemplates []SwitchMapEntry `json:"switchMapEntryTemplates"`
}

type SwitchType

type SwitchType struct {
	Name string        `json:"name,omitempty"` // "name": "Ethernet Network 1",
	URI  utils.Nstring `json:"uri"`            //"uri": "/rest/switch-types/a2bc8f42-8bb8-4560-b80f-6c3c0e0d66e0"
}

type SwitchTypeList

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

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                     utils.Nstring      `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                  *OVClient
}

Task structure

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) NewProfileTask

func (t *Task) NewProfileTask(c *OVClient) *Task

NewProfileTask - Create New 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     utils.Nstring `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             utils.Nstring `json:"uri,omitempty"`             // "uri": null
}

type TimeOut

type TimeOut struct {
	IdleTimeout int64 `json:"idleTimeout"`
}

TimeOut structure

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 UplinkSet

type UplinkSet 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       utils.Nstring           `json:"nativeNetworkUri,omitempty"`    // "nativeNetworkUri": null,
	NetworkType            string                  `json:"networkType,omitempty"`         // "networkType": "Ethernet",
	NetworkUris            []utils.Nstring         `json:"networkUris"`                   // "networkUris": ["/rest/ethernet-networks/f1e38895-721b-4204-8395-ae0caba5e163"]
	PrimaryPort            *LogicalLocation        `json:"primaryPort,omitempty"`         // "primaryPort": {...},
	Reachability           string                  `json:"reachability,omitempty"`        // "reachability": "Reachable",
}

type VirtualPortv200

type VirtualPortv200 struct {
	CurrentAllocatedVirtualFunctionCount int    `json:"currentAllocatedVirtualFunctionCount,omitempty"` // currentAllocatedVirtualFunctionCount The number of virtual functions presently allocated to this virtual port. integer read only
	MAC                                  string `json:"mac,omitempty"`                                  // mac The mac address assigned to this virtual port. string read only
	PortFunction                         string `json:"portFunction,omitempty"`                         // portFunction The function identifier for this FlexNIC, such as a, b, c or d. string read only
	PortNumber                           int    `json:"portNumber,omitempty"`                           // portNumber The port number assigned to this virtual port. integer read only
	WWNN                                 string `json:"WWNN,omitempty"`                                 // wwnn The world wide node name assigned to this virtual port. string read only
	WWPN                                 string `json:"WWPN,omitempty"`                                 // wwpn The world wide port name assigned to this virtual port. string read only
}

VirtualPortv200 -

type VolumeAttachment

type VolumeAttachment struct {
	VolumeAttachmentV3
	ID                             int           `json:"id,omitempty"`                             // id, The ID of the attached storage volume.
	LUN                            string        `json:"lun,omitempty"`                            // lun, The logical unit number.
	LUNType                        string        `json:"lunType,omitempty"`                        // lunType(required), The logical unit number type: Auto or Manual.
	Permanent                      bool          `json:"permanent"`                                // permanent, If true, indicates that the volume will persist when the profile is deleted. If false, then the volume will be deleted when the profile is deleted.
	State                          string        `json:"state,omitempty"`                          // state(read only), current state of the attachment
	Status                         string        `json:"status,omitempty"`                         // status(read only), The current status of the attachment.
	StoragePaths                   []StoragePath `json:"storagePaths,omitempty"`                   // A list of host-to-target path associations.
	VolumeDescription              string        `json:"volumeDescription,omitempty"`              // The description of the storage volume.
	VolumeName                     string        `json:"volumeName,omitempty"`                     // The name of the volume. This attribute is required when creating a volume.
	VolumeProvisionType            string        `json:"volumeProvisionType,omitempty"`            // The provisioning type of the new volume: Thin or Thick. This attribute is required when creating a volume.
	VolumeProvisionedCapacityBytes string        `json:"volumeProvisionedCapacityBytes,omitempty"` // The requested provisioned capacity of the storage volume in bytes. This attribute is required when creating a volume.
	VolumeShareable                bool          `json:"volumeShareable"`                          // Identifies whether the storage volume is shared or private. If false, then the volume will be private. If true, then the volume will be shared. This attribute is required when creating a volume.
	VolumeStoragePoolURI           utils.Nstring `json:"volumeStoragePoolUri,omitempty"`           // The URI of the storage pool associated with this volume attachment's volume. Use GET /rest/server-profiles/available-storage-systems to retrieve the URI of the storage pool associated with a volume.
	VolumeStorageSystemURI         utils.Nstring `json:"volumeStorageSystemUri,omitempty"`         // The URI of the storage system associated with this volume attachment. Use GET /rest/server-profiles/available-storage-systems to retrieve the URI of the storage system associated with a volume.
	VolumeURI                      utils.Nstring `json:"volumenUri,omitempty"`                     // The URI of the storage volume associated with this volume attachment. Use GET /rest/server-profiles/available-storage-systems to retrieve the URIs of available storage volumes.
}

VolumeAttachment volume attachment

func (VolumeAttachment) Clone

Clone clone volume attachment for submits

type VolumeAttachmentStateV2

type VolumeAttachmentStateV2 int

VolumeAttachmentStateV2 -

const (
	VAAttachFailed VolumeAttachmentStateV2 = 1 + iota
	VAAttached
	VAAttaching
	VACreating
	VADeleteFailed
	VADeleted
	VADeleting
	VAReserveFailed
	VAReserved
	VAReserving
	VAUpdating
	VAUserDeleted
	VAVolumeCreateFailed
	VAVolumeCreating
)

Constants for VolumeAttachmentStateV2

func (VolumeAttachmentStateV2) Equal

func (o VolumeAttachmentStateV2) Equal(s string) bool

Equal - helper

func (VolumeAttachmentStateV2) String

func (o VolumeAttachmentStateV2) String() string

String - helper

type VolumeAttachmentV2

type VolumeAttachmentV2 struct {
	ID                             int             `json:"id,omitempty"`                             // id The ID of the attached storage volume. integer
	LUN                            string          `json:"lun,omitempty"`                            // lun The logical unit number. string
	LUNType                        string          `json:"lunType,omitempty"`                        // lunType The logical unit number type: Auto or Manual. string required
	Permanent                      bool            `json:"permanent"`                                // permanent If true, indicates that the volume will persist when the profile is deleted. If false, then the volume will be deleted when the profile is deleted. Boolean
	State                          string          `json:"state,omitempty"`                          //state The current state of the attachment. VolumeAttachmentStateV2 read only
	Status                         string          `json:"status,omitempty"`                         // status The current status of the attachment. string read only
	StoragePaths                   []StoragePathV2 `json:"storagePaths,omitempty"`                   // A list of host-to-target path associations.
	VolumeDescription              string          `json:"volumeDescription,omitempty"`              // volumeDescription The description of the storage volume. string
	VolumeName                     string          `json:"volumeName,omitempty"`                     // volumeName The name of the volume. This attribute is required when creating a volume. string
	VolumeProvisionType            string          `json:"volumeProvisionType,omitempty"`            // volumeProvisionType The provisioning type of the new volume: Thin or Thick. This attribute is required when creating a volume. string
	VolumeProvisionedCapacityBytes string          `json:"volumeProvisionedCapacityBytes,omitempty"` // volumeProvisionedCapacityBytes The requested provisioned capacity of the storage volume in bytes. This attribute is required when creating a volume. string
	VolumeShareable                bool            `json:"volumeShareable"`                          // volumeShareable Identifies whether the storage volume is shared or private. If false, then the volume will be private. If true, then the volume will be shared. This attribute is required when creating a volume. Boolean
	VolumeStoragePoolURI           utils.Nstring   `json:"volumeStoragePoolUri,omitempty"`           // volumeStoragePoolUri The URI of the storage pool associated with this volume attachment's volume. Use GET /rest/server-profiles/available-storage-systems to retrieve the URI of the storage pool associated with a volume. string
	VolumeStorageSystemURI         utils.Nstring   `json:"volumeStorageSystemUri,omitempty"`         // volumeStorageSystemUri The URI of the storage system associated with this volume attachment. Use GET /rest/server-profiles/available-storage-systems to retrieve the URI of the storage system associated with a volume. string Format URI
	VolumeURI                      utils.Nstring   `json:"volumeUri,omitempty"`                      // volumeUri The URI of the storage volume associated with this volume attachment. Use GET /rest/server-profiles/available-storage-systems to retrieve the URIs of available storage volumes. string Format URI
}

VolumeAttachmentV2 The list of storage volume attachments.

type VolumeAttachmentV3 added in v0.8.2

type VolumeAttachmentV3 struct {
	IsBootVolume bool `json:"isBootVolume,omitempty"` // "isBootVolume": true,
}

Jump to

Keyboard shortcuts

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