summaryrefslogtreecommitdiff
path: root/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py')
-rw-r--r--buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py324
1 files changed, 324 insertions, 0 deletions
diff --git a/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py b/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py
new file mode 100644
index 000000000..38d31a2a1
--- /dev/null
+++ b/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py
@@ -0,0 +1,324 @@
+# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
+import grpc
+
+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
+
+
+class FetchStub(object):
+ """The Fetch service resolves or fetches assets referenced by URI and
+ Qualifiers, returning a Digest for the content in
+ [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
+
+ As with other services in the Remote Execution API, any call may return an
+ error with a [RetryInfo][google.rpc.RetryInfo] error detail providing
+ information about when the client should retry the request; clients SHOULD
+ respect the information provided.
+ """
+
+ def __init__(self, channel):
+ """Constructor.
+
+ Args:
+ channel: A grpc.Channel.
+ """
+ self.FetchBlob = channel.unary_unary(
+ '/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,
+ )
+ 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,
+ )
+
+
+class FetchServicer(object):
+ """The Fetch service resolves or fetches assets referenced by URI and
+ Qualifiers, returning a Digest for the content in
+ [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
+
+ As with other services in the Remote Execution API, any call may return an
+ error with a [RetryInfo][google.rpc.RetryInfo] error detail providing
+ information about when the client should retry the request; clients SHOULD
+ respect the information provided.
+ """
+
+ def FetchBlob(self, request, context):
+ """Resolve or fetch referenced assets, making them available to the caller and
+ other consumers in the [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
+
+ Servers *MAY* fetch content that they do not already have cached, for any
+ URLs they support.
+
+ Servers *SHOULD* ensure that referenced files are present in the CAS at the
+ time of the response, and (if supported) that they will remain available
+ for a reasonable period of time. The TTLs of the referenced blobs *SHOULD*
+ be increased if necessary and applicable.
+ In the event that a client receives a reference to content that is no
+ longer present, it *MAY* re-issue the request with
+ `oldest_content_accepted` set to a more recent timestamp than the original
+ attempt, to induce a re-fetch from origin.
+
+ Servers *MAY* cache fetched content and reuse it for subsequent requests,
+ subject to `oldest_content_accepted`.
+
+ Servers *MAY* support the complementary [Push][build.bazel.remote.asset.v1.Push]
+ API and allow content to be directly inserted for use in future fetch
+ responses.
+
+ Servers *MUST* ensure Fetch'd content matches all the specified
+ qualifiers except in the case of previously Push'd resources, for which
+ the server *MAY* trust the pushing client to have set the qualifiers
+ correctly, without validation.
+
+ Servers not implementing the complementary [Push][build.bazel.remote.asset.v1.Push]
+ API *MUST* reject requests containing qualifiers it does not support.
+
+ Servers *MAY* transform assets as part of the fetch. For example a
+ tarball fetched by [FetchDirectory][build.bazel.remote.asset.v1.Fetch.FetchDirectory]
+ might be unpacked, or a Git repository
+ fetched by [FetchBlob][build.bazel.remote.asset.v1.Fetch.FetchBlob]
+ might be passed through `git-archive`.
+
+ Errors handling the requested assets will be returned as gRPC Status errors
+ here; errors outside the server's control will be returned inline in the
+ `status` field of the response (see comment there for details).
+ The possible RPC errors include:
+ * `INVALID_ARGUMENT`: One or more arguments were invalid, such as a
+ qualifier that is not supported by the server.
+ * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to
+ perform the requested operation. The client may retry after a delay.
+ * `UNAVAILABLE`: Due to a transient condition the operation could not be
+ completed. The client should retry.
+ * `INTERNAL`: An internal error occurred while performing the operation.
+ The client should retry.
+ * `DEADLINE_EXCEEDED`: The fetch could not be completed within the given
+ RPC deadline. The client should retry for at least as long as the value
+ provided in `timeout` field of the request.
+
+ In the case of unsupported qualifiers, the server *SHOULD* additionally
+ send a [BadRequest][google.rpc.BadRequest] error detail where, for each
+ unsupported qualifier, there is a `FieldViolation` with a `field` of
+ `qualifiers.name` and a `description` of `"{qualifier}" not supported`
+ indicating the name of the unsupported qualifier.
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def FetchDirectory(self, request, context):
+ """Missing associated documentation comment in .proto file"""
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+
+def add_FetchServicer_to_server(servicer, server):
+ rpc_method_handlers = {
+ 'FetchBlob': grpc.unary_unary_rpc_method_handler(
+ servicer.FetchBlob,
+ request_deserializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchBlobRequest.FromString,
+ response_serializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchBlobResponse.SerializeToString,
+ ),
+ 'FetchDirectory': grpc.unary_unary_rpc_method_handler(
+ servicer.FetchDirectory,
+ request_deserializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchDirectoryRequest.FromString,
+ response_serializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchDirectoryResponse.SerializeToString,
+ ),
+ }
+ generic_handler = grpc.method_handlers_generic_handler(
+ 'build.bazel.remote.asset.v1.Fetch', rpc_method_handlers)
+ server.add_generic_rpc_handlers((generic_handler,))
+
+
+ # This class is part of an EXPERIMENTAL API.
+class Fetch(object):
+ """The Fetch service resolves or fetches assets referenced by URI and
+ Qualifiers, returning a Digest for the content in
+ [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
+
+ As with other services in the Remote Execution API, any call may return an
+ error with a [RetryInfo][google.rpc.RetryInfo] error detail providing
+ information about when the client should retry the request; clients SHOULD
+ respect the information provided.
+ """
+
+ @staticmethod
+ def FetchBlob(request,
+ target,
+ options=(),
+ channel_credentials=None,
+ call_credentials=None,
+ compression=None,
+ wait_for_ready=None,
+ timeout=None,
+ metadata=None):
+ 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,
+ call_credentials, compression, wait_for_ready, timeout, metadata)
+
+ @staticmethod
+ def FetchDirectory(request,
+ target,
+ options=(),
+ channel_credentials=None,
+ call_credentials=None,
+ compression=None,
+ wait_for_ready=None,
+ timeout=None,
+ metadata=None):
+ 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,
+ call_credentials, compression, wait_for_ready, timeout, metadata)
+
+
+class PushStub(object):
+ """The Push service is complementary to the Fetch, and allows for
+ associating contents of URLs to be returned in future Fetch API calls.
+
+ As with other services in the Remote Execution API, any call may return an
+ error with a [RetryInfo][google.rpc.RetryInfo] error detail providing
+ information about when the client should retry the request; clients SHOULD
+ respect the information provided.
+ """
+
+ def __init__(self, channel):
+ """Constructor.
+
+ Args:
+ channel: A grpc.Channel.
+ """
+ self.PushBlob = channel.unary_unary(
+ '/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,
+ )
+ 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,
+ )
+
+
+class PushServicer(object):
+ """The Push service is complementary to the Fetch, and allows for
+ associating contents of URLs to be returned in future Fetch API calls.
+
+ As with other services in the Remote Execution API, any call may return an
+ error with a [RetryInfo][google.rpc.RetryInfo] error detail providing
+ information about when the client should retry the request; clients SHOULD
+ respect the information provided.
+ """
+
+ def PushBlob(self, request, context):
+ """These APIs associate the identifying information of a resource, as
+ indicated by URI and optionally Qualifiers, with content available in the
+ CAS. For example, associating a repository url and a commit id with a
+ Directory Digest.
+
+ Servers *SHOULD* only allow trusted clients to associate content, and *MAY*
+ only allow certain URIs to be pushed.
+
+ Clients *MUST* ensure associated content is available in CAS prior to
+ pushing.
+
+ Clients *MUST* ensure the Qualifiers listed correctly match the contents,
+ and Servers *MAY* trust these values without validation.
+ Fetch servers *MAY* require exact match of all qualifiers when returning
+ content previously pushed, or allow fetching content with only a subset of
+ the qualifiers specified on Push.
+
+ Clients can specify expiration information that the server *SHOULD*
+ respect. Subsequent requests can be used to alter the expiration time.
+
+ A minimal compliant Fetch implementation may support only Push'd content
+ and return `NOT_FOUND` for any resource that was not pushed first.
+ Alternatively, a compliant implementation may choose to not support Push
+ and only return resources that can be Fetch'd from origin.
+
+ Errors will be returned as gRPC Status errors.
+ The possible RPC errors include:
+ * `INVALID_ARGUMENT`: One or more arguments to the RPC were invalid.
+ * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to
+ perform the requested operation. The client may retry after a delay.
+ * `UNAVAILABLE`: Due to a transient condition the operation could not be
+ completed. The client should retry.
+ * `INTERNAL`: An internal error occurred while performing the operation.
+ The client should retry.
+ """
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+ def PushDirectory(self, request, context):
+ """Missing associated documentation comment in .proto file"""
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+ context.set_details('Method not implemented!')
+ raise NotImplementedError('Method not implemented!')
+
+
+def add_PushServicer_to_server(servicer, server):
+ rpc_method_handlers = {
+ 'PushBlob': grpc.unary_unary_rpc_method_handler(
+ servicer.PushBlob,
+ request_deserializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushBlobRequest.FromString,
+ response_serializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushBlobResponse.SerializeToString,
+ ),
+ 'PushDirectory': grpc.unary_unary_rpc_method_handler(
+ servicer.PushDirectory,
+ request_deserializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushDirectoryRequest.FromString,
+ response_serializer=build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushDirectoryResponse.SerializeToString,
+ ),
+ }
+ generic_handler = grpc.method_handlers_generic_handler(
+ 'build.bazel.remote.asset.v1.Push', rpc_method_handlers)
+ server.add_generic_rpc_handlers((generic_handler,))
+
+
+ # This class is part of an EXPERIMENTAL API.
+class Push(object):
+ """The Push service is complementary to the Fetch, and allows for
+ associating contents of URLs to be returned in future Fetch API calls.
+
+ As with other services in the Remote Execution API, any call may return an
+ error with a [RetryInfo][google.rpc.RetryInfo] error detail providing
+ information about when the client should retry the request; clients SHOULD
+ respect the information provided.
+ """
+
+ @staticmethod
+ def PushBlob(request,
+ target,
+ options=(),
+ channel_credentials=None,
+ call_credentials=None,
+ compression=None,
+ wait_for_ready=None,
+ timeout=None,
+ metadata=None):
+ 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,
+ call_credentials, compression, wait_for_ready, timeout, metadata)
+
+ @staticmethod
+ def PushDirectory(request,
+ target,
+ options=(),
+ channel_credentials=None,
+ call_credentials=None,
+ compression=None,
+ wait_for_ready=None,
+ timeout=None,
+ metadata=None):
+ 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,
+ call_credentials, compression, wait_for_ready, timeout, metadata)