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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/README.md +1 -1
- data/lib/openlayer/client.rb +8 -0
- data/lib/openlayer/models/background_task_retrieve_params.rb +20 -0
- data/lib/openlayer/models/background_task_retrieve_response.rb +81 -0
- data/lib/openlayer/models/governance/framework_create_params.rb +143 -0
- data/lib/openlayer/models/governance/framework_create_response.rb +407 -0
- data/lib/openlayer/models/governance/framework_export_params.rb +31 -0
- data/lib/openlayer/models/governance/framework_export_response.rb +32 -0
- data/lib/openlayer/models/governance/framework_list_params.rb +148 -0
- data/lib/openlayer/models/governance/framework_list_project_rule_stats_params.rb +74 -0
- data/lib/openlayer/models/governance/framework_list_project_rule_stats_response.rb +277 -0
- data/lib/openlayer/models/governance/framework_list_projects_params.rb +39 -0
- data/lib/openlayer/models/governance/framework_list_projects_response.rb +315 -0
- data/lib/openlayer/models/governance/framework_list_response.rb +418 -0
- data/lib/openlayer/models/governance/framework_list_rules_params.rb +39 -0
- data/lib/openlayer/models/governance/framework_list_rules_response.rb +656 -0
- data/lib/openlayer/models/governance/framework_retrieve_params.rb +22 -0
- data/lib/openlayer/models/governance/framework_retrieve_response.rb +407 -0
- data/lib/openlayer/models/governance/framework_update_params.rb +200 -0
- data/lib/openlayer/models/governance/framework_update_response.rb +407 -0
- data/lib/openlayer/models/governance/frameworks/document_list_params.rb +41 -0
- data/lib/openlayer/models/governance/frameworks/document_list_response.rb +572 -0
- data/lib/openlayer/models/governance/frameworks/document_retrieve_params.rb +30 -0
- data/lib/openlayer/models/governance/frameworks/document_retrieve_response.rb +561 -0
- data/lib/openlayer/models/governance/frameworks/section_list_rules_params.rb +96 -0
- data/lib/openlayer/models/governance/frameworks/section_list_rules_response.rb +660 -0
- data/lib/openlayer/models/governance/frameworks/subsection_list_rules_params.rb +88 -0
- data/lib/openlayer/models/governance/frameworks/subsection_list_rules_response.rb +660 -0
- data/lib/openlayer/models/governance/rule_create_params.rb +164 -0
- data/lib/openlayer/models/governance/rule_create_response.rb +638 -0
- data/lib/openlayer/models/governance/rule_delete_params.rb +22 -0
- data/lib/openlayer/models/governance/rule_list_params.rb +231 -0
- data/lib/openlayer/models/governance/rule_list_response.rb +654 -0
- data/lib/openlayer/models/governance/rule_result_create_evidence_params.rb +68 -0
- data/lib/openlayer/models/governance/rule_result_create_evidence_response.rb +90 -0
- data/lib/openlayer/models/governance/rule_result_list_evidence_params.rb +39 -0
- data/lib/openlayer/models/governance/rule_result_list_evidence_response.rb +101 -0
- data/lib/openlayer/models/governance/rule_result_list_params.rb +149 -0
- data/lib/openlayer/models/governance/rule_result_list_response.rb +255 -0
- data/lib/openlayer/models/governance/rule_result_retrieve_params.rb +22 -0
- data/lib/openlayer/models/governance/rule_result_retrieve_response.rb +243 -0
- data/lib/openlayer/models/governance/rule_result_update_params.rb +140 -0
- data/lib/openlayer/models/governance/rule_result_update_response.rb +242 -0
- data/lib/openlayer/models/governance/rule_retrieve_params.rb +22 -0
- data/lib/openlayer/models/governance/rule_retrieve_response.rb +642 -0
- data/lib/openlayer/models/governance/rule_stat_retrieve_params.rb +39 -0
- data/lib/openlayer/models/governance/rule_stat_retrieve_response.rb +504 -0
- data/lib/openlayer/models/governance/rule_tag_list_params.rb +39 -0
- data/lib/openlayer/models/governance/rule_tag_list_response.rb +88 -0
- data/lib/openlayer/models/governance/rule_update_params.rb +77 -0
- data/lib/openlayer/models/governance/rule_update_response.rb +638 -0
- data/lib/openlayer/models/inference_pipeline_retrieve_response.rb +0 -1
- data/lib/openlayer/models/inference_pipeline_update_response.rb +0 -1
- data/lib/openlayer/models/project_create_response.rb +0 -1
- data/lib/openlayer/models/project_list_response.rb +0 -1
- data/lib/openlayer/models/project_update_response.rb +0 -1
- data/lib/openlayer/models/projects/inference_pipeline_create_params.rb +0 -1
- data/lib/openlayer/models/projects/inference_pipeline_create_response.rb +0 -1
- data/lib/openlayer/models/projects/inference_pipeline_list_response.rb +0 -1
- data/lib/openlayer/models/storage/presigned_url_retrieve_params.rb +24 -0
- data/lib/openlayer/models/storage/presigned_url_retrieve_response.rb +19 -0
- data/lib/openlayer/models.rb +4 -0
- data/lib/openlayer/resources/background_tasks.rb +38 -0
- data/lib/openlayer/resources/governance/frameworks/documents.rb +80 -0
- data/lib/openlayer/resources/governance/frameworks/sections.rb +72 -0
- data/lib/openlayer/resources/governance/frameworks/subsections.rb +69 -0
- data/lib/openlayer/resources/governance/frameworks.rb +344 -0
- data/lib/openlayer/resources/governance/rule_results.rb +212 -0
- data/lib/openlayer/resources/governance/rule_stats.rb +47 -0
- data/lib/openlayer/resources/governance/rule_tags.rb +47 -0
- data/lib/openlayer/resources/governance/rules.rb +241 -0
- data/lib/openlayer/resources/governance.rb +34 -0
- data/lib/openlayer/resources/storage/presigned_url.rb +32 -0
- data/lib/openlayer/version.rb +1 -1
- data/lib/openlayer.rb +61 -0
- data/rbi/openlayer/client.rbi +6 -0
- data/rbi/openlayer/models/background_task_retrieve_params.rbi +38 -0
- data/rbi/openlayer/models/background_task_retrieve_response.rbi +102 -0
- data/rbi/openlayer/models/governance/framework_create_params.rbi +298 -0
- data/rbi/openlayer/models/governance/framework_create_response.rbi +730 -0
- data/rbi/openlayer/models/governance/framework_export_params.rbi +54 -0
- data/rbi/openlayer/models/governance/framework_export_response.rbi +48 -0
- data/rbi/openlayer/models/governance/framework_list_params.rbi +310 -0
- data/rbi/openlayer/models/governance/framework_list_project_rule_stats_params.rbi +178 -0
- data/rbi/openlayer/models/governance/framework_list_project_rule_stats_response.rbi +440 -0
- data/rbi/openlayer/models/governance/framework_list_projects_params.rbi +68 -0
- data/rbi/openlayer/models/governance/framework_list_projects_response.rbi +498 -0
- data/rbi/openlayer/models/governance/framework_list_response.rbi +771 -0
- data/rbi/openlayer/models/governance/framework_list_rules_params.rbi +68 -0
- data/rbi/openlayer/models/governance/framework_list_rules_response.rbi +1298 -0
- data/rbi/openlayer/models/governance/framework_retrieve_params.rbi +40 -0
- data/rbi/openlayer/models/governance/framework_retrieve_response.rbi +730 -0
- data/rbi/openlayer/models/governance/framework_update_params.rbi +425 -0
- data/rbi/openlayer/models/governance/framework_update_response.rbi +730 -0
- data/rbi/openlayer/models/governance/frameworks/document_list_params.rbi +70 -0
- data/rbi/openlayer/models/governance/frameworks/document_list_response.rbi +1012 -0
- data/rbi/openlayer/models/governance/frameworks/document_retrieve_params.rbi +50 -0
- data/rbi/openlayer/models/governance/frameworks/document_retrieve_response.rbi +968 -0
- data/rbi/openlayer/models/governance/frameworks/section_list_rules_params.rbi +193 -0
- data/rbi/openlayer/models/governance/frameworks/section_list_rules_response.rbi +1302 -0
- data/rbi/openlayer/models/governance/frameworks/subsection_list_rules_params.rbi +182 -0
- data/rbi/openlayer/models/governance/frameworks/subsection_list_rules_response.rbi +1302 -0
- data/rbi/openlayer/models/governance/rule_create_params.rbi +276 -0
- data/rbi/openlayer/models/governance/rule_create_response.rbi +1253 -0
- data/rbi/openlayer/models/governance/rule_delete_params.rbi +40 -0
- data/rbi/openlayer/models/governance/rule_list_params.rbi +486 -0
- data/rbi/openlayer/models/governance/rule_list_response.rbi +1294 -0
- data/rbi/openlayer/models/governance/rule_result_create_evidence_params.rbi +88 -0
- data/rbi/openlayer/models/governance/rule_result_create_evidence_response.rbi +108 -0
- data/rbi/openlayer/models/governance/rule_result_list_evidence_params.rbi +68 -0
- data/rbi/openlayer/models/governance/rule_result_list_evidence_response.rbi +151 -0
- data/rbi/openlayer/models/governance/rule_result_list_params.rbi +322 -0
- data/rbi/openlayer/models/governance/rule_result_list_response.rbi +567 -0
- data/rbi/openlayer/models/governance/rule_result_retrieve_params.rbi +43 -0
- data/rbi/openlayer/models/governance/rule_result_retrieve_response.rbi +524 -0
- data/rbi/openlayer/models/governance/rule_result_update_params.rbi +373 -0
- data/rbi/openlayer/models/governance/rule_result_update_response.rbi +524 -0
- data/rbi/openlayer/models/governance/rule_retrieve_params.rbi +40 -0
- data/rbi/openlayer/models/governance/rule_retrieve_response.rbi +1253 -0
- data/rbi/openlayer/models/governance/rule_stat_retrieve_params.rbi +68 -0
- data/rbi/openlayer/models/governance/rule_stat_retrieve_response.rbi +874 -0
- data/rbi/openlayer/models/governance/rule_tag_list_params.rbi +68 -0
- data/rbi/openlayer/models/governance/rule_tag_list_response.rbi +139 -0
- data/rbi/openlayer/models/governance/rule_update_params.rbi +106 -0
- data/rbi/openlayer/models/governance/rule_update_response.rbi +1253 -0
- data/rbi/openlayer/models/inference_pipeline_retrieve_response.rbi +0 -5
- data/rbi/openlayer/models/inference_pipeline_update_response.rbi +0 -5
- data/rbi/openlayer/models/project_create_response.rbi +0 -5
- data/rbi/openlayer/models/project_list_response.rbi +0 -5
- data/rbi/openlayer/models/project_update_response.rbi +0 -5
- data/rbi/openlayer/models/projects/inference_pipeline_create_params.rbi +0 -5
- data/rbi/openlayer/models/projects/inference_pipeline_create_response.rbi +0 -5
- data/rbi/openlayer/models/projects/inference_pipeline_list_response.rbi +0 -5
- data/rbi/openlayer/models/storage/presigned_url_retrieve_params.rbi +45 -0
- data/rbi/openlayer/models/storage/presigned_url_retrieve_response.rbi +32 -0
- data/rbi/openlayer/models.rbi +4 -0
- data/rbi/openlayer/resources/background_tasks.rbi +30 -0
- data/rbi/openlayer/resources/governance/frameworks/documents.rbi +65 -0
- data/rbi/openlayer/resources/governance/frameworks/sections.rbi +60 -0
- data/rbi/openlayer/resources/governance/frameworks/subsections.rbi +56 -0
- data/rbi/openlayer/resources/governance/frameworks.rbi +314 -0
- data/rbi/openlayer/resources/governance/rule_results.rbi +193 -0
- data/rbi/openlayer/resources/governance/rule_stats.rbi +38 -0
- data/rbi/openlayer/resources/governance/rule_tags.rbi +38 -0
- data/rbi/openlayer/resources/governance/rules.rbi +233 -0
- data/rbi/openlayer/resources/governance.rbi +27 -0
- data/rbi/openlayer/resources/storage/presigned_url.rbi +23 -0
- data/sig/openlayer/client.rbs +4 -0
- data/sig/openlayer/models/background_task_retrieve_params.rbs +23 -0
- data/sig/openlayer/models/background_task_retrieve_response.rbs +55 -0
- data/sig/openlayer/models/governance/framework_create_params.rbs +124 -0
- data/sig/openlayer/models/governance/framework_create_response.rbs +293 -0
- data/sig/openlayer/models/governance/framework_export_params.rbs +30 -0
- data/sig/openlayer/models/governance/framework_export_response.rbs +21 -0
- data/sig/openlayer/models/governance/framework_list_params.rbs +145 -0
- data/sig/openlayer/models/governance/framework_list_project_rule_stats_params.rbs +87 -0
- data/sig/openlayer/models/governance/framework_list_project_rule_stats_response.rbs +232 -0
- data/sig/openlayer/models/governance/framework_list_projects_params.rbs +38 -0
- data/sig/openlayer/models/governance/framework_list_projects_response.rbs +248 -0
- data/sig/openlayer/models/governance/framework_list_response.rbs +314 -0
- data/sig/openlayer/models/governance/framework_list_rules_params.rbs +38 -0
- data/sig/openlayer/models/governance/framework_list_rules_response.rbs +547 -0
- data/sig/openlayer/models/governance/framework_retrieve_params.rbs +25 -0
- data/sig/openlayer/models/governance/framework_retrieve_response.rbs +293 -0
- data/sig/openlayer/models/governance/framework_update_params.rbs +175 -0
- data/sig/openlayer/models/governance/framework_update_response.rbs +293 -0
- data/sig/openlayer/models/governance/frameworks/document_list_params.rbs +40 -0
- data/sig/openlayer/models/governance/frameworks/document_list_response.rbs +435 -0
- data/sig/openlayer/models/governance/frameworks/document_retrieve_params.rbs +32 -0
- data/sig/openlayer/models/governance/frameworks/document_retrieve_response.rbs +418 -0
- data/sig/openlayer/models/governance/frameworks/section_list_rules_params.rbs +102 -0
- data/sig/openlayer/models/governance/frameworks/section_list_rules_response.rbs +549 -0
- data/sig/openlayer/models/governance/frameworks/subsection_list_rules_params.rbs +95 -0
- data/sig/openlayer/models/governance/frameworks/subsection_list_rules_response.rbs +549 -0
- data/sig/openlayer/models/governance/rule_create_params.rbs +120 -0
- data/sig/openlayer/models/governance/rule_create_response.rbs +530 -0
- data/sig/openlayer/models/governance/rule_delete_params.rbs +25 -0
- data/sig/openlayer/models/governance/rule_list_params.rbs +228 -0
- data/sig/openlayer/models/governance/rule_list_response.rbs +547 -0
- data/sig/openlayer/models/governance/rule_result_create_evidence_params.rbs +53 -0
- data/sig/openlayer/models/governance/rule_result_create_evidence_response.rbs +62 -0
- data/sig/openlayer/models/governance/rule_result_list_evidence_params.rbs +38 -0
- data/sig/openlayer/models/governance/rule_result_list_evidence_response.rbs +79 -0
- data/sig/openlayer/models/governance/rule_result_list_params.rbs +156 -0
- data/sig/openlayer/models/governance/rule_result_list_response.rbs +252 -0
- data/sig/openlayer/models/governance/rule_result_retrieve_params.rbs +26 -0
- data/sig/openlayer/models/governance/rule_result_retrieve_response.rbs +235 -0
- data/sig/openlayer/models/governance/rule_result_update_params.rbs +165 -0
- data/sig/openlayer/models/governance/rule_result_update_response.rbs +235 -0
- data/sig/openlayer/models/governance/rule_retrieve_params.rbs +25 -0
- data/sig/openlayer/models/governance/rule_retrieve_response.rbs +530 -0
- data/sig/openlayer/models/governance/rule_stat_retrieve_params.rbs +38 -0
- data/sig/openlayer/models/governance/rule_stat_retrieve_response.rbs +434 -0
- data/sig/openlayer/models/governance/rule_tag_list_params.rbs +38 -0
- data/sig/openlayer/models/governance/rule_tag_list_response.rbs +74 -0
- data/sig/openlayer/models/governance/rule_update_params.rbs +62 -0
- data/sig/openlayer/models/governance/rule_update_response.rbs +530 -0
- data/sig/openlayer/models/inference_pipeline_retrieve_response.rbs +1 -2
- data/sig/openlayer/models/inference_pipeline_update_response.rbs +1 -2
- data/sig/openlayer/models/project_create_response.rbs +1 -2
- data/sig/openlayer/models/project_list_response.rbs +1 -2
- data/sig/openlayer/models/project_update_response.rbs +1 -2
- data/sig/openlayer/models/projects/inference_pipeline_create_params.rbs +1 -2
- data/sig/openlayer/models/projects/inference_pipeline_create_response.rbs +1 -2
- data/sig/openlayer/models/projects/inference_pipeline_list_response.rbs +1 -2
- data/sig/openlayer/models/storage/presigned_url_retrieve_params.rbs +25 -0
- data/sig/openlayer/models/storage/presigned_url_retrieve_response.rbs +15 -0
- data/sig/openlayer/models.rbs +4 -0
- data/sig/openlayer/resources/background_tasks.rbs +12 -0
- data/sig/openlayer/resources/governance/frameworks/documents.rbs +24 -0
- data/sig/openlayer/resources/governance/frameworks/sections.rbs +23 -0
- data/sig/openlayer/resources/governance/frameworks/subsections.rbs +22 -0
- data/sig/openlayer/resources/governance/frameworks.rbs +88 -0
- data/sig/openlayer/resources/governance/rule_results.rbs +57 -0
- data/sig/openlayer/resources/governance/rule_stats.rbs +16 -0
- data/sig/openlayer/resources/governance/rule_tags.rbs +16 -0
- data/sig/openlayer/resources/governance/rules.rbs +68 -0
- data/sig/openlayer/resources/governance.rbs +17 -0
- data/sig/openlayer/resources/storage/presigned_url.rbs +5 -0
- metadata +185 -2
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Openlayer
|
|
4
|
+
module Resources
|
|
5
|
+
class Governance
|
|
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.
|
|
12
|
+
#
|
|
13
|
+
# @overload retrieve(rule_result_id, request_options: {})
|
|
14
|
+
#
|
|
15
|
+
# @param rule_result_id [String] The rule result id.
|
|
16
|
+
#
|
|
17
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
18
|
+
#
|
|
19
|
+
# @return [Openlayer::Models::Governance::RuleResultRetrieveResponse]
|
|
20
|
+
#
|
|
21
|
+
# @see Openlayer::Models::Governance::RuleResultRetrieveParams
|
|
22
|
+
def retrieve(rule_result_id, params = {})
|
|
23
|
+
@client.request(
|
|
24
|
+
method: :get,
|
|
25
|
+
path: ["rule-results/%1$s", rule_result_id],
|
|
26
|
+
model: Openlayer::Models::Governance::RuleResultRetrieveResponse,
|
|
27
|
+
options: params[:request_options]
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
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`.
|
|
36
|
+
#
|
|
37
|
+
# A result's `status` is computed by Openlayer and cannot be set directly.
|
|
38
|
+
#
|
|
39
|
+
# @overload update(rule_result_id, assignee_id: nil, blocked_by: nil, blocking: nil, deactivated: nil, deactivated_reason: nil, request_options: {})
|
|
40
|
+
#
|
|
41
|
+
# @param rule_result_id [String] The rule result id.
|
|
42
|
+
#
|
|
43
|
+
# @param assignee_id [String, nil] The user responsible for this result.
|
|
44
|
+
#
|
|
45
|
+
# @param blocked_by [Array<Openlayer::Models::Governance::RuleResultUpdateParams::BlockedBy>] Rule results that must pass before this one can be satisfied.
|
|
46
|
+
#
|
|
47
|
+
# @param blocking [Array<Openlayer::Models::Governance::RuleResultUpdateParams::Blocking>] Rule results that this one blocks.
|
|
48
|
+
#
|
|
49
|
+
# @param deactivated [Boolean] Whether this result is excluded from compliance calculations.
|
|
50
|
+
#
|
|
51
|
+
# @param deactivated_reason [String, nil] Why the result was excluded.
|
|
52
|
+
#
|
|
53
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
54
|
+
#
|
|
55
|
+
# @return [Openlayer::Models::Governance::RuleResultUpdateResponse]
|
|
56
|
+
#
|
|
57
|
+
# @see Openlayer::Models::Governance::RuleResultUpdateParams
|
|
58
|
+
def update(rule_result_id, params = {})
|
|
59
|
+
parsed, options = Openlayer::Governance::RuleResultUpdateParams.dump_request(params)
|
|
60
|
+
@client.request(
|
|
61
|
+
method: :patch,
|
|
62
|
+
path: ["rule-results/%1$s", rule_result_id],
|
|
63
|
+
body: parsed,
|
|
64
|
+
model: Openlayer::Models::Governance::RuleResultUpdateResponse,
|
|
65
|
+
options: options
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
|
|
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.
|
|
75
|
+
#
|
|
76
|
+
# @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
|
+
#
|
|
78
|
+
# @param workspace_id [String] The workspace id.
|
|
79
|
+
#
|
|
80
|
+
# @param enabled_framework_only [Boolean] Only include items belonging to at least one enabled framework.
|
|
81
|
+
#
|
|
82
|
+
# @param framework_id [String] Only include items belonging to this framework.
|
|
83
|
+
#
|
|
84
|
+
# @param include_unframed [Boolean] Whether to include rules that are not part of any framework.
|
|
85
|
+
#
|
|
86
|
+
# @param page [Integer] The page to return in a paginated query.
|
|
87
|
+
#
|
|
88
|
+
# @param per_page [Integer] Maximum number of items to return per page.
|
|
89
|
+
#
|
|
90
|
+
# @param project_id [String] Only include items that apply to this project.
|
|
91
|
+
#
|
|
92
|
+
# @param rule_id [String] Only include results of this rule.
|
|
93
|
+
#
|
|
94
|
+
# @param scope [Symbol, Openlayer::Models::Governance::RuleResultListParams::Scope] Only include rules with this scope.
|
|
95
|
+
#
|
|
96
|
+
# @param search_query [String] Filter by a free-text search over names and descriptions.
|
|
97
|
+
#
|
|
98
|
+
# @param status [Symbol, Openlayer::Models::Governance::RuleResultListParams::Status] Only include items whose rule result has this compliance status.
|
|
99
|
+
#
|
|
100
|
+
# @param type [Symbol, Openlayer::Models::Governance::RuleResultListParams::Type] Only include rules of this type.
|
|
101
|
+
#
|
|
102
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
103
|
+
#
|
|
104
|
+
# @return [Openlayer::Models::Governance::RuleResultListResponse]
|
|
105
|
+
#
|
|
106
|
+
# @see Openlayer::Models::Governance::RuleResultListParams
|
|
107
|
+
def list(workspace_id, params = {})
|
|
108
|
+
parsed, options = Openlayer::Governance::RuleResultListParams.dump_request(params)
|
|
109
|
+
query = Openlayer::Internal::Util.encode_query_params(parsed)
|
|
110
|
+
@client.request(
|
|
111
|
+
method: :get,
|
|
112
|
+
path: ["workspaces/%1$s/rule-results", workspace_id],
|
|
113
|
+
query: query.transform_keys(
|
|
114
|
+
enabled_framework_only: "enabledFrameworkOnly",
|
|
115
|
+
framework_id: "frameworkId",
|
|
116
|
+
include_unframed: "includeUnframed",
|
|
117
|
+
per_page: "perPage",
|
|
118
|
+
project_id: "projectId",
|
|
119
|
+
rule_id: "ruleId",
|
|
120
|
+
search_query: "searchQuery"
|
|
121
|
+
),
|
|
122
|
+
model: Openlayer::Models::Governance::RuleResultListResponse,
|
|
123
|
+
options: options
|
|
124
|
+
)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# Some parameter documentations has been truncated, see
|
|
128
|
+
# {Openlayer::Models::Governance::RuleResultCreateEvidenceParams} for more
|
|
129
|
+
# details.
|
|
130
|
+
#
|
|
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.
|
|
141
|
+
#
|
|
142
|
+
# @overload create_evidence(rule_result_id, description: nil, name: nil, storage_uri: nil, text: nil, url: nil, request_options: {})
|
|
143
|
+
#
|
|
144
|
+
# @param rule_result_id [String] The rule result id.
|
|
145
|
+
#
|
|
146
|
+
# @param description [String, nil] A description of what the evidence shows.
|
|
147
|
+
#
|
|
148
|
+
# @param name [String, nil] The evidence name.
|
|
149
|
+
#
|
|
150
|
+
# @param storage_uri [String, nil] Where the uploaded file is stored. Set when the rule's `evidenceType` is `docume
|
|
151
|
+
#
|
|
152
|
+
# @param text [String, nil] The evidence text. Set when the rule's `evidenceType` is `text`.
|
|
153
|
+
#
|
|
154
|
+
# @param url [String, nil] A link to the evidence. Set when the rule's `evidenceType` is `url`.
|
|
155
|
+
#
|
|
156
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
157
|
+
#
|
|
158
|
+
# @return [Openlayer::Models::Governance::RuleResultCreateEvidenceResponse]
|
|
159
|
+
#
|
|
160
|
+
# @see Openlayer::Models::Governance::RuleResultCreateEvidenceParams
|
|
161
|
+
def create_evidence(rule_result_id, params = {})
|
|
162
|
+
parsed, options = Openlayer::Governance::RuleResultCreateEvidenceParams.dump_request(params)
|
|
163
|
+
@client.request(
|
|
164
|
+
method: :post,
|
|
165
|
+
path: ["rule-results/%1$s/evidence", rule_result_id],
|
|
166
|
+
body: parsed,
|
|
167
|
+
model: Openlayer::Models::Governance::RuleResultCreateEvidenceResponse,
|
|
168
|
+
options: options
|
|
169
|
+
)
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# List the evidence attached to a rule result.
|
|
173
|
+
#
|
|
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
|
+
# @overload list_evidence(rule_result_id, page: nil, per_page: nil, request_options: {})
|
|
179
|
+
#
|
|
180
|
+
# @param rule_result_id [String] The rule result id.
|
|
181
|
+
#
|
|
182
|
+
# @param page [Integer] The page to return in a paginated query.
|
|
183
|
+
#
|
|
184
|
+
# @param per_page [Integer] Maximum number of items to return per page.
|
|
185
|
+
#
|
|
186
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
187
|
+
#
|
|
188
|
+
# @return [Openlayer::Models::Governance::RuleResultListEvidenceResponse]
|
|
189
|
+
#
|
|
190
|
+
# @see Openlayer::Models::Governance::RuleResultListEvidenceParams
|
|
191
|
+
def list_evidence(rule_result_id, params = {})
|
|
192
|
+
parsed, options = Openlayer::Governance::RuleResultListEvidenceParams.dump_request(params)
|
|
193
|
+
query = Openlayer::Internal::Util.encode_query_params(parsed)
|
|
194
|
+
@client.request(
|
|
195
|
+
method: :get,
|
|
196
|
+
path: ["rule-results/%1$s/evidence", rule_result_id],
|
|
197
|
+
query: query.transform_keys(per_page: "perPage"),
|
|
198
|
+
model: Openlayer::Models::Governance::RuleResultListEvidenceResponse,
|
|
199
|
+
options: options
|
|
200
|
+
)
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
# @api private
|
|
204
|
+
#
|
|
205
|
+
# @param client [Openlayer::Client]
|
|
206
|
+
def initialize(client:)
|
|
207
|
+
@client = client
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Openlayer
|
|
4
|
+
module Resources
|
|
5
|
+
class Governance
|
|
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.
|
|
12
|
+
#
|
|
13
|
+
# @overload retrieve(workspace_id, framework_id: nil, project_id: nil, request_options: {})
|
|
14
|
+
#
|
|
15
|
+
# @param workspace_id [String] The workspace id.
|
|
16
|
+
#
|
|
17
|
+
# @param framework_id [String] Only include items belonging to this framework.
|
|
18
|
+
#
|
|
19
|
+
# @param project_id [String] Only include items that apply to this project.
|
|
20
|
+
#
|
|
21
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
22
|
+
#
|
|
23
|
+
# @return [Openlayer::Models::Governance::RuleStatRetrieveResponse]
|
|
24
|
+
#
|
|
25
|
+
# @see Openlayer::Models::Governance::RuleStatRetrieveParams
|
|
26
|
+
def retrieve(workspace_id, params = {})
|
|
27
|
+
parsed, options = Openlayer::Governance::RuleStatRetrieveParams.dump_request(params)
|
|
28
|
+
query = Openlayer::Internal::Util.encode_query_params(parsed)
|
|
29
|
+
@client.request(
|
|
30
|
+
method: :get,
|
|
31
|
+
path: ["workspaces/%1$s/rule-stats", workspace_id],
|
|
32
|
+
query: query.transform_keys(framework_id: "frameworkId", project_id: "projectId"),
|
|
33
|
+
model: Openlayer::Models::Governance::RuleStatRetrieveResponse,
|
|
34
|
+
options: options
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @api private
|
|
39
|
+
#
|
|
40
|
+
# @param client [Openlayer::Client]
|
|
41
|
+
def initialize(client:)
|
|
42
|
+
@client = client
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Openlayer
|
|
4
|
+
module Resources
|
|
5
|
+
class Governance
|
|
6
|
+
class RuleTags
|
|
7
|
+
# List the rule tags in a workspace.
|
|
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
|
+
# @overload list(workspace_id, page: nil, per_page: nil, request_options: {})
|
|
14
|
+
#
|
|
15
|
+
# @param workspace_id [String] The workspace id.
|
|
16
|
+
#
|
|
17
|
+
# @param page [Integer] The page to return in a paginated query.
|
|
18
|
+
#
|
|
19
|
+
# @param per_page [Integer] Maximum number of items to return per page.
|
|
20
|
+
#
|
|
21
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
22
|
+
#
|
|
23
|
+
# @return [Openlayer::Models::Governance::RuleTagListResponse]
|
|
24
|
+
#
|
|
25
|
+
# @see Openlayer::Models::Governance::RuleTagListParams
|
|
26
|
+
def list(workspace_id, params = {})
|
|
27
|
+
parsed, options = Openlayer::Governance::RuleTagListParams.dump_request(params)
|
|
28
|
+
query = Openlayer::Internal::Util.encode_query_params(parsed)
|
|
29
|
+
@client.request(
|
|
30
|
+
method: :get,
|
|
31
|
+
path: ["workspaces/%1$s/rule-tags", workspace_id],
|
|
32
|
+
query: query.transform_keys(per_page: "perPage"),
|
|
33
|
+
model: Openlayer::Models::Governance::RuleTagListResponse,
|
|
34
|
+
options: options
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @api private
|
|
39
|
+
#
|
|
40
|
+
# @param client [Openlayer::Client]
|
|
41
|
+
def initialize(client:)
|
|
42
|
+
@client = client
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Openlayer
|
|
4
|
+
module Resources
|
|
5
|
+
class Governance
|
|
6
|
+
class Rules
|
|
7
|
+
# Some parameter documentations has been truncated, see
|
|
8
|
+
# {Openlayer::Models::Governance::RuleCreateParams} for more details.
|
|
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.
|
|
23
|
+
#
|
|
24
|
+
# @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
|
+
#
|
|
26
|
+
# @param workspace_id [String] The workspace id.
|
|
27
|
+
#
|
|
28
|
+
# @param name [String] The rule name.
|
|
29
|
+
#
|
|
30
|
+
# @param scope [Symbol, Openlayer::Models::Governance::RuleCreateParams::Scope] Whether the rule is evaluated once for the whole workspace, or once per project
|
|
31
|
+
#
|
|
32
|
+
# @param type [Symbol, Openlayer::Models::Governance::RuleCreateParams::Type] `platform` rules are evaluated automatically from the state of your Openlayer wo
|
|
33
|
+
#
|
|
34
|
+
# @param assignee_id [String, nil] The user responsible for satisfying the rule.
|
|
35
|
+
#
|
|
36
|
+
# @param automation_params [Hash{Symbol=>Object}, nil] Configuration for the platform check, when the automation takes parameters.
|
|
37
|
+
#
|
|
38
|
+
# @param automation_type [String, nil] Which workspace signal a platform rule checks, for example `monitoring_mode_enab
|
|
39
|
+
#
|
|
40
|
+
# @param deactivated [Boolean] Whether the rule is excluded from compliance calculations.
|
|
41
|
+
#
|
|
42
|
+
# @param description [String, nil] What the rule requires.
|
|
43
|
+
#
|
|
44
|
+
# @param evidence_type [Symbol, Openlayer::Models::Governance::RuleCreateParams::EvidenceType, nil] The kind of evidence that satisfies the rule. `null` for platform rules.
|
|
45
|
+
#
|
|
46
|
+
# @param renewal_cadence_days [Integer, nil] How often evidence must be renewed, in days. Once evidence is older than this, t
|
|
47
|
+
#
|
|
48
|
+
# @param tag_ids [Array<String>, nil] The ids of the rule tags to associate with the rule. Replaces the rule's tags. R
|
|
49
|
+
#
|
|
50
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
51
|
+
#
|
|
52
|
+
# @return [Openlayer::Models::Governance::RuleCreateResponse]
|
|
53
|
+
#
|
|
54
|
+
# @see Openlayer::Models::Governance::RuleCreateParams
|
|
55
|
+
def create(workspace_id, params)
|
|
56
|
+
parsed, options = Openlayer::Governance::RuleCreateParams.dump_request(params)
|
|
57
|
+
@client.request(
|
|
58
|
+
method: :post,
|
|
59
|
+
path: ["workspaces/%1$s/rules", workspace_id],
|
|
60
|
+
body: parsed,
|
|
61
|
+
model: Openlayer::Models::Governance::RuleCreateResponse,
|
|
62
|
+
options: options
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Retrieve a governance rule by its id, including the frameworks it belongs to and
|
|
67
|
+
# its tags.
|
|
68
|
+
#
|
|
69
|
+
# @overload retrieve(rule_id, request_options: {})
|
|
70
|
+
#
|
|
71
|
+
# @param rule_id [String] The rule id.
|
|
72
|
+
#
|
|
73
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
74
|
+
#
|
|
75
|
+
# @return [Openlayer::Models::Governance::RuleRetrieveResponse]
|
|
76
|
+
#
|
|
77
|
+
# @see Openlayer::Models::Governance::RuleRetrieveParams
|
|
78
|
+
def retrieve(rule_id, params = {})
|
|
79
|
+
@client.request(
|
|
80
|
+
method: :get,
|
|
81
|
+
path: ["rules/%1$s", rule_id],
|
|
82
|
+
model: Openlayer::Models::Governance::RuleRetrieveResponse,
|
|
83
|
+
options: params[:request_options]
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Some parameter documentations has been truncated, see
|
|
88
|
+
# {Openlayer::Models::Governance::RuleUpdateParams} for more details.
|
|
89
|
+
#
|
|
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.
|
|
96
|
+
#
|
|
97
|
+
# @overload update(rule_id, assignee_id: nil, deactivated: nil, description: nil, name: nil, renewal_cadence_days: nil, tag_ids: nil, request_options: {})
|
|
98
|
+
#
|
|
99
|
+
# @param rule_id [String] The rule id.
|
|
100
|
+
#
|
|
101
|
+
# @param assignee_id [String, nil] The user responsible for satisfying the rule.
|
|
102
|
+
#
|
|
103
|
+
# @param deactivated [Boolean] Whether the rule is excluded from compliance calculations.
|
|
104
|
+
#
|
|
105
|
+
# @param description [String, nil] What the rule requires.
|
|
106
|
+
#
|
|
107
|
+
# @param name [String] The rule name.
|
|
108
|
+
#
|
|
109
|
+
# @param renewal_cadence_days [Integer, nil] How often evidence must be renewed, in days. Once evidence is older than this, t
|
|
110
|
+
#
|
|
111
|
+
# @param tag_ids [Array<String>, nil] The ids of the rule tags to associate with the rule. Replaces the rule's tags. R
|
|
112
|
+
#
|
|
113
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
114
|
+
#
|
|
115
|
+
# @return [Openlayer::Models::Governance::RuleUpdateResponse]
|
|
116
|
+
#
|
|
117
|
+
# @see Openlayer::Models::Governance::RuleUpdateParams
|
|
118
|
+
def update(rule_id, params = {})
|
|
119
|
+
parsed, options = Openlayer::Governance::RuleUpdateParams.dump_request(params)
|
|
120
|
+
@client.request(
|
|
121
|
+
method: :put,
|
|
122
|
+
path: ["rules/%1$s", rule_id],
|
|
123
|
+
body: parsed,
|
|
124
|
+
model: Openlayer::Models::Governance::RuleUpdateResponse,
|
|
125
|
+
options: options
|
|
126
|
+
)
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# Some parameter documentations has been truncated, see
|
|
130
|
+
# {Openlayer::Models::Governance::RuleListParams} for more details.
|
|
131
|
+
#
|
|
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.
|
|
142
|
+
#
|
|
143
|
+
# @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
|
+
#
|
|
145
|
+
# @param workspace_id [String] The workspace id.
|
|
146
|
+
#
|
|
147
|
+
# @param asc [Boolean] Whether to sort in ascending order.
|
|
148
|
+
#
|
|
149
|
+
# @param assignee_id [String] Only include rules assigned to this user.
|
|
150
|
+
#
|
|
151
|
+
# @param deactivated [Boolean] Only include rules that are deactivated (or active).
|
|
152
|
+
#
|
|
153
|
+
# @param enabled_framework_only [Boolean] Only include items belonging to at least one enabled framework.
|
|
154
|
+
#
|
|
155
|
+
# @param framework_id [String] Only include items belonging to this framework.
|
|
156
|
+
#
|
|
157
|
+
# @param group [Symbol, Openlayer::Models::Governance::RuleListParams::Group] Only include rules in one bucket of the compliance workflow. `open` covers rules
|
|
158
|
+
#
|
|
159
|
+
# @param include_results [Boolean] Whether to include each rule's results inline, in a `results` array.
|
|
160
|
+
#
|
|
161
|
+
# @param include_unframed [Boolean] Whether to include rules that are not part of any framework.
|
|
162
|
+
#
|
|
163
|
+
# @param page [Integer] The page to return in a paginated query.
|
|
164
|
+
#
|
|
165
|
+
# @param per_page [Integer] Maximum number of items to return per page.
|
|
166
|
+
#
|
|
167
|
+
# @param project_id [String] Only include items that apply to this project.
|
|
168
|
+
#
|
|
169
|
+
# @param scope [Symbol, Openlayer::Models::Governance::RuleListParams::Scope] Only include rules with this scope.
|
|
170
|
+
#
|
|
171
|
+
# @param search_query [String] Filter by a free-text search over names and descriptions.
|
|
172
|
+
#
|
|
173
|
+
# @param sort_by [Symbol, Openlayer::Models::Governance::RuleListParams::SortBy] The field to sort on.
|
|
174
|
+
#
|
|
175
|
+
# @param status [Symbol, Openlayer::Models::Governance::RuleListParams::Status] Only include items whose rule result has this compliance status.
|
|
176
|
+
#
|
|
177
|
+
# @param tags [Array<String>] Only include rules carrying all of these rule tags. Pass tag ids, which you can
|
|
178
|
+
#
|
|
179
|
+
# @param type [Symbol, Openlayer::Models::Governance::RuleListParams::Type] Only include rules of this type.
|
|
180
|
+
#
|
|
181
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
182
|
+
#
|
|
183
|
+
# @return [Openlayer::Models::Governance::RuleListResponse]
|
|
184
|
+
#
|
|
185
|
+
# @see Openlayer::Models::Governance::RuleListParams
|
|
186
|
+
def list(workspace_id, params = {})
|
|
187
|
+
parsed, options = Openlayer::Governance::RuleListParams.dump_request(params)
|
|
188
|
+
query = Openlayer::Internal::Util.encode_query_params(parsed)
|
|
189
|
+
@client.request(
|
|
190
|
+
method: :get,
|
|
191
|
+
path: ["workspaces/%1$s/rules", workspace_id],
|
|
192
|
+
query: query.transform_keys(
|
|
193
|
+
assignee_id: "assigneeId",
|
|
194
|
+
enabled_framework_only: "enabledFrameworkOnly",
|
|
195
|
+
framework_id: "frameworkId",
|
|
196
|
+
include_results: "includeResults",
|
|
197
|
+
include_unframed: "includeUnframed",
|
|
198
|
+
per_page: "perPage",
|
|
199
|
+
project_id: "projectId",
|
|
200
|
+
search_query: "searchQuery",
|
|
201
|
+
sort_by: "sortBy"
|
|
202
|
+
),
|
|
203
|
+
model: Openlayer::Models::Governance::RuleListResponse,
|
|
204
|
+
options: 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
|
+
#
|
|
214
|
+
# @overload delete(rule_id, request_options: {})
|
|
215
|
+
#
|
|
216
|
+
# @param rule_id [String] The rule id.
|
|
217
|
+
#
|
|
218
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
219
|
+
#
|
|
220
|
+
# @return [nil]
|
|
221
|
+
#
|
|
222
|
+
# @see Openlayer::Models::Governance::RuleDeleteParams
|
|
223
|
+
def delete(rule_id, params = {})
|
|
224
|
+
@client.request(
|
|
225
|
+
method: :delete,
|
|
226
|
+
path: ["rules/%1$s", rule_id],
|
|
227
|
+
model: NilClass,
|
|
228
|
+
options: params[:request_options]
|
|
229
|
+
)
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
# @api private
|
|
233
|
+
#
|
|
234
|
+
# @param client [Openlayer::Client]
|
|
235
|
+
def initialize(client:)
|
|
236
|
+
@client = client
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Openlayer
|
|
4
|
+
module Resources
|
|
5
|
+
class Governance
|
|
6
|
+
# @return [Openlayer::Resources::Governance::Frameworks]
|
|
7
|
+
attr_reader :frameworks
|
|
8
|
+
|
|
9
|
+
# @return [Openlayer::Resources::Governance::Rules]
|
|
10
|
+
attr_reader :rules
|
|
11
|
+
|
|
12
|
+
# @return [Openlayer::Resources::Governance::RuleResults]
|
|
13
|
+
attr_reader :rule_results
|
|
14
|
+
|
|
15
|
+
# @return [Openlayer::Resources::Governance::RuleStats]
|
|
16
|
+
attr_reader :rule_stats
|
|
17
|
+
|
|
18
|
+
# @return [Openlayer::Resources::Governance::RuleTags]
|
|
19
|
+
attr_reader :rule_tags
|
|
20
|
+
|
|
21
|
+
# @api private
|
|
22
|
+
#
|
|
23
|
+
# @param client [Openlayer::Client]
|
|
24
|
+
def initialize(client:)
|
|
25
|
+
@client = client
|
|
26
|
+
@frameworks = Openlayer::Resources::Governance::Frameworks.new(client: client)
|
|
27
|
+
@rules = Openlayer::Resources::Governance::Rules.new(client: client)
|
|
28
|
+
@rule_results = Openlayer::Resources::Governance::RuleResults.new(client: client)
|
|
29
|
+
@rule_stats = Openlayer::Resources::Governance::RuleStats.new(client: client)
|
|
30
|
+
@rule_tags = Openlayer::Resources::Governance::RuleTags.new(client: client)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -27,6 +27,38 @@ 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.
|
|
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".
|
|
40
|
+
#
|
|
41
|
+
# @overload retrieve(storage_uri:, request_options: {})
|
|
42
|
+
#
|
|
43
|
+
# @param storage_uri [String] The object's storage uri.
|
|
44
|
+
#
|
|
45
|
+
# @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
46
|
+
#
|
|
47
|
+
# @return [Openlayer::Models::Storage::PresignedURLRetrieveResponse]
|
|
48
|
+
#
|
|
49
|
+
# @see Openlayer::Models::Storage::PresignedURLRetrieveParams
|
|
50
|
+
def retrieve(params)
|
|
51
|
+
parsed, options = Openlayer::Storage::PresignedURLRetrieveParams.dump_request(params)
|
|
52
|
+
query = Openlayer::Internal::Util.encode_query_params(parsed)
|
|
53
|
+
@client.request(
|
|
54
|
+
method: :get,
|
|
55
|
+
path: "storage/presigned-url",
|
|
56
|
+
query: query.transform_keys(storage_uri: "storageUri"),
|
|
57
|
+
model: Openlayer::Models::Storage::PresignedURLRetrieveResponse,
|
|
58
|
+
options: options
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
|
|
30
62
|
# @api private
|
|
31
63
|
#
|
|
32
64
|
# @param client [Openlayer::Client]
|
data/lib/openlayer/version.rb
CHANGED