Skip to main content

Python API Client for CCC

Project description

ccc_client

This package provides a simple, modular SDK for the CCC REST API.

Features

  • Automatically handles authentication and renewal
  • Graceful error management
  • Logically organized modules
  • Easily maintained

Installation

Install using pip:

pip install cccAPI 

Install from source:

git clone https://github.hpe.com/hpe/cccAPI.git
cd cccAPI
pip install -e .

Quick Start

Initialize the Client

  • Install prerequisites: pip install requests jsonschema
  • Simple usage
import json
from cccAPI import cccAPIClient
client = cccAPIClient("https://localhost:8000/cmu/v1", "root", "your-password")

Example Usage

Get Nodes

nodes = client.nodes.show_nodes()
print(json.dumps(nodes, indent=4))

Get specific Node

#Specific node named BartC01n1-091
node = client.nodes.show_node("BartC01n1-091")
print(json.dumps(node, indent=4))

Get specific Node/fields

  • Allowed fields are:
query_params = {"fields": "name,id,uuid,network.name,network.ipAddress,network.macAddress"}
specific_nodes=client.nodes.show_nodes(query_params)
print(json.dumps(specific_nodes, indent=4))

See examples/test.py for other test cases as implemented

API Modules

Module Description User Guide Section
nodes Node Operations
                  - Create/Delete/Update/List Nodes
                  - Add/Remove nodes in image/no-image/network group
                  - Get/Add actions/features of node 
                |   Section 4.5  | 

| image_groups | Image Group Operations | Section 4.3 | | network_groups | Network Group Operations | Section 4.4 | | custom_groups | Custom Group Operations | Section 4.2 | | resource_features | Resource Features | ------------- | | image_capture_deployment | Image Capture Deployment | --------------- | | power_operation | Power operations | | application | application entrypoints, settings | Section 4.1 | | architecture | architecture | -------------- | | management_cards | View network devices, interfaces, routes | ------------- | | tasks | Tasks Operations | Section 4.7 | | conn | Sessions Operations | Section 4.6 |

Building package

Locally

pip install .

or

pip install pip-tools
pip-compile pyproject.toml  #This will produce requirements.txt
pip install -r requirements.txt

or

curl -LsSf https://astral.sh/uv/install.sh | sh.
uv lock 
RUN uv pip install -e . --system

Publishing

pip install setuptools wheel twine
#This will create a dist directory containing the .tar.gz and .whl files for the package
python3 setup.py sdist bdist_wheel
#pip install dist/cccAPI-0.0.1-py3-none-any.whl
pip install twine
twine upload dist/*

License

This project is license under the 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

cccapi-0.0.5.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

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

cccapi-0.0.5-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file cccapi-0.0.5.tar.gz.

File metadata

  • Download URL: cccapi-0.0.5.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for cccapi-0.0.5.tar.gz
Algorithm Hash digest
SHA256 6c17e8fbc8204db5ebb586d09e13619a9341d5cf5a87a309eaf9f7dbfb9b99f2
MD5 774b18c3a5d998ec9e8f891ae9495835
BLAKE2b-256 1aa21fa3fa13d6d040f0ab3df55c694832cfc8db99c65d0fba2c118b7cfeb563

See more details on using hashes here.

File details

Details for the file cccapi-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: cccapi-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for cccapi-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b2f60e29fec145577b5ddfe0630249520c24a6f09d9b0df16e34a4df510ba5ea
MD5 5677ab00e04d006ae8440961631d6f79
BLAKE2b-256 63c900a143d02929770bbdd6c31d639dcfd7e5eb3d3d68587f2f8100f5bcdd79

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