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