Skip to content

v1.0.0

Choose a tag to compare

@FReptar0 FReptar0 released this 25 Nov 06:33
· 8 commits to main since this release

Nutanix API Client v1.0.0

Overview

Initial production release of the Nutanix API Integration System. A unified Python CLI application for automating Nutanix purchase order submissions with JWT authentication, XML transformation, and comprehensive error handling.

Features

  • JWT Authentication: Automatic RS256 token generation with configurable expiration
  • Smart XML Processing: Detects and adds SOAP envelope only when needed
  • Robust API Communication: Retry logic, timeout handling, and detailed error reporting
  • Mandatory Archiving: All processed files automatically archived (success/error paths)
  • Environment-Aware: Separate UAT and production configurations
  • CLI Interface: Simple commands for processing, validation, and cleanup
  • Comprehensive Logging: Environment-specific log levels with file rotation

Installation

Prerequisites

  • Python 3.7 or higher
  • RSA private key for JWT signing

Setup Steps

  1. Download and extract the release
  2. Install dependencies:
    pip install -r requirements.txt
  3. Create configuration:
    cp config/config.example.yaml config/config.yaml
  4. Edit config/config.yaml with your actual credentials and paths
  5. Validate setup:
    python main.py validate

Usage

Process a single file

python main.py process --input /path/to/order.xml

Watch mode (continuous processing)

python main.py process --watch

Cleanup old archives

python main.py cleanup --older-than 30

Configuration

See config/config.example.yaml for the configuration template. Update with:

  • Your JWT credentials (issuer, customer_id)
  • Path to your RSA private key
  • Input/output/archive directory paths
  • Environment (uat or production)

Documentation

  • Full documentation: README.md
  • Example XML structure: examples/example_raw.xml

Security Notes

  • Never commit config.yaml or .pem files to version control
  • All sensitive files are excluded via .gitignore
  • Use separate configurations for UAT and production environments

What's Changed

  • Initial release with core functionality
  • Modular package structure with nutanix_client package
  • Comprehensive error handling and logging
  • CLI interface with multiple commands

Requirements

See requirements.txt for full dependency list:

  • PyJWT (JWT token generation)
  • cryptography (RSA signing)
  • requests (API communication)
  • PyYAML (configuration management)

Support

For issues or questions, please open an issue on GitHub.