openlayer 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/openlayer/models/background_task_retrieve_response.rb +4 -0
  5. data/lib/openlayer/models/governance/framework_create_response.rb +7 -2
  6. data/lib/openlayer/models/governance/framework_export_params.rb +7 -2
  7. data/lib/openlayer/models/governance/framework_list_project_rule_stats_response.rb +2 -0
  8. data/lib/openlayer/models/governance/framework_list_response.rb +7 -2
  9. data/lib/openlayer/models/governance/framework_list_rules_response.rb +69 -29
  10. data/lib/openlayer/models/governance/framework_retrieve_response.rb +7 -2
  11. data/lib/openlayer/models/governance/framework_update_response.rb +7 -2
  12. data/lib/openlayer/models/governance/frameworks/document_list_response.rb +54 -28
  13. data/lib/openlayer/models/governance/frameworks/document_retrieve_response.rb +54 -28
  14. data/lib/openlayer/models/governance/frameworks/section_list_rules_response.rb +69 -29
  15. data/lib/openlayer/models/governance/frameworks/subsection_list_rules_response.rb +69 -29
  16. data/lib/openlayer/models/governance/rule_create_params.rb +21 -12
  17. data/lib/openlayer/models/governance/rule_create_response.rb +68 -29
  18. data/lib/openlayer/models/governance/rule_list_response.rb +69 -29
  19. data/lib/openlayer/models/governance/rule_result_create_evidence_params.rb +2 -1
  20. data/lib/openlayer/models/governance/rule_result_create_evidence_response.rb +6 -1
  21. data/lib/openlayer/models/governance/rule_result_list_evidence_response.rb +6 -1
  22. data/lib/openlayer/models/governance/rule_result_list_response.rb +34 -13
  23. data/lib/openlayer/models/governance/rule_result_retrieve_response.rb +34 -13
  24. data/lib/openlayer/models/governance/rule_result_update_params.rb +26 -10
  25. data/lib/openlayer/models/governance/rule_result_update_response.rb +34 -13
  26. data/lib/openlayer/models/governance/rule_retrieve_response.rb +68 -29
  27. data/lib/openlayer/models/governance/rule_stat_retrieve_response.rb +4 -0
  28. data/lib/openlayer/models/governance/rule_tag_list_response.rb +5 -2
  29. data/lib/openlayer/models/governance/rule_update_params.rb +2 -1
  30. data/lib/openlayer/models/governance/rule_update_response.rb +68 -29
  31. data/lib/openlayer/models/inference_pipeline_retrieve_sessions_response.rb +3 -0
  32. data/lib/openlayer/models/inference_pipeline_retrieve_users_response.rb +3 -0
  33. data/lib/openlayer/models/storage/presigned_url_retrieve_params.rb +6 -2
  34. data/lib/openlayer/models/workspaces/api_key_create_params.rb +17 -1
  35. data/lib/openlayer/models/workspaces/api_key_create_response.rb +73 -3
  36. data/lib/openlayer/models/workspaces/api_key_delete_params.rb +28 -0
  37. data/lib/openlayer/models/workspaces/api_key_list_params.rb +22 -0
  38. data/lib/openlayer/models/workspaces/api_key_list_response.rb +134 -0
  39. data/lib/openlayer/models/workspaces/api_key_retrieve_params.rb +28 -0
  40. data/lib/openlayer/models/workspaces/api_key_retrieve_response.rb +131 -0
  41. data/lib/openlayer/models/workspaces/api_key_rotate_params.rb +56 -0
  42. data/lib/openlayer/models/workspaces/api_key_rotate_response.rb +131 -0
  43. data/lib/openlayer/models/workspaces/api_key_update_params.rb +38 -0
  44. data/lib/openlayer/models/workspaces/api_key_update_response.rb +131 -0
  45. data/lib/openlayer/resources/background_tasks.rb +1 -5
  46. data/lib/openlayer/resources/commits.rb +1 -1
  47. data/lib/openlayer/resources/governance/frameworks/documents.rb +1 -9
  48. data/lib/openlayer/resources/governance/frameworks/sections.rb +1 -5
  49. data/lib/openlayer/resources/governance/frameworks/subsections.rb +1 -5
  50. data/lib/openlayer/resources/governance/frameworks.rb +10 -62
  51. data/lib/openlayer/resources/governance/rule_results.rb +8 -33
  52. data/lib/openlayer/resources/governance/rule_stats.rb +1 -5
  53. data/lib/openlayer/resources/governance/rule_tags.rb +0 -4
  54. data/lib/openlayer/resources/governance/rules.rb +7 -38
  55. data/lib/openlayer/resources/inference_pipelines/rows.rb +4 -5
  56. data/lib/openlayer/resources/inference_pipelines.rb +5 -14
  57. data/lib/openlayer/resources/projects/tests.rb +3 -3
  58. data/lib/openlayer/resources/storage/presigned_url.rb +5 -11
  59. data/lib/openlayer/resources/tests.rb +1 -4
  60. data/lib/openlayer/resources/workspaces/api_keys.rb +146 -2
  61. data/lib/openlayer/resources/workspaces/invites.rb +1 -1
  62. data/lib/openlayer/resources/workspaces.rb +1 -1
  63. data/lib/openlayer/version.rb +1 -1
  64. data/lib/openlayer.rb +9 -0
  65. data/rbi/openlayer/models/background_task_retrieve_response.rbi +3 -0
  66. data/rbi/openlayer/models/governance/framework_create_response.rbi +7 -2
  67. data/rbi/openlayer/models/governance/framework_export_params.rbi +6 -2
  68. data/rbi/openlayer/models/governance/framework_list_project_rule_stats_response.rbi +1 -0
  69. data/rbi/openlayer/models/governance/framework_list_response.rbi +7 -2
  70. data/rbi/openlayer/models/governance/framework_list_rules_response.rbi +70 -34
  71. data/rbi/openlayer/models/governance/framework_retrieve_response.rbi +7 -2
  72. data/rbi/openlayer/models/governance/framework_update_response.rbi +7 -2
  73. data/rbi/openlayer/models/governance/frameworks/document_list_response.rbi +76 -38
  74. data/rbi/openlayer/models/governance/frameworks/document_retrieve_response.rbi +76 -38
  75. data/rbi/openlayer/models/governance/frameworks/section_list_rules_response.rbi +70 -34
  76. data/rbi/openlayer/models/governance/frameworks/subsection_list_rules_response.rbi +70 -34
  77. data/rbi/openlayer/models/governance/rule_create_params.rbi +32 -17
  78. data/rbi/openlayer/models/governance/rule_create_response.rbi +70 -34
  79. data/rbi/openlayer/models/governance/rule_list_response.rbi +70 -34
  80. data/rbi/openlayer/models/governance/rule_result_create_evidence_params.rbi +4 -2
  81. data/rbi/openlayer/models/governance/rule_result_create_evidence_response.rbi +7 -2
  82. data/rbi/openlayer/models/governance/rule_result_list_evidence_response.rbi +7 -2
  83. data/rbi/openlayer/models/governance/rule_result_list_response.rbi +26 -13
  84. data/rbi/openlayer/models/governance/rule_result_retrieve_response.rbi +26 -13
  85. data/rbi/openlayer/models/governance/rule_result_update_params.rbi +18 -10
  86. data/rbi/openlayer/models/governance/rule_result_update_response.rbi +26 -13
  87. data/rbi/openlayer/models/governance/rule_retrieve_response.rbi +70 -34
  88. data/rbi/openlayer/models/governance/rule_stat_retrieve_response.rbi +3 -0
  89. data/rbi/openlayer/models/governance/rule_tag_list_response.rbi +4 -2
  90. data/rbi/openlayer/models/governance/rule_update_params.rbi +4 -2
  91. data/rbi/openlayer/models/governance/rule_update_response.rbi +70 -34
  92. data/rbi/openlayer/models/inference_pipeline_retrieve_sessions_response.rbi +2 -0
  93. data/rbi/openlayer/models/inference_pipeline_retrieve_users_response.rbi +2 -0
  94. data/rbi/openlayer/models/storage/presigned_url_retrieve_params.rbi +4 -2
  95. data/rbi/openlayer/models/workspaces/api_key_create_params.rbi +18 -0
  96. data/rbi/openlayer/models/workspaces/api_key_create_response.rbi +117 -5
  97. data/rbi/openlayer/models/workspaces/api_key_delete_params.rbi +48 -0
  98. data/rbi/openlayer/models/workspaces/api_key_list_params.rbi +40 -0
  99. data/rbi/openlayer/models/workspaces/api_key_list_response.rbi +202 -0
  100. data/rbi/openlayer/models/workspaces/api_key_retrieve_params.rbi +48 -0
  101. data/rbi/openlayer/models/workspaces/api_key_retrieve_response.rbi +194 -0
  102. data/rbi/openlayer/models/workspaces/api_key_rotate_params.rbi +85 -0
  103. data/rbi/openlayer/models/workspaces/api_key_rotate_response.rbi +194 -0
  104. data/rbi/openlayer/models/workspaces/api_key_update_params.rbi +60 -0
  105. data/rbi/openlayer/models/workspaces/api_key_update_response.rbi +194 -0
  106. data/rbi/openlayer/resources/background_tasks.rbi +1 -5
  107. data/rbi/openlayer/resources/commits.rbi +1 -1
  108. data/rbi/openlayer/resources/governance/frameworks/documents.rbi +1 -9
  109. data/rbi/openlayer/resources/governance/frameworks/sections.rbi +1 -5
  110. data/rbi/openlayer/resources/governance/frameworks/subsections.rbi +1 -5
  111. data/rbi/openlayer/resources/governance/frameworks.rbi +10 -63
  112. data/rbi/openlayer/resources/governance/rule_results.rbi +9 -35
  113. data/rbi/openlayer/resources/governance/rule_stats.rbi +1 -5
  114. data/rbi/openlayer/resources/governance/rule_tags.rbi +0 -4
  115. data/rbi/openlayer/resources/governance/rules.rbi +20 -44
  116. data/rbi/openlayer/resources/inference_pipelines/rows.rbi +4 -5
  117. data/rbi/openlayer/resources/inference_pipelines.rbi +5 -14
  118. data/rbi/openlayer/resources/projects/tests.rbi +3 -3
  119. data/rbi/openlayer/resources/storage/presigned_url.rbi +4 -12
  120. data/rbi/openlayer/resources/tests.rbi +1 -4
  121. data/rbi/openlayer/resources/workspaces/api_keys.rbi +110 -1
  122. data/rbi/openlayer/resources/workspaces/invites.rbi +1 -1
  123. data/rbi/openlayer/resources/workspaces.rbi +1 -1
  124. data/sig/openlayer/models/workspaces/api_key_create_params.rbs +5 -1
  125. data/sig/openlayer/models/workspaces/api_key_create_response.rbs +42 -3
  126. data/sig/openlayer/models/workspaces/api_key_delete_params.rbs +30 -0
  127. data/sig/openlayer/models/workspaces/api_key_list_params.rbs +25 -0
  128. data/sig/openlayer/models/workspaces/api_key_list_response.rbs +91 -0
  129. data/sig/openlayer/models/workspaces/api_key_retrieve_params.rbs +30 -0
  130. data/sig/openlayer/models/workspaces/api_key_retrieve_response.rbs +86 -0
  131. data/sig/openlayer/models/workspaces/api_key_rotate_params.rbs +45 -0
  132. data/sig/openlayer/models/workspaces/api_key_rotate_response.rbs +86 -0
  133. data/sig/openlayer/models/workspaces/api_key_update_params.rbs +34 -0
  134. data/sig/openlayer/models/workspaces/api_key_update_response.rbs +86 -0
  135. data/sig/openlayer/resources/workspaces/api_keys.rbs +33 -0
  136. metadata +29 -2
@@ -16,14 +16,7 @@ module Openlayer
16
16
  # Some parameter documentations has been truncated, see
17
17
  # {Openlayer::Models::Governance::FrameworkCreateParams} for more details.
18
18
  #
19
- # Create a custom governance framework in a workspace.
20
- #
21
- # Use this to track compliance against an internal policy, or against a standard
22
- # Openlayer does not ship as a built-in framework. A new framework starts with no
23
- # rules -- add them from the Openlayer app, or map an existing rule to it.
24
- #
25
- # A framework is created disabled unless you pass `enabled: true`. While it is
26
- # disabled its rules are not evaluated and do not count towards compliance.
19
+ # Create a custom framework in a workspace.
27
20
  #
28
21
  # @overload create(workspace_id, name:, description: nil, enabled: nil, project_selector: nil, tags: nil, request_options: {})
29
22
  #
@@ -55,7 +48,7 @@ module Openlayer
55
48
  )
56
49
  end
57
50
 
58
- # Retrieve a governance framework by its id.
51
+ # Retrieve a framework.
59
52
  #
60
53
  # @overload retrieve(framework_id, request_options: {})
61
54
  #
@@ -78,17 +71,7 @@ module Openlayer
78
71
  # Some parameter documentations has been truncated, see
79
72
  # {Openlayer::Models::Governance::FrameworkUpdateParams} for more details.
80
73
  #
81
- # Update a governance framework.
82
- #
83
- # The most common use is activating or deactivating a framework for the workspace
84
- # by setting `enabled`. Rules of a disabled framework are not evaluated and do not
85
- # count towards compliance.
86
- #
87
- # Frameworks that ship with Openlayer report `immutable: true`. For those, only
88
- # `enabled`, `tags`, and `projectSelector` can be changed -- their name and
89
- # definition are managed by Openlayer.
90
- #
91
- # Only the fields you send are changed.
74
+ # Update a framework.
92
75
  #
93
76
  # @overload update(framework_id, avatar: nil, description: nil, enabled: nil, extended_description: nil, href: nil, name: nil, project_selector: nil, tags: nil, request_options: {})
94
77
  #
@@ -129,12 +112,7 @@ module Openlayer
129
112
  # Some parameter documentations has been truncated, see
130
113
  # {Openlayer::Models::Governance::FrameworkListParams} for more details.
131
114
  #
132
- # List the governance frameworks in a workspace.
133
- #
134
- # A framework is a set of rules -- drawn from a regulation, a standard, or your
135
- # own internal policy -- that Openlayer tracks compliance against. Use this
136
- # endpoint to find the framework you want to report on, then read its rules and
137
- # rule results.
115
+ # List the frameworks in a workspace.
138
116
  #
139
117
  # @overload list(workspace_id, asc: nil, completion_operator: nil, completion_value: nil, enabled: nil, include_rule_stats: nil, page: nil, per_page: nil, project_id: nil, search_query: nil, sort_column: nil, tags: nil, request_options: {})
140
118
  #
@@ -187,35 +165,16 @@ module Openlayer
187
165
  )
188
166
  end
189
167
 
190
- # Export a framework's evidence and progress as an audit-ready zip archive.
191
- #
192
- # The archive holds every evidence file uploaded against the framework's
193
- # evidence-based rules, a markdown report of the framework's progress and the
194
- # status of all its rules (broken down by documentation section when the framework
195
- # has documents), and CSV manifests of rules and evidence with SHA-256 checksums.
196
- #
197
- # Send `projectId` to export one project's compliance with the framework. Omit it
198
- # for the workspace-wide view across every project in the framework, including
199
- # workspace-scoped rules.
200
- #
201
- # The export runs as a background task, so this returns `202` immediately. To
202
- # collect the archive:
203
- #
204
- # 1. Poll `GET /background-tasks/{taskId}` with the returned `taskResultId` until
205
- # `complete` is `true`.
206
- # 2. Read `outputs.storageUri` off that task.
207
- # 3. Exchange it for a download link at
208
- # `GET /storage/presigned-url?storageUri=<uri>`.
168
+ # Some parameter documentations has been truncated, see
169
+ # {Openlayer::Models::Governance::FrameworkExportParams} for more details.
209
170
  #
210
- # Rate limited to 2 requests per minute per framework. Asking for an export while
211
- # an identical one is still queued returns that task rather than starting a second
212
- # one.
171
+ # Export a framework as an audit-ready zip archive.
213
172
  #
214
173
  # @overload export(framework_id, project_id: nil, request_options: {})
215
174
  #
216
175
  # @param framework_id [String] The framework id.
217
176
  #
218
- # @param project_id [String, nil] Scope the export to this project. It must belong to the framework.
177
+ # @param project_id [String, nil] Scope the export to this project. It must belong to the framework. Omit it for t
219
178
  #
220
179
  # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
221
180
  #
@@ -233,11 +192,7 @@ module Openlayer
233
192
  )
234
193
  end
235
194
 
236
- # Get a compliance roll-up for a framework, one row per project it applies to.
237
- #
238
- # Each row counts the project's rule results by status, so you can report on where
239
- # a framework is complete and where it is not without fetching every individual
240
- # rule result.
195
+ # List a framework's compliance stats per project.
241
196
  #
242
197
  # @overload list_project_rule_stats(framework_id, asc: nil, page: nil, per_page: nil, sort_column: nil, request_options: {})
243
198
  #
@@ -270,9 +225,6 @@ module Openlayer
270
225
 
271
226
  # List the projects a framework applies to.
272
227
  #
273
- # Which projects a framework covers is determined by its `projectSelector`. A
274
- # framework with an empty selector applies to every project in the workspace.
275
- #
276
228
  # @overload list_projects(framework_id, page: nil, per_page: nil, request_options: {})
277
229
  #
278
230
  # @param framework_id [String] The framework id.
@@ -298,11 +250,7 @@ module Openlayer
298
250
  )
299
251
  end
300
252
 
301
- # List the rules that belong to a framework.
302
- #
303
- # To read the compliance status of these rules, use
304
- # [List rule results](/api-reference/rest/governance/list-rule-results) with the
305
- # `frameworkId` filter, or fetch the results of an individual rule.
253
+ # List the rules in a framework.
306
254
  #
307
255
  # @overload list_rules(framework_id, page: nil, per_page: nil, request_options: {})
308
256
  #
@@ -4,11 +4,7 @@ module Openlayer
4
4
  module Resources
5
5
  class Governance
6
6
  class RuleResults
7
- # Retrieve a rule result by its id.
8
- #
9
- # Alongside the status, the response carries the evaluation and renewal dates that
10
- # explain it: `dateLastEvaluated` and `dateOfNextEvaluation` for platform rules,
11
- # `dateOfLatestEvidence` and `dateOfRenewal` for evidence rules.
7
+ # Retrieve a rule result.
12
8
  #
13
9
  # @overload retrieve(rule_result_id, request_options: {})
14
10
  #
@@ -28,13 +24,10 @@ module Openlayer
28
24
  )
29
25
  end
30
26
 
31
- # Update a rule result. Only the fields you send are changed.
32
- #
33
- # Use this to assign an owner, or to exclude a single result from compliance
34
- # without deactivating the rule everywhere. `deactivatedReason` is required when
35
- # setting `deactivated` to `true`.
27
+ # Some parameter documentations has been truncated, see
28
+ # {Openlayer::Models::Governance::RuleResultUpdateParams} for more details.
36
29
  #
37
- # A result's `status` is computed by Openlayer and cannot be set directly.
30
+ # Update a rule result.
38
31
  #
39
32
  # @overload update(rule_result_id, assignee_id: nil, blocked_by: nil, blocking: nil, deactivated: nil, deactivated_reason: nil, request_options: {})
40
33
  #
@@ -46,9 +39,9 @@ module Openlayer
46
39
  #
47
40
  # @param blocking [Array<Openlayer::Models::Governance::RuleResultUpdateParams::Blocking>] Rule results that this one blocks.
48
41
  #
49
- # @param deactivated [Boolean] Whether this result is excluded from compliance calculations.
42
+ # @param deactivated [Boolean] Whether this result is excluded from compliance calculations. Excludes just this
50
43
  #
51
- # @param deactivated_reason [String, nil] Why the result was excluded.
44
+ # @param deactivated_reason [String, nil] Why the result was excluded. Required when setting `deactivated` to `true`.
52
45
  #
53
46
  # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
54
47
  #
@@ -66,12 +59,7 @@ module Openlayer
66
59
  )
67
60
  end
68
61
 
69
- # List rule results across a workspace.
70
- #
71
- # A rule result is the compliance status of one rule for one entity: a project for
72
- # project-scoped rules, or the workspace itself for workspace-scoped rules. This
73
- # is the endpoint to poll or export when you want your current compliance state,
74
- # filtered to a framework, a project, or a status.
62
+ # List the rule results in a workspace.
75
63
  #
76
64
  # @overload list(workspace_id, enabled_framework_only: nil, framework_id: nil, include_unframed: nil, page: nil, per_page: nil, project_id: nil, rule_id: nil, scope: nil, search_query: nil, status: nil, type: nil, request_options: {})
77
65
  #
@@ -128,16 +116,7 @@ module Openlayer
128
116
  # {Openlayer::Models::Governance::RuleResultCreateEvidenceParams} for more
129
117
  # details.
130
118
  #
131
- # Attach evidence to a rule result, satisfying an evidence rule.
132
- #
133
- # Send the field that matches the rule's `evidenceType`: `storageUri` for an
134
- # uploaded document, `text` for a written statement, or `url` for a link.
135
- #
136
- # For a document, upload the file first with `POST /storage/presigned-url` and
137
- # send the resulting storage URI as `storageUri`.
138
- #
139
- # Attaching evidence re-evaluates the rule result. If the rule sets
140
- # `renewalCadenceDays`, the renewal window restarts from this evidence.
119
+ # Attach evidence to a rule result.
141
120
  #
142
121
  # @overload create_evidence(rule_result_id, description: nil, name: nil, storage_uri: nil, text: nil, url: nil, request_options: {})
143
122
  #
@@ -171,10 +150,6 @@ module Openlayer
171
150
 
172
151
  # List the evidence attached to a rule result.
173
152
  #
174
- # Which field carries the evidence depends on the rule's `evidenceType`:
175
- # `storageUri` for uploaded documents, `text` for written statements, and `url`
176
- # for links.
177
- #
178
153
  # @overload list_evidence(rule_result_id, page: nil, per_page: nil, request_options: {})
179
154
  #
180
155
  # @param rule_result_id [String] The rule result id.
@@ -4,11 +4,7 @@ module Openlayer
4
4
  module Resources
5
5
  class Governance
6
6
  class RuleStats
7
- # Get a compliance roll-up for a workspace: how many rules exist, and how many of
8
- # their results are passing, failing, pending, or due for renewal.
9
- #
10
- # Counts respect the filters you pass, so `frameworkId` gives you a single
11
- # framework's overall compliance and `projectId` gives you a single project's.
7
+ # Get compliance statistics for a workspace.
12
8
  #
13
9
  # @overload retrieve(workspace_id, framework_id: nil, project_id: nil, request_options: {})
14
10
  #
@@ -6,10 +6,6 @@ module Openlayer
6
6
  class RuleTags
7
7
  # List the rule tags in a workspace.
8
8
  #
9
- # Tags group rules across frameworks, for example by team or by control family.
10
- # Use the ids returned here with the `tags` filter on
11
- # [List rules](/api-reference/rest/governance/list-rules).
12
- #
13
9
  # @overload list(workspace_id, page: nil, per_page: nil, request_options: {})
14
10
  #
15
11
  # @param workspace_id [String] The workspace id.
@@ -7,19 +7,7 @@ module Openlayer
7
7
  # Some parameter documentations has been truncated, see
8
8
  # {Openlayer::Models::Governance::RuleCreateParams} for more details.
9
9
  #
10
- # Create a governance rule in a workspace.
11
- #
12
- # A rule is one requirement. Its `type` decides how it is satisfied, and the two
13
- # types accept different fields:
14
- #
15
- # - `platform` rules are evaluated automatically from the state of your workspace.
16
- # Set `automationType` to the signal to check. Their `scope` must be `project`,
17
- # and `evidenceType` and `renewalCadenceDays` must be omitted or `null`.
18
- # - `evidence` rules are satisfied by attaching evidence. Set `evidenceType` to
19
- # the kind of evidence that satisfies them. `automationType` and
20
- # `automationParams` must be omitted or `null`.
21
- #
22
- # A new rule belongs to no framework. Map it to one from the Openlayer app.
10
+ # Create a rule in a workspace.
23
11
  #
24
12
  # @overload create(workspace_id, name:, scope:, type:, assignee_id: nil, automation_params: nil, automation_type: nil, deactivated: nil, description: nil, evidence_type: nil, renewal_cadence_days: nil, tag_ids: nil, request_options: {})
25
13
  #
@@ -33,7 +21,7 @@ module Openlayer
33
21
  #
34
22
  # @param assignee_id [String, nil] The user responsible for satisfying the rule.
35
23
  #
36
- # @param automation_params [Hash{Symbol=>Object}, nil] Configuration for the platform check, when the automation takes parameters.
24
+ # @param automation_params [Hash{Symbol=>Object}, nil] Configuration for the platform check, when the automation takes parameters. Omit
37
25
  #
38
26
  # @param automation_type [String, nil] Which workspace signal a platform rule checks, for example `monitoring_mode_enab
39
27
  #
@@ -41,7 +29,7 @@ module Openlayer
41
29
  #
42
30
  # @param description [String, nil] What the rule requires.
43
31
  #
44
- # @param evidence_type [Symbol, Openlayer::Models::Governance::RuleCreateParams::EvidenceType, nil] The kind of evidence that satisfies the rule. `null` for platform rules.
32
+ # @param evidence_type [Symbol, Openlayer::Models::Governance::RuleCreateParams::EvidenceType, nil] The kind of evidence that satisfies the rule. Set it for evidence rules; omit or
45
33
  #
46
34
  # @param renewal_cadence_days [Integer, nil] How often evidence must be renewed, in days. Once evidence is older than this, t
47
35
  #
@@ -63,8 +51,7 @@ module Openlayer
63
51
  )
64
52
  end
65
53
 
66
- # Retrieve a governance rule by its id, including the frameworks it belongs to and
67
- # its tags.
54
+ # Retrieve a rule with its frameworks and tags.
68
55
  #
69
56
  # @overload retrieve(rule_id, request_options: {})
70
57
  #
@@ -87,12 +74,7 @@ module Openlayer
87
74
  # Some parameter documentations has been truncated, see
88
75
  # {Openlayer::Models::Governance::RuleUpdateParams} for more details.
89
76
  #
90
- # Update a governance rule. Only the fields you send are changed.
91
- #
92
- # Rules that ship with Openlayer report `immutable: true` and cannot be edited.
93
- #
94
- # A rule's `scope`, `type`, `evidenceType`, and automation are fixed once it
95
- # exists -- create a new rule instead of converting one.
77
+ # Update a rule.
96
78
  #
97
79
  # @overload update(rule_id, assignee_id: nil, deactivated: nil, description: nil, name: nil, renewal_cadence_days: nil, tag_ids: nil, request_options: {})
98
80
  #
@@ -129,16 +111,7 @@ module Openlayer
129
111
  # Some parameter documentations has been truncated, see
130
112
  # {Openlayer::Models::Governance::RuleListParams} for more details.
131
113
  #
132
- # List the governance rules in a workspace.
133
- #
134
- # A rule is a single requirement Openlayer tracks. `platform` rules are evaluated
135
- # automatically from the state of your workspace; `evidence` rules are satisfied
136
- # by attaching evidence. A rule can belong to several frameworks at once, and
137
- # rules that belong to none are returned too unless you pass
138
- # `includeUnframed=false`.
139
- #
140
- # Pass `includeResults=true` to get each rule's compliance results inline instead
141
- # of fetching them separately.
114
+ # List the rules in a workspace.
142
115
  #
143
116
  # @overload list(workspace_id, asc: nil, assignee_id: nil, deactivated: nil, enabled_framework_only: nil, framework_id: nil, group: nil, include_results: nil, include_unframed: nil, page: nil, per_page: nil, project_id: nil, scope: nil, search_query: nil, sort_by: nil, status: nil, tags: nil, type: nil, request_options: {})
144
117
  #
@@ -205,11 +178,7 @@ module Openlayer
205
178
  )
206
179
  end
207
180
 
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.
181
+ # Delete a rule and its results.
213
182
  #
214
183
  # @overload delete(rule_id, request_options: {})
215
184
  #
@@ -4,7 +4,7 @@ module Openlayer
4
4
  module Resources
5
5
  class InferencePipelines
6
6
  class Rows
7
- # Fetch a single inference pipeline row by inference ID, including OTel steps.
7
+ # Retrieve a row by inference ID, including OTel steps.
8
8
  #
9
9
  # @overload retrieve(inference_id, inference_pipeline_id:, request_options: {})
10
10
  #
@@ -31,7 +31,7 @@ module Openlayer
31
31
  )
32
32
  end
33
33
 
34
- # Update an inference data point in an inference pipeline.
34
+ # Update a row in an inference pipeline.
35
35
  #
36
36
  # @overload update(inference_pipeline_id, inference_id:, row:, config: nil, request_options: {})
37
37
  #
@@ -62,7 +62,7 @@ module Openlayer
62
62
  )
63
63
  end
64
64
 
65
- # A list of rows for an inference pipeline.
65
+ # List the rows in an inference pipeline.
66
66
  #
67
67
  # @overload list(inference_pipeline_id, asc: nil, page: nil, per_page: nil, sort_column: nil, column_filters: nil, exclude_row_id_list: nil, not_search_query_and: nil, not_search_query_or: nil, row_id_list: nil, search_query_and: nil, search_query_or: nil, request_options: {})
68
68
  #
@@ -109,8 +109,7 @@ module Openlayer
109
109
  )
110
110
  end
111
111
 
112
- # Delete a single inference pipeline row by inference ID. Only project admins can
113
- # perform this action.
112
+ # Delete a row by inference ID.
114
113
  #
115
114
  # @overload delete(inference_id, inference_pipeline_id:, request_options: {})
116
115
  #
@@ -12,7 +12,7 @@ module Openlayer
12
12
  # @return [Openlayer::Resources::InferencePipelines::TestResults]
13
13
  attr_reader :test_results
14
14
 
15
- # Retrieve inference pipeline.
15
+ # Retrieve an inference pipeline.
16
16
  #
17
17
  # @overload retrieve(inference_pipeline_id, expand: nil, request_options: {})
18
18
  #
@@ -40,7 +40,7 @@ module Openlayer
40
40
  # Some parameter documentations has been truncated, see
41
41
  # {Openlayer::Models::InferencePipelineUpdateParams} for more details.
42
42
  #
43
- # Update inference pipeline.
43
+ # Update an inference pipeline.
44
44
  #
45
45
  # @overload update(inference_pipeline_id, description: nil, name: nil, reference_dataset_uri: nil, request_options: {})
46
46
  #
@@ -68,7 +68,7 @@ module Openlayer
68
68
  )
69
69
  end
70
70
 
71
- # Delete inference pipeline.
71
+ # Delete an inference pipeline.
72
72
  #
73
73
  # @overload delete(inference_pipeline_id, request_options: {})
74
74
  #
@@ -88,12 +88,7 @@ module Openlayer
88
88
  )
89
89
  end
90
90
 
91
- # Get aggregated session data for an inference pipeline with pagination and
92
- # metadata.
93
- #
94
- # Returns a list of sessions for the inference pipeline, including activity
95
- # statistics such as record counts, token usage, cost, latency, and the first and
96
- # last records.
91
+ # List the sessions in an inference pipeline, with their stats.
97
92
  #
98
93
  # @overload retrieve_sessions(inference_pipeline_id, asc: nil, page: nil, per_page: nil, sort_column: nil, column_filters: nil, exclude_row_id_list: nil, not_search_query_and: nil, not_search_query_or: nil, row_id_list: nil, search_query_and: nil, search_query_or: nil, request_options: {})
99
94
  #
@@ -140,11 +135,7 @@ module Openlayer
140
135
  )
141
136
  end
142
137
 
143
- # Get aggregated user data for an inference pipeline with pagination and metadata.
144
- #
145
- # Returns a list of users who have interacted with the inference pipeline,
146
- # including their activity statistics such as session counts, record counts, token
147
- # usage, and costs.
138
+ # List the users of an inference pipeline, with their stats.
148
139
  #
149
140
  # @overload retrieve_users(inference_pipeline_id, asc: nil, page: nil, per_page: nil, sort_column: nil, column_filters: nil, exclude_row_id_list: nil, not_search_query_and: nil, not_search_query_or: nil, row_id_list: nil, search_query_and: nil, search_query_or: nil, request_options: {})
150
141
  #
@@ -7,7 +7,7 @@ module Openlayer
7
7
  # Some parameter documentations has been truncated, see
8
8
  # {Openlayer::Models::Projects::TestCreateParams} for more details.
9
9
  #
10
- # Create a test.
10
+ # Create a test in a project.
11
11
  #
12
12
  # @overload create(project_id, description:, name:, subtype:, thresholds:, type:, archived: nil, default_to_all_pipelines: nil, delay_window: nil, evaluation_window: nil, exclude_pipelines: nil, include_historical_data: nil, include_pipelines: nil, uses_ml_model: nil, uses_production_data: nil, uses_reference_dataset: nil, uses_training_dataset: nil, uses_validation_dataset: nil, request_options: {})
13
13
  #
@@ -63,7 +63,7 @@ module Openlayer
63
63
  )
64
64
  end
65
65
 
66
- # Update tests.
66
+ # Update tests in a project.
67
67
  #
68
68
  # @overload update(project_id, payloads:, request_options: {})
69
69
  #
@@ -90,7 +90,7 @@ module Openlayer
90
90
  # Some parameter documentations has been truncated, see
91
91
  # {Openlayer::Models::Projects::TestListParams} for more details.
92
92
  #
93
- # List tests under a project.
93
+ # List the tests in a project.
94
94
  #
95
95
  # @overload list(project_id, include_archived: nil, origin_version_id: nil, page: nil, per_page: nil, suggested: nil, type: nil, uses_production_data: nil, request_options: {})
96
96
  #
@@ -4,7 +4,7 @@ module Openlayer
4
4
  module Resources
5
5
  class Storage
6
6
  class PresignedURL
7
- # Retrieve a presigned url to post storage artifacts.
7
+ # Get a presigned url to upload a file.
8
8
  #
9
9
  # @overload create(object_name:, request_options: {})
10
10
  #
@@ -27,20 +27,14 @@ module Openlayer
27
27
  )
28
28
  end
29
29
 
30
- # Exchange a `storageUri` for a short-lived presigned url you can download the
31
- # object from.
30
+ # Some parameter documentations has been truncated, see
31
+ # {Openlayer::Models::Storage::PresignedURLRetrieveParams} for more details.
32
32
  #
33
- # Use it to collect anything the platform stored on your behalf -- for example the
34
- # archive a framework export leaves behind, whose `storageUri` comes back in the
35
- # background task's `outputs`.
36
- #
37
- # The workspace is taken from the API key, so there is nothing else to send. The
38
- # url is only issued for objects your workspace owns, and `404` covers both "no
39
- # such object" and "not yours".
33
+ # Get a short-lived download url for a stored object.
40
34
  #
41
35
  # @overload retrieve(storage_uri:, request_options: {})
42
36
  #
43
- # @param storage_uri [String] The object's storage uri.
37
+ # @param storage_uri [String] The object's storage uri, for example `outputs.storageUri` from a framework expo
44
38
  #
45
39
  # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
46
40
  #
@@ -6,10 +6,7 @@ module Openlayer
6
6
  # Some parameter documentations has been truncated, see
7
7
  # {Openlayer::Models::TestEvaluateParams} for more details.
8
8
  #
9
- # Triggers one-off evaluation of a specific monitoring test for a custom timestamp
10
- # range. This allows evaluating tests for historical data or custom time periods
11
- # outside the regular evaluation window schedule. It also allows overwriting the
12
- # existing test results.
9
+ # Evaluate a test over a custom time range.
13
10
  #
14
11
  # @overload evaluate(test_id, end_timestamp:, start_timestamp:, inference_pipeline_id: nil, overwrite_results: nil, request_options: {})
15
12
  #
@@ -4,12 +4,17 @@ module Openlayer
4
4
  module Resources
5
5
  class Workspaces
6
6
  class APIKeys
7
- # Create a new API key in a workspace.
7
+ # Some parameter documentations has been truncated, see
8
+ # {Openlayer::Models::Workspaces::APIKeyCreateParams} for more details.
8
9
  #
9
- # @overload create(workspace_id, name: nil, request_options: {})
10
+ # Create a new API key.
11
+ #
12
+ # @overload create(workspace_id, expires_at: nil, name: nil, request_options: {})
10
13
  #
11
14
  # @param workspace_id [String] The workspace id.
12
15
  #
16
+ # @param expires_at [Time, nil] When the key stops authenticating. `null` means the key never expires. Set when
17
+ #
13
18
  # @param name [String, nil] The API key name.
14
19
  #
15
20
  # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -28,6 +33,145 @@ module Openlayer
28
33
  )
29
34
  end
30
35
 
36
+ # Retrieve an API key.
37
+ #
38
+ # @overload retrieve(api_key_id, workspace_id:, request_options: {})
39
+ #
40
+ # @param api_key_id [String] The API key id.
41
+ #
42
+ # @param workspace_id [String] The workspace id.
43
+ #
44
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
45
+ #
46
+ # @return [Openlayer::Models::Workspaces::APIKeyRetrieveResponse]
47
+ #
48
+ # @see Openlayer::Models::Workspaces::APIKeyRetrieveParams
49
+ def retrieve(api_key_id, params)
50
+ parsed, options = Openlayer::Workspaces::APIKeyRetrieveParams.dump_request(params)
51
+ workspace_id =
52
+ parsed.delete(:workspace_id) do
53
+ raise ArgumentError.new("missing required path argument #{_1}")
54
+ end
55
+ @client.request(
56
+ method: :get,
57
+ path: ["workspaces/%1$s/api-keys/%2$s", workspace_id, api_key_id],
58
+ model: Openlayer::Models::Workspaces::APIKeyRetrieveResponse,
59
+ options: options
60
+ )
61
+ end
62
+
63
+ # Rename an API key.
64
+ #
65
+ # @overload update(api_key_id, workspace_id:, name: nil, request_options: {})
66
+ #
67
+ # @param api_key_id [String] Path param: The API key id.
68
+ #
69
+ # @param workspace_id [String] Path param: The workspace id.
70
+ #
71
+ # @param name [String, nil] Body param: The API key name.
72
+ #
73
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
74
+ #
75
+ # @return [Openlayer::Models::Workspaces::APIKeyUpdateResponse]
76
+ #
77
+ # @see Openlayer::Models::Workspaces::APIKeyUpdateParams
78
+ def update(api_key_id, params)
79
+ parsed, options = Openlayer::Workspaces::APIKeyUpdateParams.dump_request(params)
80
+ workspace_id =
81
+ parsed.delete(:workspace_id) do
82
+ raise ArgumentError.new("missing required path argument #{_1}")
83
+ end
84
+ @client.request(
85
+ method: :put,
86
+ path: ["workspaces/%1$s/api-keys/%2$s", workspace_id, api_key_id],
87
+ body: parsed,
88
+ model: Openlayer::Models::Workspaces::APIKeyUpdateResponse,
89
+ options: options
90
+ )
91
+ end
92
+
93
+ # List your API keys in a workspace.
94
+ #
95
+ # @overload list(workspace_id, request_options: {})
96
+ #
97
+ # @param workspace_id [String] The workspace id.
98
+ #
99
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
100
+ #
101
+ # @return [Array<Openlayer::Models::Workspaces::APIKeyListResponseItem>]
102
+ #
103
+ # @see Openlayer::Models::Workspaces::APIKeyListParams
104
+ def list(workspace_id, params = {})
105
+ @client.request(
106
+ method: :get,
107
+ path: ["workspaces/%1$s/api-keys", workspace_id],
108
+ model: Openlayer::Internal::Type::ArrayOf[Openlayer::Models::Workspaces::APIKeyListResponseItem],
109
+ options: params[:request_options]
110
+ )
111
+ end
112
+
113
+ # Delete an API key.
114
+ #
115
+ # @overload delete(api_key_id, workspace_id:, request_options: {})
116
+ #
117
+ # @param api_key_id [String] The API key id.
118
+ #
119
+ # @param workspace_id [String] The workspace id.
120
+ #
121
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
122
+ #
123
+ # @return [nil]
124
+ #
125
+ # @see Openlayer::Models::Workspaces::APIKeyDeleteParams
126
+ def delete(api_key_id, params)
127
+ parsed, options = Openlayer::Workspaces::APIKeyDeleteParams.dump_request(params)
128
+ workspace_id =
129
+ parsed.delete(:workspace_id) do
130
+ raise ArgumentError.new("missing required path argument #{_1}")
131
+ end
132
+ @client.request(
133
+ method: :delete,
134
+ path: ["workspaces/%1$s/api-keys/%2$s", workspace_id, api_key_id],
135
+ model: NilClass,
136
+ options: options
137
+ )
138
+ end
139
+
140
+ # Some parameter documentations has been truncated, see
141
+ # {Openlayer::Models::Workspaces::APIKeyRotateParams} for more details.
142
+ #
143
+ # Replace an API key's secret.
144
+ #
145
+ # @overload rotate(api_key_id, workspace_id:, expires_at: nil, grace_period_hours: nil, request_options: {})
146
+ #
147
+ # @param api_key_id [String] Path param: The API key id.
148
+ #
149
+ # @param workspace_id [String] Path param: The workspace id.
150
+ #
151
+ # @param expires_at [Time, nil] Body param: When the key stops authenticating. `null` means the key never expire
152
+ #
153
+ # @param grace_period_hours [Integer] Body param: Hours the previous secret keeps authenticating. The default of 0 ret
154
+ #
155
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
156
+ #
157
+ # @return [Openlayer::Models::Workspaces::APIKeyRotateResponse]
158
+ #
159
+ # @see Openlayer::Models::Workspaces::APIKeyRotateParams
160
+ def rotate(api_key_id, params)
161
+ parsed, options = Openlayer::Workspaces::APIKeyRotateParams.dump_request(params)
162
+ workspace_id =
163
+ parsed.delete(:workspace_id) do
164
+ raise ArgumentError.new("missing required path argument #{_1}")
165
+ end
166
+ @client.request(
167
+ method: :post,
168
+ path: ["workspaces/%1$s/api-keys/%2$s/rotate", workspace_id, api_key_id],
169
+ body: parsed,
170
+ model: Openlayer::Models::Workspaces::APIKeyRotateResponse,
171
+ options: options
172
+ )
173
+ end
174
+
31
175
  # @api private
32
176
  #
33
177
  # @param client [Openlayer::Client]