vmware / vsphere-automation-sdk-go

Go programming language SDK (Beta) for VMC. NSX-T and vSphere services will be added soon.
Other
35 stars 24 forks source link

Provide compatibility level in README or release notes #31

Open briantopping opened 1 year ago

briantopping commented 1 year ago

Is your feature request related to a problem? Please describe.

I'm not sure what compatibility of this library is with specific versions of vSphere. Is that information be provided somewhere or could it be provided?

Describe the solution you'd like

It would be ideal if the README were updated to include compatibility information. For instance, there are a lot of deprecated APIs right now with the manager API and it's not clear that a client using this library will remain compatibile.

Describe alternatives you've considered

There are hundreds of APIs, it would be difficult to determine what the developers intended in a given release. Maybe I am missing something obvious though!

Additional context

No response

bhagatp10 commented 1 year ago

vSphere bindings are not provided in this repository. Are you asking about some specific product version?

briantopping commented 1 year ago

Yes, looking for clients of the library to be able to determine (if only transitively) the vSphere version range that a given library version supports.

bhagatp10 commented 1 year ago

Please check with goVmomi regarding this.

karaatanassov commented 1 year ago

Couple of notes:

  1. This SDK has APIs for NSX and VMware Cloud on AWS only. There are no vCenter or ESX APIs in this SDK despite the name implying otherwise.
  2. Regarding changes to APIs in vCenter and ESX ti is best to consult the product documentation on developer.vmware.com. It is not ideal. You can find some resources. There are dedicated pages for the core virtual machine and ESX, cluster management API (web service API) in both JSON and XML (see the links under "What's new in..") formats
  3. The way compatibility works with vCenter is complex as the system is big and complex. In every release there would be new APIs added and some APIs extended. Occasionally there are APIs marked deprecated and after one major release these could be disabled or possibly removed. Note that on many occasions vCenter keeps deprecated APIs longer as to not break various integrations. Such disablement or removal VMware tries to keep to major releases like 7.0, 8.0, 9.0 etc. However such changes due to security may happen in updates. As a user of the API you can monitor for deprecated APIs and update your software to move away from the deprecated APIs to new ones ahead of removal. Typically alternatives will be available along side the deprecation notice.
  4. For golang and vCenter, ESX you should look into Govmomi. It contains bindings for most APIs all Management APIs (using SOAP and JSON as needed) and some of the Automation APIs (REST API). For some of the automation APIs not covered in govmomi you can use them with the golang built-in JSON and HTTP facilities.