bmctools.redfish.fishapi
RedfishAPI
Redfish API client for interacting with the Redfish service.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
ip | str | — | |
user | str | — | |
password | str | — | |
verify_ssl | bool | True |
disable_ssl_verification
def disable_ssl_verification() -> NoneDisable SSL certificate verification and suppress InsecureRequestWarning.
Returns: None
get
def get(endpoint: str, params: Optional[dict] = None) -> requests.ResponseSend a GET request to a Redfish endpoint.
Args: endpoint: Redfish endpoint path (e.g., ‘/redfish/v1/Systems’). params: Optional query parameters.
Returns: HTTP response object.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
endpoint | str | — | |
params | Optional[dict] | None |
Returns: requests.Response
post
def post(endpoint: str, data: Optional[dict] = None) -> requests.ResponseSend a POST request to a Redfish endpoint.
Args: endpoint: Redfish endpoint path. data: Optional request body as a dict (will be JSON-serialized).
Returns: HTTP response object.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
endpoint | str | — | |
data | Optional[dict] | None |
Returns: requests.Response
put
def put(endpoint: str, data: Optional[dict] = None) -> requests.ResponseSend a PUT request to a Redfish endpoint.
Args: endpoint: Redfish endpoint path. data: Optional request body as a dict (will be JSON-serialized).
Returns: HTTP response object.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
endpoint | str | — | |
data | Optional[dict] | None |
Returns: requests.Response
patch
def patch(endpoint: str, data: Optional[dict] = None, headers: Optional[dict] = None) -> requests.ResponseSend a PATCH request to a Redfish endpoint.
Args:
endpoint: Redfish endpoint path.
data: Optional request body as a dict (will be JSON-serialized).
headers: Optional additional headers (e.g., {'If-Match': etag}).
Returns: HTTP response object.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
endpoint | str | — | |
data | Optional[dict] | None | |
headers | Optional[dict] | None |
Returns: requests.Response
delete
def delete(endpoint: str) -> requests.ResponseSend a DELETE request to a Redfish endpoint.
Args: endpoint: Redfish endpoint path.
Returns: HTTP response object.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
endpoint | str | — |
Returns: requests.Response
post_file
def post_file(endpoint: str, file_path: str, additional_data: Optional[dict] = None, file_field_name: str = 'file') -> requests.ResponseUpload a file via multipart form data.
Args: endpoint: The API endpoint file_path: Path to the file to upload additional_data: Optional dict of additional form fields file_field_name: Name of the file field in multipart form (default: ‘file’)
Returns: Response object
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
endpoint | str | — | |
file_path | str | — | |
additional_data | Optional[dict] | None | |
file_field_name | str | 'file' |
Returns: requests.Response
post_multipart
def post_multipart(endpoint: str, file_path: str, update_params: dict, oem_params: Optional[dict] = None) -> requests.ResponseUpload firmware using Redfish multipart HTTP push format.
All parts are sent as proper multipart file parts with correct content types.
Args: endpoint: The API endpoint file_path: Path to the firmware file update_params: Dict of update parameters (sent as application/json) oem_params: Optional dict of OEM parameters (sent as application/json)
Returns: Response object
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
endpoint | str | — | |
file_path | str | — | |
update_params | dict | — | |
oem_params | Optional[dict] | None |
Returns: requests.Response