summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSander Striker <s.striker@striker.nl>2020-01-28 11:18:36 +0100
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2020-08-19 10:10:04 +0000
commita0f474604ce1850369b01137c02cffba91150e98 (patch)
treef7d8ee2d9330a3893678f503da973bd2a9ca5f95
parent74bb01844d016c005fe20b4b6ddcbb5d96db8aed (diff)
downloadbuildstream-a0f474604ce1850369b01137c02cffba91150e98.tar.gz
Add generated python protobuffer files Remote Asset API
-rw-r--r--buildstream/_protos/build/bazel/remote/asset/__init__.py0
-rw-r--r--buildstream/_protos/build/bazel/remote/asset/v1/__init__.py0
-rw-r--r--buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py666
-rw-r--r--buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py324
4 files changed, 990 insertions, 0 deletions
diff --git a/buildstream/_protos/build/bazel/remote/asset/__init__.py b/buildstream/_protos/build/bazel/remote/asset/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/buildstream/_protos/build/bazel/remote/asset/__init__.py
diff --git a/buildstream/_protos/build/bazel/remote/asset/v1/__init__.py b/buildstream/_protos/build/bazel/remote/asset/v1/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/buildstream/_protos/build/bazel/remote/asset/v1/__init__.py
diff --git a/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py b/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py
new file mode 100644
index 000000000..c40df6434
--- /dev/null
+++ b/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py
@@ -0,0 +1,666 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: build/bazel/remote/asset/v1/remote_asset.proto
+
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+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.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
+from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
+from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
+from buildstream._protos.google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+ name='build/bazel/remote/asset/v1/remote_asset.proto',
+ package='build.bazel.remote.asset.v1',
+ syntax='proto3',
+ serialized_options=b'\n\033build.bazel.remote.asset.v1B\020RemoteAssetProtoP\001Z\013remoteasset\242\002\002RA\252\002\033Build.Bazel.Remote.Asset.v1',
+ serialized_pb=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\"\xdc\x01\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\"\xee\x01\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\"\xe1\x01\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\"\xfd\x01\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\"\xeb\x02\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\"\x12\n\x10PushBlobResponse\"\xfa\x02\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\"\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*Ba\n\x1b\x62uild.bazel.remote.asset.v1B\x10RemoteAssetProtoP\x01Z\x0bremoteasset\xa2\x02\x02RA\xaa\x02\x1b\x42uild.Bazel.Remote.Asset.v1b\x06proto3'
+ ,
+ dependencies=[build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.DESCRIPTOR,google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,])
+
+
+
+
+_QUALIFIER = _descriptor.Descriptor(
+ name='Qualifier',
+ full_name='build.bazel.remote.asset.v1.Qualifier',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='name', full_name='build.bazel.remote.asset.v1.Qualifier.name', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"".decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='value', full_name='build.bazel.remote.asset.v1.Qualifier.value', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"".decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=255,
+ serialized_end=295,
+)
+
+
+_FETCHBLOBREQUEST = _descriptor.Descriptor(
+ name='FetchBlobRequest',
+ full_name='build.bazel.remote.asset.v1.FetchBlobRequest',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='instance_name', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.instance_name', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"".decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='timeout', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.timeout', index=1,
+ number=2, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='oldest_content_accepted', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.oldest_content_accepted', index=2,
+ number=3, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='uris', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.uris', index=3,
+ number=4, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='qualifiers', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.qualifiers', index=4,
+ number=5, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=298,
+ serialized_end=518,
+)
+
+
+_FETCHBLOBRESPONSE = _descriptor.Descriptor(
+ name='FetchBlobResponse',
+ full_name='build.bazel.remote.asset.v1.FetchBlobResponse',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.status', index=0,
+ number=1, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='uri', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.uri', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"".decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='qualifiers', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.qualifiers', index=2,
+ number=3, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='expires_at', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.expires_at', index=3,
+ number=4, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='blob_digest', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.blob_digest', index=4,
+ number=5, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=521,
+ serialized_end=759,
+)
+
+
+_FETCHDIRECTORYREQUEST = _descriptor.Descriptor(
+ name='FetchDirectoryRequest',
+ full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='instance_name', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.instance_name', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"".decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='timeout', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.timeout', index=1,
+ number=2, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='oldest_content_accepted', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.oldest_content_accepted', index=2,
+ number=3, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='uris', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.uris', index=3,
+ number=4, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='qualifiers', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.qualifiers', index=4,
+ number=5, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=762,
+ serialized_end=987,
+)
+
+
+_FETCHDIRECTORYRESPONSE = _descriptor.Descriptor(
+ name='FetchDirectoryResponse',
+ full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='status', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.status', index=0,
+ number=1, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='uri', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.uri', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"".decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='qualifiers', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.qualifiers', index=2,
+ number=3, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='expires_at', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.expires_at', index=3,
+ number=4, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='root_directory_digest', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.root_directory_digest', index=4,
+ number=5, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=990,
+ serialized_end=1243,
+)
+
+
+_PUSHBLOBREQUEST = _descriptor.Descriptor(
+ name='PushBlobRequest',
+ full_name='build.bazel.remote.asset.v1.PushBlobRequest',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='instance_name', full_name='build.bazel.remote.asset.v1.PushBlobRequest.instance_name', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"".decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='uris', full_name='build.bazel.remote.asset.v1.PushBlobRequest.uris', index=1,
+ number=2, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='qualifiers', full_name='build.bazel.remote.asset.v1.PushBlobRequest.qualifiers', index=2,
+ number=3, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='expire_at', full_name='build.bazel.remote.asset.v1.PushBlobRequest.expire_at', index=3,
+ number=4, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='blob_digest', full_name='build.bazel.remote.asset.v1.PushBlobRequest.blob_digest', index=4,
+ number=5, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='references_blobs', full_name='build.bazel.remote.asset.v1.PushBlobRequest.references_blobs', index=5,
+ number=6, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='references_directories', full_name='build.bazel.remote.asset.v1.PushBlobRequest.references_directories', index=6,
+ number=7, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1246,
+ serialized_end=1609,
+)
+
+
+_PUSHBLOBRESPONSE = _descriptor.Descriptor(
+ name='PushBlobResponse',
+ full_name='build.bazel.remote.asset.v1.PushBlobResponse',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1611,
+ serialized_end=1629,
+)
+
+
+_PUSHDIRECTORYREQUEST = _descriptor.Descriptor(
+ name='PushDirectoryRequest',
+ full_name='build.bazel.remote.asset.v1.PushDirectoryRequest',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='instance_name', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.instance_name', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=b"".decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='uris', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.uris', index=1,
+ number=2, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='qualifiers', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.qualifiers', index=2,
+ number=3, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='expire_at', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.expire_at', index=3,
+ number=4, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='root_directory_digest', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.root_directory_digest', index=4,
+ number=5, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='references_blobs', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.references_blobs', index=5,
+ number=6, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='references_directories', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.references_directories', index=6,
+ number=7, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1632,
+ serialized_end=2010,
+)
+
+
+_PUSHDIRECTORYRESPONSE = _descriptor.Descriptor(
+ name='PushDirectoryResponse',
+ full_name='build.bazel.remote.asset.v1.PushDirectoryResponse',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=2012,
+ serialized_end=2035,
+)
+
+_FETCHBLOBREQUEST.fields_by_name['timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
+_FETCHBLOBREQUEST.fields_by_name['oldest_content_accepted'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_FETCHBLOBREQUEST.fields_by_name['qualifiers'].message_type = _QUALIFIER
+_FETCHBLOBRESPONSE.fields_by_name['status'].message_type = google_dot_rpc_dot_status__pb2._STATUS
+_FETCHBLOBRESPONSE.fields_by_name['qualifiers'].message_type = _QUALIFIER
+_FETCHBLOBRESPONSE.fields_by_name['expires_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_FETCHBLOBRESPONSE.fields_by_name['blob_digest'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST
+_FETCHDIRECTORYREQUEST.fields_by_name['timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
+_FETCHDIRECTORYREQUEST.fields_by_name['oldest_content_accepted'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_FETCHDIRECTORYREQUEST.fields_by_name['qualifiers'].message_type = _QUALIFIER
+_FETCHDIRECTORYRESPONSE.fields_by_name['status'].message_type = google_dot_rpc_dot_status__pb2._STATUS
+_FETCHDIRECTORYRESPONSE.fields_by_name['qualifiers'].message_type = _QUALIFIER
+_FETCHDIRECTORYRESPONSE.fields_by_name['expires_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_FETCHDIRECTORYRESPONSE.fields_by_name['root_directory_digest'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST
+_PUSHBLOBREQUEST.fields_by_name['qualifiers'].message_type = _QUALIFIER
+_PUSHBLOBREQUEST.fields_by_name['expire_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_PUSHBLOBREQUEST.fields_by_name['blob_digest'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST
+_PUSHBLOBREQUEST.fields_by_name['references_blobs'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST
+_PUSHBLOBREQUEST.fields_by_name['references_directories'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST
+_PUSHDIRECTORYREQUEST.fields_by_name['qualifiers'].message_type = _QUALIFIER
+_PUSHDIRECTORYREQUEST.fields_by_name['expire_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_PUSHDIRECTORYREQUEST.fields_by_name['root_directory_digest'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST
+_PUSHDIRECTORYREQUEST.fields_by_name['references_blobs'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST
+_PUSHDIRECTORYREQUEST.fields_by_name['references_directories'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST
+DESCRIPTOR.message_types_by_name['Qualifier'] = _QUALIFIER
+DESCRIPTOR.message_types_by_name['FetchBlobRequest'] = _FETCHBLOBREQUEST
+DESCRIPTOR.message_types_by_name['FetchBlobResponse'] = _FETCHBLOBRESPONSE
+DESCRIPTOR.message_types_by_name['FetchDirectoryRequest'] = _FETCHDIRECTORYREQUEST
+DESCRIPTOR.message_types_by_name['FetchDirectoryResponse'] = _FETCHDIRECTORYRESPONSE
+DESCRIPTOR.message_types_by_name['PushBlobRequest'] = _PUSHBLOBREQUEST
+DESCRIPTOR.message_types_by_name['PushBlobResponse'] = _PUSHBLOBRESPONSE
+DESCRIPTOR.message_types_by_name['PushDirectoryRequest'] = _PUSHDIRECTORYREQUEST
+DESCRIPTOR.message_types_by_name['PushDirectoryResponse'] = _PUSHDIRECTORYRESPONSE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+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)
+
+
+DESCRIPTOR._options = None
+
+_FETCH = _descriptor.ServiceDescriptor(
+ name='Fetch',
+ full_name='build.bazel.remote.asset.v1.Fetch',
+ file=DESCRIPTOR,
+ index=0,
+ serialized_options=None,
+ serialized_start=2038,
+ serialized_end=2387,
+ methods=[
+ _descriptor.MethodDescriptor(
+ name='FetchBlob',
+ full_name='build.bazel.remote.asset.v1.Fetch.FetchBlob',
+ index=0,
+ containing_service=None,
+ input_type=_FETCHBLOBREQUEST,
+ output_type=_FETCHBLOBRESPONSE,
+ serialized_options=b'\202\323\344\223\002,\"\'/v1/{instance_name=**}/assets:fetchBlob:\001*',
+ ),
+ _descriptor.MethodDescriptor(
+ name='FetchDirectory',
+ full_name='build.bazel.remote.asset.v1.Fetch.FetchDirectory',
+ index=1,
+ containing_service=None,
+ input_type=_FETCHDIRECTORYREQUEST,
+ output_type=_FETCHDIRECTORYRESPONSE,
+ serialized_options=b'\202\323\344\223\0021\",/v1/{instance_name=**}/assets:fetchDirectory:\001*',
+ ),
+])
+_sym_db.RegisterServiceDescriptor(_FETCH)
+
+DESCRIPTOR.services_by_name['Fetch'] = _FETCH
+
+
+_PUSH = _descriptor.ServiceDescriptor(
+ name='Push',
+ full_name='build.bazel.remote.asset.v1.Push',
+ file=DESCRIPTOR,
+ index=1,
+ serialized_options=None,
+ serialized_start=2390,
+ serialized_end=2730,
+ methods=[
+ _descriptor.MethodDescriptor(
+ name='PushBlob',
+ full_name='build.bazel.remote.asset.v1.Push.PushBlob',
+ index=0,
+ containing_service=None,
+ input_type=_PUSHBLOBREQUEST,
+ output_type=_PUSHBLOBRESPONSE,
+ serialized_options=b'\202\323\344\223\002+\"&/v1/{instance_name=**}/assets:pushBlob:\001*',
+ ),
+ _descriptor.MethodDescriptor(
+ name='PushDirectory',
+ full_name='build.bazel.remote.asset.v1.Push.PushDirectory',
+ index=1,
+ containing_service=None,
+ input_type=_PUSHDIRECTORYREQUEST,
+ output_type=_PUSHDIRECTORYRESPONSE,
+ serialized_options=b'\202\323\344\223\0020\"+/v1/{instance_name=**}/assets:pushDirectory:\001*',
+ ),
+])
+_sym_db.RegisterServiceDescriptor(_PUSH)
+
+DESCRIPTOR.services_by_name['Push'] = _PUSH
+
+# @@protoc_insertion_point(module_scope)
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)