Skip to content

Instantly share code, notes, and snippets.

@onetown
Created June 29, 2015 07:31
Show Gist options
  • Save onetown/303e5b15a8a6ac9ac041 to your computer and use it in GitHub Desktop.
Save onetown/303e5b15a8a6ac9ac041 to your computer and use it in GitHub Desktop.
openstacknetsdk sample code
using System;
using System.Collections.Generic;
// step 1
using net.openstack.Core.Domain;
using net.openstack.Core.Providers;
using net.openstack.Providers.Rackspace;
namespace openstack.firstapp
{
class MainClass
{
public static CloudIdentityWithProject _identity;
public static OpenStackIdentityProvider _identityProvider;
public static void Main (string[] args)
{
_identity = new CloudIdentityWithProject (){ Username = "yourusername",
Password = "yourpassword" ,
ProjectName="yourprojectname",
ProjectId = new ProjectId("projectid")
};
_identityProvider = new OpenStackIdentityProvider (new Uri ("http://keystone.openstack.local:35357/v2.0"));
CloudServersProvider _serverProvider = new CloudServersProvider (_identity, _identityProvider);
// step 2
var images = _serverProvider.ListImages (region:"RegionOne");
foreach (var img in images) {
//Console.WriteLine (img.Name);
}
// step 3
var flavors = _serverProvider.ListFlavors (region: "RegionOne");
foreach (var fla in flavors) {
//Console.WriteLine (fla.Name);
}
// step 4
var image = _serverProvider.GetImage (imageId: "3ac562c7-55a1-4340-8636-f81c4913cc23", region: "RegionOne");
Console.WriteLine (image.Name);
// step 5
var flavor = _serverProvider.GetFlavor (id: "1", region: "RegionOne");
Console.WriteLine (flavor);
// step 6
var networks = new List<String> () { "8659903e-bc6e-412f-8991-573941ed5102" };
// step 7
var instance = _serverProvider.CreateServer ("testinstance",
"3ac562c7-55a1-4340-8636-f81c4913cc23", "1", region: "RegionOne", networks: networks);
Console.WriteLine (instance.GetDetails ().Name);
//Console.WriteLine ("get identity....");
//Console.WriteLine (_identityProvider.GetToken(_identity).Id);
Console.Read ();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment