public string[] GetStorageAccountKeys(string name)
 {
     var keys = new GetStorageAccountKeysCommand(name)
     {
         SubscriptionId = SubscriptionId,
         Certificate = ManagementCertificate
     };
     keys.Execute();
     return new string[2] {keys.PrimaryStorageKey, keys.SecondaryStorageKey};
 }
        /// <summary>
        /// Used to create a storage account
        /// </summary>
        private bool CreateStorageAccount()
        {
            // Check to see whether the storage account details have been populated correctly
            if (Manager.StorageAccountDescription == null || Manager.StorageAccountLocation == null)
            {
                Manager.WriteComplete(EventPoint.ExceptionOccurrence, "Description or location not specified");
                return false;
            }

            try
            {
                // issue the create storage account command
                var create = new CreateStorageAccountCommand(Manager.StorageAccountName,
                                                             Manager.StorageAccountDescription,
                                                             Manager.StorageAccountLocation)
                                 {
                                     SubscriptionId = Manager.SubscriptionId,
                                     Certificate = Manager.ManagementCertificate
                                 };
                create.Execute();
                Manager.WriteComplete(EventPoint.StorageAccountCreated,
                                      "Storage account " + Manager.StorageAccountName + " created");
                // get the storage account keys
                var keys = new GetStorageAccountKeysCommand(Manager.StorageAccountName)
                               {
                                   SubscriptionId = Manager.SubscriptionId,
                                   Certificate = Manager.ManagementCertificate
                               };
                keys.Execute();
                Manager.WriteComplete(EventPoint.StorageKeyRequestSuccess, "Keys returned from storage request");
                // populate the primary and secondary keys
                Manager.StorageAccountPrimaryKey = keys.PrimaryStorageKey;
                Manager.StorageAccountSecondaryKey = keys.SecondaryStorageKey;
            }
            catch (Exception exception)
            {
                // rollback the operation if it failed
                Manager.WriteComplete(EventPoint.ExceptionOccurrence, exception.GetType() + ": " + exception.Message);
                return false;
            }
            return true;
        }
 /// <summary>
 /// Gets a list of storage accounts from the storage catalog
 /// </summary>
 List<StorageAccount> IStorageActivity.GetStorageAccountList(bool includeKeys)
 {
     var getStorageAccountList = new ListStorageAccountsCommand
                                     {
                                         SubscriptionId = Manager.SubscriptionId,
                                         Certificate = Manager.ManagementCertificate
                                     };
     getStorageAccountList.Execute();
     if(!includeKeys)
         return getStorageAccountList.StorageAccounts;
     // if the get keys flag is supplied then ensure that this returns the keys with the structure
     foreach (var storageAccount in getStorageAccountList.StorageAccounts)
     {
         var keys = new GetStorageAccountKeysCommand(storageAccount.Name)
             {
                 SubscriptionId = Manager.SubscriptionId,
                 Certificate = Manager.ManagementCertificate
             };
         keys.Execute();
         storageAccount.PrimaryAccessKey = keys.PrimaryStorageKey;
         storageAccount.SecondaryAccessKey = keys.SecondaryStorageKey;
     }
     return getStorageAccountList.StorageAccounts;
 }
 /// <summary>
 /// Gets the blob account key
 /// </summary>
 public string GetAccountKey()
 {
     var getStorageAccountKeysCommand = new GetStorageAccountKeysCommand(AccountName)
     {
         SubscriptionId = SubscriptionId,
         Certificate = ManagementCertificate
     };
     getStorageAccountKeysCommand.Execute();
     return (AccountKey = getStorageAccountKeysCommand.PrimaryStorageKey);
 }