openlayer 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +1 -1
  4. data/lib/openlayer/client.rb +8 -0
  5. data/lib/openlayer/models/background_task_retrieve_params.rb +20 -0
  6. data/lib/openlayer/models/background_task_retrieve_response.rb +85 -0
  7. data/lib/openlayer/models/governance/framework_create_params.rb +143 -0
  8. data/lib/openlayer/models/governance/framework_create_response.rb +412 -0
  9. data/lib/openlayer/models/governance/framework_export_params.rb +36 -0
  10. data/lib/openlayer/models/governance/framework_export_response.rb +32 -0
  11. data/lib/openlayer/models/governance/framework_list_params.rb +148 -0
  12. data/lib/openlayer/models/governance/framework_list_project_rule_stats_params.rb +74 -0
  13. data/lib/openlayer/models/governance/framework_list_project_rule_stats_response.rb +279 -0
  14. data/lib/openlayer/models/governance/framework_list_projects_params.rb +39 -0
  15. data/lib/openlayer/models/governance/framework_list_projects_response.rb +315 -0
  16. data/lib/openlayer/models/governance/framework_list_response.rb +423 -0
  17. data/lib/openlayer/models/governance/framework_list_rules_params.rb +39 -0
  18. data/lib/openlayer/models/governance/framework_list_rules_response.rb +696 -0
  19. data/lib/openlayer/models/governance/framework_retrieve_params.rb +22 -0
  20. data/lib/openlayer/models/governance/framework_retrieve_response.rb +412 -0
  21. data/lib/openlayer/models/governance/framework_update_params.rb +200 -0
  22. data/lib/openlayer/models/governance/framework_update_response.rb +412 -0
  23. data/lib/openlayer/models/governance/frameworks/document_list_params.rb +41 -0
  24. data/lib/openlayer/models/governance/frameworks/document_list_response.rb +598 -0
  25. data/lib/openlayer/models/governance/frameworks/document_retrieve_params.rb +30 -0
  26. data/lib/openlayer/models/governance/frameworks/document_retrieve_response.rb +587 -0
  27. data/lib/openlayer/models/governance/frameworks/section_list_rules_params.rb +96 -0
  28. data/lib/openlayer/models/governance/frameworks/section_list_rules_response.rb +700 -0
  29. data/lib/openlayer/models/governance/frameworks/subsection_list_rules_params.rb +88 -0
  30. data/lib/openlayer/models/governance/frameworks/subsection_list_rules_response.rb +700 -0
  31. data/lib/openlayer/models/governance/rule_create_params.rb +173 -0
  32. data/lib/openlayer/models/governance/rule_create_response.rb +677 -0
  33. data/lib/openlayer/models/governance/rule_delete_params.rb +22 -0
  34. data/lib/openlayer/models/governance/rule_list_params.rb +231 -0
  35. data/lib/openlayer/models/governance/rule_list_response.rb +694 -0
  36. data/lib/openlayer/models/governance/rule_result_create_evidence_params.rb +69 -0
  37. data/lib/openlayer/models/governance/rule_result_create_evidence_response.rb +95 -0
  38. data/lib/openlayer/models/governance/rule_result_list_evidence_params.rb +39 -0
  39. data/lib/openlayer/models/governance/rule_result_list_evidence_response.rb +106 -0
  40. data/lib/openlayer/models/governance/rule_result_list_params.rb +149 -0
  41. data/lib/openlayer/models/governance/rule_result_list_response.rb +276 -0
  42. data/lib/openlayer/models/governance/rule_result_retrieve_params.rb +22 -0
  43. data/lib/openlayer/models/governance/rule_result_retrieve_response.rb +264 -0
  44. data/lib/openlayer/models/governance/rule_result_update_params.rb +156 -0
  45. data/lib/openlayer/models/governance/rule_result_update_response.rb +263 -0
  46. data/lib/openlayer/models/governance/rule_retrieve_params.rb +22 -0
  47. data/lib/openlayer/models/governance/rule_retrieve_response.rb +681 -0
  48. data/lib/openlayer/models/governance/rule_stat_retrieve_params.rb +39 -0
  49. data/lib/openlayer/models/governance/rule_stat_retrieve_response.rb +508 -0
  50. data/lib/openlayer/models/governance/rule_tag_list_params.rb +39 -0
  51. data/lib/openlayer/models/governance/rule_tag_list_response.rb +91 -0
  52. data/lib/openlayer/models/governance/rule_update_params.rb +78 -0
  53. data/lib/openlayer/models/governance/rule_update_response.rb +677 -0
  54. data/lib/openlayer/models/inference_pipeline_retrieve_response.rb +0 -1
  55. data/lib/openlayer/models/inference_pipeline_retrieve_sessions_response.rb +3 -0
  56. data/lib/openlayer/models/inference_pipeline_retrieve_users_response.rb +3 -0
  57. data/lib/openlayer/models/inference_pipeline_update_response.rb +0 -1
  58. data/lib/openlayer/models/project_create_response.rb +0 -1
  59. data/lib/openlayer/models/project_list_response.rb +0 -1
  60. data/lib/openlayer/models/project_update_response.rb +0 -1
  61. data/lib/openlayer/models/projects/inference_pipeline_create_params.rb +0 -1
  62. data/lib/openlayer/models/projects/inference_pipeline_create_response.rb +0 -1
  63. data/lib/openlayer/models/projects/inference_pipeline_list_response.rb +0 -1
  64. data/lib/openlayer/models/storage/presigned_url_retrieve_params.rb +28 -0
  65. data/lib/openlayer/models/storage/presigned_url_retrieve_response.rb +19 -0
  66. data/lib/openlayer/models/workspaces/api_key_create_params.rb +17 -1
  67. data/lib/openlayer/models/workspaces/api_key_create_response.rb +73 -3
  68. data/lib/openlayer/models/workspaces/api_key_delete_params.rb +28 -0
  69. data/lib/openlayer/models/workspaces/api_key_list_params.rb +22 -0
  70. data/lib/openlayer/models/workspaces/api_key_list_response.rb +134 -0
  71. data/lib/openlayer/models/workspaces/api_key_retrieve_params.rb +28 -0
  72. data/lib/openlayer/models/workspaces/api_key_retrieve_response.rb +131 -0
  73. data/lib/openlayer/models/workspaces/api_key_rotate_params.rb +56 -0
  74. data/lib/openlayer/models/workspaces/api_key_rotate_response.rb +131 -0
  75. data/lib/openlayer/models/workspaces/api_key_update_params.rb +38 -0
  76. data/lib/openlayer/models/workspaces/api_key_update_response.rb +131 -0
  77. data/lib/openlayer/models.rb +4 -0
  78. data/lib/openlayer/resources/background_tasks.rb +34 -0
  79. data/lib/openlayer/resources/commits.rb +1 -1
  80. data/lib/openlayer/resources/governance/frameworks/documents.rb +72 -0
  81. data/lib/openlayer/resources/governance/frameworks/sections.rb +68 -0
  82. data/lib/openlayer/resources/governance/frameworks/subsections.rb +65 -0
  83. data/lib/openlayer/resources/governance/frameworks.rb +292 -0
  84. data/lib/openlayer/resources/governance/rule_results.rb +187 -0
  85. data/lib/openlayer/resources/governance/rule_stats.rb +43 -0
  86. data/lib/openlayer/resources/governance/rule_tags.rb +43 -0
  87. data/lib/openlayer/resources/governance/rules.rb +210 -0
  88. data/lib/openlayer/resources/governance.rb +34 -0
  89. data/lib/openlayer/resources/inference_pipelines/rows.rb +4 -5
  90. data/lib/openlayer/resources/inference_pipelines.rb +5 -14
  91. data/lib/openlayer/resources/projects/tests.rb +3 -3
  92. data/lib/openlayer/resources/storage/presigned_url.rb +27 -1
  93. data/lib/openlayer/resources/tests.rb +1 -4
  94. data/lib/openlayer/resources/workspaces/api_keys.rb +146 -2
  95. data/lib/openlayer/resources/workspaces/invites.rb +1 -1
  96. data/lib/openlayer/resources/workspaces.rb +1 -1
  97. data/lib/openlayer/version.rb +1 -1
  98. data/lib/openlayer.rb +70 -0
  99. data/rbi/openlayer/client.rbi +6 -0
  100. data/rbi/openlayer/models/background_task_retrieve_params.rbi +38 -0
  101. data/rbi/openlayer/models/background_task_retrieve_response.rbi +105 -0
  102. data/rbi/openlayer/models/governance/framework_create_params.rbi +298 -0
  103. data/rbi/openlayer/models/governance/framework_create_response.rbi +735 -0
  104. data/rbi/openlayer/models/governance/framework_export_params.rbi +58 -0
  105. data/rbi/openlayer/models/governance/framework_export_response.rbi +48 -0
  106. data/rbi/openlayer/models/governance/framework_list_params.rbi +310 -0
  107. data/rbi/openlayer/models/governance/framework_list_project_rule_stats_params.rbi +178 -0
  108. data/rbi/openlayer/models/governance/framework_list_project_rule_stats_response.rbi +441 -0
  109. data/rbi/openlayer/models/governance/framework_list_projects_params.rbi +68 -0
  110. data/rbi/openlayer/models/governance/framework_list_projects_response.rbi +498 -0
  111. data/rbi/openlayer/models/governance/framework_list_response.rbi +776 -0
  112. data/rbi/openlayer/models/governance/framework_list_rules_params.rbi +68 -0
  113. data/rbi/openlayer/models/governance/framework_list_rules_response.rbi +1334 -0
  114. data/rbi/openlayer/models/governance/framework_retrieve_params.rbi +40 -0
  115. data/rbi/openlayer/models/governance/framework_retrieve_response.rbi +735 -0
  116. data/rbi/openlayer/models/governance/framework_update_params.rbi +425 -0
  117. data/rbi/openlayer/models/governance/framework_update_response.rbi +735 -0
  118. data/rbi/openlayer/models/governance/frameworks/document_list_params.rbi +70 -0
  119. data/rbi/openlayer/models/governance/frameworks/document_list_response.rbi +1050 -0
  120. data/rbi/openlayer/models/governance/frameworks/document_retrieve_params.rbi +50 -0
  121. data/rbi/openlayer/models/governance/frameworks/document_retrieve_response.rbi +1006 -0
  122. data/rbi/openlayer/models/governance/frameworks/section_list_rules_params.rbi +193 -0
  123. data/rbi/openlayer/models/governance/frameworks/section_list_rules_response.rbi +1338 -0
  124. data/rbi/openlayer/models/governance/frameworks/subsection_list_rules_params.rbi +182 -0
  125. data/rbi/openlayer/models/governance/frameworks/subsection_list_rules_response.rbi +1338 -0
  126. data/rbi/openlayer/models/governance/rule_create_params.rbi +291 -0
  127. data/rbi/openlayer/models/governance/rule_create_response.rbi +1289 -0
  128. data/rbi/openlayer/models/governance/rule_delete_params.rbi +40 -0
  129. data/rbi/openlayer/models/governance/rule_list_params.rbi +486 -0
  130. data/rbi/openlayer/models/governance/rule_list_response.rbi +1330 -0
  131. data/rbi/openlayer/models/governance/rule_result_create_evidence_params.rbi +90 -0
  132. data/rbi/openlayer/models/governance/rule_result_create_evidence_response.rbi +113 -0
  133. data/rbi/openlayer/models/governance/rule_result_list_evidence_params.rbi +68 -0
  134. data/rbi/openlayer/models/governance/rule_result_list_evidence_response.rbi +156 -0
  135. data/rbi/openlayer/models/governance/rule_result_list_params.rbi +322 -0
  136. data/rbi/openlayer/models/governance/rule_result_list_response.rbi +580 -0
  137. data/rbi/openlayer/models/governance/rule_result_retrieve_params.rbi +43 -0
  138. data/rbi/openlayer/models/governance/rule_result_retrieve_response.rbi +537 -0
  139. data/rbi/openlayer/models/governance/rule_result_update_params.rbi +381 -0
  140. data/rbi/openlayer/models/governance/rule_result_update_response.rbi +537 -0
  141. data/rbi/openlayer/models/governance/rule_retrieve_params.rbi +40 -0
  142. data/rbi/openlayer/models/governance/rule_retrieve_response.rbi +1289 -0
  143. data/rbi/openlayer/models/governance/rule_stat_retrieve_params.rbi +68 -0
  144. data/rbi/openlayer/models/governance/rule_stat_retrieve_response.rbi +877 -0
  145. data/rbi/openlayer/models/governance/rule_tag_list_params.rbi +68 -0
  146. data/rbi/openlayer/models/governance/rule_tag_list_response.rbi +141 -0
  147. data/rbi/openlayer/models/governance/rule_update_params.rbi +108 -0
  148. data/rbi/openlayer/models/governance/rule_update_response.rbi +1289 -0
  149. data/rbi/openlayer/models/inference_pipeline_retrieve_response.rbi +0 -5
  150. data/rbi/openlayer/models/inference_pipeline_retrieve_sessions_response.rbi +2 -0
  151. data/rbi/openlayer/models/inference_pipeline_retrieve_users_response.rbi +2 -0
  152. data/rbi/openlayer/models/inference_pipeline_update_response.rbi +0 -5
  153. data/rbi/openlayer/models/project_create_response.rbi +0 -5
  154. data/rbi/openlayer/models/project_list_response.rbi +0 -5
  155. data/rbi/openlayer/models/project_update_response.rbi +0 -5
  156. data/rbi/openlayer/models/projects/inference_pipeline_create_params.rbi +0 -5
  157. data/rbi/openlayer/models/projects/inference_pipeline_create_response.rbi +0 -5
  158. data/rbi/openlayer/models/projects/inference_pipeline_list_response.rbi +0 -5
  159. data/rbi/openlayer/models/storage/presigned_url_retrieve_params.rbi +47 -0
  160. data/rbi/openlayer/models/storage/presigned_url_retrieve_response.rbi +32 -0
  161. data/rbi/openlayer/models/workspaces/api_key_create_params.rbi +18 -0
  162. data/rbi/openlayer/models/workspaces/api_key_create_response.rbi +117 -5
  163. data/rbi/openlayer/models/workspaces/api_key_delete_params.rbi +48 -0
  164. data/rbi/openlayer/models/workspaces/api_key_list_params.rbi +40 -0
  165. data/rbi/openlayer/models/workspaces/api_key_list_response.rbi +202 -0
  166. data/rbi/openlayer/models/workspaces/api_key_retrieve_params.rbi +48 -0
  167. data/rbi/openlayer/models/workspaces/api_key_retrieve_response.rbi +194 -0
  168. data/rbi/openlayer/models/workspaces/api_key_rotate_params.rbi +85 -0
  169. data/rbi/openlayer/models/workspaces/api_key_rotate_response.rbi +194 -0
  170. data/rbi/openlayer/models/workspaces/api_key_update_params.rbi +60 -0
  171. data/rbi/openlayer/models/workspaces/api_key_update_response.rbi +194 -0
  172. data/rbi/openlayer/models.rbi +4 -0
  173. data/rbi/openlayer/resources/background_tasks.rbi +26 -0
  174. data/rbi/openlayer/resources/commits.rbi +1 -1
  175. data/rbi/openlayer/resources/governance/frameworks/documents.rbi +57 -0
  176. data/rbi/openlayer/resources/governance/frameworks/sections.rbi +56 -0
  177. data/rbi/openlayer/resources/governance/frameworks/subsections.rbi +52 -0
  178. data/rbi/openlayer/resources/governance/frameworks.rbi +261 -0
  179. data/rbi/openlayer/resources/governance/rule_results.rbi +167 -0
  180. data/rbi/openlayer/resources/governance/rule_stats.rbi +34 -0
  181. data/rbi/openlayer/resources/governance/rule_tags.rbi +34 -0
  182. data/rbi/openlayer/resources/governance/rules.rbi +209 -0
  183. data/rbi/openlayer/resources/governance.rbi +27 -0
  184. data/rbi/openlayer/resources/inference_pipelines/rows.rbi +4 -5
  185. data/rbi/openlayer/resources/inference_pipelines.rbi +5 -14
  186. data/rbi/openlayer/resources/projects/tests.rbi +3 -3
  187. data/rbi/openlayer/resources/storage/presigned_url.rbi +16 -1
  188. data/rbi/openlayer/resources/tests.rbi +1 -4
  189. data/rbi/openlayer/resources/workspaces/api_keys.rbi +110 -1
  190. data/rbi/openlayer/resources/workspaces/invites.rbi +1 -1
  191. data/rbi/openlayer/resources/workspaces.rbi +1 -1
  192. data/sig/openlayer/client.rbs +4 -0
  193. data/sig/openlayer/models/background_task_retrieve_params.rbs +23 -0
  194. data/sig/openlayer/models/background_task_retrieve_response.rbs +55 -0
  195. data/sig/openlayer/models/governance/framework_create_params.rbs +124 -0
  196. data/sig/openlayer/models/governance/framework_create_response.rbs +293 -0
  197. data/sig/openlayer/models/governance/framework_export_params.rbs +30 -0
  198. data/sig/openlayer/models/governance/framework_export_response.rbs +21 -0
  199. data/sig/openlayer/models/governance/framework_list_params.rbs +145 -0
  200. data/sig/openlayer/models/governance/framework_list_project_rule_stats_params.rbs +87 -0
  201. data/sig/openlayer/models/governance/framework_list_project_rule_stats_response.rbs +232 -0
  202. data/sig/openlayer/models/governance/framework_list_projects_params.rbs +38 -0
  203. data/sig/openlayer/models/governance/framework_list_projects_response.rbs +248 -0
  204. data/sig/openlayer/models/governance/framework_list_response.rbs +314 -0
  205. data/sig/openlayer/models/governance/framework_list_rules_params.rbs +38 -0
  206. data/sig/openlayer/models/governance/framework_list_rules_response.rbs +547 -0
  207. data/sig/openlayer/models/governance/framework_retrieve_params.rbs +25 -0
  208. data/sig/openlayer/models/governance/framework_retrieve_response.rbs +293 -0
  209. data/sig/openlayer/models/governance/framework_update_params.rbs +175 -0
  210. data/sig/openlayer/models/governance/framework_update_response.rbs +293 -0
  211. data/sig/openlayer/models/governance/frameworks/document_list_params.rbs +40 -0
  212. data/sig/openlayer/models/governance/frameworks/document_list_response.rbs +435 -0
  213. data/sig/openlayer/models/governance/frameworks/document_retrieve_params.rbs +32 -0
  214. data/sig/openlayer/models/governance/frameworks/document_retrieve_response.rbs +418 -0
  215. data/sig/openlayer/models/governance/frameworks/section_list_rules_params.rbs +102 -0
  216. data/sig/openlayer/models/governance/frameworks/section_list_rules_response.rbs +549 -0
  217. data/sig/openlayer/models/governance/frameworks/subsection_list_rules_params.rbs +95 -0
  218. data/sig/openlayer/models/governance/frameworks/subsection_list_rules_response.rbs +549 -0
  219. data/sig/openlayer/models/governance/rule_create_params.rbs +120 -0
  220. data/sig/openlayer/models/governance/rule_create_response.rbs +530 -0
  221. data/sig/openlayer/models/governance/rule_delete_params.rbs +25 -0
  222. data/sig/openlayer/models/governance/rule_list_params.rbs +228 -0
  223. data/sig/openlayer/models/governance/rule_list_response.rbs +547 -0
  224. data/sig/openlayer/models/governance/rule_result_create_evidence_params.rbs +53 -0
  225. data/sig/openlayer/models/governance/rule_result_create_evidence_response.rbs +62 -0
  226. data/sig/openlayer/models/governance/rule_result_list_evidence_params.rbs +38 -0
  227. data/sig/openlayer/models/governance/rule_result_list_evidence_response.rbs +79 -0
  228. data/sig/openlayer/models/governance/rule_result_list_params.rbs +156 -0
  229. data/sig/openlayer/models/governance/rule_result_list_response.rbs +252 -0
  230. data/sig/openlayer/models/governance/rule_result_retrieve_params.rbs +26 -0
  231. data/sig/openlayer/models/governance/rule_result_retrieve_response.rbs +235 -0
  232. data/sig/openlayer/models/governance/rule_result_update_params.rbs +165 -0
  233. data/sig/openlayer/models/governance/rule_result_update_response.rbs +235 -0
  234. data/sig/openlayer/models/governance/rule_retrieve_params.rbs +25 -0
  235. data/sig/openlayer/models/governance/rule_retrieve_response.rbs +530 -0
  236. data/sig/openlayer/models/governance/rule_stat_retrieve_params.rbs +38 -0
  237. data/sig/openlayer/models/governance/rule_stat_retrieve_response.rbs +434 -0
  238. data/sig/openlayer/models/governance/rule_tag_list_params.rbs +38 -0
  239. data/sig/openlayer/models/governance/rule_tag_list_response.rbs +74 -0
  240. data/sig/openlayer/models/governance/rule_update_params.rbs +62 -0
  241. data/sig/openlayer/models/governance/rule_update_response.rbs +530 -0
  242. data/sig/openlayer/models/inference_pipeline_retrieve_response.rbs +1 -2
  243. data/sig/openlayer/models/inference_pipeline_update_response.rbs +1 -2
  244. data/sig/openlayer/models/project_create_response.rbs +1 -2
  245. data/sig/openlayer/models/project_list_response.rbs +1 -2
  246. data/sig/openlayer/models/project_update_response.rbs +1 -2
  247. data/sig/openlayer/models/projects/inference_pipeline_create_params.rbs +1 -2
  248. data/sig/openlayer/models/projects/inference_pipeline_create_response.rbs +1 -2
  249. data/sig/openlayer/models/projects/inference_pipeline_list_response.rbs +1 -2
  250. data/sig/openlayer/models/storage/presigned_url_retrieve_params.rbs +25 -0
  251. data/sig/openlayer/models/storage/presigned_url_retrieve_response.rbs +15 -0
  252. data/sig/openlayer/models/workspaces/api_key_create_params.rbs +5 -1
  253. data/sig/openlayer/models/workspaces/api_key_create_response.rbs +42 -3
  254. data/sig/openlayer/models/workspaces/api_key_delete_params.rbs +30 -0
  255. data/sig/openlayer/models/workspaces/api_key_list_params.rbs +25 -0
  256. data/sig/openlayer/models/workspaces/api_key_list_response.rbs +91 -0
  257. data/sig/openlayer/models/workspaces/api_key_retrieve_params.rbs +30 -0
  258. data/sig/openlayer/models/workspaces/api_key_retrieve_response.rbs +86 -0
  259. data/sig/openlayer/models/workspaces/api_key_rotate_params.rbs +45 -0
  260. data/sig/openlayer/models/workspaces/api_key_rotate_response.rbs +86 -0
  261. data/sig/openlayer/models/workspaces/api_key_update_params.rbs +34 -0
  262. data/sig/openlayer/models/workspaces/api_key_update_response.rbs +86 -0
  263. data/sig/openlayer/models.rbs +4 -0
  264. data/sig/openlayer/resources/background_tasks.rbs +12 -0
  265. data/sig/openlayer/resources/governance/frameworks/documents.rbs +24 -0
  266. data/sig/openlayer/resources/governance/frameworks/sections.rbs +23 -0
  267. data/sig/openlayer/resources/governance/frameworks/subsections.rbs +22 -0
  268. data/sig/openlayer/resources/governance/frameworks.rbs +88 -0
  269. data/sig/openlayer/resources/governance/rule_results.rbs +57 -0
  270. data/sig/openlayer/resources/governance/rule_stats.rbs +16 -0
  271. data/sig/openlayer/resources/governance/rule_tags.rbs +16 -0
  272. data/sig/openlayer/resources/governance/rules.rbs +68 -0
  273. data/sig/openlayer/resources/governance.rbs +17 -0
  274. data/sig/openlayer/resources/storage/presigned_url.rbs +5 -0
  275. data/sig/openlayer/resources/workspaces/api_keys.rbs +33 -0
  276. metadata +212 -2
@@ -0,0 +1,1289 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Governance
6
+ class RuleRetrieveResponse < Openlayer::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Openlayer::Models::Governance::RuleRetrieveResponse,
11
+ Openlayer::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The rule name.
16
+ sig { returns(String) }
17
+ attr_accessor :name
18
+
19
+ # Whether the rule is evaluated once for the whole workspace, or once per project
20
+ # the rule's frameworks apply to. Must be `project` for platform rules. Fixed once
21
+ # the rule is created.
22
+ sig do
23
+ returns(
24
+ Openlayer::Models::Governance::RuleRetrieveResponse::Scope::TaggedSymbol
25
+ )
26
+ end
27
+ attr_accessor :scope
28
+
29
+ # `platform` rules are evaluated automatically from the state of your Openlayer
30
+ # workspace. `evidence` rules are satisfied by attaching evidence. Fixed once the
31
+ # rule is created.
32
+ sig do
33
+ returns(
34
+ Openlayer::Models::Governance::RuleRetrieveResponse::Type::TaggedSymbol
35
+ )
36
+ end
37
+ attr_accessor :type
38
+
39
+ # The user responsible for satisfying the rule.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :assignee_id
42
+
43
+ # Configuration for the platform check, when the automation takes parameters. Omit
44
+ # or `null` for evidence rules. Fixed once the rule is created.
45
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
46
+ attr_accessor :automation_params
47
+
48
+ # Which workspace signal a platform rule checks, for example
49
+ # `monitoring_mode_enabled`, `test_setup`, or `project_owner_set`. Set it for
50
+ # platform rules; omit or `null` for evidence rules. Fixed once the rule is
51
+ # created.
52
+ sig { returns(T.nilable(String)) }
53
+ attr_accessor :automation_type
54
+
55
+ # Whether the rule is excluded from compliance calculations.
56
+ sig { returns(T.nilable(T::Boolean)) }
57
+ attr_reader :deactivated
58
+
59
+ sig { params(deactivated: T::Boolean).void }
60
+ attr_writer :deactivated
61
+
62
+ # What the rule requires.
63
+ sig { returns(T.nilable(String)) }
64
+ attr_accessor :description
65
+
66
+ # The kind of evidence that satisfies the rule. Set it for evidence rules; omit or
67
+ # `null` for platform rules. Fixed once the rule is created.
68
+ sig do
69
+ returns(
70
+ T.nilable(
71
+ Openlayer::Models::Governance::RuleRetrieveResponse::EvidenceType::TaggedSymbol
72
+ )
73
+ )
74
+ end
75
+ attr_accessor :evidence_type
76
+
77
+ # How often evidence must be renewed, in days. Once evidence is older than this,
78
+ # the rule result becomes `due_soon` and then `failing`. The window restarts
79
+ # whenever evidence is attached. Omit or `null` for platform rules.
80
+ sig { returns(T.nilable(Integer)) }
81
+ attr_accessor :renewal_cadence_days
82
+
83
+ # The rule id.
84
+ sig { returns(String) }
85
+ attr_accessor :id
86
+
87
+ # The creation date.
88
+ sig { returns(Time) }
89
+ attr_accessor :date_created
90
+
91
+ # The last update date.
92
+ sig { returns(Time) }
93
+ attr_accessor :date_updated
94
+
95
+ # The id of the workspace the rule belongs to.
96
+ sig { returns(String) }
97
+ attr_accessor :workspace_id
98
+
99
+ # The frameworks that include this rule.
100
+ sig do
101
+ returns(
102
+ T.nilable(
103
+ T::Array[
104
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework
105
+ ]
106
+ )
107
+ )
108
+ end
109
+ attr_reader :frameworks
110
+
111
+ sig do
112
+ params(
113
+ frameworks:
114
+ T::Array[
115
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::OrHash
116
+ ]
117
+ ).void
118
+ end
119
+ attr_writer :frameworks
120
+
121
+ # Whether the rule is managed by Openlayer. These rules can't be renamed or
122
+ # deleted; set `deactivated` to exclude one from compliance instead.
123
+ sig { returns(T.nilable(T::Boolean)) }
124
+ attr_reader :immutable
125
+
126
+ sig { params(immutable: T::Boolean).void }
127
+ attr_writer :immutable
128
+
129
+ # The rule's results, one per entity the rule is evaluated against. Only returned
130
+ # when `includeResults` is `true`.
131
+ sig do
132
+ returns(
133
+ T.nilable(
134
+ T::Array[
135
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result
136
+ ]
137
+ )
138
+ )
139
+ end
140
+ attr_reader :results
141
+
142
+ sig do
143
+ params(
144
+ results:
145
+ T::Array[
146
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::OrHash
147
+ ]
148
+ ).void
149
+ end
150
+ attr_writer :results
151
+
152
+ # Pass-rate counts across all of the rule's entities, independent of any status
153
+ # filter applied to the request.
154
+ sig do
155
+ returns(
156
+ T.nilable(
157
+ Openlayer::Models::Governance::RuleRetrieveResponse::ResultsSummary
158
+ )
159
+ )
160
+ end
161
+ attr_reader :results_summary
162
+
163
+ sig do
164
+ params(
165
+ results_summary:
166
+ T.nilable(
167
+ Openlayer::Models::Governance::RuleRetrieveResponse::ResultsSummary::OrHash
168
+ )
169
+ ).void
170
+ end
171
+ attr_writer :results_summary
172
+
173
+ # The rule tags associated with the rule.
174
+ sig do
175
+ returns(
176
+ T.nilable(
177
+ T::Array[Openlayer::Models::Governance::RuleRetrieveResponse::Tag]
178
+ )
179
+ )
180
+ end
181
+ attr_accessor :tags
182
+
183
+ # A single requirement Openlayer tracks. `platform` rules are evaluated
184
+ # automatically from the state of your workspace, and `evidence` rules are
185
+ # satisfied by attaching evidence. A rule can belong to several frameworks, or to
186
+ # none.
187
+ sig do
188
+ params(
189
+ id: String,
190
+ date_created: Time,
191
+ date_updated: Time,
192
+ name: String,
193
+ scope:
194
+ Openlayer::Models::Governance::RuleRetrieveResponse::Scope::OrSymbol,
195
+ type:
196
+ Openlayer::Models::Governance::RuleRetrieveResponse::Type::OrSymbol,
197
+ workspace_id: String,
198
+ assignee_id: T.nilable(String),
199
+ automation_params: T.nilable(T::Hash[Symbol, T.anything]),
200
+ automation_type: T.nilable(String),
201
+ deactivated: T::Boolean,
202
+ description: T.nilable(String),
203
+ evidence_type:
204
+ T.nilable(
205
+ Openlayer::Models::Governance::RuleRetrieveResponse::EvidenceType::OrSymbol
206
+ ),
207
+ frameworks:
208
+ T::Array[
209
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::OrHash
210
+ ],
211
+ immutable: T::Boolean,
212
+ renewal_cadence_days: T.nilable(Integer),
213
+ results:
214
+ T::Array[
215
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::OrHash
216
+ ],
217
+ results_summary:
218
+ T.nilable(
219
+ Openlayer::Models::Governance::RuleRetrieveResponse::ResultsSummary::OrHash
220
+ ),
221
+ tags:
222
+ T.nilable(
223
+ T::Array[
224
+ Openlayer::Models::Governance::RuleRetrieveResponse::Tag::OrHash
225
+ ]
226
+ )
227
+ ).returns(T.attached_class)
228
+ end
229
+ def self.new(
230
+ # The rule id.
231
+ id:,
232
+ # The creation date.
233
+ date_created:,
234
+ # The last update date.
235
+ date_updated:,
236
+ # The rule name.
237
+ name:,
238
+ # Whether the rule is evaluated once for the whole workspace, or once per project
239
+ # the rule's frameworks apply to. Must be `project` for platform rules. Fixed once
240
+ # the rule is created.
241
+ scope:,
242
+ # `platform` rules are evaluated automatically from the state of your Openlayer
243
+ # workspace. `evidence` rules are satisfied by attaching evidence. Fixed once the
244
+ # rule is created.
245
+ type:,
246
+ # The id of the workspace the rule belongs to.
247
+ workspace_id:,
248
+ # The user responsible for satisfying the rule.
249
+ assignee_id: nil,
250
+ # Configuration for the platform check, when the automation takes parameters. Omit
251
+ # or `null` for evidence rules. Fixed once the rule is created.
252
+ automation_params: nil,
253
+ # Which workspace signal a platform rule checks, for example
254
+ # `monitoring_mode_enabled`, `test_setup`, or `project_owner_set`. Set it for
255
+ # platform rules; omit or `null` for evidence rules. Fixed once the rule is
256
+ # created.
257
+ automation_type: nil,
258
+ # Whether the rule is excluded from compliance calculations.
259
+ deactivated: nil,
260
+ # What the rule requires.
261
+ description: nil,
262
+ # The kind of evidence that satisfies the rule. Set it for evidence rules; omit or
263
+ # `null` for platform rules. Fixed once the rule is created.
264
+ evidence_type: nil,
265
+ # The frameworks that include this rule.
266
+ frameworks: nil,
267
+ # Whether the rule is managed by Openlayer. These rules can't be renamed or
268
+ # deleted; set `deactivated` to exclude one from compliance instead.
269
+ immutable: nil,
270
+ # How often evidence must be renewed, in days. Once evidence is older than this,
271
+ # the rule result becomes `due_soon` and then `failing`. The window restarts
272
+ # whenever evidence is attached. Omit or `null` for platform rules.
273
+ renewal_cadence_days: nil,
274
+ # The rule's results, one per entity the rule is evaluated against. Only returned
275
+ # when `includeResults` is `true`.
276
+ results: nil,
277
+ # Pass-rate counts across all of the rule's entities, independent of any status
278
+ # filter applied to the request.
279
+ results_summary: nil,
280
+ # The rule tags associated with the rule.
281
+ tags: nil
282
+ )
283
+ end
284
+
285
+ sig do
286
+ override.returns(
287
+ {
288
+ id: String,
289
+ date_created: Time,
290
+ date_updated: Time,
291
+ name: String,
292
+ scope:
293
+ Openlayer::Models::Governance::RuleRetrieveResponse::Scope::TaggedSymbol,
294
+ type:
295
+ Openlayer::Models::Governance::RuleRetrieveResponse::Type::TaggedSymbol,
296
+ workspace_id: String,
297
+ assignee_id: T.nilable(String),
298
+ automation_params: T.nilable(T::Hash[Symbol, T.anything]),
299
+ automation_type: T.nilable(String),
300
+ deactivated: T::Boolean,
301
+ description: T.nilable(String),
302
+ evidence_type:
303
+ T.nilable(
304
+ Openlayer::Models::Governance::RuleRetrieveResponse::EvidenceType::TaggedSymbol
305
+ ),
306
+ frameworks:
307
+ T::Array[
308
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework
309
+ ],
310
+ immutable: T::Boolean,
311
+ renewal_cadence_days: T.nilable(Integer),
312
+ results:
313
+ T::Array[
314
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result
315
+ ],
316
+ results_summary:
317
+ T.nilable(
318
+ Openlayer::Models::Governance::RuleRetrieveResponse::ResultsSummary
319
+ ),
320
+ tag_ids: T.nilable(T::Array[String]),
321
+ tags:
322
+ T.nilable(
323
+ T::Array[
324
+ Openlayer::Models::Governance::RuleRetrieveResponse::Tag
325
+ ]
326
+ )
327
+ }
328
+ )
329
+ end
330
+ def to_hash
331
+ end
332
+
333
+ # Whether the rule is evaluated once for the whole workspace, or once per project
334
+ # the rule's frameworks apply to. Must be `project` for platform rules. Fixed once
335
+ # the rule is created.
336
+ module Scope
337
+ extend Openlayer::Internal::Type::Enum
338
+
339
+ TaggedSymbol =
340
+ T.type_alias do
341
+ T.all(
342
+ Symbol,
343
+ Openlayer::Models::Governance::RuleRetrieveResponse::Scope
344
+ )
345
+ end
346
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
347
+
348
+ PROJECT =
349
+ T.let(
350
+ :project,
351
+ Openlayer::Models::Governance::RuleRetrieveResponse::Scope::TaggedSymbol
352
+ )
353
+ WORKSPACE =
354
+ T.let(
355
+ :workspace,
356
+ Openlayer::Models::Governance::RuleRetrieveResponse::Scope::TaggedSymbol
357
+ )
358
+
359
+ sig do
360
+ override.returns(
361
+ T::Array[
362
+ Openlayer::Models::Governance::RuleRetrieveResponse::Scope::TaggedSymbol
363
+ ]
364
+ )
365
+ end
366
+ def self.values
367
+ end
368
+ end
369
+
370
+ # `platform` rules are evaluated automatically from the state of your Openlayer
371
+ # workspace. `evidence` rules are satisfied by attaching evidence. Fixed once the
372
+ # rule is created.
373
+ module Type
374
+ extend Openlayer::Internal::Type::Enum
375
+
376
+ TaggedSymbol =
377
+ T.type_alias do
378
+ T.all(
379
+ Symbol,
380
+ Openlayer::Models::Governance::RuleRetrieveResponse::Type
381
+ )
382
+ end
383
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
384
+
385
+ PLATFORM =
386
+ T.let(
387
+ :platform,
388
+ Openlayer::Models::Governance::RuleRetrieveResponse::Type::TaggedSymbol
389
+ )
390
+ EVIDENCE =
391
+ T.let(
392
+ :evidence,
393
+ Openlayer::Models::Governance::RuleRetrieveResponse::Type::TaggedSymbol
394
+ )
395
+
396
+ sig do
397
+ override.returns(
398
+ T::Array[
399
+ Openlayer::Models::Governance::RuleRetrieveResponse::Type::TaggedSymbol
400
+ ]
401
+ )
402
+ end
403
+ def self.values
404
+ end
405
+ end
406
+
407
+ # The kind of evidence that satisfies the rule. Set it for evidence rules; omit or
408
+ # `null` for platform rules. Fixed once the rule is created.
409
+ module EvidenceType
410
+ extend Openlayer::Internal::Type::Enum
411
+
412
+ TaggedSymbol =
413
+ T.type_alias do
414
+ T.all(
415
+ Symbol,
416
+ Openlayer::Models::Governance::RuleRetrieveResponse::EvidenceType
417
+ )
418
+ end
419
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
420
+
421
+ DOCUMENT =
422
+ T.let(
423
+ :document,
424
+ Openlayer::Models::Governance::RuleRetrieveResponse::EvidenceType::TaggedSymbol
425
+ )
426
+ TEXT =
427
+ T.let(
428
+ :text,
429
+ Openlayer::Models::Governance::RuleRetrieveResponse::EvidenceType::TaggedSymbol
430
+ )
431
+ URL =
432
+ T.let(
433
+ :url,
434
+ Openlayer::Models::Governance::RuleRetrieveResponse::EvidenceType::TaggedSymbol
435
+ )
436
+ CATEGORY_VALUE =
437
+ T.let(
438
+ :categoryValue,
439
+ Openlayer::Models::Governance::RuleRetrieveResponse::EvidenceType::TaggedSymbol
440
+ )
441
+
442
+ sig do
443
+ override.returns(
444
+ T::Array[
445
+ Openlayer::Models::Governance::RuleRetrieveResponse::EvidenceType::TaggedSymbol
446
+ ]
447
+ )
448
+ end
449
+ def self.values
450
+ end
451
+ end
452
+
453
+ class Framework < Openlayer::Internal::Type::BaseModel
454
+ OrHash =
455
+ T.type_alias do
456
+ T.any(
457
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework,
458
+ Openlayer::Internal::AnyHash
459
+ )
460
+ end
461
+
462
+ # The icon shown for the framework.
463
+ sig do
464
+ returns(
465
+ T.nilable(
466
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar
467
+ )
468
+ )
469
+ end
470
+ attr_reader :avatar
471
+
472
+ sig do
473
+ params(
474
+ avatar:
475
+ T.nilable(
476
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::OrHash
477
+ )
478
+ ).void
479
+ end
480
+ attr_writer :avatar
481
+
482
+ # Identifies a framework that ships with Openlayer, for example `eu_ai_act`,
483
+ # `iso_42001`, `nist_ai_rmf`, or `traiga`. `null` for frameworks you create
484
+ # yourself.
485
+ sig { returns(T.nilable(String)) }
486
+ attr_accessor :built_in_slug
487
+
488
+ # Whether the framework is active. Rules of a disabled framework are not evaluated
489
+ # and do not count towards compliance.
490
+ sig { returns(T::Boolean) }
491
+ attr_accessor :enabled
492
+
493
+ # The framework name.
494
+ sig { returns(String) }
495
+ attr_accessor :name
496
+
497
+ # The framework id.
498
+ sig { returns(String) }
499
+ attr_accessor :id
500
+
501
+ sig do
502
+ params(
503
+ id: String,
504
+ avatar:
505
+ T.nilable(
506
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::OrHash
507
+ ),
508
+ built_in_slug: T.nilable(String),
509
+ enabled: T::Boolean,
510
+ name: String
511
+ ).returns(T.attached_class)
512
+ end
513
+ def self.new(
514
+ # The framework id.
515
+ id:,
516
+ # The icon shown for the framework.
517
+ avatar:,
518
+ # Identifies a framework that ships with Openlayer, for example `eu_ai_act`,
519
+ # `iso_42001`, `nist_ai_rmf`, or `traiga`. `null` for frameworks you create
520
+ # yourself.
521
+ built_in_slug:,
522
+ # Whether the framework is active. Rules of a disabled framework are not evaluated
523
+ # and do not count towards compliance.
524
+ enabled:,
525
+ # The framework name.
526
+ name:
527
+ )
528
+ end
529
+
530
+ sig do
531
+ override.returns(
532
+ {
533
+ id: String,
534
+ avatar:
535
+ T.nilable(
536
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar
537
+ ),
538
+ built_in_slug: T.nilable(String),
539
+ enabled: T::Boolean,
540
+ name: String
541
+ }
542
+ )
543
+ end
544
+ def to_hash
545
+ end
546
+
547
+ class Avatar < Openlayer::Internal::Type::BaseModel
548
+ OrHash =
549
+ T.type_alias do
550
+ T.any(
551
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar,
552
+ Openlayer::Internal::AnyHash
553
+ )
554
+ end
555
+
556
+ sig do
557
+ returns(
558
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::Type::TaggedSymbol
559
+ )
560
+ end
561
+ attr_accessor :type
562
+
563
+ sig { returns(String) }
564
+ attr_accessor :value
565
+
566
+ # The icon shown for the framework.
567
+ sig do
568
+ params(
569
+ type:
570
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::Type::OrSymbol,
571
+ value: String
572
+ ).returns(T.attached_class)
573
+ end
574
+ def self.new(type:, value:)
575
+ end
576
+
577
+ sig do
578
+ override.returns(
579
+ {
580
+ type:
581
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::Type::TaggedSymbol,
582
+ value: String
583
+ }
584
+ )
585
+ end
586
+ def to_hash
587
+ end
588
+
589
+ module Type
590
+ extend Openlayer::Internal::Type::Enum
591
+
592
+ TaggedSymbol =
593
+ T.type_alias do
594
+ T.all(
595
+ Symbol,
596
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::Type
597
+ )
598
+ end
599
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
600
+
601
+ EMOJI =
602
+ T.let(
603
+ :emoji,
604
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::Type::TaggedSymbol
605
+ )
606
+ IMAGE_URL =
607
+ T.let(
608
+ :imageUrl,
609
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::Type::TaggedSymbol
610
+ )
611
+ BUILTIN_IMAGE =
612
+ T.let(
613
+ :builtinImage,
614
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::Type::TaggedSymbol
615
+ )
616
+
617
+ sig do
618
+ override.returns(
619
+ T::Array[
620
+ Openlayer::Models::Governance::RuleRetrieveResponse::Framework::Avatar::Type::TaggedSymbol
621
+ ]
622
+ )
623
+ end
624
+ def self.values
625
+ end
626
+ end
627
+ end
628
+ end
629
+
630
+ class Result < Openlayer::Internal::Type::BaseModel
631
+ OrHash =
632
+ T.type_alias do
633
+ T.any(
634
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result,
635
+ Openlayer::Internal::AnyHash
636
+ )
637
+ end
638
+
639
+ # Whether this result is excluded from compliance calculations. Excludes just this
640
+ # result, without deactivating the rule everywhere.
641
+ sig { returns(T::Boolean) }
642
+ attr_accessor :deactivated
643
+
644
+ # The compliance status of the rule for this entity. Computed by Openlayer and
645
+ # can't be set directly.
646
+ sig do
647
+ returns(
648
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol
649
+ )
650
+ end
651
+ attr_accessor :status
652
+
653
+ # The user responsible for this result.
654
+ sig { returns(T.nilable(String)) }
655
+ attr_accessor :assignee_id
656
+
657
+ # Rule results that must pass before this one can be satisfied.
658
+ sig do
659
+ returns(
660
+ T.nilable(
661
+ T::Array[
662
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy
663
+ ]
664
+ )
665
+ )
666
+ end
667
+ attr_reader :blocked_by
668
+
669
+ sig do
670
+ params(
671
+ blocked_by:
672
+ T::Array[
673
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::OrHash
674
+ ]
675
+ ).void
676
+ end
677
+ attr_writer :blocked_by
678
+
679
+ # Rule results that this one blocks.
680
+ sig do
681
+ returns(
682
+ T.nilable(
683
+ T::Array[
684
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking
685
+ ]
686
+ )
687
+ )
688
+ end
689
+ attr_reader :blocking
690
+
691
+ sig do
692
+ params(
693
+ blocking:
694
+ T::Array[
695
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::OrHash
696
+ ]
697
+ ).void
698
+ end
699
+ attr_writer :blocking
700
+
701
+ # Why the result was excluded. Required when setting `deactivated` to `true`.
702
+ sig { returns(T.nilable(String)) }
703
+ attr_accessor :deactivated_reason
704
+
705
+ # A human-readable explanation of the status.
706
+ sig { returns(T.nilable(String)) }
707
+ attr_accessor :status_message
708
+
709
+ # The rule result id.
710
+ sig { returns(String) }
711
+ attr_accessor :id
712
+
713
+ # The creation date.
714
+ sig { returns(Time) }
715
+ attr_accessor :date_created
716
+
717
+ # The last update date.
718
+ sig { returns(Time) }
719
+ attr_accessor :date_updated
720
+
721
+ # The rule this result belongs to.
722
+ sig { returns(String) }
723
+ attr_accessor :rule_id
724
+
725
+ # The id of the workspace the rule result belongs to.
726
+ sig { returns(String) }
727
+ attr_accessor :workspace_id
728
+
729
+ # When the rule was last evaluated. Platform rules only.
730
+ sig { returns(T.nilable(Time)) }
731
+ attr_accessor :date_last_evaluated
732
+
733
+ # When the most recent piece of evidence was attached. Evidence rules only.
734
+ sig { returns(T.nilable(Time)) }
735
+ attr_accessor :date_of_latest_evidence
736
+
737
+ # When the rule will next be evaluated. Platform rules only.
738
+ sig { returns(T.nilable(Time)) }
739
+ attr_accessor :date_of_next_evaluation
740
+
741
+ # When the evidence must be renewed. Evidence rules with a renewal cadence only.
742
+ sig { returns(T.nilable(Time)) }
743
+ attr_accessor :date_of_renewal
744
+
745
+ # The project this result was evaluated for. `null` for workspace-scoped rules.
746
+ sig { returns(T.nilable(String)) }
747
+ attr_accessor :project_id
748
+
749
+ # The compliance status of one rule for one entity: a project for project-scoped
750
+ # rules, or the workspace for workspace-scoped rules.
751
+ sig do
752
+ params(
753
+ id: String,
754
+ date_created: Time,
755
+ date_updated: Time,
756
+ deactivated: T::Boolean,
757
+ rule_id: String,
758
+ status:
759
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::OrSymbol,
760
+ workspace_id: String,
761
+ assignee_id: T.nilable(String),
762
+ blocked_by:
763
+ T::Array[
764
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::OrHash
765
+ ],
766
+ blocking:
767
+ T::Array[
768
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::OrHash
769
+ ],
770
+ date_last_evaluated: T.nilable(Time),
771
+ date_of_latest_evidence: T.nilable(Time),
772
+ date_of_next_evaluation: T.nilable(Time),
773
+ date_of_renewal: T.nilable(Time),
774
+ deactivated_reason: T.nilable(String),
775
+ project_id: T.nilable(String),
776
+ status_message: T.nilable(String)
777
+ ).returns(T.attached_class)
778
+ end
779
+ def self.new(
780
+ # The rule result id.
781
+ id:,
782
+ # The creation date.
783
+ date_created:,
784
+ # The last update date.
785
+ date_updated:,
786
+ # Whether this result is excluded from compliance calculations. Excludes just this
787
+ # result, without deactivating the rule everywhere.
788
+ deactivated:,
789
+ # The rule this result belongs to.
790
+ rule_id:,
791
+ # The compliance status of the rule for this entity. Computed by Openlayer and
792
+ # can't be set directly.
793
+ status:,
794
+ # The id of the workspace the rule result belongs to.
795
+ workspace_id:,
796
+ # The user responsible for this result.
797
+ assignee_id: nil,
798
+ # Rule results that must pass before this one can be satisfied.
799
+ blocked_by: nil,
800
+ # Rule results that this one blocks.
801
+ blocking: nil,
802
+ # When the rule was last evaluated. Platform rules only.
803
+ date_last_evaluated: nil,
804
+ # When the most recent piece of evidence was attached. Evidence rules only.
805
+ date_of_latest_evidence: nil,
806
+ # When the rule will next be evaluated. Platform rules only.
807
+ date_of_next_evaluation: nil,
808
+ # When the evidence must be renewed. Evidence rules with a renewal cadence only.
809
+ date_of_renewal: nil,
810
+ # Why the result was excluded. Required when setting `deactivated` to `true`.
811
+ deactivated_reason: nil,
812
+ # The project this result was evaluated for. `null` for workspace-scoped rules.
813
+ project_id: nil,
814
+ # A human-readable explanation of the status.
815
+ status_message: nil
816
+ )
817
+ end
818
+
819
+ sig do
820
+ override.returns(
821
+ {
822
+ id: String,
823
+ date_created: Time,
824
+ date_updated: Time,
825
+ deactivated: T::Boolean,
826
+ rule_id: String,
827
+ status:
828
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol,
829
+ workspace_id: String,
830
+ assignee_id: T.nilable(String),
831
+ blocked_by:
832
+ T::Array[
833
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy
834
+ ],
835
+ blocking:
836
+ T::Array[
837
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking
838
+ ],
839
+ date_last_evaluated: T.nilable(Time),
840
+ date_of_latest_evidence: T.nilable(Time),
841
+ date_of_next_evaluation: T.nilable(Time),
842
+ date_of_renewal: T.nilable(Time),
843
+ deactivated_reason: T.nilable(String),
844
+ project_id: T.nilable(String),
845
+ status_message: T.nilable(String)
846
+ }
847
+ )
848
+ end
849
+ def to_hash
850
+ end
851
+
852
+ # The compliance status of the rule for this entity. Computed by Openlayer and
853
+ # can't be set directly.
854
+ module Status
855
+ extend Openlayer::Internal::Type::Enum
856
+
857
+ TaggedSymbol =
858
+ T.type_alias do
859
+ T.all(
860
+ Symbol,
861
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status
862
+ )
863
+ end
864
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
865
+
866
+ RUNNING =
867
+ T.let(
868
+ :running,
869
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol
870
+ )
871
+ PASSING =
872
+ T.let(
873
+ :passing,
874
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol
875
+ )
876
+ FAILING =
877
+ T.let(
878
+ :failing,
879
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol
880
+ )
881
+ SKIPPED =
882
+ T.let(
883
+ :skipped,
884
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol
885
+ )
886
+ ERROR =
887
+ T.let(
888
+ :error,
889
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol
890
+ )
891
+ PENDING =
892
+ T.let(
893
+ :pending,
894
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol
895
+ )
896
+ DUE_SOON =
897
+ T.let(
898
+ :due_soon,
899
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol
900
+ )
901
+
902
+ sig do
903
+ override.returns(
904
+ T::Array[
905
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Status::TaggedSymbol
906
+ ]
907
+ )
908
+ end
909
+ def self.values
910
+ end
911
+ end
912
+
913
+ class BlockedBy < Openlayer::Internal::Type::BaseModel
914
+ OrHash =
915
+ T.type_alias do
916
+ T.any(
917
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy,
918
+ Openlayer::Internal::AnyHash
919
+ )
920
+ end
921
+
922
+ sig { returns(T.nilable(String)) }
923
+ attr_reader :id
924
+
925
+ sig { params(id: String).void }
926
+ attr_writer :id
927
+
928
+ # The compliance status of the rule for this entity. Computed by Openlayer and
929
+ # can't be set directly.
930
+ sig do
931
+ returns(
932
+ T.nilable(
933
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
934
+ )
935
+ )
936
+ end
937
+ attr_reader :status
938
+
939
+ sig do
940
+ params(
941
+ status:
942
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::OrSymbol
943
+ ).void
944
+ end
945
+ attr_writer :status
946
+
947
+ sig do
948
+ params(
949
+ id: String,
950
+ status:
951
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::OrSymbol
952
+ ).returns(T.attached_class)
953
+ end
954
+ def self.new(
955
+ id: nil,
956
+ # The compliance status of the rule for this entity. Computed by Openlayer and
957
+ # can't be set directly.
958
+ status: nil
959
+ )
960
+ end
961
+
962
+ sig do
963
+ override.returns(
964
+ {
965
+ id: String,
966
+ status:
967
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
968
+ }
969
+ )
970
+ end
971
+ def to_hash
972
+ end
973
+
974
+ # The compliance status of the rule for this entity. Computed by Openlayer and
975
+ # can't be set directly.
976
+ module Status
977
+ extend Openlayer::Internal::Type::Enum
978
+
979
+ TaggedSymbol =
980
+ T.type_alias do
981
+ T.all(
982
+ Symbol,
983
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status
984
+ )
985
+ end
986
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
987
+
988
+ RUNNING =
989
+ T.let(
990
+ :running,
991
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
992
+ )
993
+ PASSING =
994
+ T.let(
995
+ :passing,
996
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
997
+ )
998
+ FAILING =
999
+ T.let(
1000
+ :failing,
1001
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
1002
+ )
1003
+ SKIPPED =
1004
+ T.let(
1005
+ :skipped,
1006
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
1007
+ )
1008
+ ERROR =
1009
+ T.let(
1010
+ :error,
1011
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
1012
+ )
1013
+ PENDING =
1014
+ T.let(
1015
+ :pending,
1016
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
1017
+ )
1018
+ DUE_SOON =
1019
+ T.let(
1020
+ :due_soon,
1021
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
1022
+ )
1023
+
1024
+ sig do
1025
+ override.returns(
1026
+ T::Array[
1027
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::BlockedBy::Status::TaggedSymbol
1028
+ ]
1029
+ )
1030
+ end
1031
+ def self.values
1032
+ end
1033
+ end
1034
+ end
1035
+
1036
+ class Blocking < Openlayer::Internal::Type::BaseModel
1037
+ OrHash =
1038
+ T.type_alias do
1039
+ T.any(
1040
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking,
1041
+ Openlayer::Internal::AnyHash
1042
+ )
1043
+ end
1044
+
1045
+ sig { returns(T.nilable(String)) }
1046
+ attr_reader :id
1047
+
1048
+ sig { params(id: String).void }
1049
+ attr_writer :id
1050
+
1051
+ # The compliance status of the rule for this entity. Computed by Openlayer and
1052
+ # can't be set directly.
1053
+ sig do
1054
+ returns(
1055
+ T.nilable(
1056
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1057
+ )
1058
+ )
1059
+ end
1060
+ attr_reader :status
1061
+
1062
+ sig do
1063
+ params(
1064
+ status:
1065
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::OrSymbol
1066
+ ).void
1067
+ end
1068
+ attr_writer :status
1069
+
1070
+ sig do
1071
+ params(
1072
+ id: String,
1073
+ status:
1074
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::OrSymbol
1075
+ ).returns(T.attached_class)
1076
+ end
1077
+ def self.new(
1078
+ id: nil,
1079
+ # The compliance status of the rule for this entity. Computed by Openlayer and
1080
+ # can't be set directly.
1081
+ status: nil
1082
+ )
1083
+ end
1084
+
1085
+ sig do
1086
+ override.returns(
1087
+ {
1088
+ id: String,
1089
+ status:
1090
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1091
+ }
1092
+ )
1093
+ end
1094
+ def to_hash
1095
+ end
1096
+
1097
+ # The compliance status of the rule for this entity. Computed by Openlayer and
1098
+ # can't be set directly.
1099
+ module Status
1100
+ extend Openlayer::Internal::Type::Enum
1101
+
1102
+ TaggedSymbol =
1103
+ T.type_alias do
1104
+ T.all(
1105
+ Symbol,
1106
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status
1107
+ )
1108
+ end
1109
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1110
+
1111
+ RUNNING =
1112
+ T.let(
1113
+ :running,
1114
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1115
+ )
1116
+ PASSING =
1117
+ T.let(
1118
+ :passing,
1119
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1120
+ )
1121
+ FAILING =
1122
+ T.let(
1123
+ :failing,
1124
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1125
+ )
1126
+ SKIPPED =
1127
+ T.let(
1128
+ :skipped,
1129
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1130
+ )
1131
+ ERROR =
1132
+ T.let(
1133
+ :error,
1134
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1135
+ )
1136
+ PENDING =
1137
+ T.let(
1138
+ :pending,
1139
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1140
+ )
1141
+ DUE_SOON =
1142
+ T.let(
1143
+ :due_soon,
1144
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1145
+ )
1146
+
1147
+ sig do
1148
+ override.returns(
1149
+ T::Array[
1150
+ Openlayer::Models::Governance::RuleRetrieveResponse::Result::Blocking::Status::TaggedSymbol
1151
+ ]
1152
+ )
1153
+ end
1154
+ def self.values
1155
+ end
1156
+ end
1157
+ end
1158
+ end
1159
+
1160
+ class ResultsSummary < Openlayer::Internal::Type::BaseModel
1161
+ OrHash =
1162
+ T.type_alias do
1163
+ T.any(
1164
+ Openlayer::Models::Governance::RuleRetrieveResponse::ResultsSummary,
1165
+ Openlayer::Internal::AnyHash
1166
+ )
1167
+ end
1168
+
1169
+ sig { returns(T.nilable(Integer)) }
1170
+ attr_reader :passing
1171
+
1172
+ sig { params(passing: Integer).void }
1173
+ attr_writer :passing
1174
+
1175
+ sig { returns(T.nilable(Integer)) }
1176
+ attr_reader :total
1177
+
1178
+ sig { params(total: Integer).void }
1179
+ attr_writer :total
1180
+
1181
+ # Pass-rate counts across all of the rule's entities, independent of any status
1182
+ # filter applied to the request.
1183
+ sig do
1184
+ params(passing: Integer, total: Integer).returns(T.attached_class)
1185
+ end
1186
+ def self.new(passing: nil, total: nil)
1187
+ end
1188
+
1189
+ sig { override.returns({ passing: Integer, total: Integer }) }
1190
+ def to_hash
1191
+ end
1192
+ end
1193
+
1194
+ class Tag < Openlayer::Internal::Type::BaseModel
1195
+ OrHash =
1196
+ T.type_alias do
1197
+ T.any(
1198
+ Openlayer::Models::Governance::RuleRetrieveResponse::Tag,
1199
+ Openlayer::Internal::AnyHash
1200
+ )
1201
+ end
1202
+
1203
+ # The tag name.
1204
+ sig { returns(String) }
1205
+ attr_accessor :name
1206
+
1207
+ # The color the tag is displayed with.
1208
+ sig { returns(T.nilable(String)) }
1209
+ attr_accessor :color
1210
+
1211
+ # The rule tag id.
1212
+ sig { returns(String) }
1213
+ attr_accessor :id
1214
+
1215
+ # The user who created the tag. `null` for tags that ship with Openlayer.
1216
+ sig { returns(T.nilable(String)) }
1217
+ attr_accessor :creator_id
1218
+
1219
+ # The creation date.
1220
+ sig { returns(Time) }
1221
+ attr_accessor :date_created
1222
+
1223
+ # The last update date.
1224
+ sig { returns(Time) }
1225
+ attr_accessor :date_updated
1226
+
1227
+ # Whether the tag is managed by Openlayer. These tags can't be deleted.
1228
+ sig { returns(T::Boolean) }
1229
+ attr_accessor :immutable
1230
+
1231
+ # The id of the workspace the tag belongs to.
1232
+ sig { returns(String) }
1233
+ attr_accessor :workspace_id
1234
+
1235
+ # A label that groups rules across frameworks, for example by team or control
1236
+ # family.
1237
+ sig do
1238
+ params(
1239
+ id: String,
1240
+ creator_id: T.nilable(String),
1241
+ date_created: Time,
1242
+ date_updated: Time,
1243
+ immutable: T::Boolean,
1244
+ name: String,
1245
+ workspace_id: String,
1246
+ color: T.nilable(String)
1247
+ ).returns(T.attached_class)
1248
+ end
1249
+ def self.new(
1250
+ # The rule tag id.
1251
+ id:,
1252
+ # The user who created the tag. `null` for tags that ship with Openlayer.
1253
+ creator_id:,
1254
+ # The creation date.
1255
+ date_created:,
1256
+ # The last update date.
1257
+ date_updated:,
1258
+ # Whether the tag is managed by Openlayer. These tags can't be deleted.
1259
+ immutable:,
1260
+ # The tag name.
1261
+ name:,
1262
+ # The id of the workspace the tag belongs to.
1263
+ workspace_id:,
1264
+ # The color the tag is displayed with.
1265
+ color: nil
1266
+ )
1267
+ end
1268
+
1269
+ sig do
1270
+ override.returns(
1271
+ {
1272
+ id: String,
1273
+ creator_id: T.nilable(String),
1274
+ date_created: Time,
1275
+ date_updated: Time,
1276
+ immutable: T::Boolean,
1277
+ name: String,
1278
+ workspace_id: String,
1279
+ color: T.nilable(String)
1280
+ }
1281
+ )
1282
+ end
1283
+ def to_hash
1284
+ end
1285
+ end
1286
+ end
1287
+ end
1288
+ end
1289
+ end