public override void ExecuteCmdlet() { if (this.IsParameterBound(c => c.InputObject)) { this.ResourceGroupName = new ResourceIdentifier(this.InputObject.Id).ResourceGroupName; this.Name = this.InputObject.Name; } if (this.IsParameterBound(c => c.ResourceId)) { var resourceIdentifier = new ResourceIdentifier(this.ResourceId); this.ResourceGroupName = resourceIdentifier.ResourceGroupName; this.Name = resourceIdentifier.ResourceName; } if (string.IsNullOrEmpty(ResourceGroupName)) { ResourceGroupName = SynapseAnalyticsClient.GetResourceGroupByWorkspaceName(Name); } Workspace existingWorkspace = null; try { existingWorkspace = SynapseAnalyticsClient.GetWorkspace(this.ResourceGroupName, this.Name); } catch { existingWorkspace = null; } if (existingWorkspace == null) { throw new AzPSInvalidOperationException(string.Format(Resources.FailedToDiscoverWorkspace, this.Name, this.ResourceGroupName)); } WorkspacePatchInfo patchInfo = new WorkspacePatchInfo(); patchInfo.Tags = this.IsParameterBound(c => c.Tag) ? TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true) : TagsConversionHelper.CreateTagDictionary(this.InputObject?.Tags, validate: true); patchInfo.SqlAdministratorLoginPassword = this.IsParameterBound(c => c.SqlAdministratorLoginPassword) ? this.SqlAdministratorLoginPassword.ConvertToString() : null; if (ShouldProcess(this.Name, string.Format(Resources.UpdatingSynapseWorkspace, this.Name, this.ResourceGroupName))) { var workspace = new PSSynapseWorkspace(SynapseAnalyticsClient.UpdateWorkspace( this.ResourceGroupName, this.Name, patchInfo)); this.WriteObject(workspace); } }
/// <summary> /// Updates a workspace /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. The name is case insensitive. /// </param> /// <param name='workspaceName'> /// The name of the workspace /// </param> /// <param name='workspacePatchInfo'> /// Workspace patch request properties /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <Workspace> BeginUpdateAsync(this IWorkspacesOperations operations, string resourceGroupName, string workspaceName, WorkspacePatchInfo workspacePatchInfo, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginUpdateWithHttpMessagesAsync(resourceGroupName, workspaceName, workspacePatchInfo, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Updates a workspace /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. The name is case insensitive. /// </param> /// <param name='workspaceName'> /// The name of the workspace /// </param> /// <param name='workspacePatchInfo'> /// Workspace patch request properties /// </param> public static Workspace BeginUpdate(this IWorkspacesOperations operations, string resourceGroupName, string workspaceName, WorkspacePatchInfo workspacePatchInfo) { return(operations.BeginUpdateAsync(resourceGroupName, workspaceName, workspacePatchInfo).GetAwaiter().GetResult()); }
public override void ExecuteCmdlet() { if (this.IsParameterBound(c => c.InputObject)) { this.ResourceGroupName = new ResourceIdentifier(this.InputObject.Id).ResourceGroupName; this.Name = this.InputObject.Name; } if (this.IsParameterBound(c => c.ResourceId)) { var resourceIdentifier = new ResourceIdentifier(this.ResourceId); this.ResourceGroupName = resourceIdentifier.ResourceGroupName; this.Name = resourceIdentifier.ResourceName; } if (string.IsNullOrEmpty(ResourceGroupName)) { ResourceGroupName = SynapseAnalyticsClient.GetResourceGroupByWorkspaceName(Name); } Workspace existingWorkspace = null; try { existingWorkspace = SynapseAnalyticsClient.GetWorkspace(this.ResourceGroupName, this.Name); } catch { existingWorkspace = null; } if (existingWorkspace == null) { throw new AzPSInvalidOperationException(string.Format(Resources.FailedToDiscoverWorkspace, this.Name, this.ResourceGroupName)); } WorkspacePatchInfo patchInfo = new WorkspacePatchInfo(); patchInfo.Tags = this.IsParameterBound(c => c.Tag) ? TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true) : TagsConversionHelper.CreateTagDictionary(this.InputObject?.Tags, validate: true); patchInfo.SqlAdministratorLoginPassword = this.IsParameterBound(c => c.SqlAdministratorLoginPassword) ? this.SqlAdministratorLoginPassword.ConvertToString() : null; patchInfo.ManagedVirtualNetworkSettings = this.IsParameterBound(c => c.ManagedVirtualNetwork) ? this.ManagedVirtualNetwork?.ToSdkObject() : this.InputObject?.ManagedVirtualNetworkSettings?.ToSdkObject(); string encrptionKeyName = this.IsParameterBound(c => c.EncryptionKeyName) ? this.EncryptionKeyName : this.InputObject?.Encryption?.CustomerManagedKeyDetails?.Key?.Name; patchInfo.Encryption = !string.IsNullOrEmpty(encrptionKeyName) ? new EncryptionDetails { Cmk = new CustomerManagedKeyDetails { Key = new WorkspaceKeyDetails { Name = encrptionKeyName } } } : null; patchInfo.WorkspaceRepositoryConfiguration = this.IsParameterBound(c => c.GitRepository) ? this.GitRepository.ToSdkObject() : null; if (ShouldProcess(this.Name, string.Format(Resources.UpdatingSynapseWorkspace, this.Name, this.ResourceGroupName))) { var workspace = new PSSynapseWorkspace(SynapseAnalyticsClient.UpdateWorkspace( this.ResourceGroupName, this.Name, patchInfo)); this.WriteObject(workspace); } }