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: http://docs.opennebula.org/4.6/integration/system_interfaces/api.html

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>";
one.StartDelegate(targetUser);
int RemoteId = one.TemplateInstanciateVM(idTemplate, vmName, false, "");
one.EndDelegate();

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

Build

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 git@github.com:Terradue/Terradue.OpenNebula.git Terradue.OpenNebula

TODO

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

Copyright (c) 2014 Terradue

Licensed under the GPL v3 License

Thanks

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

Questions, bugs, and suggestions

Please file any bugs or questions as issues

Want to contribute?

Fork the repository here and send us pull requests.