Documentation ¶
Index ¶
- type APIClient
- func (c *APIClient) Delete(url string) (*http.Response, error)
- func (c *APIClient) Get(url string) (*http.Response, error)
- func (c *APIClient) GetSession() (*Session, error)
- func (c *APIClient) Logout()
- func (c *APIClient) Patch(url string, payload interface{}) (*http.Response, error)
- func (c *APIClient) Post(url string, payload interface{}) (*http.Response, error)
- func (c *APIClient) Put(url string, payload interface{}) (*http.Response, error)
- type ClientConfig
- type Expand
- type ProtocolFeaturesSupported
- type Service
- func (serviceroot *Service) AccountService() (*redfish.AccountService, error)
- func (serviceroot *Service) Chassis() ([]*redfish.Chassis, error)
- func (serviceroot *Service) CompositionService() (*redfish.CompositionService, error)
- func (serviceroot *Service) CreateSession(username string, password string) (*redfish.AuthToken, error)
- func (serviceroot *Service) DeleteSession(url string) error
- func (serviceroot *Service) EventService() (*redfish.EventService, error)
- func (serviceroot *Service) Managers() ([]*redfish.Manager, error)
- func (serviceroot *Service) Sessions() ([]*redfish.Session, error)
- func (serviceroot *Service) StorageServices() ([]*swordfish.StorageService, error)
- func (serviceroot *Service) StorageSystems() ([]*swordfish.StorageSystem, error)
- func (serviceroot *Service) Systems() ([]*redfish.ComputerSystem, error)
- func (serviceroot *Service) Tasks() ([]*redfish.Task, error)
- func (serviceroot *Service) UnmarshalJSON(b []byte) error
- func (serviceroot *Service) UpdateService() (*redfish.UpdateService, error)
- type Session
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIClient ¶
type APIClient struct { // HTTPClient is for direct http actions HTTPClient *http.Client // Service is the ServiceRoot of this Redfish instance Service *Service // contains filtered or unexported fields }
APIClient represents a connection to a Redfish/Swordfish enabled service or device.
func Connect ¶
func Connect(config ClientConfig) (c *APIClient, err error)
Connect creates a new client connection to a Redfish service.
func ConnectDefault ¶
ConnectDefault creates an unauthenticated connection to a Redfish service.
func (*APIClient) GetSession ¶ added in v0.6.0
GetSession retrieves the session data from an initialized APIClient. An error is returned if the client is not authenticated.
func (*APIClient) Logout ¶
func (c *APIClient) Logout()
Logout will delete any active session. Useful to defer logout when creating a new connection.
type ClientConfig ¶
type ClientConfig struct { // Endpoint is the URL of the redfish service Endpoint string // Username is the optional user name to authenticate with. Username string // Password is the password to use for authentication. Password string // Session is an optional session ID+token obtained from a previous session // If this is set, it is preferred over Username and Password Session *Session // Insecure controls whether to enforce SSL certificate validity. Insecure bool // Controls TLS handshake timeout TLSHandshakeTimeout int // HTTPClient is the optional client to connect with. HTTPClient *http.Client // DumpWriter is an optional io.Writer to receive dumps of HTTP // requests and responses. DumpWriter io.Writer // BasicAuth tells the APIClient if basic auth should be used (true) or token based auth must be used (false) BasicAuth bool }
ClientConfig holds the settings for establishing a connection.
type Expand ¶
type Expand struct { // ExpandAll shall be a boolean indicating whether this service supports the // use of asterisk (expand all entries) as a value for the $expand query // parameter as described by the specification. ExpandAll bool // Levels shall be a boolean indicating whether this service supports the // use of $levels as a value for the $expand query parameter as described by // the specification. Levels bool // Links shall be a boolean indicating whether this service supports the use // of tilde (expand only entries in the Links section) as a value for the // $expand query parameter as described by the specification. Links bool // MaxLevels shall be the maximum value of the $levels qualifier supported // by the service and shall only be included if the value of the Levels // property is true. MaxLevels int // NoLinks shall be a boolean indicating whether this service supports the // use of period (expand only entries not in the Links section) as a value // for the $expand query parameter as described by the specification. NoLinks bool }
Expand shall contain information about the support of the $expand query parameter by the service.
type ProtocolFeaturesSupported ¶
type ProtocolFeaturesSupported struct { // ExcerptQuery shall be a boolean indicating whether this service supports // the use of the 'excerpt' query parameter as described by the // specification. ExcerptQuery bool // ExpandQuery shall contain information about the support of the $expand // query parameter by the service. ExpandQuery Expand // FilterQuery shall be a boolean indicating whether this service supports // the use of the $filter query parameter as described by the specification. FilterQuery bool // OnlyMemberQuery shall be a boolean indicating whether this service // supports the use of the 'only' query parameter as described by the // specification. OnlyMemberQuery bool // SelectQuery shall be a boolean indicating whether this service supports // the use of the $select query parameter as described by the specification. SelectQuery bool }
ProtocolFeaturesSupported contains information about protocol features supported by the service.
type Service ¶
type Service struct { common.Entity // ODataContext is the odata context. ODataContext string `json:"@odata.context"` // ODataID is the odata identifier. ODataID string `json:"@odata.id"` // ODataType is the odata type. ODataType string `json:"@odata.type"` // Description provides a description of this resource. Description string // Product shall include the name of the product represented by this Redfish // service. Product string // ProtocolFeaturesSupported contains information about protocol features // supported by the service. ProtocolFeaturesSupported ProtocolFeaturesSupported // RedfishVersion shall represent the version of the Redfish service. The // format of this string shall be of the format // majorversion.minorversion.errata in compliance with Protocol Version // section of the Redfish specification. RedfishVersion string // UUID shall be an exact match of the UUID value returned in a 200OK from // an SSDP M-SEARCH request during discovery. RFC4122 describes methods that // can be used to create a UUID value. The value should be considered to be // opaque. Client software should only treat the overall value as a // universally unique identifier and should not interpret any sub-fields // within the UUID. UUID string // Vendor shall include the name of the manufacturer or vendor represented // by this Redfish service. If this property is supported, the vendor name // shall not be included in the value of the Product property. Vendor string // contains filtered or unexported fields }
Service represents the root Redfish service. All values for resources described by this schema shall comply to the requirements as described in the Redfish specification.
func ServiceRoot ¶
ServiceRoot will get a Service instance from the service.
func (*Service) AccountService ¶
func (serviceroot *Service) AccountService() (*redfish.AccountService, error)
AccountService gets the Redfish AccountService
func (*Service) CompositionService ¶
func (serviceroot *Service) CompositionService() (*redfish.CompositionService, error)
CompositionService gets the composition service instance
func (*Service) CreateSession ¶
func (serviceroot *Service) CreateSession(username string, password string) (*redfish.AuthToken, error)
CreateSession creates a new session and returns the token and id
func (*Service) DeleteSession ¶
DeleteSession logout the specified session
func (*Service) EventService ¶
func (serviceroot *Service) EventService() (*redfish.EventService, error)
EventService gets the Redfish EventService
func (*Service) StorageServices ¶
func (serviceroot *Service) StorageServices() ([]*swordfish.StorageService, error)
StorageServices gets the Swordfish storage services
func (*Service) StorageSystems ¶
func (serviceroot *Service) StorageSystems() ([]*swordfish.StorageSystem, error)
StorageSystems gets the storage system instances managed by this service.
func (*Service) Systems ¶
func (serviceroot *Service) Systems() ([]*redfish.ComputerSystem, error)
Systems get the system instances from the service
func (*Service) UnmarshalJSON ¶
UnmarshalJSON unmarshals a Service object from the raw JSON.
func (*Service) UpdateService ¶ added in v0.6.0
func (serviceroot *Service) UpdateService() (*redfish.UpdateService, error)
UpdateService gets the update service instance