Skip to main content

A lightweight Redfish API command-line tool

Project description

🔧 redfishLiteApi

A lightweight command-line tool to interact with Redfish APIs using GET, POST, and PATCH methods. Designed for quick testing, debugging, and field extraction.


📦 Features

  • ✅ Support for GET, POST, and PATCH

  • 🔐 Basic Authentication (-U / -P)

  • 📁 JSON body input via file (--json_file)

  • 🔍 Recursive field value search with --find (supports multiple fields)

  • 💾 Save response to file (--save)

  • 🧾 Custom HTTP headers (--header)

  • ⏱️ 10-second request timeout to prevent hanging

  • 🧯 Disable SSL verification warnings

  • 📡 HTTP Status display

  • ⚠️ JSON parse error handling with fallback to raw text

  • 🔢 --version support


🚀 Usage

python redfishLiteApi.py --url <API_URL> --method <get|post|patch> [OPTIONS]

✅ Example: Basic GET request

python redfishLiteApi.py --url https://<host>/redfish/v1/Systems --method get

🔐 Example: Authenticated GET with header and find field

python redfishLiteApi.py --url https://<host>/redfish/v1/Systems --method get \ -U admin -P password \ --header "If-Match:W/\"etag-value\"" \ --find Id Name PowerState

📝 Example: PATCH with body file

python redfishLiteApi.py --url https://<host>/redfish/v1/Managers/1/EthernetInterfaces/1 \ --method patch -U admin -P password --json_file update.json

💾 Example: Save output to file

python redfishLiteApi.py --url https://<host>/redfish/v1/Systems --method get --save output.json

📌 Check version

python redfishLiteApi.py --version


🧠 Argument Summary

Argument

Description

--url

Redfish API endpoint URL (required)

--method

HTTP method: get, post, or patch (required)

-U / --username

Basic auth username

-P / --password

Basic auth password

--json_file

Path to JSON file for POST or PATCH body

--find

One or more JSON field names to recursively extract (GET only)

--save

Save the response body to a file

--header

Custom headers in Key:Value format (can be repeated)

--version

Show current version and exit


⚠️ Notes

  • SSL certificate verification is disabled (verify=False).

  • Timeout is hardcoded to 10 seconds.

  • HTTP error handling is basic — be sure to inspect the response if you encounter unexpected results.


🛠 Dependencies

  • Python 3.x

  • requests

Install dependencies via:

pip install -r requirements.txt

requirements.txt content:

requests


📜 License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redfishliteapi-1.0.1.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

redfishliteapi-1.0.1-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file redfishliteapi-1.0.1.tar.gz.

File metadata

  • Download URL: redfishliteapi-1.0.1.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for redfishliteapi-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a23563a6c705f480a9c057eae9baffba1890d719187c934986fedab985833d5d
MD5 4e50f05743bbd9a7f186d14e5f04f9ac
BLAKE2b-256 37b51510c3cdb1791604f0faf71ac47b441ec1dfc713112275923e6540d302b6

See more details on using hashes here.

File details

Details for the file redfishliteapi-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: redfishliteapi-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for redfishliteapi-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e84e9486edd61e8654f4d3c33e4723210b79de250fa795a9975fc1aa954a196a
MD5 af47b6508f762678ce623b2b1d4ac31a
BLAKE2b-256 9edd540f504352b658ca96e460041b4787755e568efcde2b545d4c3c23a63e21

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page