custom/Models/Utilities.cs
// ----------------------------------------------------------------------------------
// // Copyright Microsoft Corporation // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ---------------------------------------------------------------------------------- using System.Collections.Generic; using System.Linq; using System; namespace Microsoft.Azure.PowerShell.Cmdlets.ApplicationInsights.Models { public class Utilities { internal static string[] ConvertToDocumentType(string[] recordTypes) { Dictionary<string, string> mapping = new Dictionary<string, string>(); mapping.Add(RecordTypes.Requests.ToLowerInvariant(), DocumentTypes.Requests); mapping.Add(RecordTypes.Event.ToLowerInvariant(), DocumentTypes.Event); mapping.Add(RecordTypes.Exceptions.ToLowerInvariant(), DocumentTypes.Exceptions); mapping.Add(RecordTypes.Messages.ToLowerInvariant(), DocumentTypes.Messages); mapping.Add(RecordTypes.Metrics.ToLowerInvariant(), DocumentTypes.Metrics); mapping.Add(RecordTypes.PageViewPerformance.ToLowerInvariant(), DocumentTypes.PageViewPerformance); mapping.Add(RecordTypes.PageViews.ToLowerInvariant(), DocumentTypes.PageViews); mapping.Add(RecordTypes.RemoteDependency.ToLowerInvariant(), DocumentTypes.RemoteDependency); mapping.Add(RecordTypes.Availability.ToLowerInvariant(), DocumentTypes.Availability); mapping.Add(RecordTypes.PerformanceCounters.ToLowerInvariant(), DocumentTypes.PerformanceCounters); return recordTypes.Select(d => mapping[d.Trim().ToLowerInvariant()]).ToArray(); } public static string[] ConvertToRecordType(string[] documentTypes) { if (documentTypes == null) { throw new ArgumentNullException("documentTypes"); } Dictionary<string, string> mapping = new Dictionary<string, string>(); mapping.Add(DocumentTypes.Requests.ToLowerInvariant(), RecordTypes.Requests); mapping.Add(DocumentTypes.Event.ToLowerInvariant(), RecordTypes.Event); mapping.Add(DocumentTypes.Exceptions.ToLowerInvariant(), RecordTypes.Exceptions); mapping.Add(DocumentTypes.Messages.ToLowerInvariant(), RecordTypes.Messages); mapping.Add(DocumentTypes.Metrics.ToLowerInvariant(), RecordTypes.Metrics); mapping.Add(DocumentTypes.PageViewPerformance.ToLowerInvariant(), RecordTypes.PageViewPerformance); mapping.Add(DocumentTypes.PageViews.ToLowerInvariant(), RecordTypes.PageViews); mapping.Add(DocumentTypes.RemoteDependency.ToLowerInvariant(), RecordTypes.RemoteDependency); mapping.Add(DocumentTypes.Availability.ToLowerInvariant(), RecordTypes.Availability); mapping.Add(DocumentTypes.PerformanceCounters.ToLowerInvariant(), RecordTypes.PerformanceCounters); return documentTypes.Select(d => mapping[d.Trim().ToLowerInvariant()]).ToArray(); } public static string ParseSubscriptionFromId(string idFromServer) { if (!string.IsNullOrEmpty(idFromServer)) { string[] tokens = idFromServer.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); return tokens[1]; } return null; } } public class ApplicationType { public const string WEB = "web"; public const string JAVA = "java"; public const string NodeJs = "Node.js"; public const string General = "other"; } public class DocumentTypes { public const string Requests = "Request"; public const string Event = "Custom Event"; public const string Exceptions = "Exception"; public const string Metrics = "Metric"; public const string PageViews = "Page View"; public const string PageViewPerformance = "Page Load"; public const string RemoteDependency = "Dependency"; public const string PerformanceCounters = "Performance Counter"; public const string Availability = "Availability"; public const string Messages = "Trace"; } internal class RecordTypes { public const string Requests = "Requests"; public const string Event = "Event"; public const string Exceptions = "Exceptions"; public const string Metrics = "Metrics"; public const string PageViews = "PageViews"; public const string PageViewPerformance = "PageViewPerformance"; public const string RemoteDependency = "Rdd"; public const string PerformanceCounters = "PerformanceCounters"; public const string Availability = "Availability"; public const string Messages = "Messages"; } public class PermissionType { public const string ReadTelemetry = "ReadTelemetry"; public const string WriteAnnotations = "WriteAnnotations"; public const string AuthenticateSDKControlChannel = "AuthenticateSDKControlChannel"; } public class PricingPlans { public const string Basic = "Basic"; public const string Enterprise = "Application Insights Enterprise"; public const string LimitedBasic = "Limited Basic"; } } |