cerbos 0.2.0 → 0.5.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 -1
- data/README.md +10 -0
- data/lib/cerbos/client.rb +53 -5
- data/lib/cerbos/error.rb +16 -1
- data/lib/cerbos/input/attributes.rb +14 -1
- data/lib/cerbos/input/resource_query.rb +1 -1
- data/lib/cerbos/output/check_resources.rb +18 -1
- data/lib/cerbos/protobuf/cerbos/audit/v1/audit_pb.rb +16 -0
- data/lib/cerbos/protobuf/cerbos/engine/v1/engine_pb.rb +63 -33
- data/lib/cerbos/protobuf/cerbos/request/v1/request_pb.rb +1 -1
- data/lib/cerbos/protobuf/cerbos/response/v1/response_pb.rb +2 -27
- data/lib/cerbos/protobuf/cerbos/telemetry/v1/telemetry_pb.rb +65 -41
- data/lib/cerbos/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1c86d3d658d13d5226bad856d440ce3a511e260fb7c7a1d0df57ab6c1368584
|
4
|
+
data.tar.gz: b776cb441ca8011e80c43fa2647aa36e7640873290086c3b04cd6233b0192f4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b13e093563c7ad60ac1b524dffee33b22fb1d553b433d0927063ff61b4ba10b2aa3516ac309f03384848b40913776605ea7b922fce906d2c6dbe43f8c175dd19
|
7
|
+
data.tar.gz: '039c5611d71e663451ecb192efaa91fe63a09f81de902b21ec67dee270374170e0fd08db61eee9b3b43283bca8299cd362bccb16a010670e77f9017ecf0a5932'
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,23 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
No notable changes.
|
3
3
|
|
4
|
+
## [0.5.0] - 2022-06-09
|
5
|
+
### Added
|
6
|
+
- Allow symbol keys in nested attributes hashes ([#28](https://github.com/cerbos/cerbos-sdk-ruby/pull/28))
|
7
|
+
|
8
|
+
## [0.4.0] - 2022-06-03
|
9
|
+
### Added
|
10
|
+
- `on_validation_error` option to `Cerbos::Client#initialize` ([#22](https://github.com/cerbos/cerbos-sdk-ruby/pull/22))
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
- Minor documentation fixes ([#21](https://github.com/cerbos/cerbos-sdk-ruby/pull/21))
|
14
|
+
|
15
|
+
## [0.3.0] - 2022-05-13
|
16
|
+
### Added
|
17
|
+
- More helper methods ([#11](https://github.com/cerbos/cerbos-sdk-ruby/pull/11))
|
18
|
+
- `Cerbos::Client#allow?` for checking a single action on a resource
|
19
|
+
- `Cerbos::Output::CheckResources#allow_all?` and `Cerbos::Output::CheckResources::Result#allow_all?` for checking if all input actions were allowed
|
20
|
+
|
4
21
|
## [0.2.0] - 2022-05-12
|
5
22
|
### Changed
|
6
23
|
- Increased `grpc` version requirement to 1.46+ to avoid [installing a native gem compiled for `x86_64-darwin` on `arm64-darwin`](https://github.com/grpc/grpc/issues/29100) ([#8](https://github.com/cerbos/cerbos-sdk-ruby/pull/8))
|
@@ -9,6 +26,9 @@ No notable changes.
|
|
9
26
|
### Added
|
10
27
|
- Initial implementation of `Cerbos::Client` ([#2](https://github.com/cerbos/cerbos-sdk-ruby/pull/2))
|
11
28
|
|
12
|
-
[Unreleased]: https://github.com/cerbos/cerbos-sdk-ruby/compare/v0.
|
29
|
+
[Unreleased]: https://github.com/cerbos/cerbos-sdk-ruby/compare/v0.5.0...HEAD
|
30
|
+
[0.5.0]: https://github.com/cerbos/cerbos-sdk-ruby/compare/v0.4.0...v0.5.0
|
31
|
+
[0.4.0]: https://github.com/cerbos/cerbos-sdk-ruby/compare/v0.3.0...v0.4.0
|
32
|
+
[0.3.0]: https://github.com/cerbos/cerbos-sdk-ruby/compare/v0.2.0...v0.3.0
|
13
33
|
[0.2.0]: https://github.com/cerbos/cerbos-sdk-ruby/compare/v0.1.0...v0.2.0
|
14
34
|
[0.1.0]: https://github.com/cerbos/cerbos-sdk-ruby/compare/4481009e9dec2e1e6a2df8ea2f828690ceabbefc...v0.1.0
|
data/README.md
CHANGED
@@ -53,3 +53,13 @@ decision.allow?("edit") # => false
|
|
53
53
|
```
|
54
54
|
|
55
55
|
For more details, [see the `Client` documentation](https://www.rubydoc.info/gems/cerbos/Cerbos/Client).
|
56
|
+
|
57
|
+
## Further reading
|
58
|
+
|
59
|
+
- [API reference](https://www.rubydoc.info/gems/cerbos/Cerbos)
|
60
|
+
- [Cerbos documentation](https://docs.cerbos.dev)
|
61
|
+
|
62
|
+
## Get help
|
63
|
+
|
64
|
+
- [Join the Cerbos community on Slack](http://go.cerbos.io/slack)
|
65
|
+
- [Email us at help@cerbos.dev](mailto:help@cerbos.dev)
|
data/lib/cerbos/client.rb
CHANGED
@@ -9,9 +9,10 @@ module Cerbos
|
|
9
9
|
class Client
|
10
10
|
# Create a client for interacting with the Cerbos PDP server over gRPC.
|
11
11
|
#
|
12
|
-
# @param target [String] Cerbos PDP server address (`"host"
|
12
|
+
# @param target [String] Cerbos PDP server address (`"host"`, `"host:port"`, or `"unix:/path/to/socket"`).
|
13
13
|
# @param tls [TLS, MutualTLS, false] gRPC connection encryption settings (`false` for plaintext).
|
14
14
|
# @param grpc_channel_args [Hash{String, Symbol => String, Integer}] low-level settings for the gRPC channel (see [available keys in the gRPC documentation](https://grpc.github.io/grpc/core/group__grpc__arg__keys.html)).
|
15
|
+
# @param on_validation_error [:return, :raise, #call] action to take when input fails schema validation (`:return` to return the validation errors in the response, `:raise` to raise {Error::ValidationFailed}, or a callback to invoke).
|
15
16
|
# @param playground_instance [String, nil] identifier of the playground instance to use when prototyping against the hosted demo PDP.
|
16
17
|
# @param timeout [Numeric, nil] timeout for gRPC calls, in seconds (`nil` to never time out).
|
17
18
|
#
|
@@ -23,7 +24,15 @@ module Cerbos
|
|
23
24
|
#
|
24
25
|
# @example Connect to the hosted demo PDP to experiment [in the playground](https://play.cerbos.dev)
|
25
26
|
# client = Cerbos::Client.new("demo-pdp.cerbos.cloud", tls: Cerbos::TLS.new, playground_instance: "gE623b0180QlsG5a4QIN6UOZ6f3iSFW2")
|
26
|
-
|
27
|
+
#
|
28
|
+
# @example Raise an error when input fails schema validation
|
29
|
+
# client = Cerbos::Client.new("localhost:3593", tls: false, on_validation_error: :raise)
|
30
|
+
#
|
31
|
+
# @example Invoke a callback when input fails schema validation
|
32
|
+
# client = Cerbos::Client.new("localhost:3593", tls: false, on_validation_error: ->(validation_errors) { do_something_with validation_errors })
|
33
|
+
def initialize(target, tls:, grpc_channel_args: {}, on_validation_error: :return, playground_instance: nil, timeout: nil)
|
34
|
+
@on_validation_error = on_validation_error
|
35
|
+
|
27
36
|
handle_errors do
|
28
37
|
credentials = tls ? tls.to_channel_credentials : :this_channel_is_insecure
|
29
38
|
|
@@ -44,11 +53,37 @@ module Cerbos
|
|
44
53
|
end
|
45
54
|
end
|
46
55
|
|
56
|
+
# Check if a principal is allowed to perform an action on a resource.
|
57
|
+
#
|
58
|
+
# @param principal [Input::Principal, Hash] the principal to check.
|
59
|
+
# @param resource [Input::Resource, Hash] the resource to check.
|
60
|
+
# @param action [String] the action to check.
|
61
|
+
# @param aux_data [Input::AuxData, Hash, nil] auxiliary data.
|
62
|
+
# @param request_id [String] identifier for tracing the request.
|
63
|
+
#
|
64
|
+
# @return [Boolean]
|
65
|
+
#
|
66
|
+
# @example
|
67
|
+
# client.allow?(
|
68
|
+
# principal: {id: "user@example.com", roles: ["USER"]},
|
69
|
+
# resource: {kind: "document", id: "1"},
|
70
|
+
# action: "view"
|
71
|
+
# ) # => true
|
72
|
+
def allow?(principal:, resource:, action:, aux_data: nil, request_id: SecureRandom.uuid)
|
73
|
+
check_resource(
|
74
|
+
principal: principal,
|
75
|
+
resource: resource,
|
76
|
+
actions: [action],
|
77
|
+
aux_data: aux_data,
|
78
|
+
request_id: request_id
|
79
|
+
).allow?(action)
|
80
|
+
end
|
81
|
+
|
47
82
|
# Check a principal's permissions on a resource.
|
48
83
|
#
|
49
84
|
# @param principal [Input::Principal, Hash] the principal to check.
|
50
85
|
# @param resource [Input::Resource, Hash] the resource to check.
|
51
|
-
# @param actions [
|
86
|
+
# @param actions [Array<String>] the actions to check.
|
52
87
|
# @param aux_data [Input::AuxData, Hash, nil] auxiliary data.
|
53
88
|
# @param include_metadata [Boolean] `true` to include additional metadata ({Output::CheckResources::Result::Metadata}) in the results.
|
54
89
|
# @param request_id [String] identifier for tracing the request.
|
@@ -100,7 +135,7 @@ module Cerbos
|
|
100
135
|
# ]
|
101
136
|
# )
|
102
137
|
#
|
103
|
-
#
|
138
|
+
# decision.allow?(resource: {kind: "document", id: "1"}, action: "view") # => true
|
104
139
|
def check_resources(principal:, resources:, aux_data: nil, include_metadata: false, request_id: SecureRandom.uuid)
|
105
140
|
handle_errors do
|
106
141
|
request = Protobuf::Cerbos::Request::V1::CheckResourcesRequest.new(
|
@@ -113,7 +148,9 @@ module Cerbos
|
|
113
148
|
|
114
149
|
response = perform_request(@cerbos_service, :check_resources, request)
|
115
150
|
|
116
|
-
Output::CheckResources.from_protobuf(response)
|
151
|
+
Output::CheckResources.from_protobuf(response).tap do |output|
|
152
|
+
handle_validation_errors output
|
153
|
+
end
|
117
154
|
end
|
118
155
|
end
|
119
156
|
|
@@ -181,6 +218,17 @@ module Cerbos
|
|
181
218
|
raise Error, error.message
|
182
219
|
end
|
183
220
|
|
221
|
+
def handle_validation_errors(output)
|
222
|
+
return if @on_validation_error == :return
|
223
|
+
|
224
|
+
validation_errors = output.results.flat_map(&:validation_errors)
|
225
|
+
return if validation_errors.empty?
|
226
|
+
|
227
|
+
raise Error::ValidationFailed.new(validation_errors) if @on_validation_error == :raise
|
228
|
+
|
229
|
+
@on_validation_error.call validation_errors
|
230
|
+
end
|
231
|
+
|
184
232
|
def perform_request(service, rpc, request)
|
185
233
|
service.public_send(rpc, request)
|
186
234
|
end
|
data/lib/cerbos/error.rb
CHANGED
@@ -3,6 +3,21 @@
|
|
3
3
|
module Cerbos
|
4
4
|
# Base type for errors thrown by the `cerbos` gem.
|
5
5
|
class Error < StandardError
|
6
|
+
# Input failed schema validation.
|
7
|
+
class ValidationFailed < Error
|
8
|
+
# The validation errors that occurred.
|
9
|
+
#
|
10
|
+
# @return [Array<Output::CheckResources::Result::ValidationError>]
|
11
|
+
attr_reader :validation_errors
|
12
|
+
|
13
|
+
# @private
|
14
|
+
def initialize(validation_errors)
|
15
|
+
super "Input failed schema validation"
|
16
|
+
|
17
|
+
@validation_errors = validation_errors
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
6
21
|
# An error indicating an unsuccessful gRPC operation.
|
7
22
|
class NotOK < Error
|
8
23
|
# The gRPC status code.
|
@@ -33,7 +48,7 @@ module Cerbos
|
|
33
48
|
|
34
49
|
# @private
|
35
50
|
def initialize(code:, details:, metadata: {})
|
36
|
-
super
|
51
|
+
super "gRPC error #{code}: #{details}"
|
37
52
|
|
38
53
|
@code = code
|
39
54
|
@details = details
|
@@ -22,7 +22,20 @@ module Cerbos
|
|
22
22
|
|
23
23
|
# @private
|
24
24
|
def to_protobuf
|
25
|
-
@attributes.transform_values { |value| Google::Protobuf::Value.from_ruby(value) }
|
25
|
+
@attributes.transform_values { |value| Google::Protobuf::Value.from_ruby(deep_stringify_keys(value)) }
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def deep_stringify_keys(object)
|
31
|
+
case object
|
32
|
+
when Hash
|
33
|
+
object.each_with_object({}) { |(key, value), result| result[key.to_s] = deep_stringify_keys(value) }
|
34
|
+
when Array
|
35
|
+
object.map { |value| deep_stringify_keys(value) }
|
36
|
+
else
|
37
|
+
object
|
38
|
+
end
|
26
39
|
end
|
27
40
|
end
|
28
41
|
end
|
@@ -43,7 +43,7 @@ module Cerbos
|
|
43
43
|
|
44
44
|
# @private
|
45
45
|
def to_protobuf
|
46
|
-
Protobuf::Cerbos::Engine::V1::
|
46
|
+
Protobuf::Cerbos::Engine::V1::PlanResourcesInput::Resource.new(
|
47
47
|
kind: kind,
|
48
48
|
attr: attributes.to_protobuf,
|
49
49
|
policy_version: policy_version,
|
@@ -23,7 +23,7 @@ module Cerbos
|
|
23
23
|
)
|
24
24
|
end
|
25
25
|
|
26
|
-
# Check the policy decision was that an action should be allowed for a resource.
|
26
|
+
# Check if the policy decision was that an action should be allowed for a resource.
|
27
27
|
#
|
28
28
|
# @param resource [Input::Resource, Hash] the resource search criteria (see {#find_result}).
|
29
29
|
# @param action [String] the action to check.
|
@@ -34,6 +34,16 @@ module Cerbos
|
|
34
34
|
find_result(resource)&.allow?(action)
|
35
35
|
end
|
36
36
|
|
37
|
+
# Check if the policy decision was that all input actions should be allowed for a resource.
|
38
|
+
#
|
39
|
+
# @param resource [Input::Resource, Hash] the resource search criteria (see {#find_result}).
|
40
|
+
#
|
41
|
+
# @return [Boolean]
|
42
|
+
# @return [nil] if the resource is not present in the results.
|
43
|
+
def allow_all?(resource)
|
44
|
+
find_result(resource)&.allow_all?
|
45
|
+
end
|
46
|
+
|
37
47
|
# Find an item from {#results} by resource.
|
38
48
|
#
|
39
49
|
# @param resource [Input::Resource, Hash] the resource search criteria. `kind` and `id` are required; `policy_version` and `scope` may also be provided if needed to distinguish between multiple results for the same `kind` and `id`.
|
@@ -95,6 +105,13 @@ module Cerbos
|
|
95
105
|
actions[action]&.eql?(:EFFECT_ALLOW)
|
96
106
|
end
|
97
107
|
|
108
|
+
# Check if the policy decision was that all input actions should be allowed for the resource.
|
109
|
+
#
|
110
|
+
# @return [Boolean]
|
111
|
+
def allow_all?
|
112
|
+
actions.each_value.all? { |effect| effect == :EFFECT_ALLOW }
|
113
|
+
end
|
114
|
+
|
98
115
|
# List the actions that should be allowed for the resource.
|
99
116
|
#
|
100
117
|
# @return [Array<String>]
|
@@ -23,6 +23,20 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
23
23
|
repeated :inputs, :message, 4, "cerbos.engine.v1.CheckInput", json_name: "inputs"
|
24
24
|
repeated :outputs, :message, 5, "cerbos.engine.v1.CheckOutput", json_name: "outputs"
|
25
25
|
optional :error, :string, 6, json_name: "error"
|
26
|
+
oneof :method do
|
27
|
+
optional :check_resources, :message, 7, "cerbos.audit.v1.DecisionLogEntry.CheckResources", json_name: "checkResources"
|
28
|
+
optional :plan_resources, :message, 8, "cerbos.audit.v1.DecisionLogEntry.PlanResources", json_name: "planResources"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
add_message "cerbos.audit.v1.DecisionLogEntry.CheckResources" do
|
32
|
+
repeated :inputs, :message, 1, "cerbos.engine.v1.CheckInput", json_name: "inputs"
|
33
|
+
repeated :outputs, :message, 2, "cerbos.engine.v1.CheckOutput", json_name: "outputs"
|
34
|
+
optional :error, :string, 3, json_name: "error"
|
35
|
+
end
|
36
|
+
add_message "cerbos.audit.v1.DecisionLogEntry.PlanResources" do
|
37
|
+
optional :input, :message, 1, "cerbos.engine.v1.PlanResourcesInput", json_name: "input"
|
38
|
+
optional :output, :message, 2, "cerbos.engine.v1.PlanResourcesOutput", json_name: "output"
|
39
|
+
optional :error, :string, 3, json_name: "error"
|
26
40
|
end
|
27
41
|
add_message "cerbos.audit.v1.MetaValues" do
|
28
42
|
repeated :values, :string, 1, json_name: "values"
|
@@ -41,6 +55,8 @@ module Cerbos::Protobuf::Cerbos
|
|
41
55
|
module V1
|
42
56
|
AccessLogEntry = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.audit.v1.AccessLogEntry").msgclass
|
43
57
|
DecisionLogEntry = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.audit.v1.DecisionLogEntry").msgclass
|
58
|
+
DecisionLogEntry::CheckResources = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.audit.v1.DecisionLogEntry.CheckResources").msgclass
|
59
|
+
DecisionLogEntry::PlanResources = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.audit.v1.DecisionLogEntry.PlanResources").msgclass
|
44
60
|
MetaValues = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.audit.v1.MetaValues").msgclass
|
45
61
|
Peer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.audit.v1.Peer").msgclass
|
46
62
|
end
|
@@ -13,20 +13,69 @@ require 'cerbos/protobuf/validate/validate_pb'
|
|
13
13
|
|
14
14
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
15
15
|
add_file("cerbos/engine/v1/engine.proto", :syntax => :proto3) do
|
16
|
-
add_message "cerbos.engine.v1.
|
16
|
+
add_message "cerbos.engine.v1.PlanResourcesInput" do
|
17
17
|
optional :request_id, :string, 1, json_name: "requestId"
|
18
18
|
optional :action, :string, 2, json_name: "action"
|
19
19
|
optional :principal, :message, 3, "cerbos.engine.v1.Principal", json_name: "principal"
|
20
|
-
optional :resource, :message, 4, "cerbos.engine.v1.
|
20
|
+
optional :resource, :message, 4, "cerbos.engine.v1.PlanResourcesInput.Resource", json_name: "resource"
|
21
21
|
optional :aux_data, :message, 5, "cerbos.engine.v1.AuxData", json_name: "auxData"
|
22
22
|
optional :include_meta, :bool, 6, json_name: "includeMeta"
|
23
23
|
end
|
24
|
-
add_message "cerbos.engine.v1.
|
24
|
+
add_message "cerbos.engine.v1.PlanResourcesInput.Resource" do
|
25
25
|
optional :kind, :string, 1, json_name: "kind"
|
26
26
|
map :attr, :string, :message, 2, "google.protobuf.Value"
|
27
27
|
optional :policy_version, :string, 3, json_name: "policyVersion"
|
28
28
|
optional :scope, :string, 4, json_name: "scope"
|
29
29
|
end
|
30
|
+
add_message "cerbos.engine.v1.PlanResourcesAst" do
|
31
|
+
optional :filter_ast, :message, 1, "cerbos.engine.v1.PlanResourcesAst.Node", json_name: "filterAst"
|
32
|
+
end
|
33
|
+
add_message "cerbos.engine.v1.PlanResourcesAst.Node" do
|
34
|
+
oneof :node do
|
35
|
+
optional :logical_operation, :message, 1, "cerbos.engine.v1.PlanResourcesAst.LogicalOperation", json_name: "logicalOperation"
|
36
|
+
optional :expression, :message, 2, "google.api.expr.v1alpha1.CheckedExpr", json_name: "expression"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
add_message "cerbos.engine.v1.PlanResourcesAst.LogicalOperation" do
|
40
|
+
optional :operator, :enum, 1, "cerbos.engine.v1.PlanResourcesAst.LogicalOperation.Operator", json_name: "operator"
|
41
|
+
repeated :nodes, :message, 2, "cerbos.engine.v1.PlanResourcesAst.Node", json_name: "nodes"
|
42
|
+
end
|
43
|
+
add_enum "cerbos.engine.v1.PlanResourcesAst.LogicalOperation.Operator" do
|
44
|
+
value :OPERATOR_UNSPECIFIED, 0
|
45
|
+
value :OPERATOR_AND, 1
|
46
|
+
value :OPERATOR_OR, 2
|
47
|
+
value :OPERATOR_NOT, 3
|
48
|
+
end
|
49
|
+
add_message "cerbos.engine.v1.PlanResourcesFilter" do
|
50
|
+
optional :kind, :enum, 1, "cerbos.engine.v1.PlanResourcesFilter.Kind", json_name: "kind"
|
51
|
+
optional :condition, :message, 2, "cerbos.engine.v1.PlanResourcesFilter.Expression.Operand", json_name: "condition"
|
52
|
+
end
|
53
|
+
add_message "cerbos.engine.v1.PlanResourcesFilter.Expression" do
|
54
|
+
optional :operator, :string, 1, json_name: "operator"
|
55
|
+
repeated :operands, :message, 2, "cerbos.engine.v1.PlanResourcesFilter.Expression.Operand", json_name: "operands"
|
56
|
+
end
|
57
|
+
add_message "cerbos.engine.v1.PlanResourcesFilter.Expression.Operand" do
|
58
|
+
oneof :node do
|
59
|
+
optional :value, :message, 1, "google.protobuf.Value", json_name: "value"
|
60
|
+
optional :expression, :message, 2, "cerbos.engine.v1.PlanResourcesFilter.Expression", json_name: "expression"
|
61
|
+
optional :variable, :string, 3, json_name: "variable"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
add_enum "cerbos.engine.v1.PlanResourcesFilter.Kind" do
|
65
|
+
value :KIND_UNSPECIFIED, 0
|
66
|
+
value :KIND_ALWAYS_ALLOWED, 1
|
67
|
+
value :KIND_ALWAYS_DENIED, 2
|
68
|
+
value :KIND_CONDITIONAL, 3
|
69
|
+
end
|
70
|
+
add_message "cerbos.engine.v1.PlanResourcesOutput" do
|
71
|
+
optional :request_id, :string, 1, json_name: "requestId"
|
72
|
+
optional :action, :string, 2, json_name: "action"
|
73
|
+
optional :kind, :string, 3, json_name: "kind"
|
74
|
+
optional :policy_version, :string, 4, json_name: "policyVersion"
|
75
|
+
optional :scope, :string, 5, json_name: "scope"
|
76
|
+
optional :filter, :message, 6, "cerbos.engine.v1.PlanResourcesFilter", json_name: "filter"
|
77
|
+
optional :filter_debug, :string, 7, json_name: "filterDebug"
|
78
|
+
end
|
30
79
|
add_message "cerbos.engine.v1.CheckInput" do
|
31
80
|
optional :request_id, :string, 1, json_name: "requestId"
|
32
81
|
optional :resource, :message, 2, "cerbos.engine.v1.Resource", json_name: "resource"
|
@@ -46,30 +95,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
46
95
|
optional :policy, :string, 2, json_name: "policy"
|
47
96
|
optional :scope, :string, 3, json_name: "scope"
|
48
97
|
end
|
49
|
-
add_message "cerbos.engine.v1.PlanResourcesOutput" do
|
50
|
-
optional :request_id, :string, 1, json_name: "requestId"
|
51
|
-
optional :action, :string, 2, json_name: "action"
|
52
|
-
optional :kind, :string, 3, json_name: "kind"
|
53
|
-
optional :policy_version, :string, 4, json_name: "policyVersion"
|
54
|
-
optional :scope, :string, 5, json_name: "scope"
|
55
|
-
optional :filter, :message, 6, "cerbos.engine.v1.PlanResourcesOutput.Node", json_name: "filter"
|
56
|
-
end
|
57
|
-
add_message "cerbos.engine.v1.PlanResourcesOutput.Node" do
|
58
|
-
oneof :node do
|
59
|
-
optional :logical_operation, :message, 1, "cerbos.engine.v1.PlanResourcesOutput.LogicalOperation", json_name: "logicalOperation"
|
60
|
-
optional :expression, :message, 2, "google.api.expr.v1alpha1.CheckedExpr", json_name: "expression"
|
61
|
-
end
|
62
|
-
end
|
63
|
-
add_message "cerbos.engine.v1.PlanResourcesOutput.LogicalOperation" do
|
64
|
-
optional :operator, :enum, 1, "cerbos.engine.v1.PlanResourcesOutput.LogicalOperation.Operator", json_name: "operator"
|
65
|
-
repeated :nodes, :message, 2, "cerbos.engine.v1.PlanResourcesOutput.Node", json_name: "nodes"
|
66
|
-
end
|
67
|
-
add_enum "cerbos.engine.v1.PlanResourcesOutput.LogicalOperation.Operator" do
|
68
|
-
value :OPERATOR_UNSPECIFIED, 0
|
69
|
-
value :OPERATOR_AND, 1
|
70
|
-
value :OPERATOR_OR, 2
|
71
|
-
value :OPERATOR_NOT, 3
|
72
|
-
end
|
73
98
|
add_message "cerbos.engine.v1.Resource" do
|
74
99
|
optional :kind, :string, 1, json_name: "kind"
|
75
100
|
optional :policy_version, :string, 2, json_name: "policyVersion"
|
@@ -143,15 +168,20 @@ end
|
|
143
168
|
module Cerbos::Protobuf::Cerbos
|
144
169
|
module Engine
|
145
170
|
module V1
|
146
|
-
|
147
|
-
|
171
|
+
PlanResourcesInput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesInput").msgclass
|
172
|
+
PlanResourcesInput::Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesInput.Resource").msgclass
|
173
|
+
PlanResourcesAst = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesAst").msgclass
|
174
|
+
PlanResourcesAst::Node = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesAst.Node").msgclass
|
175
|
+
PlanResourcesAst::LogicalOperation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesAst.LogicalOperation").msgclass
|
176
|
+
PlanResourcesAst::LogicalOperation::Operator = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesAst.LogicalOperation.Operator").enummodule
|
177
|
+
PlanResourcesFilter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesFilter").msgclass
|
178
|
+
PlanResourcesFilter::Expression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesFilter.Expression").msgclass
|
179
|
+
PlanResourcesFilter::Expression::Operand = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesFilter.Expression.Operand").msgclass
|
180
|
+
PlanResourcesFilter::Kind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesFilter.Kind").enummodule
|
181
|
+
PlanResourcesOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesOutput").msgclass
|
148
182
|
CheckInput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.CheckInput").msgclass
|
149
183
|
CheckOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.CheckOutput").msgclass
|
150
184
|
CheckOutput::ActionEffect = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.CheckOutput.ActionEffect").msgclass
|
151
|
-
PlanResourcesOutput = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesOutput").msgclass
|
152
|
-
PlanResourcesOutput::Node = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesOutput.Node").msgclass
|
153
|
-
PlanResourcesOutput::LogicalOperation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesOutput.LogicalOperation").msgclass
|
154
|
-
PlanResourcesOutput::LogicalOperation::Operator = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.PlanResourcesOutput.LogicalOperation.Operator").enummodule
|
155
185
|
Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.Resource").msgclass
|
156
186
|
Principal = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.Principal").msgclass
|
157
187
|
AuxData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.engine.v1.AuxData").msgclass
|
@@ -19,7 +19,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
19
19
|
optional :request_id, :string, 1, json_name: "requestId"
|
20
20
|
optional :action, :string, 2, json_name: "action"
|
21
21
|
optional :principal, :message, 3, "cerbos.engine.v1.Principal", json_name: "principal"
|
22
|
-
optional :resource, :message, 4, "cerbos.engine.v1.
|
22
|
+
optional :resource, :message, 4, "cerbos.engine.v1.PlanResourcesInput.Resource", json_name: "resource"
|
23
23
|
optional :aux_data, :message, 5, "cerbos.request.v1.AuxData", json_name: "auxData"
|
24
24
|
optional :include_meta, :bool, 6, json_name: "includeMeta"
|
25
25
|
end
|
@@ -5,10 +5,10 @@ require 'google/protobuf'
|
|
5
5
|
|
6
6
|
require 'cerbos/protobuf/cerbos/audit/v1/audit_pb'
|
7
7
|
require 'cerbos/protobuf/cerbos/effect/v1/effect_pb'
|
8
|
+
require 'cerbos/protobuf/cerbos/engine/v1/engine_pb'
|
8
9
|
require 'cerbos/protobuf/cerbos/policy/v1/policy_pb'
|
9
10
|
require 'cerbos/protobuf/cerbos/schema/v1/schema_pb'
|
10
11
|
require 'google/protobuf/empty_pb'
|
11
|
-
require 'google/protobuf/struct_pb'
|
12
12
|
require 'cerbos/protobuf/protoc-gen-openapiv2/options/annotations_pb'
|
13
13
|
|
14
14
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
@@ -18,30 +18,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
18
18
|
optional :action, :string, 2, json_name: "action"
|
19
19
|
optional :resource_kind, :string, 3, json_name: "resourceKind"
|
20
20
|
optional :policy_version, :string, 4, json_name: "policyVersion"
|
21
|
-
optional :filter, :message, 5, "cerbos.
|
21
|
+
optional :filter, :message, 5, "cerbos.engine.v1.PlanResourcesFilter", json_name: "filter"
|
22
22
|
optional :meta, :message, 6, "cerbos.response.v1.PlanResourcesResponse.Meta", json_name: "meta"
|
23
23
|
end
|
24
|
-
add_message "cerbos.response.v1.PlanResourcesResponse.Expression" do
|
25
|
-
optional :operator, :string, 1, json_name: "operator"
|
26
|
-
repeated :operands, :message, 2, "cerbos.response.v1.PlanResourcesResponse.Expression.Operand", json_name: "operands"
|
27
|
-
end
|
28
|
-
add_message "cerbos.response.v1.PlanResourcesResponse.Expression.Operand" do
|
29
|
-
oneof :node do
|
30
|
-
optional :value, :message, 1, "google.protobuf.Value", json_name: "value"
|
31
|
-
optional :expression, :message, 2, "cerbos.response.v1.PlanResourcesResponse.Expression", json_name: "expression"
|
32
|
-
optional :variable, :string, 3, json_name: "variable"
|
33
|
-
end
|
34
|
-
end
|
35
|
-
add_message "cerbos.response.v1.PlanResourcesResponse.Filter" do
|
36
|
-
optional :kind, :enum, 1, "cerbos.response.v1.PlanResourcesResponse.Filter.Kind", json_name: "kind"
|
37
|
-
optional :condition, :message, 2, "cerbos.response.v1.PlanResourcesResponse.Expression.Operand", json_name: "condition"
|
38
|
-
end
|
39
|
-
add_enum "cerbos.response.v1.PlanResourcesResponse.Filter.Kind" do
|
40
|
-
value :KIND_UNSPECIFIED, 0
|
41
|
-
value :KIND_ALWAYS_ALLOWED, 1
|
42
|
-
value :KIND_ALWAYS_DENIED, 2
|
43
|
-
value :KIND_CONDITIONAL, 3
|
44
|
-
end
|
45
24
|
add_message "cerbos.response.v1.PlanResourcesResponse.Meta" do
|
46
25
|
optional :filter_debug, :string, 1, json_name: "filterDebug"
|
47
26
|
optional :matched_scope, :string, 2, json_name: "matchedScope"
|
@@ -189,10 +168,6 @@ module Cerbos::Protobuf::Cerbos
|
|
189
168
|
module Response
|
190
169
|
module V1
|
191
170
|
PlanResourcesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.response.v1.PlanResourcesResponse").msgclass
|
192
|
-
PlanResourcesResponse::Expression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.response.v1.PlanResourcesResponse.Expression").msgclass
|
193
|
-
PlanResourcesResponse::Expression::Operand = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.response.v1.PlanResourcesResponse.Expression.Operand").msgclass
|
194
|
-
PlanResourcesResponse::Filter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.response.v1.PlanResourcesResponse.Filter").msgclass
|
195
|
-
PlanResourcesResponse::Filter::Kind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.response.v1.PlanResourcesResponse.Filter.Kind").enummodule
|
196
171
|
PlanResourcesResponse::Meta = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.response.v1.PlanResourcesResponse.Meta").msgclass
|
197
172
|
CheckResourceSetResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.response.v1.CheckResourceSetResponse").msgclass
|
198
173
|
CheckResourceSetResponse::ActionEffectMap = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.response.v1.CheckResourceSetResponse.ActionEffectMap").msgclass
|
@@ -7,93 +7,117 @@ require 'google/protobuf/duration_pb'
|
|
7
7
|
|
8
8
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
9
9
|
add_file("cerbos/telemetry/v1/telemetry.proto", :syntax => :proto3) do
|
10
|
-
add_message "cerbos.telemetry.v1.
|
10
|
+
add_message "cerbos.telemetry.v1.ServerLaunch" do
|
11
11
|
optional :version, :string, 1, json_name: "version"
|
12
|
-
optional :source, :message, 2, "cerbos.telemetry.v1.
|
13
|
-
optional :features, :message, 3, "cerbos.telemetry.v1.
|
14
|
-
optional :stats, :message, 4, "cerbos.telemetry.v1.
|
12
|
+
optional :source, :message, 2, "cerbos.telemetry.v1.ServerLaunch.Source", json_name: "source"
|
13
|
+
optional :features, :message, 3, "cerbos.telemetry.v1.ServerLaunch.Features", json_name: "features"
|
14
|
+
optional :stats, :message, 4, "cerbos.telemetry.v1.ServerLaunch.Stats", json_name: "stats"
|
15
15
|
end
|
16
|
-
add_message "cerbos.telemetry.v1.
|
16
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Cerbos" do
|
17
17
|
optional :version, :string, 1, json_name: "version"
|
18
18
|
optional :commit, :string, 2, json_name: "commit"
|
19
19
|
optional :build_date, :string, 3, json_name: "buildDate"
|
20
20
|
optional :module_version, :string, 4, json_name: "moduleVersion"
|
21
21
|
optional :module_checksum, :string, 5, json_name: "moduleChecksum"
|
22
22
|
end
|
23
|
-
add_message "cerbos.telemetry.v1.
|
24
|
-
optional :cerbos, :message, 1, "cerbos.telemetry.v1.
|
23
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Source" do
|
24
|
+
optional :cerbos, :message, 1, "cerbos.telemetry.v1.ServerLaunch.Cerbos", json_name: "cerbos"
|
25
25
|
optional :os, :string, 2, json_name: "os"
|
26
26
|
optional :arch, :string, 3, json_name: "arch"
|
27
27
|
optional :num_cpus, :uint32, 4, json_name: "numCpus"
|
28
28
|
end
|
29
|
-
add_message "cerbos.telemetry.v1.
|
30
|
-
optional :audit, :message, 1, "cerbos.telemetry.v1.
|
31
|
-
optional :schema, :message, 2, "cerbos.telemetry.v1.
|
32
|
-
optional :admin_api, :message, 3, "cerbos.telemetry.v1.
|
33
|
-
optional :storage, :message, 4, "cerbos.telemetry.v1.
|
29
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Features" do
|
30
|
+
optional :audit, :message, 1, "cerbos.telemetry.v1.ServerLaunch.Features.Audit", json_name: "audit"
|
31
|
+
optional :schema, :message, 2, "cerbos.telemetry.v1.ServerLaunch.Features.Schema", json_name: "schema"
|
32
|
+
optional :admin_api, :message, 3, "cerbos.telemetry.v1.ServerLaunch.Features.AdminApi", json_name: "adminApi"
|
33
|
+
optional :storage, :message, 4, "cerbos.telemetry.v1.ServerLaunch.Features.Storage", json_name: "storage"
|
34
34
|
end
|
35
|
-
add_message "cerbos.telemetry.v1.
|
35
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Features.Audit" do
|
36
36
|
optional :enabled, :bool, 1, json_name: "enabled"
|
37
37
|
optional :backend, :string, 2, json_name: "backend"
|
38
38
|
end
|
39
|
-
add_message "cerbos.telemetry.v1.
|
39
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Features.Schema" do
|
40
40
|
optional :enforcement, :string, 1, json_name: "enforcement"
|
41
41
|
end
|
42
|
-
add_message "cerbos.telemetry.v1.
|
42
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Features.AdminApi" do
|
43
43
|
optional :enabled, :bool, 1, json_name: "enabled"
|
44
44
|
end
|
45
|
-
add_message "cerbos.telemetry.v1.
|
45
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Features.Storage" do
|
46
46
|
optional :driver, :string, 1, json_name: "driver"
|
47
47
|
oneof :store do
|
48
|
-
optional :disk, :message, 2, "cerbos.telemetry.v1.
|
49
|
-
optional :git, :message, 3, "cerbos.telemetry.v1.
|
50
|
-
optional :blob, :message, 4, "cerbos.telemetry.v1.
|
48
|
+
optional :disk, :message, 2, "cerbos.telemetry.v1.ServerLaunch.Features.Storage.Disk", json_name: "disk"
|
49
|
+
optional :git, :message, 3, "cerbos.telemetry.v1.ServerLaunch.Features.Storage.Git", json_name: "git"
|
50
|
+
optional :blob, :message, 4, "cerbos.telemetry.v1.ServerLaunch.Features.Storage.Blob", json_name: "blob"
|
51
51
|
end
|
52
52
|
end
|
53
|
-
add_message "cerbos.telemetry.v1.
|
53
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Features.Storage.Disk" do
|
54
54
|
optional :watch, :bool, 1, json_name: "watch"
|
55
55
|
end
|
56
|
-
add_message "cerbos.telemetry.v1.
|
56
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Features.Storage.Git" do
|
57
57
|
optional :protocol, :string, 1, json_name: "protocol"
|
58
58
|
optional :auth, :bool, 2, json_name: "auth"
|
59
59
|
optional :poll_interval, :message, 3, "google.protobuf.Duration", json_name: "pollInterval"
|
60
60
|
end
|
61
|
-
add_message "cerbos.telemetry.v1.
|
61
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Features.Storage.Blob" do
|
62
62
|
optional :provider, :string, 1, json_name: "provider"
|
63
63
|
optional :poll_interval, :message, 2, "google.protobuf.Duration", json_name: "pollInterval"
|
64
64
|
end
|
65
|
-
add_message "cerbos.telemetry.v1.
|
66
|
-
optional :policy, :message, 1, "cerbos.telemetry.v1.
|
67
|
-
optional :schema, :message, 2, "cerbos.telemetry.v1.
|
65
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Stats" do
|
66
|
+
optional :policy, :message, 1, "cerbos.telemetry.v1.ServerLaunch.Stats.Policy", json_name: "policy"
|
67
|
+
optional :schema, :message, 2, "cerbos.telemetry.v1.ServerLaunch.Stats.Schema", json_name: "schema"
|
68
68
|
end
|
69
|
-
add_message "cerbos.telemetry.v1.
|
69
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Stats.Policy" do
|
70
70
|
map :count, :string, :uint32, 1
|
71
71
|
map :avg_rule_count, :string, :double, 2
|
72
72
|
map :avg_condition_count, :string, :double, 3
|
73
73
|
end
|
74
|
-
add_message "cerbos.telemetry.v1.
|
74
|
+
add_message "cerbos.telemetry.v1.ServerLaunch.Stats.Schema" do
|
75
75
|
optional :count, :uint32, 1, json_name: "count"
|
76
76
|
end
|
77
|
+
add_message "cerbos.telemetry.v1.ServerStop" do
|
78
|
+
optional :version, :string, 1, json_name: "version"
|
79
|
+
optional :uptime, :message, 2, "google.protobuf.Duration", json_name: "uptime"
|
80
|
+
optional :requests_total, :uint64, 3, json_name: "requestsTotal"
|
81
|
+
end
|
82
|
+
add_message "cerbos.telemetry.v1.Event" do
|
83
|
+
oneof :data do
|
84
|
+
optional :api_activity, :message, 1, "cerbos.telemetry.v1.Event.ApiActivity", json_name: "apiActivity"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
add_message "cerbos.telemetry.v1.Event.CountStat" do
|
88
|
+
optional :key, :string, 1, json_name: "key"
|
89
|
+
optional :count, :uint64, 2, json_name: "count"
|
90
|
+
end
|
91
|
+
add_message "cerbos.telemetry.v1.Event.ApiActivity" do
|
92
|
+
optional :version, :string, 1, json_name: "version"
|
93
|
+
optional :uptime, :message, 2, "google.protobuf.Duration", json_name: "uptime"
|
94
|
+
repeated :method_calls, :message, 3, "cerbos.telemetry.v1.Event.CountStat", json_name: "methodCalls"
|
95
|
+
repeated :user_agents, :message, 4, "cerbos.telemetry.v1.Event.CountStat", json_name: "userAgents"
|
96
|
+
end
|
77
97
|
end
|
78
98
|
end
|
79
99
|
|
80
100
|
module Cerbos::Protobuf::Cerbos
|
81
101
|
module Telemetry
|
82
102
|
module V1
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
103
|
+
ServerLaunch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch").msgclass
|
104
|
+
ServerLaunch::Cerbos = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Cerbos").msgclass
|
105
|
+
ServerLaunch::Source = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Source").msgclass
|
106
|
+
ServerLaunch::Features = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Features").msgclass
|
107
|
+
ServerLaunch::Features::Audit = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Features.Audit").msgclass
|
108
|
+
ServerLaunch::Features::Schema = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Features.Schema").msgclass
|
109
|
+
ServerLaunch::Features::AdminApi = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Features.AdminApi").msgclass
|
110
|
+
ServerLaunch::Features::Storage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Features.Storage").msgclass
|
111
|
+
ServerLaunch::Features::Storage::Disk = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Features.Storage.Disk").msgclass
|
112
|
+
ServerLaunch::Features::Storage::Git = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Features.Storage.Git").msgclass
|
113
|
+
ServerLaunch::Features::Storage::Blob = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Features.Storage.Blob").msgclass
|
114
|
+
ServerLaunch::Stats = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Stats").msgclass
|
115
|
+
ServerLaunch::Stats::Policy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Stats.Policy").msgclass
|
116
|
+
ServerLaunch::Stats::Schema = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerLaunch.Stats.Schema").msgclass
|
117
|
+
ServerStop = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.ServerStop").msgclass
|
118
|
+
Event = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.Event").msgclass
|
119
|
+
Event::CountStat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.Event.CountStat").msgclass
|
120
|
+
Event::ApiActivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("cerbos.telemetry.v1.Event.ApiActivity").msgclass
|
97
121
|
end
|
98
122
|
end
|
99
123
|
end
|
data/lib/cerbos/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cerbos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cerbos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grpc
|
@@ -81,7 +81,7 @@ licenses:
|
|
81
81
|
metadata:
|
82
82
|
bug_tracker_uri: https://github.com/cerbos/cerbos-sdk-ruby/issues
|
83
83
|
changelog_uri: https://github.com/cerbos/cerbos-sdk-ruby/blob/main/CHANGELOG.md
|
84
|
-
documentation_uri: https://www.rubydoc.info/gems/cerbos/0.
|
84
|
+
documentation_uri: https://www.rubydoc.info/gems/cerbos/0.5.0
|
85
85
|
homepage_uri: https://github.com/cerbos/cerbos-sdk-ruby
|
86
86
|
source_code_uri: https://github.com/cerbos/cerbos-sdk-ruby
|
87
87
|
rubygems_mfa_required: 'true'
|