public override void ExecuteCmdlet() { var keys = new List <string>(); if (Key1) { keys.Add("Key1"); } if (Key2) { keys.Add("Key2"); } if (keys.Count == 0) { throw new ArgumentException("At least one of Key1 or Key2 switch required"); } var description = string.Format(Resources.ResetWorkspaceCollectionAccessKeyDescription, keys[0], this.WorkspaceCollectionName); var warning = string.Format(Resources.ResetWorkspaceCollectionAccessKeyWarning, keys[0], this.WorkspaceCollectionName); if (!ShouldProcess(description, warning, Resources.ShouldProcessCaption)) { return; } foreach (var key in keys) { var accessKeyRequest = new WorkspaceCollectionAccessKey((AccessKeyName)Enum.Parse(typeof(AccessKeyName), key)); var accessKeys = this.PowerBIClient.WorkspaceCollections.RegenerateKey( this.ResourceGroupName, this.WorkspaceCollectionName, accessKeyRequest); this.WriteWorkspaceCollectionAccessKeys(accessKeys); } }
public void TestRegenerateAccessKey2() { using (MockContext context = MockContext.Start(this.GetType().FullName)) { this.Initialize(context); var resourceGroup = this.CreateResourceGroup(); var workspaceCollection = this.CreateWorkspaceCollection(resourceGroup); var accessKeyRequest = new WorkspaceCollectionAccessKey(AccessKeyName.Key2); var originalKeys = this.powerBIClient.WorkspaceCollections.GetAccessKeys(resourceGroup.Name, workspaceCollection.Name); var result = this.powerBIClient.WorkspaceCollections.RegenerateKey(resourceGroup.Name, workspaceCollection.Name, accessKeyRequest); var newKeys = this.powerBIClient.WorkspaceCollections.GetAccessKeys(resourceGroup.Name, workspaceCollection.Name); // Key1 is different, Key2 is the same Assert.Equal(originalKeys.Key1, result.Key1); Assert.NotEqual(originalKeys.Key2, result.Key2); // Regenerated keys are the same as new keys Assert.Equal(result.Key1, newKeys.Key1); Assert.Equal(result.Key2, newKeys.Key2); } }
public override void ExecuteCmdlet() { var keys = new List<string>(); if (Key1) { keys.Add("Key1"); } if (Key2) { keys.Add("Key2"); } if (keys.Count == 0) { throw new ArgumentException("At least one of Key1 or Key2 switch required"); } var description = string.Format(Resources.ResetWorkspaceCollectionAccessKeyDescription, keys[0], this.WorkspaceCollectionName); var warning = string.Format(Resources.ResetWorkspaceCollectionAccessKeyWarning, keys[0], this.WorkspaceCollectionName); if (!ShouldProcess(description, warning, Resources.ShouldProcessCaption)) { return; } foreach (var key in keys) { var accessKeyRequest = new WorkspaceCollectionAccessKey((AccessKeyName)Enum.Parse(typeof(AccessKeyName), key)); var accessKeys = this.PowerBIClient.WorkspaceCollections.RegenerateKey( this.ResourceGroupName, this.WorkspaceCollectionName, accessKeyRequest); this.WriteWorkspaceCollectionAccessKeys(accessKeys); } }
/// <summary> /// Regenerates the primary or secondary access key for the specified Power BI /// Workspace Collection. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// Azure resource group /// </param> /// <param name='workspaceCollectionName'> /// Power BI Embedded Workspace Collection name /// </param> /// <param name='body'> /// Access key to regenerate /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <WorkspaceCollectionAccessKeys> RegenerateKeyAsync(this IWorkspaceCollectionsOperations operations, string resourceGroupName, string workspaceCollectionName, WorkspaceCollectionAccessKey body, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.RegenerateKeyWithHttpMessagesAsync(resourceGroupName, workspaceCollectionName, body, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Regenerates the primary or secondary access key for the specified Power BI /// Workspace Collection. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// Azure resource group /// </param> /// <param name='workspaceCollectionName'> /// Power BI Embedded Workspace Collection name /// </param> /// <param name='body'> /// Access key to regenerate /// </param> public static WorkspaceCollectionAccessKeys RegenerateKey(this IWorkspaceCollectionsOperations operations, string resourceGroupName, string workspaceCollectionName, WorkspaceCollectionAccessKey body) { return(Task.Factory.StartNew(s => ((IWorkspaceCollectionsOperations)s).RegenerateKeyAsync(resourceGroupName, workspaceCollectionName, body), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }