Framework/Models/RemoteReports/RecommendationReportModel.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Set-StrictMode -Version Latest

class SecurityReportInput
{        
    [string[]] $Categories = @();
    [string[]] $Features = @();    
}

class RecommendedSecureCombination
{
    [RecommendedFeatureGroup[]] $RecommendedFeatureGroups;
    [RecommendedFeatureGroup] $CurrentFeatureGroup;            
}

class RecommendedFeatureGroup{
    [string[]] $Features;
    [string[]] $Categories;
    [int] $Ranking;
    [int] $TotalSuccessCount;
    [int] $TotalFailCount;
    [float] $UsagePercentage;
    [int] $TotalOccurances;
    [float] $FailureRate;
    [string] $OtherMostUsed;
}

class RecommendedSecurityReport
{
    [SecurityReportInput] $Input;
    [string] $ResourceGroupName;
    [RecommendedSecureCombination] $Recommendations;
}