July 23, 2010 in citrix, virtualization, xen by admin

Page edited by Ewan Mellor

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.6 SDKs are suitable not just for 5.6, but for use with XenServer 4.0, 4.1, 5.0 and 5.5 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 5.6


  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


XenServer SDK VM


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.6.0. 365 MB.
  XenServer SDK Guide
       PDF
       HTML


Citrix StorageLink SDK


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 (v2.0)

  • Documentation for Web Services/SOAP interface for Citrix StorageLink Gateway.


Citrix StorageLink Storage Adapter SDK (v2.0)

  • Citrix StorageLink SDK for storage partners.


Citrix StorageLink Gateway SDK (v2.1)

  • Documentation for Web Services/SOAP interface for Citrix StorageLink Gateway.


Citrix StorageLink Storage Adapter SDK (v2.1)

  • Citrix StorageLink SDK for storage partners.


Further Resources


XenServer Documentation Index

XenServer SDK Forum

Browse and Share Scripts and Samples on the CDN Script Exchange

xvp: An open-source web interface for XenServer, developed at Durham University



Older Releases


Note that the XenServer 5.6 SDKs are also suitable for use with XenServer 4.0, 4.1, 5.0 and 5.5 servers. These older releases are here for historical purposes only.

XenServer SDK Archive





Changes between revision 53 and revision 54:

 *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.6 SDKs are suitable not just for 5.6, but for use with XenServer 4.0, 4.1, 5.0 and 5.5 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.
  
 {div:style=padding:3px;background-color:#EEEEEE; layer-background-color:#EEEEEE}
 h3. XenServer 5.6
 {div}
 \\
  
 !btn_search.png!  *XenServer.NET*: The XenServer SDK for C#.NET
        [Download XenServer.NET binaries|^XenServer.NET-5.6.0-1.zip]
        [Download XenServer.NET samples|^XenServer.NET-5.6.0-1-samples.zip]
        [Download XenServer.NET source|^XenServer.NET-5.6.0-1-src.zip]
  
 !btn_search.png!  *XenServerJava*: The XenServer SDK for Java
        [Download XenServerJava binaries|^XenServerJava-5.6.0-1.zip]
        [Download XenServerJava samples|^XenServerJava-5.6.0-1-samples.zip]
        [Download XenServerJava source|^XenServerJava-5.6.0-1-src.zip]
  
 !btn_search.png!  *libxenserver*: The XenServer SDK for C
        [Download libxenserver binaries|^libxenserver-5.6.0-1.tar.bz2]
        [Download libxenserver samples and source|^libxenserver-5.6.0-1-src.tar.bz2]
  
 !btn_search.png!  *XenServerPSSnapIn*: The XenServer SDK for PowerShell
        [Download XS-PS Windows installer|^XenServerPSSnapIn-5.6.0-1.msi]
        [Download XS-PS source|^XenServerPSSnapIn-5.6.0-1-src.zip]
  
 !btn_search.png!  *XenAPI.py*: The XenServer Python module
         [Download XenAPI.py|XenServer Python API Samples^XenAPI.py]
         [Download XenAPI.py|^XenAPI.py]
        [Browse XenServer API examples using Python|XenServer Python API Samples]
  
 !btn_search.png!  *API Reference*
        [PDF|^xenenterpriseapi.pdf]
        [HTML|http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/api/]
        [Javadoc (zip)|^XenServerJavadoc-5.6.0.zip]
  
 !btn_search.png!  *XenServerConsole*: A Java client for XenServer consoles
        [Download XenServerConsole source|^XenServerConsole-src.zip]
  
 \\
 {div:style=padding:3px;background-color:#EEEEEE; layer-background-color:#EEEEEE}
 h3. XenServer SDK VM
 {div}
 \\
  
 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.
  
 !btn_search.png!  [*Download SDK VM*|http://www.citrix.com/lang/English/lp/lp_1688621.asp]: Version 5.6.0. 365 MB.
 !btn_search.png!  *XenServer SDK Guide*
        [PDF|http://support.citrix.com/article/CTX124890]
        [HTML|http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/sdk.html]
  
 \\
 {div:style=padding:3px;background-color:#EEEEEE; layer-background-color:#EEEEEE}
 h3. Citrix StorageLink SDK
 {div}
 \\
  
 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.
  
 \\
 !btn_search.png! [*Citrix StorageLink Gateway SDK (v2.0)*|http://community.citrix.com/download/attachments/38633496/storagelink_gateway_sdk_v2.0.zip|]
 * Documentation for Web Services/SOAP interface for Citrix StorageLink Gateway.
  
 \\
 !btn_search.png! [*Citrix StorageLink Storage Adapter SDK (v2.0)*|http://community.citrix.com/download/attachments/38633496/storagelink_adapter_sdk_v2.0.zip|]
 * Citrix StorageLink SDK for storage partners.
  
 \\
 !btn_search.png! [*Citrix StorageLink Gateway SDK (v2.1)*|http://community.citrix.com/download/attachments/38633496/storagelink_gateway_sdk_v2.1.zip|]
 * Documentation for Web Services/SOAP interface for Citrix StorageLink Gateway.
  
 \\
 !btn_search.png! [*Citrix StorageLink Storage Adapter SDK (v2.1)*|http://community.citrix.com/download/attachments/38633496/storagelink_adapter_sdk_v2.1.zip|]
 * Citrix StorageLink SDK for storage partners.
  
  
 \\
 {div:style=padding:3px;background-color:#EEEEEE; layer-background-color:#EEEEEE}
 h3. Further Resources
 {div}
 \\
 !btn_search.png! [*XenServer Documentation Index*|http://docs.vmd.citrix.com/XenServer/5.6.0/]
  
 !btn_search.png! [*XenServer SDK Forum*|http://forums.citrix.com/forum.jspa?forumID=175&start=0]
  
 !btn_search.png! [*Browse and Share Scripts and Samples on the CDN Script Exchange*|http://community.citrix.com/cdn/script-exchange/]
  
 !btn_search.png! [*xvp*|xvp]: An open-source web interface for XenServer, developed at Durham University
  
 \\
 \\
 {div:style=padding:3px;background-color:#EEEEEE; layer-background-color:#EEEEEE}
 h3. Older Releases
 {div}
 \\
  
 Note that the XenServer 5.6 SDKs are also suitable for use with XenServer 4.0, 4.1, 5.0 and 5.5 servers. These older releases are here for historical purposes only.
  
 [XenServer SDK Archive]
  
 \\
 \\
 \\
 \\