Guide to Terradue Open Source projects

Terradue / DotNet4One

Language Created Last update Stars Forks
C# 2014-07-01T14:32:22Z 2014-09-04T14:52:58Z 4 1

Build Status

DotNet4One - .Net Library to Access XML-RPC API of Opennebula

DotNet4One (Terradue.OpenNebula) is a library targeting .NET 4.0 and above providing an easy way to perform requests on any XML-RPC method exposed by an OpenNebula server.

XML-RPC API documentation:

Usage examples

// First create the client
string proxyUrl = "<YOUR_SERVER_URL>";
string adminUser = "<YOUR_ADMIN_USERNAME>"; //should be user with driver server_* to allow requests delegation
string adminPwd = "<YOUR_ADMIN_PASSWORD>"; //SHA1 password
var one = new OneClient(proxyUrl,adminUser,adminPwd);

// Do a request as admin
USER_POOL pool = one.UserGetPoolInfo();

// Do a request on behalf of a normal user
string targetUser = "<YOUR_TARGET_USERNAME>";
int RemoteId = one.TemplateInstanciateVM(idTemplate, vmName, false, "");

Supported Platforms

  • .NET 4.0 (Desktop / Server)
  • Xamarin.iOS / Xamarin.Android / Xamarin.Mac
  • Mono 2.10+

Getting Started

Terradue.OpenNebula is available as NuGet package in releases.

Install-Package Terradue.OpenNebula


Terradue.OpenNebula is a single assembly designed to be easily deployed anywhere.

To compile it yourself, you’ll need:

  • Visual Studio 2012 or later, or Xamarin Studio

To clone it locally click the "Clone in Desktop" button above or run the following git commands.

git clone Terradue.OpenNebula


  • Following commands are missing
    • one.acl.*
    • one.vmpool.accounting
    • one.document.*
  • Testing!

Copyright (c) 2014 Terradue

Licensed under the GPL v3 License


This library is inspired from OpenNebula-CSharp-Adapter and uses the excellent .NET framework

Questions, bugs, and suggestions

Please file any bugs or questions as issues

Want to contribute?

Fork the repository here and send us pull requests.