Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/HeuristicLab.Clients.Hive.CloudManager-3.3.csproj
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/HeuristicLab.Clients.Hive.CloudManager-3.3.csproj	(revision 7279)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/HeuristicLab.Clients.Hive.CloudManager-3.3.csproj	(revision 7281)
@@ -51,6 +51,19 @@
     <Compile Include="CloudManagerClient.cs" />
     <Compile Include="MenuItems\CloudManagerMenuItem.cs" />
+    <Compile Include="Model\Subscription.cs" />
     <Compile Include="Plugin.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Views\AddSubscriptionDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Views\AddSubscriptionDialog.Designer.cs">
+      <DependentUpon>AddSubscriptionDialog.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Views\CloudResourcesView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="Views\CloudResourcesView.Designer.cs">
+      <DependentUpon>CloudResourcesView.cs</DependentUpon>
+    </Compile>
     <Compile Include="Views\HiveCloudManagerView.cs">
       <SubType>UserControl</SubType>
@@ -58,4 +71,10 @@
     <Compile Include="Views\HiveCloudManagerView.Designer.cs">
       <DependentUpon>HiveCloudManagerView.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Views\SubscriptionView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="Views\SubscriptionView.Designer.cs">
+      <DependentUpon>SubscriptionView.cs</DependentUpon>
     </Compile>
   </ItemGroup>
@@ -111,5 +130,15 @@
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup />
+  <ItemGroup>
+    <EmbeddedResource Include="Views\AddSubscriptionDialog.resx">
+      <DependentUpon>AddSubscriptionDialog.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Views\HiveCloudManagerView.resx">
+      <DependentUpon>HiveCloudManagerView.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Views\SubscriptionView.resx">
+      <DependentUpon>SubscriptionView.cs</DependentUpon>
+    </EmbeddedResource>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/Subscription.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/Subscription.cs	(revision 7281)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/Subscription.cs	(revision 7281)
@@ -0,0 +1,51 @@
+﻿using System.Text;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+
+namespace HeuristicLab.Clients.Hive.CloudManager.Model {
+  public class Subscription : Item, IContent {
+    public string SubscriptionID { get; set; }
+    public string SubscriptionName { get; set; }
+    public int MaxCoreCount { get; set; }
+    public int MaxHostedServices { get; set; }
+    public int CurrentCoreCount { get; set; }
+    public int CurrentHostedServices { get; set; }
+    public string CertificateThumbprint { get; set; }
+    public bool SaveToConfig { get; set; }
+    public bool DiscoverServices { get; set; }
+
+    public Subscription() {
+
+    }
+
+    public Subscription(Subscription original, Cloner cloner) {
+
+    }
+
+    //public Subscription(Subscription original, Cloner cloner) {}
+
+    public override string ToString() {
+      StringBuilder sb = new StringBuilder();
+      sb.AppendFormat("AzureSubscription: Id={0}, Name={1}, CoreCount={2}/{3}, HostedServices={4}/{5};", SubscriptionID, SubscriptionName, CurrentCoreCount, MaxCoreCount, CurrentHostedServices, MaxHostedServices);
+      return sb.ToString();
+    }
+
+    public override int GetHashCode() {
+      return base.GetHashCode();
+    }
+
+    public override bool Equals(object obj) {
+      if (obj == null)
+        return false;
+      Subscription sub = obj as Subscription;
+      if ((this.SubscriptionID == sub.SubscriptionID))
+        return true;
+      else
+        return false;
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new Subscription(this, cloner);
+    }
+  }
+}
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/AddSubscriptionDialog.Designer.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/AddSubscriptionDialog.Designer.cs	(revision 7281)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/AddSubscriptionDialog.Designer.cs	(revision 7281)
@@ -0,0 +1,174 @@
+﻿namespace HeuristicLab.Clients.Hive.CloudManager.Views {
+  partial class AddSubscriptionDialog {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.txtCertThumbprint = new System.Windows.Forms.TextBox();
+      this.txtSubscriptionId = new System.Windows.Forms.TextBox();
+      this.label4 = new System.Windows.Forms.Label();
+      this.label2 = new System.Windows.Forms.Label();
+      this.label3 = new System.Windows.Forms.Label();
+      this.label1 = new System.Windows.Forms.Label();
+      this.cbSaveSubscription = new System.Windows.Forms.CheckBox();
+      this.cbDiscoverServices = new System.Windows.Forms.CheckBox();
+      this.btnCancel = new System.Windows.Forms.Button();
+      this.progressBar = new System.Windows.Forms.ProgressBar();
+      this.btnOk = new System.Windows.Forms.Button();
+      this.SuspendLayout();
+      // 
+      // txtCertThumbprint
+      // 
+      this.txtCertThumbprint.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.txtCertThumbprint.Location = new System.Drawing.Point(132, 32);
+      this.txtCertThumbprint.Name = "txtCertThumbprint";
+      this.txtCertThumbprint.Size = new System.Drawing.Size(385, 20);
+      this.txtCertThumbprint.TabIndex = 19;
+      // 
+      // txtSubscriptionId
+      // 
+      this.txtSubscriptionId.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.txtSubscriptionId.Location = new System.Drawing.Point(132, 6);
+      this.txtSubscriptionId.Name = "txtSubscriptionId";
+      this.txtSubscriptionId.Size = new System.Drawing.Size(385, 20);
+      this.txtSubscriptionId.TabIndex = 18;
+      // 
+      // label4
+      // 
+      this.label4.AutoSize = true;
+      this.label4.Location = new System.Drawing.Point(12, 87);
+      this.label4.Name = "label4";
+      this.label4.Size = new System.Drawing.Size(93, 13);
+      this.label4.TabIndex = 24;
+      this.label4.Text = "Save Subscription";
+      // 
+      // label2
+      // 
+      this.label2.AutoSize = true;
+      this.label2.Location = new System.Drawing.Point(12, 61);
+      this.label2.Name = "label2";
+      this.label2.Size = new System.Drawing.Size(96, 13);
+      this.label2.TabIndex = 23;
+      this.label2.Text = "Discover Services:";
+      // 
+      // label3
+      // 
+      this.label3.AutoSize = true;
+      this.label3.Location = new System.Drawing.Point(12, 35);
+      this.label3.Name = "label3";
+      this.label3.Size = new System.Drawing.Size(113, 13);
+      this.label3.TabIndex = 22;
+      this.label3.Text = "Certificate Thumbprint:";
+      // 
+      // label1
+      // 
+      this.label1.AutoSize = true;
+      this.label1.Location = new System.Drawing.Point(12, 9);
+      this.label1.Name = "label1";
+      this.label1.Size = new System.Drawing.Size(80, 13);
+      this.label1.TabIndex = 21;
+      this.label1.Text = "SubscriptionId: ";
+      // 
+      // cbSaveSubscription
+      // 
+      this.cbSaveSubscription.AutoSize = true;
+      this.cbSaveSubscription.Location = new System.Drawing.Point(132, 87);
+      this.cbSaveSubscription.Name = "cbSaveSubscription";
+      this.cbSaveSubscription.Size = new System.Drawing.Size(15, 14);
+      this.cbSaveSubscription.TabIndex = 26;
+      this.cbSaveSubscription.UseVisualStyleBackColor = true;
+      // 
+      // cbDiscoverServices
+      // 
+      this.cbDiscoverServices.AutoSize = true;
+      this.cbDiscoverServices.Location = new System.Drawing.Point(132, 61);
+      this.cbDiscoverServices.Name = "cbDiscoverServices";
+      this.cbDiscoverServices.Size = new System.Drawing.Size(15, 14);
+      this.cbDiscoverServices.TabIndex = 25;
+      this.cbDiscoverServices.UseVisualStyleBackColor = true;
+      // 
+      // btnCancel
+      // 
+      this.btnCancel.Location = new System.Drawing.Point(442, 107);
+      this.btnCancel.Name = "btnCancel";
+      this.btnCancel.Size = new System.Drawing.Size(75, 23);
+      this.btnCancel.TabIndex = 27;
+      this.btnCancel.Text = "Cancel";
+      this.btnCancel.UseVisualStyleBackColor = true;
+      // 
+      // progressBar
+      // 
+      this.progressBar.Location = new System.Drawing.Point(15, 107);
+      this.progressBar.Name = "progressBar";
+      this.progressBar.Size = new System.Drawing.Size(340, 23);
+      this.progressBar.TabIndex = 29;
+      this.progressBar.Visible = false;
+      // 
+      // btnOk
+      // 
+      this.btnOk.Location = new System.Drawing.Point(361, 107);
+      this.btnOk.Name = "btnOk";
+      this.btnOk.Size = new System.Drawing.Size(75, 23);
+      this.btnOk.TabIndex = 28;
+      this.btnOk.Text = "OK";
+      this.btnOk.UseVisualStyleBackColor = true;
+      // 
+      // AddSubscriptionDialog
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.ClientSize = new System.Drawing.Size(529, 136);
+      this.Controls.Add(this.progressBar);
+      this.Controls.Add(this.btnOk);
+      this.Controls.Add(this.btnCancel);
+      this.Controls.Add(this.cbSaveSubscription);
+      this.Controls.Add(this.cbDiscoverServices);
+      this.Controls.Add(this.label4);
+      this.Controls.Add(this.label2);
+      this.Controls.Add(this.label3);
+      this.Controls.Add(this.label1);
+      this.Controls.Add(this.txtCertThumbprint);
+      this.Controls.Add(this.txtSubscriptionId);
+      this.Name = "AddSubscriptionDialog";
+      this.Text = "AddSubscriptionDialog";
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.TextBox txtCertThumbprint;
+    private System.Windows.Forms.TextBox txtSubscriptionId;
+    private System.Windows.Forms.Label label4;
+    private System.Windows.Forms.Label label2;
+    private System.Windows.Forms.Label label3;
+    private System.Windows.Forms.Label label1;
+    private System.Windows.Forms.CheckBox cbSaveSubscription;
+    private System.Windows.Forms.CheckBox cbDiscoverServices;
+    private System.Windows.Forms.Button btnCancel;
+    private System.Windows.Forms.ProgressBar progressBar;
+    private System.Windows.Forms.Button btnOk;
+  }
+}
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/AddSubscriptionDialog.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/AddSubscriptionDialog.cs	(revision 7281)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/AddSubscriptionDialog.cs	(revision 7281)
@@ -0,0 +1,88 @@
+﻿using System;
+using System.ComponentModel;
+using System.Threading;
+using System.Windows.Forms;
+using HeuristicLab.Clients.Hive.CloudManager.Model;
+
+namespace HeuristicLab.Clients.Hive.CloudManager.Views {
+  public partial class AddSubscriptionDialog : Form {
+    public bool ErrorOccured { get; set; }
+    public Subscription Subscription { get; set; }
+
+    private BackgroundWorker worker = new BackgroundWorker();
+
+    public AddSubscriptionDialog() {
+      InitializeComponent();
+
+      txtCertThumbprint.Text = "EFFD1808EF2F0658C52997CF00F7A86680F9FA62";
+      txtSubscriptionId.Text = "271e67e2-3132-4429-b0e7-ab94d3a95554";
+      cbSaveSubscription.Checked = false;
+      cbDiscoverServices.Checked = true;
+
+      SetWorkerEvents();
+      ErrorOccured = true;
+    }
+
+    private void btnOk_Click(object sender, System.EventArgs e) {
+      this.progressBar.Visible = true;
+      worker.RunWorkerAsync();
+    }
+
+    private void btnCancel_Click(object sender, System.EventArgs e) {
+      this.Close();
+    }
+
+    private void SetWorkerEvents() {
+      worker.WorkerReportsProgress = true;
+      worker.DoWork += new DoWorkEventHandler(LoadSubscription);
+      worker.ProgressChanged += new ProgressChangedEventHandler(ProgressChanged);
+      worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(WorkerCompleted);
+    }
+
+    private void ProgressChanged(object sender, ProgressChangedEventArgs e) {
+      progressBar.Value = e.ProgressPercentage;
+    }
+
+    private void WorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {
+      progressBar.Visible = false;
+      if (!ErrorOccured) {
+        this.Close();
+      } else {
+        this.Show();
+      }
+    }
+
+    private void LoadSubscription(object sender, DoWorkEventArgs e) {
+      try {
+        worker.ReportProgress(25, "Add Subscription");
+        //Subscription = service.GetSubscriptionInfo(txtSubscriptionId.Text, txtCertThumbprint.Text);
+        Subscription.SaveToConfig = cbSaveSubscription.Checked;
+        Subscription.DiscoverServices = cbDiscoverServices.Checked;
+        ErrorOccured = false;
+      }
+      catch (SystemException ex) {
+        ErrorOccured = true;
+        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+      }
+      try {
+
+        if (!ErrorOccured) {
+          worker.ReportProgress(50, "Get Subscription Info");
+          //TODO: operation
+          ErrorOccured = false;
+        }
+      }
+      catch (SystemException ex) {
+        ErrorOccured = true;
+        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+        worker.ReportProgress(25, "Rollback: Remove hosted service");
+        // Rollback operation
+      }
+
+      if (!ErrorOccured) {
+        worker.ReportProgress(100, "");
+        Thread.Sleep(1000);
+      }
+    }
+  }
+}
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/CloudResourcesView.Designer.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/CloudResourcesView.Designer.cs	(revision 7281)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/CloudResourcesView.Designer.cs	(revision 7281)
@@ -0,0 +1,32 @@
+﻿namespace HeuristicLab.Clients.Hive.CloudManager.Views {
+  partial class CloudResourcesView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      components = new System.ComponentModel.Container();
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+    }
+
+    #endregion
+  }
+}
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/CloudResourcesView.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/CloudResourcesView.cs	(revision 7281)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/CloudResourcesView.cs	(revision 7281)
@@ -0,0 +1,16 @@
+﻿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace HeuristicLab.Clients.Hive.CloudManager.Views {
+  public partial class CloudResourcesView : UserControl {
+    public CloudResourcesView() {
+      InitializeComponent();
+    }
+  }
+}
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/HiveCloudManagerView.Designer.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/HiveCloudManagerView.Designer.cs	(revision 7279)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/HiveCloudManagerView.Designer.cs	(revision 7281)
@@ -24,9 +24,47 @@
     /// </summary>
     private void InitializeComponent() {
-      components = new System.ComponentModel.Container();
+      this.tabResources = new System.Windows.Forms.TabControl();
+      this.tabResource = new System.Windows.Forms.TabPage();
+      this.tabResources.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // tabResources
+      // 
+      this.tabResources.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.tabResources.Controls.Add(this.tabResource);
+      this.tabResources.Location = new System.Drawing.Point(3, 3);
+      this.tabResources.Name = "tabResources";
+      this.tabResources.SelectedIndex = 0;
+      this.tabResources.Size = new System.Drawing.Size(739, 540);
+      this.tabResources.TabIndex = 0;
+      // 
+      // tabResource
+      // 
+      this.tabResource.Location = new System.Drawing.Point(4, 22);
+      this.tabResource.Name = "tabResource";
+      this.tabResource.Padding = new System.Windows.Forms.Padding(3);
+      this.tabResource.Size = new System.Drawing.Size(731, 514);
+      this.tabResource.TabIndex = 0;
+      this.tabResource.Text = "Resources";
+      this.tabResource.UseVisualStyleBackColor = true;
+      // 
+      // HiveCloudManagerView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.tabResources);
+      this.Name = "HiveCloudManagerView";
+      this.Size = new System.Drawing.Size(745, 546);
+      this.tabResources.ResumeLayout(false);
+      this.ResumeLayout(false);
+
     }
 
     #endregion
+
+    private System.Windows.Forms.TabControl tabResources;
+    private System.Windows.Forms.TabPage tabResource;
   }
 }
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/SubscriptionView.Designer.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/SubscriptionView.Designer.cs	(revision 7281)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/SubscriptionView.Designer.cs	(revision 7281)
@@ -0,0 +1,203 @@
+﻿namespace HeuristicLab.Clients.Hive.CloudManager.Views {
+  partial class SubscriptionView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.label1 = new System.Windows.Forms.Label();
+      this.txtSubscriptionId = new System.Windows.Forms.TextBox();
+      this.label3 = new System.Windows.Forms.Label();
+      this.txtCertThumbprint = new System.Windows.Forms.TextBox();
+      this.label2 = new System.Windows.Forms.Label();
+      this.cbSaveSubscription = new System.Windows.Forms.CheckBox();
+      this.label4 = new System.Windows.Forms.Label();
+      this.cbDiscoverServices = new System.Windows.Forms.CheckBox();
+      this.gbQuota = new System.Windows.Forms.GroupBox();
+      this.label5 = new System.Windows.Forms.Label();
+      this.lblQuotaCores = new System.Windows.Forms.Label();
+      this.label6 = new System.Windows.Forms.Label();
+      this.lblQuotaHostedServices = new System.Windows.Forms.Label();
+      this.gbQuota.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // label1
+      // 
+      this.label1.AutoSize = true;
+      this.label1.Location = new System.Drawing.Point(3, 16);
+      this.label1.Name = "label1";
+      this.label1.Size = new System.Drawing.Size(80, 13);
+      this.label1.TabIndex = 8;
+      this.label1.Text = "SubscriptionId: ";
+      // 
+      // txtSubscriptionId
+      // 
+      this.txtSubscriptionId.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.txtSubscriptionId.Location = new System.Drawing.Point(122, 9);
+      this.txtSubscriptionId.Name = "txtSubscriptionId";
+      this.txtSubscriptionId.Size = new System.Drawing.Size(396, 20);
+      this.txtSubscriptionId.TabIndex = 10;
+      // 
+      // label3
+      // 
+      this.label3.AutoSize = true;
+      this.label3.Location = new System.Drawing.Point(3, 43);
+      this.label3.Name = "label3";
+      this.label3.Size = new System.Drawing.Size(113, 13);
+      this.label3.TabIndex = 16;
+      this.label3.Text = "Certificate Thumbprint:";
+      // 
+      // txtCertThumbprint
+      // 
+      this.txtCertThumbprint.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.txtCertThumbprint.Location = new System.Drawing.Point(122, 40);
+      this.txtCertThumbprint.Name = "txtCertThumbprint";
+      this.txtCertThumbprint.Size = new System.Drawing.Size(396, 20);
+      this.txtCertThumbprint.TabIndex = 17;
+      // 
+      // label2
+      // 
+      this.label2.AutoSize = true;
+      this.label2.Location = new System.Drawing.Point(4, 141);
+      this.label2.Name = "label2";
+      this.label2.Size = new System.Drawing.Size(96, 13);
+      this.label2.TabIndex = 18;
+      this.label2.Text = "Save Subscription:";
+      // 
+      // cbSaveSubscription
+      // 
+      this.cbSaveSubscription.AutoSize = true;
+      this.cbSaveSubscription.Location = new System.Drawing.Point(123, 141);
+      this.cbSaveSubscription.Name = "cbSaveSubscription";
+      this.cbSaveSubscription.Size = new System.Drawing.Size(15, 14);
+      this.cbSaveSubscription.TabIndex = 19;
+      this.cbSaveSubscription.UseVisualStyleBackColor = true;
+      // 
+      // label4
+      // 
+      this.label4.AutoSize = true;
+      this.label4.Location = new System.Drawing.Point(4, 166);
+      this.label4.Name = "label4";
+      this.label4.Size = new System.Drawing.Size(96, 13);
+      this.label4.TabIndex = 20;
+      this.label4.Text = "Discover Services:";
+      // 
+      // cbDiscoverServices
+      // 
+      this.cbDiscoverServices.AutoSize = true;
+      this.cbDiscoverServices.Location = new System.Drawing.Point(123, 166);
+      this.cbDiscoverServices.Name = "cbDiscoverServices";
+      this.cbDiscoverServices.Size = new System.Drawing.Size(15, 14);
+      this.cbDiscoverServices.TabIndex = 21;
+      this.cbDiscoverServices.UseVisualStyleBackColor = true;
+      // 
+      // gbQuota
+      // 
+      this.gbQuota.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.gbQuota.Controls.Add(this.lblQuotaHostedServices);
+      this.gbQuota.Controls.Add(this.label6);
+      this.gbQuota.Controls.Add(this.lblQuotaCores);
+      this.gbQuota.Controls.Add(this.label5);
+      this.gbQuota.Location = new System.Drawing.Point(6, 73);
+      this.gbQuota.Name = "gbQuota";
+      this.gbQuota.Size = new System.Drawing.Size(512, 65);
+      this.gbQuota.TabIndex = 22;
+      this.gbQuota.TabStop = false;
+      this.gbQuota.Text = "Quota";
+      // 
+      // label5
+      // 
+      this.label5.AutoSize = true;
+      this.label5.Location = new System.Drawing.Point(6, 16);
+      this.label5.Name = "label5";
+      this.label5.Size = new System.Drawing.Size(37, 13);
+      this.label5.TabIndex = 23;
+      this.label5.Text = "Cores:";
+      // 
+      // lblQuotaCores
+      // 
+      this.lblQuotaCores.AutoSize = true;
+      this.lblQuotaCores.Location = new System.Drawing.Point(113, 16);
+      this.lblQuotaCores.Name = "lblQuotaCores";
+      this.lblQuotaCores.Size = new System.Drawing.Size(30, 13);
+      this.lblQuotaCores.TabIndex = 24;
+      this.lblQuotaCores.Text = "0 / 3";
+      // 
+      // label6
+      // 
+      this.label6.AutoSize = true;
+      this.label6.Location = new System.Drawing.Point(6, 39);
+      this.label6.Name = "label6";
+      this.label6.Size = new System.Drawing.Size(88, 13);
+      this.label6.TabIndex = 25;
+      this.label6.Text = "Hosted Services:";
+      // 
+      // lblQuotaHostedServices
+      // 
+      this.lblQuotaHostedServices.AutoSize = true;
+      this.lblQuotaHostedServices.Location = new System.Drawing.Point(113, 39);
+      this.lblQuotaHostedServices.Name = "lblQuotaHostedServices";
+      this.lblQuotaHostedServices.Size = new System.Drawing.Size(30, 13);
+      this.lblQuotaHostedServices.TabIndex = 26;
+      this.lblQuotaHostedServices.Text = "0 / 3";
+      // 
+      // SubscriptionView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.gbQuota);
+      this.Controls.Add(this.cbDiscoverServices);
+      this.Controls.Add(this.label4);
+      this.Controls.Add(this.cbSaveSubscription);
+      this.Controls.Add(this.label2);
+      this.Controls.Add(this.txtCertThumbprint);
+      this.Controls.Add(this.label3);
+      this.Controls.Add(this.txtSubscriptionId);
+      this.Controls.Add(this.label1);
+      this.Name = "SubscriptionView";
+      this.Size = new System.Drawing.Size(521, 190);
+      this.gbQuota.ResumeLayout(false);
+      this.gbQuota.PerformLayout();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.Label label1;
+    private System.Windows.Forms.TextBox txtSubscriptionId;
+    private System.Windows.Forms.Label label3;
+    private System.Windows.Forms.TextBox txtCertThumbprint;
+    private System.Windows.Forms.Label label2;
+    private System.Windows.Forms.CheckBox cbSaveSubscription;
+    private System.Windows.Forms.Label label4;
+    private System.Windows.Forms.CheckBox cbDiscoverServices;
+    private System.Windows.Forms.GroupBox gbQuota;
+    private System.Windows.Forms.Label lblQuotaHostedServices;
+    private System.Windows.Forms.Label label6;
+    private System.Windows.Forms.Label lblQuotaCores;
+    private System.Windows.Forms.Label label5;
+  }
+}
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/SubscriptionView.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/SubscriptionView.cs	(revision 7281)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Views/SubscriptionView.cs	(revision 7281)
@@ -0,0 +1,19 @@
+﻿using System.Windows.Forms;
+using HeuristicLab.Clients.Hive.CloudManager.Model;
+using HeuristicLab.Core.Views;
+using HeuristicLab.MainForm;
+
+namespace HeuristicLab.Clients.Hive.CloudManager.Views {
+  [View("SubscriptionView")]
+  [Content(typeof(Subscription), IsDefaultView = true)]
+  public partial class SubscriptionView : ItemView {
+    public new Subscription Content {
+      get { return (Subscription)base.Content; }
+      set { base.Content = value; }
+    }
+
+    public SubscriptionView() {
+      InitializeComponent();
+    }
+  }
+}
