json.d.ts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { IacOrgSettings } from '../../../../cli/commands/test/iac/local-execution/types';
  2. import { ScanError, TestOutput } from './scan/results';
  3. import { IacProjectType } from '../../constants';
  4. import { State } from './scan/policy-engine';
  5. export interface Result {
  6. meta: Meta;
  7. filesystemPolicy: false;
  8. vulnerabilities: [];
  9. dependencyCount: 0;
  10. licensesPolicy: null;
  11. ignoreSettings: IgnoreSettings;
  12. targetFile: string;
  13. projectName: string;
  14. org: string;
  15. policy: string;
  16. isPrivate: boolean;
  17. targetFilePath: string;
  18. packageManager: string;
  19. path: string;
  20. projectType: string;
  21. ok: boolean;
  22. infrastructureAsCodeIssues: IacIssue[];
  23. error?: string;
  24. }
  25. export interface IgnoreSettings {
  26. adminOnly: boolean;
  27. reasonRequired: boolean;
  28. disregardFilesystemIgnores: boolean;
  29. }
  30. export interface Meta {
  31. isPrivate: boolean;
  32. isLicensesEnabled: boolean;
  33. ignoreSettings: IgnoreSettings;
  34. org: string;
  35. policy: string;
  36. }
  37. export interface IgnoreSettings {
  38. adminOnly: boolean;
  39. reasonRequired: boolean;
  40. disregardFilesystemIgnores: boolean;
  41. }
  42. export interface IacIssue {
  43. severity: string;
  44. resolve: string;
  45. impact: string;
  46. msg: string;
  47. remediation?: Remediation;
  48. subType: IacProjectType | State.InputTypeEnum;
  49. issue: string;
  50. publicId: string;
  51. title: string;
  52. references: string[];
  53. id: string;
  54. isIgnored: boolean;
  55. iacDescription: IacDescription;
  56. lineNumber: number;
  57. documentation: string;
  58. isGeneratedByCustomRule: boolean;
  59. path: string[];
  60. policyEngineType?: string;
  61. type?: string;
  62. compliance?: string[][];
  63. description: string;
  64. }
  65. export interface Remediation {
  66. cloudformation?: string;
  67. terraform: string;
  68. arm?: string;
  69. kubernetes?: string;
  70. }
  71. export interface IacDescription {
  72. issue: string;
  73. impact: string;
  74. resolve: string;
  75. }
  76. export declare function convertEngineToJsonResults({ results, projectName, orgSettings, }: {
  77. results: TestOutput;
  78. projectName: string;
  79. orgSettings: IacOrgSettings;
  80. }): Array<Result | ScanError>;