evrblk 0.1.1 → 0.1.2
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/Gemfile +3 -5
- data/README.md +2 -4
- data/evrblk.gemspec +14 -12
- data/lib/evrblk/authn/alfa.rb +9 -9
- data/lib/evrblk/authn/base.rb +5 -11
- data/lib/evrblk/authn/bravo.rb +7 -6
- data/lib/evrblk/authn/request_signer.rb +14 -15
- data/lib/evrblk/grackle/v1beta/api_pb.rb +123 -0
- data/lib/evrblk/grackle/v1beta/api_services_pb.rb +69 -0
- data/lib/evrblk/grackle/v1beta/client.rb +235 -0
- data/lib/evrblk/hash_converter.rb +26 -27
- data/lib/evrblk/moab/v0/api_pb.rb +71 -0
- data/lib/evrblk/moab/v0/api_services_pb.rb +43 -0
- data/lib/evrblk/moab/{preview → v0}/client.rb +30 -20
- data/lib/evrblk/version.rb +1 -1
- data/lib/evrblk.rb +6 -15
- data/proto/evrblk/grackle/v1beta/api.proto +886 -0
- data/proto/{moab/preview → evrblk/moab/v0}/api.proto +93 -16
- metadata +12 -21
- data/lib/evrblk/grackle/preview/api_pb.rb +0 -71
- data/lib/evrblk/grackle/preview/api_services_pb.rb +0 -48
- data/lib/evrblk/grackle/preview/client.rb +0 -126
- data/lib/evrblk/iam/preview/api_pb.rb +0 -56
- data/lib/evrblk/iam/preview/api_services_pb.rb +0 -39
- data/lib/evrblk/iam/preview/client.rb +0 -81
- data/lib/evrblk/moab/preview/api_pb.rb +0 -63
- data/lib/evrblk/moab/preview/api_services_pb.rb +0 -41
- data/lib/evrblk/myaccount/preview/api_pb.rb +0 -25
- data/lib/evrblk/myaccount/preview/api_services_pb.rb +0 -26
- data/lib/evrblk/myaccount/preview/client.rb +0 -17
- data/proto/grackle/preview/api.proto +0 -325
- data/proto/iam/preview/api.proto +0 -230
- data/proto/myaccount/preview/api.proto +0 -68
- data/protogen.sh +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 987d5e32a3b83dc718879ed3f66c06e2cffa4b3f83635abdcac0ba7753e82540
|
|
4
|
+
data.tar.gz: ff9be1b0f73d3e787cac2fc0faee262641fd72816d70315e1295a3b259bcd181
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a12c7f5c02476e0c4b0094fd9d4e40e9dd61cd8206d0fd45211f7a438c912c3153639c5147d6dbdaf04214773bb988a9aacf41541b61c7737a6cf00cea33e2c1
|
|
7
|
+
data.tar.gz: 9d54c027e5b1e44c42f46252363f5cb2f530e355ffc548827efec993c921727a6a4280aad2576acbb66d2ed29a25b0bdc4ccdb8d335e12a0cb34cdcf3cacce2e
|
data/Gemfile
CHANGED
|
@@ -4,12 +4,12 @@ source "https://rubygems.org"
|
|
|
4
4
|
|
|
5
5
|
gemspec
|
|
6
6
|
|
|
7
|
-
gem "grpc"
|
|
8
7
|
gem "base64"
|
|
8
|
+
gem "grpc"
|
|
9
9
|
|
|
10
10
|
group :development do
|
|
11
|
-
gem "rake"
|
|
12
11
|
gem "grpc-tools"
|
|
12
|
+
gem "rake"
|
|
13
13
|
gem "test-unit"
|
|
14
14
|
|
|
15
15
|
# Rubocop changes pretty quickly: new cops get added and old cops change
|
|
@@ -17,7 +17,5 @@ group :development do
|
|
|
17
17
|
# `Gemfile.lock` checked in, so to prevent good builds from suddenly going
|
|
18
18
|
# bad, pin to a specific version number here. Try to keep this relatively
|
|
19
19
|
# up-to-date, but it's not the end of the world if it's not.
|
|
20
|
-
|
|
21
|
-
# The latest version of rubocop is only compatible with Ruby 2.7+
|
|
22
|
-
gem "rubocop", "1.57.2" if RUBY_VERSION >= "2.7"
|
|
20
|
+
gem "rubocop", "1.79.2"
|
|
23
21
|
end
|
data/README.md
CHANGED
|
@@ -14,14 +14,12 @@ require "evrblk"
|
|
|
14
14
|
api_key_id = "key_alfa_z141pKeFzfmGGyYlUyPsbF"
|
|
15
15
|
api_key_secret = <<-END
|
|
16
16
|
-----BEGIN EC PRIVATE KEY-----
|
|
17
|
-
|
|
18
|
-
AwEHoUQDQgAE0m8+ZVijytLp01dsupG7QF8ZpjX5UmP20wj/sluPdoHW3BgiiyCn
|
|
19
|
-
/pMwYptUs0yJUtUZ/0wzEyp8PgAWWhxglw==
|
|
17
|
+
SoME=reAl=PriVaTE=keY
|
|
20
18
|
-----END EC PRIVATE KEY-----
|
|
21
19
|
END
|
|
22
20
|
|
|
23
21
|
signer = Evrblk::AuthN::RequestSigner.new(api_key_id, api_key_secret)
|
|
24
|
-
grackle_client = Evrblk::Grackle::
|
|
22
|
+
grackle_client = Evrblk::Grackle::V1Beta::Client.new(signer, "localhost:8000")
|
|
25
23
|
|
|
26
24
|
grackle_client.create_namespace(
|
|
27
25
|
name: "mynamespace"
|
data/evrblk.gemspec
CHANGED
|
@@ -7,7 +7,7 @@ require "evrblk/version"
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = "evrblk"
|
|
9
9
|
s.version = Evrblk::VERSION
|
|
10
|
-
s.required_ruby_version = ">=
|
|
10
|
+
s.required_ruby_version = ">= 3.1.0"
|
|
11
11
|
s.summary = "Ruby bindings for the Everblack API"
|
|
12
12
|
s.description = "Build simple, secure, scalable systems with Everblack. " \
|
|
13
13
|
"See https://everblack.dev for details."
|
|
@@ -24,19 +24,21 @@ Gem::Specification.new do |s|
|
|
|
24
24
|
"github_repo" => "ssh://github.com/evrblk/evrblk-ruby",
|
|
25
25
|
"homepage_uri" => "https://everblack.dev",
|
|
26
26
|
"source_code_uri" => "https://github.com/evrblk/evrblk-ruby",
|
|
27
|
-
"rubygems_mfa_required" => "
|
|
27
|
+
"rubygems_mfa_required" => "true"
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
s.files = Dir.glob(
|
|
31
|
+
[
|
|
32
|
+
"lib/**/*.rb",
|
|
33
|
+
"proto/**/*.proto",
|
|
34
|
+
"README.md",
|
|
35
|
+
"LICENSE",
|
|
36
|
+
"Gemfile",
|
|
37
|
+
"evrblk.gemspec"
|
|
38
|
+
],
|
|
39
|
+
base: __dir__
|
|
39
40
|
)
|
|
40
|
-
|
|
41
|
+
raise "Cannot build evrblk.gemspec: file glob returned no files" if s.files.empty?
|
|
42
|
+
|
|
41
43
|
s.require_paths = ["lib"]
|
|
42
44
|
end
|
data/lib/evrblk/authn/alfa.rb
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
3
|
+
require "openssl"
|
|
4
|
+
require "base64"
|
|
5
5
|
|
|
6
6
|
module Evrblk
|
|
7
7
|
module AuthN
|
|
8
8
|
class Alfa < Base
|
|
9
9
|
def initialize(private_key_pem)
|
|
10
|
+
super()
|
|
11
|
+
|
|
10
12
|
# Parse the PEM-encoded private key
|
|
11
13
|
@private_key = OpenSSL::PKey::EC.new(private_key_pem)
|
|
12
14
|
|
|
13
15
|
# Verify that the private key is using the correct curve
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
return if @private_key.group.curve_name == "prime256v1"
|
|
17
|
+
|
|
18
|
+
raise "Invalid key: Expected secp256r1 (prime256v1) but got #{@private_key.group.curve_name}"
|
|
17
19
|
end
|
|
18
20
|
|
|
19
21
|
def sign(request, timestamp, service, method)
|
|
@@ -21,12 +23,10 @@ module Evrblk
|
|
|
21
23
|
data = serialize_int64(timestamp) + service + "." + method + marshal_protobuf(request)
|
|
22
24
|
|
|
23
25
|
# Sign a digest using SHA-256 with the private key
|
|
24
|
-
signature = @private_key.sign(OpenSSL::Digest
|
|
26
|
+
signature = @private_key.sign(OpenSSL::Digest.new("SHA256"), data)
|
|
25
27
|
|
|
26
28
|
# Convert the signature to Base64
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return signature_base64
|
|
29
|
+
Base64.strict_encode64(signature)
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
end
|
data/lib/evrblk/authn/base.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Evrblk
|
|
4
4
|
module AuthN
|
|
5
5
|
class Base
|
|
6
|
-
def sign(
|
|
6
|
+
def sign(_request, _timestamp)
|
|
7
7
|
raise "Implement me"
|
|
8
8
|
end
|
|
9
9
|
|
|
@@ -12,31 +12,25 @@ module Evrblk
|
|
|
12
12
|
# Serializes an Int64 value into an 8-byte big-endian
|
|
13
13
|
def serialize_int64(value)
|
|
14
14
|
# Ensure the value is within the 64-bit integer range
|
|
15
|
-
if value < -
|
|
15
|
+
if value < -9_223_372_036_854_775_808 || value > 9_223_372_036_854_775_807
|
|
16
16
|
raise ArgumentError, "Value is outside the Int64 range"
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
# Pack the integer into 8 bytes with big-endian byte order
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return bytes
|
|
20
|
+
[value].pack("q>")
|
|
23
21
|
end
|
|
24
22
|
|
|
25
23
|
# Marshals a protobuf object into a byte array with deterministic serialization.
|
|
26
24
|
# The deterministic option ensures consistent byte representation regardless of system.
|
|
27
25
|
def marshal_protobuf(obj)
|
|
28
26
|
# Ensure the object is a valid protobuf message
|
|
29
|
-
unless obj.is_a?(Google::Protobuf::MessageExts)
|
|
30
|
-
raise ArgumentError, "Object must be a Google::Protobuf message"
|
|
31
|
-
end
|
|
27
|
+
raise ArgumentError, "Object must be a Google::Protobuf message" unless obj.is_a?(Google::Protobuf::MessageExts)
|
|
32
28
|
|
|
33
29
|
# Marshal the protobuf object with deterministic serialization option
|
|
34
30
|
options = { deterministic: true }
|
|
35
31
|
|
|
36
32
|
# Encode the protobuf message to bytes
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return bytes
|
|
33
|
+
obj.to_proto(options)
|
|
40
34
|
end
|
|
41
35
|
end
|
|
42
36
|
end
|
data/lib/evrblk/authn/bravo.rb
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
3
|
+
require "openssl"
|
|
4
|
+
require "base64"
|
|
4
5
|
|
|
5
6
|
module Evrblk
|
|
6
7
|
module AuthN
|
|
7
8
|
class Bravo < Base
|
|
8
9
|
def initialize(secret_base64)
|
|
10
|
+
super()
|
|
9
11
|
|
|
12
|
+
@secret = Base64.strict_decode64(secret_base64)
|
|
10
13
|
end
|
|
11
14
|
|
|
12
15
|
def sign(request, timestamp, service, method)
|
|
13
16
|
# Serialize timestamp and request body
|
|
14
17
|
data = serialize_int64(timestamp) + service + "." + method + marshal_protobuf(request)
|
|
15
18
|
|
|
16
|
-
# Sign a digest using
|
|
17
|
-
signature =
|
|
19
|
+
# Sign a digest using HMAC-SHA256 with the shared secret
|
|
20
|
+
signature = OpenSSL::HMAC.digest(OpenSSL::Digest.new("SHA256"), @secret, data)
|
|
18
21
|
|
|
19
22
|
# Convert the signature to Base64
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return signature_base64
|
|
23
|
+
Base64.strict_encode64(signature)
|
|
23
24
|
end
|
|
24
25
|
end
|
|
25
26
|
end
|
|
@@ -4,16 +4,18 @@ module Evrblk
|
|
|
4
4
|
module AuthN
|
|
5
5
|
class RequestSigner
|
|
6
6
|
def initialize(api_key_id, api_key_secret)
|
|
7
|
-
|
|
8
|
-
raise ArgumentError,
|
|
7
|
+
unless api_key_id.match?(/key_(alfa|bravo)_[0-9a-zA-Z]+/)
|
|
8
|
+
raise ArgumentError,
|
|
9
|
+
"Invalid API Key ID #{api_key_id}"
|
|
9
10
|
end
|
|
11
|
+
|
|
10
12
|
@api_key_id = api_key_id
|
|
11
13
|
|
|
12
|
-
if api_key_id.start_with?("key_alfa")
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
@signer = if api_key_id.start_with?("key_alfa")
|
|
15
|
+
Evrblk::AuthN::Alfa.new(api_key_secret)
|
|
16
|
+
else
|
|
17
|
+
Evrblk::AuthN::Bravo.new(api_key_secret)
|
|
18
|
+
end
|
|
17
19
|
end
|
|
18
20
|
|
|
19
21
|
def sign(request, service, method)
|
|
@@ -24,20 +26,17 @@ module Evrblk
|
|
|
24
26
|
signature = @signer.sign(request, timestamp, service, method)
|
|
25
27
|
|
|
26
28
|
# Return gRPC headers for authentication
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
{
|
|
30
|
+
"evrblk-signature": signature,
|
|
29
31
|
"evrblk-api-key-id": @api_key_id,
|
|
30
|
-
|
|
32
|
+
"evrblk-timestamp": timestamp.to_s
|
|
31
33
|
}
|
|
32
34
|
end
|
|
33
35
|
end
|
|
34
36
|
|
|
35
37
|
class NoOpSigner
|
|
36
|
-
def
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def sign(request)
|
|
40
|
-
return {}
|
|
38
|
+
def sign(_request, _service = nil, _method = nil)
|
|
39
|
+
{}
|
|
41
40
|
end
|
|
42
41
|
end
|
|
43
42
|
end
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: evrblk/grackle/v1beta/api.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
descriptor_data = "\n\x1f\x65vrblk/grackle/v1beta/api.proto\x12\x19\x63om.evrblk.grackle.v1beta\"\xbf\x01\n\x16\x43reateNamespaceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12Q\n\x08metadata\x18\x03 \x03(\x0b\x32?.com.evrblk.grackle.v1beta.CreateNamespaceRequest.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"R\n\x17\x43reateNamespaceResponse\x12\x37\n\tnamespace\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.Namespace\"@\n\x15ListNamespacesRequest\x12\x18\n\x10pagination_token\x18\x01 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\x05\"\x94\x01\n\x16ListNamespacesResponse\x12\x38\n\nnamespaces\x18\x01 \x03(\x0b\x32$.com.evrblk.grackle.v1beta.Namespace\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"-\n\x13GetNamespaceRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\"O\n\x14GetNamespaceResponse\x12\x37\n\tnamespace\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.Namespace\"0\n\x16\x44\x65leteNamespaceRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\"\x19\n\x17\x44\x65leteNamespaceResponse\"\xe3\x01\n\x16UpdateNamespaceRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12Q\n\x08metadata\x18\x03 \x03(\x0b\x32?.com.evrblk.grackle.v1beta.UpdateNamespaceRequest.MetadataEntry\x12\x18\n\x10\x65xpected_version\x18\x04 \x01(\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"R\n\x17UpdateNamespaceResponse\x12\x37\n\tnamespace\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.Namespace\"\xf2\x01\n\x16\x43reateSemaphoreRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x16\n\x0esemaphore_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0f\n\x07permits\x18\x04 \x01(\x03\x12Q\n\x08metadata\x18\x05 \x03(\x0b\x32?.com.evrblk.grackle.v1beta.CreateSemaphoreRequest.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"R\n\x17\x43reateSemaphoreResponse\x12\x37\n\tsemaphore\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.Semaphore\"X\n\x15ListSemaphoresRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x18\n\x10pagination_token\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\x05\"\x94\x01\n\x16ListSemaphoresResponse\x12\x38\n\nsemaphores\x18\x01 \x03(\x0b\x32$.com.evrblk.grackle.v1beta.Semaphore\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"E\n\x13GetSemaphoreRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x16\n\x0esemaphore_name\x18\x02 \x01(\t\"O\n\x14GetSemaphoreResponse\x12\x37\n\tsemaphore\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.Semaphore\"\x89\x02\n\x17\x41\x63quireSemaphoreRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x16\n\x0esemaphore_name\x18\x02 \x01(\t\x12\x10\n\x08lease_id\x18\x03 \x01(\t\x12\x0e\n\x06weight\x18\x04 \x01(\x03\x12\x17\n\x0ftimeout_seconds\x18\x05 \x01(\x05\x12R\n\x08metadata\x18\x06 \x03(\x0b\x32@.com.evrblk.grackle.v1beta.AcquireSemaphoreRequest.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8f\x01\n\x18\x41\x63quireSemaphoreResponse\x12\x37\n\tsemaphore\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.Semaphore\x12:\n\x07outcome\x18\x02 \x01(\x0e\x32).com.evrblk.grackle.v1beta.AcquireOutcome\"[\n\x17ReleaseSemaphoreRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x16\n\x0esemaphore_name\x18\x02 \x01(\t\x12\x10\n\x08lease_id\x18\x03 \x01(\t\"S\n\x18ReleaseSemaphoreResponse\x12\x37\n\tsemaphore\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.Semaphore\"\x8c\x02\n\x16UpdateSemaphoreRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x16\n\x0esemaphore_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0f\n\x07permits\x18\x04 \x01(\x03\x12Q\n\x08metadata\x18\x05 \x03(\x0b\x32?.com.evrblk.grackle.v1beta.UpdateSemaphoreRequest.MetadataEntry\x12\x18\n\x10\x65xpected_version\x18\x06 \x01(\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"R\n\x17UpdateSemaphoreResponse\x12\x37\n\tsemaphore\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.Semaphore\"H\n\x16\x44\x65leteSemaphoreRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x16\n\x0esemaphore_name\x18\x02 \x01(\t\"\x19\n\x17\x44\x65leteSemaphoreResponse\"v\n\x1bListSemaphoreHoldersRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x16\n\x0esemaphore_name\x18\x02 \x01(\t\x12\x18\n\x10pagination_token\x18\x03 \x01(\t\x12\r\n\x05limit\x18\x04 \x01(\x05\"\x9d\x01\n\x1cListSemaphoreHoldersResponse\x12;\n\x07holders\x18\x01 \x03(\x0b\x32*.com.evrblk.grackle.v1beta.SemaphoreHolder\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"\xe7\x01\n\x1b\x43reateSemaphoreLeaseRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x12\n\nprocess_id\x18\x02 \x01(\t\x12\x13\n\x0bttl_seconds\x18\x03 \x01(\x03\x12V\n\x08metadata\x18\x04 \x03(\x0b\x32\x44.com.evrblk.grackle.v1beta.CreateSemaphoreLeaseRequest.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"O\n\x1c\x43reateSemaphoreLeaseResponse\x12/\n\x05lease\x18\x01 \x01(\x0b\x32 .com.evrblk.grackle.v1beta.Lease\"G\n\x1bRevokeSemaphoreLeaseRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x10\n\x08lease_id\x18\x02 \x01(\t\"\x1e\n\x1cRevokeSemaphoreLeaseResponse\"]\n\x1cRefreshSemaphoreLeaseRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x10\n\x08lease_id\x18\x02 \x01(\t\x12\x13\n\x0bttl_seconds\x18\x03 \x01(\x03\"P\n\x1dRefreshSemaphoreLeaseResponse\x12/\n\x05lease\x18\x01 \x01(\x0b\x32 .com.evrblk.grackle.v1beta.Lease\"]\n\x1aListSemaphoreLeasesRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x18\n\x10pagination_token\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\x05\"\x91\x01\n\x1bListSemaphoreLeasesResponse\x12\x30\n\x06leases\x18\x01 \x03(\x0b\x32 .com.evrblk.grackle.v1beta.Lease\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"D\n\x18GetSemaphoreLeaseRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x10\n\x08lease_id\x18\x02 \x01(\t\"L\n\x19GetSemaphoreLeaseResponse\x12/\n\x05lease\x18\x01 \x01(\x0b\x32 .com.evrblk.grackle.v1beta.Lease\"\xc8\x01\n\x05Lease\x12\x10\n\x08lease_id\x18\x01 \x01(\t\x12\x12\n\nprocess_id\x18\x02 \x01(\t\x12\x12\n\ncreated_at\x18\x03 \x01(\x03\x12\x12\n\nexpires_at\x18\x04 \x01(\x03\x12@\n\x08metadata\x18\x05 \x03(\x0b\x32..com.evrblk.grackle.v1beta.Lease.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbd\x02\n\tSemaphore\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x12\n\ncreated_at\x18\x03 \x01(\x03\x12\x12\n\nupdated_at\x18\x04 \x01(\x03\x12\x0f\n\x07version\x18\x05 \x01(\x03\x12\x0f\n\x07permits\x18\x06 \x01(\x03\x12\x14\n\x0c\x61\x63tive_holds\x18\x07 \x01(\x03\x12\x1c\n\x14\x61\x63tive_holders_count\x18\x08 \x01(\x03\x12\x44\n\x08metadata\x18\t \x03(\x0b\x32\x32.com.evrblk.grackle.v1beta.Semaphore.MetadataEntry\x12\x18\n\x10last_activity_at\x18\n \x01(\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x01\n\x0fSemaphoreHolder\x12\x10\n\x08lease_id\x18\x01 \x01(\t\x12\x11\n\tlocked_at\x18\x02 \x01(\x03\x12\x0e\n\x06weight\x18\x03 \x01(\x03\x12J\n\x08metadata\x18\x04 \x03(\x0b\x32\x38.com.evrblk.grackle.v1beta.SemaphoreHolder.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xae\x02\n\x16\x43reateWaitGroupRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x17\n\x0fwait_group_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0f\n\x07\x63ounter\x18\x04 \x01(\x03\x12\x12\n\nexpires_at\x18\x05 \x01(\x03\x12Q\n\x08metadata\x18\x06 \x03(\x0b\x32?.com.evrblk.grackle.v1beta.CreateWaitGroupRequest.MetadataEntry\x12%\n\x1d\x64\x65lete_after_finished_seconds\x18\x07 \x01(\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"S\n\x17\x43reateWaitGroupResponse\x12\x38\n\nwait_group\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.WaitGroup\"\xc8\x02\n\x16UpdateWaitGroupRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x17\n\x0fwait_group_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0f\n\x07\x63ounter\x18\x04 \x01(\x03\x12\x12\n\nexpires_at\x18\x05 \x01(\x03\x12Q\n\x08metadata\x18\x06 \x03(\x0b\x32?.com.evrblk.grackle.v1beta.UpdateWaitGroupRequest.MetadataEntry\x12\x18\n\x10\x65xpected_version\x18\x07 \x01(\x03\x12%\n\x1d\x64\x65lete_after_finished_seconds\x18\x08 \x01(\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"S\n\x17UpdateWaitGroupResponse\x12\x38\n\nwait_group\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.WaitGroup\"X\n\x15ListWaitGroupsRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x18\n\x10pagination_token\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\x05\"\x95\x01\n\x16ListWaitGroupsResponse\x12\x39\n\x0bwait_groups\x18\x01 \x03(\x0b\x32$.com.evrblk.grackle.v1beta.WaitGroup\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"F\n\x13GetWaitGroupRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x17\n\x0fwait_group_name\x18\x02 \x01(\t\"P\n\x14GetWaitGroupResponse\x12\x38\n\nwait_group\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.WaitGroup\"I\n\x16\x44\x65leteWaitGroupRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x17\n\x0fwait_group_name\x18\x02 \x01(\t\"\x19\n\x17\x44\x65leteWaitGroupResponse\"\x90\x01\n CompleteJobsFromWaitGroupRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x17\n\x0fwait_group_name\x18\x02 \x01(\t\x12;\n\x04jobs\x18\x03 \x03(\x0b\x32-.com.evrblk.grackle.v1beta.CompleteJobRequest\"\xa4\x01\n\x12\x43ompleteJobRequest\x12\x0e\n\x06job_id\x18\x01 \x01(\t\x12M\n\x08metadata\x18\x02 \x03(\x0b\x32;.com.evrblk.grackle.v1beta.CompleteJobRequest.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"]\n!CompleteJobsFromWaitGroupResponse\x12\x38\n\nwait_group\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.WaitGroup\"}\n!ListWaitGroupCompletedJobsRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x17\n\x0fwait_group_name\x18\x02 \x01(\t\x12\x18\n\x10pagination_token\x18\x03 \x01(\t\x12\r\n\x05limit\x18\x04 \x01(\x05\"\x9d\x01\n\"ListWaitGroupCompletedJobsResponse\x12\x35\n\x04jobs\x18\x01 \x03(\x0b\x32\'.com.evrblk.grackle.v1beta.WaitGroupJob\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"c\n\x17WaitForWaitGroupRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x17\n\x0fwait_group_name\x18\x02 \x01(\t\x12\x17\n\x0ftimeout_seconds\x18\x03 \x01(\x05\"\x96\x01\n\x18WaitForWaitGroupResponse\x12\x38\n\nwait_group\x18\x01 \x01(\x0b\x32$.com.evrblk.grackle.v1beta.WaitGroup\x12@\n\x07outcome\x18\x02 \x01(\x0e\x32/.com.evrblk.grackle.v1beta.WaitGroupWaitOutcome\"\xad\x03\n\tWaitGroup\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x12\n\ncreated_at\x18\x03 \x01(\x03\x12\x12\n\nupdated_at\x18\x04 \x01(\x03\x12\x0f\n\x07version\x18\x05 \x01(\x03\x12\x12\n\nexpires_at\x18\x06 \x01(\x03\x12\x0f\n\x07\x63ounter\x18\x07 \x01(\x03\x12\x16\n\x0e\x63ompleted_jobs\x18\x08 \x01(\x03\x12\x44\n\x08metadata\x18\t \x03(\x0b\x32\x32.com.evrblk.grackle.v1beta.WaitGroup.MetadataEntry\x12:\n\x06status\x18\n \x01(\x0e\x32*.com.evrblk.grackle.v1beta.WaitGroupStatus\x12%\n\x1d\x64\x65lete_after_finished_seconds\x18\x0b \x01(\x03\x12\x13\n\x0b\x66inished_at\x18\x0c \x01(\x03\x12\x18\n\x10last_activity_at\x18\r \x01(\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xae\x01\n\x0cWaitGroupJob\x12\x0e\n\x06job_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ompleted_at\x18\x02 \x01(\x03\x12G\n\x08metadata\x18\x03 \x03(\x0b\x32\x35.com.evrblk.grackle.v1beta.WaitGroupJob.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xfd\x01\n\x12\x41\x63quireLockRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x11\n\tlock_name\x18\x02 \x01(\t\x12\x11\n\texclusive\x18\x03 \x01(\x08\x12\x10\n\x08lease_id\x18\x04 \x01(\t\x12\x17\n\x0ftimeout_seconds\x18\x05 \x01(\x05\x12M\n\x08metadata\x18\x06 \x03(\x0b\x32;.com.evrblk.grackle.v1beta.AcquireLockRequest.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf6\x01\n\x13\x41\x63quireLockResponse\x12-\n\x04lock\x18\x01 \x01(\x0b\x32\x1f.com.evrblk.grackle.v1beta.Lock\x12:\n\x07outcome\x18\x02 \x01(\x0e\x32).com.evrblk.grackle.v1beta.AcquireOutcome\x12;\n\x06reason\x18\x03 \x01(\x0e\x32+.com.evrblk.grackle.v1beta.ContentionReason\x12\x37\n\x0e\x62locking_locks\x18\x04 \x03(\x0b\x32\x1f.com.evrblk.grackle.v1beta.Lock\"Q\n\x12ReleaseLockRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x11\n\tlock_name\x18\x02 \x01(\t\x12\x10\n\x08lease_id\x18\x03 \x01(\t\"D\n\x13ReleaseLockResponse\x12-\n\x04lock\x18\x01 \x01(\x0b\x32\x1f.com.evrblk.grackle.v1beta.Lock\";\n\x0eGetLockRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x11\n\tlock_name\x18\x02 \x01(\t\"@\n\x0fGetLockResponse\x12-\n\x04lock\x18\x01 \x01(\x0b\x32\x1f.com.evrblk.grackle.v1beta.Lock\">\n\x11\x44\x65leteLockRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x11\n\tlock_name\x18\x02 \x01(\t\"\x14\n\x12\x44\x65leteLockResponse\"S\n\x10ListLocksRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x18\n\x10pagination_token\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\x05\"\x85\x01\n\x11ListLocksResponse\x12.\n\x05locks\x18\x01 \x03(\x0b\x32\x1f.com.evrblk.grackle.v1beta.Lock\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"\xdd\x01\n\x16\x43reateLockLeaseRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x12\n\nprocess_id\x18\x02 \x01(\t\x12\x13\n\x0bttl_seconds\x18\x03 \x01(\x03\x12Q\n\x08metadata\x18\x04 \x03(\x0b\x32?.com.evrblk.grackle.v1beta.CreateLockLeaseRequest.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"J\n\x17\x43reateLockLeaseResponse\x12/\n\x05lease\x18\x01 \x01(\x0b\x32 .com.evrblk.grackle.v1beta.Lease\"B\n\x16RevokeLockLeaseRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x10\n\x08lease_id\x18\x02 \x01(\t\"\x19\n\x17RevokeLockLeaseResponse\"X\n\x17RefreshLockLeaseRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x10\n\x08lease_id\x18\x02 \x01(\t\x12\x13\n\x0bttl_seconds\x18\x03 \x01(\x03\"K\n\x18RefreshLockLeaseResponse\x12/\n\x05lease\x18\x01 \x01(\x0b\x32 .com.evrblk.grackle.v1beta.Lease\"X\n\x15ListLockLeasesRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x18\n\x10pagination_token\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\x05\"\x8c\x01\n\x16ListLockLeasesResponse\x12\x30\n\x06leases\x18\x01 \x03(\x0b\x32 .com.evrblk.grackle.v1beta.Lease\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"?\n\x13GetLockLeaseRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x10\n\x08lease_id\x18\x02 \x01(\t\"G\n\x14GetLockLeaseResponse\x12/\n\x05lease\x18\x01 \x01(\x0b\x32 .com.evrblk.grackle.v1beta.Lease\"\xb3\x01\n\x04Lock\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x33\n\x05state\x18\x02 \x01(\x0e\x32$.com.evrblk.grackle.v1beta.LockState\x12\x11\n\tlocked_at\x18\x03 \x01(\x03\x12;\n\x0clock_holders\x18\x04 \x03(\x0b\x32%.com.evrblk.grackle.v1beta.LockHolder\x12\x18\n\x10last_activity_at\x18\x05 \x01(\x03\"\xa9\x01\n\nLockHolder\x12\x10\n\x08lease_id\x18\x01 \x01(\t\x12\x11\n\tlocked_at\x18\x02 \x01(\x03\x12\x45\n\x08metadata\x18\x03 \x03(\x0b\x32\x33.com.evrblk.grackle.v1beta.LockHolder.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xde\x01\n\tNamespace\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x12\n\ncreated_at\x18\x03 \x01(\x03\x12\x12\n\nupdated_at\x18\x04 \x01(\x03\x12\x0f\n\x07version\x18\x05 \x01(\x03\x12\x44\n\x08metadata\x18\x06 \x03(\x0b\x32\x32.com.evrblk.grackle.v1beta.Namespace.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9e\x02\n\x14\x43reateBarrierRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61rrier_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x1a\n\x12\x65xpected_processes\x18\x04 \x01(\x03\x12%\n\x1d\x64\x65lete_inactive_after_seconds\x18\x08 \x01(\x03\x12O\n\x08metadata\x18\t \x03(\x0b\x32=.com.evrblk.grackle.v1beta.CreateBarrierRequest.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"L\n\x15\x43reateBarrierResponse\x12\x33\n\x07\x62\x61rrier\x18\x01 \x01(\x0b\x32\".com.evrblk.grackle.v1beta.Barrier\"V\n\x13ListBarriersRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x18\n\x10pagination_token\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\x05\"\x8e\x01\n\x14ListBarriersResponse\x12\x34\n\x08\x62\x61rriers\x18\x01 \x03(\x0b\x32\".com.evrblk.grackle.v1beta.Barrier\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"A\n\x11GetBarrierRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61rrier_name\x18\x02 \x01(\t\"I\n\x12GetBarrierResponse\x12\x33\n\x07\x62\x61rrier\x18\x01 \x01(\x0b\x32\".com.evrblk.grackle.v1beta.Barrier\"D\n\x14\x44\x65leteBarrierRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61rrier_name\x18\x02 \x01(\t\"\x17\n\x15\x44\x65leteBarrierResponse\"\xb8\x02\n\x14UpdateBarrierRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61rrier_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x1a\n\x12\x65xpected_processes\x18\x04 \x01(\x03\x12O\n\x08metadata\x18\x05 \x03(\x0b\x32=.com.evrblk.grackle.v1beta.UpdateBarrierRequest.MetadataEntry\x12\x18\n\x10\x65xpected_version\x18\x06 \x01(\x03\x12%\n\x1d\x64\x65lete_inactive_after_seconds\x18\x07 \x01(\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"L\n\x15UpdateBarrierResponse\x12\x33\n\x07\x62\x61rrier\x18\x01 \x01(\x0b\x32\".com.evrblk.grackle.v1beta.Barrier\"\xfb\x01\n\x16\x41rriveAtBarrierRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61rrier_name\x18\x02 \x01(\t\x12\x12\n\nprocess_id\x18\x03 \x01(\t\x12\x1b\n\x13\x65xpected_generation\x18\x04 \x01(\x03\x12Q\n\x08metadata\x18\x05 \x03(\x0b\x32?.com.evrblk.grackle.v1beta.ArriveAtBarrierRequest.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"c\n\x17\x41rriveAtBarrierResponse\x12\x33\n\x07\x62\x61rrier\x18\x01 \x01(\x0b\x32\".com.evrblk.grackle.v1beta.Barrier\x12\x13\n\x0b\x61ll_arrived\x18\x02 \x01(\x08\"z\n\x14WaitAtBarrierRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61rrier_name\x18\x02 \x01(\t\x12\x1b\n\x13\x65xpected_generation\x18\x03 \x01(\x03\x12\x17\n\x0ftimeout_seconds\x18\x04 \x01(\x05\"\x8c\x01\n\x15WaitAtBarrierResponse\x12\x33\n\x07\x62\x61rrier\x18\x01 \x01(\x0b\x32\".com.evrblk.grackle.v1beta.Barrier\x12>\n\x07outcome\x18\x02 \x01(\x0e\x32-.com.evrblk.grackle.v1beta.BarrierWaitOutcome\"\x8b\x01\n\x1eListBarrierParticipantsRequest\x12\x16\n\x0enamespace_name\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61rrier_name\x18\x02 \x01(\t\x12\x12\n\ngeneration\x18\x03 \x01(\x03\x12\x18\n\x10pagination_token\x18\x04 \x01(\t\x12\r\n\x05limit\x18\x05 \x01(\x05\"\xa8\x01\n\x1fListBarrierParticipantsResponse\x12\x43\n\x0cparticipants\x18\x01 \x03(\x0b\x32-.com.evrblk.grackle.v1beta.BarrierParticipant\x12\x1d\n\x15next_pagination_token\x18\x02 \x01(\t\x12!\n\x19previous_pagination_token\x18\x03 \x01(\t\"\xe6\x02\n\x07\x42\x61rrier\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x1a\n\x12\x65xpected_processes\x18\x03 \x01(\x03\x12\x19\n\x11\x61rrived_processes\x18\x04 \x01(\x03\x12\x12\n\ngeneration\x18\x05 \x01(\x03\x12\x12\n\ncreated_at\x18\x06 \x01(\x03\x12\x12\n\nupdated_at\x18\x07 \x01(\x03\x12\x0f\n\x07version\x18\x08 \x01(\x03\x12\x42\n\x08metadata\x18\t \x03(\x0b\x32\x30.com.evrblk.grackle.v1beta.Barrier.MetadataEntry\x12\x18\n\x10last_activity_at\x18\n \x01(\x03\x12%\n\x1d\x64\x65lete_inactive_after_seconds\x18\x0b \x01(\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x01\n\x12\x42\x61rrierParticipant\x12\x12\n\nprocess_id\x18\x01 \x01(\t\x12\x12\n\narrived_at\x18\x02 \x01(\x03\x12M\n\x08metadata\x18\x03 \x03(\x0b\x32;.com.evrblk.grackle.v1beta.BarrierParticipant.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*\x8b\x01\n\x0e\x41\x63quireOutcome\x12\x1b\n\x17\x41\x43QUIRE_OUTCOME_INVALID\x10\x00\x12\x1c\n\x18\x41\x43QUIRE_OUTCOME_ACQUIRED\x10\x01\x12\x1f\n\x1b\x41\x43QUIRE_OUTCOME_UNAVAILABLE\x10\x02\x12\x1d\n\x19\x41\x43QUIRE_OUTCOME_TIMED_OUT\x10\x03*\xae\x01\n\x14WaitGroupWaitOutcome\x12#\n\x1fWAIT_GROUP_WAIT_OUTCOME_INVALID\x10\x00\x12%\n!WAIT_GROUP_WAIT_OUTCOME_COMPLETED\x10\x01\x12#\n\x1fWAIT_GROUP_WAIT_OUTCOME_EXPIRED\x10\x02\x12%\n!WAIT_GROUP_WAIT_OUTCOME_TIMED_OUT\x10\x03*\x8e\x01\n\x0fWaitGroupStatus\x12\x1d\n\x19WAIT_GROUP_STATUS_INVALID\x10\x00\x12\x1c\n\x18WAIT_GROUP_STATUS_ACTIVE\x10\x01\x12\x1d\n\x19WAIT_GROUP_STATUS_EXPIRED\x10\x02\x12\x1f\n\x1bWAIT_GROUP_STATUS_COMPLETED\x10\x03*\x93\x01\n\x10\x43ontentionReason\x12!\n\x1d\x43ONTENTION_REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43ONTENTION_REASON_PEER\x10\x01\x12\x1e\n\x1a\x43ONTENTION_REASON_ANCESTOR\x10\x02\x12 \n\x1c\x43ONTENTION_REASON_DESCENDANT\x10\x03*{\n\tLockState\x12\x16\n\x12LOCK_STATE_INVALID\x10\x00\x12\x17\n\x13LOCK_STATE_UNLOCKED\x10\x01\x12\x1c\n\x18LOCK_STATE_SHARED_LOCKED\x10\x02\x12\x1f\n\x1bLOCK_STATE_EXCLUSIVE_LOCKED\x10\x03*|\n\x12\x42\x61rrierWaitOutcome\x12 \n\x1c\x42\x41RRIER_WAIT_OUTCOME_INVALID\x10\x00\x12 \n\x1c\x42\x41RRIER_WAIT_OUTCOME_TRIPPED\x10\x01\x12\"\n\x1e\x42\x41RRIER_WAIT_OUTCOME_TIMED_OUT\x10\x02\x32\xe8*\n\nGrackleApi\x12z\n\x0f\x43reateNamespace\x12\x31.com.evrblk.grackle.v1beta.CreateNamespaceRequest\x1a\x32.com.evrblk.grackle.v1beta.CreateNamespaceResponse\"\x00\x12w\n\x0eListNamespaces\x12\x30.com.evrblk.grackle.v1beta.ListNamespacesRequest\x1a\x31.com.evrblk.grackle.v1beta.ListNamespacesResponse\"\x00\x12q\n\x0cGetNamespace\x12..com.evrblk.grackle.v1beta.GetNamespaceRequest\x1a/.com.evrblk.grackle.v1beta.GetNamespaceResponse\"\x00\x12z\n\x0f\x44\x65leteNamespace\x12\x31.com.evrblk.grackle.v1beta.DeleteNamespaceRequest\x1a\x32.com.evrblk.grackle.v1beta.DeleteNamespaceResponse\"\x00\x12z\n\x0fUpdateNamespace\x12\x31.com.evrblk.grackle.v1beta.UpdateNamespaceRequest\x1a\x32.com.evrblk.grackle.v1beta.UpdateNamespaceResponse\"\x00\x12z\n\x0f\x43reateSemaphore\x12\x31.com.evrblk.grackle.v1beta.CreateSemaphoreRequest\x1a\x32.com.evrblk.grackle.v1beta.CreateSemaphoreResponse\"\x00\x12w\n\x0eListSemaphores\x12\x30.com.evrblk.grackle.v1beta.ListSemaphoresRequest\x1a\x31.com.evrblk.grackle.v1beta.ListSemaphoresResponse\"\x00\x12q\n\x0cGetSemaphore\x12..com.evrblk.grackle.v1beta.GetSemaphoreRequest\x1a/.com.evrblk.grackle.v1beta.GetSemaphoreResponse\"\x00\x12}\n\x10\x41\x63quireSemaphore\x12\x32.com.evrblk.grackle.v1beta.AcquireSemaphoreRequest\x1a\x33.com.evrblk.grackle.v1beta.AcquireSemaphoreResponse\"\x00\x12}\n\x10ReleaseSemaphore\x12\x32.com.evrblk.grackle.v1beta.ReleaseSemaphoreRequest\x1a\x33.com.evrblk.grackle.v1beta.ReleaseSemaphoreResponse\"\x00\x12z\n\x0fUpdateSemaphore\x12\x31.com.evrblk.grackle.v1beta.UpdateSemaphoreRequest\x1a\x32.com.evrblk.grackle.v1beta.UpdateSemaphoreResponse\"\x00\x12z\n\x0f\x44\x65leteSemaphore\x12\x31.com.evrblk.grackle.v1beta.DeleteSemaphoreRequest\x1a\x32.com.evrblk.grackle.v1beta.DeleteSemaphoreResponse\"\x00\x12\x89\x01\n\x14ListSemaphoreHolders\x12\x36.com.evrblk.grackle.v1beta.ListSemaphoreHoldersRequest\x1a\x37.com.evrblk.grackle.v1beta.ListSemaphoreHoldersResponse\"\x00\x12\x89\x01\n\x14\x43reateSemaphoreLease\x12\x36.com.evrblk.grackle.v1beta.CreateSemaphoreLeaseRequest\x1a\x37.com.evrblk.grackle.v1beta.CreateSemaphoreLeaseResponse\"\x00\x12\x89\x01\n\x14RevokeSemaphoreLease\x12\x36.com.evrblk.grackle.v1beta.RevokeSemaphoreLeaseRequest\x1a\x37.com.evrblk.grackle.v1beta.RevokeSemaphoreLeaseResponse\"\x00\x12\x8c\x01\n\x15RefreshSemaphoreLease\x12\x37.com.evrblk.grackle.v1beta.RefreshSemaphoreLeaseRequest\x1a\x38.com.evrblk.grackle.v1beta.RefreshSemaphoreLeaseResponse\"\x00\x12\x86\x01\n\x13ListSemaphoreLeases\x12\x35.com.evrblk.grackle.v1beta.ListSemaphoreLeasesRequest\x1a\x36.com.evrblk.grackle.v1beta.ListSemaphoreLeasesResponse\"\x00\x12\x80\x01\n\x11GetSemaphoreLease\x12\x33.com.evrblk.grackle.v1beta.GetSemaphoreLeaseRequest\x1a\x34.com.evrblk.grackle.v1beta.GetSemaphoreLeaseResponse\"\x00\x12z\n\x0f\x43reateWaitGroup\x12\x31.com.evrblk.grackle.v1beta.CreateWaitGroupRequest\x1a\x32.com.evrblk.grackle.v1beta.CreateWaitGroupResponse\"\x00\x12z\n\x0fUpdateWaitGroup\x12\x31.com.evrblk.grackle.v1beta.UpdateWaitGroupRequest\x1a\x32.com.evrblk.grackle.v1beta.UpdateWaitGroupResponse\"\x00\x12w\n\x0eListWaitGroups\x12\x30.com.evrblk.grackle.v1beta.ListWaitGroupsRequest\x1a\x31.com.evrblk.grackle.v1beta.ListWaitGroupsResponse\"\x00\x12q\n\x0cGetWaitGroup\x12..com.evrblk.grackle.v1beta.GetWaitGroupRequest\x1a/.com.evrblk.grackle.v1beta.GetWaitGroupResponse\"\x00\x12z\n\x0f\x44\x65leteWaitGroup\x12\x31.com.evrblk.grackle.v1beta.DeleteWaitGroupRequest\x1a\x32.com.evrblk.grackle.v1beta.DeleteWaitGroupResponse\"\x00\x12\x98\x01\n\x19\x43ompleteJobsFromWaitGroup\x12;.com.evrblk.grackle.v1beta.CompleteJobsFromWaitGroupRequest\x1a<.com.evrblk.grackle.v1beta.CompleteJobsFromWaitGroupResponse\"\x00\x12\x9b\x01\n\x1aListWaitGroupCompletedJobs\x12<.com.evrblk.grackle.v1beta.ListWaitGroupCompletedJobsRequest\x1a=.com.evrblk.grackle.v1beta.ListWaitGroupCompletedJobsResponse\"\x00\x12}\n\x10WaitForWaitGroup\x12\x32.com.evrblk.grackle.v1beta.WaitForWaitGroupRequest\x1a\x33.com.evrblk.grackle.v1beta.WaitForWaitGroupResponse\"\x00\x12n\n\x0b\x41\x63quireLock\x12-.com.evrblk.grackle.v1beta.AcquireLockRequest\x1a..com.evrblk.grackle.v1beta.AcquireLockResponse\"\x00\x12n\n\x0bReleaseLock\x12-.com.evrblk.grackle.v1beta.ReleaseLockRequest\x1a..com.evrblk.grackle.v1beta.ReleaseLockResponse\"\x00\x12\x62\n\x07GetLock\x12).com.evrblk.grackle.v1beta.GetLockRequest\x1a*.com.evrblk.grackle.v1beta.GetLockResponse\"\x00\x12k\n\nDeleteLock\x12,.com.evrblk.grackle.v1beta.DeleteLockRequest\x1a-.com.evrblk.grackle.v1beta.DeleteLockResponse\"\x00\x12h\n\tListLocks\x12+.com.evrblk.grackle.v1beta.ListLocksRequest\x1a,.com.evrblk.grackle.v1beta.ListLocksResponse\"\x00\x12z\n\x0f\x43reateLockLease\x12\x31.com.evrblk.grackle.v1beta.CreateLockLeaseRequest\x1a\x32.com.evrblk.grackle.v1beta.CreateLockLeaseResponse\"\x00\x12z\n\x0fRevokeLockLease\x12\x31.com.evrblk.grackle.v1beta.RevokeLockLeaseRequest\x1a\x32.com.evrblk.grackle.v1beta.RevokeLockLeaseResponse\"\x00\x12}\n\x10RefreshLockLease\x12\x32.com.evrblk.grackle.v1beta.RefreshLockLeaseRequest\x1a\x33.com.evrblk.grackle.v1beta.RefreshLockLeaseResponse\"\x00\x12w\n\x0eListLockLeases\x12\x30.com.evrblk.grackle.v1beta.ListLockLeasesRequest\x1a\x31.com.evrblk.grackle.v1beta.ListLockLeasesResponse\"\x00\x12q\n\x0cGetLockLease\x12..com.evrblk.grackle.v1beta.GetLockLeaseRequest\x1a/.com.evrblk.grackle.v1beta.GetLockLeaseResponse\"\x00\x12t\n\rCreateBarrier\x12/.com.evrblk.grackle.v1beta.CreateBarrierRequest\x1a\x30.com.evrblk.grackle.v1beta.CreateBarrierResponse\"\x00\x12q\n\x0cListBarriers\x12..com.evrblk.grackle.v1beta.ListBarriersRequest\x1a/.com.evrblk.grackle.v1beta.ListBarriersResponse\"\x00\x12k\n\nGetBarrier\x12,.com.evrblk.grackle.v1beta.GetBarrierRequest\x1a-.com.evrblk.grackle.v1beta.GetBarrierResponse\"\x00\x12t\n\rDeleteBarrier\x12/.com.evrblk.grackle.v1beta.DeleteBarrierRequest\x1a\x30.com.evrblk.grackle.v1beta.DeleteBarrierResponse\"\x00\x12t\n\rUpdateBarrier\x12/.com.evrblk.grackle.v1beta.UpdateBarrierRequest\x1a\x30.com.evrblk.grackle.v1beta.UpdateBarrierResponse\"\x00\x12z\n\x0f\x41rriveAtBarrier\x12\x31.com.evrblk.grackle.v1beta.ArriveAtBarrierRequest\x1a\x32.com.evrblk.grackle.v1beta.ArriveAtBarrierResponse\"\x00\x12t\n\rWaitAtBarrier\x12/.com.evrblk.grackle.v1beta.WaitAtBarrierRequest\x1a\x30.com.evrblk.grackle.v1beta.WaitAtBarrierResponse\"\x00\x12\x92\x01\n\x17ListBarrierParticipants\x12\x39.com.evrblk.grackle.v1beta.ListBarrierParticipantsRequest\x1a:.com.evrblk.grackle.v1beta.ListBarrierParticipantsResponse\"\x00\x42NZ2github.com/evrblk/evrblk-go/grackle/v1beta;grackle\xea\x02\x17\x45vrblk::Grackle::V1Betab\x06proto3"
|
|
9
|
+
|
|
10
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
11
|
+
pool.add_serialized_file(descriptor_data)
|
|
12
|
+
|
|
13
|
+
module Evrblk
|
|
14
|
+
module Grackle
|
|
15
|
+
module V1Beta
|
|
16
|
+
CreateNamespaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateNamespaceRequest").msgclass
|
|
17
|
+
CreateNamespaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateNamespaceResponse").msgclass
|
|
18
|
+
ListNamespacesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListNamespacesRequest").msgclass
|
|
19
|
+
ListNamespacesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListNamespacesResponse").msgclass
|
|
20
|
+
GetNamespaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetNamespaceRequest").msgclass
|
|
21
|
+
GetNamespaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetNamespaceResponse").msgclass
|
|
22
|
+
DeleteNamespaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteNamespaceRequest").msgclass
|
|
23
|
+
DeleteNamespaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteNamespaceResponse").msgclass
|
|
24
|
+
UpdateNamespaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.UpdateNamespaceRequest").msgclass
|
|
25
|
+
UpdateNamespaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.UpdateNamespaceResponse").msgclass
|
|
26
|
+
CreateSemaphoreRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateSemaphoreRequest").msgclass
|
|
27
|
+
CreateSemaphoreResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateSemaphoreResponse").msgclass
|
|
28
|
+
ListSemaphoresRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListSemaphoresRequest").msgclass
|
|
29
|
+
ListSemaphoresResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListSemaphoresResponse").msgclass
|
|
30
|
+
GetSemaphoreRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetSemaphoreRequest").msgclass
|
|
31
|
+
GetSemaphoreResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetSemaphoreResponse").msgclass
|
|
32
|
+
AcquireSemaphoreRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.AcquireSemaphoreRequest").msgclass
|
|
33
|
+
AcquireSemaphoreResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.AcquireSemaphoreResponse").msgclass
|
|
34
|
+
ReleaseSemaphoreRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ReleaseSemaphoreRequest").msgclass
|
|
35
|
+
ReleaseSemaphoreResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ReleaseSemaphoreResponse").msgclass
|
|
36
|
+
UpdateSemaphoreRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.UpdateSemaphoreRequest").msgclass
|
|
37
|
+
UpdateSemaphoreResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.UpdateSemaphoreResponse").msgclass
|
|
38
|
+
DeleteSemaphoreRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteSemaphoreRequest").msgclass
|
|
39
|
+
DeleteSemaphoreResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteSemaphoreResponse").msgclass
|
|
40
|
+
ListSemaphoreHoldersRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListSemaphoreHoldersRequest").msgclass
|
|
41
|
+
ListSemaphoreHoldersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListSemaphoreHoldersResponse").msgclass
|
|
42
|
+
CreateSemaphoreLeaseRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateSemaphoreLeaseRequest").msgclass
|
|
43
|
+
CreateSemaphoreLeaseResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateSemaphoreLeaseResponse").msgclass
|
|
44
|
+
RevokeSemaphoreLeaseRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.RevokeSemaphoreLeaseRequest").msgclass
|
|
45
|
+
RevokeSemaphoreLeaseResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.RevokeSemaphoreLeaseResponse").msgclass
|
|
46
|
+
RefreshSemaphoreLeaseRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.RefreshSemaphoreLeaseRequest").msgclass
|
|
47
|
+
RefreshSemaphoreLeaseResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.RefreshSemaphoreLeaseResponse").msgclass
|
|
48
|
+
ListSemaphoreLeasesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListSemaphoreLeasesRequest").msgclass
|
|
49
|
+
ListSemaphoreLeasesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListSemaphoreLeasesResponse").msgclass
|
|
50
|
+
GetSemaphoreLeaseRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetSemaphoreLeaseRequest").msgclass
|
|
51
|
+
GetSemaphoreLeaseResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetSemaphoreLeaseResponse").msgclass
|
|
52
|
+
Lease = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.Lease").msgclass
|
|
53
|
+
Semaphore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.Semaphore").msgclass
|
|
54
|
+
SemaphoreHolder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.SemaphoreHolder").msgclass
|
|
55
|
+
CreateWaitGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateWaitGroupRequest").msgclass
|
|
56
|
+
CreateWaitGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateWaitGroupResponse").msgclass
|
|
57
|
+
UpdateWaitGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.UpdateWaitGroupRequest").msgclass
|
|
58
|
+
UpdateWaitGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.UpdateWaitGroupResponse").msgclass
|
|
59
|
+
ListWaitGroupsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListWaitGroupsRequest").msgclass
|
|
60
|
+
ListWaitGroupsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListWaitGroupsResponse").msgclass
|
|
61
|
+
GetWaitGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetWaitGroupRequest").msgclass
|
|
62
|
+
GetWaitGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetWaitGroupResponse").msgclass
|
|
63
|
+
DeleteWaitGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteWaitGroupRequest").msgclass
|
|
64
|
+
DeleteWaitGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteWaitGroupResponse").msgclass
|
|
65
|
+
CompleteJobsFromWaitGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CompleteJobsFromWaitGroupRequest").msgclass
|
|
66
|
+
CompleteJobRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CompleteJobRequest").msgclass
|
|
67
|
+
CompleteJobsFromWaitGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CompleteJobsFromWaitGroupResponse").msgclass
|
|
68
|
+
ListWaitGroupCompletedJobsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListWaitGroupCompletedJobsRequest").msgclass
|
|
69
|
+
ListWaitGroupCompletedJobsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListWaitGroupCompletedJobsResponse").msgclass
|
|
70
|
+
WaitForWaitGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.WaitForWaitGroupRequest").msgclass
|
|
71
|
+
WaitForWaitGroupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.WaitForWaitGroupResponse").msgclass
|
|
72
|
+
WaitGroup = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.WaitGroup").msgclass
|
|
73
|
+
WaitGroupJob = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.WaitGroupJob").msgclass
|
|
74
|
+
AcquireLockRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.AcquireLockRequest").msgclass
|
|
75
|
+
AcquireLockResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.AcquireLockResponse").msgclass
|
|
76
|
+
ReleaseLockRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ReleaseLockRequest").msgclass
|
|
77
|
+
ReleaseLockResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ReleaseLockResponse").msgclass
|
|
78
|
+
GetLockRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetLockRequest").msgclass
|
|
79
|
+
GetLockResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetLockResponse").msgclass
|
|
80
|
+
DeleteLockRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteLockRequest").msgclass
|
|
81
|
+
DeleteLockResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteLockResponse").msgclass
|
|
82
|
+
ListLocksRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListLocksRequest").msgclass
|
|
83
|
+
ListLocksResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListLocksResponse").msgclass
|
|
84
|
+
CreateLockLeaseRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateLockLeaseRequest").msgclass
|
|
85
|
+
CreateLockLeaseResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateLockLeaseResponse").msgclass
|
|
86
|
+
RevokeLockLeaseRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.RevokeLockLeaseRequest").msgclass
|
|
87
|
+
RevokeLockLeaseResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.RevokeLockLeaseResponse").msgclass
|
|
88
|
+
RefreshLockLeaseRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.RefreshLockLeaseRequest").msgclass
|
|
89
|
+
RefreshLockLeaseResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.RefreshLockLeaseResponse").msgclass
|
|
90
|
+
ListLockLeasesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListLockLeasesRequest").msgclass
|
|
91
|
+
ListLockLeasesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListLockLeasesResponse").msgclass
|
|
92
|
+
GetLockLeaseRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetLockLeaseRequest").msgclass
|
|
93
|
+
GetLockLeaseResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetLockLeaseResponse").msgclass
|
|
94
|
+
Lock = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.Lock").msgclass
|
|
95
|
+
LockHolder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.LockHolder").msgclass
|
|
96
|
+
Namespace = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.Namespace").msgclass
|
|
97
|
+
CreateBarrierRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateBarrierRequest").msgclass
|
|
98
|
+
CreateBarrierResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.CreateBarrierResponse").msgclass
|
|
99
|
+
ListBarriersRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListBarriersRequest").msgclass
|
|
100
|
+
ListBarriersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListBarriersResponse").msgclass
|
|
101
|
+
GetBarrierRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetBarrierRequest").msgclass
|
|
102
|
+
GetBarrierResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.GetBarrierResponse").msgclass
|
|
103
|
+
DeleteBarrierRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteBarrierRequest").msgclass
|
|
104
|
+
DeleteBarrierResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.DeleteBarrierResponse").msgclass
|
|
105
|
+
UpdateBarrierRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.UpdateBarrierRequest").msgclass
|
|
106
|
+
UpdateBarrierResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.UpdateBarrierResponse").msgclass
|
|
107
|
+
ArriveAtBarrierRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ArriveAtBarrierRequest").msgclass
|
|
108
|
+
ArriveAtBarrierResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ArriveAtBarrierResponse").msgclass
|
|
109
|
+
WaitAtBarrierRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.WaitAtBarrierRequest").msgclass
|
|
110
|
+
WaitAtBarrierResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.WaitAtBarrierResponse").msgclass
|
|
111
|
+
ListBarrierParticipantsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListBarrierParticipantsRequest").msgclass
|
|
112
|
+
ListBarrierParticipantsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ListBarrierParticipantsResponse").msgclass
|
|
113
|
+
Barrier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.Barrier").msgclass
|
|
114
|
+
BarrierParticipant = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.BarrierParticipant").msgclass
|
|
115
|
+
AcquireOutcome = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.AcquireOutcome").enummodule
|
|
116
|
+
WaitGroupWaitOutcome = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.WaitGroupWaitOutcome").enummodule
|
|
117
|
+
WaitGroupStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.WaitGroupStatus").enummodule
|
|
118
|
+
ContentionReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.ContentionReason").enummodule
|
|
119
|
+
LockState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.LockState").enummodule
|
|
120
|
+
BarrierWaitOutcome = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.evrblk.grackle.v1beta.BarrierWaitOutcome").enummodule
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# Source: evrblk/grackle/v1beta/api.proto for package 'Evrblk.Grackle.V1Beta'
|
|
3
|
+
|
|
4
|
+
require 'grpc'
|
|
5
|
+
require 'evrblk/grackle/v1beta/api_pb'
|
|
6
|
+
|
|
7
|
+
module Evrblk
|
|
8
|
+
module Grackle
|
|
9
|
+
module V1Beta
|
|
10
|
+
module GrackleApi
|
|
11
|
+
class Service
|
|
12
|
+
|
|
13
|
+
include ::GRPC::GenericService
|
|
14
|
+
|
|
15
|
+
self.marshal_class_method = :encode
|
|
16
|
+
self.unmarshal_class_method = :decode
|
|
17
|
+
self.service_name = 'com.evrblk.grackle.v1beta.GrackleApi'
|
|
18
|
+
|
|
19
|
+
rpc :CreateNamespace, ::Evrblk::Grackle::V1Beta::CreateNamespaceRequest, ::Evrblk::Grackle::V1Beta::CreateNamespaceResponse
|
|
20
|
+
rpc :ListNamespaces, ::Evrblk::Grackle::V1Beta::ListNamespacesRequest, ::Evrblk::Grackle::V1Beta::ListNamespacesResponse
|
|
21
|
+
rpc :GetNamespace, ::Evrblk::Grackle::V1Beta::GetNamespaceRequest, ::Evrblk::Grackle::V1Beta::GetNamespaceResponse
|
|
22
|
+
rpc :DeleteNamespace, ::Evrblk::Grackle::V1Beta::DeleteNamespaceRequest, ::Evrblk::Grackle::V1Beta::DeleteNamespaceResponse
|
|
23
|
+
rpc :UpdateNamespace, ::Evrblk::Grackle::V1Beta::UpdateNamespaceRequest, ::Evrblk::Grackle::V1Beta::UpdateNamespaceResponse
|
|
24
|
+
rpc :CreateSemaphore, ::Evrblk::Grackle::V1Beta::CreateSemaphoreRequest, ::Evrblk::Grackle::V1Beta::CreateSemaphoreResponse
|
|
25
|
+
rpc :ListSemaphores, ::Evrblk::Grackle::V1Beta::ListSemaphoresRequest, ::Evrblk::Grackle::V1Beta::ListSemaphoresResponse
|
|
26
|
+
rpc :GetSemaphore, ::Evrblk::Grackle::V1Beta::GetSemaphoreRequest, ::Evrblk::Grackle::V1Beta::GetSemaphoreResponse
|
|
27
|
+
rpc :AcquireSemaphore, ::Evrblk::Grackle::V1Beta::AcquireSemaphoreRequest, ::Evrblk::Grackle::V1Beta::AcquireSemaphoreResponse
|
|
28
|
+
rpc :ReleaseSemaphore, ::Evrblk::Grackle::V1Beta::ReleaseSemaphoreRequest, ::Evrblk::Grackle::V1Beta::ReleaseSemaphoreResponse
|
|
29
|
+
rpc :UpdateSemaphore, ::Evrblk::Grackle::V1Beta::UpdateSemaphoreRequest, ::Evrblk::Grackle::V1Beta::UpdateSemaphoreResponse
|
|
30
|
+
rpc :DeleteSemaphore, ::Evrblk::Grackle::V1Beta::DeleteSemaphoreRequest, ::Evrblk::Grackle::V1Beta::DeleteSemaphoreResponse
|
|
31
|
+
rpc :ListSemaphoreHolders, ::Evrblk::Grackle::V1Beta::ListSemaphoreHoldersRequest, ::Evrblk::Grackle::V1Beta::ListSemaphoreHoldersResponse
|
|
32
|
+
rpc :CreateSemaphoreLease, ::Evrblk::Grackle::V1Beta::CreateSemaphoreLeaseRequest, ::Evrblk::Grackle::V1Beta::CreateSemaphoreLeaseResponse
|
|
33
|
+
rpc :RevokeSemaphoreLease, ::Evrblk::Grackle::V1Beta::RevokeSemaphoreLeaseRequest, ::Evrblk::Grackle::V1Beta::RevokeSemaphoreLeaseResponse
|
|
34
|
+
rpc :RefreshSemaphoreLease, ::Evrblk::Grackle::V1Beta::RefreshSemaphoreLeaseRequest, ::Evrblk::Grackle::V1Beta::RefreshSemaphoreLeaseResponse
|
|
35
|
+
rpc :ListSemaphoreLeases, ::Evrblk::Grackle::V1Beta::ListSemaphoreLeasesRequest, ::Evrblk::Grackle::V1Beta::ListSemaphoreLeasesResponse
|
|
36
|
+
rpc :GetSemaphoreLease, ::Evrblk::Grackle::V1Beta::GetSemaphoreLeaseRequest, ::Evrblk::Grackle::V1Beta::GetSemaphoreLeaseResponse
|
|
37
|
+
rpc :CreateWaitGroup, ::Evrblk::Grackle::V1Beta::CreateWaitGroupRequest, ::Evrblk::Grackle::V1Beta::CreateWaitGroupResponse
|
|
38
|
+
rpc :UpdateWaitGroup, ::Evrblk::Grackle::V1Beta::UpdateWaitGroupRequest, ::Evrblk::Grackle::V1Beta::UpdateWaitGroupResponse
|
|
39
|
+
rpc :ListWaitGroups, ::Evrblk::Grackle::V1Beta::ListWaitGroupsRequest, ::Evrblk::Grackle::V1Beta::ListWaitGroupsResponse
|
|
40
|
+
rpc :GetWaitGroup, ::Evrblk::Grackle::V1Beta::GetWaitGroupRequest, ::Evrblk::Grackle::V1Beta::GetWaitGroupResponse
|
|
41
|
+
rpc :DeleteWaitGroup, ::Evrblk::Grackle::V1Beta::DeleteWaitGroupRequest, ::Evrblk::Grackle::V1Beta::DeleteWaitGroupResponse
|
|
42
|
+
rpc :CompleteJobsFromWaitGroup, ::Evrblk::Grackle::V1Beta::CompleteJobsFromWaitGroupRequest, ::Evrblk::Grackle::V1Beta::CompleteJobsFromWaitGroupResponse
|
|
43
|
+
rpc :ListWaitGroupCompletedJobs, ::Evrblk::Grackle::V1Beta::ListWaitGroupCompletedJobsRequest, ::Evrblk::Grackle::V1Beta::ListWaitGroupCompletedJobsResponse
|
|
44
|
+
rpc :WaitForWaitGroup, ::Evrblk::Grackle::V1Beta::WaitForWaitGroupRequest, ::Evrblk::Grackle::V1Beta::WaitForWaitGroupResponse
|
|
45
|
+
rpc :AcquireLock, ::Evrblk::Grackle::V1Beta::AcquireLockRequest, ::Evrblk::Grackle::V1Beta::AcquireLockResponse
|
|
46
|
+
rpc :ReleaseLock, ::Evrblk::Grackle::V1Beta::ReleaseLockRequest, ::Evrblk::Grackle::V1Beta::ReleaseLockResponse
|
|
47
|
+
rpc :GetLock, ::Evrblk::Grackle::V1Beta::GetLockRequest, ::Evrblk::Grackle::V1Beta::GetLockResponse
|
|
48
|
+
rpc :DeleteLock, ::Evrblk::Grackle::V1Beta::DeleteLockRequest, ::Evrblk::Grackle::V1Beta::DeleteLockResponse
|
|
49
|
+
rpc :ListLocks, ::Evrblk::Grackle::V1Beta::ListLocksRequest, ::Evrblk::Grackle::V1Beta::ListLocksResponse
|
|
50
|
+
rpc :CreateLockLease, ::Evrblk::Grackle::V1Beta::CreateLockLeaseRequest, ::Evrblk::Grackle::V1Beta::CreateLockLeaseResponse
|
|
51
|
+
rpc :RevokeLockLease, ::Evrblk::Grackle::V1Beta::RevokeLockLeaseRequest, ::Evrblk::Grackle::V1Beta::RevokeLockLeaseResponse
|
|
52
|
+
rpc :RefreshLockLease, ::Evrblk::Grackle::V1Beta::RefreshLockLeaseRequest, ::Evrblk::Grackle::V1Beta::RefreshLockLeaseResponse
|
|
53
|
+
rpc :ListLockLeases, ::Evrblk::Grackle::V1Beta::ListLockLeasesRequest, ::Evrblk::Grackle::V1Beta::ListLockLeasesResponse
|
|
54
|
+
rpc :GetLockLease, ::Evrblk::Grackle::V1Beta::GetLockLeaseRequest, ::Evrblk::Grackle::V1Beta::GetLockLeaseResponse
|
|
55
|
+
rpc :CreateBarrier, ::Evrblk::Grackle::V1Beta::CreateBarrierRequest, ::Evrblk::Grackle::V1Beta::CreateBarrierResponse
|
|
56
|
+
rpc :ListBarriers, ::Evrblk::Grackle::V1Beta::ListBarriersRequest, ::Evrblk::Grackle::V1Beta::ListBarriersResponse
|
|
57
|
+
rpc :GetBarrier, ::Evrblk::Grackle::V1Beta::GetBarrierRequest, ::Evrblk::Grackle::V1Beta::GetBarrierResponse
|
|
58
|
+
rpc :DeleteBarrier, ::Evrblk::Grackle::V1Beta::DeleteBarrierRequest, ::Evrblk::Grackle::V1Beta::DeleteBarrierResponse
|
|
59
|
+
rpc :UpdateBarrier, ::Evrblk::Grackle::V1Beta::UpdateBarrierRequest, ::Evrblk::Grackle::V1Beta::UpdateBarrierResponse
|
|
60
|
+
rpc :ArriveAtBarrier, ::Evrblk::Grackle::V1Beta::ArriveAtBarrierRequest, ::Evrblk::Grackle::V1Beta::ArriveAtBarrierResponse
|
|
61
|
+
rpc :WaitAtBarrier, ::Evrblk::Grackle::V1Beta::WaitAtBarrierRequest, ::Evrblk::Grackle::V1Beta::WaitAtBarrierResponse
|
|
62
|
+
rpc :ListBarrierParticipants, ::Evrblk::Grackle::V1Beta::ListBarrierParticipantsRequest, ::Evrblk::Grackle::V1Beta::ListBarrierParticipantsResponse
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
Stub = Service.rpc_stub_class
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|