Download SDKs
Overview
XenServer includes a XML-RPC based API, providing programmatic access to the extensive set of XenServer management features and tools. The XenServer API can be called from a remote system as well as local to the XenServer host. Remote calls are generally made securely over HTTPS, using port 443.
There are five SDKs available, one for each of C, C#, Java, PowerShell, and Python. These are provided under an open-source license (LGPL or GPL with the common linking exception). This allows use (unmodified) in both closed-and open-source applications.
There are also several example code samples also provided for download. Some of the code samples demonstrate creating a VM, running VM power operations, and watching for events.
The XenServer 5.5 SDKs are suitable not just for 5.5, but for use with XenServer 4.0, 4.1 and 5.0 servers too, making it possible to address multiple XenServer versions with a single binary. There are, of course, features missing on the older versions, and client programs are expected to check host.software_version["product_version"] to gracefully fall back when appropriate.
XenServer.NET: The XenServer SDK for C#.NET
Download XenServer.NET binaries
Download XenServer.NET samples
Download XenServer.NET source
XenServerJava: The XenServer SDK for Java
Download XenServerJava binaries
Download XenServerJava samples
Download XenServerJava source
libxenserver: The XenServer SDK for C
Download libxenserver binaries
Download libxenserver samples and source
XenServerPSSnapIn: The XenServer SDK for PowerShell
Download XS-PS Windows installer
Download XS-PS source
XenAPI.py: The XenServer Python module
Download XenAPI.py
Browse XenServer API examples using Python
API Reference
PDF
HTML
Javadoc (zip)
XenServerConsole: A Java client for XenServer consoles
Download XenServerConsole source
We also publish an appliance-style virtual machine, ready to be imported into a XenServer host. This contains the SDKs above, plus a XenServer simulator, and a complete Linux-based development environment.
Download SDK VM: Version 5.5.0. 328 MB.
XenServer SDK Guide
PDF
HTML
What is Citrix StorageLink?
Citrix StorageLink lets users automate the configuration and provisioning of the virtual machine storage, taking advantage of advanced features of the attached storage array. StorageLink enables the user to create virtual machines from logical vendor-specific storage repositories that support advanced capabilities such as snapshots, cloning, thin provisioning, and data deduplication. StorageLink also uses advanced storage capabilities to rapidly create virtual machines, increase storage utilization, and provide improved business continuity while lowering total cost of ownership.
Citrix StorageLink seamlessly integrates with storage arrays using either the standards-based SMI-S interface or via a custom vendor-specific StorageLink Storage Adapter.
Citrix StorageLink Gateway SDK (v1.02): Version 1.02 Around 1.21 MB.
- Documentation for Web Services/SOAP interface for Citrix StorageLink Gateway.
Citrix StorageLink Storage Adapter SDK (v1.09): Version 1.09 Around 22.9 MB.
- Citrix StorageLink SDK for storage partners.
Browse and Share Scripts and Samples on the CDN Script Exchange
xvp: A web interface for XenServer, developed at Durham University
Note that the XenServer 5.5 SDKs are also suitable for use with XenServer 4.0, 4.1 and 5.0 servers. These older releases are here for historical purposes only.
Comments (17)
Oct 08, 2008
sateesh c says:
Hi, I could not find XAPI SDK with C bindings. I need to develop tools that ru...Hi, I could not find XAPI SDK with C bindings. I need to develop tools that run on XenServer. Please let me know how to download an SDK with C bindings. ~Sateesh
Nov 05, 2008
Ewan Mellor says:
A new version of libxenserver is now available. There's a link above.A new version of libxenserver is now available. There's a link above.
Nov 08, 2008
sateesh c says:
Nice to see the C bindings after long waiting. But while unzipping the archive ...Nice to see the C bindings after long waiting.
But while unzipping the archive of libxenserver binaries (libxenserver-5.0.0-2.tar.bz2) I got the following errors.
---------------------------------------------------------------------------------------------------------------------------------------
! C:\Documents and Settings\testuser\Desktop\libxenserver-5.0.0-2(2).tar.bz2: Cannot open libxenserver.so.1 (libxenserver.so.1 --> libxenserver\libxenserver.so)
! C:\Documents and Settings\testuser\Desktop\libxenserver-5.0.0-2(2).tar.bz2: Symbolic link points to missing file
---------------------------------------------------------------------------------------------------------------------------------------
~Sateesh
Nov 09, 2008
sateesh c says:
Hi, I could build the libraries from the sources. Thanks, Sateesh C.Hi,
I could build the libraries from the sources.
Thanks,
Sateesh C.
Nov 13, 2008
Ewan Mellor says:
What are you using to unzip the archive? Here's what I get: ~ $ ls -l libxens...What are you using to unzip the archive? Here's what I get:
Nov 08, 2008
sateesh c says:
I need a small clarification regarding the C bindings. Will the above mentioned...I need a small clarification regarding the C bindings.
Will the above mentioned libxenserver SDKs work for XenServer 4.1 as well ?
Thanks
~Sateesh
Nov 13, 2008
Ewan Mellor says:
Yes, all of our SDKs will work against XenServer 4.0 and 4.1 as well as 5.0. Th...Yes, all of our SDKs will work against XenServer 4.0 and 4.1 as well as 5.0. There will of course be some functionality that is missing on the older servers, so your client program will need to check host.software_version["product_version"] to gracefully handle the compatibility.
Nov 13, 2008
Ewan Mellor says:
I've put a comment to this effect on the page above. Thanks for asking the ques...I've put a comment to this effect on the page above. Thanks for asking the question!
Mar 16, 2009
Anonymous says:
From the doc. It said The SDK is available for download as a ZIP file at http:/...From the doc. It said
The SDK is available for download as a ZIP file at http://community.citrix.com/display/xs/XenServer+SDK of around
250MB.
Where can I download the SDK VM?
May 05, 2009
Ewan Mellor says:
The SDK was moved temporarily, sorry about that. I've put new links to it on th...The SDK was moved temporarily, sorry about that. I've put new links to it on the page you mention, and on this one. Thanks for letting us know.
Jun 09
Anonymous says:
Where's the SDK VM at? I rechecked the links but getting an error when it c...Where's the SDK VM at? I rechecked the links but getting an error when it can't find it..
Dan Maldonado
Computer Sciences Corp
Jun 13
Vishal Ganeriwala says:
Try this link http://www.citrix.com/lang/English/lp/lp_1688621.aspTry this link
http://www.citrix.com/lang/English/lp/lp_1688621.asp
Jun 13
john casey says:
The SDK VM link is invalid. Thanks, John Casey LayerzNgnThe SDK VM link is invalid.
Thanks,
John Casey
LayerzNgn
Jun 13
Vishal Ganeriwala says:
Try this link http://www.citrix.com/lang/English/lp/lp_1688621.aspTry this link
http://www.citrix.com/lang/English/lp/lp_1688621.asp
Jun 15
Anonymous says:
XAPI is provided over the local unix domain socket /var/xapi/xapi. I want ...XAPI is provided over the local unix domain socket /var/xapi/xapi.
I want to use a local session for the XAPI calls.
But using XAPI C bindings I am not able to create a session for the socket.
I would appreciate any help regarding this.
~Sateesh.
Nov 03
Goncalo Gomes says:
Hi Sateesh, I have answered a similar question just a few minutes ago. Hope they...Hi Sateesh, I have answered a similar question just a few minutes ago. Hope they can give you some sense of direction.
http://forums.citrix.com/thread.jspa?messageID=1416213\\
Nov 06
Anonymous says:
Whome to contact for issues with Citrix Storagelink Adapter SDK 1.09? I followe...Whome to contact for issues with Citrix Storagelink Adapter SDK 1.09?
I followed the instructions given in the "storagelink_adapter_sdk_devguide" and created an Storage Array adapter. It loaded fine and I was able to add credentials, enumerate the Storage Systems. It failed with an access violation exception in the gateway service while enumerating the after returning from the "enumerateStoragePools" method. What I found is, when the pools list is populated with only one element then it works fine, but if the numer of elements exceeds one, it throws this exception. This holds good for any enum methods returning more than one elements. What might be the issue?
I tried with the sample adapter and still see the same issue.
Thanks,
KK
Add Comment