Skip to content

Releases: noclue/vim_rs

Bump dependencies

24 Sep 20:21

Choose a tag to compare

Bump dependencies Pre-release
Pre-release

The cargo lock files referred to slab 0.4.10 version that had some apparent weakness. This release is a cargo update to push up the lock files. This seems to really only affect the examples. The next bump will not trigger vim_rs and vim_macros version bump.

vSphere 9.0 bindings

28 Jun 20:13

Choose a tag to compare

What's Changed

This change may break clients as 9.0 introduces a number of new parameters and fields in existing functions and structures.

There are no feature changes to vtui and no new builds.

New Contributors

  • @noclue made their first contribution in #4

Full Changelog: v0.2.3...v0.2.4

v0.2.3

03 May 15:47

Choose a tag to compare

v0.2.3 Pre-release
Pre-release

vim_rs 0.2.3 & vtui 0.1.2: Property Explorer Edition

Highlights

vim_rs

  • 🐞 Critical Fix: Patched vCenter OpenAPI spec to resolve host API failures.

vtui

  • 🌳 Property View: Press Enter on any object to explore its full API tree (MOB-style!).
  • 🔗 Linked Object Navigation: Jump to related objects from property references.in property view
  • 📥 JSON Export: Press j to save object data to JSON.
  • 🔙 Back Navigation: Backspace to backtrack through views.
  • 📜 Logging: Debugging got easier! Errors now log to vtui.log for reporting or analysis.

vtui012

Full Changelog: v0.2.2...v0.2.3

Task support for vTUI and fixes

20 Apr 13:53

Choose a tag to compare

Pre-release
  • Add tasks to vTUI including navigation to object specific tasks
  • Add usage and option for secure TLS to vTUI
  • Fix vTUI to show correctly on Mac
  • Add fetch_dynamic_property to Client to allow fetching properties by name into known type or into serde_json::Value
  • Fixed MethodFault and Event handling in vim_macros

vtuitasks

Support loading list of objects, array length property and much improved vTUI

12 Apr 14:39

Choose a tag to compare

This release main focus is to enhance the vTUI example to show the power of the vim_rs library to build an inventory browser app. To support this goal minor improvements are made tot eh vim_rs and vim_macros libraries to support retrieval and monitoring of list of objects i.e. ListView as well as support the special length property on arrays.

vtui-0 1 0

vTUI now supports:

  1. Search using "/"
  2. Cluster, Host, VM, Network and Datastore views
  3. Navigation to related objects e.g. VMs running on specific host
  4. Exit from application using 'Ctrl-C' from any state
  5. Display of basic vCenter data

The above should represent a minimal UI that is sufficient to check up quickly on your virtual empire.

The work has been inspired by K9s

As part of the release you can find precompiled vtui binaries for few of the popular platforms. Hopefully these work without glitches. Let me know if there are issues like missing libraries and so on. I have not figured out yet installers; digital signature; winget, snap and brew packages.

0.2.0 - PropertyCollector Macros

31 Mar 19:10

Choose a tag to compare

Pre-release

Added vim_macros crate to aid the work with the PropertyCollector API. The crate includes vim_retrievable and vim_updatable macros. These macros come with supporting utilities in the vim_rs crate. See the examples and documentation for more info.

0.1.0

16 Mar 18:23

Choose a tag to compare

0.1.0 Pre-release
Pre-release

vim-rs 0.1.0 Release Notes

We're excited to announce the first release of vim-rs, a Rust client library for the VMware by Broadcom Virtual Infrastructure JSON API!

Overview

The vim-rs library provides idiomatic Rust bindings for working with vSphere environments through the VI-JSON API. This initial release implements the full API surface based on the vSphere Management SDK OpenAPI specifications.

Key Features

  • Fully Asynchronous: Built on the tokio runtime with reqwest for HTTP communication
  • Type-Safe API: Comprehensive Rust types generated from OpenAPI specs
  • Authentication: Support for basic authentication with username/password
  • Service Stubs: Easy access to vCenter managed objects and data structures
  • Polymorphic Type Support: Hybrid approach using structs, traits and enums for natural Rust API experience

Getting Started

Add vim-rs to your Cargo.toml:

[dependencies]
vim_rs = "0.1.0"

Connect to vCenter:

let vim_client = ClientBuilder::new(&vc_server)
    .basic_authn(&username, &pwd)
    .app_details(APP_NAME, APP_VERSION)
    .build().await?;

Highlights

  • Practical Design: Balances idiomatic Rust with VMware's object-oriented API model
  • Performance Focused: Careful design decisions to avoid excessive compile times
  • Comprehensive Coverage: Full support for VMware vSphere APIs
  • Developer Experience: Intuitive API for working with vCenter resources

Limitations

  • Pruned types for MethodFault and Event hierarchies to manage compilation times and binary size
  • First compilation may take several minutes due to the size of the generated code

Repository Structure

The repository includes:

  • vim_rs: Main library for calling the VIM API
  • vim_build: Code generation tool for API bindings
  • examples: Sample programs demonstrating library usage
  • openapi30: Indigenous OpenAPI parser used for code generation

We welcome your feedback and contributions as we continue to evolve this library!