Documentation
¶
Index ¶
- type APIClient
- func (c *APIClient) Delete(url string) error
- func (c *APIClient) Get(url string) (*http.Response, 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 ErrorWrongResponse
- 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) GetRawData() []byte
- 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
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) 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
// 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 ErrorWrongResponse ¶ added in v0.5.1
ErrorResponse the error describes data when the response code is incorrect.
func (ErrorWrongResponse) Error ¶ added in v0.5.1
func (e ErrorWrongResponse) Error() string
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"`
// ODataEtag is the odata etag.
ODataEtag string `json:"@odata.etag"`
// 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) GetRawData ¶ added in v0.4.3
GetRawData get raw data json
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.
Directories
¶
| Path | Synopsis |
|---|---|
|
examples
|
|
|
change_login
command
SPDX-License-Identifier: BSD-3-Clause
|
SPDX-License-Identifier: BSD-3-Clause |
|
query_chassis
command
SPDX-License-Identifier: BSD-3-Clause
|
SPDX-License-Identifier: BSD-3-Clause |
|
query_sessions
command
SPDX-License-Identifier: BSD-3-Clause
|
SPDX-License-Identifier: BSD-3-Clause |
|
reboot
command
|
|
