diff --git a/doc/source/using_config.rst b/doc/source/using_config.rst index 13768e117..d6d75353d 100644 --- a/doc/source/using_config.rst +++ b/doc/source/using_config.rst @@ -140,12 +140,6 @@ toplevel of your configuration file, like so: # Avoid caching build trees if we don't need them cache-buildtrees: auto - # Connection config is parameters given to grpc. It's completely - # optional. By default keepalive time is unset and grpc defaults - # are used. - connection-config: - keepalive-time: 60 - # # Support CAS server as remote cache # Useful to minimize network traffic with remote execution @@ -158,6 +152,11 @@ toplevel of your configuration file, like so: client-key: client.key access-token: access.token access-token-reload-interval: 60 + connection-config: + keepalive-time: 60 + retry-limit: 4 + retry-delay: 1000 + request-timeout: 300 Attributes @@ -778,6 +777,49 @@ or sources without authentication. Authentication can be configured by setting ``access-token`` or both ``client-key`` and ``client-cert``. +.. _config_connection_config: + +Connection configuration +~~~~~~~~~~~~~~~~~~~~~~~~ +BuildStream uses gRPC to communicate with remote services. + +All remote service configuration blocks come with an optional ``connection-config`` +block which allows setting gRPC connection options. + +The ``connection-config`` block looks like this: + +.. code:: yaml + + connection-config: + keepalive-time: 60 + retry-limit: 4 + retry-delay: 1000 + request-timeout: 300 + + +Attributes +'''''''''' + +* ``keepalive-time`` + + The interval in seconds between gRPC PING frames. Disabled by default. + `gRPC keepalive guide `_ + +* ``retry-limit`` + + The maximum number of retries, not including the original request. + +* ``retry-delay`` + + The initial backoff in milliseconds for retries. + `gRPC retry guide `_ + +* ``request-timeout`` + + The timeout for gRPC requests in seconds. No timeout by default. + `gRPC deadline guide `_ + + .. _config_cache_servers: Cache servers @@ -817,6 +859,11 @@ Cache server configuration is declared in the following way: server-cert: server.crt client-cert: client.crt client-key: client.key + connection-config: + keepalive-time: 60 + retry-limit: 4 + retry-delay: 1000 + request-timeout: 300 Attributes @@ -1141,6 +1188,11 @@ which looks like this: server-cert: /keys/server.crt client-cert: /keys/client.crt client-key: /keys/client.key + connection-config: + keepalive-time: 60 + retry-limit: 4 + retry-delay: 1000 + request-timeout: 300 **Attributes:** diff --git a/src/buildstream/_cas/casdprocessmanager.py b/src/buildstream/_cas/casdprocessmanager.py index d1157dd93..899a5473d 100644 --- a/src/buildstream/_cas/casdprocessmanager.py +++ b/src/buildstream/_cas/casdprocessmanager.py @@ -121,6 +121,12 @@ def __init__( ) if remote_cache_spec.keepalive_time is not None: casd_args.append("--cas-keepalive-time={}".format(remote_cache_spec.keepalive_time)) + if remote_cache_spec.retry_limit is not None: + casd_args.append("--cas-retry-limit={}".format(remote_cache_spec.retry_limit)) + if remote_cache_spec.retry_delay is not None: + casd_args.append("--cas-retry-delay={}".format(remote_cache_spec.retry_delay)) + if remote_cache_spec.request_timeout is not None: + casd_args.append("--cas-request-timeout={}".format(remote_cache_spec.request_timeout)) casd_args.append(path) diff --git a/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py index 001d7a9f1..ce8f6c62e 100644 --- a/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py +++ b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: build/bazel/remote/asset/v1/remote_asset.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'build/bazel/remote/asset/v1/remote_asset.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -21,114 +31,40 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.build/bazel/remote/asset/v1/remote_asset.proto\x12\x1b\x62uild.bazel.remote.asset.v1\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"(\n\tQualifier\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xac\x02\n\x10\x46\x65tchBlobRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12*\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x17oldest_content_accepted\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04uris\x18\x04 \x03(\t\x12:\n\nqualifiers\x18\x05 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12N\n\x0f\x64igest_function\x18\x06 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"\xbe\x02\n\x11\x46\x65tchBlobResponse\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12:\n\nqualifiers\x18\x03 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\x0b\x62lob_digest\x18\x05 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12N\n\x0f\x64igest_function\x18\x06 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"\xb1\x02\n\x15\x46\x65tchDirectoryRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12*\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x17oldest_content_accepted\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04uris\x18\x04 \x03(\t\x12:\n\nqualifiers\x18\x05 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12N\n\x0f\x64igest_function\x18\x06 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"\xcd\x02\n\x16\x46\x65tchDirectoryResponse\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12:\n\nqualifiers\x18\x03 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x46\n\x15root_directory_digest\x18\x05 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12N\n\x0f\x64igest_function\x18\x06 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"\xbb\x03\n\x0fPushBlobRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04uris\x18\x02 \x03(\t\x12:\n\nqualifiers\x18\x03 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12-\n\texpire_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\x0b\x62lob_digest\x18\x05 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x41\n\x10references_blobs\x18\x06 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12G\n\x16references_directories\x18\x07 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12N\n\x0f\x64igest_function\x18\x08 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"\x12\n\x10PushBlobResponse\"\xca\x03\n\x14PushDirectoryRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04uris\x18\x02 \x03(\t\x12:\n\nqualifiers\x18\x03 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12-\n\texpire_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x46\n\x15root_directory_digest\x18\x05 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x41\n\x10references_blobs\x18\x06 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12G\n\x16references_directories\x18\x07 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12N\n\x0f\x64igest_function\x18\x08 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"\x17\n\x15PushDirectoryResponse2\xdd\x02\n\x05\x46\x65tch\x12\x9e\x01\n\tFetchBlob\x12-.build.bazel.remote.asset.v1.FetchBlobRequest\x1a..build.bazel.remote.asset.v1.FetchBlobResponse\"2\x82\xd3\xe4\x93\x02,\"\'/v1/{instance_name=**}/assets:fetchBlob:\x01*\x12\xb2\x01\n\x0e\x46\x65tchDirectory\x12\x32.build.bazel.remote.asset.v1.FetchDirectoryRequest\x1a\x33.build.bazel.remote.asset.v1.FetchDirectoryResponse\"7\x82\xd3\xe4\x93\x02\x31\",/v1/{instance_name=**}/assets:fetchDirectory:\x01*2\xd4\x02\n\x04Push\x12\x9a\x01\n\x08PushBlob\x12,.build.bazel.remote.asset.v1.PushBlobRequest\x1a-.build.bazel.remote.asset.v1.PushBlobResponse\"1\x82\xd3\xe4\x93\x02+\"&/v1/{instance_name=**}/assets:pushBlob:\x01*\x12\xae\x01\n\rPushDirectory\x12\x31.build.bazel.remote.asset.v1.PushDirectoryRequest\x1a\x32.build.bazel.remote.asset.v1.PushDirectoryResponse\"6\x82\xd3\xe4\x93\x02\x30\"+/v1/{instance_name=**}/assets:pushDirectory:\x01*B\x9f\x01\n\x1b\x62uild.bazel.remote.asset.v1B\x10RemoteAssetProtoP\x01ZIgithub.com/bazelbuild/remote-apis/build/bazel/remote/asset/v1;remoteasset\xa2\x02\x02RA\xaa\x02\x1b\x42uild.Bazel.Remote.Asset.v1b\x06proto3') - - -_QUALIFIER = DESCRIPTOR.message_types_by_name['Qualifier'] -_FETCHBLOBREQUEST = DESCRIPTOR.message_types_by_name['FetchBlobRequest'] -_FETCHBLOBRESPONSE = DESCRIPTOR.message_types_by_name['FetchBlobResponse'] -_FETCHDIRECTORYREQUEST = DESCRIPTOR.message_types_by_name['FetchDirectoryRequest'] -_FETCHDIRECTORYRESPONSE = DESCRIPTOR.message_types_by_name['FetchDirectoryResponse'] -_PUSHBLOBREQUEST = DESCRIPTOR.message_types_by_name['PushBlobRequest'] -_PUSHBLOBRESPONSE = DESCRIPTOR.message_types_by_name['PushBlobResponse'] -_PUSHDIRECTORYREQUEST = DESCRIPTOR.message_types_by_name['PushDirectoryRequest'] -_PUSHDIRECTORYRESPONSE = DESCRIPTOR.message_types_by_name['PushDirectoryResponse'] -Qualifier = _reflection.GeneratedProtocolMessageType('Qualifier', (_message.Message,), { - 'DESCRIPTOR' : _QUALIFIER, - '__module__' : 'build.bazel.remote.asset.v1.remote_asset_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.asset.v1.Qualifier) - }) -_sym_db.RegisterMessage(Qualifier) - -FetchBlobRequest = _reflection.GeneratedProtocolMessageType('FetchBlobRequest', (_message.Message,), { - 'DESCRIPTOR' : _FETCHBLOBREQUEST, - '__module__' : 'build.bazel.remote.asset.v1.remote_asset_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.asset.v1.FetchBlobRequest) - }) -_sym_db.RegisterMessage(FetchBlobRequest) - -FetchBlobResponse = _reflection.GeneratedProtocolMessageType('FetchBlobResponse', (_message.Message,), { - 'DESCRIPTOR' : _FETCHBLOBRESPONSE, - '__module__' : 'build.bazel.remote.asset.v1.remote_asset_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.asset.v1.FetchBlobResponse) - }) -_sym_db.RegisterMessage(FetchBlobResponse) - -FetchDirectoryRequest = _reflection.GeneratedProtocolMessageType('FetchDirectoryRequest', (_message.Message,), { - 'DESCRIPTOR' : _FETCHDIRECTORYREQUEST, - '__module__' : 'build.bazel.remote.asset.v1.remote_asset_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.asset.v1.FetchDirectoryRequest) - }) -_sym_db.RegisterMessage(FetchDirectoryRequest) - -FetchDirectoryResponse = _reflection.GeneratedProtocolMessageType('FetchDirectoryResponse', (_message.Message,), { - 'DESCRIPTOR' : _FETCHDIRECTORYRESPONSE, - '__module__' : 'build.bazel.remote.asset.v1.remote_asset_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.asset.v1.FetchDirectoryResponse) - }) -_sym_db.RegisterMessage(FetchDirectoryResponse) - -PushBlobRequest = _reflection.GeneratedProtocolMessageType('PushBlobRequest', (_message.Message,), { - 'DESCRIPTOR' : _PUSHBLOBREQUEST, - '__module__' : 'build.bazel.remote.asset.v1.remote_asset_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.asset.v1.PushBlobRequest) - }) -_sym_db.RegisterMessage(PushBlobRequest) - -PushBlobResponse = _reflection.GeneratedProtocolMessageType('PushBlobResponse', (_message.Message,), { - 'DESCRIPTOR' : _PUSHBLOBRESPONSE, - '__module__' : 'build.bazel.remote.asset.v1.remote_asset_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.asset.v1.PushBlobResponse) - }) -_sym_db.RegisterMessage(PushBlobResponse) - -PushDirectoryRequest = _reflection.GeneratedProtocolMessageType('PushDirectoryRequest', (_message.Message,), { - 'DESCRIPTOR' : _PUSHDIRECTORYREQUEST, - '__module__' : 'build.bazel.remote.asset.v1.remote_asset_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.asset.v1.PushDirectoryRequest) - }) -_sym_db.RegisterMessage(PushDirectoryRequest) - -PushDirectoryResponse = _reflection.GeneratedProtocolMessageType('PushDirectoryResponse', (_message.Message,), { - 'DESCRIPTOR' : _PUSHDIRECTORYRESPONSE, - '__module__' : 'build.bazel.remote.asset.v1.remote_asset_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.asset.v1.PushDirectoryResponse) - }) -_sym_db.RegisterMessage(PushDirectoryResponse) - -_FETCH = DESCRIPTOR.services_by_name['Fetch'] -_PUSH = DESCRIPTOR.services_by_name['Push'] -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\033build.bazel.remote.asset.v1B\020RemoteAssetProtoP\001ZIgithub.com/bazelbuild/remote-apis/build/bazel/remote/asset/v1;remoteasset\242\002\002RA\252\002\033Build.Bazel.Remote.Asset.v1' - _FETCH.methods_by_name['FetchBlob']._options = None - _FETCH.methods_by_name['FetchBlob']._serialized_options = b'\202\323\344\223\002,\"\'/v1/{instance_name=**}/assets:fetchBlob:\001*' - _FETCH.methods_by_name['FetchDirectory']._options = None - _FETCH.methods_by_name['FetchDirectory']._serialized_options = b'\202\323\344\223\0021\",/v1/{instance_name=**}/assets:fetchDirectory:\001*' - _PUSH.methods_by_name['PushBlob']._options = None - _PUSH.methods_by_name['PushBlob']._serialized_options = b'\202\323\344\223\002+\"&/v1/{instance_name=**}/assets:pushBlob:\001*' - _PUSH.methods_by_name['PushDirectory']._options = None - _PUSH.methods_by_name['PushDirectory']._serialized_options = b'\202\323\344\223\0020\"+/v1/{instance_name=**}/assets:pushDirectory:\001*' - _QUALIFIER._serialized_start=255 - _QUALIFIER._serialized_end=295 - _FETCHBLOBREQUEST._serialized_start=298 - _FETCHBLOBREQUEST._serialized_end=598 - _FETCHBLOBRESPONSE._serialized_start=601 - _FETCHBLOBRESPONSE._serialized_end=919 - _FETCHDIRECTORYREQUEST._serialized_start=922 - _FETCHDIRECTORYREQUEST._serialized_end=1227 - _FETCHDIRECTORYRESPONSE._serialized_start=1230 - _FETCHDIRECTORYRESPONSE._serialized_end=1563 - _PUSHBLOBREQUEST._serialized_start=1566 - _PUSHBLOBREQUEST._serialized_end=2009 - _PUSHBLOBRESPONSE._serialized_start=2011 - _PUSHBLOBRESPONSE._serialized_end=2029 - _PUSHDIRECTORYREQUEST._serialized_start=2032 - _PUSHDIRECTORYREQUEST._serialized_end=2490 - _PUSHDIRECTORYRESPONSE._serialized_start=2492 - _PUSHDIRECTORYRESPONSE._serialized_end=2515 - _FETCH._serialized_start=2518 - _FETCH._serialized_end=2867 - _PUSH._serialized_start=2870 - _PUSH._serialized_end=3210 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'build.bazel.remote.asset.v1.remote_asset_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033build.bazel.remote.asset.v1B\020RemoteAssetProtoP\001ZIgithub.com/bazelbuild/remote-apis/build/bazel/remote/asset/v1;remoteasset\242\002\002RA\252\002\033Build.Bazel.Remote.Asset.v1' + _globals['_FETCH'].methods_by_name['FetchBlob']._loaded_options = None + _globals['_FETCH'].methods_by_name['FetchBlob']._serialized_options = b'\202\323\344\223\002,\"\'/v1/{instance_name=**}/assets:fetchBlob:\001*' + _globals['_FETCH'].methods_by_name['FetchDirectory']._loaded_options = None + _globals['_FETCH'].methods_by_name['FetchDirectory']._serialized_options = b'\202\323\344\223\0021\",/v1/{instance_name=**}/assets:fetchDirectory:\001*' + _globals['_PUSH'].methods_by_name['PushBlob']._loaded_options = None + _globals['_PUSH'].methods_by_name['PushBlob']._serialized_options = b'\202\323\344\223\002+\"&/v1/{instance_name=**}/assets:pushBlob:\001*' + _globals['_PUSH'].methods_by_name['PushDirectory']._loaded_options = None + _globals['_PUSH'].methods_by_name['PushDirectory']._serialized_options = b'\202\323\344\223\0020\"+/v1/{instance_name=**}/assets:pushDirectory:\001*' + _globals['_QUALIFIER']._serialized_start=255 + _globals['_QUALIFIER']._serialized_end=295 + _globals['_FETCHBLOBREQUEST']._serialized_start=298 + _globals['_FETCHBLOBREQUEST']._serialized_end=598 + _globals['_FETCHBLOBRESPONSE']._serialized_start=601 + _globals['_FETCHBLOBRESPONSE']._serialized_end=919 + _globals['_FETCHDIRECTORYREQUEST']._serialized_start=922 + _globals['_FETCHDIRECTORYREQUEST']._serialized_end=1227 + _globals['_FETCHDIRECTORYRESPONSE']._serialized_start=1230 + _globals['_FETCHDIRECTORYRESPONSE']._serialized_end=1563 + _globals['_PUSHBLOBREQUEST']._serialized_start=1566 + _globals['_PUSHBLOBREQUEST']._serialized_end=2009 + _globals['_PUSHBLOBRESPONSE']._serialized_start=2011 + _globals['_PUSHBLOBRESPONSE']._serialized_end=2029 + _globals['_PUSHDIRECTORYREQUEST']._serialized_start=2032 + _globals['_PUSHDIRECTORYREQUEST']._serialized_end=2490 + _globals['_PUSHDIRECTORYRESPONSE']._serialized_start=2492 + _globals['_PUSHDIRECTORYRESPONSE']._serialized_end=2515 + _globals['_FETCH']._serialized_start=2518 + _globals['_FETCH']._serialized_end=2867 + _globals['_PUSH']._serialized_start=2870 + _globals['_PUSH']._serialized_end=3210 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.pyi b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.pyi new file mode 100644 index 000000000..660fa2de4 --- /dev/null +++ b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.pyi @@ -0,0 +1,131 @@ +from build.bazel.remote.execution.v2 import remote_execution_pb2 as _remote_execution_pb2 +from google.api import annotations_pb2 as _annotations_pb2 +from google.protobuf import duration_pb2 as _duration_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.rpc import status_pb2 as _status_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Qualifier(_message.Message): + __slots__ = ("name", "value") + NAME_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + name: str + value: str + def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + +class FetchBlobRequest(_message.Message): + __slots__ = ("instance_name", "timeout", "oldest_content_accepted", "uris", "qualifiers", "digest_function") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + TIMEOUT_FIELD_NUMBER: _ClassVar[int] + OLDEST_CONTENT_ACCEPTED_FIELD_NUMBER: _ClassVar[int] + URIS_FIELD_NUMBER: _ClassVar[int] + QUALIFIERS_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + timeout: _duration_pb2.Duration + oldest_content_accepted: _timestamp_pb2.Timestamp + uris: _containers.RepeatedScalarFieldContainer[str] + qualifiers: _containers.RepeatedCompositeFieldContainer[Qualifier] + digest_function: _remote_execution_pb2.DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., oldest_content_accepted: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., uris: _Optional[_Iterable[str]] = ..., qualifiers: _Optional[_Iterable[_Union[Qualifier, _Mapping]]] = ..., digest_function: _Optional[_Union[_remote_execution_pb2.DigestFunction.Value, str]] = ...) -> None: ... + +class FetchBlobResponse(_message.Message): + __slots__ = ("status", "uri", "qualifiers", "expires_at", "blob_digest", "digest_function") + STATUS_FIELD_NUMBER: _ClassVar[int] + URI_FIELD_NUMBER: _ClassVar[int] + QUALIFIERS_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + BLOB_DIGEST_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + status: _status_pb2.Status + uri: str + qualifiers: _containers.RepeatedCompositeFieldContainer[Qualifier] + expires_at: _timestamp_pb2.Timestamp + blob_digest: _remote_execution_pb2.Digest + digest_function: _remote_execution_pb2.DigestFunction.Value + def __init__(self, status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., uri: _Optional[str] = ..., qualifiers: _Optional[_Iterable[_Union[Qualifier, _Mapping]]] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., blob_digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., digest_function: _Optional[_Union[_remote_execution_pb2.DigestFunction.Value, str]] = ...) -> None: ... + +class FetchDirectoryRequest(_message.Message): + __slots__ = ("instance_name", "timeout", "oldest_content_accepted", "uris", "qualifiers", "digest_function") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + TIMEOUT_FIELD_NUMBER: _ClassVar[int] + OLDEST_CONTENT_ACCEPTED_FIELD_NUMBER: _ClassVar[int] + URIS_FIELD_NUMBER: _ClassVar[int] + QUALIFIERS_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + timeout: _duration_pb2.Duration + oldest_content_accepted: _timestamp_pb2.Timestamp + uris: _containers.RepeatedScalarFieldContainer[str] + qualifiers: _containers.RepeatedCompositeFieldContainer[Qualifier] + digest_function: _remote_execution_pb2.DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., oldest_content_accepted: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., uris: _Optional[_Iterable[str]] = ..., qualifiers: _Optional[_Iterable[_Union[Qualifier, _Mapping]]] = ..., digest_function: _Optional[_Union[_remote_execution_pb2.DigestFunction.Value, str]] = ...) -> None: ... + +class FetchDirectoryResponse(_message.Message): + __slots__ = ("status", "uri", "qualifiers", "expires_at", "root_directory_digest", "digest_function") + STATUS_FIELD_NUMBER: _ClassVar[int] + URI_FIELD_NUMBER: _ClassVar[int] + QUALIFIERS_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + ROOT_DIRECTORY_DIGEST_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + status: _status_pb2.Status + uri: str + qualifiers: _containers.RepeatedCompositeFieldContainer[Qualifier] + expires_at: _timestamp_pb2.Timestamp + root_directory_digest: _remote_execution_pb2.Digest + digest_function: _remote_execution_pb2.DigestFunction.Value + def __init__(self, status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., uri: _Optional[str] = ..., qualifiers: _Optional[_Iterable[_Union[Qualifier, _Mapping]]] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., root_directory_digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., digest_function: _Optional[_Union[_remote_execution_pb2.DigestFunction.Value, str]] = ...) -> None: ... + +class PushBlobRequest(_message.Message): + __slots__ = ("instance_name", "uris", "qualifiers", "expire_at", "blob_digest", "references_blobs", "references_directories", "digest_function") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + URIS_FIELD_NUMBER: _ClassVar[int] + QUALIFIERS_FIELD_NUMBER: _ClassVar[int] + EXPIRE_AT_FIELD_NUMBER: _ClassVar[int] + BLOB_DIGEST_FIELD_NUMBER: _ClassVar[int] + REFERENCES_BLOBS_FIELD_NUMBER: _ClassVar[int] + REFERENCES_DIRECTORIES_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + uris: _containers.RepeatedScalarFieldContainer[str] + qualifiers: _containers.RepeatedCompositeFieldContainer[Qualifier] + expire_at: _timestamp_pb2.Timestamp + blob_digest: _remote_execution_pb2.Digest + references_blobs: _containers.RepeatedCompositeFieldContainer[_remote_execution_pb2.Digest] + references_directories: _containers.RepeatedCompositeFieldContainer[_remote_execution_pb2.Digest] + digest_function: _remote_execution_pb2.DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., uris: _Optional[_Iterable[str]] = ..., qualifiers: _Optional[_Iterable[_Union[Qualifier, _Mapping]]] = ..., expire_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., blob_digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., references_blobs: _Optional[_Iterable[_Union[_remote_execution_pb2.Digest, _Mapping]]] = ..., references_directories: _Optional[_Iterable[_Union[_remote_execution_pb2.Digest, _Mapping]]] = ..., digest_function: _Optional[_Union[_remote_execution_pb2.DigestFunction.Value, str]] = ...) -> None: ... + +class PushBlobResponse(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class PushDirectoryRequest(_message.Message): + __slots__ = ("instance_name", "uris", "qualifiers", "expire_at", "root_directory_digest", "references_blobs", "references_directories", "digest_function") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + URIS_FIELD_NUMBER: _ClassVar[int] + QUALIFIERS_FIELD_NUMBER: _ClassVar[int] + EXPIRE_AT_FIELD_NUMBER: _ClassVar[int] + ROOT_DIRECTORY_DIGEST_FIELD_NUMBER: _ClassVar[int] + REFERENCES_BLOBS_FIELD_NUMBER: _ClassVar[int] + REFERENCES_DIRECTORIES_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + uris: _containers.RepeatedScalarFieldContainer[str] + qualifiers: _containers.RepeatedCompositeFieldContainer[Qualifier] + expire_at: _timestamp_pb2.Timestamp + root_directory_digest: _remote_execution_pb2.Digest + references_blobs: _containers.RepeatedCompositeFieldContainer[_remote_execution_pb2.Digest] + references_directories: _containers.RepeatedCompositeFieldContainer[_remote_execution_pb2.Digest] + digest_function: _remote_execution_pb2.DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., uris: _Optional[_Iterable[str]] = ..., qualifiers: _Optional[_Iterable[_Union[Qualifier, _Mapping]]] = ..., expire_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., root_directory_digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., references_blobs: _Optional[_Iterable[_Union[_remote_execution_pb2.Digest, _Mapping]]] = ..., references_directories: _Optional[_Iterable[_Union[_remote_execution_pb2.Digest, _Mapping]]] = ..., digest_function: _Optional[_Union[_remote_execution_pb2.DigestFunction.Value, str]] = ...) -> None: ... + +class PushDirectoryResponse(_message.Message): + __slots__ = () + def __init__(self) -> None: ... diff --git a/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py index 2677149fb..ad2feca8e 100644 --- a/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py +++ b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from buildstream._protos.build.bazel.remote.asset.v1 import remote_asset_pb2 as build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2 +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class FetchStub(object): """The Fetch service resolves or fetches assets referenced by URI and @@ -26,12 +46,12 @@ def __init__(self, channel): '/build.bazel.remote.asset.v1.Fetch/FetchBlob', request_serializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchBlobRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchBlobResponse.FromString, - ) + _registered_method=True) self.FetchDirectory = channel.unary_unary( '/build.bazel.remote.asset.v1.Fetch/FetchDirectory', request_serializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchDirectoryRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchDirectoryResponse.FromString, - ) + _registered_method=True) class FetchServicer(object): @@ -131,6 +151,7 @@ def add_FetchServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'build.bazel.remote.asset.v1.Fetch', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('build.bazel.remote.asset.v1.Fetch', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -156,11 +177,21 @@ def FetchBlob(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.asset.v1.Fetch/FetchBlob', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.asset.v1.Fetch/FetchBlob', build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchBlobRequest.SerializeToString, build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchBlobResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def FetchDirectory(request, @@ -173,11 +204,21 @@ def FetchDirectory(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.asset.v1.Fetch/FetchDirectory', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.asset.v1.Fetch/FetchDirectory', build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchDirectoryRequest.SerializeToString, build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchDirectoryResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) class PushStub(object): @@ -200,12 +241,12 @@ def __init__(self, channel): '/build.bazel.remote.asset.v1.Push/PushBlob', request_serializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushBlobRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushBlobResponse.FromString, - ) + _registered_method=True) self.PushDirectory = channel.unary_unary( '/build.bazel.remote.asset.v1.Push/PushDirectory', request_serializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushDirectoryRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushDirectoryResponse.FromString, - ) + _registered_method=True) class PushServicer(object): @@ -281,6 +322,7 @@ def add_PushServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'build.bazel.remote.asset.v1.Push', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('build.bazel.remote.asset.v1.Push', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -305,11 +347,21 @@ def PushBlob(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.asset.v1.Push/PushBlob', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.asset.v1.Push/PushBlob', build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushBlobRequest.SerializeToString, build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushBlobResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def PushDirectory(request, @@ -322,8 +374,18 @@ def PushDirectory(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.asset.v1.Push/PushDirectory', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.asset.v1.Push/PushDirectory', build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushDirectoryRequest.SerializeToString, build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushDirectoryResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py index da10f4f9a..147dd4c31 100644 --- a/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py +++ b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: build/bazel/remote/execution/v2/remote_execution.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'build/bazel/remote/execution/v2/remote_execution.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -24,594 +34,162 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6build/bazel/remote/execution/v2/remote_execution.proto\x12\x1f\x62uild.bazel.remote.execution.v2\x1a\x1f\x62uild/bazel/semver/semver.proto\x1a\x1cgoogle/api/annotations.proto\x1a#google/longrunning/operations.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17google/rpc/status.proto\"\xa6\x02\n\x06\x41\x63tion\x12?\n\x0e\x63ommand_digest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x42\n\x11input_root_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x14\n\x0c\x64o_not_cache\x18\x07 \x01(\x08\x12\x0c\n\x04salt\x18\t \x01(\x0c\x12;\n\x08platform\x18\n \x01(\x0b\x32).build.bazel.remote.execution.v2.PlatformJ\x04\x08\x03\x10\x06J\x04\x08\x08\x10\t\"\xae\x04\n\x07\x43ommand\x12\x11\n\targuments\x18\x01 \x03(\t\x12[\n\x15\x65nvironment_variables\x18\x02 \x03(\x0b\x32<.build.bazel.remote.execution.v2.Command.EnvironmentVariable\x12\x18\n\x0coutput_files\x18\x03 \x03(\tB\x02\x18\x01\x12\x1e\n\x12output_directories\x18\x04 \x03(\tB\x02\x18\x01\x12\x14\n\x0coutput_paths\x18\x07 \x03(\t\x12?\n\x08platform\x18\x05 \x01(\x0b\x32).build.bazel.remote.execution.v2.PlatformB\x02\x18\x01\x12\x19\n\x11working_directory\x18\x06 \x01(\t\x12\x1e\n\x16output_node_properties\x18\x08 \x03(\t\x12_\n\x17output_directory_format\x18\t \x01(\x0e\x32>.build.bazel.remote.execution.v2.Command.OutputDirectoryFormat\x1a\x32\n\x13\x45nvironmentVariable\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"R\n\x15OutputDirectoryFormat\x12\r\n\tTREE_ONLY\x10\x00\x12\x12\n\x0e\x44IRECTORY_ONLY\x10\x01\x12\x16\n\x12TREE_AND_DIRECTORY\x10\x02\"{\n\x08Platform\x12\x46\n\nproperties\x18\x01 \x03(\x0b\x32\x32.build.bazel.remote.execution.v2.Platform.Property\x1a\'\n\x08Property\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\x9a\x02\n\tDirectory\x12\x38\n\x05\x66iles\x18\x01 \x03(\x0b\x32).build.bazel.remote.execution.v2.FileNode\x12\x43\n\x0b\x64irectories\x18\x02 \x03(\x0b\x32..build.bazel.remote.execution.v2.DirectoryNode\x12>\n\x08symlinks\x18\x03 \x03(\x0b\x32,.build.bazel.remote.execution.v2.SymlinkNode\x12H\n\x0fnode_properties\x18\x05 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x04\x10\x05\"+\n\x0cNodeProperty\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xaf\x01\n\x0eNodeProperties\x12\x41\n\nproperties\x18\x01 \x03(\x0b\x32-.build.bazel.remote.execution.v2.NodeProperty\x12)\n\x05mtime\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\tunix_mode\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\"\xbe\x01\n\x08\x46ileNode\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x15\n\ris_executable\x18\x04 \x01(\x08\x12H\n\x0fnode_properties\x18\x06 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06\"V\n\rDirectoryNode\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"{\n\x0bSymlinkNode\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\x12H\n\x0fnode_properties\x18\x04 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x03\x10\x04\"*\n\x06\x44igest\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x12\n\nsize_bytes\x18\x02 \x01(\x03\"\xdd\x05\n\x16\x45xecutedActionMetadata\x12\x0e\n\x06worker\x18\x01 \x01(\t\x12\x34\n\x10queued_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12:\n\x16worker_start_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x1aworker_completed_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12?\n\x1binput_fetch_start_timestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1finput_fetch_completed_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x19\x65xecution_start_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x1d\x65xecution_completed_timestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x1avirtual_execution_duration\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x41\n\x1doutput_upload_start_timestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x45\n!output_upload_completed_timestamp\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x12\x61uxiliary_metadata\x18\x0b \x03(\x0b\x32\x14.google.protobuf.Any\"\xa7\x05\n\x0c\x41\x63tionResult\x12\x41\n\x0coutput_files\x18\x02 \x03(\x0b\x32+.build.bazel.remote.execution.v2.OutputFile\x12P\n\x14output_file_symlinks\x18\n \x03(\x0b\x32..build.bazel.remote.execution.v2.OutputSymlinkB\x02\x18\x01\x12G\n\x0foutput_symlinks\x18\x0c \x03(\x0b\x32..build.bazel.remote.execution.v2.OutputSymlink\x12L\n\x12output_directories\x18\x03 \x03(\x0b\x32\x30.build.bazel.remote.execution.v2.OutputDirectory\x12U\n\x19output_directory_symlinks\x18\x0b \x03(\x0b\x32..build.bazel.remote.execution.v2.OutputSymlinkB\x02\x18\x01\x12\x11\n\texit_code\x18\x04 \x01(\x05\x12\x12\n\nstdout_raw\x18\x05 \x01(\x0c\x12>\n\rstdout_digest\x18\x06 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x12\n\nstderr_raw\x18\x07 \x01(\x0c\x12>\n\rstderr_digest\x18\x08 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12S\n\x12\x65xecution_metadata\x18\t \x01(\x0b\x32\x37.build.bazel.remote.execution.v2.ExecutedActionMetadataJ\x04\x08\x01\x10\x02\"\xd2\x01\n\nOutputFile\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x15\n\ris_executable\x18\x04 \x01(\x08\x12\x10\n\x08\x63ontents\x18\x05 \x01(\x0c\x12H\n\x0fnode_properties\x18\x07 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x03\x10\x04J\x04\x08\x06\x10\x07\"~\n\x04Tree\x12\x38\n\x04root\x18\x01 \x01(\x0b\x32*.build.bazel.remote.execution.v2.Directory\x12<\n\x08\x63hildren\x18\x02 \x03(\x0b\x32*.build.bazel.remote.execution.v2.Directory\"\xcc\x01\n\x0fOutputDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t\x12<\n\x0btree_digest\x18\x03 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x1f\n\x17is_topologically_sorted\x18\x04 \x01(\x08\x12\x46\n\x15root_directory_digest\x18\x05 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.DigestJ\x04\x08\x02\x10\x03\"}\n\rOutputSymlink\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\x12H\n\x0fnode_properties\x18\x04 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x03\x10\x04\"#\n\x0f\x45xecutionPolicy\x12\x10\n\x08priority\x18\x01 \x01(\x05\"&\n\x12ResultsCachePolicy\x12\x10\n\x08priority\x18\x01 \x01(\x05\"\xce\x03\n\x0e\x45xecuteRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x19\n\x11skip_cache_lookup\x18\x03 \x01(\x08\x12>\n\raction_digest\x18\x06 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12J\n\x10\x65xecution_policy\x18\x07 \x01(\x0b\x32\x30.build.bazel.remote.execution.v2.ExecutionPolicy\x12Q\n\x14results_cache_policy\x18\x08 \x01(\x0b\x32\x33.build.bazel.remote.execution.v2.ResultsCachePolicy\x12N\n\x0f\x64igest_function\x18\t \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\x12\x15\n\rinline_stdout\x18\n \x01(\x08\x12\x15\n\rinline_stderr\x18\x0b \x01(\x08\x12\x1b\n\x13inline_output_files\x18\x0c \x03(\tJ\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\"Z\n\x07LogFile\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x16\n\x0ehuman_readable\x18\x02 \x01(\x08\"\xd0\x02\n\x0f\x45xecuteResponse\x12=\n\x06result\x18\x01 \x01(\x0b\x32-.build.bazel.remote.execution.v2.ActionResult\x12\x15\n\rcached_result\x18\x02 \x01(\x08\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12U\n\x0bserver_logs\x18\x04 \x03(\x0b\x32@.build.bazel.remote.execution.v2.ExecuteResponse.ServerLogsEntry\x12\x0f\n\x07message\x18\x05 \x01(\t\x1a[\n\x0fServerLogsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32(.build.bazel.remote.execution.v2.LogFile:\x02\x38\x01\"a\n\x0e\x45xecutionStage\"O\n\x05Value\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0f\n\x0b\x43\x41\x43HE_CHECK\x10\x01\x12\n\n\x06QUEUED\x10\x02\x12\r\n\tEXECUTING\x10\x03\x12\r\n\tCOMPLETED\x10\x04\"\xb5\x02\n\x18\x45xecuteOperationMetadata\x12\x44\n\x05stage\x18\x01 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.ExecutionStage.Value\x12>\n\raction_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x1a\n\x12stdout_stream_name\x18\x03 \x01(\t\x12\x1a\n\x12stderr_stream_name\x18\x04 \x01(\t\x12[\n\x1apartial_execution_metadata\x18\x05 \x01(\x0b\x32\x37.build.bazel.remote.execution.v2.ExecutedActionMetadata\"$\n\x14WaitExecutionRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x8a\x02\n\x16GetActionResultRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12>\n\raction_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x15\n\rinline_stdout\x18\x03 \x01(\x08\x12\x15\n\rinline_stderr\x18\x04 \x01(\x08\x12\x1b\n\x13inline_output_files\x18\x05 \x03(\t\x12N\n\x0f\x64igest_function\x18\x06 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"\xdb\x02\n\x19UpdateActionResultRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12>\n\raction_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x44\n\raction_result\x18\x03 \x01(\x0b\x32-.build.bazel.remote.execution.v2.ActionResult\x12Q\n\x14results_cache_policy\x18\x04 \x01(\x0b\x32\x33.build.bazel.remote.execution.v2.ResultsCachePolicy\x12N\n\x0f\x64igest_function\x18\x05 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"\xbf\x01\n\x17\x46indMissingBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12=\n\x0c\x62lob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12N\n\x0f\x64igest_function\x18\x03 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"a\n\x18\x46indMissingBlobsResponse\x12\x45\n\x14missing_blob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xee\x02\n\x17\x42\x61tchUpdateBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12R\n\x08requests\x18\x02 \x03(\x0b\x32@.build.bazel.remote.execution.v2.BatchUpdateBlobsRequest.Request\x12N\n\x0f\x64igest_function\x18\x05 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\x1a\x97\x01\n\x07Request\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x45\n\ncompressor\x18\x03 \x01(\x0e\x32\x31.build.bazel.remote.execution.v2.Compressor.Value\"\xda\x01\n\x18\x42\x61tchUpdateBlobsResponse\x12U\n\tresponses\x18\x01 \x03(\x0b\x32\x42.build.bazel.remote.execution.v2.BatchUpdateBlobsResponse.Response\x1ag\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"\x8b\x02\n\x15\x42\x61tchReadBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x38\n\x07\x64igests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12Q\n\x16\x61\x63\x63\x65ptable_compressors\x18\x03 \x03(\x0e\x32\x31.build.bazel.remote.execution.v2.Compressor.Value\x12N\n\x0f\x64igest_function\x18\x04 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"\xac\x02\n\x16\x42\x61tchReadBlobsResponse\x12S\n\tresponses\x18\x01 \x03(\x0b\x32@.build.bazel.remote.execution.v2.BatchReadBlobsResponse.Response\x1a\xbc\x01\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x45\n\ncompressor\x18\x04 \x01(\x0e\x32\x31.build.bazel.remote.execution.v2.Compressor.Value\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\"\xdc\x01\n\x0eGetTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\x12N\n\x0f\x64igest_function\x18\x05 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"k\n\x0fGetTreeResponse\x12?\n\x0b\x64irectories\x18\x01 \x03(\x0b\x32*.build.bazel.remote.execution.v2.Directory\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"/\n\x16GetCapabilitiesRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xe3\x02\n\x12ServerCapabilities\x12N\n\x12\x63\x61\x63he_capabilities\x18\x01 \x01(\x0b\x32\x32.build.bazel.remote.execution.v2.CacheCapabilities\x12V\n\x16\x65xecution_capabilities\x18\x02 \x01(\x0b\x32\x36.build.bazel.remote.execution.v2.ExecutionCapabilities\x12:\n\x16\x64\x65precated_api_version\x18\x03 \x01(\x0b\x32\x1a.build.bazel.semver.SemVer\x12\x33\n\x0flow_api_version\x18\x04 \x01(\x0b\x32\x1a.build.bazel.semver.SemVer\x12\x34\n\x10high_api_version\x18\x05 \x01(\x0b\x32\x1a.build.bazel.semver.SemVer\"\x8f\x01\n\x0e\x44igestFunction\"}\n\x05Value\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06SHA256\x10\x01\x12\x08\n\x04SHA1\x10\x02\x12\x07\n\x03MD5\x10\x03\x12\x07\n\x03VSO\x10\x04\x12\n\n\x06SHA384\x10\x05\x12\n\n\x06SHA512\x10\x06\x12\x0b\n\x07MURMUR3\x10\x07\x12\x0e\n\nSHA256TREE\x10\x08\x12\n\n\x06\x42LAKE3\x10\t\"7\n\x1d\x41\x63tionCacheUpdateCapabilities\x12\x16\n\x0eupdate_enabled\x18\x01 \x01(\x08\"\xac\x01\n\x14PriorityCapabilities\x12W\n\npriorities\x18\x01 \x03(\x0b\x32\x43.build.bazel.remote.execution.v2.PriorityCapabilities.PriorityRange\x1a;\n\rPriorityRange\x12\x14\n\x0cmin_priority\x18\x01 \x01(\x05\x12\x14\n\x0cmax_priority\x18\x02 \x01(\x05\"P\n\x1bSymlinkAbsolutePathStrategy\"1\n\x05Value\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nDISALLOWED\x10\x01\x12\x0b\n\x07\x41LLOWED\x10\x02\"F\n\nCompressor\"8\n\x05Value\x12\x0c\n\x08IDENTITY\x10\x00\x12\x08\n\x04ZSTD\x10\x01\x12\x0b\n\x07\x44\x45\x46LATE\x10\x02\x12\n\n\x06\x42ROTLI\x10\x03\"\xeb\x04\n\x11\x43\x61\x63heCapabilities\x12O\n\x10\x64igest_functions\x18\x01 \x03(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\x12h\n action_cache_update_capabilities\x18\x02 \x01(\x0b\x32>.build.bazel.remote.execution.v2.ActionCacheUpdateCapabilities\x12Z\n\x1b\x63\x61\x63he_priority_capabilities\x18\x03 \x01(\x0b\x32\x35.build.bazel.remote.execution.v2.PriorityCapabilities\x12\"\n\x1amax_batch_total_size_bytes\x18\x04 \x01(\x03\x12j\n\x1esymlink_absolute_path_strategy\x18\x05 \x01(\x0e\x32\x42.build.bazel.remote.execution.v2.SymlinkAbsolutePathStrategy.Value\x12P\n\x15supported_compressors\x18\x06 \x03(\x0e\x32\x31.build.bazel.remote.execution.v2.Compressor.Value\x12]\n\"supported_batch_update_compressors\x18\x07 \x03(\x0e\x32\x31.build.bazel.remote.execution.v2.Compressor.Value\"\xd1\x02\n\x15\x45xecutionCapabilities\x12N\n\x0f\x64igest_function\x18\x01 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\x12\x14\n\x0c\x65xec_enabled\x18\x02 \x01(\x08\x12^\n\x1f\x65xecution_priority_capabilities\x18\x03 \x01(\x0b\x32\x35.build.bazel.remote.execution.v2.PriorityCapabilities\x12!\n\x19supported_node_properties\x18\x04 \x03(\t\x12O\n\x10\x64igest_functions\x18\x05 \x03(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\"6\n\x0bToolDetails\x12\x11\n\ttool_name\x18\x01 \x01(\t\x12\x14\n\x0ctool_version\x18\x02 \x01(\t\"\xed\x01\n\x0fRequestMetadata\x12\x42\n\x0ctool_details\x18\x01 \x01(\x0b\x32,.build.bazel.remote.execution.v2.ToolDetails\x12\x11\n\taction_id\x18\x02 \x01(\t\x12\x1a\n\x12tool_invocation_id\x18\x03 \x01(\t\x12!\n\x19\x63orrelated_invocations_id\x18\x04 \x01(\t\x12\x17\n\x0f\x61\x63tion_mnemonic\x18\x05 \x01(\t\x12\x11\n\ttarget_id\x18\x06 \x01(\t\x12\x18\n\x10\x63onfiguration_id\x18\x07 \x01(\t2\xb9\x02\n\tExecution\x12\x8e\x01\n\x07\x45xecute\x12/.build.bazel.remote.execution.v2.ExecuteRequest\x1a\x1d.google.longrunning.Operation\"1\x82\xd3\xe4\x93\x02+\"&/v2/{instance_name=**}/actions:execute:\x01*0\x01\x12\x9a\x01\n\rWaitExecution\x12\x35.build.bazel.remote.execution.v2.WaitExecutionRequest\x1a\x1d.google.longrunning.Operation\"1\x82\xd3\xe4\x93\x02+\"&/v2/{name=operations/**}:waitExecution:\x01*0\x01\x32\xd6\x03\n\x0b\x41\x63tionCache\x12\xd7\x01\n\x0fGetActionResult\x12\x37.build.bazel.remote.execution.v2.GetActionResultRequest\x1a-.build.bazel.remote.execution.v2.ActionResult\"\\\x82\xd3\xe4\x93\x02V\x12T/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}\x12\xec\x01\n\x12UpdateActionResult\x12:.build.bazel.remote.execution.v2.UpdateActionResultRequest\x1a-.build.bazel.remote.execution.v2.ActionResult\"k\x82\xd3\xe4\x93\x02\x65\x1aT/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}:\raction_result2\x9b\x06\n\x19\x43ontentAddressableStorage\x12\xbc\x01\n\x10\x46indMissingBlobs\x12\x38.build.bazel.remote.execution.v2.FindMissingBlobsRequest\x1a\x39.build.bazel.remote.execution.v2.FindMissingBlobsResponse\"3\x82\xd3\xe4\x93\x02-\"(/v2/{instance_name=**}/blobs:findMissing:\x01*\x12\xbc\x01\n\x10\x42\x61tchUpdateBlobs\x12\x38.build.bazel.remote.execution.v2.BatchUpdateBlobsRequest\x1a\x39.build.bazel.remote.execution.v2.BatchUpdateBlobsResponse\"3\x82\xd3\xe4\x93\x02-\"(/v2/{instance_name=**}/blobs:batchUpdate:\x01*\x12\xb4\x01\n\x0e\x42\x61tchReadBlobs\x12\x36.build.bazel.remote.execution.v2.BatchReadBlobsRequest\x1a\x37.build.bazel.remote.execution.v2.BatchReadBlobsResponse\"1\x82\xd3\xe4\x93\x02+\"&/v2/{instance_name=**}/blobs:batchRead:\x01*\x12\xc8\x01\n\x07GetTree\x12/.build.bazel.remote.execution.v2.GetTreeRequest\x1a\x30.build.bazel.remote.execution.v2.GetTreeResponse\"X\x82\xd3\xe4\x93\x02R\x12P/v2/{instance_name=**}/blobs/{root_digest.hash}/{root_digest.size_bytes}:getTree0\x01\x32\xbd\x01\n\x0c\x43\x61pabilities\x12\xac\x01\n\x0fGetCapabilities\x12\x37.build.bazel.remote.execution.v2.GetCapabilitiesRequest\x1a\x33.build.bazel.remote.execution.v2.ServerCapabilities\"+\x82\xd3\xe4\x93\x02%\x12#/v2/{instance_name=**}/capabilitiesB\xb4\x01\n\x1f\x62uild.bazel.remote.execution.v2B\x14RemoteExecutionProtoP\x01ZQgithub.com/bazelbuild/remote-apis/build/bazel/remote/execution/v2;remoteexecution\xa2\x02\x03REX\xaa\x02\x1f\x42uild.Bazel.Remote.Execution.V2b\x06proto3') - - -_ACTION = DESCRIPTOR.message_types_by_name['Action'] -_COMMAND = DESCRIPTOR.message_types_by_name['Command'] -_COMMAND_ENVIRONMENTVARIABLE = _COMMAND.nested_types_by_name['EnvironmentVariable'] -_PLATFORM = DESCRIPTOR.message_types_by_name['Platform'] -_PLATFORM_PROPERTY = _PLATFORM.nested_types_by_name['Property'] -_DIRECTORY = DESCRIPTOR.message_types_by_name['Directory'] -_NODEPROPERTY = DESCRIPTOR.message_types_by_name['NodeProperty'] -_NODEPROPERTIES = DESCRIPTOR.message_types_by_name['NodeProperties'] -_FILENODE = DESCRIPTOR.message_types_by_name['FileNode'] -_DIRECTORYNODE = DESCRIPTOR.message_types_by_name['DirectoryNode'] -_SYMLINKNODE = DESCRIPTOR.message_types_by_name['SymlinkNode'] -_DIGEST = DESCRIPTOR.message_types_by_name['Digest'] -_EXECUTEDACTIONMETADATA = DESCRIPTOR.message_types_by_name['ExecutedActionMetadata'] -_ACTIONRESULT = DESCRIPTOR.message_types_by_name['ActionResult'] -_OUTPUTFILE = DESCRIPTOR.message_types_by_name['OutputFile'] -_TREE = DESCRIPTOR.message_types_by_name['Tree'] -_OUTPUTDIRECTORY = DESCRIPTOR.message_types_by_name['OutputDirectory'] -_OUTPUTSYMLINK = DESCRIPTOR.message_types_by_name['OutputSymlink'] -_EXECUTIONPOLICY = DESCRIPTOR.message_types_by_name['ExecutionPolicy'] -_RESULTSCACHEPOLICY = DESCRIPTOR.message_types_by_name['ResultsCachePolicy'] -_EXECUTEREQUEST = DESCRIPTOR.message_types_by_name['ExecuteRequest'] -_LOGFILE = DESCRIPTOR.message_types_by_name['LogFile'] -_EXECUTERESPONSE = DESCRIPTOR.message_types_by_name['ExecuteResponse'] -_EXECUTERESPONSE_SERVERLOGSENTRY = _EXECUTERESPONSE.nested_types_by_name['ServerLogsEntry'] -_EXECUTIONSTAGE = DESCRIPTOR.message_types_by_name['ExecutionStage'] -_EXECUTEOPERATIONMETADATA = DESCRIPTOR.message_types_by_name['ExecuteOperationMetadata'] -_WAITEXECUTIONREQUEST = DESCRIPTOR.message_types_by_name['WaitExecutionRequest'] -_GETACTIONRESULTREQUEST = DESCRIPTOR.message_types_by_name['GetActionResultRequest'] -_UPDATEACTIONRESULTREQUEST = DESCRIPTOR.message_types_by_name['UpdateActionResultRequest'] -_FINDMISSINGBLOBSREQUEST = DESCRIPTOR.message_types_by_name['FindMissingBlobsRequest'] -_FINDMISSINGBLOBSRESPONSE = DESCRIPTOR.message_types_by_name['FindMissingBlobsResponse'] -_BATCHUPDATEBLOBSREQUEST = DESCRIPTOR.message_types_by_name['BatchUpdateBlobsRequest'] -_BATCHUPDATEBLOBSREQUEST_REQUEST = _BATCHUPDATEBLOBSREQUEST.nested_types_by_name['Request'] -_BATCHUPDATEBLOBSRESPONSE = DESCRIPTOR.message_types_by_name['BatchUpdateBlobsResponse'] -_BATCHUPDATEBLOBSRESPONSE_RESPONSE = _BATCHUPDATEBLOBSRESPONSE.nested_types_by_name['Response'] -_BATCHREADBLOBSREQUEST = DESCRIPTOR.message_types_by_name['BatchReadBlobsRequest'] -_BATCHREADBLOBSRESPONSE = DESCRIPTOR.message_types_by_name['BatchReadBlobsResponse'] -_BATCHREADBLOBSRESPONSE_RESPONSE = _BATCHREADBLOBSRESPONSE.nested_types_by_name['Response'] -_GETTREEREQUEST = DESCRIPTOR.message_types_by_name['GetTreeRequest'] -_GETTREERESPONSE = DESCRIPTOR.message_types_by_name['GetTreeResponse'] -_GETCAPABILITIESREQUEST = DESCRIPTOR.message_types_by_name['GetCapabilitiesRequest'] -_SERVERCAPABILITIES = DESCRIPTOR.message_types_by_name['ServerCapabilities'] -_DIGESTFUNCTION = DESCRIPTOR.message_types_by_name['DigestFunction'] -_ACTIONCACHEUPDATECAPABILITIES = DESCRIPTOR.message_types_by_name['ActionCacheUpdateCapabilities'] -_PRIORITYCAPABILITIES = DESCRIPTOR.message_types_by_name['PriorityCapabilities'] -_PRIORITYCAPABILITIES_PRIORITYRANGE = _PRIORITYCAPABILITIES.nested_types_by_name['PriorityRange'] -_SYMLINKABSOLUTEPATHSTRATEGY = DESCRIPTOR.message_types_by_name['SymlinkAbsolutePathStrategy'] -_COMPRESSOR = DESCRIPTOR.message_types_by_name['Compressor'] -_CACHECAPABILITIES = DESCRIPTOR.message_types_by_name['CacheCapabilities'] -_EXECUTIONCAPABILITIES = DESCRIPTOR.message_types_by_name['ExecutionCapabilities'] -_TOOLDETAILS = DESCRIPTOR.message_types_by_name['ToolDetails'] -_REQUESTMETADATA = DESCRIPTOR.message_types_by_name['RequestMetadata'] -_COMMAND_OUTPUTDIRECTORYFORMAT = _COMMAND.enum_types_by_name['OutputDirectoryFormat'] -_EXECUTIONSTAGE_VALUE = _EXECUTIONSTAGE.enum_types_by_name['Value'] -_DIGESTFUNCTION_VALUE = _DIGESTFUNCTION.enum_types_by_name['Value'] -_SYMLINKABSOLUTEPATHSTRATEGY_VALUE = _SYMLINKABSOLUTEPATHSTRATEGY.enum_types_by_name['Value'] -_COMPRESSOR_VALUE = _COMPRESSOR.enum_types_by_name['Value'] -Action = _reflection.GeneratedProtocolMessageType('Action', (_message.Message,), { - 'DESCRIPTOR' : _ACTION, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Action) - }) -_sym_db.RegisterMessage(Action) - -Command = _reflection.GeneratedProtocolMessageType('Command', (_message.Message,), { - - 'EnvironmentVariable' : _reflection.GeneratedProtocolMessageType('EnvironmentVariable', (_message.Message,), { - 'DESCRIPTOR' : _COMMAND_ENVIRONMENTVARIABLE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Command.EnvironmentVariable) - }) - , - 'DESCRIPTOR' : _COMMAND, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Command) - }) -_sym_db.RegisterMessage(Command) -_sym_db.RegisterMessage(Command.EnvironmentVariable) - -Platform = _reflection.GeneratedProtocolMessageType('Platform', (_message.Message,), { - - 'Property' : _reflection.GeneratedProtocolMessageType('Property', (_message.Message,), { - 'DESCRIPTOR' : _PLATFORM_PROPERTY, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Platform.Property) - }) - , - 'DESCRIPTOR' : _PLATFORM, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Platform) - }) -_sym_db.RegisterMessage(Platform) -_sym_db.RegisterMessage(Platform.Property) - -Directory = _reflection.GeneratedProtocolMessageType('Directory', (_message.Message,), { - 'DESCRIPTOR' : _DIRECTORY, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Directory) - }) -_sym_db.RegisterMessage(Directory) - -NodeProperty = _reflection.GeneratedProtocolMessageType('NodeProperty', (_message.Message,), { - 'DESCRIPTOR' : _NODEPROPERTY, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.NodeProperty) - }) -_sym_db.RegisterMessage(NodeProperty) - -NodeProperties = _reflection.GeneratedProtocolMessageType('NodeProperties', (_message.Message,), { - 'DESCRIPTOR' : _NODEPROPERTIES, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.NodeProperties) - }) -_sym_db.RegisterMessage(NodeProperties) - -FileNode = _reflection.GeneratedProtocolMessageType('FileNode', (_message.Message,), { - 'DESCRIPTOR' : _FILENODE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.FileNode) - }) -_sym_db.RegisterMessage(FileNode) - -DirectoryNode = _reflection.GeneratedProtocolMessageType('DirectoryNode', (_message.Message,), { - 'DESCRIPTOR' : _DIRECTORYNODE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.DirectoryNode) - }) -_sym_db.RegisterMessage(DirectoryNode) - -SymlinkNode = _reflection.GeneratedProtocolMessageType('SymlinkNode', (_message.Message,), { - 'DESCRIPTOR' : _SYMLINKNODE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.SymlinkNode) - }) -_sym_db.RegisterMessage(SymlinkNode) - -Digest = _reflection.GeneratedProtocolMessageType('Digest', (_message.Message,), { - 'DESCRIPTOR' : _DIGEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Digest) - }) -_sym_db.RegisterMessage(Digest) - -ExecutedActionMetadata = _reflection.GeneratedProtocolMessageType('ExecutedActionMetadata', (_message.Message,), { - 'DESCRIPTOR' : _EXECUTEDACTIONMETADATA, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ExecutedActionMetadata) - }) -_sym_db.RegisterMessage(ExecutedActionMetadata) - -ActionResult = _reflection.GeneratedProtocolMessageType('ActionResult', (_message.Message,), { - 'DESCRIPTOR' : _ACTIONRESULT, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ActionResult) - }) -_sym_db.RegisterMessage(ActionResult) - -OutputFile = _reflection.GeneratedProtocolMessageType('OutputFile', (_message.Message,), { - 'DESCRIPTOR' : _OUTPUTFILE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.OutputFile) - }) -_sym_db.RegisterMessage(OutputFile) - -Tree = _reflection.GeneratedProtocolMessageType('Tree', (_message.Message,), { - 'DESCRIPTOR' : _TREE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Tree) - }) -_sym_db.RegisterMessage(Tree) - -OutputDirectory = _reflection.GeneratedProtocolMessageType('OutputDirectory', (_message.Message,), { - 'DESCRIPTOR' : _OUTPUTDIRECTORY, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.OutputDirectory) - }) -_sym_db.RegisterMessage(OutputDirectory) - -OutputSymlink = _reflection.GeneratedProtocolMessageType('OutputSymlink', (_message.Message,), { - 'DESCRIPTOR' : _OUTPUTSYMLINK, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.OutputSymlink) - }) -_sym_db.RegisterMessage(OutputSymlink) - -ExecutionPolicy = _reflection.GeneratedProtocolMessageType('ExecutionPolicy', (_message.Message,), { - 'DESCRIPTOR' : _EXECUTIONPOLICY, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ExecutionPolicy) - }) -_sym_db.RegisterMessage(ExecutionPolicy) - -ResultsCachePolicy = _reflection.GeneratedProtocolMessageType('ResultsCachePolicy', (_message.Message,), { - 'DESCRIPTOR' : _RESULTSCACHEPOLICY, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ResultsCachePolicy) - }) -_sym_db.RegisterMessage(ResultsCachePolicy) - -ExecuteRequest = _reflection.GeneratedProtocolMessageType('ExecuteRequest', (_message.Message,), { - 'DESCRIPTOR' : _EXECUTEREQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ExecuteRequest) - }) -_sym_db.RegisterMessage(ExecuteRequest) - -LogFile = _reflection.GeneratedProtocolMessageType('LogFile', (_message.Message,), { - 'DESCRIPTOR' : _LOGFILE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.LogFile) - }) -_sym_db.RegisterMessage(LogFile) - -ExecuteResponse = _reflection.GeneratedProtocolMessageType('ExecuteResponse', (_message.Message,), { - - 'ServerLogsEntry' : _reflection.GeneratedProtocolMessageType('ServerLogsEntry', (_message.Message,), { - 'DESCRIPTOR' : _EXECUTERESPONSE_SERVERLOGSENTRY, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ExecuteResponse.ServerLogsEntry) - }) - , - 'DESCRIPTOR' : _EXECUTERESPONSE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ExecuteResponse) - }) -_sym_db.RegisterMessage(ExecuteResponse) -_sym_db.RegisterMessage(ExecuteResponse.ServerLogsEntry) - -ExecutionStage = _reflection.GeneratedProtocolMessageType('ExecutionStage', (_message.Message,), { - 'DESCRIPTOR' : _EXECUTIONSTAGE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ExecutionStage) - }) -_sym_db.RegisterMessage(ExecutionStage) - -ExecuteOperationMetadata = _reflection.GeneratedProtocolMessageType('ExecuteOperationMetadata', (_message.Message,), { - 'DESCRIPTOR' : _EXECUTEOPERATIONMETADATA, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ExecuteOperationMetadata) - }) -_sym_db.RegisterMessage(ExecuteOperationMetadata) - -WaitExecutionRequest = _reflection.GeneratedProtocolMessageType('WaitExecutionRequest', (_message.Message,), { - 'DESCRIPTOR' : _WAITEXECUTIONREQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.WaitExecutionRequest) - }) -_sym_db.RegisterMessage(WaitExecutionRequest) - -GetActionResultRequest = _reflection.GeneratedProtocolMessageType('GetActionResultRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETACTIONRESULTREQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.GetActionResultRequest) - }) -_sym_db.RegisterMessage(GetActionResultRequest) - -UpdateActionResultRequest = _reflection.GeneratedProtocolMessageType('UpdateActionResultRequest', (_message.Message,), { - 'DESCRIPTOR' : _UPDATEACTIONRESULTREQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.UpdateActionResultRequest) - }) -_sym_db.RegisterMessage(UpdateActionResultRequest) - -FindMissingBlobsRequest = _reflection.GeneratedProtocolMessageType('FindMissingBlobsRequest', (_message.Message,), { - 'DESCRIPTOR' : _FINDMISSINGBLOBSREQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.FindMissingBlobsRequest) - }) -_sym_db.RegisterMessage(FindMissingBlobsRequest) - -FindMissingBlobsResponse = _reflection.GeneratedProtocolMessageType('FindMissingBlobsResponse', (_message.Message,), { - 'DESCRIPTOR' : _FINDMISSINGBLOBSRESPONSE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.FindMissingBlobsResponse) - }) -_sym_db.RegisterMessage(FindMissingBlobsResponse) - -BatchUpdateBlobsRequest = _reflection.GeneratedProtocolMessageType('BatchUpdateBlobsRequest', (_message.Message,), { - - 'Request' : _reflection.GeneratedProtocolMessageType('Request', (_message.Message,), { - 'DESCRIPTOR' : _BATCHUPDATEBLOBSREQUEST_REQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.BatchUpdateBlobsRequest.Request) - }) - , - 'DESCRIPTOR' : _BATCHUPDATEBLOBSREQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.BatchUpdateBlobsRequest) - }) -_sym_db.RegisterMessage(BatchUpdateBlobsRequest) -_sym_db.RegisterMessage(BatchUpdateBlobsRequest.Request) - -BatchUpdateBlobsResponse = _reflection.GeneratedProtocolMessageType('BatchUpdateBlobsResponse', (_message.Message,), { - - 'Response' : _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), { - 'DESCRIPTOR' : _BATCHUPDATEBLOBSRESPONSE_RESPONSE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.BatchUpdateBlobsResponse.Response) - }) - , - 'DESCRIPTOR' : _BATCHUPDATEBLOBSRESPONSE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.BatchUpdateBlobsResponse) - }) -_sym_db.RegisterMessage(BatchUpdateBlobsResponse) -_sym_db.RegisterMessage(BatchUpdateBlobsResponse.Response) - -BatchReadBlobsRequest = _reflection.GeneratedProtocolMessageType('BatchReadBlobsRequest', (_message.Message,), { - 'DESCRIPTOR' : _BATCHREADBLOBSREQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.BatchReadBlobsRequest) - }) -_sym_db.RegisterMessage(BatchReadBlobsRequest) - -BatchReadBlobsResponse = _reflection.GeneratedProtocolMessageType('BatchReadBlobsResponse', (_message.Message,), { - - 'Response' : _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), { - 'DESCRIPTOR' : _BATCHREADBLOBSRESPONSE_RESPONSE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.BatchReadBlobsResponse.Response) - }) - , - 'DESCRIPTOR' : _BATCHREADBLOBSRESPONSE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.BatchReadBlobsResponse) - }) -_sym_db.RegisterMessage(BatchReadBlobsResponse) -_sym_db.RegisterMessage(BatchReadBlobsResponse.Response) - -GetTreeRequest = _reflection.GeneratedProtocolMessageType('GetTreeRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETTREEREQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.GetTreeRequest) - }) -_sym_db.RegisterMessage(GetTreeRequest) - -GetTreeResponse = _reflection.GeneratedProtocolMessageType('GetTreeResponse', (_message.Message,), { - 'DESCRIPTOR' : _GETTREERESPONSE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.GetTreeResponse) - }) -_sym_db.RegisterMessage(GetTreeResponse) - -GetCapabilitiesRequest = _reflection.GeneratedProtocolMessageType('GetCapabilitiesRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETCAPABILITIESREQUEST, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.GetCapabilitiesRequest) - }) -_sym_db.RegisterMessage(GetCapabilitiesRequest) - -ServerCapabilities = _reflection.GeneratedProtocolMessageType('ServerCapabilities', (_message.Message,), { - 'DESCRIPTOR' : _SERVERCAPABILITIES, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ServerCapabilities) - }) -_sym_db.RegisterMessage(ServerCapabilities) - -DigestFunction = _reflection.GeneratedProtocolMessageType('DigestFunction', (_message.Message,), { - 'DESCRIPTOR' : _DIGESTFUNCTION, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.DigestFunction) - }) -_sym_db.RegisterMessage(DigestFunction) - -ActionCacheUpdateCapabilities = _reflection.GeneratedProtocolMessageType('ActionCacheUpdateCapabilities', (_message.Message,), { - 'DESCRIPTOR' : _ACTIONCACHEUPDATECAPABILITIES, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ActionCacheUpdateCapabilities) - }) -_sym_db.RegisterMessage(ActionCacheUpdateCapabilities) - -PriorityCapabilities = _reflection.GeneratedProtocolMessageType('PriorityCapabilities', (_message.Message,), { - - 'PriorityRange' : _reflection.GeneratedProtocolMessageType('PriorityRange', (_message.Message,), { - 'DESCRIPTOR' : _PRIORITYCAPABILITIES_PRIORITYRANGE, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.PriorityCapabilities.PriorityRange) - }) - , - 'DESCRIPTOR' : _PRIORITYCAPABILITIES, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.PriorityCapabilities) - }) -_sym_db.RegisterMessage(PriorityCapabilities) -_sym_db.RegisterMessage(PriorityCapabilities.PriorityRange) - -SymlinkAbsolutePathStrategy = _reflection.GeneratedProtocolMessageType('SymlinkAbsolutePathStrategy', (_message.Message,), { - 'DESCRIPTOR' : _SYMLINKABSOLUTEPATHSTRATEGY, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.SymlinkAbsolutePathStrategy) - }) -_sym_db.RegisterMessage(SymlinkAbsolutePathStrategy) - -Compressor = _reflection.GeneratedProtocolMessageType('Compressor', (_message.Message,), { - 'DESCRIPTOR' : _COMPRESSOR, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Compressor) - }) -_sym_db.RegisterMessage(Compressor) - -CacheCapabilities = _reflection.GeneratedProtocolMessageType('CacheCapabilities', (_message.Message,), { - 'DESCRIPTOR' : _CACHECAPABILITIES, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.CacheCapabilities) - }) -_sym_db.RegisterMessage(CacheCapabilities) - -ExecutionCapabilities = _reflection.GeneratedProtocolMessageType('ExecutionCapabilities', (_message.Message,), { - 'DESCRIPTOR' : _EXECUTIONCAPABILITIES, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ExecutionCapabilities) - }) -_sym_db.RegisterMessage(ExecutionCapabilities) - -ToolDetails = _reflection.GeneratedProtocolMessageType('ToolDetails', (_message.Message,), { - 'DESCRIPTOR' : _TOOLDETAILS, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ToolDetails) - }) -_sym_db.RegisterMessage(ToolDetails) - -RequestMetadata = _reflection.GeneratedProtocolMessageType('RequestMetadata', (_message.Message,), { - 'DESCRIPTOR' : _REQUESTMETADATA, - '__module__' : 'build.bazel.remote.execution.v2.remote_execution_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.RequestMetadata) - }) -_sym_db.RegisterMessage(RequestMetadata) - -_EXECUTION = DESCRIPTOR.services_by_name['Execution'] -_ACTIONCACHE = DESCRIPTOR.services_by_name['ActionCache'] -_CONTENTADDRESSABLESTORAGE = DESCRIPTOR.services_by_name['ContentAddressableStorage'] -_CAPABILITIES = DESCRIPTOR.services_by_name['Capabilities'] -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\037build.bazel.remote.execution.v2B\024RemoteExecutionProtoP\001ZQgithub.com/bazelbuild/remote-apis/build/bazel/remote/execution/v2;remoteexecution\242\002\003REX\252\002\037Build.Bazel.Remote.Execution.V2' - _COMMAND.fields_by_name['output_files']._options = None - _COMMAND.fields_by_name['output_files']._serialized_options = b'\030\001' - _COMMAND.fields_by_name['output_directories']._options = None - _COMMAND.fields_by_name['output_directories']._serialized_options = b'\030\001' - _COMMAND.fields_by_name['platform']._options = None - _COMMAND.fields_by_name['platform']._serialized_options = b'\030\001' - _ACTIONRESULT.fields_by_name['output_file_symlinks']._options = None - _ACTIONRESULT.fields_by_name['output_file_symlinks']._serialized_options = b'\030\001' - _ACTIONRESULT.fields_by_name['output_directory_symlinks']._options = None - _ACTIONRESULT.fields_by_name['output_directory_symlinks']._serialized_options = b'\030\001' - _EXECUTERESPONSE_SERVERLOGSENTRY._options = None - _EXECUTERESPONSE_SERVERLOGSENTRY._serialized_options = b'8\001' - _EXECUTION.methods_by_name['Execute']._options = None - _EXECUTION.methods_by_name['Execute']._serialized_options = b'\202\323\344\223\002+\"&/v2/{instance_name=**}/actions:execute:\001*' - _EXECUTION.methods_by_name['WaitExecution']._options = None - _EXECUTION.methods_by_name['WaitExecution']._serialized_options = b'\202\323\344\223\002+\"&/v2/{name=operations/**}:waitExecution:\001*' - _ACTIONCACHE.methods_by_name['GetActionResult']._options = None - _ACTIONCACHE.methods_by_name['GetActionResult']._serialized_options = b'\202\323\344\223\002V\022T/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}' - _ACTIONCACHE.methods_by_name['UpdateActionResult']._options = None - _ACTIONCACHE.methods_by_name['UpdateActionResult']._serialized_options = b'\202\323\344\223\002e\032T/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}:\raction_result' - _CONTENTADDRESSABLESTORAGE.methods_by_name['FindMissingBlobs']._options = None - _CONTENTADDRESSABLESTORAGE.methods_by_name['FindMissingBlobs']._serialized_options = b'\202\323\344\223\002-\"(/v2/{instance_name=**}/blobs:findMissing:\001*' - _CONTENTADDRESSABLESTORAGE.methods_by_name['BatchUpdateBlobs']._options = None - _CONTENTADDRESSABLESTORAGE.methods_by_name['BatchUpdateBlobs']._serialized_options = b'\202\323\344\223\002-\"(/v2/{instance_name=**}/blobs:batchUpdate:\001*' - _CONTENTADDRESSABLESTORAGE.methods_by_name['BatchReadBlobs']._options = None - _CONTENTADDRESSABLESTORAGE.methods_by_name['BatchReadBlobs']._serialized_options = b'\202\323\344\223\002+\"&/v2/{instance_name=**}/blobs:batchRead:\001*' - _CONTENTADDRESSABLESTORAGE.methods_by_name['GetTree']._options = None - _CONTENTADDRESSABLESTORAGE.methods_by_name['GetTree']._serialized_options = b'\202\323\344\223\002R\022P/v2/{instance_name=**}/blobs/{root_digest.hash}/{root_digest.size_bytes}:getTree' - _CAPABILITIES.methods_by_name['GetCapabilities']._options = None - _CAPABILITIES.methods_by_name['GetCapabilities']._serialized_options = b'\202\323\344\223\002%\022#/v2/{instance_name=**}/capabilities' - _ACTION._serialized_start=341 - _ACTION._serialized_end=635 - _COMMAND._serialized_start=638 - _COMMAND._serialized_end=1196 - _COMMAND_ENVIRONMENTVARIABLE._serialized_start=1062 - _COMMAND_ENVIRONMENTVARIABLE._serialized_end=1112 - _COMMAND_OUTPUTDIRECTORYFORMAT._serialized_start=1114 - _COMMAND_OUTPUTDIRECTORYFORMAT._serialized_end=1196 - _PLATFORM._serialized_start=1198 - _PLATFORM._serialized_end=1321 - _PLATFORM_PROPERTY._serialized_start=1282 - _PLATFORM_PROPERTY._serialized_end=1321 - _DIRECTORY._serialized_start=1324 - _DIRECTORY._serialized_end=1606 - _NODEPROPERTY._serialized_start=1608 - _NODEPROPERTY._serialized_end=1651 - _NODEPROPERTIES._serialized_start=1654 - _NODEPROPERTIES._serialized_end=1829 - _FILENODE._serialized_start=1832 - _FILENODE._serialized_end=2022 - _DIRECTORYNODE._serialized_start=2024 - _DIRECTORYNODE._serialized_end=2110 - _SYMLINKNODE._serialized_start=2112 - _SYMLINKNODE._serialized_end=2235 - _DIGEST._serialized_start=2237 - _DIGEST._serialized_end=2279 - _EXECUTEDACTIONMETADATA._serialized_start=2282 - _EXECUTEDACTIONMETADATA._serialized_end=3015 - _ACTIONRESULT._serialized_start=3018 - _ACTIONRESULT._serialized_end=3697 - _OUTPUTFILE._serialized_start=3700 - _OUTPUTFILE._serialized_end=3910 - _TREE._serialized_start=3912 - _TREE._serialized_end=4038 - _OUTPUTDIRECTORY._serialized_start=4041 - _OUTPUTDIRECTORY._serialized_end=4245 - _OUTPUTSYMLINK._serialized_start=4247 - _OUTPUTSYMLINK._serialized_end=4372 - _EXECUTIONPOLICY._serialized_start=4374 - _EXECUTIONPOLICY._serialized_end=4409 - _RESULTSCACHEPOLICY._serialized_start=4411 - _RESULTSCACHEPOLICY._serialized_end=4449 - _EXECUTEREQUEST._serialized_start=4452 - _EXECUTEREQUEST._serialized_end=4914 - _LOGFILE._serialized_start=4916 - _LOGFILE._serialized_end=5006 - _EXECUTERESPONSE._serialized_start=5009 - _EXECUTERESPONSE._serialized_end=5345 - _EXECUTERESPONSE_SERVERLOGSENTRY._serialized_start=5254 - _EXECUTERESPONSE_SERVERLOGSENTRY._serialized_end=5345 - _EXECUTIONSTAGE._serialized_start=5347 - _EXECUTIONSTAGE._serialized_end=5444 - _EXECUTIONSTAGE_VALUE._serialized_start=5365 - _EXECUTIONSTAGE_VALUE._serialized_end=5444 - _EXECUTEOPERATIONMETADATA._serialized_start=5447 - _EXECUTEOPERATIONMETADATA._serialized_end=5756 - _WAITEXECUTIONREQUEST._serialized_start=5758 - _WAITEXECUTIONREQUEST._serialized_end=5794 - _GETACTIONRESULTREQUEST._serialized_start=5797 - _GETACTIONRESULTREQUEST._serialized_end=6063 - _UPDATEACTIONRESULTREQUEST._serialized_start=6066 - _UPDATEACTIONRESULTREQUEST._serialized_end=6413 - _FINDMISSINGBLOBSREQUEST._serialized_start=6416 - _FINDMISSINGBLOBSREQUEST._serialized_end=6607 - _FINDMISSINGBLOBSRESPONSE._serialized_start=6609 - _FINDMISSINGBLOBSRESPONSE._serialized_end=6706 - _BATCHUPDATEBLOBSREQUEST._serialized_start=6709 - _BATCHUPDATEBLOBSREQUEST._serialized_end=7075 - _BATCHUPDATEBLOBSREQUEST_REQUEST._serialized_start=6924 - _BATCHUPDATEBLOBSREQUEST_REQUEST._serialized_end=7075 - _BATCHUPDATEBLOBSRESPONSE._serialized_start=7078 - _BATCHUPDATEBLOBSRESPONSE._serialized_end=7296 - _BATCHUPDATEBLOBSRESPONSE_RESPONSE._serialized_start=7193 - _BATCHUPDATEBLOBSRESPONSE_RESPONSE._serialized_end=7296 - _BATCHREADBLOBSREQUEST._serialized_start=7299 - _BATCHREADBLOBSREQUEST._serialized_end=7566 - _BATCHREADBLOBSRESPONSE._serialized_start=7569 - _BATCHREADBLOBSRESPONSE._serialized_end=7869 - _BATCHREADBLOBSRESPONSE_RESPONSE._serialized_start=7681 - _BATCHREADBLOBSRESPONSE_RESPONSE._serialized_end=7869 - _GETTREEREQUEST._serialized_start=7872 - _GETTREEREQUEST._serialized_end=8092 - _GETTREERESPONSE._serialized_start=8094 - _GETTREERESPONSE._serialized_end=8201 - _GETCAPABILITIESREQUEST._serialized_start=8203 - _GETCAPABILITIESREQUEST._serialized_end=8250 - _SERVERCAPABILITIES._serialized_start=8253 - _SERVERCAPABILITIES._serialized_end=8608 - _DIGESTFUNCTION._serialized_start=8611 - _DIGESTFUNCTION._serialized_end=8754 - _DIGESTFUNCTION_VALUE._serialized_start=8629 - _DIGESTFUNCTION_VALUE._serialized_end=8754 - _ACTIONCACHEUPDATECAPABILITIES._serialized_start=8756 - _ACTIONCACHEUPDATECAPABILITIES._serialized_end=8811 - _PRIORITYCAPABILITIES._serialized_start=8814 - _PRIORITYCAPABILITIES._serialized_end=8986 - _PRIORITYCAPABILITIES_PRIORITYRANGE._serialized_start=8927 - _PRIORITYCAPABILITIES_PRIORITYRANGE._serialized_end=8986 - _SYMLINKABSOLUTEPATHSTRATEGY._serialized_start=8988 - _SYMLINKABSOLUTEPATHSTRATEGY._serialized_end=9068 - _SYMLINKABSOLUTEPATHSTRATEGY_VALUE._serialized_start=9019 - _SYMLINKABSOLUTEPATHSTRATEGY_VALUE._serialized_end=9068 - _COMPRESSOR._serialized_start=9070 - _COMPRESSOR._serialized_end=9140 - _COMPRESSOR_VALUE._serialized_start=9084 - _COMPRESSOR_VALUE._serialized_end=9140 - _CACHECAPABILITIES._serialized_start=9143 - _CACHECAPABILITIES._serialized_end=9762 - _EXECUTIONCAPABILITIES._serialized_start=9765 - _EXECUTIONCAPABILITIES._serialized_end=10102 - _TOOLDETAILS._serialized_start=10104 - _TOOLDETAILS._serialized_end=10158 - _REQUESTMETADATA._serialized_start=10161 - _REQUESTMETADATA._serialized_end=10398 - _EXECUTION._serialized_start=10401 - _EXECUTION._serialized_end=10714 - _ACTIONCACHE._serialized_start=10717 - _ACTIONCACHE._serialized_end=11187 - _CONTENTADDRESSABLESTORAGE._serialized_start=11190 - _CONTENTADDRESSABLESTORAGE._serialized_end=11985 - _CAPABILITIES._serialized_start=11988 - _CAPABILITIES._serialized_end=12177 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'build.bazel.remote.execution.v2.remote_execution_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\037build.bazel.remote.execution.v2B\024RemoteExecutionProtoP\001ZQgithub.com/bazelbuild/remote-apis/build/bazel/remote/execution/v2;remoteexecution\242\002\003REX\252\002\037Build.Bazel.Remote.Execution.V2' + _globals['_COMMAND'].fields_by_name['output_files']._loaded_options = None + _globals['_COMMAND'].fields_by_name['output_files']._serialized_options = b'\030\001' + _globals['_COMMAND'].fields_by_name['output_directories']._loaded_options = None + _globals['_COMMAND'].fields_by_name['output_directories']._serialized_options = b'\030\001' + _globals['_COMMAND'].fields_by_name['platform']._loaded_options = None + _globals['_COMMAND'].fields_by_name['platform']._serialized_options = b'\030\001' + _globals['_ACTIONRESULT'].fields_by_name['output_file_symlinks']._loaded_options = None + _globals['_ACTIONRESULT'].fields_by_name['output_file_symlinks']._serialized_options = b'\030\001' + _globals['_ACTIONRESULT'].fields_by_name['output_directory_symlinks']._loaded_options = None + _globals['_ACTIONRESULT'].fields_by_name['output_directory_symlinks']._serialized_options = b'\030\001' + _globals['_EXECUTERESPONSE_SERVERLOGSENTRY']._loaded_options = None + _globals['_EXECUTERESPONSE_SERVERLOGSENTRY']._serialized_options = b'8\001' + _globals['_EXECUTION'].methods_by_name['Execute']._loaded_options = None + _globals['_EXECUTION'].methods_by_name['Execute']._serialized_options = b'\202\323\344\223\002+\"&/v2/{instance_name=**}/actions:execute:\001*' + _globals['_EXECUTION'].methods_by_name['WaitExecution']._loaded_options = None + _globals['_EXECUTION'].methods_by_name['WaitExecution']._serialized_options = b'\202\323\344\223\002+\"&/v2/{name=operations/**}:waitExecution:\001*' + _globals['_ACTIONCACHE'].methods_by_name['GetActionResult']._loaded_options = None + _globals['_ACTIONCACHE'].methods_by_name['GetActionResult']._serialized_options = b'\202\323\344\223\002V\022T/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}' + _globals['_ACTIONCACHE'].methods_by_name['UpdateActionResult']._loaded_options = None + _globals['_ACTIONCACHE'].methods_by_name['UpdateActionResult']._serialized_options = b'\202\323\344\223\002e\032T/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}:\raction_result' + _globals['_CONTENTADDRESSABLESTORAGE'].methods_by_name['FindMissingBlobs']._loaded_options = None + _globals['_CONTENTADDRESSABLESTORAGE'].methods_by_name['FindMissingBlobs']._serialized_options = b'\202\323\344\223\002-\"(/v2/{instance_name=**}/blobs:findMissing:\001*' + _globals['_CONTENTADDRESSABLESTORAGE'].methods_by_name['BatchUpdateBlobs']._loaded_options = None + _globals['_CONTENTADDRESSABLESTORAGE'].methods_by_name['BatchUpdateBlobs']._serialized_options = b'\202\323\344\223\002-\"(/v2/{instance_name=**}/blobs:batchUpdate:\001*' + _globals['_CONTENTADDRESSABLESTORAGE'].methods_by_name['BatchReadBlobs']._loaded_options = None + _globals['_CONTENTADDRESSABLESTORAGE'].methods_by_name['BatchReadBlobs']._serialized_options = b'\202\323\344\223\002+\"&/v2/{instance_name=**}/blobs:batchRead:\001*' + _globals['_CONTENTADDRESSABLESTORAGE'].methods_by_name['GetTree']._loaded_options = None + _globals['_CONTENTADDRESSABLESTORAGE'].methods_by_name['GetTree']._serialized_options = b'\202\323\344\223\002R\022P/v2/{instance_name=**}/blobs/{root_digest.hash}/{root_digest.size_bytes}:getTree' + _globals['_CAPABILITIES'].methods_by_name['GetCapabilities']._loaded_options = None + _globals['_CAPABILITIES'].methods_by_name['GetCapabilities']._serialized_options = b'\202\323\344\223\002%\022#/v2/{instance_name=**}/capabilities' + _globals['_ACTION']._serialized_start=341 + _globals['_ACTION']._serialized_end=635 + _globals['_COMMAND']._serialized_start=638 + _globals['_COMMAND']._serialized_end=1196 + _globals['_COMMAND_ENVIRONMENTVARIABLE']._serialized_start=1062 + _globals['_COMMAND_ENVIRONMENTVARIABLE']._serialized_end=1112 + _globals['_COMMAND_OUTPUTDIRECTORYFORMAT']._serialized_start=1114 + _globals['_COMMAND_OUTPUTDIRECTORYFORMAT']._serialized_end=1196 + _globals['_PLATFORM']._serialized_start=1198 + _globals['_PLATFORM']._serialized_end=1321 + _globals['_PLATFORM_PROPERTY']._serialized_start=1282 + _globals['_PLATFORM_PROPERTY']._serialized_end=1321 + _globals['_DIRECTORY']._serialized_start=1324 + _globals['_DIRECTORY']._serialized_end=1606 + _globals['_NODEPROPERTY']._serialized_start=1608 + _globals['_NODEPROPERTY']._serialized_end=1651 + _globals['_NODEPROPERTIES']._serialized_start=1654 + _globals['_NODEPROPERTIES']._serialized_end=1829 + _globals['_FILENODE']._serialized_start=1832 + _globals['_FILENODE']._serialized_end=2022 + _globals['_DIRECTORYNODE']._serialized_start=2024 + _globals['_DIRECTORYNODE']._serialized_end=2110 + _globals['_SYMLINKNODE']._serialized_start=2112 + _globals['_SYMLINKNODE']._serialized_end=2235 + _globals['_DIGEST']._serialized_start=2237 + _globals['_DIGEST']._serialized_end=2279 + _globals['_EXECUTEDACTIONMETADATA']._serialized_start=2282 + _globals['_EXECUTEDACTIONMETADATA']._serialized_end=3015 + _globals['_ACTIONRESULT']._serialized_start=3018 + _globals['_ACTIONRESULT']._serialized_end=3697 + _globals['_OUTPUTFILE']._serialized_start=3700 + _globals['_OUTPUTFILE']._serialized_end=3910 + _globals['_TREE']._serialized_start=3912 + _globals['_TREE']._serialized_end=4038 + _globals['_OUTPUTDIRECTORY']._serialized_start=4041 + _globals['_OUTPUTDIRECTORY']._serialized_end=4245 + _globals['_OUTPUTSYMLINK']._serialized_start=4247 + _globals['_OUTPUTSYMLINK']._serialized_end=4372 + _globals['_EXECUTIONPOLICY']._serialized_start=4374 + _globals['_EXECUTIONPOLICY']._serialized_end=4409 + _globals['_RESULTSCACHEPOLICY']._serialized_start=4411 + _globals['_RESULTSCACHEPOLICY']._serialized_end=4449 + _globals['_EXECUTEREQUEST']._serialized_start=4452 + _globals['_EXECUTEREQUEST']._serialized_end=4914 + _globals['_LOGFILE']._serialized_start=4916 + _globals['_LOGFILE']._serialized_end=5006 + _globals['_EXECUTERESPONSE']._serialized_start=5009 + _globals['_EXECUTERESPONSE']._serialized_end=5345 + _globals['_EXECUTERESPONSE_SERVERLOGSENTRY']._serialized_start=5254 + _globals['_EXECUTERESPONSE_SERVERLOGSENTRY']._serialized_end=5345 + _globals['_EXECUTIONSTAGE']._serialized_start=5347 + _globals['_EXECUTIONSTAGE']._serialized_end=5444 + _globals['_EXECUTIONSTAGE_VALUE']._serialized_start=5365 + _globals['_EXECUTIONSTAGE_VALUE']._serialized_end=5444 + _globals['_EXECUTEOPERATIONMETADATA']._serialized_start=5447 + _globals['_EXECUTEOPERATIONMETADATA']._serialized_end=5756 + _globals['_WAITEXECUTIONREQUEST']._serialized_start=5758 + _globals['_WAITEXECUTIONREQUEST']._serialized_end=5794 + _globals['_GETACTIONRESULTREQUEST']._serialized_start=5797 + _globals['_GETACTIONRESULTREQUEST']._serialized_end=6063 + _globals['_UPDATEACTIONRESULTREQUEST']._serialized_start=6066 + _globals['_UPDATEACTIONRESULTREQUEST']._serialized_end=6413 + _globals['_FINDMISSINGBLOBSREQUEST']._serialized_start=6416 + _globals['_FINDMISSINGBLOBSREQUEST']._serialized_end=6607 + _globals['_FINDMISSINGBLOBSRESPONSE']._serialized_start=6609 + _globals['_FINDMISSINGBLOBSRESPONSE']._serialized_end=6706 + _globals['_BATCHUPDATEBLOBSREQUEST']._serialized_start=6709 + _globals['_BATCHUPDATEBLOBSREQUEST']._serialized_end=7075 + _globals['_BATCHUPDATEBLOBSREQUEST_REQUEST']._serialized_start=6924 + _globals['_BATCHUPDATEBLOBSREQUEST_REQUEST']._serialized_end=7075 + _globals['_BATCHUPDATEBLOBSRESPONSE']._serialized_start=7078 + _globals['_BATCHUPDATEBLOBSRESPONSE']._serialized_end=7296 + _globals['_BATCHUPDATEBLOBSRESPONSE_RESPONSE']._serialized_start=7193 + _globals['_BATCHUPDATEBLOBSRESPONSE_RESPONSE']._serialized_end=7296 + _globals['_BATCHREADBLOBSREQUEST']._serialized_start=7299 + _globals['_BATCHREADBLOBSREQUEST']._serialized_end=7566 + _globals['_BATCHREADBLOBSRESPONSE']._serialized_start=7569 + _globals['_BATCHREADBLOBSRESPONSE']._serialized_end=7869 + _globals['_BATCHREADBLOBSRESPONSE_RESPONSE']._serialized_start=7681 + _globals['_BATCHREADBLOBSRESPONSE_RESPONSE']._serialized_end=7869 + _globals['_GETTREEREQUEST']._serialized_start=7872 + _globals['_GETTREEREQUEST']._serialized_end=8092 + _globals['_GETTREERESPONSE']._serialized_start=8094 + _globals['_GETTREERESPONSE']._serialized_end=8201 + _globals['_GETCAPABILITIESREQUEST']._serialized_start=8203 + _globals['_GETCAPABILITIESREQUEST']._serialized_end=8250 + _globals['_SERVERCAPABILITIES']._serialized_start=8253 + _globals['_SERVERCAPABILITIES']._serialized_end=8608 + _globals['_DIGESTFUNCTION']._serialized_start=8611 + _globals['_DIGESTFUNCTION']._serialized_end=8754 + _globals['_DIGESTFUNCTION_VALUE']._serialized_start=8629 + _globals['_DIGESTFUNCTION_VALUE']._serialized_end=8754 + _globals['_ACTIONCACHEUPDATECAPABILITIES']._serialized_start=8756 + _globals['_ACTIONCACHEUPDATECAPABILITIES']._serialized_end=8811 + _globals['_PRIORITYCAPABILITIES']._serialized_start=8814 + _globals['_PRIORITYCAPABILITIES']._serialized_end=8986 + _globals['_PRIORITYCAPABILITIES_PRIORITYRANGE']._serialized_start=8927 + _globals['_PRIORITYCAPABILITIES_PRIORITYRANGE']._serialized_end=8986 + _globals['_SYMLINKABSOLUTEPATHSTRATEGY']._serialized_start=8988 + _globals['_SYMLINKABSOLUTEPATHSTRATEGY']._serialized_end=9068 + _globals['_SYMLINKABSOLUTEPATHSTRATEGY_VALUE']._serialized_start=9019 + _globals['_SYMLINKABSOLUTEPATHSTRATEGY_VALUE']._serialized_end=9068 + _globals['_COMPRESSOR']._serialized_start=9070 + _globals['_COMPRESSOR']._serialized_end=9140 + _globals['_COMPRESSOR_VALUE']._serialized_start=9084 + _globals['_COMPRESSOR_VALUE']._serialized_end=9140 + _globals['_CACHECAPABILITIES']._serialized_start=9143 + _globals['_CACHECAPABILITIES']._serialized_end=9762 + _globals['_EXECUTIONCAPABILITIES']._serialized_start=9765 + _globals['_EXECUTIONCAPABILITIES']._serialized_end=10102 + _globals['_TOOLDETAILS']._serialized_start=10104 + _globals['_TOOLDETAILS']._serialized_end=10158 + _globals['_REQUESTMETADATA']._serialized_start=10161 + _globals['_REQUESTMETADATA']._serialized_end=10398 + _globals['_EXECUTION']._serialized_start=10401 + _globals['_EXECUTION']._serialized_end=10714 + _globals['_ACTIONCACHE']._serialized_start=10717 + _globals['_ACTIONCACHE']._serialized_end=11187 + _globals['_CONTENTADDRESSABLESTORAGE']._serialized_start=11190 + _globals['_CONTENTADDRESSABLESTORAGE']._serialized_end=11985 + _globals['_CAPABILITIES']._serialized_start=11988 + _globals['_CAPABILITIES']._serialized_end=12177 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.pyi b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.pyi new file mode 100644 index 000000000..14badbac9 --- /dev/null +++ b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.pyi @@ -0,0 +1,624 @@ +from build.bazel.semver import semver_pb2 as _semver_pb2 +from google.api import annotations_pb2 as _annotations_pb2 +from google.longrunning import operations_pb2 as _operations_pb2 +from google.protobuf import any_pb2 as _any_pb2 +from google.protobuf import duration_pb2 as _duration_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf import wrappers_pb2 as _wrappers_pb2 +from google.rpc import status_pb2 as _status_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Action(_message.Message): + __slots__ = ("command_digest", "input_root_digest", "timeout", "do_not_cache", "salt", "platform") + COMMAND_DIGEST_FIELD_NUMBER: _ClassVar[int] + INPUT_ROOT_DIGEST_FIELD_NUMBER: _ClassVar[int] + TIMEOUT_FIELD_NUMBER: _ClassVar[int] + DO_NOT_CACHE_FIELD_NUMBER: _ClassVar[int] + SALT_FIELD_NUMBER: _ClassVar[int] + PLATFORM_FIELD_NUMBER: _ClassVar[int] + command_digest: Digest + input_root_digest: Digest + timeout: _duration_pb2.Duration + do_not_cache: bool + salt: bytes + platform: Platform + def __init__(self, command_digest: _Optional[_Union[Digest, _Mapping]] = ..., input_root_digest: _Optional[_Union[Digest, _Mapping]] = ..., timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., do_not_cache: bool = ..., salt: _Optional[bytes] = ..., platform: _Optional[_Union[Platform, _Mapping]] = ...) -> None: ... + +class Command(_message.Message): + __slots__ = ("arguments", "environment_variables", "output_files", "output_directories", "output_paths", "platform", "working_directory", "output_node_properties", "output_directory_format") + class OutputDirectoryFormat(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + TREE_ONLY: _ClassVar[Command.OutputDirectoryFormat] + DIRECTORY_ONLY: _ClassVar[Command.OutputDirectoryFormat] + TREE_AND_DIRECTORY: _ClassVar[Command.OutputDirectoryFormat] + TREE_ONLY: Command.OutputDirectoryFormat + DIRECTORY_ONLY: Command.OutputDirectoryFormat + TREE_AND_DIRECTORY: Command.OutputDirectoryFormat + class EnvironmentVariable(_message.Message): + __slots__ = ("name", "value") + NAME_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + name: str + value: str + def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + ARGUMENTS_FIELD_NUMBER: _ClassVar[int] + ENVIRONMENT_VARIABLES_FIELD_NUMBER: _ClassVar[int] + OUTPUT_FILES_FIELD_NUMBER: _ClassVar[int] + OUTPUT_DIRECTORIES_FIELD_NUMBER: _ClassVar[int] + OUTPUT_PATHS_FIELD_NUMBER: _ClassVar[int] + PLATFORM_FIELD_NUMBER: _ClassVar[int] + WORKING_DIRECTORY_FIELD_NUMBER: _ClassVar[int] + OUTPUT_NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + OUTPUT_DIRECTORY_FORMAT_FIELD_NUMBER: _ClassVar[int] + arguments: _containers.RepeatedScalarFieldContainer[str] + environment_variables: _containers.RepeatedCompositeFieldContainer[Command.EnvironmentVariable] + output_files: _containers.RepeatedScalarFieldContainer[str] + output_directories: _containers.RepeatedScalarFieldContainer[str] + output_paths: _containers.RepeatedScalarFieldContainer[str] + platform: Platform + working_directory: str + output_node_properties: _containers.RepeatedScalarFieldContainer[str] + output_directory_format: Command.OutputDirectoryFormat + def __init__(self, arguments: _Optional[_Iterable[str]] = ..., environment_variables: _Optional[_Iterable[_Union[Command.EnvironmentVariable, _Mapping]]] = ..., output_files: _Optional[_Iterable[str]] = ..., output_directories: _Optional[_Iterable[str]] = ..., output_paths: _Optional[_Iterable[str]] = ..., platform: _Optional[_Union[Platform, _Mapping]] = ..., working_directory: _Optional[str] = ..., output_node_properties: _Optional[_Iterable[str]] = ..., output_directory_format: _Optional[_Union[Command.OutputDirectoryFormat, str]] = ...) -> None: ... + +class Platform(_message.Message): + __slots__ = ("properties",) + class Property(_message.Message): + __slots__ = ("name", "value") + NAME_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + name: str + value: str + def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + PROPERTIES_FIELD_NUMBER: _ClassVar[int] + properties: _containers.RepeatedCompositeFieldContainer[Platform.Property] + def __init__(self, properties: _Optional[_Iterable[_Union[Platform.Property, _Mapping]]] = ...) -> None: ... + +class Directory(_message.Message): + __slots__ = ("files", "directories", "symlinks", "node_properties") + FILES_FIELD_NUMBER: _ClassVar[int] + DIRECTORIES_FIELD_NUMBER: _ClassVar[int] + SYMLINKS_FIELD_NUMBER: _ClassVar[int] + NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + files: _containers.RepeatedCompositeFieldContainer[FileNode] + directories: _containers.RepeatedCompositeFieldContainer[DirectoryNode] + symlinks: _containers.RepeatedCompositeFieldContainer[SymlinkNode] + node_properties: NodeProperties + def __init__(self, files: _Optional[_Iterable[_Union[FileNode, _Mapping]]] = ..., directories: _Optional[_Iterable[_Union[DirectoryNode, _Mapping]]] = ..., symlinks: _Optional[_Iterable[_Union[SymlinkNode, _Mapping]]] = ..., node_properties: _Optional[_Union[NodeProperties, _Mapping]] = ...) -> None: ... + +class NodeProperty(_message.Message): + __slots__ = ("name", "value") + NAME_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + name: str + value: str + def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + +class NodeProperties(_message.Message): + __slots__ = ("properties", "mtime", "unix_mode") + PROPERTIES_FIELD_NUMBER: _ClassVar[int] + MTIME_FIELD_NUMBER: _ClassVar[int] + UNIX_MODE_FIELD_NUMBER: _ClassVar[int] + properties: _containers.RepeatedCompositeFieldContainer[NodeProperty] + mtime: _timestamp_pb2.Timestamp + unix_mode: _wrappers_pb2.UInt32Value + def __init__(self, properties: _Optional[_Iterable[_Union[NodeProperty, _Mapping]]] = ..., mtime: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., unix_mode: _Optional[_Union[_wrappers_pb2.UInt32Value, _Mapping]] = ...) -> None: ... + +class FileNode(_message.Message): + __slots__ = ("name", "digest", "is_executable", "node_properties") + NAME_FIELD_NUMBER: _ClassVar[int] + DIGEST_FIELD_NUMBER: _ClassVar[int] + IS_EXECUTABLE_FIELD_NUMBER: _ClassVar[int] + NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + name: str + digest: Digest + is_executable: bool + node_properties: NodeProperties + def __init__(self, name: _Optional[str] = ..., digest: _Optional[_Union[Digest, _Mapping]] = ..., is_executable: bool = ..., node_properties: _Optional[_Union[NodeProperties, _Mapping]] = ...) -> None: ... + +class DirectoryNode(_message.Message): + __slots__ = ("name", "digest") + NAME_FIELD_NUMBER: _ClassVar[int] + DIGEST_FIELD_NUMBER: _ClassVar[int] + name: str + digest: Digest + def __init__(self, name: _Optional[str] = ..., digest: _Optional[_Union[Digest, _Mapping]] = ...) -> None: ... + +class SymlinkNode(_message.Message): + __slots__ = ("name", "target", "node_properties") + NAME_FIELD_NUMBER: _ClassVar[int] + TARGET_FIELD_NUMBER: _ClassVar[int] + NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + name: str + target: str + node_properties: NodeProperties + def __init__(self, name: _Optional[str] = ..., target: _Optional[str] = ..., node_properties: _Optional[_Union[NodeProperties, _Mapping]] = ...) -> None: ... + +class Digest(_message.Message): + __slots__ = ("hash", "size_bytes") + HASH_FIELD_NUMBER: _ClassVar[int] + SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + hash: str + size_bytes: int + def __init__(self, hash: _Optional[str] = ..., size_bytes: _Optional[int] = ...) -> None: ... + +class ExecutedActionMetadata(_message.Message): + __slots__ = ("worker", "queued_timestamp", "worker_start_timestamp", "worker_completed_timestamp", "input_fetch_start_timestamp", "input_fetch_completed_timestamp", "execution_start_timestamp", "execution_completed_timestamp", "virtual_execution_duration", "output_upload_start_timestamp", "output_upload_completed_timestamp", "auxiliary_metadata") + WORKER_FIELD_NUMBER: _ClassVar[int] + QUEUED_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + WORKER_START_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + WORKER_COMPLETED_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + INPUT_FETCH_START_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + INPUT_FETCH_COMPLETED_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + EXECUTION_START_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + EXECUTION_COMPLETED_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + VIRTUAL_EXECUTION_DURATION_FIELD_NUMBER: _ClassVar[int] + OUTPUT_UPLOAD_START_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + OUTPUT_UPLOAD_COMPLETED_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + AUXILIARY_METADATA_FIELD_NUMBER: _ClassVar[int] + worker: str + queued_timestamp: _timestamp_pb2.Timestamp + worker_start_timestamp: _timestamp_pb2.Timestamp + worker_completed_timestamp: _timestamp_pb2.Timestamp + input_fetch_start_timestamp: _timestamp_pb2.Timestamp + input_fetch_completed_timestamp: _timestamp_pb2.Timestamp + execution_start_timestamp: _timestamp_pb2.Timestamp + execution_completed_timestamp: _timestamp_pb2.Timestamp + virtual_execution_duration: _duration_pb2.Duration + output_upload_start_timestamp: _timestamp_pb2.Timestamp + output_upload_completed_timestamp: _timestamp_pb2.Timestamp + auxiliary_metadata: _containers.RepeatedCompositeFieldContainer[_any_pb2.Any] + def __init__(self, worker: _Optional[str] = ..., queued_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., worker_start_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., worker_completed_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., input_fetch_start_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., input_fetch_completed_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., execution_start_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., execution_completed_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., virtual_execution_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., output_upload_start_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., output_upload_completed_timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., auxiliary_metadata: _Optional[_Iterable[_Union[_any_pb2.Any, _Mapping]]] = ...) -> None: ... + +class ActionResult(_message.Message): + __slots__ = ("output_files", "output_file_symlinks", "output_symlinks", "output_directories", "output_directory_symlinks", "exit_code", "stdout_raw", "stdout_digest", "stderr_raw", "stderr_digest", "execution_metadata") + OUTPUT_FILES_FIELD_NUMBER: _ClassVar[int] + OUTPUT_FILE_SYMLINKS_FIELD_NUMBER: _ClassVar[int] + OUTPUT_SYMLINKS_FIELD_NUMBER: _ClassVar[int] + OUTPUT_DIRECTORIES_FIELD_NUMBER: _ClassVar[int] + OUTPUT_DIRECTORY_SYMLINKS_FIELD_NUMBER: _ClassVar[int] + EXIT_CODE_FIELD_NUMBER: _ClassVar[int] + STDOUT_RAW_FIELD_NUMBER: _ClassVar[int] + STDOUT_DIGEST_FIELD_NUMBER: _ClassVar[int] + STDERR_RAW_FIELD_NUMBER: _ClassVar[int] + STDERR_DIGEST_FIELD_NUMBER: _ClassVar[int] + EXECUTION_METADATA_FIELD_NUMBER: _ClassVar[int] + output_files: _containers.RepeatedCompositeFieldContainer[OutputFile] + output_file_symlinks: _containers.RepeatedCompositeFieldContainer[OutputSymlink] + output_symlinks: _containers.RepeatedCompositeFieldContainer[OutputSymlink] + output_directories: _containers.RepeatedCompositeFieldContainer[OutputDirectory] + output_directory_symlinks: _containers.RepeatedCompositeFieldContainer[OutputSymlink] + exit_code: int + stdout_raw: bytes + stdout_digest: Digest + stderr_raw: bytes + stderr_digest: Digest + execution_metadata: ExecutedActionMetadata + def __init__(self, output_files: _Optional[_Iterable[_Union[OutputFile, _Mapping]]] = ..., output_file_symlinks: _Optional[_Iterable[_Union[OutputSymlink, _Mapping]]] = ..., output_symlinks: _Optional[_Iterable[_Union[OutputSymlink, _Mapping]]] = ..., output_directories: _Optional[_Iterable[_Union[OutputDirectory, _Mapping]]] = ..., output_directory_symlinks: _Optional[_Iterable[_Union[OutputSymlink, _Mapping]]] = ..., exit_code: _Optional[int] = ..., stdout_raw: _Optional[bytes] = ..., stdout_digest: _Optional[_Union[Digest, _Mapping]] = ..., stderr_raw: _Optional[bytes] = ..., stderr_digest: _Optional[_Union[Digest, _Mapping]] = ..., execution_metadata: _Optional[_Union[ExecutedActionMetadata, _Mapping]] = ...) -> None: ... + +class OutputFile(_message.Message): + __slots__ = ("path", "digest", "is_executable", "contents", "node_properties") + PATH_FIELD_NUMBER: _ClassVar[int] + DIGEST_FIELD_NUMBER: _ClassVar[int] + IS_EXECUTABLE_FIELD_NUMBER: _ClassVar[int] + CONTENTS_FIELD_NUMBER: _ClassVar[int] + NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + path: str + digest: Digest + is_executable: bool + contents: bytes + node_properties: NodeProperties + def __init__(self, path: _Optional[str] = ..., digest: _Optional[_Union[Digest, _Mapping]] = ..., is_executable: bool = ..., contents: _Optional[bytes] = ..., node_properties: _Optional[_Union[NodeProperties, _Mapping]] = ...) -> None: ... + +class Tree(_message.Message): + __slots__ = ("root", "children") + ROOT_FIELD_NUMBER: _ClassVar[int] + CHILDREN_FIELD_NUMBER: _ClassVar[int] + root: Directory + children: _containers.RepeatedCompositeFieldContainer[Directory] + def __init__(self, root: _Optional[_Union[Directory, _Mapping]] = ..., children: _Optional[_Iterable[_Union[Directory, _Mapping]]] = ...) -> None: ... + +class OutputDirectory(_message.Message): + __slots__ = ("path", "tree_digest", "is_topologically_sorted", "root_directory_digest") + PATH_FIELD_NUMBER: _ClassVar[int] + TREE_DIGEST_FIELD_NUMBER: _ClassVar[int] + IS_TOPOLOGICALLY_SORTED_FIELD_NUMBER: _ClassVar[int] + ROOT_DIRECTORY_DIGEST_FIELD_NUMBER: _ClassVar[int] + path: str + tree_digest: Digest + is_topologically_sorted: bool + root_directory_digest: Digest + def __init__(self, path: _Optional[str] = ..., tree_digest: _Optional[_Union[Digest, _Mapping]] = ..., is_topologically_sorted: bool = ..., root_directory_digest: _Optional[_Union[Digest, _Mapping]] = ...) -> None: ... + +class OutputSymlink(_message.Message): + __slots__ = ("path", "target", "node_properties") + PATH_FIELD_NUMBER: _ClassVar[int] + TARGET_FIELD_NUMBER: _ClassVar[int] + NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + path: str + target: str + node_properties: NodeProperties + def __init__(self, path: _Optional[str] = ..., target: _Optional[str] = ..., node_properties: _Optional[_Union[NodeProperties, _Mapping]] = ...) -> None: ... + +class ExecutionPolicy(_message.Message): + __slots__ = ("priority",) + PRIORITY_FIELD_NUMBER: _ClassVar[int] + priority: int + def __init__(self, priority: _Optional[int] = ...) -> None: ... + +class ResultsCachePolicy(_message.Message): + __slots__ = ("priority",) + PRIORITY_FIELD_NUMBER: _ClassVar[int] + priority: int + def __init__(self, priority: _Optional[int] = ...) -> None: ... + +class ExecuteRequest(_message.Message): + __slots__ = ("instance_name", "skip_cache_lookup", "action_digest", "execution_policy", "results_cache_policy", "digest_function", "inline_stdout", "inline_stderr", "inline_output_files") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + SKIP_CACHE_LOOKUP_FIELD_NUMBER: _ClassVar[int] + ACTION_DIGEST_FIELD_NUMBER: _ClassVar[int] + EXECUTION_POLICY_FIELD_NUMBER: _ClassVar[int] + RESULTS_CACHE_POLICY_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + INLINE_STDOUT_FIELD_NUMBER: _ClassVar[int] + INLINE_STDERR_FIELD_NUMBER: _ClassVar[int] + INLINE_OUTPUT_FILES_FIELD_NUMBER: _ClassVar[int] + instance_name: str + skip_cache_lookup: bool + action_digest: Digest + execution_policy: ExecutionPolicy + results_cache_policy: ResultsCachePolicy + digest_function: DigestFunction.Value + inline_stdout: bool + inline_stderr: bool + inline_output_files: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, instance_name: _Optional[str] = ..., skip_cache_lookup: bool = ..., action_digest: _Optional[_Union[Digest, _Mapping]] = ..., execution_policy: _Optional[_Union[ExecutionPolicy, _Mapping]] = ..., results_cache_policy: _Optional[_Union[ResultsCachePolicy, _Mapping]] = ..., digest_function: _Optional[_Union[DigestFunction.Value, str]] = ..., inline_stdout: bool = ..., inline_stderr: bool = ..., inline_output_files: _Optional[_Iterable[str]] = ...) -> None: ... + +class LogFile(_message.Message): + __slots__ = ("digest", "human_readable") + DIGEST_FIELD_NUMBER: _ClassVar[int] + HUMAN_READABLE_FIELD_NUMBER: _ClassVar[int] + digest: Digest + human_readable: bool + def __init__(self, digest: _Optional[_Union[Digest, _Mapping]] = ..., human_readable: bool = ...) -> None: ... + +class ExecuteResponse(_message.Message): + __slots__ = ("result", "cached_result", "status", "server_logs", "message") + class ServerLogsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: LogFile + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[LogFile, _Mapping]] = ...) -> None: ... + RESULT_FIELD_NUMBER: _ClassVar[int] + CACHED_RESULT_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + SERVER_LOGS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + result: ActionResult + cached_result: bool + status: _status_pb2.Status + server_logs: _containers.MessageMap[str, LogFile] + message: str + def __init__(self, result: _Optional[_Union[ActionResult, _Mapping]] = ..., cached_result: bool = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., server_logs: _Optional[_Mapping[str, LogFile]] = ..., message: _Optional[str] = ...) -> None: ... + +class ExecutionStage(_message.Message): + __slots__ = () + class Value(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + UNKNOWN: _ClassVar[ExecutionStage.Value] + CACHE_CHECK: _ClassVar[ExecutionStage.Value] + QUEUED: _ClassVar[ExecutionStage.Value] + EXECUTING: _ClassVar[ExecutionStage.Value] + COMPLETED: _ClassVar[ExecutionStage.Value] + UNKNOWN: ExecutionStage.Value + CACHE_CHECK: ExecutionStage.Value + QUEUED: ExecutionStage.Value + EXECUTING: ExecutionStage.Value + COMPLETED: ExecutionStage.Value + def __init__(self) -> None: ... + +class ExecuteOperationMetadata(_message.Message): + __slots__ = ("stage", "action_digest", "stdout_stream_name", "stderr_stream_name", "partial_execution_metadata") + STAGE_FIELD_NUMBER: _ClassVar[int] + ACTION_DIGEST_FIELD_NUMBER: _ClassVar[int] + STDOUT_STREAM_NAME_FIELD_NUMBER: _ClassVar[int] + STDERR_STREAM_NAME_FIELD_NUMBER: _ClassVar[int] + PARTIAL_EXECUTION_METADATA_FIELD_NUMBER: _ClassVar[int] + stage: ExecutionStage.Value + action_digest: Digest + stdout_stream_name: str + stderr_stream_name: str + partial_execution_metadata: ExecutedActionMetadata + def __init__(self, stage: _Optional[_Union[ExecutionStage.Value, str]] = ..., action_digest: _Optional[_Union[Digest, _Mapping]] = ..., stdout_stream_name: _Optional[str] = ..., stderr_stream_name: _Optional[str] = ..., partial_execution_metadata: _Optional[_Union[ExecutedActionMetadata, _Mapping]] = ...) -> None: ... + +class WaitExecutionRequest(_message.Message): + __slots__ = ("name",) + NAME_FIELD_NUMBER: _ClassVar[int] + name: str + def __init__(self, name: _Optional[str] = ...) -> None: ... + +class GetActionResultRequest(_message.Message): + __slots__ = ("instance_name", "action_digest", "inline_stdout", "inline_stderr", "inline_output_files", "digest_function") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + ACTION_DIGEST_FIELD_NUMBER: _ClassVar[int] + INLINE_STDOUT_FIELD_NUMBER: _ClassVar[int] + INLINE_STDERR_FIELD_NUMBER: _ClassVar[int] + INLINE_OUTPUT_FILES_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + action_digest: Digest + inline_stdout: bool + inline_stderr: bool + inline_output_files: _containers.RepeatedScalarFieldContainer[str] + digest_function: DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., action_digest: _Optional[_Union[Digest, _Mapping]] = ..., inline_stdout: bool = ..., inline_stderr: bool = ..., inline_output_files: _Optional[_Iterable[str]] = ..., digest_function: _Optional[_Union[DigestFunction.Value, str]] = ...) -> None: ... + +class UpdateActionResultRequest(_message.Message): + __slots__ = ("instance_name", "action_digest", "action_result", "results_cache_policy", "digest_function") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + ACTION_DIGEST_FIELD_NUMBER: _ClassVar[int] + ACTION_RESULT_FIELD_NUMBER: _ClassVar[int] + RESULTS_CACHE_POLICY_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + action_digest: Digest + action_result: ActionResult + results_cache_policy: ResultsCachePolicy + digest_function: DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., action_digest: _Optional[_Union[Digest, _Mapping]] = ..., action_result: _Optional[_Union[ActionResult, _Mapping]] = ..., results_cache_policy: _Optional[_Union[ResultsCachePolicy, _Mapping]] = ..., digest_function: _Optional[_Union[DigestFunction.Value, str]] = ...) -> None: ... + +class FindMissingBlobsRequest(_message.Message): + __slots__ = ("instance_name", "blob_digests", "digest_function") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + BLOB_DIGESTS_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + blob_digests: _containers.RepeatedCompositeFieldContainer[Digest] + digest_function: DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., blob_digests: _Optional[_Iterable[_Union[Digest, _Mapping]]] = ..., digest_function: _Optional[_Union[DigestFunction.Value, str]] = ...) -> None: ... + +class FindMissingBlobsResponse(_message.Message): + __slots__ = ("missing_blob_digests",) + MISSING_BLOB_DIGESTS_FIELD_NUMBER: _ClassVar[int] + missing_blob_digests: _containers.RepeatedCompositeFieldContainer[Digest] + def __init__(self, missing_blob_digests: _Optional[_Iterable[_Union[Digest, _Mapping]]] = ...) -> None: ... + +class BatchUpdateBlobsRequest(_message.Message): + __slots__ = ("instance_name", "requests", "digest_function") + class Request(_message.Message): + __slots__ = ("digest", "data", "compressor") + DIGEST_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + COMPRESSOR_FIELD_NUMBER: _ClassVar[int] + digest: Digest + data: bytes + compressor: Compressor.Value + def __init__(self, digest: _Optional[_Union[Digest, _Mapping]] = ..., data: _Optional[bytes] = ..., compressor: _Optional[_Union[Compressor.Value, str]] = ...) -> None: ... + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + REQUESTS_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + requests: _containers.RepeatedCompositeFieldContainer[BatchUpdateBlobsRequest.Request] + digest_function: DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., requests: _Optional[_Iterable[_Union[BatchUpdateBlobsRequest.Request, _Mapping]]] = ..., digest_function: _Optional[_Union[DigestFunction.Value, str]] = ...) -> None: ... + +class BatchUpdateBlobsResponse(_message.Message): + __slots__ = ("responses",) + class Response(_message.Message): + __slots__ = ("digest", "status") + DIGEST_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + digest: Digest + status: _status_pb2.Status + def __init__(self, digest: _Optional[_Union[Digest, _Mapping]] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ...) -> None: ... + RESPONSES_FIELD_NUMBER: _ClassVar[int] + responses: _containers.RepeatedCompositeFieldContainer[BatchUpdateBlobsResponse.Response] + def __init__(self, responses: _Optional[_Iterable[_Union[BatchUpdateBlobsResponse.Response, _Mapping]]] = ...) -> None: ... + +class BatchReadBlobsRequest(_message.Message): + __slots__ = ("instance_name", "digests", "acceptable_compressors", "digest_function") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + DIGESTS_FIELD_NUMBER: _ClassVar[int] + ACCEPTABLE_COMPRESSORS_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + digests: _containers.RepeatedCompositeFieldContainer[Digest] + acceptable_compressors: _containers.RepeatedScalarFieldContainer[Compressor.Value] + digest_function: DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., digests: _Optional[_Iterable[_Union[Digest, _Mapping]]] = ..., acceptable_compressors: _Optional[_Iterable[_Union[Compressor.Value, str]]] = ..., digest_function: _Optional[_Union[DigestFunction.Value, str]] = ...) -> None: ... + +class BatchReadBlobsResponse(_message.Message): + __slots__ = ("responses",) + class Response(_message.Message): + __slots__ = ("digest", "data", "compressor", "status") + DIGEST_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + COMPRESSOR_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + digest: Digest + data: bytes + compressor: Compressor.Value + status: _status_pb2.Status + def __init__(self, digest: _Optional[_Union[Digest, _Mapping]] = ..., data: _Optional[bytes] = ..., compressor: _Optional[_Union[Compressor.Value, str]] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ...) -> None: ... + RESPONSES_FIELD_NUMBER: _ClassVar[int] + responses: _containers.RepeatedCompositeFieldContainer[BatchReadBlobsResponse.Response] + def __init__(self, responses: _Optional[_Iterable[_Union[BatchReadBlobsResponse.Response, _Mapping]]] = ...) -> None: ... + +class GetTreeRequest(_message.Message): + __slots__ = ("instance_name", "root_digest", "page_size", "page_token", "digest_function") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + ROOT_DIGEST_FIELD_NUMBER: _ClassVar[int] + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + root_digest: Digest + page_size: int + page_token: str + digest_function: DigestFunction.Value + def __init__(self, instance_name: _Optional[str] = ..., root_digest: _Optional[_Union[Digest, _Mapping]] = ..., page_size: _Optional[int] = ..., page_token: _Optional[str] = ..., digest_function: _Optional[_Union[DigestFunction.Value, str]] = ...) -> None: ... + +class GetTreeResponse(_message.Message): + __slots__ = ("directories", "next_page_token") + DIRECTORIES_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + directories: _containers.RepeatedCompositeFieldContainer[Directory] + next_page_token: str + def __init__(self, directories: _Optional[_Iterable[_Union[Directory, _Mapping]]] = ..., next_page_token: _Optional[str] = ...) -> None: ... + +class GetCapabilitiesRequest(_message.Message): + __slots__ = ("instance_name",) + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + instance_name: str + def __init__(self, instance_name: _Optional[str] = ...) -> None: ... + +class ServerCapabilities(_message.Message): + __slots__ = ("cache_capabilities", "execution_capabilities", "deprecated_api_version", "low_api_version", "high_api_version") + CACHE_CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + EXECUTION_CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + DEPRECATED_API_VERSION_FIELD_NUMBER: _ClassVar[int] + LOW_API_VERSION_FIELD_NUMBER: _ClassVar[int] + HIGH_API_VERSION_FIELD_NUMBER: _ClassVar[int] + cache_capabilities: CacheCapabilities + execution_capabilities: ExecutionCapabilities + deprecated_api_version: _semver_pb2.SemVer + low_api_version: _semver_pb2.SemVer + high_api_version: _semver_pb2.SemVer + def __init__(self, cache_capabilities: _Optional[_Union[CacheCapabilities, _Mapping]] = ..., execution_capabilities: _Optional[_Union[ExecutionCapabilities, _Mapping]] = ..., deprecated_api_version: _Optional[_Union[_semver_pb2.SemVer, _Mapping]] = ..., low_api_version: _Optional[_Union[_semver_pb2.SemVer, _Mapping]] = ..., high_api_version: _Optional[_Union[_semver_pb2.SemVer, _Mapping]] = ...) -> None: ... + +class DigestFunction(_message.Message): + __slots__ = () + class Value(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + UNKNOWN: _ClassVar[DigestFunction.Value] + SHA256: _ClassVar[DigestFunction.Value] + SHA1: _ClassVar[DigestFunction.Value] + MD5: _ClassVar[DigestFunction.Value] + VSO: _ClassVar[DigestFunction.Value] + SHA384: _ClassVar[DigestFunction.Value] + SHA512: _ClassVar[DigestFunction.Value] + MURMUR3: _ClassVar[DigestFunction.Value] + SHA256TREE: _ClassVar[DigestFunction.Value] + BLAKE3: _ClassVar[DigestFunction.Value] + UNKNOWN: DigestFunction.Value + SHA256: DigestFunction.Value + SHA1: DigestFunction.Value + MD5: DigestFunction.Value + VSO: DigestFunction.Value + SHA384: DigestFunction.Value + SHA512: DigestFunction.Value + MURMUR3: DigestFunction.Value + SHA256TREE: DigestFunction.Value + BLAKE3: DigestFunction.Value + def __init__(self) -> None: ... + +class ActionCacheUpdateCapabilities(_message.Message): + __slots__ = ("update_enabled",) + UPDATE_ENABLED_FIELD_NUMBER: _ClassVar[int] + update_enabled: bool + def __init__(self, update_enabled: bool = ...) -> None: ... + +class PriorityCapabilities(_message.Message): + __slots__ = ("priorities",) + class PriorityRange(_message.Message): + __slots__ = ("min_priority", "max_priority") + MIN_PRIORITY_FIELD_NUMBER: _ClassVar[int] + MAX_PRIORITY_FIELD_NUMBER: _ClassVar[int] + min_priority: int + max_priority: int + def __init__(self, min_priority: _Optional[int] = ..., max_priority: _Optional[int] = ...) -> None: ... + PRIORITIES_FIELD_NUMBER: _ClassVar[int] + priorities: _containers.RepeatedCompositeFieldContainer[PriorityCapabilities.PriorityRange] + def __init__(self, priorities: _Optional[_Iterable[_Union[PriorityCapabilities.PriorityRange, _Mapping]]] = ...) -> None: ... + +class SymlinkAbsolutePathStrategy(_message.Message): + __slots__ = () + class Value(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + UNKNOWN: _ClassVar[SymlinkAbsolutePathStrategy.Value] + DISALLOWED: _ClassVar[SymlinkAbsolutePathStrategy.Value] + ALLOWED: _ClassVar[SymlinkAbsolutePathStrategy.Value] + UNKNOWN: SymlinkAbsolutePathStrategy.Value + DISALLOWED: SymlinkAbsolutePathStrategy.Value + ALLOWED: SymlinkAbsolutePathStrategy.Value + def __init__(self) -> None: ... + +class Compressor(_message.Message): + __slots__ = () + class Value(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + IDENTITY: _ClassVar[Compressor.Value] + ZSTD: _ClassVar[Compressor.Value] + DEFLATE: _ClassVar[Compressor.Value] + BROTLI: _ClassVar[Compressor.Value] + IDENTITY: Compressor.Value + ZSTD: Compressor.Value + DEFLATE: Compressor.Value + BROTLI: Compressor.Value + def __init__(self) -> None: ... + +class CacheCapabilities(_message.Message): + __slots__ = ("digest_functions", "action_cache_update_capabilities", "cache_priority_capabilities", "max_batch_total_size_bytes", "symlink_absolute_path_strategy", "supported_compressors", "supported_batch_update_compressors") + DIGEST_FUNCTIONS_FIELD_NUMBER: _ClassVar[int] + ACTION_CACHE_UPDATE_CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + CACHE_PRIORITY_CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + MAX_BATCH_TOTAL_SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + SYMLINK_ABSOLUTE_PATH_STRATEGY_FIELD_NUMBER: _ClassVar[int] + SUPPORTED_COMPRESSORS_FIELD_NUMBER: _ClassVar[int] + SUPPORTED_BATCH_UPDATE_COMPRESSORS_FIELD_NUMBER: _ClassVar[int] + digest_functions: _containers.RepeatedScalarFieldContainer[DigestFunction.Value] + action_cache_update_capabilities: ActionCacheUpdateCapabilities + cache_priority_capabilities: PriorityCapabilities + max_batch_total_size_bytes: int + symlink_absolute_path_strategy: SymlinkAbsolutePathStrategy.Value + supported_compressors: _containers.RepeatedScalarFieldContainer[Compressor.Value] + supported_batch_update_compressors: _containers.RepeatedScalarFieldContainer[Compressor.Value] + def __init__(self, digest_functions: _Optional[_Iterable[_Union[DigestFunction.Value, str]]] = ..., action_cache_update_capabilities: _Optional[_Union[ActionCacheUpdateCapabilities, _Mapping]] = ..., cache_priority_capabilities: _Optional[_Union[PriorityCapabilities, _Mapping]] = ..., max_batch_total_size_bytes: _Optional[int] = ..., symlink_absolute_path_strategy: _Optional[_Union[SymlinkAbsolutePathStrategy.Value, str]] = ..., supported_compressors: _Optional[_Iterable[_Union[Compressor.Value, str]]] = ..., supported_batch_update_compressors: _Optional[_Iterable[_Union[Compressor.Value, str]]] = ...) -> None: ... + +class ExecutionCapabilities(_message.Message): + __slots__ = ("digest_function", "exec_enabled", "execution_priority_capabilities", "supported_node_properties", "digest_functions") + DIGEST_FUNCTION_FIELD_NUMBER: _ClassVar[int] + EXEC_ENABLED_FIELD_NUMBER: _ClassVar[int] + EXECUTION_PRIORITY_CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + SUPPORTED_NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + DIGEST_FUNCTIONS_FIELD_NUMBER: _ClassVar[int] + digest_function: DigestFunction.Value + exec_enabled: bool + execution_priority_capabilities: PriorityCapabilities + supported_node_properties: _containers.RepeatedScalarFieldContainer[str] + digest_functions: _containers.RepeatedScalarFieldContainer[DigestFunction.Value] + def __init__(self, digest_function: _Optional[_Union[DigestFunction.Value, str]] = ..., exec_enabled: bool = ..., execution_priority_capabilities: _Optional[_Union[PriorityCapabilities, _Mapping]] = ..., supported_node_properties: _Optional[_Iterable[str]] = ..., digest_functions: _Optional[_Iterable[_Union[DigestFunction.Value, str]]] = ...) -> None: ... + +class ToolDetails(_message.Message): + __slots__ = ("tool_name", "tool_version") + TOOL_NAME_FIELD_NUMBER: _ClassVar[int] + TOOL_VERSION_FIELD_NUMBER: _ClassVar[int] + tool_name: str + tool_version: str + def __init__(self, tool_name: _Optional[str] = ..., tool_version: _Optional[str] = ...) -> None: ... + +class RequestMetadata(_message.Message): + __slots__ = ("tool_details", "action_id", "tool_invocation_id", "correlated_invocations_id", "action_mnemonic", "target_id", "configuration_id") + TOOL_DETAILS_FIELD_NUMBER: _ClassVar[int] + ACTION_ID_FIELD_NUMBER: _ClassVar[int] + TOOL_INVOCATION_ID_FIELD_NUMBER: _ClassVar[int] + CORRELATED_INVOCATIONS_ID_FIELD_NUMBER: _ClassVar[int] + ACTION_MNEMONIC_FIELD_NUMBER: _ClassVar[int] + TARGET_ID_FIELD_NUMBER: _ClassVar[int] + CONFIGURATION_ID_FIELD_NUMBER: _ClassVar[int] + tool_details: ToolDetails + action_id: str + tool_invocation_id: str + correlated_invocations_id: str + action_mnemonic: str + target_id: str + configuration_id: str + def __init__(self, tool_details: _Optional[_Union[ToolDetails, _Mapping]] = ..., action_id: _Optional[str] = ..., tool_invocation_id: _Optional[str] = ..., correlated_invocations_id: _Optional[str] = ..., action_mnemonic: _Optional[str] = ..., target_id: _Optional[str] = ..., configuration_id: _Optional[str] = ...) -> None: ... diff --git a/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py index 1ed5dc9d9..2f8680032 100644 --- a/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py +++ b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py @@ -1,10 +1,30 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from buildstream._protos.build.bazel.remote.execution.v2 import remote_execution_pb2 as build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2 from buildstream._protos.google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class ExecutionStub(object): """The Remote Execution API is used to execute an @@ -27,12 +47,12 @@ def __init__(self, channel): '/build.bazel.remote.execution.v2.Execution/Execute', request_serializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ExecuteRequest.SerializeToString, response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, - ) + _registered_method=True) self.WaitExecution = channel.unary_stream( '/build.bazel.remote.execution.v2.Execution/WaitExecution', request_serializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.WaitExecutionRequest.SerializeToString, response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, - ) + _registered_method=True) class ExecutionServicer(object): @@ -162,6 +182,7 @@ def add_ExecutionServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'build.bazel.remote.execution.v2.Execution', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('build.bazel.remote.execution.v2.Execution', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -187,11 +208,21 @@ def Execute(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/build.bazel.remote.execution.v2.Execution/Execute', + return grpc.experimental.unary_stream( + request, + target, + '/build.bazel.remote.execution.v2.Execution/Execute', build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ExecuteRequest.SerializeToString, google_dot_longrunning_dot_operations__pb2.Operation.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def WaitExecution(request, @@ -204,11 +235,21 @@ def WaitExecution(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/build.bazel.remote.execution.v2.Execution/WaitExecution', + return grpc.experimental.unary_stream( + request, + target, + '/build.bazel.remote.execution.v2.Execution/WaitExecution', build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.WaitExecutionRequest.SerializeToString, google_dot_longrunning_dot_operations__pb2.Operation.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) class ActionCacheStub(object): @@ -240,12 +281,12 @@ def __init__(self, channel): '/build.bazel.remote.execution.v2.ActionCache/GetActionResult', request_serializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetActionResultRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ActionResult.FromString, - ) + _registered_method=True) self.UpdateActionResult = channel.unary_unary( '/build.bazel.remote.execution.v2.ActionCache/UpdateActionResult', request_serializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.UpdateActionResultRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ActionResult.FromString, - ) + _registered_method=True) class ActionCacheServicer(object): @@ -327,6 +368,7 @@ def add_ActionCacheServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'build.bazel.remote.execution.v2.ActionCache', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('build.bazel.remote.execution.v2.ActionCache', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -360,11 +402,21 @@ def GetActionResult(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.execution.v2.ActionCache/GetActionResult', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.execution.v2.ActionCache/GetActionResult', build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetActionResultRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ActionResult.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def UpdateActionResult(request, @@ -377,11 +429,21 @@ def UpdateActionResult(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.execution.v2.ActionCache/UpdateActionResult', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.execution.v2.ActionCache/UpdateActionResult', build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.UpdateActionResultRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ActionResult.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) class ContentAddressableStorageStub(object): @@ -540,22 +602,22 @@ def __init__(self, channel): '/build.bazel.remote.execution.v2.ContentAddressableStorage/FindMissingBlobs', request_serializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.FindMissingBlobsRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.FindMissingBlobsResponse.FromString, - ) + _registered_method=True) self.BatchUpdateBlobs = channel.unary_unary( '/build.bazel.remote.execution.v2.ContentAddressableStorage/BatchUpdateBlobs', request_serializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchUpdateBlobsRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchUpdateBlobsResponse.FromString, - ) + _registered_method=True) self.BatchReadBlobs = channel.unary_unary( '/build.bazel.remote.execution.v2.ContentAddressableStorage/BatchReadBlobs', request_serializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchReadBlobsRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchReadBlobsResponse.FromString, - ) + _registered_method=True) self.GetTree = channel.unary_stream( '/build.bazel.remote.execution.v2.ContentAddressableStorage/GetTree', request_serializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetTreeRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetTreeResponse.FromString, - ) + _registered_method=True) class ContentAddressableStorageServicer(object): @@ -831,6 +893,7 @@ def add_ContentAddressableStorageServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'build.bazel.remote.execution.v2.ContentAddressableStorage', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('build.bazel.remote.execution.v2.ContentAddressableStorage', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -991,11 +1054,21 @@ def FindMissingBlobs(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.execution.v2.ContentAddressableStorage/FindMissingBlobs', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.execution.v2.ContentAddressableStorage/FindMissingBlobs', build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.FindMissingBlobsRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.FindMissingBlobsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def BatchUpdateBlobs(request, @@ -1008,11 +1081,21 @@ def BatchUpdateBlobs(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.execution.v2.ContentAddressableStorage/BatchUpdateBlobs', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.execution.v2.ContentAddressableStorage/BatchUpdateBlobs', build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchUpdateBlobsRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchUpdateBlobsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def BatchReadBlobs(request, @@ -1025,11 +1108,21 @@ def BatchReadBlobs(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.execution.v2.ContentAddressableStorage/BatchReadBlobs', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.execution.v2.ContentAddressableStorage/BatchReadBlobs', build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchReadBlobsRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchReadBlobsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def GetTree(request, @@ -1042,11 +1135,21 @@ def GetTree(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/build.bazel.remote.execution.v2.ContentAddressableStorage/GetTree', + return grpc.experimental.unary_stream( + request, + target, + '/build.bazel.remote.execution.v2.ContentAddressableStorage/GetTree', build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetTreeRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetTreeResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) class CapabilitiesStub(object): @@ -1068,7 +1171,7 @@ def __init__(self, channel): '/build.bazel.remote.execution.v2.Capabilities/GetCapabilities', request_serializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetCapabilitiesRequest.SerializeToString, response_deserializer=build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ServerCapabilities.FromString, - ) + _registered_method=True) class CapabilitiesServicer(object): @@ -1108,6 +1211,7 @@ def add_CapabilitiesServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'build.bazel.remote.execution.v2.Capabilities', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('build.bazel.remote.execution.v2.Capabilities', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -1131,8 +1235,18 @@ def GetCapabilities(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.bazel.remote.execution.v2.Capabilities/GetCapabilities', + return grpc.experimental.unary_unary( + request, + target, + '/build.bazel.remote.execution.v2.Capabilities/GetCapabilities', build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetCapabilitiesRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ServerCapabilities.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/src/buildstream/_protos/build/bazel/semver/semver_pb2.py b/src/buildstream/_protos/build/bazel/semver/semver_pb2.py index c663eaf23..325c2ea33 100644 --- a/src/buildstream/_protos/build/bazel/semver/semver_pb2.py +++ b/src/buildstream/_protos/build/bazel/semver/semver_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: build/bazel/semver/semver.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'build/bazel/semver/semver.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,19 +26,11 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x62uild/bazel/semver/semver.proto\x12\x12\x62uild.bazel.semver\"I\n\x06SemVer\x12\r\n\x05major\x18\x01 \x01(\x05\x12\r\n\x05minor\x18\x02 \x01(\x05\x12\r\n\x05patch\x18\x03 \x01(\x05\x12\x12\n\nprerelease\x18\x04 \x01(\tb\x06proto3') - - -_SEMVER = DESCRIPTOR.message_types_by_name['SemVer'] -SemVer = _reflection.GeneratedProtocolMessageType('SemVer', (_message.Message,), { - 'DESCRIPTOR' : _SEMVER, - '__module__' : 'build.bazel.semver.semver_pb2' - # @@protoc_insertion_point(class_scope:build.bazel.semver.SemVer) - }) -_sym_db.RegisterMessage(SemVer) - -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - _SEMVER._serialized_start=55 - _SEMVER._serialized_end=128 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'build.bazel.semver.semver_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SEMVER']._serialized_start=55 + _globals['_SEMVER']._serialized_end=128 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/build/bazel/semver/semver_pb2.pyi b/src/buildstream/_protos/build/bazel/semver/semver_pb2.pyi new file mode 100644 index 000000000..005bb36d4 --- /dev/null +++ b/src/buildstream/_protos/build/bazel/semver/semver_pb2.pyi @@ -0,0 +1,17 @@ +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Optional as _Optional + +DESCRIPTOR: _descriptor.FileDescriptor + +class SemVer(_message.Message): + __slots__ = ("major", "minor", "patch", "prerelease") + MAJOR_FIELD_NUMBER: _ClassVar[int] + MINOR_FIELD_NUMBER: _ClassVar[int] + PATCH_FIELD_NUMBER: _ClassVar[int] + PRERELEASE_FIELD_NUMBER: _ClassVar[int] + major: int + minor: int + patch: int + prerelease: str + def __init__(self, major: _Optional[int] = ..., minor: _Optional[int] = ..., patch: _Optional[int] = ..., prerelease: _Optional[str] = ...) -> None: ... diff --git a/src/buildstream/_protos/build/bazel/semver/semver_pb2_grpc.py b/src/buildstream/_protos/build/bazel/semver/semver_pb2_grpc.py index 2daafffeb..544c9fc9f 100644 --- a/src/buildstream/_protos/build/bazel/semver/semver_pb2_grpc.py +++ b/src/buildstream/_protos/build/bazel/semver/semver_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in build/bazel/semver/semver_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/src/buildstream/_protos/build/buildgrid/local_cas.proto b/src/buildstream/_protos/build/buildgrid/local_cas.proto index 852bbe2f0..a04c4aca4 100644 --- a/src/buildstream/_protos/build/buildgrid/local_cas.proto +++ b/src/buildstream/_protos/build/buildgrid/local_cas.proto @@ -107,6 +107,10 @@ service LocalContentAddressableStorage { // avoiding copies when it is known that files will not be needed after they // are imported. If a server chooses not to move them, the source files will // still exist after this request. + // + // The `skip_upload` parameter is a hint to indicate that the files do not + // need to be uploaded to the remote CAS. This can be useful for local-only + // workflows where an upload step adds unnecessary latency. rpc CaptureTree(CaptureTreeRequest) returns (CaptureTreeResponse) {} // Capture files from the local filesystem. @@ -122,6 +126,10 @@ service LocalContentAddressableStorage { // avoiding copies when it is known that files will not be needed after they // are imported. If a server chooses not to move them, the source files will // still exist after this request. + // + // The `skip_upload` parameter is a hint to indicate that the files do not + // need to be uploaded to the remote CAS. This can be useful for local-only + // workflows where an upload step adds unnecessary latency. rpc CaptureFiles(CaptureFilesRequest) returns (CaptureFilesResponse) {} // Configure remote CAS endpoint. @@ -342,6 +350,12 @@ message CaptureTreeRequest { // of what was requested (e.g., interpreting DIRECTORY_ONLY as // TREE_AND_DIRECTORY). build.bazel.remote.execution.v2.Command.OutputDirectoryFormat output_directory_format = 7; + + // Hints whether files should be uploaded to the remote CAS. + // This is mutually exclusive with `bypass_local_cache`. If both `skip_upload` + // and `bypass_local_cache` are set, the server MUST return an InvalidArgument + // error. + bool skip_upload = 8; } // A response message for @@ -399,6 +413,12 @@ message CaptureFilesRequest { // If enabled, they MUST NOT be modified after issuing this request in order // to guarantee consistency. bool move_files = 5; + + // Hints whether files should be uploaded to the remote CAS. + // This is mutually exclusive with `bypass_local_cache`. If both `skip_upload` + // and `bypass_local_cache` are set, the server MUST return an InvalidArgument + // error. + bool skip_upload = 7; } // A response message for @@ -494,6 +514,20 @@ message Remote { // Remote keepalive time. Unset or empty is treated as disabling keepalive. google.protobuf.Duration keepalive_time = 6; + + // The maximum number of time a request is retried on this remote + // A `retry_limit` of 0 indicates that + // there is no limit and the server can pick a retry_limit + int64 retry_limit = 9; + + // The initial recommended retry delay before the first retry, the + // server might implement a backoff startegy. + // A `retry_delay` of unset or empty indicates + // that there is no delay recommended and the server can pick a retry_delay + google.protobuf.Duration retry_delay = 10; + + // How long to wait for a response from the remote. + google.protobuf.Duration request_timeout = 11; } // A request message for diff --git a/src/buildstream/_protos/build/buildgrid/local_cas_pb2.py b/src/buildstream/_protos/build/buildgrid/local_cas_pb2.py index 990cfe902..13da13f42 100644 --- a/src/buildstream/_protos/build/buildgrid/local_cas_pb2.py +++ b/src/buildstream/_protos/build/buildgrid/local_cas_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: build/buildgrid/local_cas.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'build/buildgrid/local_cas.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,299 +27,69 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x62uild/buildgrid/local_cas.proto\x12\x0f\x62uild.buildgrid\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x17google/rpc/status.proto\x1a\x1egoogle/protobuf/duration.proto\"p\n\x18\x46\x65tchMissingBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12=\n\x0c\x62lob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xcc\x01\n\x19\x46\x65tchMissingBlobsResponse\x12\x46\n\tresponses\x18\x01 \x03(\x0b\x32\x33.build.buildgrid.FetchMissingBlobsResponse.Response\x1ag\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"q\n\x19UploadMissingBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12=\n\x0c\x62lob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xce\x01\n\x1aUploadMissingBlobsResponse\x12G\n\tresponses\x18\x01 \x03(\x0b\x32\x34.build.buildgrid.UploadMissingBlobsResponse.Response\x1ag\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"\x81\x01\n\x10\x46\x65tchTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x18\n\x10\x66\x65tch_file_blobs\x18\x03 \x01(\x08\"\x13\n\x11\x46\x65tchTreeResponse\"h\n\x11UploadTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\x14\n\x12UploadTreeResponse\"\xe9\x01\n\x10StageTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x0c\n\x04path\x18\x03 \x01(\t\x12I\n\x12\x61\x63\x63\x65ss_credentials\x18\x04 \x01(\x0b\x32-.build.buildgrid.StageTreeRequest.Credentials\x1a\'\n\x0b\x43redentials\x12\x0b\n\x03uid\x18\x01 \x01(\x03\x12\x0b\n\x03gid\x18\x02 \x01(\x03\"!\n\x11StageTreeResponse\x12\x0c\n\x04path\x18\x01 \x01(\t\"\xf1\x01\n\x12\x43\x61ptureTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04root\x18\x06 \x01(\t\x12\x0c\n\x04path\x18\x02 \x03(\t\x12\x1a\n\x12\x62ypass_local_cache\x18\x03 \x01(\x08\x12\x17\n\x0fnode_properties\x18\x04 \x03(\t\x12\x12\n\nmove_files\x18\x05 \x01(\x08\x12_\n\x17output_directory_format\x18\x07 \x01(\x0e\x32>.build.bazel.remote.execution.v2.Command.OutputDirectoryFormat\"\x9c\x02\n\x13\x43\x61ptureTreeResponse\x12@\n\tresponses\x18\x01 \x03(\x0b\x32-.build.buildgrid.CaptureTreeResponse.Response\x1a\xc2\x01\n\x08Response\x12\x0c\n\x04path\x18\x01 \x01(\t\x12<\n\x0btree_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x46\n\x15root_directory_digest\x18\x04 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\x91\x01\n\x13\x43\x61ptureFilesRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04root\x18\x06 \x01(\t\x12\x0c\n\x04path\x18\x02 \x03(\t\x12\x1a\n\x12\x62ypass_local_cache\x18\x03 \x01(\x08\x12\x17\n\x0fnode_properties\x18\x04 \x03(\t\x12\x12\n\nmove_files\x18\x05 \x01(\x08\"\xb8\x02\n\x14\x43\x61ptureFilesResponse\x12\x41\n\tresponses\x18\x01 \x03(\x0b\x32..build.buildgrid.CaptureFilesResponse.Response\x1a\xdc\x01\n\x08Response\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x15\n\ris_executable\x18\x04 \x01(\x08\x12H\n\x0fnode_properties\x18\x06 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x05\x10\x06\"\x83\x01\n\x1fGetInstanceNameForRemoteRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x15\n\rinstance_name\x18\x02 \x01(\t\x12\x13\n\x0bserver_cert\x18\x03 \x01(\x0c\x12\x12\n\nclient_key\x18\x04 \x01(\x0c\x12\x13\n\x0b\x63lient_cert\x18\x05 \x01(\x0c\"9\n GetInstanceNameForRemoteResponse\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xf9\x01\n\x06Remote\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x15\n\rinstance_name\x18\x02 \x01(\t\x12\x13\n\x0bserver_cert\x18\x03 \x01(\x0c\x12\x12\n\nclient_key\x18\x04 \x01(\x0c\x12\x13\n\x0b\x63lient_cert\x18\x05 \x01(\x0c\x12\x19\n\x11\x61\x63\x63\x65ss_token_path\x18\x07 \x01(\t\x12?\n\x1c\x61\x63\x63\x65ss_token_reload_interval\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0ekeepalive_time\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x81\x02\n GetInstanceNameForRemotesRequest\x12\x15\n\rinstance_name\x18\x03 \x01(\t\x12<\n\x1b\x63ontent_addressable_storage\x18\x01 \x01(\x0b\x32\x17.build.buildgrid.Remote\x12-\n\x0cremote_asset\x18\x02 \x01(\x0b\x32\x17.build.buildgrid.Remote\x12-\n\x0c\x61\x63tion_cache\x18\x04 \x01(\x0b\x32\x17.build.buildgrid.Remote\x12*\n\texecution\x18\x05 \x01(\x0b\x32\x17.build.buildgrid.Remote\":\n!GetInstanceNameForRemotesResponse\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"I\n\"GetInstanceNameForNamespaceRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04root\x18\x02 \x01(\t\"<\n#GetInstanceNameForNamespaceResponse\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\x1a\n\x18GetLocalDiskUsageRequest\"D\n\x19GetLocalDiskUsageResponse\x12\x12\n\nsize_bytes\x18\x01 \x01(\x03\x12\x13\n\x0bquota_bytes\x18\x02 \x01(\x03\x32\xc9\t\n\x1eLocalContentAddressableStorage\x12l\n\x11\x46\x65tchMissingBlobs\x12).build.buildgrid.FetchMissingBlobsRequest\x1a*.build.buildgrid.FetchMissingBlobsResponse\"\x00\x12o\n\x12UploadMissingBlobs\x12*.build.buildgrid.UploadMissingBlobsRequest\x1a+.build.buildgrid.UploadMissingBlobsResponse\"\x00\x12T\n\tFetchTree\x12!.build.buildgrid.FetchTreeRequest\x1a\".build.buildgrid.FetchTreeResponse\"\x00\x12W\n\nUploadTree\x12\".build.buildgrid.UploadTreeRequest\x1a#.build.buildgrid.UploadTreeResponse\"\x00\x12X\n\tStageTree\x12!.build.buildgrid.StageTreeRequest\x1a\".build.buildgrid.StageTreeResponse\"\x00(\x01\x30\x01\x12Z\n\x0b\x43\x61ptureTree\x12#.build.buildgrid.CaptureTreeRequest\x1a$.build.buildgrid.CaptureTreeResponse\"\x00\x12]\n\x0c\x43\x61ptureFiles\x12$.build.buildgrid.CaptureFilesRequest\x1a%.build.buildgrid.CaptureFilesResponse\"\x00\x12\x81\x01\n\x18GetInstanceNameForRemote\x12\x30.build.buildgrid.GetInstanceNameForRemoteRequest\x1a\x31.build.buildgrid.GetInstanceNameForRemoteResponse\"\x00\x12\x84\x01\n\x19GetInstanceNameForRemotes\x12\x31.build.buildgrid.GetInstanceNameForRemotesRequest\x1a\x32.build.buildgrid.GetInstanceNameForRemotesResponse\"\x00\x12\x8a\x01\n\x1bGetInstanceNameForNamespace\x12\x33.build.buildgrid.GetInstanceNameForNamespaceRequest\x1a\x34.build.buildgrid.GetInstanceNameForNamespaceResponse\"\x00\x12l\n\x11GetLocalDiskUsage\x12).build.buildgrid.GetLocalDiskUsageRequest\x1a*.build.buildgrid.GetLocalDiskUsageResponse\"\x00\x62\x06proto3') - - - -_FETCHMISSINGBLOBSREQUEST = DESCRIPTOR.message_types_by_name['FetchMissingBlobsRequest'] -_FETCHMISSINGBLOBSRESPONSE = DESCRIPTOR.message_types_by_name['FetchMissingBlobsResponse'] -_FETCHMISSINGBLOBSRESPONSE_RESPONSE = _FETCHMISSINGBLOBSRESPONSE.nested_types_by_name['Response'] -_UPLOADMISSINGBLOBSREQUEST = DESCRIPTOR.message_types_by_name['UploadMissingBlobsRequest'] -_UPLOADMISSINGBLOBSRESPONSE = DESCRIPTOR.message_types_by_name['UploadMissingBlobsResponse'] -_UPLOADMISSINGBLOBSRESPONSE_RESPONSE = _UPLOADMISSINGBLOBSRESPONSE.nested_types_by_name['Response'] -_FETCHTREEREQUEST = DESCRIPTOR.message_types_by_name['FetchTreeRequest'] -_FETCHTREERESPONSE = DESCRIPTOR.message_types_by_name['FetchTreeResponse'] -_UPLOADTREEREQUEST = DESCRIPTOR.message_types_by_name['UploadTreeRequest'] -_UPLOADTREERESPONSE = DESCRIPTOR.message_types_by_name['UploadTreeResponse'] -_STAGETREEREQUEST = DESCRIPTOR.message_types_by_name['StageTreeRequest'] -_STAGETREEREQUEST_CREDENTIALS = _STAGETREEREQUEST.nested_types_by_name['Credentials'] -_STAGETREERESPONSE = DESCRIPTOR.message_types_by_name['StageTreeResponse'] -_CAPTURETREEREQUEST = DESCRIPTOR.message_types_by_name['CaptureTreeRequest'] -_CAPTURETREERESPONSE = DESCRIPTOR.message_types_by_name['CaptureTreeResponse'] -_CAPTURETREERESPONSE_RESPONSE = _CAPTURETREERESPONSE.nested_types_by_name['Response'] -_CAPTUREFILESREQUEST = DESCRIPTOR.message_types_by_name['CaptureFilesRequest'] -_CAPTUREFILESRESPONSE = DESCRIPTOR.message_types_by_name['CaptureFilesResponse'] -_CAPTUREFILESRESPONSE_RESPONSE = _CAPTUREFILESRESPONSE.nested_types_by_name['Response'] -_GETINSTANCENAMEFORREMOTEREQUEST = DESCRIPTOR.message_types_by_name['GetInstanceNameForRemoteRequest'] -_GETINSTANCENAMEFORREMOTERESPONSE = DESCRIPTOR.message_types_by_name['GetInstanceNameForRemoteResponse'] -_REMOTE = DESCRIPTOR.message_types_by_name['Remote'] -_GETINSTANCENAMEFORREMOTESREQUEST = DESCRIPTOR.message_types_by_name['GetInstanceNameForRemotesRequest'] -_GETINSTANCENAMEFORREMOTESRESPONSE = DESCRIPTOR.message_types_by_name['GetInstanceNameForRemotesResponse'] -_GETINSTANCENAMEFORNAMESPACEREQUEST = DESCRIPTOR.message_types_by_name['GetInstanceNameForNamespaceRequest'] -_GETINSTANCENAMEFORNAMESPACERESPONSE = DESCRIPTOR.message_types_by_name['GetInstanceNameForNamespaceResponse'] -_GETLOCALDISKUSAGEREQUEST = DESCRIPTOR.message_types_by_name['GetLocalDiskUsageRequest'] -_GETLOCALDISKUSAGERESPONSE = DESCRIPTOR.message_types_by_name['GetLocalDiskUsageResponse'] -FetchMissingBlobsRequest = _reflection.GeneratedProtocolMessageType('FetchMissingBlobsRequest', (_message.Message,), { - 'DESCRIPTOR' : _FETCHMISSINGBLOBSREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.FetchMissingBlobsRequest) - }) -_sym_db.RegisterMessage(FetchMissingBlobsRequest) - -FetchMissingBlobsResponse = _reflection.GeneratedProtocolMessageType('FetchMissingBlobsResponse', (_message.Message,), { - - 'Response' : _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), { - 'DESCRIPTOR' : _FETCHMISSINGBLOBSRESPONSE_RESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.FetchMissingBlobsResponse.Response) - }) - , - 'DESCRIPTOR' : _FETCHMISSINGBLOBSRESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.FetchMissingBlobsResponse) - }) -_sym_db.RegisterMessage(FetchMissingBlobsResponse) -_sym_db.RegisterMessage(FetchMissingBlobsResponse.Response) - -UploadMissingBlobsRequest = _reflection.GeneratedProtocolMessageType('UploadMissingBlobsRequest', (_message.Message,), { - 'DESCRIPTOR' : _UPLOADMISSINGBLOBSREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.UploadMissingBlobsRequest) - }) -_sym_db.RegisterMessage(UploadMissingBlobsRequest) - -UploadMissingBlobsResponse = _reflection.GeneratedProtocolMessageType('UploadMissingBlobsResponse', (_message.Message,), { - - 'Response' : _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), { - 'DESCRIPTOR' : _UPLOADMISSINGBLOBSRESPONSE_RESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.UploadMissingBlobsResponse.Response) - }) - , - 'DESCRIPTOR' : _UPLOADMISSINGBLOBSRESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.UploadMissingBlobsResponse) - }) -_sym_db.RegisterMessage(UploadMissingBlobsResponse) -_sym_db.RegisterMessage(UploadMissingBlobsResponse.Response) - -FetchTreeRequest = _reflection.GeneratedProtocolMessageType('FetchTreeRequest', (_message.Message,), { - 'DESCRIPTOR' : _FETCHTREEREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.FetchTreeRequest) - }) -_sym_db.RegisterMessage(FetchTreeRequest) - -FetchTreeResponse = _reflection.GeneratedProtocolMessageType('FetchTreeResponse', (_message.Message,), { - 'DESCRIPTOR' : _FETCHTREERESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.FetchTreeResponse) - }) -_sym_db.RegisterMessage(FetchTreeResponse) - -UploadTreeRequest = _reflection.GeneratedProtocolMessageType('UploadTreeRequest', (_message.Message,), { - 'DESCRIPTOR' : _UPLOADTREEREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.UploadTreeRequest) - }) -_sym_db.RegisterMessage(UploadTreeRequest) - -UploadTreeResponse = _reflection.GeneratedProtocolMessageType('UploadTreeResponse', (_message.Message,), { - 'DESCRIPTOR' : _UPLOADTREERESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.UploadTreeResponse) - }) -_sym_db.RegisterMessage(UploadTreeResponse) - -StageTreeRequest = _reflection.GeneratedProtocolMessageType('StageTreeRequest', (_message.Message,), { - - 'Credentials' : _reflection.GeneratedProtocolMessageType('Credentials', (_message.Message,), { - 'DESCRIPTOR' : _STAGETREEREQUEST_CREDENTIALS, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.StageTreeRequest.Credentials) - }) - , - 'DESCRIPTOR' : _STAGETREEREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.StageTreeRequest) - }) -_sym_db.RegisterMessage(StageTreeRequest) -_sym_db.RegisterMessage(StageTreeRequest.Credentials) - -StageTreeResponse = _reflection.GeneratedProtocolMessageType('StageTreeResponse', (_message.Message,), { - 'DESCRIPTOR' : _STAGETREERESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.StageTreeResponse) - }) -_sym_db.RegisterMessage(StageTreeResponse) - -CaptureTreeRequest = _reflection.GeneratedProtocolMessageType('CaptureTreeRequest', (_message.Message,), { - 'DESCRIPTOR' : _CAPTURETREEREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.CaptureTreeRequest) - }) -_sym_db.RegisterMessage(CaptureTreeRequest) - -CaptureTreeResponse = _reflection.GeneratedProtocolMessageType('CaptureTreeResponse', (_message.Message,), { - - 'Response' : _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), { - 'DESCRIPTOR' : _CAPTURETREERESPONSE_RESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.CaptureTreeResponse.Response) - }) - , - 'DESCRIPTOR' : _CAPTURETREERESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.CaptureTreeResponse) - }) -_sym_db.RegisterMessage(CaptureTreeResponse) -_sym_db.RegisterMessage(CaptureTreeResponse.Response) - -CaptureFilesRequest = _reflection.GeneratedProtocolMessageType('CaptureFilesRequest', (_message.Message,), { - 'DESCRIPTOR' : _CAPTUREFILESREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.CaptureFilesRequest) - }) -_sym_db.RegisterMessage(CaptureFilesRequest) - -CaptureFilesResponse = _reflection.GeneratedProtocolMessageType('CaptureFilesResponse', (_message.Message,), { - - 'Response' : _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), { - 'DESCRIPTOR' : _CAPTUREFILESRESPONSE_RESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.CaptureFilesResponse.Response) - }) - , - 'DESCRIPTOR' : _CAPTUREFILESRESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.CaptureFilesResponse) - }) -_sym_db.RegisterMessage(CaptureFilesResponse) -_sym_db.RegisterMessage(CaptureFilesResponse.Response) - -GetInstanceNameForRemoteRequest = _reflection.GeneratedProtocolMessageType('GetInstanceNameForRemoteRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETINSTANCENAMEFORREMOTEREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.GetInstanceNameForRemoteRequest) - }) -_sym_db.RegisterMessage(GetInstanceNameForRemoteRequest) - -GetInstanceNameForRemoteResponse = _reflection.GeneratedProtocolMessageType('GetInstanceNameForRemoteResponse', (_message.Message,), { - 'DESCRIPTOR' : _GETINSTANCENAMEFORREMOTERESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.GetInstanceNameForRemoteResponse) - }) -_sym_db.RegisterMessage(GetInstanceNameForRemoteResponse) - -Remote = _reflection.GeneratedProtocolMessageType('Remote', (_message.Message,), { - 'DESCRIPTOR' : _REMOTE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.Remote) - }) -_sym_db.RegisterMessage(Remote) - -GetInstanceNameForRemotesRequest = _reflection.GeneratedProtocolMessageType('GetInstanceNameForRemotesRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETINSTANCENAMEFORREMOTESREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.GetInstanceNameForRemotesRequest) - }) -_sym_db.RegisterMessage(GetInstanceNameForRemotesRequest) - -GetInstanceNameForRemotesResponse = _reflection.GeneratedProtocolMessageType('GetInstanceNameForRemotesResponse', (_message.Message,), { - 'DESCRIPTOR' : _GETINSTANCENAMEFORREMOTESRESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.GetInstanceNameForRemotesResponse) - }) -_sym_db.RegisterMessage(GetInstanceNameForRemotesResponse) - -GetInstanceNameForNamespaceRequest = _reflection.GeneratedProtocolMessageType('GetInstanceNameForNamespaceRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETINSTANCENAMEFORNAMESPACEREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.GetInstanceNameForNamespaceRequest) - }) -_sym_db.RegisterMessage(GetInstanceNameForNamespaceRequest) - -GetInstanceNameForNamespaceResponse = _reflection.GeneratedProtocolMessageType('GetInstanceNameForNamespaceResponse', (_message.Message,), { - 'DESCRIPTOR' : _GETINSTANCENAMEFORNAMESPACERESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.GetInstanceNameForNamespaceResponse) - }) -_sym_db.RegisterMessage(GetInstanceNameForNamespaceResponse) - -GetLocalDiskUsageRequest = _reflection.GeneratedProtocolMessageType('GetLocalDiskUsageRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETLOCALDISKUSAGEREQUEST, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.GetLocalDiskUsageRequest) - }) -_sym_db.RegisterMessage(GetLocalDiskUsageRequest) - -GetLocalDiskUsageResponse = _reflection.GeneratedProtocolMessageType('GetLocalDiskUsageResponse', (_message.Message,), { - 'DESCRIPTOR' : _GETLOCALDISKUSAGERESPONSE, - '__module__' : 'build.buildgrid.local_cas_pb2' - # @@protoc_insertion_point(class_scope:build.buildgrid.GetLocalDiskUsageResponse) - }) -_sym_db.RegisterMessage(GetLocalDiskUsageResponse) - -_LOCALCONTENTADDRESSABLESTORAGE = DESCRIPTOR.services_by_name['LocalContentAddressableStorage'] -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - _FETCHMISSINGBLOBSREQUEST._serialized_start=165 - _FETCHMISSINGBLOBSREQUEST._serialized_end=277 - _FETCHMISSINGBLOBSRESPONSE._serialized_start=280 - _FETCHMISSINGBLOBSRESPONSE._serialized_end=484 - _FETCHMISSINGBLOBSRESPONSE_RESPONSE._serialized_start=381 - _FETCHMISSINGBLOBSRESPONSE_RESPONSE._serialized_end=484 - _UPLOADMISSINGBLOBSREQUEST._serialized_start=486 - _UPLOADMISSINGBLOBSREQUEST._serialized_end=599 - _UPLOADMISSINGBLOBSRESPONSE._serialized_start=602 - _UPLOADMISSINGBLOBSRESPONSE._serialized_end=808 - _UPLOADMISSINGBLOBSRESPONSE_RESPONSE._serialized_start=381 - _UPLOADMISSINGBLOBSRESPONSE_RESPONSE._serialized_end=484 - _FETCHTREEREQUEST._serialized_start=811 - _FETCHTREEREQUEST._serialized_end=940 - _FETCHTREERESPONSE._serialized_start=942 - _FETCHTREERESPONSE._serialized_end=961 - _UPLOADTREEREQUEST._serialized_start=963 - _UPLOADTREEREQUEST._serialized_end=1067 - _UPLOADTREERESPONSE._serialized_start=1069 - _UPLOADTREERESPONSE._serialized_end=1089 - _STAGETREEREQUEST._serialized_start=1092 - _STAGETREEREQUEST._serialized_end=1325 - _STAGETREEREQUEST_CREDENTIALS._serialized_start=1286 - _STAGETREEREQUEST_CREDENTIALS._serialized_end=1325 - _STAGETREERESPONSE._serialized_start=1327 - _STAGETREERESPONSE._serialized_end=1360 - _CAPTURETREEREQUEST._serialized_start=1363 - _CAPTURETREEREQUEST._serialized_end=1604 - _CAPTURETREERESPONSE._serialized_start=1607 - _CAPTURETREERESPONSE._serialized_end=1891 - _CAPTURETREERESPONSE_RESPONSE._serialized_start=1697 - _CAPTURETREERESPONSE_RESPONSE._serialized_end=1891 - _CAPTUREFILESREQUEST._serialized_start=1894 - _CAPTUREFILESREQUEST._serialized_end=2039 - _CAPTUREFILESRESPONSE._serialized_start=2042 - _CAPTUREFILESRESPONSE._serialized_end=2354 - _CAPTUREFILESRESPONSE_RESPONSE._serialized_start=2134 - _CAPTUREFILESRESPONSE_RESPONSE._serialized_end=2354 - _GETINSTANCENAMEFORREMOTEREQUEST._serialized_start=2357 - _GETINSTANCENAMEFORREMOTEREQUEST._serialized_end=2488 - _GETINSTANCENAMEFORREMOTERESPONSE._serialized_start=2490 - _GETINSTANCENAMEFORREMOTERESPONSE._serialized_end=2547 - _REMOTE._serialized_start=2550 - _REMOTE._serialized_end=2799 - _GETINSTANCENAMEFORREMOTESREQUEST._serialized_start=2802 - _GETINSTANCENAMEFORREMOTESREQUEST._serialized_end=3059 - _GETINSTANCENAMEFORREMOTESRESPONSE._serialized_start=3061 - _GETINSTANCENAMEFORREMOTESRESPONSE._serialized_end=3119 - _GETINSTANCENAMEFORNAMESPACEREQUEST._serialized_start=3121 - _GETINSTANCENAMEFORNAMESPACEREQUEST._serialized_end=3194 - _GETINSTANCENAMEFORNAMESPACERESPONSE._serialized_start=3196 - _GETINSTANCENAMEFORNAMESPACERESPONSE._serialized_end=3256 - _GETLOCALDISKUSAGEREQUEST._serialized_start=3258 - _GETLOCALDISKUSAGEREQUEST._serialized_end=3284 - _GETLOCALDISKUSAGERESPONSE._serialized_start=3286 - _GETLOCALDISKUSAGERESPONSE._serialized_end=3354 - _LOCALCONTENTADDRESSABLESTORAGE._serialized_start=3357 - _LOCALCONTENTADDRESSABLESTORAGE._serialized_end=4582 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x62uild/buildgrid/local_cas.proto\x12\x0f\x62uild.buildgrid\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x17google/rpc/status.proto\x1a\x1egoogle/protobuf/duration.proto\"p\n\x18\x46\x65tchMissingBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12=\n\x0c\x62lob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xcc\x01\n\x19\x46\x65tchMissingBlobsResponse\x12\x46\n\tresponses\x18\x01 \x03(\x0b\x32\x33.build.buildgrid.FetchMissingBlobsResponse.Response\x1ag\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"q\n\x19UploadMissingBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12=\n\x0c\x62lob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xce\x01\n\x1aUploadMissingBlobsResponse\x12G\n\tresponses\x18\x01 \x03(\x0b\x32\x34.build.buildgrid.UploadMissingBlobsResponse.Response\x1ag\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"\x81\x01\n\x10\x46\x65tchTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x18\n\x10\x66\x65tch_file_blobs\x18\x03 \x01(\x08\"\x13\n\x11\x46\x65tchTreeResponse\"h\n\x11UploadTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\x14\n\x12UploadTreeResponse\"\xe9\x01\n\x10StageTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x0c\n\x04path\x18\x03 \x01(\t\x12I\n\x12\x61\x63\x63\x65ss_credentials\x18\x04 \x01(\x0b\x32-.build.buildgrid.StageTreeRequest.Credentials\x1a\'\n\x0b\x43redentials\x12\x0b\n\x03uid\x18\x01 \x01(\x03\x12\x0b\n\x03gid\x18\x02 \x01(\x03\"!\n\x11StageTreeResponse\x12\x0c\n\x04path\x18\x01 \x01(\t\"\x86\x02\n\x12\x43\x61ptureTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04root\x18\x06 \x01(\t\x12\x0c\n\x04path\x18\x02 \x03(\t\x12\x1a\n\x12\x62ypass_local_cache\x18\x03 \x01(\x08\x12\x17\n\x0fnode_properties\x18\x04 \x03(\t\x12\x12\n\nmove_files\x18\x05 \x01(\x08\x12_\n\x17output_directory_format\x18\x07 \x01(\x0e\x32>.build.bazel.remote.execution.v2.Command.OutputDirectoryFormat\x12\x13\n\x0bskip_upload\x18\x08 \x01(\x08\"\x9c\x02\n\x13\x43\x61ptureTreeResponse\x12@\n\tresponses\x18\x01 \x03(\x0b\x32-.build.buildgrid.CaptureTreeResponse.Response\x1a\xc2\x01\n\x08Response\x12\x0c\n\x04path\x18\x01 \x01(\t\x12<\n\x0btree_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x46\n\x15root_directory_digest\x18\x04 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xa6\x01\n\x13\x43\x61ptureFilesRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04root\x18\x06 \x01(\t\x12\x0c\n\x04path\x18\x02 \x03(\t\x12\x1a\n\x12\x62ypass_local_cache\x18\x03 \x01(\x08\x12\x17\n\x0fnode_properties\x18\x04 \x03(\t\x12\x12\n\nmove_files\x18\x05 \x01(\x08\x12\x13\n\x0bskip_upload\x18\x07 \x01(\x08\"\xb8\x02\n\x14\x43\x61ptureFilesResponse\x12\x41\n\tresponses\x18\x01 \x03(\x0b\x32..build.buildgrid.CaptureFilesResponse.Response\x1a\xdc\x01\n\x08Response\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x15\n\ris_executable\x18\x04 \x01(\x08\x12H\n\x0fnode_properties\x18\x06 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x05\x10\x06\"\x83\x01\n\x1fGetInstanceNameForRemoteRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x15\n\rinstance_name\x18\x02 \x01(\t\x12\x13\n\x0bserver_cert\x18\x03 \x01(\x0c\x12\x12\n\nclient_key\x18\x04 \x01(\x0c\x12\x13\n\x0b\x63lient_cert\x18\x05 \x01(\x0c\"9\n GetInstanceNameForRemoteResponse\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xf2\x02\n\x06Remote\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x15\n\rinstance_name\x18\x02 \x01(\t\x12\x13\n\x0bserver_cert\x18\x03 \x01(\x0c\x12\x12\n\nclient_key\x18\x04 \x01(\x0c\x12\x13\n\x0b\x63lient_cert\x18\x05 \x01(\x0c\x12\x19\n\x11\x61\x63\x63\x65ss_token_path\x18\x07 \x01(\t\x12?\n\x1c\x61\x63\x63\x65ss_token_reload_interval\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0ekeepalive_time\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x13\n\x0bretry_limit\x18\t \x01(\x03\x12.\n\x0bretry_delay\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\x0frequest_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\"\x81\x02\n GetInstanceNameForRemotesRequest\x12\x15\n\rinstance_name\x18\x03 \x01(\t\x12<\n\x1b\x63ontent_addressable_storage\x18\x01 \x01(\x0b\x32\x17.build.buildgrid.Remote\x12-\n\x0cremote_asset\x18\x02 \x01(\x0b\x32\x17.build.buildgrid.Remote\x12-\n\x0c\x61\x63tion_cache\x18\x04 \x01(\x0b\x32\x17.build.buildgrid.Remote\x12*\n\texecution\x18\x05 \x01(\x0b\x32\x17.build.buildgrid.Remote\":\n!GetInstanceNameForRemotesResponse\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"I\n\"GetInstanceNameForNamespaceRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04root\x18\x02 \x01(\t\"<\n#GetInstanceNameForNamespaceResponse\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\x1a\n\x18GetLocalDiskUsageRequest\"D\n\x19GetLocalDiskUsageResponse\x12\x12\n\nsize_bytes\x18\x01 \x01(\x03\x12\x13\n\x0bquota_bytes\x18\x02 \x01(\x03\x32\xc9\t\n\x1eLocalContentAddressableStorage\x12l\n\x11\x46\x65tchMissingBlobs\x12).build.buildgrid.FetchMissingBlobsRequest\x1a*.build.buildgrid.FetchMissingBlobsResponse\"\x00\x12o\n\x12UploadMissingBlobs\x12*.build.buildgrid.UploadMissingBlobsRequest\x1a+.build.buildgrid.UploadMissingBlobsResponse\"\x00\x12T\n\tFetchTree\x12!.build.buildgrid.FetchTreeRequest\x1a\".build.buildgrid.FetchTreeResponse\"\x00\x12W\n\nUploadTree\x12\".build.buildgrid.UploadTreeRequest\x1a#.build.buildgrid.UploadTreeResponse\"\x00\x12X\n\tStageTree\x12!.build.buildgrid.StageTreeRequest\x1a\".build.buildgrid.StageTreeResponse\"\x00(\x01\x30\x01\x12Z\n\x0b\x43\x61ptureTree\x12#.build.buildgrid.CaptureTreeRequest\x1a$.build.buildgrid.CaptureTreeResponse\"\x00\x12]\n\x0c\x43\x61ptureFiles\x12$.build.buildgrid.CaptureFilesRequest\x1a%.build.buildgrid.CaptureFilesResponse\"\x00\x12\x81\x01\n\x18GetInstanceNameForRemote\x12\x30.build.buildgrid.GetInstanceNameForRemoteRequest\x1a\x31.build.buildgrid.GetInstanceNameForRemoteResponse\"\x00\x12\x84\x01\n\x19GetInstanceNameForRemotes\x12\x31.build.buildgrid.GetInstanceNameForRemotesRequest\x1a\x32.build.buildgrid.GetInstanceNameForRemotesResponse\"\x00\x12\x8a\x01\n\x1bGetInstanceNameForNamespace\x12\x33.build.buildgrid.GetInstanceNameForNamespaceRequest\x1a\x34.build.buildgrid.GetInstanceNameForNamespaceResponse\"\x00\x12l\n\x11GetLocalDiskUsage\x12).build.buildgrid.GetLocalDiskUsageRequest\x1a*.build.buildgrid.GetLocalDiskUsageResponse\"\x00\x62\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'build.buildgrid.local_cas_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_FETCHMISSINGBLOBSREQUEST']._serialized_start=165 + _globals['_FETCHMISSINGBLOBSREQUEST']._serialized_end=277 + _globals['_FETCHMISSINGBLOBSRESPONSE']._serialized_start=280 + _globals['_FETCHMISSINGBLOBSRESPONSE']._serialized_end=484 + _globals['_FETCHMISSINGBLOBSRESPONSE_RESPONSE']._serialized_start=381 + _globals['_FETCHMISSINGBLOBSRESPONSE_RESPONSE']._serialized_end=484 + _globals['_UPLOADMISSINGBLOBSREQUEST']._serialized_start=486 + _globals['_UPLOADMISSINGBLOBSREQUEST']._serialized_end=599 + _globals['_UPLOADMISSINGBLOBSRESPONSE']._serialized_start=602 + _globals['_UPLOADMISSINGBLOBSRESPONSE']._serialized_end=808 + _globals['_UPLOADMISSINGBLOBSRESPONSE_RESPONSE']._serialized_start=381 + _globals['_UPLOADMISSINGBLOBSRESPONSE_RESPONSE']._serialized_end=484 + _globals['_FETCHTREEREQUEST']._serialized_start=811 + _globals['_FETCHTREEREQUEST']._serialized_end=940 + _globals['_FETCHTREERESPONSE']._serialized_start=942 + _globals['_FETCHTREERESPONSE']._serialized_end=961 + _globals['_UPLOADTREEREQUEST']._serialized_start=963 + _globals['_UPLOADTREEREQUEST']._serialized_end=1067 + _globals['_UPLOADTREERESPONSE']._serialized_start=1069 + _globals['_UPLOADTREERESPONSE']._serialized_end=1089 + _globals['_STAGETREEREQUEST']._serialized_start=1092 + _globals['_STAGETREEREQUEST']._serialized_end=1325 + _globals['_STAGETREEREQUEST_CREDENTIALS']._serialized_start=1286 + _globals['_STAGETREEREQUEST_CREDENTIALS']._serialized_end=1325 + _globals['_STAGETREERESPONSE']._serialized_start=1327 + _globals['_STAGETREERESPONSE']._serialized_end=1360 + _globals['_CAPTURETREEREQUEST']._serialized_start=1363 + _globals['_CAPTURETREEREQUEST']._serialized_end=1625 + _globals['_CAPTURETREERESPONSE']._serialized_start=1628 + _globals['_CAPTURETREERESPONSE']._serialized_end=1912 + _globals['_CAPTURETREERESPONSE_RESPONSE']._serialized_start=1718 + _globals['_CAPTURETREERESPONSE_RESPONSE']._serialized_end=1912 + _globals['_CAPTUREFILESREQUEST']._serialized_start=1915 + _globals['_CAPTUREFILESREQUEST']._serialized_end=2081 + _globals['_CAPTUREFILESRESPONSE']._serialized_start=2084 + _globals['_CAPTUREFILESRESPONSE']._serialized_end=2396 + _globals['_CAPTUREFILESRESPONSE_RESPONSE']._serialized_start=2176 + _globals['_CAPTUREFILESRESPONSE_RESPONSE']._serialized_end=2396 + _globals['_GETINSTANCENAMEFORREMOTEREQUEST']._serialized_start=2399 + _globals['_GETINSTANCENAMEFORREMOTEREQUEST']._serialized_end=2530 + _globals['_GETINSTANCENAMEFORREMOTERESPONSE']._serialized_start=2532 + _globals['_GETINSTANCENAMEFORREMOTERESPONSE']._serialized_end=2589 + _globals['_REMOTE']._serialized_start=2592 + _globals['_REMOTE']._serialized_end=2962 + _globals['_GETINSTANCENAMEFORREMOTESREQUEST']._serialized_start=2965 + _globals['_GETINSTANCENAMEFORREMOTESREQUEST']._serialized_end=3222 + _globals['_GETINSTANCENAMEFORREMOTESRESPONSE']._serialized_start=3224 + _globals['_GETINSTANCENAMEFORREMOTESRESPONSE']._serialized_end=3282 + _globals['_GETINSTANCENAMEFORNAMESPACEREQUEST']._serialized_start=3284 + _globals['_GETINSTANCENAMEFORNAMESPACEREQUEST']._serialized_end=3357 + _globals['_GETINSTANCENAMEFORNAMESPACERESPONSE']._serialized_start=3359 + _globals['_GETINSTANCENAMEFORNAMESPACERESPONSE']._serialized_end=3419 + _globals['_GETLOCALDISKUSAGEREQUEST']._serialized_start=3421 + _globals['_GETLOCALDISKUSAGEREQUEST']._serialized_end=3447 + _globals['_GETLOCALDISKUSAGERESPONSE']._serialized_start=3449 + _globals['_GETLOCALDISKUSAGERESPONSE']._serialized_end=3517 + _globals['_LOCALCONTENTADDRESSABLESTORAGE']._serialized_start=3520 + _globals['_LOCALCONTENTADDRESSABLESTORAGE']._serialized_end=4745 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/build/buildgrid/local_cas_pb2.pyi b/src/buildstream/_protos/build/buildgrid/local_cas_pb2.pyi new file mode 100644 index 000000000..0dcaf3fb3 --- /dev/null +++ b/src/buildstream/_protos/build/buildgrid/local_cas_pb2.pyi @@ -0,0 +1,268 @@ +from build.bazel.remote.execution.v2 import remote_execution_pb2 as _remote_execution_pb2 +from google.rpc import status_pb2 as _status_pb2 +from google.protobuf import duration_pb2 as _duration_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class FetchMissingBlobsRequest(_message.Message): + __slots__ = ("instance_name", "blob_digests") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + BLOB_DIGESTS_FIELD_NUMBER: _ClassVar[int] + instance_name: str + blob_digests: _containers.RepeatedCompositeFieldContainer[_remote_execution_pb2.Digest] + def __init__(self, instance_name: _Optional[str] = ..., blob_digests: _Optional[_Iterable[_Union[_remote_execution_pb2.Digest, _Mapping]]] = ...) -> None: ... + +class FetchMissingBlobsResponse(_message.Message): + __slots__ = ("responses",) + class Response(_message.Message): + __slots__ = ("digest", "status") + DIGEST_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + digest: _remote_execution_pb2.Digest + status: _status_pb2.Status + def __init__(self, digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ...) -> None: ... + RESPONSES_FIELD_NUMBER: _ClassVar[int] + responses: _containers.RepeatedCompositeFieldContainer[FetchMissingBlobsResponse.Response] + def __init__(self, responses: _Optional[_Iterable[_Union[FetchMissingBlobsResponse.Response, _Mapping]]] = ...) -> None: ... + +class UploadMissingBlobsRequest(_message.Message): + __slots__ = ("instance_name", "blob_digests") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + BLOB_DIGESTS_FIELD_NUMBER: _ClassVar[int] + instance_name: str + blob_digests: _containers.RepeatedCompositeFieldContainer[_remote_execution_pb2.Digest] + def __init__(self, instance_name: _Optional[str] = ..., blob_digests: _Optional[_Iterable[_Union[_remote_execution_pb2.Digest, _Mapping]]] = ...) -> None: ... + +class UploadMissingBlobsResponse(_message.Message): + __slots__ = ("responses",) + class Response(_message.Message): + __slots__ = ("digest", "status") + DIGEST_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + digest: _remote_execution_pb2.Digest + status: _status_pb2.Status + def __init__(self, digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ...) -> None: ... + RESPONSES_FIELD_NUMBER: _ClassVar[int] + responses: _containers.RepeatedCompositeFieldContainer[UploadMissingBlobsResponse.Response] + def __init__(self, responses: _Optional[_Iterable[_Union[UploadMissingBlobsResponse.Response, _Mapping]]] = ...) -> None: ... + +class FetchTreeRequest(_message.Message): + __slots__ = ("instance_name", "root_digest", "fetch_file_blobs") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + ROOT_DIGEST_FIELD_NUMBER: _ClassVar[int] + FETCH_FILE_BLOBS_FIELD_NUMBER: _ClassVar[int] + instance_name: str + root_digest: _remote_execution_pb2.Digest + fetch_file_blobs: bool + def __init__(self, instance_name: _Optional[str] = ..., root_digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., fetch_file_blobs: bool = ...) -> None: ... + +class FetchTreeResponse(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class UploadTreeRequest(_message.Message): + __slots__ = ("instance_name", "root_digest") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + ROOT_DIGEST_FIELD_NUMBER: _ClassVar[int] + instance_name: str + root_digest: _remote_execution_pb2.Digest + def __init__(self, instance_name: _Optional[str] = ..., root_digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ...) -> None: ... + +class UploadTreeResponse(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class StageTreeRequest(_message.Message): + __slots__ = ("instance_name", "root_digest", "path", "access_credentials") + class Credentials(_message.Message): + __slots__ = ("uid", "gid") + UID_FIELD_NUMBER: _ClassVar[int] + GID_FIELD_NUMBER: _ClassVar[int] + uid: int + gid: int + def __init__(self, uid: _Optional[int] = ..., gid: _Optional[int] = ...) -> None: ... + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + ROOT_DIGEST_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + ACCESS_CREDENTIALS_FIELD_NUMBER: _ClassVar[int] + instance_name: str + root_digest: _remote_execution_pb2.Digest + path: str + access_credentials: StageTreeRequest.Credentials + def __init__(self, instance_name: _Optional[str] = ..., root_digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., path: _Optional[str] = ..., access_credentials: _Optional[_Union[StageTreeRequest.Credentials, _Mapping]] = ...) -> None: ... + +class StageTreeResponse(_message.Message): + __slots__ = ("path",) + PATH_FIELD_NUMBER: _ClassVar[int] + path: str + def __init__(self, path: _Optional[str] = ...) -> None: ... + +class CaptureTreeRequest(_message.Message): + __slots__ = ("instance_name", "root", "path", "bypass_local_cache", "node_properties", "move_files", "output_directory_format", "skip_upload") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + ROOT_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + BYPASS_LOCAL_CACHE_FIELD_NUMBER: _ClassVar[int] + NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + MOVE_FILES_FIELD_NUMBER: _ClassVar[int] + OUTPUT_DIRECTORY_FORMAT_FIELD_NUMBER: _ClassVar[int] + SKIP_UPLOAD_FIELD_NUMBER: _ClassVar[int] + instance_name: str + root: str + path: _containers.RepeatedScalarFieldContainer[str] + bypass_local_cache: bool + node_properties: _containers.RepeatedScalarFieldContainer[str] + move_files: bool + output_directory_format: _remote_execution_pb2.Command.OutputDirectoryFormat + skip_upload: bool + def __init__(self, instance_name: _Optional[str] = ..., root: _Optional[str] = ..., path: _Optional[_Iterable[str]] = ..., bypass_local_cache: bool = ..., node_properties: _Optional[_Iterable[str]] = ..., move_files: bool = ..., output_directory_format: _Optional[_Union[_remote_execution_pb2.Command.OutputDirectoryFormat, str]] = ..., skip_upload: bool = ...) -> None: ... + +class CaptureTreeResponse(_message.Message): + __slots__ = ("responses",) + class Response(_message.Message): + __slots__ = ("path", "tree_digest", "status", "root_directory_digest") + PATH_FIELD_NUMBER: _ClassVar[int] + TREE_DIGEST_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + ROOT_DIRECTORY_DIGEST_FIELD_NUMBER: _ClassVar[int] + path: str + tree_digest: _remote_execution_pb2.Digest + status: _status_pb2.Status + root_directory_digest: _remote_execution_pb2.Digest + def __init__(self, path: _Optional[str] = ..., tree_digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., root_directory_digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ...) -> None: ... + RESPONSES_FIELD_NUMBER: _ClassVar[int] + responses: _containers.RepeatedCompositeFieldContainer[CaptureTreeResponse.Response] + def __init__(self, responses: _Optional[_Iterable[_Union[CaptureTreeResponse.Response, _Mapping]]] = ...) -> None: ... + +class CaptureFilesRequest(_message.Message): + __slots__ = ("instance_name", "root", "path", "bypass_local_cache", "node_properties", "move_files", "skip_upload") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + ROOT_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + BYPASS_LOCAL_CACHE_FIELD_NUMBER: _ClassVar[int] + NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + MOVE_FILES_FIELD_NUMBER: _ClassVar[int] + SKIP_UPLOAD_FIELD_NUMBER: _ClassVar[int] + instance_name: str + root: str + path: _containers.RepeatedScalarFieldContainer[str] + bypass_local_cache: bool + node_properties: _containers.RepeatedScalarFieldContainer[str] + move_files: bool + skip_upload: bool + def __init__(self, instance_name: _Optional[str] = ..., root: _Optional[str] = ..., path: _Optional[_Iterable[str]] = ..., bypass_local_cache: bool = ..., node_properties: _Optional[_Iterable[str]] = ..., move_files: bool = ..., skip_upload: bool = ...) -> None: ... + +class CaptureFilesResponse(_message.Message): + __slots__ = ("responses",) + class Response(_message.Message): + __slots__ = ("path", "digest", "status", "is_executable", "node_properties") + PATH_FIELD_NUMBER: _ClassVar[int] + DIGEST_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + IS_EXECUTABLE_FIELD_NUMBER: _ClassVar[int] + NODE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + path: str + digest: _remote_execution_pb2.Digest + status: _status_pb2.Status + is_executable: bool + node_properties: _remote_execution_pb2.NodeProperties + def __init__(self, path: _Optional[str] = ..., digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., is_executable: bool = ..., node_properties: _Optional[_Union[_remote_execution_pb2.NodeProperties, _Mapping]] = ...) -> None: ... + RESPONSES_FIELD_NUMBER: _ClassVar[int] + responses: _containers.RepeatedCompositeFieldContainer[CaptureFilesResponse.Response] + def __init__(self, responses: _Optional[_Iterable[_Union[CaptureFilesResponse.Response, _Mapping]]] = ...) -> None: ... + +class GetInstanceNameForRemoteRequest(_message.Message): + __slots__ = ("url", "instance_name", "server_cert", "client_key", "client_cert") + URL_FIELD_NUMBER: _ClassVar[int] + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + SERVER_CERT_FIELD_NUMBER: _ClassVar[int] + CLIENT_KEY_FIELD_NUMBER: _ClassVar[int] + CLIENT_CERT_FIELD_NUMBER: _ClassVar[int] + url: str + instance_name: str + server_cert: bytes + client_key: bytes + client_cert: bytes + def __init__(self, url: _Optional[str] = ..., instance_name: _Optional[str] = ..., server_cert: _Optional[bytes] = ..., client_key: _Optional[bytes] = ..., client_cert: _Optional[bytes] = ...) -> None: ... + +class GetInstanceNameForRemoteResponse(_message.Message): + __slots__ = ("instance_name",) + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + instance_name: str + def __init__(self, instance_name: _Optional[str] = ...) -> None: ... + +class Remote(_message.Message): + __slots__ = ("url", "instance_name", "server_cert", "client_key", "client_cert", "access_token_path", "access_token_reload_interval", "keepalive_time", "retry_limit", "retry_delay", "request_timeout") + URL_FIELD_NUMBER: _ClassVar[int] + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + SERVER_CERT_FIELD_NUMBER: _ClassVar[int] + CLIENT_KEY_FIELD_NUMBER: _ClassVar[int] + CLIENT_CERT_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_PATH_FIELD_NUMBER: _ClassVar[int] + ACCESS_TOKEN_RELOAD_INTERVAL_FIELD_NUMBER: _ClassVar[int] + KEEPALIVE_TIME_FIELD_NUMBER: _ClassVar[int] + RETRY_LIMIT_FIELD_NUMBER: _ClassVar[int] + RETRY_DELAY_FIELD_NUMBER: _ClassVar[int] + REQUEST_TIMEOUT_FIELD_NUMBER: _ClassVar[int] + url: str + instance_name: str + server_cert: bytes + client_key: bytes + client_cert: bytes + access_token_path: str + access_token_reload_interval: _duration_pb2.Duration + keepalive_time: _duration_pb2.Duration + retry_limit: int + retry_delay: _duration_pb2.Duration + request_timeout: _duration_pb2.Duration + def __init__(self, url: _Optional[str] = ..., instance_name: _Optional[str] = ..., server_cert: _Optional[bytes] = ..., client_key: _Optional[bytes] = ..., client_cert: _Optional[bytes] = ..., access_token_path: _Optional[str] = ..., access_token_reload_interval: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., keepalive_time: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., retry_limit: _Optional[int] = ..., retry_delay: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., request_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... + +class GetInstanceNameForRemotesRequest(_message.Message): + __slots__ = ("instance_name", "content_addressable_storage", "remote_asset", "action_cache", "execution") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + CONTENT_ADDRESSABLE_STORAGE_FIELD_NUMBER: _ClassVar[int] + REMOTE_ASSET_FIELD_NUMBER: _ClassVar[int] + ACTION_CACHE_FIELD_NUMBER: _ClassVar[int] + EXECUTION_FIELD_NUMBER: _ClassVar[int] + instance_name: str + content_addressable_storage: Remote + remote_asset: Remote + action_cache: Remote + execution: Remote + def __init__(self, instance_name: _Optional[str] = ..., content_addressable_storage: _Optional[_Union[Remote, _Mapping]] = ..., remote_asset: _Optional[_Union[Remote, _Mapping]] = ..., action_cache: _Optional[_Union[Remote, _Mapping]] = ..., execution: _Optional[_Union[Remote, _Mapping]] = ...) -> None: ... + +class GetInstanceNameForRemotesResponse(_message.Message): + __slots__ = ("instance_name",) + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + instance_name: str + def __init__(self, instance_name: _Optional[str] = ...) -> None: ... + +class GetInstanceNameForNamespaceRequest(_message.Message): + __slots__ = ("instance_name", "root") + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + ROOT_FIELD_NUMBER: _ClassVar[int] + instance_name: str + root: str + def __init__(self, instance_name: _Optional[str] = ..., root: _Optional[str] = ...) -> None: ... + +class GetInstanceNameForNamespaceResponse(_message.Message): + __slots__ = ("instance_name",) + INSTANCE_NAME_FIELD_NUMBER: _ClassVar[int] + instance_name: str + def __init__(self, instance_name: _Optional[str] = ...) -> None: ... + +class GetLocalDiskUsageRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class GetLocalDiskUsageResponse(_message.Message): + __slots__ = ("size_bytes", "quota_bytes") + SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + QUOTA_BYTES_FIELD_NUMBER: _ClassVar[int] + size_bytes: int + quota_bytes: int + def __init__(self, size_bytes: _Optional[int] = ..., quota_bytes: _Optional[int] = ...) -> None: ... diff --git a/src/buildstream/_protos/build/buildgrid/local_cas_pb2_grpc.py b/src/buildstream/_protos/build/buildgrid/local_cas_pb2_grpc.py index 0117d3a1c..f890b7c02 100644 --- a/src/buildstream/_protos/build/buildgrid/local_cas_pb2_grpc.py +++ b/src/buildstream/_protos/build/buildgrid/local_cas_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from buildstream._protos.build.buildgrid import local_cas_pb2 as build_dot_buildgrid_dot_local__cas__pb2 +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in build/buildgrid/local_cas_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class LocalContentAddressableStorageStub(object): """Missing associated documentation comment in .proto file.""" @@ -18,57 +38,57 @@ def __init__(self, channel): '/build.buildgrid.LocalContentAddressableStorage/FetchMissingBlobs', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.FetchMissingBlobsRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.FetchMissingBlobsResponse.FromString, - ) + _registered_method=True) self.UploadMissingBlobs = channel.unary_unary( '/build.buildgrid.LocalContentAddressableStorage/UploadMissingBlobs', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.UploadMissingBlobsRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.UploadMissingBlobsResponse.FromString, - ) + _registered_method=True) self.FetchTree = channel.unary_unary( '/build.buildgrid.LocalContentAddressableStorage/FetchTree', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.FetchTreeRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.FetchTreeResponse.FromString, - ) + _registered_method=True) self.UploadTree = channel.unary_unary( '/build.buildgrid.LocalContentAddressableStorage/UploadTree', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.UploadTreeRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.UploadTreeResponse.FromString, - ) + _registered_method=True) self.StageTree = channel.stream_stream( '/build.buildgrid.LocalContentAddressableStorage/StageTree', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.StageTreeRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.StageTreeResponse.FromString, - ) + _registered_method=True) self.CaptureTree = channel.unary_unary( '/build.buildgrid.LocalContentAddressableStorage/CaptureTree', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.CaptureTreeRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.CaptureTreeResponse.FromString, - ) + _registered_method=True) self.CaptureFiles = channel.unary_unary( '/build.buildgrid.LocalContentAddressableStorage/CaptureFiles', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.CaptureFilesRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.CaptureFilesResponse.FromString, - ) + _registered_method=True) self.GetInstanceNameForRemote = channel.unary_unary( '/build.buildgrid.LocalContentAddressableStorage/GetInstanceNameForRemote', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemoteRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemoteResponse.FromString, - ) + _registered_method=True) self.GetInstanceNameForRemotes = channel.unary_unary( '/build.buildgrid.LocalContentAddressableStorage/GetInstanceNameForRemotes', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemotesRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemotesResponse.FromString, - ) + _registered_method=True) self.GetInstanceNameForNamespace = channel.unary_unary( '/build.buildgrid.LocalContentAddressableStorage/GetInstanceNameForNamespace', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForNamespaceRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForNamespaceResponse.FromString, - ) + _registered_method=True) self.GetLocalDiskUsage = channel.unary_unary( '/build.buildgrid.LocalContentAddressableStorage/GetLocalDiskUsage', request_serializer=build_dot_buildgrid_dot_local__cas__pb2.GetLocalDiskUsageRequest.SerializeToString, response_deserializer=build_dot_buildgrid_dot_local__cas__pb2.GetLocalDiskUsageResponse.FromString, - ) + _registered_method=True) class LocalContentAddressableStorageServicer(object): @@ -181,6 +201,10 @@ def CaptureTree(self, request, context): avoiding copies when it is known that files will not be needed after they are imported. If a server chooses not to move them, the source files will still exist after this request. + + The `skip_upload` parameter is a hint to indicate that the files do not + need to be uploaded to the remote CAS. This can be useful for local-only + workflows where an upload step adds unnecessary latency. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -200,6 +224,10 @@ def CaptureFiles(self, request, context): avoiding copies when it is known that files will not be needed after they are imported. If a server chooses not to move them, the source files will still exist after this request. + + The `skip_upload` parameter is a hint to indicate that the files do not + need to be uploaded to the remote CAS. This can be useful for local-only + workflows where an upload step adds unnecessary latency. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -308,6 +336,7 @@ def add_LocalContentAddressableStorageServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'build.buildgrid.LocalContentAddressableStorage', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('build.buildgrid.LocalContentAddressableStorage', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -325,11 +354,21 @@ def FetchMissingBlobs(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/FetchMissingBlobs', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/FetchMissingBlobs', build_dot_buildgrid_dot_local__cas__pb2.FetchMissingBlobsRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.FetchMissingBlobsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def UploadMissingBlobs(request, @@ -342,11 +381,21 @@ def UploadMissingBlobs(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/UploadMissingBlobs', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/UploadMissingBlobs', build_dot_buildgrid_dot_local__cas__pb2.UploadMissingBlobsRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.UploadMissingBlobsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def FetchTree(request, @@ -359,11 +408,21 @@ def FetchTree(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/FetchTree', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/FetchTree', build_dot_buildgrid_dot_local__cas__pb2.FetchTreeRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.FetchTreeResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def UploadTree(request, @@ -376,11 +435,21 @@ def UploadTree(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/UploadTree', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/UploadTree', build_dot_buildgrid_dot_local__cas__pb2.UploadTreeRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.UploadTreeResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def StageTree(request_iterator, @@ -393,11 +462,21 @@ def StageTree(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/build.buildgrid.LocalContentAddressableStorage/StageTree', + return grpc.experimental.stream_stream( + request_iterator, + target, + '/build.buildgrid.LocalContentAddressableStorage/StageTree', build_dot_buildgrid_dot_local__cas__pb2.StageTreeRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.StageTreeResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def CaptureTree(request, @@ -410,11 +489,21 @@ def CaptureTree(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/CaptureTree', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/CaptureTree', build_dot_buildgrid_dot_local__cas__pb2.CaptureTreeRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.CaptureTreeResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def CaptureFiles(request, @@ -427,11 +516,21 @@ def CaptureFiles(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/CaptureFiles', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/CaptureFiles', build_dot_buildgrid_dot_local__cas__pb2.CaptureFilesRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.CaptureFilesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def GetInstanceNameForRemote(request, @@ -444,11 +543,21 @@ def GetInstanceNameForRemote(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/GetInstanceNameForRemote', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/GetInstanceNameForRemote', build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemoteRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemoteResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def GetInstanceNameForRemotes(request, @@ -461,11 +570,21 @@ def GetInstanceNameForRemotes(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/GetInstanceNameForRemotes', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/GetInstanceNameForRemotes', build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemotesRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemotesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def GetInstanceNameForNamespace(request, @@ -478,11 +597,21 @@ def GetInstanceNameForNamespace(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/GetInstanceNameForNamespace', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/GetInstanceNameForNamespace', build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForNamespaceRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForNamespaceResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def GetLocalDiskUsage(request, @@ -495,8 +624,18 @@ def GetLocalDiskUsage(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/build.buildgrid.LocalContentAddressableStorage/GetLocalDiskUsage', + return grpc.experimental.unary_unary( + request, + target, + '/build.buildgrid.LocalContentAddressableStorage/GetLocalDiskUsage', build_dot_buildgrid_dot_local__cas__pb2.GetLocalDiskUsageRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.GetLocalDiskUsageResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/src/buildstream/_protos/buildstream/v2/artifact_pb2.py b/src/buildstream/_protos/buildstream/v2/artifact_pb2.py index f4883a1b2..cce08c186 100644 --- a/src/buildstream/_protos/buildstream/v2/artifact_pb2.py +++ b/src/buildstream/_protos/buildstream/v2/artifact_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: buildstream/v2/artifact.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'buildstream/v2/artifact.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,41 +28,15 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x62uildstream/v2/artifact.proto\x12\x0e\x62uildstream.v2\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\"\x89\x07\n\x08\x41rtifact\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x15\n\rbuild_success\x18\x02 \x01(\x08\x12\x13\n\x0b\x62uild_error\x18\x03 \x01(\t\x12\x1b\n\x13\x62uild_error_details\x18\x04 \x01(\t\x12\x12\n\nstrong_key\x18\x05 \x01(\t\x12\x10\n\x08weak_key\x18\x06 \x01(\t\x12\x16\n\x0ewas_workspaced\x18\x07 \x01(\x08\x12\x36\n\x05\x66iles\x18\x08 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x37\n\nbuild_deps\x18\t \x03(\x0b\x32#.buildstream.v2.Artifact.Dependency\x12<\n\x0bpublic_data\x18\n \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12.\n\x04logs\x18\x0b \x03(\x0b\x32 .buildstream.v2.Artifact.LogFile\x12:\n\tbuildtree\x18\x0c \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x38\n\x07sources\x18\r \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x43\n\x12low_diversity_meta\x18\x0e \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x44\n\x13high_diversity_meta\x18\x0f \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x12\n\nstrict_key\x18\x10 \x01(\t\x12:\n\tbuildroot\x18\x11 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x1a\x63\n\nDependency\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x14\n\x0c\x65lement_name\x18\x02 \x01(\t\x12\x11\n\tcache_key\x18\x03 \x01(\t\x12\x16\n\x0ewas_workspaced\x18\x04 \x01(\x08\x1aP\n\x07LogFile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digestb\x06proto3') - - -_ARTIFACT = DESCRIPTOR.message_types_by_name['Artifact'] -_ARTIFACT_DEPENDENCY = _ARTIFACT.nested_types_by_name['Dependency'] -_ARTIFACT_LOGFILE = _ARTIFACT.nested_types_by_name['LogFile'] -Artifact = _reflection.GeneratedProtocolMessageType('Artifact', (_message.Message,), { - - 'Dependency' : _reflection.GeneratedProtocolMessageType('Dependency', (_message.Message,), { - 'DESCRIPTOR' : _ARTIFACT_DEPENDENCY, - '__module__' : 'buildstream.v2.artifact_pb2' - # @@protoc_insertion_point(class_scope:buildstream.v2.Artifact.Dependency) - }) - , - - 'LogFile' : _reflection.GeneratedProtocolMessageType('LogFile', (_message.Message,), { - 'DESCRIPTOR' : _ARTIFACT_LOGFILE, - '__module__' : 'buildstream.v2.artifact_pb2' - # @@protoc_insertion_point(class_scope:buildstream.v2.Artifact.LogFile) - }) - , - 'DESCRIPTOR' : _ARTIFACT, - '__module__' : 'buildstream.v2.artifact_pb2' - # @@protoc_insertion_point(class_scope:buildstream.v2.Artifact) - }) -_sym_db.RegisterMessage(Artifact) -_sym_db.RegisterMessage(Artifact.Dependency) -_sym_db.RegisterMessage(Artifact.LogFile) - -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - _ARTIFACT._serialized_start=136 - _ARTIFACT._serialized_end=1041 - _ARTIFACT_DEPENDENCY._serialized_start=860 - _ARTIFACT_DEPENDENCY._serialized_end=959 - _ARTIFACT_LOGFILE._serialized_start=961 - _ARTIFACT_LOGFILE._serialized_end=1041 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buildstream.v2.artifact_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ARTIFACT']._serialized_start=136 + _globals['_ARTIFACT']._serialized_end=1041 + _globals['_ARTIFACT_DEPENDENCY']._serialized_start=860 + _globals['_ARTIFACT_DEPENDENCY']._serialized_end=959 + _globals['_ARTIFACT_LOGFILE']._serialized_start=961 + _globals['_ARTIFACT_LOGFILE']._serialized_end=1041 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/buildstream/v2/artifact_pb2.pyi b/src/buildstream/_protos/buildstream/v2/artifact_pb2.pyi new file mode 100644 index 000000000..3f80ffa4b --- /dev/null +++ b/src/buildstream/_protos/buildstream/v2/artifact_pb2.pyi @@ -0,0 +1,64 @@ +from build.bazel.remote.execution.v2 import remote_execution_pb2 as _remote_execution_pb2 +from google.api import annotations_pb2 as _annotations_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Artifact(_message.Message): + __slots__ = ("version", "build_success", "build_error", "build_error_details", "strong_key", "weak_key", "was_workspaced", "files", "build_deps", "public_data", "logs", "buildtree", "sources", "low_diversity_meta", "high_diversity_meta", "strict_key", "buildroot") + class Dependency(_message.Message): + __slots__ = ("project_name", "element_name", "cache_key", "was_workspaced") + PROJECT_NAME_FIELD_NUMBER: _ClassVar[int] + ELEMENT_NAME_FIELD_NUMBER: _ClassVar[int] + CACHE_KEY_FIELD_NUMBER: _ClassVar[int] + WAS_WORKSPACED_FIELD_NUMBER: _ClassVar[int] + project_name: str + element_name: str + cache_key: str + was_workspaced: bool + def __init__(self, project_name: _Optional[str] = ..., element_name: _Optional[str] = ..., cache_key: _Optional[str] = ..., was_workspaced: bool = ...) -> None: ... + class LogFile(_message.Message): + __slots__ = ("name", "digest") + NAME_FIELD_NUMBER: _ClassVar[int] + DIGEST_FIELD_NUMBER: _ClassVar[int] + name: str + digest: _remote_execution_pb2.Digest + def __init__(self, name: _Optional[str] = ..., digest: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ...) -> None: ... + VERSION_FIELD_NUMBER: _ClassVar[int] + BUILD_SUCCESS_FIELD_NUMBER: _ClassVar[int] + BUILD_ERROR_FIELD_NUMBER: _ClassVar[int] + BUILD_ERROR_DETAILS_FIELD_NUMBER: _ClassVar[int] + STRONG_KEY_FIELD_NUMBER: _ClassVar[int] + WEAK_KEY_FIELD_NUMBER: _ClassVar[int] + WAS_WORKSPACED_FIELD_NUMBER: _ClassVar[int] + FILES_FIELD_NUMBER: _ClassVar[int] + BUILD_DEPS_FIELD_NUMBER: _ClassVar[int] + PUBLIC_DATA_FIELD_NUMBER: _ClassVar[int] + LOGS_FIELD_NUMBER: _ClassVar[int] + BUILDTREE_FIELD_NUMBER: _ClassVar[int] + SOURCES_FIELD_NUMBER: _ClassVar[int] + LOW_DIVERSITY_META_FIELD_NUMBER: _ClassVar[int] + HIGH_DIVERSITY_META_FIELD_NUMBER: _ClassVar[int] + STRICT_KEY_FIELD_NUMBER: _ClassVar[int] + BUILDROOT_FIELD_NUMBER: _ClassVar[int] + version: int + build_success: bool + build_error: str + build_error_details: str + strong_key: str + weak_key: str + was_workspaced: bool + files: _remote_execution_pb2.Digest + build_deps: _containers.RepeatedCompositeFieldContainer[Artifact.Dependency] + public_data: _remote_execution_pb2.Digest + logs: _containers.RepeatedCompositeFieldContainer[Artifact.LogFile] + buildtree: _remote_execution_pb2.Digest + sources: _remote_execution_pb2.Digest + low_diversity_meta: _remote_execution_pb2.Digest + high_diversity_meta: _remote_execution_pb2.Digest + strict_key: str + buildroot: _remote_execution_pb2.Digest + def __init__(self, version: _Optional[int] = ..., build_success: bool = ..., build_error: _Optional[str] = ..., build_error_details: _Optional[str] = ..., strong_key: _Optional[str] = ..., weak_key: _Optional[str] = ..., was_workspaced: bool = ..., files: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., build_deps: _Optional[_Iterable[_Union[Artifact.Dependency, _Mapping]]] = ..., public_data: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., logs: _Optional[_Iterable[_Union[Artifact.LogFile, _Mapping]]] = ..., buildtree: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., sources: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., low_diversity_meta: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., high_diversity_meta: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ..., strict_key: _Optional[str] = ..., buildroot: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ...) -> None: ... diff --git a/src/buildstream/_protos/buildstream/v2/artifact_pb2_grpc.py b/src/buildstream/_protos/buildstream/v2/artifact_pb2_grpc.py index 2daafffeb..546aaff8e 100644 --- a/src/buildstream/_protos/buildstream/v2/artifact_pb2_grpc.py +++ b/src/buildstream/_protos/buildstream/v2/artifact_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in buildstream/v2/artifact_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/src/buildstream/_protos/buildstream/v2/source_pb2.py b/src/buildstream/_protos/buildstream/v2/source_pb2.py index 55542706a..25a1dcc34 100644 --- a/src/buildstream/_protos/buildstream/v2/source_pb2.py +++ b/src/buildstream/_protos/buildstream/v2/source_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: buildstream/v2/source.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'buildstream/v2/source.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,19 +28,11 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62uildstream/v2/source.proto\x12\x0e\x62uildstream.v2\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\"Q\n\x06Source\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x36\n\x05\x66iles\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digestb\x06proto3') - - -_SOURCE = DESCRIPTOR.message_types_by_name['Source'] -Source = _reflection.GeneratedProtocolMessageType('Source', (_message.Message,), { - 'DESCRIPTOR' : _SOURCE, - '__module__' : 'buildstream.v2.source_pb2' - # @@protoc_insertion_point(class_scope:buildstream.v2.Source) - }) -_sym_db.RegisterMessage(Source) - -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - _SOURCE._serialized_start=133 - _SOURCE._serialized_end=214 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buildstream.v2.source_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SOURCE']._serialized_start=133 + _globals['_SOURCE']._serialized_end=214 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/buildstream/v2/source_pb2.pyi b/src/buildstream/_protos/buildstream/v2/source_pb2.pyi new file mode 100644 index 000000000..05bb448d1 --- /dev/null +++ b/src/buildstream/_protos/buildstream/v2/source_pb2.pyi @@ -0,0 +1,15 @@ +from build.bazel.remote.execution.v2 import remote_execution_pb2 as _remote_execution_pb2 +from google.api import annotations_pb2 as _annotations_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Source(_message.Message): + __slots__ = ("version", "files") + VERSION_FIELD_NUMBER: _ClassVar[int] + FILES_FIELD_NUMBER: _ClassVar[int] + version: int + files: _remote_execution_pb2.Digest + def __init__(self, version: _Optional[int] = ..., files: _Optional[_Union[_remote_execution_pb2.Digest, _Mapping]] = ...) -> None: ... diff --git a/src/buildstream/_protos/buildstream/v2/source_pb2_grpc.py b/src/buildstream/_protos/buildstream/v2/source_pb2_grpc.py index 2daafffeb..1a5d0b008 100644 --- a/src/buildstream/_protos/buildstream/v2/source_pb2_grpc.py +++ b/src/buildstream/_protos/buildstream/v2/source_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in buildstream/v2/source_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/src/buildstream/_protos/google/api/annotations_pb2.py b/src/buildstream/_protos/google/api/annotations_pb2.py index ed5de6626..84e221d89 100644 --- a/src/buildstream/_protos/google/api/annotations_pb2.py +++ b/src/buildstream/_protos/google/api/annotations_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: google/api/annotations.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'google/api/annotations.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,13 +28,10 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cgoogle/api/annotations.proto\x12\ngoogle.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:E\n\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0\xca\xbc\" \x01(\x0b\x32\x14.google.api.HttpRuleBn\n\x0e\x63om.google.apiB\x10\x41nnotationsProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\x06proto3') - -HTTP_FIELD_NUMBER = 72295728 -http = DESCRIPTOR.extensions_by_name['http'] - -if _descriptor._USE_C_DESCRIPTORS == False: - google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(http) - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\020AnnotationsProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\004GAPI' +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.annotations_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\020AnnotationsProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\004GAPI' # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/google/api/annotations_pb2.pyi b/src/buildstream/_protos/google/api/annotations_pb2.pyi new file mode 100644 index 000000000..b818f1809 --- /dev/null +++ b/src/buildstream/_protos/google/api/annotations_pb2.pyi @@ -0,0 +1,8 @@ +from google.api import http_pb2 as _http_pb2 +from google.protobuf import descriptor_pb2 as _descriptor_pb2 +from google.protobuf import descriptor as _descriptor +from typing import ClassVar as _ClassVar + +DESCRIPTOR: _descriptor.FileDescriptor +HTTP_FIELD_NUMBER: _ClassVar[int] +http: _descriptor.FieldDescriptor diff --git a/src/buildstream/_protos/google/api/annotations_pb2_grpc.py b/src/buildstream/_protos/google/api/annotations_pb2_grpc.py index 2daafffeb..20414b108 100644 --- a/src/buildstream/_protos/google/api/annotations_pb2_grpc.py +++ b/src/buildstream/_protos/google/api/annotations_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in google/api/annotations_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/src/buildstream/_protos/google/api/http_pb2.py b/src/buildstream/_protos/google/api/http_pb2.py index 22190edc9..4c8494956 100644 --- a/src/buildstream/_protos/google/api/http_pb2.py +++ b/src/buildstream/_protos/google/api/http_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: google/api/http.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'google/api/http.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,40 +26,16 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15google/api/http.proto\x12\ngoogle.api\"T\n\x04Http\x12#\n\x05rules\x18\x01 \x03(\x0b\x32\x14.google.api.HttpRule\x12\'\n\x1f\x66ully_decode_reserved_expansion\x18\x02 \x01(\x08\"\xea\x01\n\x08HttpRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12\r\n\x03get\x18\x02 \x01(\tH\x00\x12\r\n\x03put\x18\x03 \x01(\tH\x00\x12\x0e\n\x04post\x18\x04 \x01(\tH\x00\x12\x10\n\x06\x64\x65lete\x18\x05 \x01(\tH\x00\x12\x0f\n\x05patch\x18\x06 \x01(\tH\x00\x12/\n\x06\x63ustom\x18\x08 \x01(\x0b\x32\x1d.google.api.CustomHttpPatternH\x00\x12\x0c\n\x04\x62ody\x18\x07 \x01(\t\x12\x31\n\x13\x61\x64\x64itional_bindings\x18\x0b \x03(\x0b\x32\x14.google.api.HttpRuleB\t\n\x07pattern\"/\n\x11\x43ustomHttpPattern\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\tBj\n\x0e\x63om.google.apiB\tHttpProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xf8\x01\x01\xa2\x02\x04GAPIb\x06proto3') - - -_HTTP = DESCRIPTOR.message_types_by_name['Http'] -_HTTPRULE = DESCRIPTOR.message_types_by_name['HttpRule'] -_CUSTOMHTTPPATTERN = DESCRIPTOR.message_types_by_name['CustomHttpPattern'] -Http = _reflection.GeneratedProtocolMessageType('Http', (_message.Message,), { - 'DESCRIPTOR' : _HTTP, - '__module__' : 'google.api.http_pb2' - # @@protoc_insertion_point(class_scope:google.api.Http) - }) -_sym_db.RegisterMessage(Http) - -HttpRule = _reflection.GeneratedProtocolMessageType('HttpRule', (_message.Message,), { - 'DESCRIPTOR' : _HTTPRULE, - '__module__' : 'google.api.http_pb2' - # @@protoc_insertion_point(class_scope:google.api.HttpRule) - }) -_sym_db.RegisterMessage(HttpRule) - -CustomHttpPattern = _reflection.GeneratedProtocolMessageType('CustomHttpPattern', (_message.Message,), { - 'DESCRIPTOR' : _CUSTOMHTTPPATTERN, - '__module__' : 'google.api.http_pb2' - # @@protoc_insertion_point(class_scope:google.api.CustomHttpPattern) - }) -_sym_db.RegisterMessage(CustomHttpPattern) - -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\016com.google.apiB\tHttpProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\370\001\001\242\002\004GAPI' - _HTTP._serialized_start=37 - _HTTP._serialized_end=121 - _HTTPRULE._serialized_start=124 - _HTTPRULE._serialized_end=358 - _CUSTOMHTTPPATTERN._serialized_start=360 - _CUSTOMHTTPPATTERN._serialized_end=407 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.http_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\tHttpProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\370\001\001\242\002\004GAPI' + _globals['_HTTP']._serialized_start=37 + _globals['_HTTP']._serialized_end=121 + _globals['_HTTPRULE']._serialized_start=124 + _globals['_HTTPRULE']._serialized_end=358 + _globals['_CUSTOMHTTPPATTERN']._serialized_start=360 + _globals['_CUSTOMHTTPPATTERN']._serialized_end=407 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/google/api/http_pb2.pyi b/src/buildstream/_protos/google/api/http_pb2.pyi new file mode 100644 index 000000000..9a28694a4 --- /dev/null +++ b/src/buildstream/_protos/google/api/http_pb2.pyi @@ -0,0 +1,44 @@ +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Http(_message.Message): + __slots__ = ("rules", "fully_decode_reserved_expansion") + RULES_FIELD_NUMBER: _ClassVar[int] + FULLY_DECODE_RESERVED_EXPANSION_FIELD_NUMBER: _ClassVar[int] + rules: _containers.RepeatedCompositeFieldContainer[HttpRule] + fully_decode_reserved_expansion: bool + def __init__(self, rules: _Optional[_Iterable[_Union[HttpRule, _Mapping]]] = ..., fully_decode_reserved_expansion: bool = ...) -> None: ... + +class HttpRule(_message.Message): + __slots__ = ("selector", "get", "put", "post", "delete", "patch", "custom", "body", "additional_bindings") + SELECTOR_FIELD_NUMBER: _ClassVar[int] + GET_FIELD_NUMBER: _ClassVar[int] + PUT_FIELD_NUMBER: _ClassVar[int] + POST_FIELD_NUMBER: _ClassVar[int] + DELETE_FIELD_NUMBER: _ClassVar[int] + PATCH_FIELD_NUMBER: _ClassVar[int] + CUSTOM_FIELD_NUMBER: _ClassVar[int] + BODY_FIELD_NUMBER: _ClassVar[int] + ADDITIONAL_BINDINGS_FIELD_NUMBER: _ClassVar[int] + selector: str + get: str + put: str + post: str + delete: str + patch: str + custom: CustomHttpPattern + body: str + additional_bindings: _containers.RepeatedCompositeFieldContainer[HttpRule] + def __init__(self, selector: _Optional[str] = ..., get: _Optional[str] = ..., put: _Optional[str] = ..., post: _Optional[str] = ..., delete: _Optional[str] = ..., patch: _Optional[str] = ..., custom: _Optional[_Union[CustomHttpPattern, _Mapping]] = ..., body: _Optional[str] = ..., additional_bindings: _Optional[_Iterable[_Union[HttpRule, _Mapping]]] = ...) -> None: ... + +class CustomHttpPattern(_message.Message): + __slots__ = ("kind", "path") + KIND_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + kind: str + path: str + def __init__(self, kind: _Optional[str] = ..., path: _Optional[str] = ...) -> None: ... diff --git a/src/buildstream/_protos/google/api/http_pb2_grpc.py b/src/buildstream/_protos/google/api/http_pb2_grpc.py index 2daafffeb..9c8eb1768 100644 --- a/src/buildstream/_protos/google/api/http_pb2_grpc.py +++ b/src/buildstream/_protos/google/api/http_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in google/api/http_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/src/buildstream/_protos/google/bytestream/bytestream_pb2.py b/src/buildstream/_protos/google/bytestream/bytestream_pb2.py index 5ee114b25..ab047f310 100644 --- a/src/buildstream/_protos/google/bytestream/bytestream_pb2.py +++ b/src/buildstream/_protos/google/bytestream/bytestream_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: google/bytestream/bytestream.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'google/bytestream/bytestream.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,73 +28,24 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"google/bytestream/bytestream.proto\x12\x11google.bytestream\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/wrappers.proto\"M\n\x0bReadRequest\x12\x15\n\rresource_name\x18\x01 \x01(\t\x12\x13\n\x0bread_offset\x18\x02 \x01(\x03\x12\x12\n\nread_limit\x18\x03 \x01(\x03\"\x1c\n\x0cReadResponse\x12\x0c\n\x04\x64\x61ta\x18\n \x01(\x0c\"_\n\x0cWriteRequest\x12\x15\n\rresource_name\x18\x01 \x01(\t\x12\x14\n\x0cwrite_offset\x18\x02 \x01(\x03\x12\x14\n\x0c\x66inish_write\x18\x03 \x01(\x08\x12\x0c\n\x04\x64\x61ta\x18\n \x01(\x0c\"\'\n\rWriteResponse\x12\x16\n\x0e\x63ommitted_size\x18\x01 \x01(\x03\"0\n\x17QueryWriteStatusRequest\x12\x15\n\rresource_name\x18\x01 \x01(\t\"D\n\x18QueryWriteStatusResponse\x12\x16\n\x0e\x63ommitted_size\x18\x01 \x01(\x03\x12\x10\n\x08\x63omplete\x18\x02 \x01(\x08\x32\x92\x02\n\nByteStream\x12I\n\x04Read\x12\x1e.google.bytestream.ReadRequest\x1a\x1f.google.bytestream.ReadResponse0\x01\x12L\n\x05Write\x12\x1f.google.bytestream.WriteRequest\x1a .google.bytestream.WriteResponse(\x01\x12k\n\x10QueryWriteStatus\x12*.google.bytestream.QueryWriteStatusRequest\x1a+.google.bytestream.QueryWriteStatusResponseBe\n\x15\x63om.google.bytestreamB\x0f\x42yteStreamProtoZ;google.golang.org/genproto/googleapis/bytestream;bytestreamb\x06proto3') - - -_READREQUEST = DESCRIPTOR.message_types_by_name['ReadRequest'] -_READRESPONSE = DESCRIPTOR.message_types_by_name['ReadResponse'] -_WRITEREQUEST = DESCRIPTOR.message_types_by_name['WriteRequest'] -_WRITERESPONSE = DESCRIPTOR.message_types_by_name['WriteResponse'] -_QUERYWRITESTATUSREQUEST = DESCRIPTOR.message_types_by_name['QueryWriteStatusRequest'] -_QUERYWRITESTATUSRESPONSE = DESCRIPTOR.message_types_by_name['QueryWriteStatusResponse'] -ReadRequest = _reflection.GeneratedProtocolMessageType('ReadRequest', (_message.Message,), { - 'DESCRIPTOR' : _READREQUEST, - '__module__' : 'google.bytestream.bytestream_pb2' - # @@protoc_insertion_point(class_scope:google.bytestream.ReadRequest) - }) -_sym_db.RegisterMessage(ReadRequest) - -ReadResponse = _reflection.GeneratedProtocolMessageType('ReadResponse', (_message.Message,), { - 'DESCRIPTOR' : _READRESPONSE, - '__module__' : 'google.bytestream.bytestream_pb2' - # @@protoc_insertion_point(class_scope:google.bytestream.ReadResponse) - }) -_sym_db.RegisterMessage(ReadResponse) - -WriteRequest = _reflection.GeneratedProtocolMessageType('WriteRequest', (_message.Message,), { - 'DESCRIPTOR' : _WRITEREQUEST, - '__module__' : 'google.bytestream.bytestream_pb2' - # @@protoc_insertion_point(class_scope:google.bytestream.WriteRequest) - }) -_sym_db.RegisterMessage(WriteRequest) - -WriteResponse = _reflection.GeneratedProtocolMessageType('WriteResponse', (_message.Message,), { - 'DESCRIPTOR' : _WRITERESPONSE, - '__module__' : 'google.bytestream.bytestream_pb2' - # @@protoc_insertion_point(class_scope:google.bytestream.WriteResponse) - }) -_sym_db.RegisterMessage(WriteResponse) - -QueryWriteStatusRequest = _reflection.GeneratedProtocolMessageType('QueryWriteStatusRequest', (_message.Message,), { - 'DESCRIPTOR' : _QUERYWRITESTATUSREQUEST, - '__module__' : 'google.bytestream.bytestream_pb2' - # @@protoc_insertion_point(class_scope:google.bytestream.QueryWriteStatusRequest) - }) -_sym_db.RegisterMessage(QueryWriteStatusRequest) - -QueryWriteStatusResponse = _reflection.GeneratedProtocolMessageType('QueryWriteStatusResponse', (_message.Message,), { - 'DESCRIPTOR' : _QUERYWRITESTATUSRESPONSE, - '__module__' : 'google.bytestream.bytestream_pb2' - # @@protoc_insertion_point(class_scope:google.bytestream.QueryWriteStatusResponse) - }) -_sym_db.RegisterMessage(QueryWriteStatusResponse) - -_BYTESTREAM = DESCRIPTOR.services_by_name['ByteStream'] -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\025com.google.bytestreamB\017ByteStreamProtoZ;google.golang.org/genproto/googleapis/bytestream;bytestream' - _READREQUEST._serialized_start=119 - _READREQUEST._serialized_end=196 - _READRESPONSE._serialized_start=198 - _READRESPONSE._serialized_end=226 - _WRITEREQUEST._serialized_start=228 - _WRITEREQUEST._serialized_end=323 - _WRITERESPONSE._serialized_start=325 - _WRITERESPONSE._serialized_end=364 - _QUERYWRITESTATUSREQUEST._serialized_start=366 - _QUERYWRITESTATUSREQUEST._serialized_end=414 - _QUERYWRITESTATUSRESPONSE._serialized_start=416 - _QUERYWRITESTATUSRESPONSE._serialized_end=484 - _BYTESTREAM._serialized_start=487 - _BYTESTREAM._serialized_end=761 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.bytestream.bytestream_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.google.bytestreamB\017ByteStreamProtoZ;google.golang.org/genproto/googleapis/bytestream;bytestream' + _globals['_READREQUEST']._serialized_start=119 + _globals['_READREQUEST']._serialized_end=196 + _globals['_READRESPONSE']._serialized_start=198 + _globals['_READRESPONSE']._serialized_end=226 + _globals['_WRITEREQUEST']._serialized_start=228 + _globals['_WRITEREQUEST']._serialized_end=323 + _globals['_WRITERESPONSE']._serialized_start=325 + _globals['_WRITERESPONSE']._serialized_end=364 + _globals['_QUERYWRITESTATUSREQUEST']._serialized_start=366 + _globals['_QUERYWRITESTATUSREQUEST']._serialized_end=414 + _globals['_QUERYWRITESTATUSRESPONSE']._serialized_start=416 + _globals['_QUERYWRITESTATUSRESPONSE']._serialized_end=484 + _globals['_BYTESTREAM']._serialized_start=487 + _globals['_BYTESTREAM']._serialized_end=761 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/google/bytestream/bytestream_pb2.pyi b/src/buildstream/_protos/google/bytestream/bytestream_pb2.pyi new file mode 100644 index 000000000..d330cd695 --- /dev/null +++ b/src/buildstream/_protos/google/bytestream/bytestream_pb2.pyi @@ -0,0 +1,55 @@ +from google.api import annotations_pb2 as _annotations_pb2 +from google.protobuf import wrappers_pb2 as _wrappers_pb2 +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Optional as _Optional + +DESCRIPTOR: _descriptor.FileDescriptor + +class ReadRequest(_message.Message): + __slots__ = ("resource_name", "read_offset", "read_limit") + RESOURCE_NAME_FIELD_NUMBER: _ClassVar[int] + READ_OFFSET_FIELD_NUMBER: _ClassVar[int] + READ_LIMIT_FIELD_NUMBER: _ClassVar[int] + resource_name: str + read_offset: int + read_limit: int + def __init__(self, resource_name: _Optional[str] = ..., read_offset: _Optional[int] = ..., read_limit: _Optional[int] = ...) -> None: ... + +class ReadResponse(_message.Message): + __slots__ = ("data",) + DATA_FIELD_NUMBER: _ClassVar[int] + data: bytes + def __init__(self, data: _Optional[bytes] = ...) -> None: ... + +class WriteRequest(_message.Message): + __slots__ = ("resource_name", "write_offset", "finish_write", "data") + RESOURCE_NAME_FIELD_NUMBER: _ClassVar[int] + WRITE_OFFSET_FIELD_NUMBER: _ClassVar[int] + FINISH_WRITE_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + resource_name: str + write_offset: int + finish_write: bool + data: bytes + def __init__(self, resource_name: _Optional[str] = ..., write_offset: _Optional[int] = ..., finish_write: bool = ..., data: _Optional[bytes] = ...) -> None: ... + +class WriteResponse(_message.Message): + __slots__ = ("committed_size",) + COMMITTED_SIZE_FIELD_NUMBER: _ClassVar[int] + committed_size: int + def __init__(self, committed_size: _Optional[int] = ...) -> None: ... + +class QueryWriteStatusRequest(_message.Message): + __slots__ = ("resource_name",) + RESOURCE_NAME_FIELD_NUMBER: _ClassVar[int] + resource_name: str + def __init__(self, resource_name: _Optional[str] = ...) -> None: ... + +class QueryWriteStatusResponse(_message.Message): + __slots__ = ("committed_size", "complete") + COMMITTED_SIZE_FIELD_NUMBER: _ClassVar[int] + COMPLETE_FIELD_NUMBER: _ClassVar[int] + committed_size: int + complete: bool + def __init__(self, committed_size: _Optional[int] = ..., complete: bool = ...) -> None: ... diff --git a/src/buildstream/_protos/google/bytestream/bytestream_pb2_grpc.py b/src/buildstream/_protos/google/bytestream/bytestream_pb2_grpc.py index 36dd1eb92..164d68fef 100644 --- a/src/buildstream/_protos/google/bytestream/bytestream_pb2_grpc.py +++ b/src/buildstream/_protos/google/bytestream/bytestream_pb2_grpc.py @@ -1,9 +1,29 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from buildstream._protos.google.bytestream import bytestream_pb2 as google_dot_bytestream_dot_bytestream__pb2 +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in google/bytestream/bytestream_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class ByteStreamStub(object): """#### Introduction @@ -41,17 +61,17 @@ def __init__(self, channel): '/google.bytestream.ByteStream/Read', request_serializer=google_dot_bytestream_dot_bytestream__pb2.ReadRequest.SerializeToString, response_deserializer=google_dot_bytestream_dot_bytestream__pb2.ReadResponse.FromString, - ) + _registered_method=True) self.Write = channel.stream_unary( '/google.bytestream.ByteStream/Write', request_serializer=google_dot_bytestream_dot_bytestream__pb2.WriteRequest.SerializeToString, response_deserializer=google_dot_bytestream_dot_bytestream__pb2.WriteResponse.FromString, - ) + _registered_method=True) self.QueryWriteStatus = channel.unary_unary( '/google.bytestream.ByteStream/QueryWriteStatus', request_serializer=google_dot_bytestream_dot_bytestream__pb2.QueryWriteStatusRequest.SerializeToString, response_deserializer=google_dot_bytestream_dot_bytestream__pb2.QueryWriteStatusResponse.FromString, - ) + _registered_method=True) class ByteStreamServicer(object): @@ -159,6 +179,7 @@ def add_ByteStreamServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'google.bytestream.ByteStream', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('google.bytestream.ByteStream', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -199,11 +220,21 @@ def Read(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_stream(request, target, '/google.bytestream.ByteStream/Read', + return grpc.experimental.unary_stream( + request, + target, + '/google.bytestream.ByteStream/Read', google_dot_bytestream_dot_bytestream__pb2.ReadRequest.SerializeToString, google_dot_bytestream_dot_bytestream__pb2.ReadResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def Write(request_iterator, @@ -216,11 +247,21 @@ def Write(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_unary(request_iterator, target, '/google.bytestream.ByteStream/Write', + return grpc.experimental.stream_unary( + request_iterator, + target, + '/google.bytestream.ByteStream/Write', google_dot_bytestream_dot_bytestream__pb2.WriteRequest.SerializeToString, google_dot_bytestream_dot_bytestream__pb2.WriteResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def QueryWriteStatus(request, @@ -233,8 +274,18 @@ def QueryWriteStatus(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/google.bytestream.ByteStream/QueryWriteStatus', + return grpc.experimental.unary_unary( + request, + target, + '/google.bytestream.ByteStream/QueryWriteStatus', google_dot_bytestream_dot_bytestream__pb2.QueryWriteStatusRequest.SerializeToString, google_dot_bytestream_dot_bytestream__pb2.QueryWriteStatusResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/src/buildstream/_protos/google/longrunning/operations_pb2.py b/src/buildstream/_protos/google/longrunning/operations_pb2.py index 4bbd08aa6..e1e27af54 100644 --- a/src/buildstream/_protos/google/longrunning/operations_pb2.py +++ b/src/buildstream/_protos/google/longrunning/operations_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: google/longrunning/operations.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'google/longrunning/operations.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,81 +30,32 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/protobuf/any.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\"\xa8\x01\n\tOperation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12&\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08\x12#\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x12(\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x42\x08\n\x06result\"#\n\x13GetOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\\\n\x15ListOperationsRequest\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"d\n\x16ListOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"&\n\x16\x43\x61ncelOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"&\n\x16\x44\x65leteOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t2\x8c\x04\n\nOperations\x12\x86\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12x\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12w\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\" \x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x81\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*B\x94\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01Z=google.golang.org/genproto/googleapis/longrunning;longrunning\xaa\x02\x12Google.LongRunning\xca\x02\x12Google\\LongRunningb\x06proto3') - - -_OPERATION = DESCRIPTOR.message_types_by_name['Operation'] -_GETOPERATIONREQUEST = DESCRIPTOR.message_types_by_name['GetOperationRequest'] -_LISTOPERATIONSREQUEST = DESCRIPTOR.message_types_by_name['ListOperationsRequest'] -_LISTOPERATIONSRESPONSE = DESCRIPTOR.message_types_by_name['ListOperationsResponse'] -_CANCELOPERATIONREQUEST = DESCRIPTOR.message_types_by_name['CancelOperationRequest'] -_DELETEOPERATIONREQUEST = DESCRIPTOR.message_types_by_name['DeleteOperationRequest'] -Operation = _reflection.GeneratedProtocolMessageType('Operation', (_message.Message,), { - 'DESCRIPTOR' : _OPERATION, - '__module__' : 'google.longrunning.operations_pb2' - # @@protoc_insertion_point(class_scope:google.longrunning.Operation) - }) -_sym_db.RegisterMessage(Operation) - -GetOperationRequest = _reflection.GeneratedProtocolMessageType('GetOperationRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETOPERATIONREQUEST, - '__module__' : 'google.longrunning.operations_pb2' - # @@protoc_insertion_point(class_scope:google.longrunning.GetOperationRequest) - }) -_sym_db.RegisterMessage(GetOperationRequest) - -ListOperationsRequest = _reflection.GeneratedProtocolMessageType('ListOperationsRequest', (_message.Message,), { - 'DESCRIPTOR' : _LISTOPERATIONSREQUEST, - '__module__' : 'google.longrunning.operations_pb2' - # @@protoc_insertion_point(class_scope:google.longrunning.ListOperationsRequest) - }) -_sym_db.RegisterMessage(ListOperationsRequest) - -ListOperationsResponse = _reflection.GeneratedProtocolMessageType('ListOperationsResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTOPERATIONSRESPONSE, - '__module__' : 'google.longrunning.operations_pb2' - # @@protoc_insertion_point(class_scope:google.longrunning.ListOperationsResponse) - }) -_sym_db.RegisterMessage(ListOperationsResponse) - -CancelOperationRequest = _reflection.GeneratedProtocolMessageType('CancelOperationRequest', (_message.Message,), { - 'DESCRIPTOR' : _CANCELOPERATIONREQUEST, - '__module__' : 'google.longrunning.operations_pb2' - # @@protoc_insertion_point(class_scope:google.longrunning.CancelOperationRequest) - }) -_sym_db.RegisterMessage(CancelOperationRequest) - -DeleteOperationRequest = _reflection.GeneratedProtocolMessageType('DeleteOperationRequest', (_message.Message,), { - 'DESCRIPTOR' : _DELETEOPERATIONREQUEST, - '__module__' : 'google.longrunning.operations_pb2' - # @@protoc_insertion_point(class_scope:google.longrunning.DeleteOperationRequest) - }) -_sym_db.RegisterMessage(DeleteOperationRequest) - -_OPERATIONS = DESCRIPTOR.services_by_name['Operations'] -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\026com.google.longrunningB\017OperationsProtoP\001Z=google.golang.org/genproto/googleapis/longrunning;longrunning\252\002\022Google.LongRunning\312\002\022Google\\LongRunning' - _OPERATIONS.methods_by_name['ListOperations']._options = None - _OPERATIONS.methods_by_name['ListOperations']._serialized_options = b'\202\323\344\223\002\027\022\025/v1/{name=operations}' - _OPERATIONS.methods_by_name['GetOperation']._options = None - _OPERATIONS.methods_by_name['GetOperation']._serialized_options = b'\202\323\344\223\002\032\022\030/v1/{name=operations/**}' - _OPERATIONS.methods_by_name['DeleteOperation']._options = None - _OPERATIONS.methods_by_name['DeleteOperation']._serialized_options = b'\202\323\344\223\002\032*\030/v1/{name=operations/**}' - _OPERATIONS.methods_by_name['CancelOperation']._options = None - _OPERATIONS.methods_by_name['CancelOperation']._serialized_options = b'\202\323\344\223\002$\"\037/v1/{name=operations/**}:cancel:\001*' - _OPERATION._serialized_start=171 - _OPERATION._serialized_end=339 - _GETOPERATIONREQUEST._serialized_start=341 - _GETOPERATIONREQUEST._serialized_end=376 - _LISTOPERATIONSREQUEST._serialized_start=378 - _LISTOPERATIONSREQUEST._serialized_end=470 - _LISTOPERATIONSRESPONSE._serialized_start=472 - _LISTOPERATIONSRESPONSE._serialized_end=572 - _CANCELOPERATIONREQUEST._serialized_start=574 - _CANCELOPERATIONREQUEST._serialized_end=612 - _DELETEOPERATIONREQUEST._serialized_start=614 - _DELETEOPERATIONREQUEST._serialized_end=652 - _OPERATIONS._serialized_start=655 - _OPERATIONS._serialized_end=1179 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.longrunning.operations_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\026com.google.longrunningB\017OperationsProtoP\001Z=google.golang.org/genproto/googleapis/longrunning;longrunning\252\002\022Google.LongRunning\312\002\022Google\\LongRunning' + _globals['_OPERATIONS'].methods_by_name['ListOperations']._loaded_options = None + _globals['_OPERATIONS'].methods_by_name['ListOperations']._serialized_options = b'\202\323\344\223\002\027\022\025/v1/{name=operations}' + _globals['_OPERATIONS'].methods_by_name['GetOperation']._loaded_options = None + _globals['_OPERATIONS'].methods_by_name['GetOperation']._serialized_options = b'\202\323\344\223\002\032\022\030/v1/{name=operations/**}' + _globals['_OPERATIONS'].methods_by_name['DeleteOperation']._loaded_options = None + _globals['_OPERATIONS'].methods_by_name['DeleteOperation']._serialized_options = b'\202\323\344\223\002\032*\030/v1/{name=operations/**}' + _globals['_OPERATIONS'].methods_by_name['CancelOperation']._loaded_options = None + _globals['_OPERATIONS'].methods_by_name['CancelOperation']._serialized_options = b'\202\323\344\223\002$\"\037/v1/{name=operations/**}:cancel:\001*' + _globals['_OPERATION']._serialized_start=171 + _globals['_OPERATION']._serialized_end=339 + _globals['_GETOPERATIONREQUEST']._serialized_start=341 + _globals['_GETOPERATIONREQUEST']._serialized_end=376 + _globals['_LISTOPERATIONSREQUEST']._serialized_start=378 + _globals['_LISTOPERATIONSREQUEST']._serialized_end=470 + _globals['_LISTOPERATIONSRESPONSE']._serialized_start=472 + _globals['_LISTOPERATIONSRESPONSE']._serialized_end=572 + _globals['_CANCELOPERATIONREQUEST']._serialized_start=574 + _globals['_CANCELOPERATIONREQUEST']._serialized_end=612 + _globals['_DELETEOPERATIONREQUEST']._serialized_start=614 + _globals['_DELETEOPERATIONREQUEST']._serialized_end=652 + _globals['_OPERATIONS']._serialized_start=655 + _globals['_OPERATIONS']._serialized_end=1179 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/google/longrunning/operations_pb2.pyi b/src/buildstream/_protos/google/longrunning/operations_pb2.pyi new file mode 100644 index 000000000..8e94303cb --- /dev/null +++ b/src/buildstream/_protos/google/longrunning/operations_pb2.pyi @@ -0,0 +1,62 @@ +from google.api import annotations_pb2 as _annotations_pb2 +from google.protobuf import any_pb2 as _any_pb2 +from google.protobuf import empty_pb2 as _empty_pb2 +from google.rpc import status_pb2 as _status_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Operation(_message.Message): + __slots__ = ("name", "metadata", "done", "error", "response") + NAME_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + DONE_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + name: str + metadata: _any_pb2.Any + done: bool + error: _status_pb2.Status + response: _any_pb2.Any + def __init__(self, name: _Optional[str] = ..., metadata: _Optional[_Union[_any_pb2.Any, _Mapping]] = ..., done: bool = ..., error: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., response: _Optional[_Union[_any_pb2.Any, _Mapping]] = ...) -> None: ... + +class GetOperationRequest(_message.Message): + __slots__ = ("name",) + NAME_FIELD_NUMBER: _ClassVar[int] + name: str + def __init__(self, name: _Optional[str] = ...) -> None: ... + +class ListOperationsRequest(_message.Message): + __slots__ = ("name", "filter", "page_size", "page_token") + NAME_FIELD_NUMBER: _ClassVar[int] + FILTER_FIELD_NUMBER: _ClassVar[int] + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + name: str + filter: str + page_size: int + page_token: str + def __init__(self, name: _Optional[str] = ..., filter: _Optional[str] = ..., page_size: _Optional[int] = ..., page_token: _Optional[str] = ...) -> None: ... + +class ListOperationsResponse(_message.Message): + __slots__ = ("operations", "next_page_token") + OPERATIONS_FIELD_NUMBER: _ClassVar[int] + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] + operations: _containers.RepeatedCompositeFieldContainer[Operation] + next_page_token: str + def __init__(self, operations: _Optional[_Iterable[_Union[Operation, _Mapping]]] = ..., next_page_token: _Optional[str] = ...) -> None: ... + +class CancelOperationRequest(_message.Message): + __slots__ = ("name",) + NAME_FIELD_NUMBER: _ClassVar[int] + name: str + def __init__(self, name: _Optional[str] = ...) -> None: ... + +class DeleteOperationRequest(_message.Message): + __slots__ = ("name",) + NAME_FIELD_NUMBER: _ClassVar[int] + name: str + def __init__(self, name: _Optional[str] = ...) -> None: ... diff --git a/src/buildstream/_protos/google/longrunning/operations_pb2_grpc.py b/src/buildstream/_protos/google/longrunning/operations_pb2_grpc.py index 2ab919ca3..fa1bfe4c9 100644 --- a/src/buildstream/_protos/google/longrunning/operations_pb2_grpc.py +++ b/src/buildstream/_protos/google/longrunning/operations_pb2_grpc.py @@ -1,10 +1,30 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings from buildstream._protos.google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in google/longrunning/operations_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + class OperationsStub(object): """Manages long-running operations with an API service. @@ -28,22 +48,22 @@ def __init__(self, channel): '/google.longrunning.Operations/ListOperations', request_serializer=google_dot_longrunning_dot_operations__pb2.ListOperationsRequest.SerializeToString, response_deserializer=google_dot_longrunning_dot_operations__pb2.ListOperationsResponse.FromString, - ) + _registered_method=True) self.GetOperation = channel.unary_unary( '/google.longrunning.Operations/GetOperation', request_serializer=google_dot_longrunning_dot_operations__pb2.GetOperationRequest.SerializeToString, response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString, - ) + _registered_method=True) self.DeleteOperation = channel.unary_unary( '/google.longrunning.Operations/DeleteOperation', request_serializer=google_dot_longrunning_dot_operations__pb2.DeleteOperationRequest.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ) + _registered_method=True) self.CancelOperation = channel.unary_unary( '/google.longrunning.Operations/CancelOperation', request_serializer=google_dot_longrunning_dot_operations__pb2.CancelOperationRequest.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - ) + _registered_method=True) class OperationsServicer(object): @@ -131,6 +151,7 @@ def add_OperationsServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'google.longrunning.Operations', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('google.longrunning.Operations', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. @@ -157,11 +178,21 @@ def ListOperations(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/google.longrunning.Operations/ListOperations', + return grpc.experimental.unary_unary( + request, + target, + '/google.longrunning.Operations/ListOperations', google_dot_longrunning_dot_operations__pb2.ListOperationsRequest.SerializeToString, google_dot_longrunning_dot_operations__pb2.ListOperationsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def GetOperation(request, @@ -174,11 +205,21 @@ def GetOperation(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/google.longrunning.Operations/GetOperation', + return grpc.experimental.unary_unary( + request, + target, + '/google.longrunning.Operations/GetOperation', google_dot_longrunning_dot_operations__pb2.GetOperationRequest.SerializeToString, google_dot_longrunning_dot_operations__pb2.Operation.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def DeleteOperation(request, @@ -191,11 +232,21 @@ def DeleteOperation(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/google.longrunning.Operations/DeleteOperation', + return grpc.experimental.unary_unary( + request, + target, + '/google.longrunning.Operations/DeleteOperation', google_dot_longrunning_dot_operations__pb2.DeleteOperationRequest.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) @staticmethod def CancelOperation(request, @@ -208,8 +259,18 @@ def CancelOperation(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/google.longrunning.Operations/CancelOperation', + return grpc.experimental.unary_unary( + request, + target, + '/google.longrunning.Operations/CancelOperation', google_dot_longrunning_dot_operations__pb2.CancelOperationRequest.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/src/buildstream/_protos/google/rpc/code_pb2.py b/src/buildstream/_protos/google/rpc/code_pb2.py index 12c91e48c..bb6a169b3 100644 --- a/src/buildstream/_protos/google/rpc/code_pb2.py +++ b/src/buildstream/_protos/google/rpc/code_pb2.py @@ -1,13 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: google/rpc/code.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'google/rpc/code.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,31 +26,12 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15google/rpc/code.proto\x12\ngoogle.rpc*\xb7\x02\n\x04\x43ode\x12\x06\n\x02OK\x10\x00\x12\r\n\tCANCELLED\x10\x01\x12\x0b\n\x07UNKNOWN\x10\x02\x12\x14\n\x10INVALID_ARGUMENT\x10\x03\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x04\x12\r\n\tNOT_FOUND\x10\x05\x12\x12\n\x0e\x41LREADY_EXISTS\x10\x06\x12\x15\n\x11PERMISSION_DENIED\x10\x07\x12\x13\n\x0fUNAUTHENTICATED\x10\x10\x12\x16\n\x12RESOURCE_EXHAUSTED\x10\x08\x12\x17\n\x13\x46\x41ILED_PRECONDITION\x10\t\x12\x0b\n\x07\x41\x42ORTED\x10\n\x12\x10\n\x0cOUT_OF_RANGE\x10\x0b\x12\x11\n\rUNIMPLEMENTED\x10\x0c\x12\x0c\n\x08INTERNAL\x10\r\x12\x0f\n\x0bUNAVAILABLE\x10\x0e\x12\r\n\tDATA_LOSS\x10\x0f\x42X\n\x0e\x63om.google.rpcB\tCodeProtoP\x01Z3google.golang.org/genproto/googleapis/rpc/code;code\xa2\x02\x03RPCb\x06proto3') -_CODE = DESCRIPTOR.enum_types_by_name['Code'] -Code = enum_type_wrapper.EnumTypeWrapper(_CODE) -OK = 0 -CANCELLED = 1 -UNKNOWN = 2 -INVALID_ARGUMENT = 3 -DEADLINE_EXCEEDED = 4 -NOT_FOUND = 5 -ALREADY_EXISTS = 6 -PERMISSION_DENIED = 7 -UNAUTHENTICATED = 16 -RESOURCE_EXHAUSTED = 8 -FAILED_PRECONDITION = 9 -ABORTED = 10 -OUT_OF_RANGE = 11 -UNIMPLEMENTED = 12 -INTERNAL = 13 -UNAVAILABLE = 14 -DATA_LOSS = 15 - - -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\016com.google.rpcB\tCodeProtoP\001Z3google.golang.org/genproto/googleapis/rpc/code;code\242\002\003RPC' - _CODE._serialized_start=38 - _CODE._serialized_end=349 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.rpc.code_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.rpcB\tCodeProtoP\001Z3google.golang.org/genproto/googleapis/rpc/code;code\242\002\003RPC' + _globals['_CODE']._serialized_start=38 + _globals['_CODE']._serialized_end=349 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/google/rpc/code_pb2.pyi b/src/buildstream/_protos/google/rpc/code_pb2.pyi new file mode 100644 index 000000000..7b3b98b6c --- /dev/null +++ b/src/buildstream/_protos/google/rpc/code_pb2.pyi @@ -0,0 +1,42 @@ +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from typing import ClassVar as _ClassVar + +DESCRIPTOR: _descriptor.FileDescriptor + +class Code(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + OK: _ClassVar[Code] + CANCELLED: _ClassVar[Code] + UNKNOWN: _ClassVar[Code] + INVALID_ARGUMENT: _ClassVar[Code] + DEADLINE_EXCEEDED: _ClassVar[Code] + NOT_FOUND: _ClassVar[Code] + ALREADY_EXISTS: _ClassVar[Code] + PERMISSION_DENIED: _ClassVar[Code] + UNAUTHENTICATED: _ClassVar[Code] + RESOURCE_EXHAUSTED: _ClassVar[Code] + FAILED_PRECONDITION: _ClassVar[Code] + ABORTED: _ClassVar[Code] + OUT_OF_RANGE: _ClassVar[Code] + UNIMPLEMENTED: _ClassVar[Code] + INTERNAL: _ClassVar[Code] + UNAVAILABLE: _ClassVar[Code] + DATA_LOSS: _ClassVar[Code] +OK: Code +CANCELLED: Code +UNKNOWN: Code +INVALID_ARGUMENT: Code +DEADLINE_EXCEEDED: Code +NOT_FOUND: Code +ALREADY_EXISTS: Code +PERMISSION_DENIED: Code +UNAUTHENTICATED: Code +RESOURCE_EXHAUSTED: Code +FAILED_PRECONDITION: Code +ABORTED: Code +OUT_OF_RANGE: Code +UNIMPLEMENTED: Code +INTERNAL: Code +UNAVAILABLE: Code +DATA_LOSS: Code diff --git a/src/buildstream/_protos/google/rpc/code_pb2_grpc.py b/src/buildstream/_protos/google/rpc/code_pb2_grpc.py index 2daafffeb..1a1ef383c 100644 --- a/src/buildstream/_protos/google/rpc/code_pb2_grpc.py +++ b/src/buildstream/_protos/google/rpc/code_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in google/rpc/code_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/src/buildstream/_protos/google/rpc/status_pb2.py b/src/buildstream/_protos/google/rpc/status_pb2.py index d3388b00f..d89b20312 100644 --- a/src/buildstream/_protos/google/rpc/status_pb2.py +++ b/src/buildstream/_protos/google/rpc/status_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: google/rpc/status.proto +# Protobuf Python Version: 5.28.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 1, + '', + 'google/rpc/status.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,20 +27,12 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/rpc/status.proto\x12\ngoogle.rpc\x1a\x19google/protobuf/any.proto\"N\n\x06Status\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyB^\n\x0e\x63om.google.rpcB\x0bStatusProtoP\x01Z7google.golang.org/genproto/googleapis/rpc/status;status\xa2\x02\x03RPCb\x06proto3') - - -_STATUS = DESCRIPTOR.message_types_by_name['Status'] -Status = _reflection.GeneratedProtocolMessageType('Status', (_message.Message,), { - 'DESCRIPTOR' : _STATUS, - '__module__' : 'google.rpc.status_pb2' - # @@protoc_insertion_point(class_scope:google.rpc.Status) - }) -_sym_db.RegisterMessage(Status) - -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\242\002\003RPC' - _STATUS._serialized_start=66 - _STATUS._serialized_end=144 +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.rpc.status_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\242\002\003RPC' + _globals['_STATUS']._serialized_start=66 + _globals['_STATUS']._serialized_end=144 # @@protoc_insertion_point(module_scope) diff --git a/src/buildstream/_protos/google/rpc/status_pb2.pyi b/src/buildstream/_protos/google/rpc/status_pb2.pyi new file mode 100644 index 000000000..065622382 --- /dev/null +++ b/src/buildstream/_protos/google/rpc/status_pb2.pyi @@ -0,0 +1,17 @@ +from google.protobuf import any_pb2 as _any_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class Status(_message.Message): + __slots__ = ("code", "message", "details") + CODE_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + DETAILS_FIELD_NUMBER: _ClassVar[int] + code: int + message: str + details: _containers.RepeatedCompositeFieldContainer[_any_pb2.Any] + def __init__(self, code: _Optional[int] = ..., message: _Optional[str] = ..., details: _Optional[_Iterable[_Union[_any_pb2.Any, _Mapping]]] = ...) -> None: ... diff --git a/src/buildstream/_protos/google/rpc/status_pb2_grpc.py b/src/buildstream/_protos/google/rpc/status_pb2_grpc.py index 2daafffeb..da039705c 100644 --- a/src/buildstream/_protos/google/rpc/status_pb2_grpc.py +++ b/src/buildstream/_protos/google/rpc/status_pb2_grpc.py @@ -1,4 +1,24 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc +import warnings + +GRPC_GENERATED_VERSION = '1.68.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in google/rpc/status_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/src/buildstream/_remotespec.py b/src/buildstream/_remotespec.py index e9870cbae..3c9aa2fa3 100644 --- a/src/buildstream/_remotespec.py +++ b/src/buildstream/_remotespec.py @@ -140,6 +140,9 @@ def __hash__(self) -> int: self.access_token_file, self.access_token_reload_interval, self.keepalive_time, + self.retry_limit, + self.retry_delay, + self.request_timeout, ) ) @@ -195,6 +198,30 @@ def keepalive_time(self) -> Optional[int]: return self._connection_config.get_int("keepalive-time", None) return None + # grpc retry limit + # + @property + def retry_limit(self) -> Optional[int]: + if self._connection_config: + return self._connection_config.get_int("retry-limit", None) + return None + + # grpc retry delay in milliseconds + # + @property + def retry_delay(self) -> Optional[int]: + if self._connection_config: + return self._connection_config.get_int("retry-delay", None) + return None + + # grpc request timeout in seconds + # + @property + def request_timeout(self) -> Optional[int]: + if self._connection_config: + return self._connection_config.get_int("request-timeout", None) + return None + # open_channel() # # Opens a gRPC channel based on this spec. @@ -234,6 +261,12 @@ def to_localcas_remote(self, remote): remote.access_token_reload_interval.FromSeconds(self.access_token_reload_interval * 60) if self.keepalive_time is not None: remote.keepalive_time.FromSeconds(self.keepalive_time) + if self.retry_limit is not None: + remote.retry_limit = self.retry_limit + if self.retry_delay is not None: + remote.retry_delay.FromMilliseconds(self.retry_delay) + if self.request_timeout is not None: + remote.request_timeout.FromSeconds(self.request_timeout) # new_from_node(): #