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