public static PSSqlVulnerabilityAssessmentBaselineResults ConvertToPSType(this RulesResults value, string workspaceId = "") { return(new PSSqlVulnerabilityAssessmentBaselineResults() { Results = value.Value?.Select(scan => scan.ConvertToPSType()).ToList() ?? new List <PSSqlVulnerabilityAssessmentRuleBaselineResults>(), WorkSpaceId = workspaceId }); }
public override void ExecuteCmdlet() { var databaseResourceId = BuildDatabaseResourceId(); Dictionary <string, IList <IList <string> > > baseline = null; if (this.ParameterSetName == ParameterSetNames.InputObjectBaselineWithResourceId || this.ParameterSetName == ParameterSetNames.InputObjectBaselineWithOnPrem) { baseline = InputObject.Results.ToDictionary( result => result.Name, result => (IList <IList <string> >)result.Results.Select( row => (IList <string>)row.ToList()).ToList()); } else { if (BaselineSet != null) { baseline = BaselineSet.Cast <DictionaryEntry>() .ToDictionary( kvp => (string)kvp.Key, kvp => (IList <IList <string> >)((object[])kvp.Value) .Select(arr => (IList <string>)((object[])arr) .Select(str => (string)str).ToList()) .ToList()); } } RulesResults results = null; if (Force.IsPresent || ShouldContinue($"Are you sure you want to set baseline? - This will discard your old baseline work.", $"Setting baseline for {databaseResourceId}.")) { if (baseline != null) { results = SecurityCenterClient.SqlVulnerabilityAssessmentBaselineRules.AddWithHttpMessagesAsync(WorkspaceId, VulnerabilityAssessmentConstants.ApiVersion, databaseResourceId, results: baseline).GetAwaiter().GetResult().Body; } else { results = SecurityCenterClient.SqlVulnerabilityAssessmentBaselineRules.AddWithHttpMessagesAsync(WorkspaceId, VulnerabilityAssessmentConstants.ApiVersion, databaseResourceId, latestScan: true).GetAwaiter().GetResult().Body; } WriteObject(results?.ConvertToPSType(WorkspaceId)); } }