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));
            }
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
            }
        }