protected override void ProcessRecord() { var tags = new Hashtable(); tags.Add(key: "Group", value: "Computer"); PSSavedSearchParameters parameters = new PSSavedSearchParameters( resourceGroupName: ResourceGroupName, workspaceName: WorkspaceName, savedSearchId: SavedSearchId, category: Category, displayName: DisplayName, query: Query, version: Version, functionAlias: null, functionParameter: null, eTag: string.Empty, tags: tags ); if (ShouldProcess(DisplayName, $"Create computer group: {DisplayName}, in workspace: {WorkspaceName}, resource group: {ResourceGroupName}")) { WriteObject(OperationalInsightsClient.CreateSavedSearch(parameters, ConfirmAction, force: Force)); } }
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); }
protected override void ProcessRecord() { PSSavedSearchParameters parameters = new PSSavedSearchParameters( resourceGroupName: ResourceGroupName, workspaceName: WorkspaceName, savedSearchId: SavedSearchId, category: Category, displayName: DisplayName, query: Query, version: Version, functionAlias: FunctionAlias, functionParameter: FunctionParameter, eTag: string.Empty, tags: Tag); if (ShouldProcess(DisplayName, $"Create new saved search: {DisplayName}, in workspace: {WorkspaceName}, resource group: {ResourceGroupName}")) { WriteObject(OperationalInsightsClient.CreateSavedSearch(parameters, ConfirmAction, force: Force)); } }