internal static RegenerateStorageAccountKeysInfo Create(StorageAccountKeyType keyType) { return new RegenerateStorageAccountKeysInfo { KeyType = keyType }; }
/// <summary> /// Begins and asyncrounous operation to regenerate one of the storage account keys. /// </summary> /// <param name="storageAccountName">The name of the storage account.</param> /// <param name="keyType">Which storage account key to regenerate.</param> /// <param name="token">An optional <see cref="CancellationToken"/>.</param> /// <returns>A <see cref="Task"/> which returns a new <see cref="StorageAccountKeys"/> object.</returns> public Task<StorageAccountKeys> RegenerateStorageAccountKeys(string storageAccountName, StorageAccountKeyType keyType, CancellationToken token = default(CancellationToken)) { Validation.ValidateStorageAccountName(storageAccountName); RegenerateStorageAccountKeysInfo info = RegenerateStorageAccountKeysInfo.Create(keyType); HttpRequestMessage message = CreateBaseMessage(HttpMethod.Post, CreateTargetUri(UriFormatStrings.RegenerateStorageAccountKeys, storageAccountName), info); //while this, clearly, is not a get operation, it returns a custom datacontract //so we can use the StartGetTask method to get the right return value return StartGetTask<StorageAccountKeys>(message, token); }