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
@@ -17,7 +17,8 @@ module Openlayer
17
17
  attr_accessor :name
18
18
 
19
19
  # Whether the rule is evaluated once for the whole workspace, or once per project
20
- # the rule's frameworks apply to.
20
+ # the rule's frameworks apply to. Must be `project` for platform rules. Fixed once
21
+ # the rule is created.
21
22
  sig do
22
23
  returns(
23
24
  Openlayer::Models::Governance::RuleUpdateResponse::Scope::TaggedSymbol
@@ -26,7 +27,8 @@ module Openlayer
26
27
  attr_accessor :scope
27
28
 
28
29
  # `platform` rules are evaluated automatically from the state of your Openlayer
29
- # workspace. `evidence` rules are satisfied by attaching evidence.
30
+ # workspace. `evidence` rules are satisfied by attaching evidence. Fixed once the
31
+ # rule is created.
30
32
  sig do
31
33
  returns(
32
34
  Openlayer::Models::Governance::RuleUpdateResponse::Type::TaggedSymbol
@@ -38,13 +40,15 @@ module Openlayer
38
40
  sig { returns(T.nilable(String)) }
39
41
  attr_accessor :assignee_id
40
42
 
41
- # Configuration for the platform check, when the automation takes parameters.
43
+ # Configuration for the platform check, when the automation takes parameters. Omit
44
+ # or `null` for evidence rules. Fixed once the rule is created.
42
45
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
43
46
  attr_accessor :automation_params
44
47
 
45
48
  # Which workspace signal a platform rule checks, for example
46
- # `monitoring_mode_enabled`, `test_setup`, or `project_owner_set`. `null` for
47
- # evidence rules.
49
+ # `monitoring_mode_enabled`, `test_setup`, or `project_owner_set`. Set it for
50
+ # platform rules; omit or `null` for evidence rules. Fixed once the rule is
51
+ # created.
48
52
  sig { returns(T.nilable(String)) }
49
53
  attr_accessor :automation_type
50
54
 
@@ -59,7 +63,8 @@ module Openlayer
59
63
  sig { returns(T.nilable(String)) }
60
64
  attr_accessor :description
61
65
 
62
- # The kind of evidence that satisfies the rule. `null` for platform rules.
66
+ # The kind of evidence that satisfies the rule. Set it for evidence rules; omit or
67
+ # `null` for platform rules. Fixed once the rule is created.
63
68
  sig do
64
69
  returns(
65
70
  T.nilable(
@@ -70,7 +75,8 @@ module Openlayer
70
75
  attr_accessor :evidence_type
71
76
 
72
77
  # How often evidence must be renewed, in days. Once evidence is older than this,
73
- # the rule result becomes `due_soon` and then `failing`.
78
+ # the rule result becomes `due_soon` and then `failing`. The window restarts
79
+ # whenever evidence is attached. Omit or `null` for platform rules.
74
80
  sig { returns(T.nilable(Integer)) }
75
81
  attr_accessor :renewal_cadence_days
76
82
 
@@ -112,7 +118,8 @@ module Openlayer
112
118
  end
113
119
  attr_writer :frameworks
114
120
 
115
- # Whether the rule is managed by Openlayer and cannot be edited.
121
+ # Whether the rule is managed by Openlayer. These rules can't be renamed or
122
+ # deleted; set `deactivated` to exclude one from compliance instead.
116
123
  sig { returns(T.nilable(T::Boolean)) }
117
124
  attr_reader :immutable
118
125
 
@@ -173,6 +180,10 @@ module Openlayer
173
180
  end
174
181
  attr_accessor :tags
175
182
 
183
+ # A single requirement Openlayer tracks. `platform` rules are evaluated
184
+ # automatically from the state of your workspace, and `evidence` rules are
185
+ # satisfied by attaching evidence. A rule can belong to several frameworks, or to
186
+ # none.
176
187
  sig do
177
188
  params(
178
189
  id: String,
@@ -225,33 +236,40 @@ module Openlayer
225
236
  # The rule name.
226
237
  name:,
227
238
  # Whether the rule is evaluated once for the whole workspace, or once per project
228
- # the rule's frameworks apply to.
239
+ # the rule's frameworks apply to. Must be `project` for platform rules. Fixed once
240
+ # the rule is created.
229
241
  scope:,
230
242
  # `platform` rules are evaluated automatically from the state of your Openlayer
231
- # workspace. `evidence` rules are satisfied by attaching evidence.
243
+ # workspace. `evidence` rules are satisfied by attaching evidence. Fixed once the
244
+ # rule is created.
232
245
  type:,
233
246
  # The id of the workspace the rule belongs to.
234
247
  workspace_id:,
235
248
  # The user responsible for satisfying the rule.
236
249
  assignee_id: nil,
237
- # Configuration for the platform check, when the automation takes parameters.
250
+ # Configuration for the platform check, when the automation takes parameters. Omit
251
+ # or `null` for evidence rules. Fixed once the rule is created.
238
252
  automation_params: nil,
239
253
  # Which workspace signal a platform rule checks, for example
240
- # `monitoring_mode_enabled`, `test_setup`, or `project_owner_set`. `null` for
241
- # evidence rules.
254
+ # `monitoring_mode_enabled`, `test_setup`, or `project_owner_set`. Set it for
255
+ # platform rules; omit or `null` for evidence rules. Fixed once the rule is
256
+ # created.
242
257
  automation_type: nil,
243
258
  # Whether the rule is excluded from compliance calculations.
244
259
  deactivated: nil,
245
260
  # What the rule requires.
246
261
  description: nil,
247
- # The kind of evidence that satisfies the rule. `null` for platform rules.
262
+ # The kind of evidence that satisfies the rule. Set it for evidence rules; omit or
263
+ # `null` for platform rules. Fixed once the rule is created.
248
264
  evidence_type: nil,
249
265
  # The frameworks that include this rule.
250
266
  frameworks: nil,
251
- # Whether the rule is managed by Openlayer and cannot be edited.
267
+ # Whether the rule is managed by Openlayer. These rules can't be renamed or
268
+ # deleted; set `deactivated` to exclude one from compliance instead.
252
269
  immutable: nil,
253
270
  # How often evidence must be renewed, in days. Once evidence is older than this,
254
- # the rule result becomes `due_soon` and then `failing`.
271
+ # the rule result becomes `due_soon` and then `failing`. The window restarts
272
+ # whenever evidence is attached. Omit or `null` for platform rules.
255
273
  renewal_cadence_days: nil,
256
274
  # The rule's results, one per entity the rule is evaluated against. Only returned
257
275
  # when `includeResults` is `true`.
@@ -313,7 +331,8 @@ module Openlayer
313
331
  end
314
332
 
315
333
  # Whether the rule is evaluated once for the whole workspace, or once per project
316
- # the rule's frameworks apply to.
334
+ # the rule's frameworks apply to. Must be `project` for platform rules. Fixed once
335
+ # the rule is created.
317
336
  module Scope
318
337
  extend Openlayer::Internal::Type::Enum
319
338
 
@@ -349,7 +368,8 @@ module Openlayer
349
368
  end
350
369
 
351
370
  # `platform` rules are evaluated automatically from the state of your Openlayer
352
- # workspace. `evidence` rules are satisfied by attaching evidence.
371
+ # workspace. `evidence` rules are satisfied by attaching evidence. Fixed once the
372
+ # rule is created.
353
373
  module Type
354
374
  extend Openlayer::Internal::Type::Enum
355
375
 
@@ -384,7 +404,8 @@ module Openlayer
384
404
  end
385
405
  end
386
406
 
387
- # The kind of evidence that satisfies the rule. `null` for platform rules.
407
+ # The kind of evidence that satisfies the rule. Set it for evidence rules; omit or
408
+ # `null` for platform rules. Fixed once the rule is created.
388
409
  module EvidenceType
389
410
  extend Openlayer::Internal::Type::Enum
390
411
 
@@ -615,11 +636,13 @@ module Openlayer
615
636
  )
616
637
  end
617
638
 
618
- # Whether this result is excluded from compliance calculations.
639
+ # Whether this result is excluded from compliance calculations. Excludes just this
640
+ # result, without deactivating the rule everywhere.
619
641
  sig { returns(T::Boolean) }
620
642
  attr_accessor :deactivated
621
643
 
622
- # The compliance status of the rule for this entity.
644
+ # The compliance status of the rule for this entity. Computed by Openlayer and
645
+ # can't be set directly.
623
646
  sig do
624
647
  returns(
625
648
  Openlayer::Models::Governance::RuleUpdateResponse::Result::Status::TaggedSymbol
@@ -675,7 +698,7 @@ module Openlayer
675
698
  end
676
699
  attr_writer :blocking
677
700
 
678
- # Why the result was excluded.
701
+ # Why the result was excluded. Required when setting `deactivated` to `true`.
679
702
  sig { returns(T.nilable(String)) }
680
703
  attr_accessor :deactivated_reason
681
704
 
@@ -723,6 +746,8 @@ module Openlayer
723
746
  sig { returns(T.nilable(String)) }
724
747
  attr_accessor :project_id
725
748
 
749
+ # The compliance status of one rule for one entity: a project for project-scoped
750
+ # rules, or the workspace for workspace-scoped rules.
726
751
  sig do
727
752
  params(
728
753
  id: String,
@@ -758,11 +783,13 @@ module Openlayer
758
783
  date_created:,
759
784
  # The last update date.
760
785
  date_updated:,
761
- # Whether this result is excluded from compliance calculations.
786
+ # Whether this result is excluded from compliance calculations. Excludes just this
787
+ # result, without deactivating the rule everywhere.
762
788
  deactivated:,
763
789
  # The rule this result belongs to.
764
790
  rule_id:,
765
- # The compliance status of the rule for this entity.
791
+ # The compliance status of the rule for this entity. Computed by Openlayer and
792
+ # can't be set directly.
766
793
  status:,
767
794
  # The id of the workspace the rule result belongs to.
768
795
  workspace_id:,
@@ -780,7 +807,7 @@ module Openlayer
780
807
  date_of_next_evaluation: nil,
781
808
  # When the evidence must be renewed. Evidence rules with a renewal cadence only.
782
809
  date_of_renewal: nil,
783
- # Why the result was excluded.
810
+ # Why the result was excluded. Required when setting `deactivated` to `true`.
784
811
  deactivated_reason: nil,
785
812
  # The project this result was evaluated for. `null` for workspace-scoped rules.
786
813
  project_id: nil,
@@ -822,7 +849,8 @@ module Openlayer
822
849
  def to_hash
823
850
  end
824
851
 
825
- # The compliance status of the rule for this entity.
852
+ # The compliance status of the rule for this entity. Computed by Openlayer and
853
+ # can't be set directly.
826
854
  module Status
827
855
  extend Openlayer::Internal::Type::Enum
828
856
 
@@ -897,7 +925,8 @@ module Openlayer
897
925
  sig { params(id: String).void }
898
926
  attr_writer :id
899
927
 
900
- # The compliance status of the rule for this entity.
928
+ # The compliance status of the rule for this entity. Computed by Openlayer and
929
+ # can't be set directly.
901
930
  sig do
902
931
  returns(
903
932
  T.nilable(
@@ -924,7 +953,8 @@ module Openlayer
924
953
  end
925
954
  def self.new(
926
955
  id: nil,
927
- # The compliance status of the rule for this entity.
956
+ # The compliance status of the rule for this entity. Computed by Openlayer and
957
+ # can't be set directly.
928
958
  status: nil
929
959
  )
930
960
  end
@@ -941,7 +971,8 @@ module Openlayer
941
971
  def to_hash
942
972
  end
943
973
 
944
- # The compliance status of the rule for this entity.
974
+ # The compliance status of the rule for this entity. Computed by Openlayer and
975
+ # can't be set directly.
945
976
  module Status
946
977
  extend Openlayer::Internal::Type::Enum
947
978
 
@@ -1017,7 +1048,8 @@ module Openlayer
1017
1048
  sig { params(id: String).void }
1018
1049
  attr_writer :id
1019
1050
 
1020
- # The compliance status of the rule for this entity.
1051
+ # The compliance status of the rule for this entity. Computed by Openlayer and
1052
+ # can't be set directly.
1021
1053
  sig do
1022
1054
  returns(
1023
1055
  T.nilable(
@@ -1044,7 +1076,8 @@ module Openlayer
1044
1076
  end
1045
1077
  def self.new(
1046
1078
  id: nil,
1047
- # The compliance status of the rule for this entity.
1079
+ # The compliance status of the rule for this entity. Computed by Openlayer and
1080
+ # can't be set directly.
1048
1081
  status: nil
1049
1082
  )
1050
1083
  end
@@ -1061,7 +1094,8 @@ module Openlayer
1061
1094
  def to_hash
1062
1095
  end
1063
1096
 
1064
- # The compliance status of the rule for this entity.
1097
+ # The compliance status of the rule for this entity. Computed by Openlayer and
1098
+ # can't be set directly.
1065
1099
  module Status
1066
1100
  extend Openlayer::Internal::Type::Enum
1067
1101
 
@@ -1190,7 +1224,7 @@ module Openlayer
1190
1224
  sig { returns(Time) }
1191
1225
  attr_accessor :date_updated
1192
1226
 
1193
- # Whether the tag is managed by Openlayer and cannot be edited or deleted.
1227
+ # Whether the tag is managed by Openlayer. These tags can't be deleted.
1194
1228
  sig { returns(T::Boolean) }
1195
1229
  attr_accessor :immutable
1196
1230
 
@@ -1198,6 +1232,8 @@ module Openlayer
1198
1232
  sig { returns(String) }
1199
1233
  attr_accessor :workspace_id
1200
1234
 
1235
+ # A label that groups rules across frameworks, for example by team or control
1236
+ # family.
1201
1237
  sig do
1202
1238
  params(
1203
1239
  id: String,
@@ -1219,7 +1255,7 @@ module Openlayer
1219
1255
  date_created:,
1220
1256
  # The last update date.
1221
1257
  date_updated:,
1222
- # Whether the tag is managed by Openlayer and cannot be edited or deleted.
1258
+ # Whether the tag is managed by Openlayer. These tags can't be deleted.
1223
1259
  immutable:,
1224
1260
  # The tag name.
1225
1261
  name:,
@@ -105,6 +105,8 @@ module Openlayer
105
105
  sig { returns(T::Array[String]) }
106
106
  attr_accessor :user_ids
107
107
 
108
+ # A session in an inference pipeline, with its activity stats: record counts,
109
+ # token usage, cost, latency, and its first and last records.
108
110
  sig do
109
111
  params(
110
112
  id: String,
@@ -85,6 +85,8 @@ module Openlayer
85
85
  sig { returns(Float) }
86
86
  attr_accessor :tokens
87
87
 
88
+ # A user who has interacted with an inference pipeline, with their activity stats:
89
+ # session and record counts, token usage, and cost.
88
90
  sig do
89
91
  params(
90
92
  id: String,
@@ -15,7 +15,8 @@ module Openlayer
15
15
  )
16
16
  end
17
17
 
18
- # The object's storage uri.
18
+ # The object's storage uri, for example `outputs.storageUri` from a framework
19
+ # export's background task.
19
20
  sig { returns(String) }
20
21
  attr_accessor :storage_uri
21
22
 
@@ -26,7 +27,8 @@ module Openlayer
26
27
  ).returns(T.attached_class)
27
28
  end
28
29
  def self.new(
29
- # The object's storage uri.
30
+ # The object's storage uri, for example `outputs.storageUri` from a framework
31
+ # export's background task.
30
32
  storage_uri:,
31
33
  request_options: {}
32
34
  )
@@ -18,6 +18,15 @@ module Openlayer
18
18
  sig { returns(String) }
19
19
  attr_accessor :workspace_id
20
20
 
21
+ # When the key stops authenticating. `null` means the key never expires. Set when
22
+ # the key is created or rotated, and must be in the future. When the request is
23
+ # authenticated with an API key that expires, the result can't be later than that
24
+ # key's expiry. On create, omit it to inherit that expiry. On rotate, omit it to
25
+ # keep the current one. It can't be changed with an update; rotate the key
26
+ # instead.
27
+ sig { returns(T.nilable(Time)) }
28
+ attr_accessor :expires_at
29
+
21
30
  # The API key name.
22
31
  sig { returns(T.nilable(String)) }
23
32
  attr_accessor :name
@@ -25,12 +34,20 @@ module Openlayer
25
34
  sig do
26
35
  params(
27
36
  workspace_id: String,
37
+ expires_at: T.nilable(Time),
28
38
  name: T.nilable(String),
29
39
  request_options: Openlayer::RequestOptions::OrHash
30
40
  ).returns(T.attached_class)
31
41
  end
32
42
  def self.new(
33
43
  workspace_id:,
44
+ # When the key stops authenticating. `null` means the key never expires. Set when
45
+ # the key is created or rotated, and must be in the future. When the request is
46
+ # authenticated with an API key that expires, the result can't be later than that
47
+ # key's expiry. On create, omit it to inherit that expiry. On rotate, omit it to
48
+ # keep the current one. It can't be changed with an update; rotate the key
49
+ # instead.
50
+ expires_at: nil,
34
51
  # The API key name.
35
52
  name: nil,
36
53
  request_options: {}
@@ -41,6 +58,7 @@ module Openlayer
41
58
  override.returns(
42
59
  {
43
60
  workspace_id: String,
61
+ expires_at: T.nilable(Time),
44
62
  name: T.nilable(String),
45
63
  request_options: Openlayer::RequestOptions
46
64
  }
@@ -12,6 +12,15 @@ module Openlayer
12
12
  )
13
13
  end
14
14
 
15
+ # When the key stops authenticating. `null` means the key never expires. Set when
16
+ # the key is created or rotated, and must be in the future. When the request is
17
+ # authenticated with an API key that expires, the result can't be later than that
18
+ # key's expiry. On create, omit it to inherit that expiry. On rotate, omit it to
19
+ # keep the current one. It can't be changed with an update; rotate the key
20
+ # instead.
21
+ sig { returns(T.nilable(Time)) }
22
+ attr_accessor :expires_at
23
+
15
24
  # The API key name.
16
25
  sig { returns(T.nilable(String)) }
17
26
  attr_accessor :name
@@ -32,10 +41,38 @@ module Openlayer
32
41
  sig { returns(Time) }
33
42
  attr_accessor :date_updated
34
43
 
35
- # The API key value.
44
+ # An obfuscated hint of the API key value. When a key is created or rotated this
45
+ # also holds the full secret, for backward compatibility; prefer `secret`.
36
46
  sig { returns(String) }
37
47
  attr_accessor :secure_key
38
48
 
49
+ # The key's lifecycle state. `active`: the current secret authenticates.
50
+ # `rotating`: the key was rotated and the previous secret still authenticates
51
+ # until `previousKeyExpiresAt`. `expired`: `expiresAt` has passed, no secret
52
+ # authenticates, and the key can't be rotated.
53
+ sig do
54
+ returns(
55
+ Openlayer::Models::Workspaces::APIKeyCreateResponse::Status::TaggedSymbol
56
+ )
57
+ end
58
+ attr_accessor :status
59
+
60
+ # When the key was last rotated.
61
+ sig { returns(T.nilable(Time)) }
62
+ attr_accessor :last_rotated_at
63
+
64
+ # While `status` is `rotating`, when the previous secret stops authenticating.
65
+ sig { returns(T.nilable(Time)) }
66
+ attr_accessor :previous_key_expires_at
67
+
68
+ # The full API key. Only present in the response that creates or rotates the key,
69
+ # and never shown again.
70
+ sig { returns(T.nilable(String)) }
71
+ attr_reader :secret
72
+
73
+ sig { params(secret: String).void }
74
+ attr_writer :secret
75
+
39
76
  sig do
40
77
  params(
41
78
  id: String,
@@ -43,7 +80,13 @@ module Openlayer
43
80
  date_last_used: T.nilable(Time),
44
81
  date_updated: Time,
45
82
  secure_key: String,
46
- name: T.nilable(String)
83
+ status:
84
+ Openlayer::Models::Workspaces::APIKeyCreateResponse::Status::OrSymbol,
85
+ expires_at: T.nilable(Time),
86
+ last_rotated_at: T.nilable(Time),
87
+ name: T.nilable(String),
88
+ previous_key_expires_at: T.nilable(Time),
89
+ secret: String
47
90
  ).returns(T.attached_class)
48
91
  end
49
92
  def self.new(
@@ -55,10 +98,30 @@ module Openlayer
55
98
  date_last_used:,
56
99
  # The API key last update date.
57
100
  date_updated:,
58
- # The API key value.
101
+ # An obfuscated hint of the API key value. When a key is created or rotated this
102
+ # also holds the full secret, for backward compatibility; prefer `secret`.
59
103
  secure_key:,
104
+ # The key's lifecycle state. `active`: the current secret authenticates.
105
+ # `rotating`: the key was rotated and the previous secret still authenticates
106
+ # until `previousKeyExpiresAt`. `expired`: `expiresAt` has passed, no secret
107
+ # authenticates, and the key can't be rotated.
108
+ status:,
109
+ # When the key stops authenticating. `null` means the key never expires. Set when
110
+ # the key is created or rotated, and must be in the future. When the request is
111
+ # authenticated with an API key that expires, the result can't be later than that
112
+ # key's expiry. On create, omit it to inherit that expiry. On rotate, omit it to
113
+ # keep the current one. It can't be changed with an update; rotate the key
114
+ # instead.
115
+ expires_at: nil,
116
+ # When the key was last rotated.
117
+ last_rotated_at: nil,
60
118
  # The API key name.
61
- name: nil
119
+ name: nil,
120
+ # While `status` is `rotating`, when the previous secret stops authenticating.
121
+ previous_key_expires_at: nil,
122
+ # The full API key. Only present in the response that creates or rotates the key,
123
+ # and never shown again.
124
+ secret: nil
62
125
  )
63
126
  end
64
127
 
@@ -70,12 +133,61 @@ module Openlayer
70
133
  date_last_used: T.nilable(Time),
71
134
  date_updated: Time,
72
135
  secure_key: String,
73
- name: T.nilable(String)
136
+ status:
137
+ Openlayer::Models::Workspaces::APIKeyCreateResponse::Status::TaggedSymbol,
138
+ expires_at: T.nilable(Time),
139
+ last_rotated_at: T.nilable(Time),
140
+ name: T.nilable(String),
141
+ previous_key_expires_at: T.nilable(Time),
142
+ secret: String
74
143
  }
75
144
  )
76
145
  end
77
146
  def to_hash
78
147
  end
148
+
149
+ # The key's lifecycle state. `active`: the current secret authenticates.
150
+ # `rotating`: the key was rotated and the previous secret still authenticates
151
+ # until `previousKeyExpiresAt`. `expired`: `expiresAt` has passed, no secret
152
+ # authenticates, and the key can't be rotated.
153
+ module Status
154
+ extend Openlayer::Internal::Type::Enum
155
+
156
+ TaggedSymbol =
157
+ T.type_alias do
158
+ T.all(
159
+ Symbol,
160
+ Openlayer::Models::Workspaces::APIKeyCreateResponse::Status
161
+ )
162
+ end
163
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
164
+
165
+ ACTIVE =
166
+ T.let(
167
+ :active,
168
+ Openlayer::Models::Workspaces::APIKeyCreateResponse::Status::TaggedSymbol
169
+ )
170
+ ROTATING =
171
+ T.let(
172
+ :rotating,
173
+ Openlayer::Models::Workspaces::APIKeyCreateResponse::Status::TaggedSymbol
174
+ )
175
+ EXPIRED =
176
+ T.let(
177
+ :expired,
178
+ Openlayer::Models::Workspaces::APIKeyCreateResponse::Status::TaggedSymbol
179
+ )
180
+
181
+ sig do
182
+ override.returns(
183
+ T::Array[
184
+ Openlayer::Models::Workspaces::APIKeyCreateResponse::Status::TaggedSymbol
185
+ ]
186
+ )
187
+ end
188
+ def self.values
189
+ end
190
+ end
79
191
  end
80
192
  end
81
193
  end
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Workspaces
6
+ class APIKeyDeleteParams < Openlayer::Internal::Type::BaseModel
7
+ extend Openlayer::Internal::Type::RequestParameters::Converter
8
+ include Openlayer::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Openlayer::Workspaces::APIKeyDeleteParams,
14
+ Openlayer::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :workspace_id
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :api_key_id
23
+
24
+ sig do
25
+ params(
26
+ workspace_id: String,
27
+ api_key_id: String,
28
+ request_options: Openlayer::RequestOptions::OrHash
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(workspace_id:, api_key_id:, request_options: {})
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ {
37
+ workspace_id: String,
38
+ api_key_id: String,
39
+ request_options: Openlayer::RequestOptions
40
+ }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Workspaces
6
+ class APIKeyListParams < Openlayer::Internal::Type::BaseModel
7
+ extend Openlayer::Internal::Type::RequestParameters::Converter
8
+ include Openlayer::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Openlayer::Workspaces::APIKeyListParams,
14
+ Openlayer::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :workspace_id
20
+
21
+ sig do
22
+ params(
23
+ workspace_id: String,
24
+ request_options: Openlayer::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(workspace_id:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { workspace_id: String, request_options: Openlayer::RequestOptions }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end