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,233 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Governance
6
+ class Rules
7
+ # Create a governance rule in a workspace.
8
+ #
9
+ # A rule is one requirement. Its `type` decides how it is satisfied, and the two
10
+ # types accept different fields:
11
+ #
12
+ # - `platform` rules are evaluated automatically from the state of your workspace.
13
+ # Set `automationType` to the signal to check. Their `scope` must be `project`,
14
+ # and `evidenceType` and `renewalCadenceDays` must be omitted or `null`.
15
+ # - `evidence` rules are satisfied by attaching evidence. Set `evidenceType` to
16
+ # the kind of evidence that satisfies them. `automationType` and
17
+ # `automationParams` must be omitted or `null`.
18
+ #
19
+ # A new rule belongs to no framework. Map it to one from the Openlayer app.
20
+ sig do
21
+ params(
22
+ workspace_id: String,
23
+ name: String,
24
+ scope: Openlayer::Governance::RuleCreateParams::Scope::OrSymbol,
25
+ type: Openlayer::Governance::RuleCreateParams::Type::OrSymbol,
26
+ assignee_id: T.nilable(String),
27
+ automation_params: T.nilable(T::Hash[Symbol, T.anything]),
28
+ automation_type: T.nilable(String),
29
+ deactivated: T::Boolean,
30
+ description: T.nilable(String),
31
+ evidence_type:
32
+ T.nilable(
33
+ Openlayer::Governance::RuleCreateParams::EvidenceType::OrSymbol
34
+ ),
35
+ renewal_cadence_days: T.nilable(Integer),
36
+ tag_ids: T.nilable(T::Array[String]),
37
+ request_options: Openlayer::RequestOptions::OrHash
38
+ ).returns(Openlayer::Models::Governance::RuleCreateResponse)
39
+ end
40
+ def create(
41
+ # The workspace id.
42
+ workspace_id,
43
+ # The rule name.
44
+ name:,
45
+ # Whether the rule is evaluated once for the whole workspace, or once per project
46
+ # the rule's frameworks apply to.
47
+ scope:,
48
+ # `platform` rules are evaluated automatically from the state of your Openlayer
49
+ # workspace. `evidence` rules are satisfied by attaching evidence.
50
+ type:,
51
+ # The user responsible for satisfying the rule.
52
+ assignee_id: nil,
53
+ # Configuration for the platform check, when the automation takes parameters.
54
+ automation_params: nil,
55
+ # Which workspace signal a platform rule checks, for example
56
+ # `monitoring_mode_enabled`, `test_setup`, or `project_owner_set`. `null` for
57
+ # evidence rules.
58
+ automation_type: nil,
59
+ # Whether the rule is excluded from compliance calculations.
60
+ deactivated: nil,
61
+ # What the rule requires.
62
+ description: nil,
63
+ # The kind of evidence that satisfies the rule. `null` for platform rules.
64
+ evidence_type: nil,
65
+ # How often evidence must be renewed, in days. Once evidence is older than this,
66
+ # the rule result becomes `due_soon` and then `failing`.
67
+ renewal_cadence_days: nil,
68
+ # The ids of the rule tags to associate with the rule. Replaces the rule's tags.
69
+ # Read them back from `tags`, and list the tags available in the workspace with
70
+ # `GET /workspaces/{workspaceId}/rule-tags`.
71
+ tag_ids: nil,
72
+ request_options: {}
73
+ )
74
+ end
75
+
76
+ # Retrieve a governance rule by its id, including the frameworks it belongs to and
77
+ # its tags.
78
+ sig do
79
+ params(
80
+ rule_id: String,
81
+ request_options: Openlayer::RequestOptions::OrHash
82
+ ).returns(Openlayer::Models::Governance::RuleRetrieveResponse)
83
+ end
84
+ def retrieve(
85
+ # The rule id.
86
+ rule_id,
87
+ request_options: {}
88
+ )
89
+ end
90
+
91
+ # Update a governance rule. Only the fields you send are changed.
92
+ #
93
+ # Rules that ship with Openlayer report `immutable: true` and cannot be edited.
94
+ #
95
+ # A rule's `scope`, `type`, `evidenceType`, and automation are fixed once it
96
+ # exists -- create a new rule instead of converting one.
97
+ sig do
98
+ params(
99
+ rule_id: String,
100
+ assignee_id: T.nilable(String),
101
+ deactivated: T::Boolean,
102
+ description: T.nilable(String),
103
+ name: String,
104
+ renewal_cadence_days: T.nilable(Integer),
105
+ tag_ids: T.nilable(T::Array[String]),
106
+ request_options: Openlayer::RequestOptions::OrHash
107
+ ).returns(Openlayer::Models::Governance::RuleUpdateResponse)
108
+ end
109
+ def update(
110
+ # The rule id.
111
+ rule_id,
112
+ # The user responsible for satisfying the rule.
113
+ assignee_id: nil,
114
+ # Whether the rule is excluded from compliance calculations.
115
+ deactivated: nil,
116
+ # What the rule requires.
117
+ description: nil,
118
+ # The rule name.
119
+ name: nil,
120
+ # How often evidence must be renewed, in days. Once evidence is older than this,
121
+ # the rule result becomes `due_soon` and then `failing`.
122
+ renewal_cadence_days: nil,
123
+ # The ids of the rule tags to associate with the rule. Replaces the rule's tags.
124
+ # Read them back from `tags`, and list the tags available in the workspace with
125
+ # `GET /workspaces/{workspaceId}/rule-tags`.
126
+ tag_ids: nil,
127
+ request_options: {}
128
+ )
129
+ end
130
+
131
+ # List the governance rules in a workspace.
132
+ #
133
+ # A rule is a single requirement Openlayer tracks. `platform` rules are evaluated
134
+ # automatically from the state of your workspace; `evidence` rules are satisfied
135
+ # by attaching evidence. A rule can belong to several frameworks at once, and
136
+ # rules that belong to none are returned too unless you pass
137
+ # `includeUnframed=false`.
138
+ #
139
+ # Pass `includeResults=true` to get each rule's compliance results inline instead
140
+ # of fetching them separately.
141
+ sig do
142
+ params(
143
+ workspace_id: String,
144
+ asc: T::Boolean,
145
+ assignee_id: String,
146
+ deactivated: T::Boolean,
147
+ enabled_framework_only: T::Boolean,
148
+ framework_id: String,
149
+ group: Openlayer::Governance::RuleListParams::Group::OrSymbol,
150
+ include_results: T::Boolean,
151
+ include_unframed: T::Boolean,
152
+ page: Integer,
153
+ per_page: Integer,
154
+ project_id: String,
155
+ scope: Openlayer::Governance::RuleListParams::Scope::OrSymbol,
156
+ search_query: String,
157
+ sort_by: Openlayer::Governance::RuleListParams::SortBy::OrSymbol,
158
+ status: Openlayer::Governance::RuleListParams::Status::OrSymbol,
159
+ tags: T::Array[String],
160
+ type: Openlayer::Governance::RuleListParams::Type::OrSymbol,
161
+ request_options: Openlayer::RequestOptions::OrHash
162
+ ).returns(Openlayer::Models::Governance::RuleListResponse)
163
+ end
164
+ def list(
165
+ # The workspace id.
166
+ workspace_id,
167
+ # Whether to sort in ascending order.
168
+ asc: nil,
169
+ # Only include rules assigned to this user.
170
+ assignee_id: nil,
171
+ # Only include rules that are deactivated (or active).
172
+ deactivated: nil,
173
+ # Only include items belonging to at least one enabled framework.
174
+ enabled_framework_only: nil,
175
+ # Only include items belonging to this framework.
176
+ framework_id: nil,
177
+ # Only include rules in one bucket of the compliance workflow. `open` covers rules
178
+ # that still need attention, `done` covers rules that are fully satisfied, and
179
+ # `excluded` covers rules that have been deactivated.
180
+ group: nil,
181
+ # Whether to include each rule's results inline, in a `results` array.
182
+ include_results: nil,
183
+ # Whether to include rules that are not part of any framework.
184
+ include_unframed: nil,
185
+ # The page to return in a paginated query.
186
+ page: nil,
187
+ # Maximum number of items to return per page.
188
+ per_page: nil,
189
+ # Only include items that apply to this project.
190
+ project_id: nil,
191
+ # Only include rules with this scope.
192
+ scope: nil,
193
+ # Filter by a free-text search over names and descriptions.
194
+ search_query: nil,
195
+ # The field to sort on.
196
+ sort_by: nil,
197
+ # Only include items whose rule result has this compliance status.
198
+ status: nil,
199
+ # Only include rules carrying all of these rule tags. Pass tag ids, which you can
200
+ # look up with [List rule tags](/api-reference/rest/governance/list-rule-tags).
201
+ tags: nil,
202
+ # Only include rules of this type.
203
+ type: nil,
204
+ request_options: {}
205
+ )
206
+ end
207
+
208
+ # Delete a governance rule and its rule results.
209
+ #
210
+ # Only rules you created can be deleted. Rules that ship with Openlayer report
211
+ # `immutable: true` and cannot be deleted -- exclude one from compliance by
212
+ # setting `deactivated` with `PUT /rules/{ruleId}` instead.
213
+ sig do
214
+ params(
215
+ rule_id: String,
216
+ request_options: Openlayer::RequestOptions::OrHash
217
+ ).void
218
+ end
219
+ def delete(
220
+ # The rule id.
221
+ rule_id,
222
+ request_options: {}
223
+ )
224
+ end
225
+
226
+ # @api private
227
+ sig { params(client: Openlayer::Client).returns(T.attached_class) }
228
+ def self.new(client:)
229
+ end
230
+ end
231
+ end
232
+ end
233
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Governance
6
+ sig { returns(Openlayer::Resources::Governance::Frameworks) }
7
+ attr_reader :frameworks
8
+
9
+ sig { returns(Openlayer::Resources::Governance::Rules) }
10
+ attr_reader :rules
11
+
12
+ sig { returns(Openlayer::Resources::Governance::RuleResults) }
13
+ attr_reader :rule_results
14
+
15
+ sig { returns(Openlayer::Resources::Governance::RuleStats) }
16
+ attr_reader :rule_stats
17
+
18
+ sig { returns(Openlayer::Resources::Governance::RuleTags) }
19
+ attr_reader :rule_tags
20
+
21
+ # @api private
22
+ sig { params(client: Openlayer::Client).returns(T.attached_class) }
23
+ def self.new(client:)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -18,6 +18,29 @@ module Openlayer
18
18
  )
19
19
  end
20
20
 
21
+ # Exchange a `storageUri` for a short-lived presigned url you can download the
22
+ # object from.
23
+ #
24
+ # Use it to collect anything the platform stored on your behalf -- for example the
25
+ # archive a framework export leaves behind, whose `storageUri` comes back in the
26
+ # background task's `outputs`.
27
+ #
28
+ # The workspace is taken from the API key, so there is nothing else to send. The
29
+ # url is only issued for objects your workspace owns, and `404` covers both "no
30
+ # such object" and "not yours".
31
+ sig do
32
+ params(
33
+ storage_uri: String,
34
+ request_options: Openlayer::RequestOptions::OrHash
35
+ ).returns(Openlayer::Models::Storage::PresignedURLRetrieveResponse)
36
+ end
37
+ def retrieve(
38
+ # The object's storage uri.
39
+ storage_uri:,
40
+ request_options: {}
41
+ )
42
+ end
43
+
21
44
  # @api private
22
45
  sig { params(client: Openlayer::Client).returns(T.attached_class) }
23
46
  def self.new(client:)
@@ -22,6 +22,10 @@ module Openlayer
22
22
 
23
23
  attr_reader tests: Openlayer::Resources::Tests
24
24
 
25
+ attr_reader background_tasks: Openlayer::Resources::BackgroundTasks
26
+
27
+ attr_reader governance: Openlayer::Resources::Governance
28
+
25
29
  private def auth_headers: -> ::Hash[String, String]
26
30
 
27
31
  def initialize: (
@@ -0,0 +1,23 @@
1
+ module Openlayer
2
+ module Models
3
+ type background_task_retrieve_params =
4
+ { task_id: String } & Openlayer::Internal::Type::request_parameters
5
+
6
+ class BackgroundTaskRetrieveParams < Openlayer::Internal::Type::BaseModel
7
+ extend Openlayer::Internal::Type::RequestParameters::Converter
8
+ include Openlayer::Internal::Type::RequestParameters
9
+
10
+ attr_accessor task_id: String
11
+
12
+ def initialize: (
13
+ task_id: String,
14
+ ?request_options: Openlayer::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ task_id: String,
19
+ request_options: Openlayer::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,55 @@
1
+ module Openlayer
2
+ module Models
3
+ type background_task_retrieve_response =
4
+ {
5
+ id: String,
6
+ complete: bool,
7
+ date_created: Time,
8
+ date_updated: Time,
9
+ name: String,
10
+ progress: Float,
11
+ error: String?,
12
+ outputs: top?
13
+ }
14
+
15
+ class BackgroundTaskRetrieveResponse < Openlayer::Internal::Type::BaseModel
16
+ attr_accessor complete: bool
17
+
18
+ attr_accessor progress: Float
19
+
20
+ attr_accessor error: String?
21
+
22
+ attr_accessor outputs: top?
23
+
24
+ attr_accessor id: String
25
+
26
+ attr_accessor date_created: Time
27
+
28
+ attr_accessor date_updated: Time
29
+
30
+ attr_accessor name: String
31
+
32
+ def initialize: (
33
+ id: String,
34
+ complete: bool,
35
+ date_created: Time,
36
+ date_updated: Time,
37
+ name: String,
38
+ progress: Float,
39
+ ?error: String?,
40
+ ?outputs: top?
41
+ ) -> void
42
+
43
+ def to_hash: -> {
44
+ id: String,
45
+ complete: bool,
46
+ date_created: Time,
47
+ date_updated: Time,
48
+ name: String,
49
+ progress: Float,
50
+ error: String?,
51
+ outputs: top?
52
+ }
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,124 @@
1
+ module Openlayer
2
+ module Models
3
+ module Governance
4
+ type framework_create_params =
5
+ {
6
+ workspace_id: String,
7
+ name: String,
8
+ description: String?,
9
+ enabled: bool,
10
+ project_selector: Openlayer::Governance::FrameworkCreateParams::ProjectSelector?,
11
+ tags: ::Array[String]
12
+ }
13
+ & Openlayer::Internal::Type::request_parameters
14
+
15
+ class FrameworkCreateParams < Openlayer::Internal::Type::BaseModel
16
+ extend Openlayer::Internal::Type::RequestParameters::Converter
17
+ include Openlayer::Internal::Type::RequestParameters
18
+
19
+ attr_accessor workspace_id: String
20
+
21
+ attr_accessor name: String
22
+
23
+ attr_accessor description: String?
24
+
25
+ attr_reader enabled: bool?
26
+
27
+ def enabled=: (bool) -> bool
28
+
29
+ attr_accessor project_selector: Openlayer::Governance::FrameworkCreateParams::ProjectSelector?
30
+
31
+ attr_reader tags: ::Array[String]?
32
+
33
+ def tags=: (::Array[String]) -> ::Array[String]
34
+
35
+ def initialize: (
36
+ workspace_id: String,
37
+ name: String,
38
+ ?description: String?,
39
+ ?enabled: bool,
40
+ ?project_selector: Openlayer::Governance::FrameworkCreateParams::ProjectSelector?,
41
+ ?tags: ::Array[String],
42
+ ?request_options: Openlayer::request_opts
43
+ ) -> void
44
+
45
+ def to_hash: -> {
46
+ workspace_id: String,
47
+ name: String,
48
+ description: String?,
49
+ enabled: bool,
50
+ project_selector: Openlayer::Governance::FrameworkCreateParams::ProjectSelector?,
51
+ tags: ::Array[String],
52
+ request_options: Openlayer::RequestOptions
53
+ }
54
+
55
+ type project_selector =
56
+ {
57
+ match: ::Array[Openlayer::Governance::FrameworkCreateParams::ProjectSelector::Match]?
58
+ }
59
+
60
+ class ProjectSelector < Openlayer::Internal::Type::BaseModel
61
+ attr_accessor match: ::Array[Openlayer::Governance::FrameworkCreateParams::ProjectSelector::Match]?
62
+
63
+ def initialize: (
64
+ ?match: ::Array[Openlayer::Governance::FrameworkCreateParams::ProjectSelector::Match]?
65
+ ) -> void
66
+
67
+ def to_hash: -> {
68
+ match: ::Array[Openlayer::Governance::FrameworkCreateParams::ProjectSelector::Match]?
69
+ }
70
+
71
+ type match =
72
+ {
73
+ property: Openlayer::Models::Governance::FrameworkCreateParams::ProjectSelector::Match::property,
74
+ value: top,
75
+ operator: String
76
+ }
77
+
78
+ class Match < Openlayer::Internal::Type::BaseModel
79
+ attr_accessor property: Openlayer::Models::Governance::FrameworkCreateParams::ProjectSelector::Match::property
80
+
81
+ attr_accessor value: top
82
+
83
+ attr_reader operator: String?
84
+
85
+ def operator=: (String) -> String
86
+
87
+ def initialize: (
88
+ property: Openlayer::Models::Governance::FrameworkCreateParams::ProjectSelector::Match::property,
89
+ value: top,
90
+ ?operator: String
91
+ ) -> void
92
+
93
+ def to_hash: -> {
94
+ property: Openlayer::Models::Governance::FrameworkCreateParams::ProjectSelector::Match::property,
95
+ value: top,
96
+ operator: String
97
+ }
98
+
99
+ type property =
100
+ :taskType
101
+ | :riskLevel
102
+ | :riskTotalScore
103
+ | :name
104
+ | :ownerId
105
+ | :modelTypes
106
+
107
+ module Property
108
+ extend Openlayer::Internal::Type::Enum
109
+
110
+ TASK_TYPE: :taskType
111
+ RISK_LEVEL: :riskLevel
112
+ RISK_TOTAL_SCORE: :riskTotalScore
113
+ NAME: :name
114
+ OWNER_ID: :ownerId
115
+ MODEL_TYPES: :modelTypes
116
+
117
+ def self?.values: -> ::Array[Openlayer::Models::Governance::FrameworkCreateParams::ProjectSelector::Match::property]
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end