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,314 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Openlayer
|
|
4
|
+
module Resources
|
|
5
|
+
class Governance
|
|
6
|
+
class Frameworks
|
|
7
|
+
sig { returns(Openlayer::Resources::Governance::Frameworks::Documents) }
|
|
8
|
+
attr_reader :documents
|
|
9
|
+
|
|
10
|
+
sig { returns(Openlayer::Resources::Governance::Frameworks::Sections) }
|
|
11
|
+
attr_reader :sections
|
|
12
|
+
|
|
13
|
+
sig do
|
|
14
|
+
returns(Openlayer::Resources::Governance::Frameworks::Subsections)
|
|
15
|
+
end
|
|
16
|
+
attr_reader :subsections
|
|
17
|
+
|
|
18
|
+
# Create a custom governance framework in a workspace.
|
|
19
|
+
#
|
|
20
|
+
# Use this to track compliance against an internal policy, or against a standard
|
|
21
|
+
# Openlayer does not ship as a built-in framework. A new framework starts with no
|
|
22
|
+
# rules -- add them from the Openlayer app, or map an existing rule to it.
|
|
23
|
+
#
|
|
24
|
+
# A framework is created disabled unless you pass `enabled: true`. While it is
|
|
25
|
+
# disabled its rules are not evaluated and do not count towards compliance.
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
workspace_id: String,
|
|
29
|
+
name: String,
|
|
30
|
+
description: T.nilable(String),
|
|
31
|
+
enabled: T::Boolean,
|
|
32
|
+
project_selector:
|
|
33
|
+
T.nilable(
|
|
34
|
+
Openlayer::Governance::FrameworkCreateParams::ProjectSelector::OrHash
|
|
35
|
+
),
|
|
36
|
+
tags: T::Array[String],
|
|
37
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
38
|
+
).returns(Openlayer::Models::Governance::FrameworkCreateResponse)
|
|
39
|
+
end
|
|
40
|
+
def create(
|
|
41
|
+
# The workspace id.
|
|
42
|
+
workspace_id,
|
|
43
|
+
# The framework name.
|
|
44
|
+
name:,
|
|
45
|
+
# A short description of the framework.
|
|
46
|
+
description: nil,
|
|
47
|
+
# Whether the framework is active. Rules of a disabled framework are not evaluated
|
|
48
|
+
# and do not count towards compliance.
|
|
49
|
+
enabled: nil,
|
|
50
|
+
# Determines which projects the framework applies to. An empty or `null` `match`
|
|
51
|
+
# array applies the framework to every project in the workspace.
|
|
52
|
+
project_selector: nil,
|
|
53
|
+
# Free-form labels on the framework.
|
|
54
|
+
tags: nil,
|
|
55
|
+
request_options: {}
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Retrieve a governance framework by its id.
|
|
60
|
+
sig do
|
|
61
|
+
params(
|
|
62
|
+
framework_id: String,
|
|
63
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
64
|
+
).returns(Openlayer::Models::Governance::FrameworkRetrieveResponse)
|
|
65
|
+
end
|
|
66
|
+
def retrieve(
|
|
67
|
+
# The framework id.
|
|
68
|
+
framework_id,
|
|
69
|
+
request_options: {}
|
|
70
|
+
)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Update a governance framework.
|
|
74
|
+
#
|
|
75
|
+
# The most common use is activating or deactivating a framework for the workspace
|
|
76
|
+
# by setting `enabled`. Rules of a disabled framework are not evaluated and do not
|
|
77
|
+
# count towards compliance.
|
|
78
|
+
#
|
|
79
|
+
# Frameworks that ship with Openlayer report `immutable: true`. For those, only
|
|
80
|
+
# `enabled`, `tags`, and `projectSelector` can be changed -- their name and
|
|
81
|
+
# definition are managed by Openlayer.
|
|
82
|
+
#
|
|
83
|
+
# Only the fields you send are changed.
|
|
84
|
+
sig do
|
|
85
|
+
params(
|
|
86
|
+
framework_id: String,
|
|
87
|
+
avatar:
|
|
88
|
+
T.nilable(
|
|
89
|
+
Openlayer::Governance::FrameworkUpdateParams::Avatar::OrHash
|
|
90
|
+
),
|
|
91
|
+
description: T.nilable(String),
|
|
92
|
+
enabled: T::Boolean,
|
|
93
|
+
extended_description: T.nilable(T::Hash[Symbol, T.anything]),
|
|
94
|
+
href: T.nilable(String),
|
|
95
|
+
name: String,
|
|
96
|
+
project_selector:
|
|
97
|
+
T.nilable(
|
|
98
|
+
Openlayer::Governance::FrameworkUpdateParams::ProjectSelector::OrHash
|
|
99
|
+
),
|
|
100
|
+
tags: T::Array[String],
|
|
101
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
102
|
+
).returns(Openlayer::Models::Governance::FrameworkUpdateResponse)
|
|
103
|
+
end
|
|
104
|
+
def update(
|
|
105
|
+
# The framework id.
|
|
106
|
+
framework_id,
|
|
107
|
+
# The icon shown for the framework.
|
|
108
|
+
avatar: nil,
|
|
109
|
+
# A short description of the framework.
|
|
110
|
+
description: nil,
|
|
111
|
+
# Whether the framework is active. Rules of a disabled framework are not evaluated
|
|
112
|
+
# and do not count towards compliance.
|
|
113
|
+
enabled: nil,
|
|
114
|
+
# A longer, rich-text description, as a TipTap JSON document.
|
|
115
|
+
extended_description: nil,
|
|
116
|
+
# A link to the external standard or regulation the framework is based on.
|
|
117
|
+
href: nil,
|
|
118
|
+
# The framework name.
|
|
119
|
+
name: nil,
|
|
120
|
+
# Determines which projects the framework applies to. An empty or `null` `match`
|
|
121
|
+
# array applies the framework to every project in the workspace.
|
|
122
|
+
project_selector: nil,
|
|
123
|
+
# Free-form labels on the framework.
|
|
124
|
+
tags: nil,
|
|
125
|
+
request_options: {}
|
|
126
|
+
)
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# List the governance frameworks in a workspace.
|
|
130
|
+
#
|
|
131
|
+
# A framework is a set of rules -- drawn from a regulation, a standard, or your
|
|
132
|
+
# own internal policy -- that Openlayer tracks compliance against. Use this
|
|
133
|
+
# endpoint to find the framework you want to report on, then read its rules and
|
|
134
|
+
# rule results.
|
|
135
|
+
sig do
|
|
136
|
+
params(
|
|
137
|
+
workspace_id: String,
|
|
138
|
+
asc: T::Boolean,
|
|
139
|
+
completion_operator:
|
|
140
|
+
Openlayer::Governance::FrameworkListParams::CompletionOperator::OrSymbol,
|
|
141
|
+
completion_value: Integer,
|
|
142
|
+
enabled: T::Boolean,
|
|
143
|
+
include_rule_stats: T::Boolean,
|
|
144
|
+
page: Integer,
|
|
145
|
+
per_page: Integer,
|
|
146
|
+
project_id: String,
|
|
147
|
+
search_query: String,
|
|
148
|
+
sort_column:
|
|
149
|
+
Openlayer::Governance::FrameworkListParams::SortColumn::OrSymbol,
|
|
150
|
+
tags: T::Array[String],
|
|
151
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
152
|
+
).returns(Openlayer::Models::Governance::FrameworkListResponse)
|
|
153
|
+
end
|
|
154
|
+
def list(
|
|
155
|
+
# The workspace id.
|
|
156
|
+
workspace_id,
|
|
157
|
+
# Whether to sort in ascending order.
|
|
158
|
+
asc: nil,
|
|
159
|
+
# How to compare each framework's completion percentage with `completionValue`.
|
|
160
|
+
# Must be sent together with `completionValue`.
|
|
161
|
+
completion_operator: nil,
|
|
162
|
+
# The completion percentage to compare against, from 0 to 100.
|
|
163
|
+
completion_value: nil,
|
|
164
|
+
# Only include frameworks that are enabled (or disabled).
|
|
165
|
+
enabled: nil,
|
|
166
|
+
# Whether to include a `ruleStats` object on each framework, with its rule result
|
|
167
|
+
# status counts and its per-project completion buckets. Computed over the returned
|
|
168
|
+
# page only.
|
|
169
|
+
include_rule_stats: nil,
|
|
170
|
+
# The page to return in a paginated query.
|
|
171
|
+
page: nil,
|
|
172
|
+
# Maximum number of items to return per page.
|
|
173
|
+
per_page: nil,
|
|
174
|
+
# Only include items that apply to this project.
|
|
175
|
+
project_id: nil,
|
|
176
|
+
# Filter by a free-text search over names and descriptions.
|
|
177
|
+
search_query: nil,
|
|
178
|
+
# The column to sort on.
|
|
179
|
+
sort_column: nil,
|
|
180
|
+
# Only include frameworks carrying all of these tags.
|
|
181
|
+
tags: nil,
|
|
182
|
+
request_options: {}
|
|
183
|
+
)
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
# Export a framework's evidence and progress as an audit-ready zip archive.
|
|
187
|
+
#
|
|
188
|
+
# The archive holds every evidence file uploaded against the framework's
|
|
189
|
+
# evidence-based rules, a markdown report of the framework's progress and the
|
|
190
|
+
# status of all its rules (broken down by documentation section when the framework
|
|
191
|
+
# has documents), and CSV manifests of rules and evidence with SHA-256 checksums.
|
|
192
|
+
#
|
|
193
|
+
# Send `projectId` to export one project's compliance with the framework. Omit it
|
|
194
|
+
# for the workspace-wide view across every project in the framework, including
|
|
195
|
+
# workspace-scoped rules.
|
|
196
|
+
#
|
|
197
|
+
# The export runs as a background task, so this returns `202` immediately. To
|
|
198
|
+
# collect the archive:
|
|
199
|
+
#
|
|
200
|
+
# 1. Poll `GET /background-tasks/{taskId}` with the returned `taskResultId` until
|
|
201
|
+
# `complete` is `true`.
|
|
202
|
+
# 2. Read `outputs.storageUri` off that task.
|
|
203
|
+
# 3. Exchange it for a download link at
|
|
204
|
+
# `GET /storage/presigned-url?storageUri=<uri>`.
|
|
205
|
+
#
|
|
206
|
+
# Rate limited to 2 requests per minute per framework. Asking for an export while
|
|
207
|
+
# an identical one is still queued returns that task rather than starting a second
|
|
208
|
+
# one.
|
|
209
|
+
sig do
|
|
210
|
+
params(
|
|
211
|
+
framework_id: String,
|
|
212
|
+
project_id: T.nilable(String),
|
|
213
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
214
|
+
).returns(Openlayer::Models::Governance::FrameworkExportResponse)
|
|
215
|
+
end
|
|
216
|
+
def export(
|
|
217
|
+
# The framework id.
|
|
218
|
+
framework_id,
|
|
219
|
+
# Scope the export to this project. It must belong to the framework.
|
|
220
|
+
project_id: nil,
|
|
221
|
+
request_options: {}
|
|
222
|
+
)
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
# Get a compliance roll-up for a framework, one row per project it applies to.
|
|
226
|
+
#
|
|
227
|
+
# Each row counts the project's rule results by status, so you can report on where
|
|
228
|
+
# a framework is complete and where it is not without fetching every individual
|
|
229
|
+
# rule result.
|
|
230
|
+
sig do
|
|
231
|
+
params(
|
|
232
|
+
framework_id: String,
|
|
233
|
+
asc: T::Boolean,
|
|
234
|
+
page: Integer,
|
|
235
|
+
per_page: Integer,
|
|
236
|
+
sort_column:
|
|
237
|
+
Openlayer::Governance::FrameworkListProjectRuleStatsParams::SortColumn::OrSymbol,
|
|
238
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
239
|
+
).returns(
|
|
240
|
+
Openlayer::Models::Governance::FrameworkListProjectRuleStatsResponse
|
|
241
|
+
)
|
|
242
|
+
end
|
|
243
|
+
def list_project_rule_stats(
|
|
244
|
+
# The framework id.
|
|
245
|
+
framework_id,
|
|
246
|
+
# Whether to sort in ascending order.
|
|
247
|
+
asc: nil,
|
|
248
|
+
# The page to return in a paginated query.
|
|
249
|
+
page: nil,
|
|
250
|
+
# Maximum number of items to return per page.
|
|
251
|
+
per_page: nil,
|
|
252
|
+
# The column to sort on.
|
|
253
|
+
sort_column: nil,
|
|
254
|
+
request_options: {}
|
|
255
|
+
)
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
# List the projects a framework applies to.
|
|
259
|
+
#
|
|
260
|
+
# Which projects a framework covers is determined by its `projectSelector`. A
|
|
261
|
+
# framework with an empty selector applies to every project in the workspace.
|
|
262
|
+
sig do
|
|
263
|
+
params(
|
|
264
|
+
framework_id: String,
|
|
265
|
+
page: Integer,
|
|
266
|
+
per_page: Integer,
|
|
267
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
268
|
+
).returns(
|
|
269
|
+
Openlayer::Models::Governance::FrameworkListProjectsResponse
|
|
270
|
+
)
|
|
271
|
+
end
|
|
272
|
+
def list_projects(
|
|
273
|
+
# The framework id.
|
|
274
|
+
framework_id,
|
|
275
|
+
# The page to return in a paginated query.
|
|
276
|
+
page: nil,
|
|
277
|
+
# Maximum number of items to return per page.
|
|
278
|
+
per_page: nil,
|
|
279
|
+
request_options: {}
|
|
280
|
+
)
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
# List the rules that belong to a framework.
|
|
284
|
+
#
|
|
285
|
+
# To read the compliance status of these rules, use
|
|
286
|
+
# [List rule results](/api-reference/rest/governance/list-rule-results) with the
|
|
287
|
+
# `frameworkId` filter, or fetch the results of an individual rule.
|
|
288
|
+
sig do
|
|
289
|
+
params(
|
|
290
|
+
framework_id: String,
|
|
291
|
+
page: Integer,
|
|
292
|
+
per_page: Integer,
|
|
293
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
294
|
+
).returns(Openlayer::Models::Governance::FrameworkListRulesResponse)
|
|
295
|
+
end
|
|
296
|
+
def list_rules(
|
|
297
|
+
# The framework id.
|
|
298
|
+
framework_id,
|
|
299
|
+
# The page to return in a paginated query.
|
|
300
|
+
page: nil,
|
|
301
|
+
# Maximum number of items to return per page.
|
|
302
|
+
per_page: nil,
|
|
303
|
+
request_options: {}
|
|
304
|
+
)
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
# @api private
|
|
308
|
+
sig { params(client: Openlayer::Client).returns(T.attached_class) }
|
|
309
|
+
def self.new(client:)
|
|
310
|
+
end
|
|
311
|
+
end
|
|
312
|
+
end
|
|
313
|
+
end
|
|
314
|
+
end
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# typed: strong
|
|
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
|
+
sig do
|
|
13
|
+
params(
|
|
14
|
+
rule_result_id: String,
|
|
15
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
16
|
+
).returns(Openlayer::Models::Governance::RuleResultRetrieveResponse)
|
|
17
|
+
end
|
|
18
|
+
def retrieve(
|
|
19
|
+
# The rule result id.
|
|
20
|
+
rule_result_id,
|
|
21
|
+
request_options: {}
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Update a rule result. Only the fields you send are changed.
|
|
26
|
+
#
|
|
27
|
+
# Use this to assign an owner, or to exclude a single result from compliance
|
|
28
|
+
# without deactivating the rule everywhere. `deactivatedReason` is required when
|
|
29
|
+
# setting `deactivated` to `true`.
|
|
30
|
+
#
|
|
31
|
+
# A result's `status` is computed by Openlayer and cannot be set directly.
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
rule_result_id: String,
|
|
35
|
+
assignee_id: T.nilable(String),
|
|
36
|
+
blocked_by:
|
|
37
|
+
T::Array[
|
|
38
|
+
Openlayer::Governance::RuleResultUpdateParams::BlockedBy::OrHash
|
|
39
|
+
],
|
|
40
|
+
blocking:
|
|
41
|
+
T::Array[
|
|
42
|
+
Openlayer::Governance::RuleResultUpdateParams::Blocking::OrHash
|
|
43
|
+
],
|
|
44
|
+
deactivated: T::Boolean,
|
|
45
|
+
deactivated_reason: T.nilable(String),
|
|
46
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
47
|
+
).returns(Openlayer::Models::Governance::RuleResultUpdateResponse)
|
|
48
|
+
end
|
|
49
|
+
def update(
|
|
50
|
+
# The rule result id.
|
|
51
|
+
rule_result_id,
|
|
52
|
+
# The user responsible for this result.
|
|
53
|
+
assignee_id: nil,
|
|
54
|
+
# Rule results that must pass before this one can be satisfied.
|
|
55
|
+
blocked_by: nil,
|
|
56
|
+
# Rule results that this one blocks.
|
|
57
|
+
blocking: nil,
|
|
58
|
+
# Whether this result is excluded from compliance calculations.
|
|
59
|
+
deactivated: nil,
|
|
60
|
+
# Why the result was excluded.
|
|
61
|
+
deactivated_reason: nil,
|
|
62
|
+
request_options: {}
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# List rule results across a workspace.
|
|
67
|
+
#
|
|
68
|
+
# A rule result is the compliance status of one rule for one entity: a project for
|
|
69
|
+
# project-scoped rules, or the workspace itself for workspace-scoped rules. This
|
|
70
|
+
# is the endpoint to poll or export when you want your current compliance state,
|
|
71
|
+
# filtered to a framework, a project, or a status.
|
|
72
|
+
sig do
|
|
73
|
+
params(
|
|
74
|
+
workspace_id: String,
|
|
75
|
+
enabled_framework_only: T::Boolean,
|
|
76
|
+
framework_id: String,
|
|
77
|
+
include_unframed: T::Boolean,
|
|
78
|
+
page: Integer,
|
|
79
|
+
per_page: Integer,
|
|
80
|
+
project_id: String,
|
|
81
|
+
rule_id: String,
|
|
82
|
+
scope: Openlayer::Governance::RuleResultListParams::Scope::OrSymbol,
|
|
83
|
+
search_query: String,
|
|
84
|
+
status:
|
|
85
|
+
Openlayer::Governance::RuleResultListParams::Status::OrSymbol,
|
|
86
|
+
type: Openlayer::Governance::RuleResultListParams::Type::OrSymbol,
|
|
87
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
88
|
+
).returns(Openlayer::Models::Governance::RuleResultListResponse)
|
|
89
|
+
end
|
|
90
|
+
def list(
|
|
91
|
+
# The workspace id.
|
|
92
|
+
workspace_id,
|
|
93
|
+
# Only include items belonging to at least one enabled framework.
|
|
94
|
+
enabled_framework_only: nil,
|
|
95
|
+
# Only include items belonging to this framework.
|
|
96
|
+
framework_id: nil,
|
|
97
|
+
# Whether to include rules that are not part of any framework.
|
|
98
|
+
include_unframed: nil,
|
|
99
|
+
# The page to return in a paginated query.
|
|
100
|
+
page: nil,
|
|
101
|
+
# Maximum number of items to return per page.
|
|
102
|
+
per_page: nil,
|
|
103
|
+
# Only include items that apply to this project.
|
|
104
|
+
project_id: nil,
|
|
105
|
+
# Only include results of this rule.
|
|
106
|
+
rule_id: nil,
|
|
107
|
+
# Only include rules with this scope.
|
|
108
|
+
scope: nil,
|
|
109
|
+
# Filter by a free-text search over names and descriptions.
|
|
110
|
+
search_query: nil,
|
|
111
|
+
# Only include items whose rule result has this compliance status.
|
|
112
|
+
status: nil,
|
|
113
|
+
# Only include rules of this type.
|
|
114
|
+
type: nil,
|
|
115
|
+
request_options: {}
|
|
116
|
+
)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Attach evidence to a rule result, satisfying an evidence rule.
|
|
120
|
+
#
|
|
121
|
+
# Send the field that matches the rule's `evidenceType`: `storageUri` for an
|
|
122
|
+
# uploaded document, `text` for a written statement, or `url` for a link.
|
|
123
|
+
#
|
|
124
|
+
# For a document, upload the file first with `POST /storage/presigned-url` and
|
|
125
|
+
# send the resulting storage URI as `storageUri`.
|
|
126
|
+
#
|
|
127
|
+
# Attaching evidence re-evaluates the rule result. If the rule sets
|
|
128
|
+
# `renewalCadenceDays`, the renewal window restarts from this evidence.
|
|
129
|
+
sig do
|
|
130
|
+
params(
|
|
131
|
+
rule_result_id: String,
|
|
132
|
+
description: T.nilable(String),
|
|
133
|
+
name: T.nilable(String),
|
|
134
|
+
storage_uri: T.nilable(String),
|
|
135
|
+
text: T.nilable(String),
|
|
136
|
+
url: T.nilable(String),
|
|
137
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
138
|
+
).returns(
|
|
139
|
+
Openlayer::Models::Governance::RuleResultCreateEvidenceResponse
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
def create_evidence(
|
|
143
|
+
# The rule result id.
|
|
144
|
+
rule_result_id,
|
|
145
|
+
# A description of what the evidence shows.
|
|
146
|
+
description: nil,
|
|
147
|
+
# The evidence name.
|
|
148
|
+
name: nil,
|
|
149
|
+
# Where the uploaded file is stored. Set when the rule's `evidenceType` is
|
|
150
|
+
# `document`.
|
|
151
|
+
storage_uri: nil,
|
|
152
|
+
# The evidence text. Set when the rule's `evidenceType` is `text`.
|
|
153
|
+
text: nil,
|
|
154
|
+
# A link to the evidence. Set when the rule's `evidenceType` is `url`.
|
|
155
|
+
url: nil,
|
|
156
|
+
request_options: {}
|
|
157
|
+
)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# List the evidence attached to a rule result.
|
|
161
|
+
#
|
|
162
|
+
# Which field carries the evidence depends on the rule's `evidenceType`:
|
|
163
|
+
# `storageUri` for uploaded documents, `text` for written statements, and `url`
|
|
164
|
+
# for links.
|
|
165
|
+
sig do
|
|
166
|
+
params(
|
|
167
|
+
rule_result_id: String,
|
|
168
|
+
page: Integer,
|
|
169
|
+
per_page: Integer,
|
|
170
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
171
|
+
).returns(
|
|
172
|
+
Openlayer::Models::Governance::RuleResultListEvidenceResponse
|
|
173
|
+
)
|
|
174
|
+
end
|
|
175
|
+
def list_evidence(
|
|
176
|
+
# The rule result id.
|
|
177
|
+
rule_result_id,
|
|
178
|
+
# The page to return in a paginated query.
|
|
179
|
+
page: nil,
|
|
180
|
+
# Maximum number of items to return per page.
|
|
181
|
+
per_page: nil,
|
|
182
|
+
request_options: {}
|
|
183
|
+
)
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
# @api private
|
|
187
|
+
sig { params(client: Openlayer::Client).returns(T.attached_class) }
|
|
188
|
+
def self.new(client:)
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: strong
|
|
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
|
+
sig do
|
|
13
|
+
params(
|
|
14
|
+
workspace_id: String,
|
|
15
|
+
framework_id: String,
|
|
16
|
+
project_id: String,
|
|
17
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
18
|
+
).returns(Openlayer::Models::Governance::RuleStatRetrieveResponse)
|
|
19
|
+
end
|
|
20
|
+
def retrieve(
|
|
21
|
+
# The workspace id.
|
|
22
|
+
workspace_id,
|
|
23
|
+
# Only include items belonging to this framework.
|
|
24
|
+
framework_id: nil,
|
|
25
|
+
# Only include items that apply to this project.
|
|
26
|
+
project_id: nil,
|
|
27
|
+
request_options: {}
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @api private
|
|
32
|
+
sig { params(client: Openlayer::Client).returns(T.attached_class) }
|
|
33
|
+
def self.new(client:)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: strong
|
|
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
|
+
sig do
|
|
13
|
+
params(
|
|
14
|
+
workspace_id: String,
|
|
15
|
+
page: Integer,
|
|
16
|
+
per_page: Integer,
|
|
17
|
+
request_options: Openlayer::RequestOptions::OrHash
|
|
18
|
+
).returns(Openlayer::Models::Governance::RuleTagListResponse)
|
|
19
|
+
end
|
|
20
|
+
def list(
|
|
21
|
+
# The workspace id.
|
|
22
|
+
workspace_id,
|
|
23
|
+
# The page to return in a paginated query.
|
|
24
|
+
page: nil,
|
|
25
|
+
# Maximum number of items to return per page.
|
|
26
|
+
per_page: nil,
|
|
27
|
+
request_options: {}
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @api private
|
|
32
|
+
sig { params(client: Openlayer::Client).returns(T.attached_class) }
|
|
33
|
+
def self.new(client:)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|