public static IAssessmentContext GetEnvironmentContext( ITelemetryManager telemetryManager, ParsedUsageReport usageReport) { return(new AssessmentContext( usageReport: usageReport, subscriptionNames: null, subscriptionIds: null, resourceGroupNames: null, accessToken: null, armBaseUri: null, resourceCachePath: null, configManager: GetConfigManager(), telemetryManager: telemetryManager)); }
private static async Task RunAsync(Options opts, string usageReportContent) { var azureEnvironmentHelper = new AzureEnvironmentHelper(opts.AzureEnvironmentName); ParsedUsageReport usageReport = null; string accessToken = null; if (usageReportContent == null) { var authenticationResult = await TokenProvider.AcquireTokenAsync( azureEnvironmentHelper.AuthenticationEndpoint, opts.TenantId, azureEnvironmentHelper.ResourceManagerEndpoint); accessToken = authenticationResult.AccessToken; } else { usageReport = UsageFileHelper.Parse(usageReportContent); } var context = new AssessmentContext( usageReport: usageReport, subscriptionNames: opts.SubscriptionNames, subscriptionIds: opts.SubscriptionIds, resourceGroupNames: opts.ResourceGroupNames, accessToken: accessToken, armBaseUri: azureEnvironmentHelper.ResourceManagerEndpoint, resourceCachePath: opts.ResourceCachePath, configManager: ConfigManagerFactory.CreateStorageAccountConfigManager(Settings.Default.ConnectionString), telemetryManager: new TelemetryManager( new AppInsightsTelemetryProvider(ConfigurationManager.AppSettings["ApplicationInsightsKey"]), new Dictionary <string, string> { { "DeploymentId", $"console_debug_{Environment.MachineName}" } })); var assessmentService = new AssessmentService(); var assessmentReport = await assessmentService.GenerateReportAsync(context, opts.TargetLocation); if (File.Exists(assessmentReport.ReportFilePath)) { Process.Start(assessmentReport.ReportFilePath); } }
public AssessmentContext( ParsedUsageReport usageReport, IEnumerable <string> subscriptionNames, IEnumerable <string> subscriptionIds, IEnumerable <string> resourceGroupNames, string accessToken, string armBaseUri, string resourceCachePath, IConfigManager configManager, ITelemetryManager telemetryManager) { this.UsageReport = usageReport; this.SubscriptionNames = subscriptionNames; this.SubscriptionIds = subscriptionIds; this.ResourceGroupNames = resourceGroupNames; this.ARMAccessToken = accessToken; this.ARMBaseUri = armBaseUri; this.ResourceCachePath = resourceCachePath; this.ConfigManager = configManager; this.TelemetryManager = telemetryManager; }