Documentation ¶
Overview ¶
Package icsp -
Package icsp -
Package icsp -
Package icsp -
Package icsp -
Package icsp ¶
Package icsp -
Package icsp -
Index ¶
- Constants
- type APIVersion
- type Auth
- type Authz
- type BuildPlanCustAttrs
- type BuildPlanHistory
- type BuildPlanItem
- type CPU
- type CategoryAction
- type CustomAttribute
- type CustomServerAttributes
- type CustomizeServer
- type DeploymentJobs
- type DeviceGroup
- type ElementJobStatus
- type FailModeData
- type ICSPClient
- func (c *ICSPClient) ApplyDeploymentJobs(buildplans []string, bpdata *OSDPersonalityDataV2, s Server) (jt *JobTask, err error)
- func (c *ICSPClient) CreateServer(user string, pass string, ip string, port int) error
- func (c *ICSPClient) CustomizeServer(cs CustomizeServer) error
- func (c *ICSPClient) DeleteServer(mid string) (bool, error)
- func (c *ICSPClient) GetAPIVersion() (APIVersion, error)
- func (c *ICSPClient) GetAllBuildPlans() (OSBuildPlan, error)
- func (c *ICSPClient) GetAuthHeaderMap() map[string]string
- func (c *ICSPClient) GetAuthHeaderMapNoVer() map[string]string
- func (c *ICSPClient) GetBuildPlanByName(planName string) (OSDBuildPlan, error)
- func (c *ICSPClient) GetBuildPlanByUri(uri utils.Nstring) (OSDBuildPlan, error)
- func (c *ICSPClient) GetIdleTimeout() (int64, error)
- func (c *ICSPClient) GetJob(u ODSUri) (Job, error)
- func (c *ICSPClient) GetJobs() (JobsList, error)
- func (c *ICSPClient) GetServerByHostName(hostname string) (Server, error)
- func (c *ICSPClient) GetServerByID(mid string) (Server, error)
- func (c *ICSPClient) GetServerByIP(ip string) (Server, error)
- func (c *ICSPClient) GetServerByName(name string) (Server, error)
- func (c *ICSPClient) GetServerBySerialNumber(serial string) (Server, error)
- func (c *ICSPClient) GetServers() (ServerList, error)
- func (c *ICSPClient) IsServerManaged(serial string) (bool, error)
- func (c *ICSPClient) NewICSPClient(user string, password string, domain string, endpoint string, sslverify bool, ...) *ICSPClient
- func (c *ICSPClient) PostApplyDeploymentJobs(jt *JobTask, s Server, properties []string) error
- func (c *ICSPClient) PreApplyDeploymentJobs(s Server, publicinterface Interface) (Server, error)
- func (c *ICSPClient) RefreshLogin() error
- func (c *ICSPClient) RefreshVersion() error
- func (c *ICSPClient) SaveServer(s Server) (o Server, err error)
- func (c *ICSPClient) SessionLogin() (Session, error)
- func (c *ICSPClient) SessionLogout() error
- func (c *ICSPClient) SetIdleTimeout(thetime int64) error
- func (c *ICSPClient) SubmitDeploymentJobs(dj DeploymentJobs) (jt *JobTask, err error)
- func (c *ICSPClient) SubmitNewServer(sc ServerCreate) (jt *JobTask, err error)
- func (c *ICSPClient) UpdatePublicInterfaceAttributes(s Server, publicinterface Interface) (Server, error)
- type Ilo
- type Interface
- type Job
- type JobHistory
- type JobRunning
- type JobServerInclusionStatus
- type JobState
- type JobStatus
- type JobStatusOnServer
- type JobTask
- func (jt *JobTask) GetComplettedStatus() string
- func (jt *JobTask) GetCurrentStatus() error
- func (jt *JobTask) GetLastStatusUpdate() string
- func (jt *JobTask) GetPercentProgress() float64
- func (jt *JobTask) NewJobTask(c *ICSPClient) *JobTask
- func (jt *JobTask) Reset()
- func (jt *JobTask) Wait() error
- type JobsList
- type NetConfig
- func (n *NetConfig) AddAllDHCP(interfaces []Interface, isipv6 bool, ipv6gateway utils.Nstring)
- func (n *NetConfig) GetPersonalityData() *OSDPersonalityDataV2
- func (n *NetConfig) NewNetConfigInterface(enable bool, macaddr string, isdhcp bool, isipv6 bool, ...) NetConfigInterface
- func (n *NetConfig) Save(s Server) (Server, error)
- func (n *NetConfig) SetStaticInterface(iface Interface, ipv4gateway utils.Nstring, ipv6gateway utils.Nstring, ...)
- func (n *NetConfig) ToJSON() (string, error)
- type NetConfigInterface
- type ODSUri
- type OSBuildPlan
- type OSDBuildPlan
- type OSDJobProgress
- type OSDJobResult
- type OSDJobServerInfo
- type OSDNicDataV2
- type OSDPersonalityDataV2
- type OSDPersonalizeServerDataV2
- type Server
- func (s Server) Clone() Server
- func (s Server) GetInterface(slotid int) (Interface, error)
- func (s Server) GetInterfaceFromMac(mac string) (Interface, error)
- func (s Server) GetInterfaces() (interfaces []Interface)
- func (s Server) GetPublicIPV4() (string, error)
- func (s Server) GetPublicInterface() (*Interface, error)
- func (s *Server) GetValueItem(key string, scope string) (int, ValueItem)
- func (s *Server) GetValueItems(key string) (int, []ValueItem)
- func (s Server) ReloadFull(c *ICSPClient) (Server, error)
- func (s *Server) SetCustomAttribute(key string, scope string, value string)
- func (s *Server) SetValueItems(key string, newv ValueItem)
- type ServerCreate
- type ServerList
- type ServerLocationItem
- type Session
- type Stage
- type StorageDevice
- type TimeOut
- type URLEndPoint
- type ValueItem
Constants ¶
const ( // OsdSateOK - The target server is running a production OS with a production version of the agent and is reachable; OsdSateOK osdState = iota // 0 // OsdSateUnReachable - The managed Server is unreachable by the appliance; OsdSateUnReachable // 1 // OsdSateMaintenance - The Server has been booted to maintenance, and a maintenance version of the agent has been registered with the appliance.; OsdSateMaintenance // 2 )
const ( Deactivated opswLifecycle = iota // 0 Managed // 1 ProvisionedFailed // 2 Provisioning // 3 Unprovisioned // 4 PreUnProvisioned // 5 )
Life-cycle value for the managed Server. The following are the valid values for the life-cycle of the Server:
const SplitSep = ","
SplitSep - split seperator
const (
URLEndPointBuildPlan = "/rest/os-deployment-build-plans"
)
URLEndPoint(s) export this constant
const URLEndPointServer = "/rest/os-deployment-servers"
URLEndPoint export this constant
const URLEndPointSession = "/rest/login-sessions"
URLEndPoint export this constant
const URLEndPointValidator = "/rest/authz/validator"
URLEndPoint export this constant
const URLEndPointVersion = "/rest/version"
URLEndPoint export this constant
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 Auth ¶
type Auth struct { UserName string `json:"userName,omitempty"` Password string `json:"password,omitempty"` Domain string `json:"authLoginDomain,omitempty"` }
Auth structure
type BuildPlanCustAttrs ¶
type BuildPlanCustAttrs struct { Attribute string `json:"attribute,omitempty"` // Attribute - Name of the name/value custom attribute pair associated with this OS Build Plan Value string `json:"value,omitempty"` // Value - Value of the name/value custom attribute pair associated with this OS Build Plan }
BuildPlanCustAttrs
type BuildPlanHistory ¶
type BuildPlanHistory struct { Summary string `json:"summary,omitempty"` // summary - A time ordered array of change log entries. An empty array is returned if no entries were found User string `json:"user,omitempty"` // user - User to whom log entries belong Time string `json:"time,omitempty"` // time - Time window for log entries. Default is 90 days }
BuildPlanHistory
type BuildPlanItem ¶
type BuildPlanItem struct { CfgFileDownload bool `json:"cfgFileDownload,omitempty"` // cfgFileDownload - Boolean that indicates whether the current step is used for downloading configuration file or uploading it CfgFileOverwrite bool `json:"cfgFileOverwrite,omitempty"` // cfgFileOverwrite - Flag that indicates whether or not to overwrite the file on the target server if the step type is 'Config File' and it is a download CodeType string `json:"codeType,omitempty"` // codeType - Supported types for scripts: OGFS, Python, Unix, Windows .BAT, Windows VBScript. Supported types for packages: Install ZIP. Supported type for configuration file: Config File ID string `json:"id:omitempty"` // id - System-assigned id of the Step Name string `json:"name,omitempty"` // name - name of step Parameters string `json:"parameters,omitempty"` // parameters - Additional parameters that affect the operations of the Step Type string `json:"type,omitempty"` // type - TYpe of the step URI utils.Nstring `json:"uri,omitempty"` // uri - The canonical URI of the Step }
BuildPlanItem
type CPU ¶
type CPU struct { CacheSize string `json:"cacheSize,omitempty"` // cacheSize CPU's cache size , string Family string `json:"family,omitempty"` // family CPU's family. For example, "x86_64" , string Model string `json:"model,omitempty"` // model CPU's model. For example, "Xeon" , string Slot string `json:"slot,omitempty"` // slot CPU's slot , string Speed string `json:"speed,omitempty"` // speed CPU's speed , string Status string `json:"status,omitempty"` // status The last reported status of the CPU. For example, on-line, off-line , string Stepping string `json:"stepping,omitempty"` // stepping CPU's stepping information , string }
CPU struct
type CategoryAction ¶
type CategoryAction struct { ActionDto string `json:"actionDto,omitempty"` // actionDto - the action name CategoryDto string `json:"categoryDto,omitempty"` // categoryDto - the category name }
CategoryAction ...
type CustomAttribute ¶
type CustomAttribute struct { Key string `json:"key,omitempty"` // key for name value pairs Values []ValueItem `json:"values,omitempty"` }
CustomAttribute struct
type CustomServerAttributes ¶
type CustomServerAttributes struct {
Values map[string]string // Hash of strings for custom attributes
}
CustomServerAttributes setup custom attributes to apply to a server
func (*CustomServerAttributes) Get ¶
func (cs *CustomServerAttributes) Get(key string) string
func (*CustomServerAttributes) New ¶
func (cs *CustomServerAttributes) New() *CustomServerAttributes
func (*CustomServerAttributes) Set ¶
func (cs *CustomServerAttributes) Set(key string, value string)
type CustomizeServer ¶
type CustomizeServer struct { HostName string // provide a hostname to set SerialNumber string // should be the serial number for the server ILoUser string // should be the user name for ilo administration IloPassword string // should be the ilo password to use IloIPAddress string // PXE ip address for ilo IloPort int // port number for ilo server OSBuildPlans []string // name of the OS build plan ServerProperties *CustomServerAttributes // name value pairs for server custom attributes PublicSlotID int // the public interface that will be used to get public ipaddress PublicMAC string // public connection name, overrides PublicSlotID }
CustomizeServer - use customizeserver when working with creating a new server server create if it's missing server apply deployment job
type DeploymentJobs ¶
type DeploymentJobs struct { FailMode string `json:"failMode,omitempty"` // failMode Selects a behavior for handling OS Build Plan failure on a server. By default, when a build plan fails on a server, it will be excluded from running any remaining build plans, and successful servers will continue to run through the series of build plans. This can be changed by setting a different failure mode. OsbpUris []string `json:"osbpUris,omitempty"` // osbpUris An array of OS Build Plan URIs ServerData []OSDPersonalizeServerDataV2 `json:"serverData,omitempty"` // server data StepNo int `json:"stepNo,omitempty"` // stepNo The step number in the OS build plan from which to start execution. integer }
DeploymentJobs is used for creating a new os build plan
func (DeploymentJobs) NewDeploymentJobs ¶
func (dj DeploymentJobs) NewDeploymentJobs(bp []OSDBuildPlan, bpdata *OSDPersonalityDataV2, servers []Server) DeploymentJobs
type DeviceGroup ¶
type DeviceGroup struct { Name string `json:"name,omitempty"` // name Display name for the resource, string REFID int `json:"refID,omitempty"` // refID The unique numerical identifier, integer URI utils.Nstring `json:"uri,omitempty"` // uri The canonical URI of the device group, string }
DeviceGroup struct
type ElementJobStatus ¶
type ElementJobStatus int
ElementJobStatus type
const ( E_STATUS_ERROR ElementJobStatus = 1 + iota E_STATUS_OK E_STATUS_PENDING E_STATUS_WARNING )
func (ElementJobStatus) Equal ¶
func (o ElementJobStatus) Equal(s string) bool
Equal helper for ElementJobStatus
func (ElementJobStatus) String ¶
func (o ElementJobStatus) String() string
String helper for ElementJobStatus
type FailModeData ¶
type FailModeData int
FailModeData stage const
const ( FM_ABORT FailModeData = 1 + iota FM_IGNORE )
type ICSPClient ¶
ICSPClient - wrapper class for icsp api's
func (*ICSPClient) ApplyDeploymentJobs ¶
func (c *ICSPClient) ApplyDeploymentJobs(buildplans []string, bpdata *OSDPersonalityDataV2, s Server) (jt *JobTask, err error)
ApplyDeploymentJobs plan to server
func (*ICSPClient) CreateServer ¶
CreateServer create profile from template
func (*ICSPClient) CustomizeServer ¶
func (c *ICSPClient) CustomizeServer(cs CustomizeServer) error
CustomizeServer - Customize Server
func (*ICSPClient) DeleteServer ¶
func (c *ICSPClient) DeleteServer(mid string) (bool, error)
DeleteServer - deletes a server in icsp appliance instance
func (*ICSPClient) GetAPIVersion ¶
func (c *ICSPClient) GetAPIVersion() (APIVersion, error)
GetAPIVersion - returns the api version for OneView server returns structure APIVersion
func (*ICSPClient) GetAllBuildPlans ¶
func (c *ICSPClient) GetAllBuildPlans() (OSBuildPlan, error)
GetAllBuildPlans - returns all OS build plans returns BuildPlan note: this call is crap slow...API: should include filters/query params
func (*ICSPClient) GetAuthHeaderMap ¶
func (c *ICSPClient) GetAuthHeaderMap() map[string]string
GetAuthHeaderMap Generate an auth Header map ...
func (*ICSPClient) GetAuthHeaderMapNoVer ¶
func (c *ICSPClient) GetAuthHeaderMapNoVer() map[string]string
GetAuthHeaderMapNoVer Generate an auth Header map ... some api endpoints are hiddent, remove api version to get to them
func (*ICSPClient) GetBuildPlanByName ¶
func (c *ICSPClient) GetBuildPlanByName(planName string) (OSDBuildPlan, error)
GetBuildPlanByName - returns a build plan
func (*ICSPClient) GetBuildPlanByUri ¶ added in v0.8.2
func (c *ICSPClient) GetBuildPlanByUri(uri utils.Nstring) (OSDBuildPlan, error)
func (*ICSPClient) GetIdleTimeout ¶
func (c *ICSPClient) GetIdleTimeout() (int64, error)
GetIdleTimeout gets the current timeout for the logged on session returns timeout in milliseconds, or error when it fails
func (*ICSPClient) GetJob ¶
func (c *ICSPClient) GetJob(u ODSUri) (Job, error)
GetJob get a job with the ODSUri
func (*ICSPClient) GetJobs ¶
func (c *ICSPClient) GetJobs() (JobsList, error)
GetJobs get a jobs from icsp
func (*ICSPClient) GetServerByHostName ¶
func (c *ICSPClient) GetServerByHostName(hostname string) (Server, error)
GetServerByHostName use the server hostname automatically assigned to get the server
func (*ICSPClient) GetServerByID ¶
func (c *ICSPClient) GetServerByID(mid string) (Server, error)
GetServerByID - get a server from icsp - faster then getting all servers and ranging over them
func (*ICSPClient) GetServerByIP ¶ added in v0.8.2
func (c *ICSPClient) GetServerByIP(ip string) (Server, error)
GetServerByIP use the server ip to get the server
func (*ICSPClient) GetServerByName ¶
func (c *ICSPClient) GetServerByName(name string) (Server, error)
GetServerByName use the server name to get the server type
func (*ICSPClient) GetServerBySerialNumber ¶
func (c *ICSPClient) GetServerBySerialNumber(serial string) (Server, error)
GetServerBySerialNumber use the serial number to find the server
func (*ICSPClient) GetServers ¶
func (c *ICSPClient) GetServers() (ServerList, error)
GetServers get a servers from icsp
func (*ICSPClient) IsServerManaged ¶
func (c *ICSPClient) IsServerManaged(serial string) (bool, error)
IsServerManaged - returns true if server is managed
func (*ICSPClient) NewICSPClient ¶
func (c *ICSPClient) NewICSPClient(user string, password string, domain string, endpoint string, sslverify bool, apiversion int) *ICSPClient
new Client
func (*ICSPClient) PostApplyDeploymentJobs ¶
func (c *ICSPClient) PostApplyDeploymentJobs(jt *JobTask, s Server, properties []string) error
PostApplyDeploymentJobs - post deployment task to update custom attributes with results of a job task that was executed on the server
func (*ICSPClient) PreApplyDeploymentJobs ¶
func (c *ICSPClient) PreApplyDeploymentJobs(s Server, publicinterface Interface) (Server, error)
PreApplyDeploymentJobs - update public interface information with what is actively the public interface
func (*ICSPClient) RefreshLogin ¶
func (c *ICSPClient) RefreshLogin() error
RefreshLogin Refresh login authkey Should make sure we have a valid APIKey
func (*ICSPClient) RefreshVersion ¶
func (c *ICSPClient) RefreshVersion() error
RefreshVersion - refresh the max api Version for the client
func (*ICSPClient) SaveServer ¶
func (c *ICSPClient) SaveServer(s Server) (o Server, err error)
SaveServer save Server, submit new profile template
func (*ICSPClient) SessionLogin ¶
func (c *ICSPClient) SessionLogin() (Session, error)
SessionLogin to OneView and get a session ID returns Session structure
func (*ICSPClient) SessionLogout ¶
func (c *ICSPClient) SessionLogout() error
SessionLogout Logout to OneView and get a session ID returns Session structure
func (*ICSPClient) SetIdleTimeout ¶
func (c *ICSPClient) SetIdleTimeout(thetime int64) error
SetIdleTimeout sets the current timeout
func (*ICSPClient) SubmitDeploymentJobs ¶
func (c *ICSPClient) SubmitDeploymentJobs(dj DeploymentJobs) (jt *JobTask, err error)
SubmitDeploymentJobs api call to deployment jobs
func (*ICSPClient) SubmitNewServer ¶
func (c *ICSPClient) SubmitNewServer(sc ServerCreate) (jt *JobTask, err error)
SubmitNewServer submit new profile template
func (*ICSPClient) UpdatePublicInterfaceAttributes ¶
func (c *ICSPClient) UpdatePublicInterfaceAttributes(s Server, publicinterface Interface) (Server, error)
UpdatePublicInterfaceAttributes - updates the server attributes with public interface
type Ilo ¶
type Ilo struct { Category string `json:"category,omitempty"` // category The category is used to help identify the kind of resource, string Created string `json:"created,omitempty"` // created Date and time when iLO was first discovered by Insight Control Server Provisioning, timestamp Description string `json:"description,omitempty"` // description General description of the iLO, string ETAG string `json:"eTag,omitempty"` // eTag Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource, string HealthStatus string `json:"healthStatus,omitempty"` // healthStatus Overall health status of the resource, string IPAddress string `json:"ipAddress,omitempty"` // ipAddress The IP address of the server’s iLO, string Modified string `json:"modified,omitempty"` // modified Date and time when the resource was last modified, timestamp Name string `json:"name,omitempty"` // name For servers added via iLO and booted to Intelligent Provisioning service OS, host name is determined by Intelligent Provisioning. For servers added via iLO and PXE booted to LinuxPE host name is "localhost". For servers added via iLO and PXE booted to WinPE host name is a random hostname "minint-xxx", string Passowrd string `json:"password,omitempty"` // password ILO's password, string Port int `json:"port,omitempty"` // port The socket on which the management service listens, integer ResourceStatus string `json:"resourceStatus,omitempty"` // resourceStatus Current state of the resource, string Server string `json:"server,omitempty"` // server The canonical URI of the hosting/managed server, string State string `json:"state,omitempty"` // state Current state of the resource, string Status string `json:"status,omitempty"` // status Overall health status of the resource, string Type string `json:"type,omitempty"` // type Uniquely identifies the type of the JSON object(readonly), string URI utils.Nstring `json:"uri,omitempty"` // uri Unique numerical iLO identifier, string Username string `json:"username,omitempty"` // username Username used to log in to iLO, string }
Ilo struct
type Interface ¶
type Interface struct { DHCPEnabled bool `json:"dhcpEnabled,omitempty"` // dhcpEnabled Flag that indicates whether the interface IP address is configured using DHCP, Boolean Duplex string `json:"duplex,omitempty"` // duplex Reported duplex of the interface, string IPV4Addr string `json:"ipv4Addr,omitempty"` // ipv4Addr IPv4 address of the interface, string IPV6Addr string `json:"ipv6Addr,omitempty"` // ipv6Addr IPv6 address of the interface, string MACAddr string `json:"macAddr,omitempty"` // macAddr Interface hardware network address, string Netmask string `json:"netmask,omitempty"` // netmask Netmask in dotted decimal notation, string Slot string `json:"slot,omitempty"` // slot Interface identity reported by the Server's operating system, string Speed string `json:"speed,omitempty"` // speed Interface speed in megabits, string Type string `json:"type,omitempty"` // type Interface type. For example, ETHERNET, string }
Interface struct
type Job ¶
type Job struct { Category string `json:"category,omitempty"` // category The category is used to help identify the kind of resource, string Created string `json:"created,omitempty"` // created Date and time when the Job was created, timestamp Description string `json:"description,omitempty"` // description Text description of the type of the Job, string ETAG string `json:"eTag,omitempty"` // eTag Entity tag/version ID of the resource , string JobDeviceGroups []string `json:"jobDeviceGroups,omitempty"` // jobDeviceGroups An array of device groups associated with this Job , array of string JobProgress []OSDJobProgress `json:"jobProgress,omitempty"` // jobProgress An array of Job progress. A single Job can contain progress for multiple servers. Job progress is only available when the job is running. For a single Job this is the number of steps competed for this Job on the target server. When a set of jobs is run together user will see one Job listed. The progress for this Job is the number of jobs that have been completed JobResult []OSDJobResult `json:"jobResult,omitempty"` // jobResult An array of Job results. A single Job can contain results for multiple servers. Job result is only available once the Job completes. For a single Job this provides total steps completed, errors that happened during Job execution and logs JobServerInfo []OSDJobServerInfo `json:"jobServerInfo,omitempty"` // jobServerInfo An array of servers and their details associated with this Job JobUserName string `json:"jobUserName,omitempty"` // jobUserName The name of the user under whose authority this Job was invoked string Modified string `json:"modified,omitempty"` // modified Date and time when the Job was last modified timestamp Name string `json:"name,omitempty"` // name Name of the job string NameOfJobType string `json:"nameOfJobType,omitempty"` // nameOfJobType The name of the type of the Job. In some cases has the same value as the field "name" string Running string `json:"running,omitempty"` // running Indicates whether the Job is running State string `json:"state,omitempty"` // JobState state A constant to help explain what state a Job is in. Possible values: Status string `json:"status,omitempty"` // status Overall status of the Job. Values: string Type string `json:"type,omitempty"` // type Uniquely identifies the type of the JSON object TypeOfJobType string `json:"typeOfJobType,omitempty"` // typeOfJobType A constant that indicates what type of Job it is: URI utils.Nstring `json:"uri,omitempty"` // uri The canonical URI of the resource string URIOfJobType utils.Nstring `json:"uriOfJobType,omitempty"` // uriOfJobType The canonical URI of the OS Build Plan string }
Job type
type JobHistory ¶
type JobHistory struct { Description string `json:"description,omitempty"` // description Description of the job, string EndDate string `json:"endDate,omitempty"` // endDate Date and time when job was finished, string Initiator string `json:"initiator,omitempty"` // initiator Name of the user who invoked the job on the Server, string Name string `json:"name,omitempty"` // name Name of the job, string NameOfJobType string `json:"nameOfJobType,omitempty"` // nameOfJobType Name of the OS Build Plan that was invoked on the Server, string StartDate string `json:"startDate,omitempty"` // startDate Date and time when job was invoked, string URI utils.Nstring `json:"uri,omitempty"` // uri The canonical URI of the job, string URIOfJobType utils.Nstring `json:"uriOfJobType,omitempty"` // uriOfJobType The canonical URI of the OS Build Plan, string }
JobHistory job history type
type JobRunning ¶
type JobRunning int
JobRunning running state
const ( JOB_RUNNING_YES JobRunning = 1 + iota JOB_RUNNING_NO )
type JobServerInclusionStatus ¶
type JobServerInclusionStatus int
JobServerInclusionStatus type
const ( ADDED_INCLUSION_STATUS JobServerInclusionStatus = 1 + iota INCLUDED_INCLUSION_STATUS REMOVED_INCLUSION_STATUS )
func (JobServerInclusionStatus) Equal ¶
func (o JobServerInclusionStatus) Equal(s string) bool
Equal helper for JobServerInclusionStatus
func (JobServerInclusionStatus) String ¶
func (o JobServerInclusionStatus) String() string
String helper for JobServerInclusionStatus
type JobStatusOnServer ¶
type JobStatusOnServer int
JobStatusOnServer Status of the Job on a server
const ( J_CANCELLED_STATUS JobStatusOnServer = 1 + iota J_FAILURE_STATUS J_SKIPPED_STATUS J_SUCCESS_STATUS J_UNKNOWN_STATUS J_WARNING_STATUS )
func (JobStatusOnServer) Equal ¶
func (o JobStatusOnServer) Equal(s string) bool
Equal helper for JobStatusOnServer
func (JobStatusOnServer) String ¶
func (o JobStatusOnServer) String() string
String helper for JobStatusOnServer
type JobTask ¶
type JobTask struct { Job // copy of the original job JobURI ODSUri // link to the job IsDone bool // when true, task are done Timeout int // time before timeout on Executor WaitTime time.Duration // time between task checks Client *ICSPClient // reference to a client }
JobTask holds a Job ODSUri and task status
func (*JobTask) GetComplettedStatus ¶
GetComplettedStatus get the message from JobResult
func (*JobTask) GetCurrentStatus ¶
GetCurrentStatus - Get the current status
func (*JobTask) GetLastStatusUpdate ¶
GetLastStatusUpdate get the last status from JobProgress
func (*JobTask) GetPercentProgress ¶
GetPercentProgress get the progress as a percentage
func (*JobTask) NewJobTask ¶
func (jt *JobTask) NewJobTask(c *ICSPClient) *JobTask
NewJobTask create a new job task
type JobsList ¶
type JobsList struct { Category string `json:"category,omitempty"` // Resource category used for authorizations and resource type groupings Count int `json:"count,omitempty"` // The actual number of resources returned in the specified page Created string `json:"created,omitempty"` // timestamp for when resource was created ETAG string `json:"eTag,omitempty"` // entity tag version id Members []Job `json:"members,omitempty"` // array of Server types Modified string `json:"modified,omitempty"` // timestamp resource last modified NextPageURI utils.Nstring `json:"nextPageUri,omitempty"` // Next page resources PrevPageURI utils.Nstring `json:"prevPageUri,omitempty"` // Previous page resources Start int `json:"start,omitempty"` // starting row of resource for current page Total int `json:"total,omitempty"` // total number of pages Type string `json:"type,omitempty"` // type of paging URI utils.Nstring `json:"uri,omitempty"` // uri to page }
JobsList List of jobs
type NetConfig ¶
type NetConfig struct { Hostname string `json:"hostname,omitempty"` // host1, optional hostname option Workgroup string `json:"workgroup,omitempty"` // ams, optional WINS workgroup for windows only Domain string `json:"domain,omitempty"` // corp.net, optional This is a period (.) separated string and is usually the right side part of a fully qualified host name. WINSList utils.Nstring `json:"-"` // ignore marshal/unmarshal calls on this field, comma seperated list of wins servers DNSNameList utils.Nstring `json:"-"` // ignore marshal/unmarshal calls on this field, comma seperated list of dns servers DNSSearchList utils.Nstring `json:"-"` // ignore marshal/unmarshal calls on this field, comma seperated list of dns search servers Interfaces []NetConfigInterface `json:"interfaces,omitempty"` // list of network interfaces to customize }
NetConfig - create network customization objects that can be serialized and deserialized for configuration to run when executing to be saved on the server as hpsa_netconfig: Proliant SW - Post Install Network Personalization build plans
func NewNetConfig ¶
func NewNetConfig( hostname utils.Nstring, workgroup utils.Nstring, domain utils.Nstring, winslist utils.Nstring, dnsnamelist utils.Nstring, dnssearchlist utils.Nstring) NetConfig
NewNetConfig - create a new netconfig object without interfaces
func (*NetConfig) AddAllDHCP ¶
AddAllDHCP - make all the netconfig interfaces setup for dhcp
func (*NetConfig) GetPersonalityData ¶
func (n *NetConfig) GetPersonalityData() *OSDPersonalityDataV2
GetPersonalityData - generate a PersonalityData *OSDPersonalityDataV2 from NetConfig
func (*NetConfig) NewNetConfigInterface ¶
func (n *NetConfig) NewNetConfigInterface( enable bool, macaddr string, isdhcp bool, isipv6 bool, ipv6gateway utils.Nstring, ipv4gateway utils.Nstring, staticnets utils.Nstring, name utils.Nstring, wins utils.Nstring, dnsservers utils.Nstring, dnssearch utils.Nstring, vlandid int) NetConfigInterface
NewNetConfigInterface - creates an interface object for NetConfig
type NetConfigInterface ¶
type NetConfigInterface struct { Name string `json:"-"` // ignore marshal/unmarshal, optional name of the nic for the interface, also known as slot or interface name VlanID int `json:"vlanid"` // 0> vland id, automatically generated WINSServers []string `json:"winsServers,omitempty"` // optional [8.8.8.8, 8.8.4.4] optional list of wins servers to configure DNSServers []string `json:"dnsServers,omitempty"` // optional [8.8.8.8, 8.8.4.4] optional list of dns servers to configure DNSSearch []string `json:"dnsSearch,omitempty"` // optional [corp.net, my.corp.net] A list of period (.) separated character strings separated by spaces or commas. MACAddr string `json:"macAddress,omitempty"` // mac address to configure for the interface Enabled bool `json:"enabled"` // boolean flag to enable network configuration or leave as is. DHCPv4 bool `json:"dhcpv4"` // boolean flag when set to true no other options are needed, will use dhcp to configure IPv6Autoconfig bool `json:"ipv6Autoconfig"` // boolean to automatically configure ipv6 IPv6Gateway string `json:"ipv6gateway,omitempty"` // when ipv6Autoconfig is true, gateway for ipv6 IPv4Gateway string `json:"ipv4gateway,omitempty"` // when dhcpv4 is false , assume ipv4 config, specify the gateway StaticNetworks []string `json:"staticNetworks,omitempty"` // static ips to assign for the server, ie; 172.0.0.2/255.255.255.0 }
NetConfigInterface - part of NetCustomization type , describes interface configuration
type OSBuildPlan ¶
type OSBuildPlan struct { Category string `json:"category,omitempty"` //Category - Resource category used for authorizations and resource type groupings Count int `json:"count,omiitempty"` // Count - The actual number of resources returned in the specified page Created string `json:"created,omitempty"` // Created - Date and time when the resource was created ETag string `json:"eTag,omitempty"` // ETag - Entity tag/version ID of the resource, the same value that is returned in the ETag header on a GET of the resource Members []OSDBuildPlan `json:"members,omitempty"` // Members - array of BuildPlans Modified string `json:"modified,omitempty"` // Modified - NextPageURI utils.Nstring `json:"nextPageUri,omitempty"` // NextPageURI - URI pointing to the page of resources following the list of resources contained in the specified collection PrevPageURI utils.Nstring `json:"prevPageURI,omitempty"` // PrevPageURI - URI pointing to the page of resources preceding the list of resources contained in the specified collection Start int `json:"start,omitempty"` // Start - The row or record number of the first resource returned in the specified page Total int `json:"total,omitempty"` // Total - The total number of resources that would be returned from the query (including any filters), without pagination or enforced resource limits URI utils.Nstring `json:"uri,omitempty"` // URI - Type string `json:"type,omitempty"` // Type - type of paging }
OSBuildPlan
type OSDBuildPlan ¶
type OSDBuildPlan struct { Arch string `json:"arch,omitempty"` BuildPlanHistory []BuildPlanHistory `json:"buildPlanHistory,omitempty"` // buildPlanHistory array BuildPlanStepType string `json:"buildPlanStepType,omitempty"` IsCustomerContent bool `json:"isCustomerContent,omitempty"` OS string `json:"os,omitempty"` BuildPlanCustAttrs []BuildPlanCustAttrs `json:"buildPlanCustAttrs,omitempty"` BuildPlanItems []BuildPlanItem `json:"buildPlanItems,omitempty"` ModifiedBy string `json:"modifiedBy,omitempty"` CreatedBy string `json:"createdBy,omitempty"` LifeCycle string `json:"lifeCycle,omitstring"` Description string `json:"description,omitempty"` Status string `json:"status,omitempty"` Name string `json:"name,omitempty"` ETAG string `json:"eTag,omitempty"` // eTag Entity tag/version ID of the resource Modified string `json:"modified,omitempty"` Created string `json:"created,omitempty"` URI utils.Nstring `json:"uri,omitempty"` // uri The canonical URI of the buildplan }
OSDBuildPlan struct
type OSDJobProgress ¶
type OSDJobProgress struct { CurrentStepName string `json:"currentStepName,omitempty"` // currentStepName The name of the step that this Job is currently on , string ElementJobStatus string `json:"elementJobStatus,omitempty"` // elementJobStatus The status of an individual server within the Job, string JobCompletedSteps int `json:"jobCompletedSteps,omitempty"` // jobCompletedSteps Total number of completed steps of the Job, integer JobServerURI utils.Nstring `json:"jobServerUri,omitempty"` // jobServerUri The canonical URI of a server within the Job, string JobTotalSteps int `json:"jobTotalSteps,omitempty"` // jobTotalSteps Total number of steps that the Job has, integer }
OSDJobProgress struct
type OSDJobResult ¶
type OSDJobResult struct { JobMessage string `json:"jobMessage,omitempty"` // jobMessage Job result message , string JobResultCompletedSteps int `json:"jobResultCompletedSteps,omitempty"` // jobResultCompletedSteps Total number of completed steps , integer JobResultErrorDetails string `json:"jobResultErrorDetails,omitempty"` // jobResultErrorDetails Error details for the Job , string JobResultLogDetails string `json:"jobResultLogDetails,omitempty"` // jobResultLogDetails Log details for the Job , string JobResultTotalSteps int `json:"jobResultTotalSteps,omitempty"` // jobResultTotalSteps Total number of steps for the Job , integer JobServerURI utils.Nstring `json:"jobServerUri,omitempty"` // jobServerUri The canonical URI of a server within the Job , string }
OSDJobResult struct
type OSDJobServerInfo ¶
type OSDJobServerInfo struct { DeviceType string `json:"deviceType,omitempty"` // deviceType The only supported type: os-deployment-servers, string JobServerInclusionStatus string `json:"jobServerInclusionStatus,omitempty"` // jobServerInclusionStatus Information about a server that was affected by a job. Each server has information about how it was associated with the job (inclusion status) and the status of the job on that server (status). Inclusion values: string JobServerURI utils.Nstring `json:"jobServerUri,omitempty"` // jobServerUri The canonical URI of a server within the Job, string JobStatusOnServer string `json:"jobStatusOnServer,omitempty"` // jobStatusOnServer Status of the Job on a server where this Job was executed. Status values: string ServerName string `json:"serverName,omitempty"` // serverName Name of the server string }
OSDJobServerInfo struct
type OSDNicDataV2 ¶
type OSDNicDataV2 struct { DHCPv4 bool `json:"dhcpv4,omitempty"` // interfaces[]dhcpv4 Boolean DNSSearch []string `json:"dnsSearch,omitempty"` // interfaces[]dnsSearch array of string DNSServers []string `json:"dnsServers,omitempty"` // interfaces[]dnsServers array of string Enabled bool `json:"enabled,omitempty"` // interfaces[]enabled Boolean IPv4Gateway string `json:"ipv4gateway,omitempty"` // interfaces[]ipv4gateway string IPv6Autoconfig bool `json:"ipv6Autoconfig,omitempty"` // interfaces[]ipv6Autoconfig Boolean IPv6Gateway string `json:"ipv6gateway,omitempty"` // interfaces[]ipv6gateway string MACAddress string `json:"macAddress,omitempty"` // interfaces[]macAddress string StaticNetworks []string `json:"staticNetworks,omitempty"` // interfaces[]staticNetworks array of string VLanID int `json:"vlanid,omitempty"` // interfaces[]vlanid integer WinsServers []string `json:"winsServers,omitempty"` // interfaces[]winsServers array of string }
OSDNicDataV2 network interface
type OSDPersonalityDataV2 ¶
type OSDPersonalityDataV2 struct { Domain string `json:"domain,omitempty"` // domain string HostName string `json:"hostname,omitempty"` // hostname string Interfaces []OSDNicDataV2 `json:"interfaces,omitempty"` // interfaces array of OSDNicDataV2 VirtualInterfaces []OSDNicDataV2 `json:"virtualInterfaces,omitempty"` // virtualInterfaces array of OSDNicDataV2 Workgroup string `json:"workgroup,omitempty"` // workgroup string }
OSDPersonalityDataV2 personality data
type OSDPersonalizeServerDataV2 ¶
type OSDPersonalizeServerDataV2 struct { PersonalityData *OSDPersonalityDataV2 `json:"personalityData,omitempty"` ServerURI string `json:"serverUri,omitempty"` // serverUri string SkipReboot bool `json:"skipReboot,omitempty"` // skipReboot Boolean }
OSDPersonalizeServerDataV2 server data
type Server ¶
type Server struct { Architecture string `json:"architecture,omitempty"` // architecture Server's architecture, string Category string `json:"category,omitempty"` // category The category is used to help identify the kind of resource, string Cpus []CPU `json:"cpus,omitempty"` // array of CPU's Created string `json:"created,omitempty"` // created Date and time when the Server was discovered, timestamp CustomAttributes []CustomAttribute `json:"customAttributes,omitempty"` // array of custom attributes DefaultGateway string `json:"defaultGateway,omitempty"` // defaultGateway Gateway for this Server, string Description string `json:"description,omitempty"` // description Brief description of the Server, string DeviceGroups []DeviceGroup `json:"deviceGroups,omitempty"` // deviceGroups An array of device groups associated with the Server DiscoveredDate string `json:"discoveredDate,omitempty"` // discoveredDate Date and time when the Server was discovered. Same as created date ETAG string `json:"eTag,omitempty"` // eTag Entity tag/version ID of the resource Facility string `json:"facility,omitempty"` // facility A facility represents the collection of servers. A facility can be all or part of a data center, Server room, or computer lab. Facilities are used as security boundaries with user groups HardwareModel string `json:"hardwareModel,omitempty"` // hardwareModel The model name of the target server HostName string `json:"hostName,omitempty"` // hostName The name of the server as reported by the server ILO *Ilo `json:"ilo,omitempty"` // information on ilo Interfaces []Interface `json:"interfaces,omitempty"` // list of interfaces JobsHistory []JobHistory `json:"jobsHistory,omitempty"` // array of previous run jobs LastScannedDate string `json:"lastScannedDate,omitempty"` // lastScannedDate Date and time when the Server was detected last , string Locale string `json:"locale,omitempty"` // locale Server's configured locale , string LoopbackIP string `json:"loopbackIP,omitempty"` // loopbackIP Server's loopback IP address in dotted decimal format, string ManagementIP string `json:"managementIP,omitempty"` // managementIP Server's management IP address in dotted decimal format, string Manufacturer string `json:"manufacturer,omitempty"` // manufacturer Manufacturer as reported by the Server , string MID string `json:"mid,omitempty"` // mid A unique ID assigned to the Server by Server Automation, string Modified string `json:"modified,omitempty"` // modified Date and time when the Server was last modified , timestamp Name string `json:"name,omitempty"` // name The display name of the server. This is what shows on the left hand side of the UI. It is not the same as the host name. , string NetBios string `json:"netBios,omitempty"` // netBios Server's Net BIOS name, string OperatingSystem string `json:"operatingSystem,omitempty"` // operatingSystem Operating system installed on the Server, string OperatingSystemVersion string `json:"operatingSystemVersion,omitempty"` // operatingSystemVersion Version of the operating system installed on the Server, string OpswLifecycle string `json:"opswLifecycle,omitempty"` // Use type OpswLifecycle OSFlavor string `json:"osFlavor,omitempty"` // osFlavor Additional information about an operating system flavor, string OSSPVersion string `json:"osSPVersion,omitempty"` // osSPVersion Windows Service Pack version info, string PeerIP string `json:"peerIP,omitempty"` // peerIP Server's peer IP address, string RAM string `json:"ram,omitempty"` // ram Amount of free memory on the Server, string Reporting bool `json:"reporting,omitempty"` // reporting Flag that indicates if the client on the Server is reporting to the core, Boolean Running string `json:"running,omitempty"` // running Flag that indicates whether provisioning is performed on the Server, string SerialNumber string `json:"serialNumber,omitempty"` // serialNumber The serial number assigned to the Server, string ServerLocation *ServerLocationItem `json:"serverLocation,omitempty"` // serverLocation The Server location information such as rack and enclosure etc Stage string `json:"stage,omitempty"` // stage type //stage When a managed Server is rolled out into production it typically passes to various stages of deployment.The following are the valid values for the stages of the Server: State string `json:"state,omitempty"` // state Indicates the state of the agent on the target server. The following are the valid values for the state: Status string `json:"status,omitempty"` // status Unified status of the target Server. Supported values: StorageDevices []StorageDevice `json:"storageDevices,omitempty"` // storage devices on the server Swap string `json:"swap,omitempty"` // swap Amount of swap space on the Server , string Type string `json:"type,omitempty"` // type Uniquely identifies the type of the JSON object , string (readonly) URI utils.Nstring `json:"uri,omitempty"` // uri The canonical URI of the Server , string UUID string `json:"uuid,omitempty"` // uuid Server's UUID , string }
Server type
func (Server) GetInterface ¶
GetInterface get the interface from slot location
func (Server) GetInterfaceFromMac ¶
GetInterfaceFromMac get the server interface for mac address
func (Server) GetInterfaces ¶
GetInterfaces get a list of interfaces that have an ip address assigned usually called durring provisioning, and before we apply an os build plan
func (Server) GetPublicIPV4 ¶
GetPublicIPV4 returns the public ip interface
usually called after an os build plan is applied
func (Server) GetPublicInterface ¶
GetPublicInterface - get public interface from public_interface for server
func (*Server) GetValueItem ¶
GetValueItem - gets a ValueItem from custom attribute
func (*Server) GetValueItems ¶
GetValueItems - gets a customattribute value item by key
func (Server) ReloadFull ¶
func (s Server) ReloadFull(c *ICSPClient) (Server, error)
ReloadFull GetServers() only returns a partial object, reload it to get everything
func (*Server) SetCustomAttribute ¶
SetCustomAttribute set a custom attribute for server
func (*Server) SetValueItems ¶
SetValueItems object
type ServerCreate ¶
type ServerCreate struct { Type string `json:"type,omitempty"` // OSDIlo IPAddress string `json:"ipAddress,omitempty"` // PXE managed ip address Port int `json:"port,omitempty"` // port number to use UserName string `json:"username,omitempty"` // iLo username Password string `json:"password,omitempty"` // iLO password }
ServerCreate structure for create server
func (ServerCreate) NewServerCreate ¶
func (sc ServerCreate) NewServerCreate(user string, pass string, ip string, port int) ServerCreate
NewServerCreate make a new servercreate object
type ServerList ¶
type ServerList struct { Category string `json:"category,omitempty"` // Resource category used for authorizations and resource type groupings Count int `json:"count,omitempty"` // The actual number of resources returned in the specified page Created string `json:"created,omitempty"` // timestamp for when resource was created ETAG string `json:"eTag,omitempty"` // entity tag version id Members []Server `json:"members,omitempty"` // array of Server types Modified string `json:"modified,omitempty"` // timestamp resource last modified NextPageURI utils.Nstring `json:"nextPageUri,omitempty"` // Next page resources PrevPageURI utils.Nstring `json:"prevPageUri,omitempty"` // Previous page resources Start int `json:"start,omitempty"` // starting row of resource for current page Total int `json:"total,omitempty"` // total number of pages Type string `json:"type,omitempty"` // type of paging URI utils.Nstring `json:"uri,omitempty"` // uri to page }
ServerList List of Servers
type ServerLocationItem ¶
type ServerLocationItem struct { Bay string `json:"bay,omitempty"` // bay Slot number in a rack where the Server is located string Enclosure string `json:"enclosure,omitempty"` // enclosure Name of an enclosure where the Server is physically located string Rack string `json:"rack,omitempty"` // rack Name of a rack where the Server is physically located string }
ServerLocationItem server location type
type StorageDevice ¶
type StorageDevice struct { Capacity int `json:"capacity,omitempty"` // capacity Capacity of the storage in megabytes integer DeviceName string `json:"deviceName,omitempty"` // deviceName Device name, such as "C:" for Windows or "sda" for Linux string MediaType string `json:"mediaType,omitempty"` // mediaType Media type, such as "CDROM", "SCSI DISK" and etc. string Model string `json:"model,omitempty"` // model Model of the device string Vendor string `json:"vendor,omitempty"` // vendor Manufacturer of the device string }
StorageDevice storage device type