Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

ucscsdk documentation

Documentation for ucscsdk 0.9.0.10 — the Cisco UCS Central Python SDK (Apache-2.0).

Not UCS Manager. That is the separate ucsmsdk package. Different API, different class set; examples do not transfer.


Human? Start here

New to the SDK → guides/01-getting-started.md

Have a specific task:

I want to… Read
understand DNs and RNs 02 — information model
connect, authenticate, use a proxy 03 — connecting and auth
find objects 04 — querying
filter query results 05 — filters
create, change or delete something 06 — create, modify, delete
batch work or use threads 07 — transactions and threading
wait for an async operation 08 — events
understand a failure 09 — error handling
back up or restore config 10 — backup, export, import
register a UCS domain 11 — domain management
manage firmware 12 — firmware
collect tech support 13 — tech support
turn captured XML into code 14 — xml to python
call a raw XML method 15 — advanced

Look up a class or method → reference/mo/index.md · reference/methods.md

Understand how it works inside → architecture · request lifecycle · metadata system


Agent? Read llms.txt

Then agents/AGENTS.md — recipes, DN patterns, top-50 classes, and an explicit do-not-do list.

Machine-readable data:

File Use
agents/mo-index.json 537K routing index — load whole
agents/mo-details.jsonl one record per line — grep '"class_id": "LsServer"'
agents/api-index.json handle surface, 122 methods, exceptions, filters

What is covered

Managed object classes 1,831 across 94 packages
Object properties 24,998
XML methods 122
Hand-written guides 15

Trust model

Every class, property, constant, signature, link and file.py:NN reference in these docs is checked against the installed package by _tools/verify_docs.py:

$ /usr/bin/python3 docs/_tools/verify_docs.py
all 12877 checks passed

The checker is itself tested against planted defects — see _work/VERIFICATION.md.

No live UCS Central was available. Examples requiring a server are marked; the rest were executed offline against the package. Nothing here claims to have been run against hardware.

The reference and both agent indexes are generated by _tools/gen_reference.py — stdlib only, offline, and deterministic. Edit the script, never its output.

Layout

docs/
├── README.md          this file
├── CLAUDE.md          pointers for AI assistants working in this repo
├── llms.txt           routing index, one line per document
├── guides/            15 hand-written guides
├── reference/         generated: 94 package pages + methods.md
├── agents/            AGENTS.md + 3 machine-readable indexes
├── internals/         architecture, request lifecycle, metadata system
├── _tools/            gen_reference.py, verify_docs.py, nose_shim.py
└── _work/             INVENTORY, NOTES, PROGRESS, VERIFICATION, UG-RST-AUDIT

Regenerating

/usr/bin/python3 docs/_tools/gen_reference.py    # rebuild reference + indexes
/usr/bin/python3 docs/_tools/verify_docs.py      # gate — must exit 0

Both need an interpreter that can import the SDK. /usr/bin/python3 (3.12) has six and pyparsing; the python3 on $PATH may not.

Known SDK defects

Found and verified while writing these docs. They are documented, not fixed — the SDK source is untouched.

Symbol Status
ucsccoreutils.load_mo broken on Python 3.11+ (inspect.getargspec)
GenericMo.to_mo broken on Python 3.11+ (same)
ManagedObject.show_tree always broken (self.children does not exist)
ucsccoreutils.write_mo_tree always broken (mo.class_id does not exist)
extract_mo_tree_from_config_method_response always broken (calls the above)
UcscHandle.is_local_download_supported broken on 3.13+ (distutils); logic also inverted
MethodPropertyMeta.name RecursionError — getter returns itself
TLS1Connection.connect broken on 3.12+ (ssl.wrap_socket)
MoPropertyMeta.validate_property_value short-circuits; a satisfied min_length skips the pattern check
test suite 24 of 26 modules import nose; uninstallable on 3.12

The shipped ucscsdk_ug.rst also documents three methods that do not exist. See _work/UG-RST-AUDIT.md.

Security posture

Two facts to design around, both measured rather than assumed:

  • TLS certificates are not verified — no CA bundle, check_hostname=False, verify_mode=CERT_NONE, and no SDK option to change it. An active man-in-the-middle is not detected. Use a trusted management network.
  • Response XML is parsed with the stdlib parser. External entities are blocked, so classic XXE file disclosure does not apply, but internal entity expansion is performed — a hostile server can send a small document that costs a lot of memory.

Details in internals/architecture.md.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors