Framework/Models/RemoteReports/ScanResultModels.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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
Set-StrictMode -Version Latest class ScanInfoBase { [ScanInfoVersion] $ScanInfoVersion; [string] $SubscriptionId; [string] $SubscriptionName; [ScanSource] $Source; [string] $ScannerVersion; [string] $ControlVersion; [string] $Metadata; [bool] $HasAttestationWritePermissions = $false [bool] $HasAttestationReadPermissions = $false [bool] $IsLatestPSModule ScanInfoBase() { $this.ScanInfoVersion = [ScanInfoVersion]::V1 } } class ControlResultBase { [string] $ControlId; [string] $ControlIntId; [string] $ControlSeverity; [VerificationResult] $ActualVerificationResult; [AttestationStatus] $AttestationStatus; [DateTime] $AttestedDate = [Constants]::AzSKDefaultDateTime; [VerificationResult] $VerificationResult; [bool] $HasRequiredAccess = $true; [string] $AttestedBy; [string] $Justification; [string] $AttestedState; [string] $CurrentState; [DateTime] $AttestationExpiryDate = [Constants]::AzSKDefaultDateTime; [bool] $IsBaselineControl; # add PreviewBaselineFlag [string] $UserComments; [bool] $IsPreviewBaselineControl; [bool] $HasOwnerAccessTag; [int] $MaximumAllowedGraceDays=0; } class SubscriptionControlResult : ControlResultBase { } class ServiceControlResult : ControlResultBase { [bool] $IsNestedResource; [string] $NestedResourceName; } class SubscriptionScanInfo : ScanInfoBase { [SubscriptionScanKind] $ScanKind; [SubscriptionControlResult[]] $ControlResults; } class ServiceScanInfo : ScanInfoBase { [string] $Feature; [ServiceScanKind] $ScanKind; [string] $ResourceGroup; [string] $ResourceName; [string] $ResourceId; [ServiceControlResult[]] $ControlResults; } enum ScanInfoVersion { V1 } |