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