Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Azure/AzureProvider.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Azure/AzureProvider.cs	(revision 7401)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Azure/AzureProvider.cs	(revision 7402)
@@ -45,5 +45,10 @@
         throw new ArgumentException("Servicename is not valid.", "serviceName");
       }
-      return ServiceManagementOperation.GetHostedServiceDetailed(subscription.SubscriptionID, subscription.CertificateThumbprint, serviceName);
+      HostedService service = ServiceManagementOperation.GetHostedServiceDetailed(subscription.SubscriptionID, subscription.CertificateThumbprint, serviceName);
+      service.Subscription = subscription;
+      foreach (Deployment dep in service.Deployments) {
+        dep.Subscription = subscription;
+      }
+      return service;
     }
 
@@ -59,5 +64,12 @@
         throw new ArgumentNullException("Subscription must not be null.", "subscription");
       }
-      return ServiceManagementOperation.ListHostedServices(subscription.SubscriptionID, subscription.CertificateThumbprint);
+      List<HostedService> services = ServiceManagementOperation.ListHostedServices(subscription.SubscriptionID, subscription.CertificateThumbprint);
+      foreach (HostedService serv in services) {
+        serv.Subscription = subscription;
+        foreach (Deployment dep in serv.Deployments) {
+          dep.Subscription = subscription;
+        }
+      }
+      return services;
     }
 
@@ -145,5 +157,12 @@
         throw new ArgumentNullException("Subscription must not be null.", "subscription");
       }
-      return ServiceManagementOperation.DiscoverSlaveService(subscription.SubscriptionID, subscription.CertificateThumbprint);
+      List<HostedService> services = ServiceManagementOperation.DiscoverSlaveService(subscription.SubscriptionID, subscription.CertificateThumbprint);
+      foreach (HostedService serv in services) {
+        serv.Subscription = subscription;
+        foreach (Deployment dep in serv.Deployments) {
+          dep.Subscription = subscription;
+        }
+      }
+      return services;
     }
   }
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Azure/Constants.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Azure/Constants.cs	(revision 7401)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Azure/Constants.cs	(revision 7402)
@@ -86,4 +86,16 @@
 
     #endregion
+
+    #region Enums
+
+    public enum InstanceSize {
+      ExtraSmall = 0,
+      Small = 1,
+      Medium = 2,
+      Large = 4,
+      ExtraLarge = 8
+    }
+
+    #endregion
   }
 }
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Azure/ServiceManagementOperation.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Azure/ServiceManagementOperation.cs	(revision 7401)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Azure/ServiceManagementOperation.cs	(revision 7402)
@@ -117,5 +117,4 @@
       service.ServiceName = response.Descendants(wa + "ServiceName").Single().Value;
       service.Url = response.Descendants(wa + "Url").Single().Value;
-      service.SubscriptionId = subscriptionId;
       return service;
     }
@@ -128,5 +127,4 @@
       service.ServiceName = response.Descendants(wa + "ServiceName").Single().Value;
       service.Url = response.Descendants(wa + "Url").First().Value;
-      service.SubscriptionId = subscriptionId;
       if (response.Root.Elements(wa + "HostedServiceProperties").Any()) {
         XElement xHostedServiceProperties = response.Descendants(wa + "HostedServiceProperties").Single();
@@ -402,5 +400,7 @@
                                                  RoleName = s.Descendants(wa + "RoleName").Single().Value,
                                                  InstanceName = s.Descendants(wa + "InstanceName").Single().Value,
-                                                 InstanceStatus = s.Descendants(wa + "InstanceStatus").Single().Value
+                                                 InstanceStatus = s.Descendants(wa + "InstanceStatus").Single().Value,
+                                                 InstanceSize = s.Descendants(wa + "InstanceSize").Single().Value,
+                                                 InstanceStateDetails = s.Descendants(wa + "InstanceStateDetails").Single().Value
                                                }).ToList();
         deployment.RoleInstanceList = new List<RoleInstance>(instances);
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/Deployment.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/Deployment.cs	(revision 7401)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/Deployment.cs	(revision 7402)
@@ -37,4 +37,5 @@
     public int UpgradeDomainCount;
     public List<Role> RoleList { get; set; }
+    public Subscription Subscription { get; set; }
 
     public Deployment() {
@@ -54,4 +55,5 @@
       this.UpgradeDomainCount = original.UpgradeDomainCount;
       this.RoleList = new List<Role>(original.RoleList);
+      this.Subscription = cloner.Clone(original.Subscription);
 
     }
@@ -90,4 +92,5 @@
       this.UpgradeDomainCount = deployment.UpgradeDomainCount;
       this.RoleList = deployment.RoleList;
+      this.Subscription = deployment.Subscription;
     }
   }
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/HostedService.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/HostedService.cs	(revision 7401)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/HostedService.cs	(revision 7402)
@@ -28,5 +28,5 @@
     public string ServiceName { get; set; }
     public string Url { get; set; }
-    public string SubscriptionId { get; set; }
+    public Subscription Subscription { get; set; }
     public HostedServiceProperties HostedServiceProperties { get; set; }
     public List<Deployment> Deployments { get; set; }
@@ -39,5 +39,6 @@
       this.ServiceName = original.ServiceName;
       this.Url = original.Url;
-      this.HostedServiceProperties = cloner.Clone(HostedServiceProperties);
+      this.Subscription = cloner.Clone(original.Subscription);
+      this.HostedServiceProperties = cloner.Clone(original.HostedServiceProperties);
       this.Deployments = new List<Deployment>(original.Deployments);
     }
Index: branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/RoleInstance.cs
===================================================================
--- branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/RoleInstance.cs	(revision 7401)
+++ branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive.CloudManager/3.3/Model/RoleInstance.cs	(revision 7402)
@@ -28,4 +28,7 @@
     public string InstanceName { get; set; }
     public string InstanceStatus { get; set; }
+    public string InstanceSize { get; set; }
+    public string InstanceStateDetails { get; set; }
+    public string InstanceErrorCode { get; set; }
 
     public RoleInstance() {
@@ -37,4 +40,7 @@
       this.InstanceName = original.InstanceName;
       this.InstanceStatus = original.InstanceStatus;
+      this.InstanceSize = original.InstanceSize;
+      this.InstanceStateDetails = original.InstanceStateDetails;
+      this.InstanceErrorCode = original.InstanceErrorCode;
     }
 
