results.d.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { SEVERITY } from '../../../../snyk-test/common';
  2. import { IacProjectType } from '../../../constants';
  3. import { SnykIacTestError } from '../errors';
  4. import * as PolicyEngineTypes from './policy-engine';
  5. export declare function mapSnykIacTestOutputToTestOutput(snykIacOutput: SnykIacTestOutput): TestOutput;
  6. export interface TestOutput {
  7. results?: Results;
  8. errors?: SnykIacTestError[];
  9. }
  10. export interface SnykIacTestOutput {
  11. results?: Results;
  12. rawResults?: PolicyEngineTypes.Results;
  13. errors?: ScanError[];
  14. }
  15. export interface Results {
  16. resources?: Resource[];
  17. vulnerabilities?: Vulnerability[];
  18. metadata: Metadata;
  19. }
  20. export interface Metadata {
  21. projectName: string;
  22. ignoredCount: number;
  23. }
  24. export interface Vulnerability {
  25. rule: Rule;
  26. message: string;
  27. remediation: string;
  28. severity: SEVERITY;
  29. ignored: boolean;
  30. resource: Resource;
  31. }
  32. export interface Rule {
  33. id: string;
  34. title: string;
  35. description: string;
  36. references?: string;
  37. labels?: string[];
  38. category?: string;
  39. documentation: string;
  40. }
  41. export interface Resource {
  42. id: string;
  43. type: IacProjectType | PolicyEngineTypes.State.InputTypeEnum;
  44. path?: any[];
  45. formattedPath: string;
  46. file: string;
  47. kind: string;
  48. line?: number;
  49. column?: number;
  50. }
  51. export interface ScanError {
  52. message: string;
  53. code: number;
  54. fields?: Record<string, string>;
  55. }