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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 /// <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);
     }
 }
コード例 #5
0
 /// <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());
 }