public virtual PSSavedSearchValue UpdateSavedSearch(PSSavedSearchParameters parameters) { PSSavedSearchValue existingSavedSearch; try { existingSavedSearch = GetSavedSearch(parameters.ResourceGroupName, parameters.WorkspaceName, parameters.SavedSearchId); } catch (RestException) { throw new PSArgumentException($"Saved Search '{parameters.DisplayName}' under resource group: '{parameters.ResourceGroupName}', workspace: '{parameters.WorkspaceName}' does not exist. Please use New-OperationalInsightsSavedSearch for creating Saved search"); } parameters.DisplayName = parameters.DisplayName == null ? existingSavedSearch.Properties.DisplayName : parameters.DisplayName; parameters.Category = parameters.Category == null ? existingSavedSearch.Properties.Category : parameters.Category; parameters.Version = parameters.Version == null ? existingSavedSearch.Properties.Version : parameters.Version; parameters.Query = parameters.Query == null ? existingSavedSearch.Properties.Query : parameters.Query; parameters.FunctionAlias = parameters.FunctionAlias == null ? existingSavedSearch.Properties.FunctionAlias : parameters.FunctionAlias; parameters.FunctionParameters = parameters.FunctionParameters == null ? existingSavedSearch.Properties.FunctionParameters : parameters.FunctionParameters; parameters.ETag = parameters.ETag == null ? existingSavedSearch.Properties.Etag : parameters.ETag; parameters.Tags = parameters.Tags == null ? existingSavedSearch.Properties.Tags : parameters.Tags; Rest.Azure.AzureOperationResponse <SavedSearch> response = this.OperationalInsightsManagementClient.SavedSearches.CreateOrUpdateWithHttpMessagesAsync(parameters.ResourceGroupName, parameters.WorkspaceName, parameters.SavedSearchId, parameters.GetSavedSearchFromParameters()).GetAwaiter().GetResult(); return(new PSSavedSearchValue(response.Body)); }
public virtual PSSavedSearchValue CreateSavedSearch(PSSavedSearchParameters parameters, Action <bool, string, string, string, Action, Func <bool> > ConfirmAction, bool force) { PSSavedSearchValue existingSavedSearch; try { existingSavedSearch = GetSavedSearch(parameters.ResourceGroupName, parameters.WorkspaceName, parameters.SavedSearchId); } catch (RestException) { existingSavedSearch = null; } if (existingSavedSearch != null) { throw new PSInvalidOperationException($"Saved search with id: '{parameters.SavedSearchId}' already exists in resource group: '{parameters.ResourceGroupName}', workspace: '{parameters.WorkspaceName}'. Please use Set-OperationalInsightsSavedSearch for updating."); } PSSavedSearchValue createdSavedSearch = null; Action createSavedSearch = () => { createdSavedSearch = new PSSavedSearchValue(this.OperationalInsightsManagementClient.SavedSearches.CreateOrUpdate(parameters.ResourceGroupName, parameters.WorkspaceName, parameters.SavedSearchId, parameters.GetSavedSearchFromParameters())); }; ConfirmAction( force, string.Format( CultureInfo.InvariantCulture, Resources.SavedSearchExists, parameters.SavedSearchId, parameters.WorkspaceName), string.Format( CultureInfo.InvariantCulture, Resources.SavedSearchCreating, parameters.SavedSearchId, parameters.WorkspaceName), parameters.SavedSearchId, createSavedSearch, () => CheckSavedSearchExists(parameters.ResourceGroupName, parameters.WorkspaceName, parameters.SavedSearchId)); return(createdSavedSearch); }