diff --git a/API b/API index 28b9000..542667b 160000 --- a/API +++ b/API @@ -1 +1 @@ -Subproject commit 28b9000aa926ff215ee9e084c9ac64f06d3856b6 +Subproject commit 542667b5b78b7b3b9ae6b1f3e4f741e475013bb9 diff --git a/aruna/api/dataproxy/services/v2/bundler_service.pb.gw.go b/aruna/api/dataproxy/services/v2/bundler_service.pb.gw.go new file mode 100644 index 0000000..0aa0bbb --- /dev/null +++ b/aruna/api/dataproxy/services/v2/bundler_service.pb.gw.go @@ -0,0 +1,256 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/dataproxy/services/v2/bundler_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_BundlerService_CreateBundle_0(ctx context.Context, marshaler runtime.Marshaler, client BundlerServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateBundleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateBundle(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_BundlerService_CreateBundle_0(ctx context.Context, marshaler runtime.Marshaler, server BundlerServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateBundleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateBundle(ctx, &protoReq) + return msg, metadata, err + +} + +func request_BundlerService_DeleteBundle_0(ctx context.Context, marshaler runtime.Marshaler, client BundlerServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteBundleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteBundle(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_BundlerService_DeleteBundle_0(ctx context.Context, marshaler runtime.Marshaler, server BundlerServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteBundleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteBundle(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterBundlerServiceHandlerServer registers the http handlers for service BundlerService to "mux". +// UnaryRPC :call BundlerServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterBundlerServiceHandlerFromEndpoint instead. +func RegisterBundlerServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server BundlerServiceServer) error { + + mux.Handle("POST", pattern_BundlerService_CreateBundle_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.BundlerService/CreateBundle", runtime.WithHTTPPathPattern("/v2/bundle")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_BundlerService_CreateBundle_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_BundlerService_CreateBundle_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_BundlerService_DeleteBundle_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.BundlerService/DeleteBundle", runtime.WithHTTPPathPattern("/v2/bundle")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_BundlerService_DeleteBundle_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_BundlerService_DeleteBundle_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterBundlerServiceHandlerFromEndpoint is same as RegisterBundlerServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterBundlerServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterBundlerServiceHandler(ctx, mux, conn) +} + +// RegisterBundlerServiceHandler registers the http handlers for service BundlerService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterBundlerServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterBundlerServiceHandlerClient(ctx, mux, NewBundlerServiceClient(conn)) +} + +// RegisterBundlerServiceHandlerClient registers the http handlers for service BundlerService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "BundlerServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "BundlerServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "BundlerServiceClient" to call the correct interceptors. +func RegisterBundlerServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client BundlerServiceClient) error { + + mux.Handle("POST", pattern_BundlerService_CreateBundle_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.BundlerService/CreateBundle", runtime.WithHTTPPathPattern("/v2/bundle")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_BundlerService_CreateBundle_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_BundlerService_CreateBundle_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_BundlerService_DeleteBundle_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.BundlerService/DeleteBundle", runtime.WithHTTPPathPattern("/v2/bundle")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_BundlerService_DeleteBundle_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_BundlerService_DeleteBundle_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_BundlerService_CreateBundle_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "bundle"}, "")) + + pattern_BundlerService_DeleteBundle_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "bundle"}, "")) +) + +var ( + forward_BundlerService_CreateBundle_0 = runtime.ForwardResponseMessage + + forward_BundlerService_DeleteBundle_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/dataproxy/services/v2/bundler_service_pb2.py b/aruna/api/dataproxy/services/v2/bundler_service_pb2.py new file mode 100644 index 0000000..891f855 --- /dev/null +++ b/aruna/api/dataproxy/services/v2/bundler_service_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/dataproxy/services/v2/bundler_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5aruna/api/dataproxy/services/v2/bundler_service.proto\x12\x1f\x61runa.api.dataproxy.services.v2\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto\"\x8d\x01\n\x13\x43reateBundleRequest\x12\x1f\n\x0bresource_id\x18\x01 \x03(\tR\nresourceId\x12\x1a\n\x08\x66ilename\x18\x02 \x01(\tR\x08\x66ilename\x12\x39\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"R\n\x14\x43reateBundleResponse\x12\x1b\n\tbundle_id\x18\x01 \x01(\tR\x08\x62undleId\x12\x1d\n\nbundle_url\x18\x02 \x01(\tR\tbundleUrl\"2\n\x13\x44\x65leteBundleRequest\x12\x1b\n\tbundle_id\x18\x01 \x01(\tR\x08\x62undleId\"\x16\n\x14\x44\x65leteBundleResponse2\xba\x02\n\x0e\x42undlerService\x12\x92\x01\n\x0c\x43reateBundle\x12\x34.aruna.api.dataproxy.services.v2.CreateBundleRequest\x1a\x35.aruna.api.dataproxy.services.v2.CreateBundleResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/v2/bundle:\x01*\x12\x92\x01\n\x0c\x44\x65leteBundle\x12\x34.aruna.api.dataproxy.services.v2.DeleteBundleRequest\x1a\x35.aruna.api.dataproxy.services.v2.DeleteBundleResponse\"\x15\x82\xd3\xe4\x93\x02\x0f*\n/v2/bundle:\x01*B\x94\x01\n@com.github.ArunaStorage.java_api.aruna.api.dataproxy.services.v2B\x0e\x42undlerServiceP\x01Z>github.com/ArunaStorage/go-api/aruna/api/dataproxy/services/v2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'aruna.api.dataproxy.services.v2.bundler_service_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n@com.github.ArunaStorage.java_api.aruna.api.dataproxy.services.v2B\016BundlerServiceP\001Z>github.com/ArunaStorage/go-api/aruna/api/dataproxy/services/v2' + _globals['_BUNDLERSERVICE'].methods_by_name['CreateBundle']._options = None + _globals['_BUNDLERSERVICE'].methods_by_name['CreateBundle']._serialized_options = b'\202\323\344\223\002\017\"\n/v2/bundle:\001*' + _globals['_BUNDLERSERVICE'].methods_by_name['DeleteBundle']._options = None + _globals['_BUNDLERSERVICE'].methods_by_name['DeleteBundle']._serialized_options = b'\202\323\344\223\002\017*\n/v2/bundle:\001*' + _globals['_CREATEBUNDLEREQUEST']._serialized_start=154 + _globals['_CREATEBUNDLEREQUEST']._serialized_end=295 + _globals['_CREATEBUNDLERESPONSE']._serialized_start=297 + _globals['_CREATEBUNDLERESPONSE']._serialized_end=379 + _globals['_DELETEBUNDLEREQUEST']._serialized_start=381 + _globals['_DELETEBUNDLEREQUEST']._serialized_end=431 + _globals['_DELETEBUNDLERESPONSE']._serialized_start=433 + _globals['_DELETEBUNDLERESPONSE']._serialized_end=455 + _globals['_BUNDLERSERVICE']._serialized_start=458 + _globals['_BUNDLERSERVICE']._serialized_end=772 +# @@protoc_insertion_point(module_scope) diff --git a/aruna/api/dataproxy/services/v2/bundler_service_pb2.pyi b/aruna/api/dataproxy/services/v2/bundler_service_pb2.pyi new file mode 100644 index 0000000..5f17e95 --- /dev/null +++ b/aruna/api/dataproxy/services/v2/bundler_service_pb2.pyi @@ -0,0 +1,36 @@ +from google.protobuf import timestamp_pb2 as _timestamp_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 CreateBundleRequest(_message.Message): + __slots__ = ["resource_id", "filename", "expires_at"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + FILENAME_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + resource_id: _containers.RepeatedScalarFieldContainer[str] + filename: str + expires_at: _timestamp_pb2.Timestamp + def __init__(self, resource_id: _Optional[_Iterable[str]] = ..., filename: _Optional[str] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class CreateBundleResponse(_message.Message): + __slots__ = ["bundle_id", "bundle_url"] + BUNDLE_ID_FIELD_NUMBER: _ClassVar[int] + BUNDLE_URL_FIELD_NUMBER: _ClassVar[int] + bundle_id: str + bundle_url: str + def __init__(self, bundle_id: _Optional[str] = ..., bundle_url: _Optional[str] = ...) -> None: ... + +class DeleteBundleRequest(_message.Message): + __slots__ = ["bundle_id"] + BUNDLE_ID_FIELD_NUMBER: _ClassVar[int] + bundle_id: str + def __init__(self, bundle_id: _Optional[str] = ...) -> None: ... + +class DeleteBundleResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... diff --git a/aruna/api/dataproxy/services/v2/bundler_service_pb2_grpc.py b/aruna/api/dataproxy/services/v2/bundler_service_pb2_grpc.py new file mode 100644 index 0000000..aff4eb9 --- /dev/null +++ b/aruna/api/dataproxy/services/v2/bundler_service_pb2_grpc.py @@ -0,0 +1,99 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.dataproxy.services.v2 import bundler_service_pb2 as aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2 + + +class BundlerServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateBundle = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.BundlerService/CreateBundle', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.CreateBundleRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.CreateBundleResponse.FromString, + ) + self.DeleteBundle = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.BundlerService/DeleteBundle', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.DeleteBundleRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.DeleteBundleResponse.FromString, + ) + + +class BundlerServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def CreateBundle(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 DeleteBundle(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_BundlerServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateBundle': grpc.unary_unary_rpc_method_handler( + servicer.CreateBundle, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.CreateBundleRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.CreateBundleResponse.SerializeToString, + ), + 'DeleteBundle': grpc.unary_unary_rpc_method_handler( + servicer.DeleteBundle, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.DeleteBundleRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.DeleteBundleResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.dataproxy.services.v2.BundlerService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class BundlerService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def CreateBundle(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.BundlerService/CreateBundle', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.CreateBundleRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.CreateBundleResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteBundle(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.BundlerService/DeleteBundle', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.DeleteBundleRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_bundler__service__pb2.DeleteBundleResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/dataproxy/services/v2/dataproxy_service.pb.gw.go b/aruna/api/dataproxy/services/v2/dataproxy_service.pb.gw.go new file mode 100644 index 0000000..87c6069 --- /dev/null +++ b/aruna/api/dataproxy/services/v2/dataproxy_service.pb.gw.go @@ -0,0 +1,428 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/dataproxy/services/v2/dataproxy_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_DataproxyUserService_GetCredentials_0(ctx context.Context, marshaler runtime.Marshaler, client DataproxyUserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCredentialsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetCredentials(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DataproxyUserService_GetCredentials_0(ctx context.Context, marshaler runtime.Marshaler, server DataproxyUserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCredentialsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetCredentials(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DataproxyUserService_PushReplica_0(ctx context.Context, marshaler runtime.Marshaler, client DataproxyUserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PushReplicaRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PushReplica(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DataproxyUserService_PushReplica_0(ctx context.Context, marshaler runtime.Marshaler, server DataproxyUserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PushReplicaRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PushReplica(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DataproxyUserService_PullReplica_0(ctx context.Context, marshaler runtime.Marshaler, client DataproxyUserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PullReplicaRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PullReplica(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DataproxyUserService_PullReplica_0(ctx context.Context, marshaler runtime.Marshaler, server DataproxyUserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PullReplicaRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PullReplica(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DataproxyUserService_ReplicationStatus_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_DataproxyUserService_ReplicationStatus_0(ctx context.Context, marshaler runtime.Marshaler, client DataproxyUserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReplicationStatusRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DataproxyUserService_ReplicationStatus_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ReplicationStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DataproxyUserService_ReplicationStatus_0(ctx context.Context, marshaler runtime.Marshaler, server DataproxyUserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReplicationStatusRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DataproxyUserService_ReplicationStatus_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ReplicationStatus(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterDataproxyUserServiceHandlerServer registers the http handlers for service DataproxyUserService to "mux". +// UnaryRPC :call DataproxyUserServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterDataproxyUserServiceHandlerFromEndpoint instead. +func RegisterDataproxyUserServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server DataproxyUserServiceServer) error { + + mux.Handle("POST", pattern_DataproxyUserService_GetCredentials_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.DataproxyUserService/GetCredentials", runtime.WithHTTPPathPattern("/v2/credentials")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DataproxyUserService_GetCredentials_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataproxyUserService_GetCredentials_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DataproxyUserService_PushReplica_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.DataproxyUserService/PushReplica", runtime.WithHTTPPathPattern("/v2/replica/push")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DataproxyUserService_PushReplica_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataproxyUserService_PushReplica_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DataproxyUserService_PullReplica_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.DataproxyUserService/PullReplica", runtime.WithHTTPPathPattern("/v2/replica/pull")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DataproxyUserService_PullReplica_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataproxyUserService_PullReplica_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DataproxyUserService_ReplicationStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.DataproxyUserService/ReplicationStatus", runtime.WithHTTPPathPattern("/v2/replica/status")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DataproxyUserService_ReplicationStatus_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataproxyUserService_ReplicationStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterDataproxyUserServiceHandlerFromEndpoint is same as RegisterDataproxyUserServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterDataproxyUserServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterDataproxyUserServiceHandler(ctx, mux, conn) +} + +// RegisterDataproxyUserServiceHandler registers the http handlers for service DataproxyUserService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterDataproxyUserServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterDataproxyUserServiceHandlerClient(ctx, mux, NewDataproxyUserServiceClient(conn)) +} + +// RegisterDataproxyUserServiceHandlerClient registers the http handlers for service DataproxyUserService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "DataproxyUserServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "DataproxyUserServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "DataproxyUserServiceClient" to call the correct interceptors. +func RegisterDataproxyUserServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client DataproxyUserServiceClient) error { + + mux.Handle("POST", pattern_DataproxyUserService_GetCredentials_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.DataproxyUserService/GetCredentials", runtime.WithHTTPPathPattern("/v2/credentials")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DataproxyUserService_GetCredentials_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataproxyUserService_GetCredentials_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DataproxyUserService_PushReplica_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.DataproxyUserService/PushReplica", runtime.WithHTTPPathPattern("/v2/replica/push")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DataproxyUserService_PushReplica_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataproxyUserService_PushReplica_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DataproxyUserService_PullReplica_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.DataproxyUserService/PullReplica", runtime.WithHTTPPathPattern("/v2/replica/pull")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DataproxyUserService_PullReplica_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataproxyUserService_PullReplica_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DataproxyUserService_ReplicationStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.dataproxy.services.v2.DataproxyUserService/ReplicationStatus", runtime.WithHTTPPathPattern("/v2/replica/status")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DataproxyUserService_ReplicationStatus_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DataproxyUserService_ReplicationStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_DataproxyUserService_GetCredentials_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "credentials"}, "")) + + pattern_DataproxyUserService_PushReplica_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "replica", "push"}, "")) + + pattern_DataproxyUserService_PullReplica_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "replica", "pull"}, "")) + + pattern_DataproxyUserService_ReplicationStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "replica", "status"}, "")) +) + +var ( + forward_DataproxyUserService_GetCredentials_0 = runtime.ForwardResponseMessage + + forward_DataproxyUserService_PushReplica_0 = runtime.ForwardResponseMessage + + forward_DataproxyUserService_PullReplica_0 = runtime.ForwardResponseMessage + + forward_DataproxyUserService_ReplicationStatus_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/dataproxy/services/v2/dataproxy_service_pb2.py b/aruna/api/dataproxy/services/v2/dataproxy_service_pb2.py new file mode 100644 index 0000000..28d155d --- /dev/null +++ b/aruna/api/dataproxy/services/v2/dataproxy_service_pb2.py @@ -0,0 +1,117 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/dataproxy/services/v2/dataproxy_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7aruna/api/dataproxy/services/v2/dataproxy_service.proto\x12\x1f\x61runa.api.dataproxy.services.v2\x1a\x1cgoogle/api/annotations.proto\"[\n\rDataProxyInfo\x12!\n\x0c\x64\x61taproxy_id\x18\x01 \x01(\tR\x0b\x64\x61taproxyId\x12\'\n\x0f\x61vailable_space\x18\x02 \x01(\x03R\x0e\x61vailableSpace\"\x8a\x01\n\x19RequestReplicationRequest\x12\x42\n\x04info\x18\x01 \x01(\x0b\x32..aruna.api.dataproxy.services.v2.DataProxyInfoR\x04info\x12)\n\x10user_initialized\x18\x02 \x01(\x08R\x0fuserInitialized\"\x96\x01\n\x08\x44\x61taInfo\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x12!\n\x0c\x64ownload_url\x18\x02 \x01(\tR\x0b\x64ownloadUrl\x12%\n\x0e\x65ncryption_key\x18\x03 \x01(\tR\rencryptionKey\x12#\n\ris_compressed\x18\x04 \x01(\x08R\x0cisCompressed\"S\n\tDataInfos\x12\x46\n\tdata_info\x18\x01 \x03(\x0b\x32).aruna.api.dataproxy.services.v2.DataInfoR\x08\x64\x61taInfo\"\x89\x01\n\x1aRequestReplicationResponse\x12K\n\ndata_infos\x18\x01 \x01(\x0b\x32*.aruna.api.dataproxy.services.v2.DataInfosH\x00R\tdataInfos\x12\x12\n\x03\x61\x63k\x18\x02 \x01(\x08H\x00R\x03\x61\x63kB\n\n\x08response\"c\n\x16InitReplicationRequest\x12I\n\ndata_infos\x18\x01 \x01(\x0b\x32*.aruna.api.dataproxy.services.v2.DataInfosR\tdataInfos\"+\n\x17InitReplicationResponse\x12\x10\n\x03\x61\x63k\x18\x01 \x01(\x08R\x03\x61\x63k\"\x17\n\x15GetCredentialsRequest\"V\n\x16GetCredentialsResponse\x12\x1d\n\naccess_key\x18\x01 \x01(\tR\taccessKey\x12\x1d\n\nsecret_key\x18\x02 \x01(\tR\tsecretKey\"2\n\x06S3Path\x12\x16\n\x06\x62ucket\x18\x01 \x01(\tR\x06\x62ucket\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\"\xb0\x01\n\x12PushReplicaRequest\x12!\n\x0bresource_id\x18\x01 \x01(\tH\x00R\nresourceId\x12\x42\n\x07s3_path\x18\x02 \x01(\x0b\x32\'.aruna.api.dataproxy.services.v2.S3PathH\x00R\x06s3Path\x12\'\n\x0ftarget_location\x18\x03 \x01(\tR\x0etargetLocationB\n\n\x08resource\"<\n\x13PushReplicaResponse\x12%\n\x0ereplication_id\x18\x01 \x01(\tR\rreplicationId\"\x87\x01\n\x12PullReplicaRequest\x12!\n\x0bresource_id\x18\x01 \x01(\tH\x00R\nresourceId\x12\x42\n\x07s3_path\x18\x02 \x01(\x0b\x32\'.aruna.api.dataproxy.services.v2.S3PathH\x00R\x06s3PathB\n\n\x08resource\"<\n\x13PullReplicaResponse\x12%\n\x0ereplication_id\x18\x01 \x01(\tR\rreplicationId\"A\n\x18ReplicationStatusRequest\x12%\n\x0ereplication_id\x18\x01 \x01(\tR\rreplicationId\"\x81\x01\n\x19ReplicationStatusResponse\x12J\n\x06status\x18\x01 \x01(\x0e\x32\x32.aruna.api.dataproxy.services.v2.ReplicationStatusR\x06status\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"~\n\x0eObjectLocation\x12\x16\n\x06\x62ucket\x18\x01 \x01(\tR\x06\x62ucket\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x1b\n\tupload_id\x18\x03 \x01(\tR\x08uploadId\x12%\n\x0e\x63ontent_length\x18\x04 \x01(\tR\rcontentLength\"s\n\x10PutObjectRequest\x12K\n\x08location\x18\x01 \x01(\x0b\x32/.aruna.api.dataproxy.services.v2.ObjectLocationR\x08location\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\"\x13\n\x11PutObjectResponse\"_\n\x10GetObjectRequest\x12K\n\x08location\x18\x01 \x01(\x0b\x32/.aruna.api.dataproxy.services.v2.ObjectLocationR\x08location\"\'\n\x11GetObjectResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\"`\n\x11HeadObjectRequest\x12K\n\x08location\x18\x01 \x01(\x0b\x32/.aruna.api.dataproxy.services.v2.ObjectLocationR\x08location\"S\n\x12HeadObjectResponse\x12%\n\x0e\x63ontent_length\x18\x01 \x01(\tR\rcontentLength\x12\x16\n\x06\x65xists\x18\x02 \x01(\x08R\x06\x65xists\"i\n\x1aInitMultiPartUploadRequest\x12K\n\x08location\x18\x01 \x01(\x0b\x32/.aruna.api.dataproxy.services.v2.ObjectLocationR\x08location\":\n\x1bInitMultiPartUploadResponse\x12\x1b\n\tupload_id\x18\x01 \x01(\tR\x08uploadId\"\x95\x01\n\x11UploadPartRequest\x12K\n\x08location\x18\x01 \x01(\x0b\x32/.aruna.api.dataproxy.services.v2.ObjectLocationR\x08location\x12\x1f\n\x0bpart_number\x18\x03 \x01(\x05R\npartNumber\x12\x12\n\x04\x64\x61ta\x18\x04 \x01(\x0cR\x04\x64\x61ta\"(\n\x12UploadPartResponse\x12\x12\n\x04\x65tag\x18\x01 \x01(\tR\x04\x65tag\"D\n\rCompletedPart\x12\x1f\n\x0bpart_number\x18\x01 \x01(\x05R\npartNumber\x12\x12\n\x04\x65tag\x18\x02 \x01(\tR\x04\x65tag\"\xc6\x01\n\x1e\x43ompleteMultiPartUploadRequest\x12K\n\x08location\x18\x01 \x01(\x0b\x32/.aruna.api.dataproxy.services.v2.ObjectLocationR\x08location\x12W\n\x0f\x63ompleted_parts\x18\x02 \x03(\x0b\x32..aruna.api.dataproxy.services.v2.CompletedPartR\x0e\x63ompletedParts\"!\n\x1f\x43ompleteMultiPartUploadResponse\"-\n\x13\x43reateBucketRequest\x12\x16\n\x06\x62ucket\x18\x01 \x01(\tR\x06\x62ucket\"\x16\n\x14\x43reateBucketResponse\"-\n\x13\x44\x65leteBucketRequest\x12\x16\n\x06\x62ucket\x18\x01 \x01(\tR\x06\x62ucket\"\x16\n\x14\x44\x65leteBucketResponse\"b\n\x13\x44\x65leteObjectRequest\x12K\n\x08location\x18\x01 \x01(\x0b\x32/.aruna.api.dataproxy.services.v2.ObjectLocationR\x08location\"\x16\n\x14\x44\x65leteObjectResponse\"m\n\x13InitLocationRequest\x12\x1f\n\x0bobject_name\x18\x01 \x01(\tR\nobjectName\x12\x12\n\x04size\x18\x02 \x01(\x03R\x04size\x12!\n\x0cis_temporary\x18\x03 \x01(\x08R\x0bisTemporary\"c\n\x14InitLocationResponse\x12K\n\x08location\x18\x01 \x01(\x0b\x32/.aruna.api.dataproxy.services.v2.ObjectLocationR\x08location*\xb6\x01\n\x11ReplicationStatus\x12\"\n\x1eREPLICATION_STATUS_UNSPECIFIED\x10\x00\x12\x1e\n\x1aREPLICATION_STATUS_PENDING\x10\x01\x12\x1e\n\x1aREPLICATION_STATUS_RUNNING\x10\x02\x12\x1f\n\x1bREPLICATION_STATUS_FINISHED\x10\x03\x12\x1c\n\x18REPLICATION_STATUS_ERROR\x10\x04\x32\xad\x02\n\x10\x44\x61taproxyService\x12\x8f\x01\n\x12RequestReplication\x12:.aruna.api.dataproxy.services.v2.RequestReplicationRequest\x1a;.aruna.api.dataproxy.services.v2.RequestReplicationResponse\"\x00\x12\x86\x01\n\x0fInitReplication\x12\x37.aruna.api.dataproxy.services.v2.InitReplicationRequest\x1a\x38.aruna.api.dataproxy.services.v2.InitReplicationResponse\"\x00\x32\xaf\n\n\x17\x44\x61taproxyBackendService\x12v\n\tPutObject\x12\x31.aruna.api.dataproxy.services.v2.PutObjectRequest\x1a\x32.aruna.api.dataproxy.services.v2.PutObjectResponse\"\x00(\x01\x12v\n\tGetObject\x12\x31.aruna.api.dataproxy.services.v2.GetObjectRequest\x1a\x32.aruna.api.dataproxy.services.v2.GetObjectResponse\"\x00\x30\x01\x12w\n\nHeadObject\x12\x32.aruna.api.dataproxy.services.v2.HeadObjectRequest\x1a\x33.aruna.api.dataproxy.services.v2.HeadObjectResponse\"\x00\x12\x92\x01\n\x13InitMultiPartUpload\x12;.aruna.api.dataproxy.services.v2.InitMultiPartUploadRequest\x1a<.aruna.api.dataproxy.services.v2.InitMultiPartUploadResponse\"\x00\x12y\n\nUploadPart\x12\x32.aruna.api.dataproxy.services.v2.UploadPartRequest\x1a\x33.aruna.api.dataproxy.services.v2.UploadPartResponse\"\x00(\x01\x12\x9e\x01\n\x17\x43ompleteMultiPartUpload\x12?.aruna.api.dataproxy.services.v2.CompleteMultiPartUploadRequest\x1a@.aruna.api.dataproxy.services.v2.CompleteMultiPartUploadResponse\"\x00\x12}\n\x0c\x43reateBucket\x12\x34.aruna.api.dataproxy.services.v2.CreateBucketRequest\x1a\x35.aruna.api.dataproxy.services.v2.CreateBucketResponse\"\x00\x12}\n\x0c\x44\x65leteBucket\x12\x34.aruna.api.dataproxy.services.v2.DeleteBucketRequest\x1a\x35.aruna.api.dataproxy.services.v2.DeleteBucketResponse\"\x00\x12}\n\x0c\x44\x65leteObject\x12\x34.aruna.api.dataproxy.services.v2.DeleteObjectRequest\x1a\x35.aruna.api.dataproxy.services.v2.DeleteObjectResponse\"\x00\x12}\n\x0cInitLocation\x12\x34.aruna.api.dataproxy.services.v2.InitLocationRequest\x1a\x35.aruna.api.dataproxy.services.v2.InitLocationResponse\"\x00\x32\x8f\x05\n\x14\x44\x61taproxyUserService\x12\x9d\x01\n\x0eGetCredentials\x12\x36.aruna.api.dataproxy.services.v2.GetCredentialsRequest\x1a\x37.aruna.api.dataproxy.services.v2.GetCredentialsResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\"\x0f/v2/credentials:\x01*\x12\x95\x01\n\x0bPushReplica\x12\x33.aruna.api.dataproxy.services.v2.PushReplicaRequest\x1a\x34.aruna.api.dataproxy.services.v2.PushReplicaResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v2/replica/push:\x01*\x12\x95\x01\n\x0bPullReplica\x12\x33.aruna.api.dataproxy.services.v2.PullReplicaRequest\x1a\x34.aruna.api.dataproxy.services.v2.PullReplicaResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v2/replica/pull:\x01*\x12\xa6\x01\n\x11ReplicationStatus\x12\x39.aruna.api.dataproxy.services.v2.ReplicationStatusRequest\x1a:.aruna.api.dataproxy.services.v2.ReplicationStatusResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/v2/replica/statusB\x96\x01\n@com.github.ArunaStorage.java_api.aruna.api.dataproxy.services.v2B\x10\x44\x61taProxyServiceP\x01Z>github.com/ArunaStorage/go-api/aruna/api/dataproxy/services/v2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'aruna.api.dataproxy.services.v2.dataproxy_service_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n@com.github.ArunaStorage.java_api.aruna.api.dataproxy.services.v2B\020DataProxyServiceP\001Z>github.com/ArunaStorage/go-api/aruna/api/dataproxy/services/v2' + _globals['_DATAPROXYUSERSERVICE'].methods_by_name['GetCredentials']._options = None + _globals['_DATAPROXYUSERSERVICE'].methods_by_name['GetCredentials']._serialized_options = b'\202\323\344\223\002\024\"\017/v2/credentials:\001*' + _globals['_DATAPROXYUSERSERVICE'].methods_by_name['PushReplica']._options = None + _globals['_DATAPROXYUSERSERVICE'].methods_by_name['PushReplica']._serialized_options = b'\202\323\344\223\002\025\"\020/v2/replica/push:\001*' + _globals['_DATAPROXYUSERSERVICE'].methods_by_name['PullReplica']._options = None + _globals['_DATAPROXYUSERSERVICE'].methods_by_name['PullReplica']._serialized_options = b'\202\323\344\223\002\025\"\020/v2/replica/pull:\001*' + _globals['_DATAPROXYUSERSERVICE'].methods_by_name['ReplicationStatus']._options = None + _globals['_DATAPROXYUSERSERVICE'].methods_by_name['ReplicationStatus']._serialized_options = b'\202\323\344\223\002\024\022\022/v2/replica/status' + _globals['_REPLICATIONSTATUS']._serialized_start=3418 + _globals['_REPLICATIONSTATUS']._serialized_end=3600 + _globals['_DATAPROXYINFO']._serialized_start=122 + _globals['_DATAPROXYINFO']._serialized_end=213 + _globals['_REQUESTREPLICATIONREQUEST']._serialized_start=216 + _globals['_REQUESTREPLICATIONREQUEST']._serialized_end=354 + _globals['_DATAINFO']._serialized_start=357 + _globals['_DATAINFO']._serialized_end=507 + _globals['_DATAINFOS']._serialized_start=509 + _globals['_DATAINFOS']._serialized_end=592 + _globals['_REQUESTREPLICATIONRESPONSE']._serialized_start=595 + _globals['_REQUESTREPLICATIONRESPONSE']._serialized_end=732 + _globals['_INITREPLICATIONREQUEST']._serialized_start=734 + _globals['_INITREPLICATIONREQUEST']._serialized_end=833 + _globals['_INITREPLICATIONRESPONSE']._serialized_start=835 + _globals['_INITREPLICATIONRESPONSE']._serialized_end=878 + _globals['_GETCREDENTIALSREQUEST']._serialized_start=880 + _globals['_GETCREDENTIALSREQUEST']._serialized_end=903 + _globals['_GETCREDENTIALSRESPONSE']._serialized_start=905 + _globals['_GETCREDENTIALSRESPONSE']._serialized_end=991 + _globals['_S3PATH']._serialized_start=993 + _globals['_S3PATH']._serialized_end=1043 + _globals['_PUSHREPLICAREQUEST']._serialized_start=1046 + _globals['_PUSHREPLICAREQUEST']._serialized_end=1222 + _globals['_PUSHREPLICARESPONSE']._serialized_start=1224 + _globals['_PUSHREPLICARESPONSE']._serialized_end=1284 + _globals['_PULLREPLICAREQUEST']._serialized_start=1287 + _globals['_PULLREPLICAREQUEST']._serialized_end=1422 + _globals['_PULLREPLICARESPONSE']._serialized_start=1424 + _globals['_PULLREPLICARESPONSE']._serialized_end=1484 + _globals['_REPLICATIONSTATUSREQUEST']._serialized_start=1486 + _globals['_REPLICATIONSTATUSREQUEST']._serialized_end=1551 + _globals['_REPLICATIONSTATUSRESPONSE']._serialized_start=1554 + _globals['_REPLICATIONSTATUSRESPONSE']._serialized_end=1683 + _globals['_OBJECTLOCATION']._serialized_start=1685 + _globals['_OBJECTLOCATION']._serialized_end=1811 + _globals['_PUTOBJECTREQUEST']._serialized_start=1813 + _globals['_PUTOBJECTREQUEST']._serialized_end=1928 + _globals['_PUTOBJECTRESPONSE']._serialized_start=1930 + _globals['_PUTOBJECTRESPONSE']._serialized_end=1949 + _globals['_GETOBJECTREQUEST']._serialized_start=1951 + _globals['_GETOBJECTREQUEST']._serialized_end=2046 + _globals['_GETOBJECTRESPONSE']._serialized_start=2048 + _globals['_GETOBJECTRESPONSE']._serialized_end=2087 + _globals['_HEADOBJECTREQUEST']._serialized_start=2089 + _globals['_HEADOBJECTREQUEST']._serialized_end=2185 + _globals['_HEADOBJECTRESPONSE']._serialized_start=2187 + _globals['_HEADOBJECTRESPONSE']._serialized_end=2270 + _globals['_INITMULTIPARTUPLOADREQUEST']._serialized_start=2272 + _globals['_INITMULTIPARTUPLOADREQUEST']._serialized_end=2377 + _globals['_INITMULTIPARTUPLOADRESPONSE']._serialized_start=2379 + _globals['_INITMULTIPARTUPLOADRESPONSE']._serialized_end=2437 + _globals['_UPLOADPARTREQUEST']._serialized_start=2440 + _globals['_UPLOADPARTREQUEST']._serialized_end=2589 + _globals['_UPLOADPARTRESPONSE']._serialized_start=2591 + _globals['_UPLOADPARTRESPONSE']._serialized_end=2631 + _globals['_COMPLETEDPART']._serialized_start=2633 + _globals['_COMPLETEDPART']._serialized_end=2701 + _globals['_COMPLETEMULTIPARTUPLOADREQUEST']._serialized_start=2704 + _globals['_COMPLETEMULTIPARTUPLOADREQUEST']._serialized_end=2902 + _globals['_COMPLETEMULTIPARTUPLOADRESPONSE']._serialized_start=2904 + _globals['_COMPLETEMULTIPARTUPLOADRESPONSE']._serialized_end=2937 + _globals['_CREATEBUCKETREQUEST']._serialized_start=2939 + _globals['_CREATEBUCKETREQUEST']._serialized_end=2984 + _globals['_CREATEBUCKETRESPONSE']._serialized_start=2986 + _globals['_CREATEBUCKETRESPONSE']._serialized_end=3008 + _globals['_DELETEBUCKETREQUEST']._serialized_start=3010 + _globals['_DELETEBUCKETREQUEST']._serialized_end=3055 + _globals['_DELETEBUCKETRESPONSE']._serialized_start=3057 + _globals['_DELETEBUCKETRESPONSE']._serialized_end=3079 + _globals['_DELETEOBJECTREQUEST']._serialized_start=3081 + _globals['_DELETEOBJECTREQUEST']._serialized_end=3179 + _globals['_DELETEOBJECTRESPONSE']._serialized_start=3181 + _globals['_DELETEOBJECTRESPONSE']._serialized_end=3203 + _globals['_INITLOCATIONREQUEST']._serialized_start=3205 + _globals['_INITLOCATIONREQUEST']._serialized_end=3314 + _globals['_INITLOCATIONRESPONSE']._serialized_start=3316 + _globals['_INITLOCATIONRESPONSE']._serialized_end=3415 + _globals['_DATAPROXYSERVICE']._serialized_start=3603 + _globals['_DATAPROXYSERVICE']._serialized_end=3904 + _globals['_DATAPROXYBACKENDSERVICE']._serialized_start=3907 + _globals['_DATAPROXYBACKENDSERVICE']._serialized_end=5234 + _globals['_DATAPROXYUSERSERVICE']._serialized_start=5237 + _globals['_DATAPROXYUSERSERVICE']._serialized_end=5892 +# @@protoc_insertion_point(module_scope) diff --git a/aruna/api/dataproxy/services/v2/dataproxy_service_pb2.pyi b/aruna/api/dataproxy/services/v2/dataproxy_service_pb2.pyi new file mode 100644 index 0000000..02258e1 --- /dev/null +++ b/aruna/api/dataproxy/services/v2/dataproxy_service_pb2.pyi @@ -0,0 +1,283 @@ +from google.api import annotations_pb2 as _annotations_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 ReplicationStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + REPLICATION_STATUS_UNSPECIFIED: _ClassVar[ReplicationStatus] + REPLICATION_STATUS_PENDING: _ClassVar[ReplicationStatus] + REPLICATION_STATUS_RUNNING: _ClassVar[ReplicationStatus] + REPLICATION_STATUS_FINISHED: _ClassVar[ReplicationStatus] + REPLICATION_STATUS_ERROR: _ClassVar[ReplicationStatus] +REPLICATION_STATUS_UNSPECIFIED: ReplicationStatus +REPLICATION_STATUS_PENDING: ReplicationStatus +REPLICATION_STATUS_RUNNING: ReplicationStatus +REPLICATION_STATUS_FINISHED: ReplicationStatus +REPLICATION_STATUS_ERROR: ReplicationStatus + +class DataProxyInfo(_message.Message): + __slots__ = ["dataproxy_id", "available_space"] + DATAPROXY_ID_FIELD_NUMBER: _ClassVar[int] + AVAILABLE_SPACE_FIELD_NUMBER: _ClassVar[int] + dataproxy_id: str + available_space: int + def __init__(self, dataproxy_id: _Optional[str] = ..., available_space: _Optional[int] = ...) -> None: ... + +class RequestReplicationRequest(_message.Message): + __slots__ = ["info", "user_initialized"] + INFO_FIELD_NUMBER: _ClassVar[int] + USER_INITIALIZED_FIELD_NUMBER: _ClassVar[int] + info: DataProxyInfo + user_initialized: bool + def __init__(self, info: _Optional[_Union[DataProxyInfo, _Mapping]] = ..., user_initialized: bool = ...) -> None: ... + +class DataInfo(_message.Message): + __slots__ = ["object_id", "download_url", "encryption_key", "is_compressed"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + DOWNLOAD_URL_FIELD_NUMBER: _ClassVar[int] + ENCRYPTION_KEY_FIELD_NUMBER: _ClassVar[int] + IS_COMPRESSED_FIELD_NUMBER: _ClassVar[int] + object_id: str + download_url: str + encryption_key: str + is_compressed: bool + def __init__(self, object_id: _Optional[str] = ..., download_url: _Optional[str] = ..., encryption_key: _Optional[str] = ..., is_compressed: bool = ...) -> None: ... + +class DataInfos(_message.Message): + __slots__ = ["data_info"] + DATA_INFO_FIELD_NUMBER: _ClassVar[int] + data_info: _containers.RepeatedCompositeFieldContainer[DataInfo] + def __init__(self, data_info: _Optional[_Iterable[_Union[DataInfo, _Mapping]]] = ...) -> None: ... + +class RequestReplicationResponse(_message.Message): + __slots__ = ["data_infos", "ack"] + DATA_INFOS_FIELD_NUMBER: _ClassVar[int] + ACK_FIELD_NUMBER: _ClassVar[int] + data_infos: DataInfos + ack: bool + def __init__(self, data_infos: _Optional[_Union[DataInfos, _Mapping]] = ..., ack: bool = ...) -> None: ... + +class InitReplicationRequest(_message.Message): + __slots__ = ["data_infos"] + DATA_INFOS_FIELD_NUMBER: _ClassVar[int] + data_infos: DataInfos + def __init__(self, data_infos: _Optional[_Union[DataInfos, _Mapping]] = ...) -> None: ... + +class InitReplicationResponse(_message.Message): + __slots__ = ["ack"] + ACK_FIELD_NUMBER: _ClassVar[int] + ack: bool + def __init__(self, ack: bool = ...) -> None: ... + +class GetCredentialsRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetCredentialsResponse(_message.Message): + __slots__ = ["access_key", "secret_key"] + ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + SECRET_KEY_FIELD_NUMBER: _ClassVar[int] + access_key: str + secret_key: str + def __init__(self, access_key: _Optional[str] = ..., secret_key: _Optional[str] = ...) -> None: ... + +class S3Path(_message.Message): + __slots__ = ["bucket", "key"] + BUCKET_FIELD_NUMBER: _ClassVar[int] + KEY_FIELD_NUMBER: _ClassVar[int] + bucket: str + key: str + def __init__(self, bucket: _Optional[str] = ..., key: _Optional[str] = ...) -> None: ... + +class PushReplicaRequest(_message.Message): + __slots__ = ["resource_id", "s3_path", "target_location"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + S3_PATH_FIELD_NUMBER: _ClassVar[int] + TARGET_LOCATION_FIELD_NUMBER: _ClassVar[int] + resource_id: str + s3_path: S3Path + target_location: str + def __init__(self, resource_id: _Optional[str] = ..., s3_path: _Optional[_Union[S3Path, _Mapping]] = ..., target_location: _Optional[str] = ...) -> None: ... + +class PushReplicaResponse(_message.Message): + __slots__ = ["replication_id"] + REPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + replication_id: str + def __init__(self, replication_id: _Optional[str] = ...) -> None: ... + +class PullReplicaRequest(_message.Message): + __slots__ = ["resource_id", "s3_path"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + S3_PATH_FIELD_NUMBER: _ClassVar[int] + resource_id: str + s3_path: S3Path + def __init__(self, resource_id: _Optional[str] = ..., s3_path: _Optional[_Union[S3Path, _Mapping]] = ...) -> None: ... + +class PullReplicaResponse(_message.Message): + __slots__ = ["replication_id"] + REPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + replication_id: str + def __init__(self, replication_id: _Optional[str] = ...) -> None: ... + +class ReplicationStatusRequest(_message.Message): + __slots__ = ["replication_id"] + REPLICATION_ID_FIELD_NUMBER: _ClassVar[int] + replication_id: str + def __init__(self, replication_id: _Optional[str] = ...) -> None: ... + +class ReplicationStatusResponse(_message.Message): + __slots__ = ["status", "message"] + STATUS_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + status: ReplicationStatus + message: str + def __init__(self, status: _Optional[_Union[ReplicationStatus, str]] = ..., message: _Optional[str] = ...) -> None: ... + +class ObjectLocation(_message.Message): + __slots__ = ["bucket", "key", "upload_id", "content_length"] + BUCKET_FIELD_NUMBER: _ClassVar[int] + KEY_FIELD_NUMBER: _ClassVar[int] + UPLOAD_ID_FIELD_NUMBER: _ClassVar[int] + CONTENT_LENGTH_FIELD_NUMBER: _ClassVar[int] + bucket: str + key: str + upload_id: str + content_length: str + def __init__(self, bucket: _Optional[str] = ..., key: _Optional[str] = ..., upload_id: _Optional[str] = ..., content_length: _Optional[str] = ...) -> None: ... + +class PutObjectRequest(_message.Message): + __slots__ = ["location", "data"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + location: ObjectLocation + data: bytes + def __init__(self, location: _Optional[_Union[ObjectLocation, _Mapping]] = ..., data: _Optional[bytes] = ...) -> None: ... + +class PutObjectResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetObjectRequest(_message.Message): + __slots__ = ["location"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + location: ObjectLocation + def __init__(self, location: _Optional[_Union[ObjectLocation, _Mapping]] = ...) -> None: ... + +class GetObjectResponse(_message.Message): + __slots__ = ["data"] + DATA_FIELD_NUMBER: _ClassVar[int] + data: bytes + def __init__(self, data: _Optional[bytes] = ...) -> None: ... + +class HeadObjectRequest(_message.Message): + __slots__ = ["location"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + location: ObjectLocation + def __init__(self, location: _Optional[_Union[ObjectLocation, _Mapping]] = ...) -> None: ... + +class HeadObjectResponse(_message.Message): + __slots__ = ["content_length", "exists"] + CONTENT_LENGTH_FIELD_NUMBER: _ClassVar[int] + EXISTS_FIELD_NUMBER: _ClassVar[int] + content_length: str + exists: bool + def __init__(self, content_length: _Optional[str] = ..., exists: bool = ...) -> None: ... + +class InitMultiPartUploadRequest(_message.Message): + __slots__ = ["location"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + location: ObjectLocation + def __init__(self, location: _Optional[_Union[ObjectLocation, _Mapping]] = ...) -> None: ... + +class InitMultiPartUploadResponse(_message.Message): + __slots__ = ["upload_id"] + UPLOAD_ID_FIELD_NUMBER: _ClassVar[int] + upload_id: str + def __init__(self, upload_id: _Optional[str] = ...) -> None: ... + +class UploadPartRequest(_message.Message): + __slots__ = ["location", "part_number", "data"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + PART_NUMBER_FIELD_NUMBER: _ClassVar[int] + DATA_FIELD_NUMBER: _ClassVar[int] + location: ObjectLocation + part_number: int + data: bytes + def __init__(self, location: _Optional[_Union[ObjectLocation, _Mapping]] = ..., part_number: _Optional[int] = ..., data: _Optional[bytes] = ...) -> None: ... + +class UploadPartResponse(_message.Message): + __slots__ = ["etag"] + ETAG_FIELD_NUMBER: _ClassVar[int] + etag: str + def __init__(self, etag: _Optional[str] = ...) -> None: ... + +class CompletedPart(_message.Message): + __slots__ = ["part_number", "etag"] + PART_NUMBER_FIELD_NUMBER: _ClassVar[int] + ETAG_FIELD_NUMBER: _ClassVar[int] + part_number: int + etag: str + def __init__(self, part_number: _Optional[int] = ..., etag: _Optional[str] = ...) -> None: ... + +class CompleteMultiPartUploadRequest(_message.Message): + __slots__ = ["location", "completed_parts"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + COMPLETED_PARTS_FIELD_NUMBER: _ClassVar[int] + location: ObjectLocation + completed_parts: _containers.RepeatedCompositeFieldContainer[CompletedPart] + def __init__(self, location: _Optional[_Union[ObjectLocation, _Mapping]] = ..., completed_parts: _Optional[_Iterable[_Union[CompletedPart, _Mapping]]] = ...) -> None: ... + +class CompleteMultiPartUploadResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class CreateBucketRequest(_message.Message): + __slots__ = ["bucket"] + BUCKET_FIELD_NUMBER: _ClassVar[int] + bucket: str + def __init__(self, bucket: _Optional[str] = ...) -> None: ... + +class CreateBucketResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class DeleteBucketRequest(_message.Message): + __slots__ = ["bucket"] + BUCKET_FIELD_NUMBER: _ClassVar[int] + bucket: str + def __init__(self, bucket: _Optional[str] = ...) -> None: ... + +class DeleteBucketResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class DeleteObjectRequest(_message.Message): + __slots__ = ["location"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + location: ObjectLocation + def __init__(self, location: _Optional[_Union[ObjectLocation, _Mapping]] = ...) -> None: ... + +class DeleteObjectResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class InitLocationRequest(_message.Message): + __slots__ = ["object_name", "size", "is_temporary"] + OBJECT_NAME_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + IS_TEMPORARY_FIELD_NUMBER: _ClassVar[int] + object_name: str + size: int + is_temporary: bool + def __init__(self, object_name: _Optional[str] = ..., size: _Optional[int] = ..., is_temporary: bool = ...) -> None: ... + +class InitLocationResponse(_message.Message): + __slots__ = ["location"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + location: ObjectLocation + def __init__(self, location: _Optional[_Union[ObjectLocation, _Mapping]] = ...) -> None: ... diff --git a/aruna/api/dataproxy/services/v2/dataproxy_service_pb2_grpc.py b/aruna/api/dataproxy/services/v2/dataproxy_service_pb2_grpc.py new file mode 100644 index 0000000..5fe7567 --- /dev/null +++ b/aruna/api/dataproxy/services/v2/dataproxy_service_pb2_grpc.py @@ -0,0 +1,648 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.dataproxy.services.v2 import dataproxy_service_pb2 as aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2 + + +class DataproxyServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.RequestReplication = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyService/RequestReplication', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.RequestReplicationRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.RequestReplicationResponse.FromString, + ) + self.InitReplication = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyService/InitReplication', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitReplicationRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitReplicationResponse.FromString, + ) + + +class DataproxyServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def RequestReplication(self, request, context): + """RequestReplication + + Status: BETA + + Creates a replication request + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def InitReplication(self, request, context): + """InitReplication + + Status: BETA + + Provides the necessary url to init replication + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_DataproxyServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'RequestReplication': grpc.unary_unary_rpc_method_handler( + servicer.RequestReplication, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.RequestReplicationRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.RequestReplicationResponse.SerializeToString, + ), + 'InitReplication': grpc.unary_unary_rpc_method_handler( + servicer.InitReplication, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitReplicationRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitReplicationResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.dataproxy.services.v2.DataproxyService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class DataproxyService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def RequestReplication(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyService/RequestReplication', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.RequestReplicationRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.RequestReplicationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InitReplication(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyService/InitReplication', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitReplicationRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitReplicationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + +class DataproxyBackendServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.PutObject = channel.stream_unary( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/PutObject', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PutObjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PutObjectResponse.FromString, + ) + self.GetObject = channel.unary_stream( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/GetObject', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetObjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetObjectResponse.FromString, + ) + self.HeadObject = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/HeadObject', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.HeadObjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.HeadObjectResponse.FromString, + ) + self.InitMultiPartUpload = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/InitMultiPartUpload', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitMultiPartUploadRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitMultiPartUploadResponse.FromString, + ) + self.UploadPart = channel.stream_unary( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/UploadPart', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.UploadPartRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.UploadPartResponse.FromString, + ) + self.CompleteMultiPartUpload = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/CompleteMultiPartUpload', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CompleteMultiPartUploadRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CompleteMultiPartUploadResponse.FromString, + ) + self.CreateBucket = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/CreateBucket', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CreateBucketRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CreateBucketResponse.FromString, + ) + self.DeleteBucket = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/DeleteBucket', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteBucketRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteBucketResponse.FromString, + ) + self.DeleteObject = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/DeleteObject', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteObjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteObjectResponse.FromString, + ) + self.InitLocation = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyBackendService/InitLocation', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitLocationRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitLocationResponse.FromString, + ) + + +class DataproxyBackendServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def PutObject(self, request_iterator, 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 GetObject(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 HeadObject(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 InitMultiPartUpload(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 UploadPart(self, request_iterator, 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 CompleteMultiPartUpload(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 CreateBucket(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 DeleteBucket(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 DeleteObject(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 InitLocation(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_DataproxyBackendServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'PutObject': grpc.stream_unary_rpc_method_handler( + servicer.PutObject, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PutObjectRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PutObjectResponse.SerializeToString, + ), + 'GetObject': grpc.unary_stream_rpc_method_handler( + servicer.GetObject, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetObjectRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetObjectResponse.SerializeToString, + ), + 'HeadObject': grpc.unary_unary_rpc_method_handler( + servicer.HeadObject, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.HeadObjectRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.HeadObjectResponse.SerializeToString, + ), + 'InitMultiPartUpload': grpc.unary_unary_rpc_method_handler( + servicer.InitMultiPartUpload, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitMultiPartUploadRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitMultiPartUploadResponse.SerializeToString, + ), + 'UploadPart': grpc.stream_unary_rpc_method_handler( + servicer.UploadPart, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.UploadPartRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.UploadPartResponse.SerializeToString, + ), + 'CompleteMultiPartUpload': grpc.unary_unary_rpc_method_handler( + servicer.CompleteMultiPartUpload, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CompleteMultiPartUploadRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CompleteMultiPartUploadResponse.SerializeToString, + ), + 'CreateBucket': grpc.unary_unary_rpc_method_handler( + servicer.CreateBucket, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CreateBucketRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CreateBucketResponse.SerializeToString, + ), + 'DeleteBucket': grpc.unary_unary_rpc_method_handler( + servicer.DeleteBucket, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteBucketRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteBucketResponse.SerializeToString, + ), + 'DeleteObject': grpc.unary_unary_rpc_method_handler( + servicer.DeleteObject, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteObjectRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteObjectResponse.SerializeToString, + ), + 'InitLocation': grpc.unary_unary_rpc_method_handler( + servicer.InitLocation, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitLocationRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitLocationResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.dataproxy.services.v2.DataproxyBackendService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class DataproxyBackendService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def PutObject(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_unary(request_iterator, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/PutObject', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PutObjectRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PutObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/GetObject', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetObjectRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def HeadObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/HeadObject', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.HeadObjectRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.HeadObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InitMultiPartUpload(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/InitMultiPartUpload', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitMultiPartUploadRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitMultiPartUploadResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UploadPart(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_unary(request_iterator, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/UploadPart', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.UploadPartRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.UploadPartResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CompleteMultiPartUpload(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/CompleteMultiPartUpload', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CompleteMultiPartUploadRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CompleteMultiPartUploadResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateBucket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/CreateBucket', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CreateBucketRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.CreateBucketResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteBucket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/DeleteBucket', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteBucketRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteBucketResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/DeleteObject', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteObjectRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.DeleteObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InitLocation(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyBackendService/InitLocation', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitLocationRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.InitLocationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + +class DataproxyUserServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetCredentials = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyUserService/GetCredentials', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetCredentialsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetCredentialsResponse.FromString, + ) + self.PushReplica = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyUserService/PushReplica', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PushReplicaRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PushReplicaResponse.FromString, + ) + self.PullReplica = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyUserService/PullReplica', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PullReplicaRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PullReplicaResponse.FromString, + ) + self.ReplicationStatus = channel.unary_unary( + '/aruna.api.dataproxy.services.v2.DataproxyUserService/ReplicationStatus', + request_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.ReplicationStatusRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.ReplicationStatusResponse.FromString, + ) + + +class DataproxyUserServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def GetCredentials(self, request, context): + """GetCredentials + + Status: BETA + + Authorized method that needs a aruna-token to exchange for dataproxy + specific S3AccessKey and S3SecretKey + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PushReplica(self, request, context): + """PushReplica + + Status: BETA + + Manually transfers a replica to another data-proxy + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PullReplica(self, request, context): + """PullReplica + + Status: BETA + + Manually request data to be transferred to this data-proxy + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ReplicationStatus(self, request, context): + """PullReplica + + Status: BETA + + Status of the previous replication request + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_DataproxyUserServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetCredentials': grpc.unary_unary_rpc_method_handler( + servicer.GetCredentials, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetCredentialsRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetCredentialsResponse.SerializeToString, + ), + 'PushReplica': grpc.unary_unary_rpc_method_handler( + servicer.PushReplica, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PushReplicaRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PushReplicaResponse.SerializeToString, + ), + 'PullReplica': grpc.unary_unary_rpc_method_handler( + servicer.PullReplica, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PullReplicaRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PullReplicaResponse.SerializeToString, + ), + 'ReplicationStatus': grpc.unary_unary_rpc_method_handler( + servicer.ReplicationStatus, + request_deserializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.ReplicationStatusRequest.FromString, + response_serializer=aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.ReplicationStatusResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.dataproxy.services.v2.DataproxyUserService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class DataproxyUserService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def GetCredentials(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyUserService/GetCredentials', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetCredentialsRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.GetCredentialsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PushReplica(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyUserService/PushReplica', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PushReplicaRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PushReplicaResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PullReplica(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyUserService/PullReplica', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PullReplicaRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.PullReplicaResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReplicationStatus(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.dataproxy.services.v2.DataproxyUserService/ReplicationStatus', + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.ReplicationStatusRequest.SerializeToString, + aruna_dot_api_dot_dataproxy_dot_services_dot_v2_dot_dataproxy__service__pb2.ReplicationStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/hooks/services/v2/hooks_service.pb.gw.go b/aruna/api/hooks/services/v2/hooks_service.pb.gw.go new file mode 100644 index 0000000..6082da2 --- /dev/null +++ b/aruna/api/hooks/services/v2/hooks_service.pb.gw.go @@ -0,0 +1,686 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/hooks/services/v2/hooks_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_HooksService_CreateHook_0(ctx context.Context, marshaler runtime.Marshaler, client HooksServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateHookRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateHook(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_HooksService_CreateHook_0(ctx context.Context, marshaler runtime.Marshaler, server HooksServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateHookRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateHook(ctx, &protoReq) + return msg, metadata, err + +} + +func request_HooksService_AddProjectsToHook_0(ctx context.Context, marshaler runtime.Marshaler, client HooksServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddProjectsToHookRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["hook_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "hook_id") + } + + protoReq.HookId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "hook_id", err) + } + + msg, err := client.AddProjectsToHook(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_HooksService_AddProjectsToHook_0(ctx context.Context, marshaler runtime.Marshaler, server HooksServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddProjectsToHookRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["hook_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "hook_id") + } + + protoReq.HookId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "hook_id", err) + } + + msg, err := server.AddProjectsToHook(ctx, &protoReq) + return msg, metadata, err + +} + +func request_HooksService_ListProjectHooks_0(ctx context.Context, marshaler runtime.Marshaler, client HooksServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectHooksRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := client.ListProjectHooks(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_HooksService_ListProjectHooks_0(ctx context.Context, marshaler runtime.Marshaler, server HooksServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectHooksRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.ListProjectHooks(ctx, &protoReq) + return msg, metadata, err + +} + +func request_HooksService_ListOwnedHooks_0(ctx context.Context, marshaler runtime.Marshaler, client HooksServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListOwnedHooksRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := client.ListOwnedHooks(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_HooksService_ListOwnedHooks_0(ctx context.Context, marshaler runtime.Marshaler, server HooksServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListOwnedHooksRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.ListOwnedHooks(ctx, &protoReq) + return msg, metadata, err + +} + +func request_HooksService_DeleteHook_0(ctx context.Context, marshaler runtime.Marshaler, client HooksServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteHookRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["hook_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "hook_id") + } + + protoReq.HookId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "hook_id", err) + } + + msg, err := client.DeleteHook(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_HooksService_DeleteHook_0(ctx context.Context, marshaler runtime.Marshaler, server HooksServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteHookRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["hook_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "hook_id") + } + + protoReq.HookId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "hook_id", err) + } + + msg, err := server.DeleteHook(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_HooksService_HookCallback_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_HooksService_HookCallback_0(ctx context.Context, marshaler runtime.Marshaler, client HooksServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq HookCallbackRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_HooksService_HookCallback_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.HookCallback(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_HooksService_HookCallback_0(ctx context.Context, marshaler runtime.Marshaler, server HooksServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq HookCallbackRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_HooksService_HookCallback_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.HookCallback(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterHooksServiceHandlerServer registers the http handlers for service HooksService to "mux". +// UnaryRPC :call HooksServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterHooksServiceHandlerFromEndpoint instead. +func RegisterHooksServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server HooksServiceServer) error { + + mux.Handle("POST", pattern_HooksService_CreateHook_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/CreateHook", runtime.WithHTTPPathPattern("/v2/hook")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_HooksService_CreateHook_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_CreateHook_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_HooksService_AddProjectsToHook_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/AddProjectsToHook", runtime.WithHTTPPathPattern("/v2/hook/{hook_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_HooksService_AddProjectsToHook_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_AddProjectsToHook_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_HooksService_ListProjectHooks_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/ListProjectHooks", runtime.WithHTTPPathPattern("/v2/hooks/project/{project_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_HooksService_ListProjectHooks_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_ListProjectHooks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_HooksService_ListOwnedHooks_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/ListOwnedHooks", runtime.WithHTTPPathPattern("/v2/hooks/owner/{user_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_HooksService_ListOwnedHooks_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_ListOwnedHooks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_HooksService_DeleteHook_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/DeleteHook", runtime.WithHTTPPathPattern("/v2/hook/{hook_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_HooksService_DeleteHook_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_DeleteHook_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_HooksService_HookCallback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/HookCallback", runtime.WithHTTPPathPattern("/v2/hook/callback")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_HooksService_HookCallback_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_HookCallback_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterHooksServiceHandlerFromEndpoint is same as RegisterHooksServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterHooksServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterHooksServiceHandler(ctx, mux, conn) +} + +// RegisterHooksServiceHandler registers the http handlers for service HooksService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterHooksServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterHooksServiceHandlerClient(ctx, mux, NewHooksServiceClient(conn)) +} + +// RegisterHooksServiceHandlerClient registers the http handlers for service HooksService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "HooksServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "HooksServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "HooksServiceClient" to call the correct interceptors. +func RegisterHooksServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client HooksServiceClient) error { + + mux.Handle("POST", pattern_HooksService_CreateHook_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/CreateHook", runtime.WithHTTPPathPattern("/v2/hook")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_HooksService_CreateHook_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_CreateHook_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_HooksService_AddProjectsToHook_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/AddProjectsToHook", runtime.WithHTTPPathPattern("/v2/hook/{hook_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_HooksService_AddProjectsToHook_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_AddProjectsToHook_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_HooksService_ListProjectHooks_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/ListProjectHooks", runtime.WithHTTPPathPattern("/v2/hooks/project/{project_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_HooksService_ListProjectHooks_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_ListProjectHooks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_HooksService_ListOwnedHooks_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/ListOwnedHooks", runtime.WithHTTPPathPattern("/v2/hooks/owner/{user_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_HooksService_ListOwnedHooks_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_ListOwnedHooks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_HooksService_DeleteHook_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/DeleteHook", runtime.WithHTTPPathPattern("/v2/hook/{hook_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_HooksService_DeleteHook_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_DeleteHook_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_HooksService_HookCallback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.hooks.services.v2.HooksService/HookCallback", runtime.WithHTTPPathPattern("/v2/hook/callback")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_HooksService_HookCallback_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_HooksService_HookCallback_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_HooksService_CreateHook_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "hook"}, "")) + + pattern_HooksService_AddProjectsToHook_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "hook", "hook_id"}, "")) + + pattern_HooksService_ListProjectHooks_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v2", "hooks", "project", "project_id"}, "")) + + pattern_HooksService_ListOwnedHooks_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v2", "hooks", "owner", "user_id"}, "")) + + pattern_HooksService_DeleteHook_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "hook", "hook_id"}, "")) + + pattern_HooksService_HookCallback_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "hook", "callback"}, "")) +) + +var ( + forward_HooksService_CreateHook_0 = runtime.ForwardResponseMessage + + forward_HooksService_AddProjectsToHook_0 = runtime.ForwardResponseMessage + + forward_HooksService_ListProjectHooks_0 = runtime.ForwardResponseMessage + + forward_HooksService_ListOwnedHooks_0 = runtime.ForwardResponseMessage + + forward_HooksService_DeleteHook_0 = runtime.ForwardResponseMessage + + forward_HooksService_HookCallback_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/hooks/services/v2/hooks_service_pb2.py b/aruna/api/hooks/services/v2/hooks_service_pb2.py new file mode 100644 index 0000000..fded936 --- /dev/null +++ b/aruna/api/hooks/services/v2/hooks_service_pb2.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/hooks/services/v2/hooks_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/aruna/api/hooks/services/v2/hooks_service.proto\x12\x1b\x61runa.api.hooks.services.v2\x1a\x1cgoogle/api/annotations.proto\x1a(aruna/api/storage/models/v2/models.proto\"~\n\x07Trigger\x12K\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32(.aruna.api.hooks.services.v2.TriggerTypeR\x0btriggerType\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x14\n\x05value\x18\x03 \x01(\tR\x05value\"\xeb\x01\n\x0c\x45xternalHook\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12J\n\x0b\x63redentials\x18\x02 \x01(\x0b\x32(.aruna.api.hooks.services.v2.CredentialsR\x0b\x63redentials\x12,\n\x0f\x63ustom_template\x18\x03 \x01(\tH\x00R\x0e\x63ustomTemplate\x88\x01\x01\x12;\n\x06method\x18\x05 \x01(\x0e\x32#.aruna.api.hooks.services.v2.MethodR\x06methodB\x12\n\x10_custom_template\"2\n\x08\x41\x64\x64Label\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"1\n\x07\x41\x64\x64Hook\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\xf6\x01\n\x0cInternalHook\x12\x44\n\tadd_label\x18\x01 \x01(\x0b\x32%.aruna.api.hooks.services.v2.AddLabelH\x00R\x08\x61\x64\x64Label\x12\x41\n\x08\x61\x64\x64_hook\x18\x02 \x01(\x0b\x32$.aruna.api.hooks.services.v2.AddHookH\x00R\x07\x61\x64\x64Hook\x12J\n\x0c\x61\x64\x64_relation\x18\x03 \x01(\x0b\x32%.aruna.api.storage.models.v2.RelationH\x00R\x0b\x61\x64\x64RelationB\x11\n\x0finternal_action\"\xb7\x01\n\x04Hook\x12P\n\rexternal_hook\x18\x01 \x01(\x0b\x32).aruna.api.hooks.services.v2.ExternalHookH\x00R\x0c\x65xternalHook\x12P\n\rinternal_hook\x18\x02 \x01(\x0b\x32).aruna.api.hooks.services.v2.InternalHookH\x00R\x0cinternalHookB\x0b\n\thook_type\"#\n\x0b\x43redentials\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\"\xfb\x01\n\x11\x43reateHookRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12>\n\x07trigger\x18\x02 \x01(\x0b\x32$.aruna.api.hooks.services.v2.TriggerR\x07trigger\x12\x35\n\x04hook\x18\x03 \x01(\x0b\x32!.aruna.api.hooks.services.v2.HookR\x04hook\x12\x18\n\x07timeout\x18\x04 \x01(\x04R\x07timeout\x12\x1f\n\x0bproject_ids\x18\x05 \x03(\tR\nprojectIds\x12 \n\x0b\x64\x65scription\x18\x06 \x01(\tR\x0b\x64\x65scription\"-\n\x12\x43reateHookResponse\x12\x17\n\x07hook_id\x18\x01 \x01(\tR\x06hookId\",\n\x11\x44\x65leteHookRequest\x12\x17\n\x07hook_id\x18\x01 \x01(\tR\x06hookId\"\x14\n\x12\x44\x65leteHookResponse\"\x93\x02\n\x13HookCallbackRequest\x12\x43\n\x08\x66inished\x18\x01 \x01(\x0b\x32%.aruna.api.hooks.services.v2.FinishedH\x00R\x08\x66inished\x12:\n\x05\x65rror\x18\x02 \x01(\x0b\x32\".aruna.api.hooks.services.v2.ErrorH\x00R\x05\x65rror\x12\x16\n\x06secret\x18\x03 \x01(\tR\x06secret\x12\x17\n\x07hook_id\x18\x04 \x01(\tR\x06hookId\x12\x1b\n\tobject_id\x18\x05 \x01(\tR\x08objectId\x12#\n\rpubkey_serial\x18\x06 \x01(\x05R\x0cpubkeySerialB\x08\n\x06status\"\xaa\x01\n\x08\x46inished\x12K\n\x0e\x61\x64\x64_key_values\x18\x01 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0c\x61\x64\x64KeyValues\x12Q\n\x11remove_key_values\x18\x02 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0fremoveKeyValues\"\x1d\n\x05\x45rror\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\"\x16\n\x14HookCallbackResponse\"8\n\x17ListProjectHooksRequest\x12\x1d\n\nproject_id\x18\x01 \x01(\tR\tprojectId\"0\n\x15ListOwnedHooksRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"\x8b\x02\n\x08HookInfo\x12\x17\n\x07hook_id\x18\x01 \x01(\tR\x06hookId\x12\x1f\n\x0bproject_ids\x18\x02 \x03(\tR\nprojectIds\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\x12\x35\n\x04hook\x18\x05 \x01(\x0b\x32!.aruna.api.hooks.services.v2.HookR\x04hook\x12>\n\x07trigger\x18\x06 \x01(\x0b\x32$.aruna.api.hooks.services.v2.TriggerR\x07trigger\x12\x18\n\x07timeout\x18\x07 \x01(\x04R\x07timeout\"W\n\x18ListProjectHooksResponse\x12;\n\x05infos\x18\x01 \x03(\x0b\x32%.aruna.api.hooks.services.v2.HookInfoR\x05infos\"U\n\x16ListOwnedHooksResponse\x12;\n\x05infos\x18\x01 \x03(\x0b\x32%.aruna.api.hooks.services.v2.HookInfoR\x05infos\"T\n\x18\x41\x64\x64ProjectsToHookRequest\x12\x17\n\x07hook_id\x18\x01 \x01(\tR\x06hookId\x12\x1f\n\x0bproject_ids\x18\x02 \x03(\tR\nprojectIds\"\x1b\n\x19\x41\x64\x64ProjectsToHookResponse*\xd2\x01\n\x0bTriggerType\x12\x1c\n\x18TRIGGER_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17TRIGGER_TYPE_HOOK_ADDED\x10\x01\x12\x1f\n\x1bTRIGGER_TYPE_OBJECT_CREATED\x10\x02\x12\x1c\n\x18TRIGGER_TYPE_LABEL_ADDED\x10\x03\x12#\n\x1fTRIGGER_TYPE_STATIC_LABEL_ADDED\x10\x04\x12$\n TRIGGER_TYPE_HOOK_STATUS_CHANGED\x10\x05*A\n\x06Method\x12\x16\n\x12METHOD_UNSPECIFIED\x10\x00\x12\x0e\n\nMETHOD_PUT\x10\x01\x12\x0f\n\x0bMETHOD_POST\x10\x02\x32\x9d\x07\n\x0cHooksService\x12\x82\x01\n\nCreateHook\x12..aruna.api.hooks.services.v2.CreateHookRequest\x1a/.aruna.api.hooks.services.v2.CreateHookResponse\"\x13\x82\xd3\xe4\x93\x02\r\"\x08/v2/hook:\x01*\x12\xa1\x01\n\x11\x41\x64\x64ProjectsToHook\x12\x35.aruna.api.hooks.services.v2.AddProjectsToHookRequest\x1a\x36.aruna.api.hooks.services.v2.AddProjectsToHookResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\"\x12/v2/hook/{hook_id}:\x01*\x12\xa7\x01\n\x10ListProjectHooks\x12\x34.aruna.api.hooks.services.v2.ListProjectHooksRequest\x1a\x35.aruna.api.hooks.services.v2.ListProjectHooksResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/hooks/project/{project_id}\x12\x9c\x01\n\x0eListOwnedHooks\x12\x32.aruna.api.hooks.services.v2.ListOwnedHooksRequest\x1a\x33.aruna.api.hooks.services.v2.ListOwnedHooksResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v2/hooks/owner/{user_id}\x12\x89\x01\n\nDeleteHook\x12..aruna.api.hooks.services.v2.DeleteHookRequest\x1a/.aruna.api.hooks.services.v2.DeleteHookResponse\"\x1a\x82\xd3\xe4\x93\x02\x14*\x12/v2/hook/{hook_id}\x12\x8e\x01\n\x0cHookCallback\x12\x30.aruna.api.hooks.services.v2.HookCallbackRequest\x1a\x31.aruna.api.hooks.services.v2.HookCallbackResponse\"\x19\x82\xd3\xe4\x93\x02\x13*\x11/v2/hook/callbackB\x8e\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x0cHooksServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\014HooksServiceP\001Z None: ... + +class ExternalHook(_message.Message): + __slots__ = ["url", "credentials", "custom_template", "method"] + URL_FIELD_NUMBER: _ClassVar[int] + CREDENTIALS_FIELD_NUMBER: _ClassVar[int] + CUSTOM_TEMPLATE_FIELD_NUMBER: _ClassVar[int] + METHOD_FIELD_NUMBER: _ClassVar[int] + url: str + credentials: Credentials + custom_template: str + method: Method + def __init__(self, url: _Optional[str] = ..., credentials: _Optional[_Union[Credentials, _Mapping]] = ..., custom_template: _Optional[str] = ..., method: _Optional[_Union[Method, str]] = ...) -> None: ... + +class AddLabel(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + +class AddHook(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + +class InternalHook(_message.Message): + __slots__ = ["add_label", "add_hook", "add_relation"] + ADD_LABEL_FIELD_NUMBER: _ClassVar[int] + ADD_HOOK_FIELD_NUMBER: _ClassVar[int] + ADD_RELATION_FIELD_NUMBER: _ClassVar[int] + add_label: AddLabel + add_hook: AddHook + add_relation: _models_pb2.Relation + def __init__(self, add_label: _Optional[_Union[AddLabel, _Mapping]] = ..., add_hook: _Optional[_Union[AddHook, _Mapping]] = ..., add_relation: _Optional[_Union[_models_pb2.Relation, _Mapping]] = ...) -> None: ... + +class Hook(_message.Message): + __slots__ = ["external_hook", "internal_hook"] + EXTERNAL_HOOK_FIELD_NUMBER: _ClassVar[int] + INTERNAL_HOOK_FIELD_NUMBER: _ClassVar[int] + external_hook: ExternalHook + internal_hook: InternalHook + def __init__(self, external_hook: _Optional[_Union[ExternalHook, _Mapping]] = ..., internal_hook: _Optional[_Union[InternalHook, _Mapping]] = ...) -> None: ... + +class Credentials(_message.Message): + __slots__ = ["token"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: str + def __init__(self, token: _Optional[str] = ...) -> None: ... + +class CreateHookRequest(_message.Message): + __slots__ = ["name", "trigger", "hook", "timeout", "project_ids", "description"] + NAME_FIELD_NUMBER: _ClassVar[int] + TRIGGER_FIELD_NUMBER: _ClassVar[int] + HOOK_FIELD_NUMBER: _ClassVar[int] + TIMEOUT_FIELD_NUMBER: _ClassVar[int] + PROJECT_IDS_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + name: str + trigger: Trigger + hook: Hook + timeout: int + project_ids: _containers.RepeatedScalarFieldContainer[str] + description: str + def __init__(self, name: _Optional[str] = ..., trigger: _Optional[_Union[Trigger, _Mapping]] = ..., hook: _Optional[_Union[Hook, _Mapping]] = ..., timeout: _Optional[int] = ..., project_ids: _Optional[_Iterable[str]] = ..., description: _Optional[str] = ...) -> None: ... + +class CreateHookResponse(_message.Message): + __slots__ = ["hook_id"] + HOOK_ID_FIELD_NUMBER: _ClassVar[int] + hook_id: str + def __init__(self, hook_id: _Optional[str] = ...) -> None: ... + +class DeleteHookRequest(_message.Message): + __slots__ = ["hook_id"] + HOOK_ID_FIELD_NUMBER: _ClassVar[int] + hook_id: str + def __init__(self, hook_id: _Optional[str] = ...) -> None: ... + +class DeleteHookResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class HookCallbackRequest(_message.Message): + __slots__ = ["finished", "error", "secret", "hook_id", "object_id", "pubkey_serial"] + FINISHED_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + SECRET_FIELD_NUMBER: _ClassVar[int] + HOOK_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + PUBKEY_SERIAL_FIELD_NUMBER: _ClassVar[int] + finished: Finished + error: Error + secret: str + hook_id: str + object_id: str + pubkey_serial: int + def __init__(self, finished: _Optional[_Union[Finished, _Mapping]] = ..., error: _Optional[_Union[Error, _Mapping]] = ..., secret: _Optional[str] = ..., hook_id: _Optional[str] = ..., object_id: _Optional[str] = ..., pubkey_serial: _Optional[int] = ...) -> None: ... + +class Finished(_message.Message): + __slots__ = ["add_key_values", "remove_key_values"] + ADD_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + REMOVE_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + add_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + remove_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + def __init__(self, add_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ..., remove_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ...) -> None: ... + +class Error(_message.Message): + __slots__ = ["error"] + ERROR_FIELD_NUMBER: _ClassVar[int] + error: str + def __init__(self, error: _Optional[str] = ...) -> None: ... + +class HookCallbackResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class ListProjectHooksRequest(_message.Message): + __slots__ = ["project_id"] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + project_id: str + def __init__(self, project_id: _Optional[str] = ...) -> None: ... + +class ListOwnedHooksRequest(_message.Message): + __slots__ = ["user_id"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + user_id: str + def __init__(self, user_id: _Optional[str] = ...) -> None: ... + +class HookInfo(_message.Message): + __slots__ = ["hook_id", "project_ids", "name", "description", "hook", "trigger", "timeout"] + HOOK_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_IDS_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + HOOK_FIELD_NUMBER: _ClassVar[int] + TRIGGER_FIELD_NUMBER: _ClassVar[int] + TIMEOUT_FIELD_NUMBER: _ClassVar[int] + hook_id: str + project_ids: _containers.RepeatedScalarFieldContainer[str] + name: str + description: str + hook: Hook + trigger: Trigger + timeout: int + def __init__(self, hook_id: _Optional[str] = ..., project_ids: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., hook: _Optional[_Union[Hook, _Mapping]] = ..., trigger: _Optional[_Union[Trigger, _Mapping]] = ..., timeout: _Optional[int] = ...) -> None: ... + +class ListProjectHooksResponse(_message.Message): + __slots__ = ["infos"] + INFOS_FIELD_NUMBER: _ClassVar[int] + infos: _containers.RepeatedCompositeFieldContainer[HookInfo] + def __init__(self, infos: _Optional[_Iterable[_Union[HookInfo, _Mapping]]] = ...) -> None: ... + +class ListOwnedHooksResponse(_message.Message): + __slots__ = ["infos"] + INFOS_FIELD_NUMBER: _ClassVar[int] + infos: _containers.RepeatedCompositeFieldContainer[HookInfo] + def __init__(self, infos: _Optional[_Iterable[_Union[HookInfo, _Mapping]]] = ...) -> None: ... + +class AddProjectsToHookRequest(_message.Message): + __slots__ = ["hook_id", "project_ids"] + HOOK_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_IDS_FIELD_NUMBER: _ClassVar[int] + hook_id: str + project_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, hook_id: _Optional[str] = ..., project_ids: _Optional[_Iterable[str]] = ...) -> None: ... + +class AddProjectsToHookResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... diff --git a/aruna/api/hooks/services/v2/hooks_service_pb2_grpc.py b/aruna/api/hooks/services/v2/hooks_service_pb2_grpc.py new file mode 100644 index 0000000..87d2fc6 --- /dev/null +++ b/aruna/api/hooks/services/v2/hooks_service_pb2_grpc.py @@ -0,0 +1,247 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.hooks.services.v2 import hooks_service_pb2 as aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2 + + +class HooksServiceStub(object): + """HooksService + + Status: ALPHA + + A service that enables automatic Hook scheduling + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateHook = channel.unary_unary( + '/aruna.api.hooks.services.v2.HooksService/CreateHook', + request_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.CreateHookRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.CreateHookResponse.FromString, + ) + self.AddProjectsToHook = channel.unary_unary( + '/aruna.api.hooks.services.v2.HooksService/AddProjectsToHook', + request_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.AddProjectsToHookRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.AddProjectsToHookResponse.FromString, + ) + self.ListProjectHooks = channel.unary_unary( + '/aruna.api.hooks.services.v2.HooksService/ListProjectHooks', + request_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListProjectHooksRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListProjectHooksResponse.FromString, + ) + self.ListOwnedHooks = channel.unary_unary( + '/aruna.api.hooks.services.v2.HooksService/ListOwnedHooks', + request_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListOwnedHooksRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListOwnedHooksResponse.FromString, + ) + self.DeleteHook = channel.unary_unary( + '/aruna.api.hooks.services.v2.HooksService/DeleteHook', + request_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.DeleteHookRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.DeleteHookResponse.FromString, + ) + self.HookCallback = channel.unary_unary( + '/aruna.api.hooks.services.v2.HooksService/HookCallback', + request_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.HookCallbackRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.HookCallbackResponse.FromString, + ) + + +class HooksServiceServicer(object): + """HooksService + + Status: ALPHA + + A service that enables automatic Hook scheduling + """ + + def CreateHook(self, request, context): + """Created Hooks are always associated with the owner that creates the hook + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AddProjectsToHook(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 ListProjectHooks(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 ListOwnedHooks(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 DeleteHook(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 HookCallback(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_HooksServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateHook': grpc.unary_unary_rpc_method_handler( + servicer.CreateHook, + request_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.CreateHookRequest.FromString, + response_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.CreateHookResponse.SerializeToString, + ), + 'AddProjectsToHook': grpc.unary_unary_rpc_method_handler( + servicer.AddProjectsToHook, + request_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.AddProjectsToHookRequest.FromString, + response_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.AddProjectsToHookResponse.SerializeToString, + ), + 'ListProjectHooks': grpc.unary_unary_rpc_method_handler( + servicer.ListProjectHooks, + request_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListProjectHooksRequest.FromString, + response_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListProjectHooksResponse.SerializeToString, + ), + 'ListOwnedHooks': grpc.unary_unary_rpc_method_handler( + servicer.ListOwnedHooks, + request_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListOwnedHooksRequest.FromString, + response_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListOwnedHooksResponse.SerializeToString, + ), + 'DeleteHook': grpc.unary_unary_rpc_method_handler( + servicer.DeleteHook, + request_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.DeleteHookRequest.FromString, + response_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.DeleteHookResponse.SerializeToString, + ), + 'HookCallback': grpc.unary_unary_rpc_method_handler( + servicer.HookCallback, + request_deserializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.HookCallbackRequest.FromString, + response_serializer=aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.HookCallbackResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.hooks.services.v2.HooksService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class HooksService(object): + """HooksService + + Status: ALPHA + + A service that enables automatic Hook scheduling + """ + + @staticmethod + def CreateHook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.hooks.services.v2.HooksService/CreateHook', + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.CreateHookRequest.SerializeToString, + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.CreateHookResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AddProjectsToHook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.hooks.services.v2.HooksService/AddProjectsToHook', + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.AddProjectsToHookRequest.SerializeToString, + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.AddProjectsToHookResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListProjectHooks(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.hooks.services.v2.HooksService/ListProjectHooks', + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListProjectHooksRequest.SerializeToString, + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListProjectHooksResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListOwnedHooks(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.hooks.services.v2.HooksService/ListOwnedHooks', + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListOwnedHooksRequest.SerializeToString, + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.ListOwnedHooksResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteHook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.hooks.services.v2.HooksService/DeleteHook', + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.DeleteHookRequest.SerializeToString, + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.DeleteHookResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def HookCallback(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.hooks.services.v2.HooksService/HookCallback', + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.HookCallbackRequest.SerializeToString, + aruna_dot_api_dot_hooks_dot_services_dot_v2_dot_hooks__service__pb2.HookCallbackResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/notification/services/v2/notification_service_pb2.py b/aruna/api/notification/services/v2/notification_service_pb2.py new file mode 100644 index 0000000..7cc915c --- /dev/null +++ b/aruna/api/notification/services/v2/notification_service_pb2.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/notification/services/v2/notification_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n=aruna/api/notification/services/v2/notification_service.proto\x12\"aruna.api.notification.services.v2\x1a\x1fgoogle/protobuf/timestamp.proto\x1a(aruna/api/storage/models/v2/models.proto\"\xd6\x01\n\x08Resource\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12\x34\n\x16persistent_resource_id\x18\x02 \x01(\x08R\x14persistentResourceId\x12\x1a\n\x08\x63hecksum\x18\x03 \x01(\tR\x08\x63hecksum\x12W\n\x10resource_variant\x18\x04 \x01(\x0e\x32,.aruna.api.storage.models.v2.ResourceVariantR\x0fresourceVariant\"\x8a\x01\n\x0eResourceTarget\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12W\n\x10resource_variant\x18\x02 \x01(\x0e\x32,.aruna.api.storage.models.v2.ResourceVariantR\x0fresourceVariant\"\xa7\x04\n\x1b\x43reateStreamConsumerRequest\x12P\n\x08resource\x18\x01 \x01(\x0b\x32\x32.aruna.api.notification.services.v2.ResourceTargetH\x00R\x08resource\x12\x14\n\x04user\x18\x02 \x01(\tH\x00R\x04user\x12$\n\x0c\x61nouncements\x18\x03 \x01(\x08H\x00R\x0c\x61nouncements\x12\x12\n\x03\x61ll\x18\x04 \x01(\x08H\x00R\x03\x61ll\x12\x31\n\x14include_subresources\x18\x05 \x01(\x08R\x13includeSubresources\x12N\n\nstream_all\x18\x06 \x01(\x0b\x32-.aruna.api.notification.services.v2.StreamAllH\x01R\tstreamAll\x12^\n\x10stream_from_date\x18\x07 \x01(\x0b\x32\x32.aruna.api.notification.services.v2.StreamFromDateH\x01R\x0estreamFromDate\x12j\n\x14stream_from_sequence\x18\x08 \x01(\x0b\x32\x36.aruna.api.notification.services.v2.StreamFromSequenceH\x01R\x12streamFromSequenceB\x08\n\x06targetB\r\n\x0bstream_type\"G\n\x1c\x43reateStreamConsumerResponse\x12\'\n\x0fstream_consumer\x18\x01 \x01(\tR\x0estreamConsumer\"e\n\x1bGetEventMessageBatchRequest\x12\'\n\x0fstream_consumer\x18\x01 \x01(\tR\x0estreamConsumer\x12\x1d\n\nbatch_size\x18\x02 \x01(\rR\tbatchSize\"l\n\x1cGetEventMessageBatchResponse\x12L\n\x08messages\x18\x01 \x03(\x0b\x32\x30.aruna.api.notification.services.v2.EventMessageR\x08messages\"G\n\x1cGetEventMessageStreamRequest\x12\'\n\x0fstream_consumer\x18\x01 \x01(\tR\x0estreamConsumer\"k\n\x1dGetEventMessageStreamResponse\x12J\n\x07message\x18\x01 \x01(\x0b\x32\x30.aruna.api.notification.services.v2.EventMessageR\x07message\"e\n\x1e\x41\x63knowledgeMessageBatchRequest\x12\x43\n\x07replies\x18\x01 \x03(\x0b\x32).aruna.api.notification.services.v2.ReplyR\x07replies\"!\n\x1f\x41\x63knowledgeMessageBatchResponse\"F\n\x1b\x44\x65leteStreamConsumerRequest\x12\'\n\x0fstream_consumer\x18\x01 \x01(\tR\x0estreamConsumer\"\x1e\n\x1c\x44\x65leteStreamConsumerResponse\"0\n\x12StreamFromSequence\x12\x1a\n\x08sequence\x18\x01 \x01(\x04R\x08sequence\"J\n\x0eStreamFromDate\x12\x38\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ttimestamp\"\x0b\n\tStreamAll\"\xb4\x02\n\x0c\x45ventMessage\x12Z\n\x0eresource_event\x18\x01 \x01(\x0b\x32\x31.aruna.api.notification.services.v2.ResourceEventH\x00R\rresourceEvent\x12N\n\nuser_event\x18\x02 \x01(\x0b\x32-.aruna.api.notification.services.v2.UserEventH\x00R\tuserEvent\x12\x65\n\x12\x61nnouncement_event\x18\x03 \x01(\x0b\x32\x34.aruna.api.notification.services.v2.AnouncementEventH\x00R\x11\x61nnouncementEventB\x11\n\x0fmessage_variant\"\xf1\x01\n\rResourceEvent\x12H\n\x08resource\x18\x01 \x01(\x0b\x32,.aruna.api.notification.services.v2.ResourceR\x08resource\x12U\n\revent_variant\x18\x02 \x01(\x0e\x32\x30.aruna.api.notification.services.v2.EventVariantR\x0c\x65ventVariant\x12?\n\x05reply\x18\x03 \x01(\x0b\x32).aruna.api.notification.services.v2.ReplyR\x05reply\"\xd8\x01\n\tUserEvent\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12U\n\revent_variant\x18\x02 \x01(\x0e\x32\x30.aruna.api.notification.services.v2.EventVariantR\x0c\x65ventVariant\x12\x1a\n\x08\x63hecksum\x18\x03 \x01(\tR\x08\x63hecksum\x12?\n\x05reply\x18\x04 \x01(\x0b\x32).aruna.api.notification.services.v2.ReplyR\x05reply\"E\n\x05Reply\x12\x14\n\x05reply\x18\x01 \x01(\tR\x05reply\x12\x12\n\x04salt\x18\x02 \x01(\tR\x04salt\x12\x12\n\x04hmac\x18\x03 \x01(\tR\x04hmac\"\xa9\x01\n\x11ScheduledDowntime\x12\x1a\n\x08location\x18\x01 \x01(\tR\x08location\x12\x1c\n\tcomponent\x18\x02 \x01(\tR\tcomponent\x12.\n\x04\x66rom\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04\x66rom\x12*\n\x02to\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x02to\"g\n\nNewVersion\x12\x1a\n\x08location\x18\x01 \x01(\tR\x08location\x12\x1c\n\tcomponent\x18\x02 \x01(\tR\tcomponent\x12\x1f\n\x0bnew_version\x18\x03 \x01(\tR\nnewVersion\"#\n\tNewPubkey\x12\x16\n\x06pubkey\x18\x01 \x01(\tR\x06pubkey\"\xe0\x03\n\x10\x41nouncementEvent\x12+\n\x11new_data_proxy_id\x18\x01 \x01(\tH\x00R\x0enewDataProxyId\x12\x31\n\x14remove_data_proxy_id\x18\x02 \x01(\tH\x00R\x11removeDataProxyId\x12\x31\n\x14update_data_proxy_id\x18\x03 \x01(\tH\x00R\x11updateDataProxyId\x12\x1f\n\nnew_pubkey\x18\x04 \x01(\x05H\x00R\tnewPubkey\x12%\n\rremove_pubkey\x18\x05 \x01(\x05H\x00R\x0cremovePubkey\x12S\n\x08\x64owntime\x18\x06 \x01(\x0b\x32\x35.aruna.api.notification.services.v2.ScheduledDowntimeH\x00R\x08\x64owntime\x12J\n\x07version\x18\x07 \x01(\x0b\x32..aruna.api.notification.services.v2.NewVersionH\x00R\x07version\x12?\n\x05reply\x18\x08 \x01(\x0b\x32).aruna.api.notification.services.v2.ReplyR\x05replyB\x0f\n\revent_variant*\xba\x01\n\x0c\x45ventVariant\x12\x1d\n\x19\x45VENT_VARIANT_UNSPECIFIED\x10\x00\x12\x19\n\x15\x45VENT_VARIANT_CREATED\x10\x01\x12\x1b\n\x17\x45VENT_VARIANT_AVAILABLE\x10\x02\x12\x19\n\x15\x45VENT_VARIANT_UPDATED\x10\x03\x12\x19\n\x15\x45VENT_VARIANT_DELETED\x10\x04\x12\x1d\n\x19\x45VENT_VARIANT_SNAPSHOTTED\x10\x05\x32\xbe\x06\n\x18\x45ventNotificationService\x12\x9b\x01\n\x14\x43reateStreamConsumer\x12?.aruna.api.notification.services.v2.CreateStreamConsumerRequest\x1a@.aruna.api.notification.services.v2.CreateStreamConsumerResponse\"\x00\x12\x9b\x01\n\x14GetEventMessageBatch\x12?.aruna.api.notification.services.v2.GetEventMessageBatchRequest\x1a@.aruna.api.notification.services.v2.GetEventMessageBatchResponse\"\x00\x12\xa0\x01\n\x15GetEventMessageStream\x12@.aruna.api.notification.services.v2.GetEventMessageStreamRequest\x1a\x41.aruna.api.notification.services.v2.GetEventMessageStreamResponse\"\x00\x30\x01\x12\xa4\x01\n\x17\x41\x63knowledgeMessageBatch\x12\x42.aruna.api.notification.services.v2.AcknowledgeMessageBatchRequest\x1a\x43.aruna.api.notification.services.v2.AcknowledgeMessageBatchResponse\"\x00\x12\x9b\x01\n\x14\x44\x65leteStreamConsumer\x12?.aruna.api.notification.services.v2.DeleteStreamConsumerRequest\x1a@.aruna.api.notification.services.v2.DeleteStreamConsumerResponse\"\x00\x42\xa6\x01\nCcom.github.ArunaStorage.java_api.aruna.api.notification.services.v2B\x1aUpdateNotificationServicesP\x01ZAgithub.com/ArunaStorage/go-api/aruna/api/notification/services/v2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'aruna.api.notification.services.v2.notification_service_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\nCcom.github.ArunaStorage.java_api.aruna.api.notification.services.v2B\032UpdateNotificationServicesP\001ZAgithub.com/ArunaStorage/go-api/aruna/api/notification/services/v2' + _globals['_EVENTVARIANT']._serialized_start=3580 + _globals['_EVENTVARIANT']._serialized_end=3766 + _globals['_RESOURCE']._serialized_start=177 + _globals['_RESOURCE']._serialized_end=391 + _globals['_RESOURCETARGET']._serialized_start=394 + _globals['_RESOURCETARGET']._serialized_end=532 + _globals['_CREATESTREAMCONSUMERREQUEST']._serialized_start=535 + _globals['_CREATESTREAMCONSUMERREQUEST']._serialized_end=1086 + _globals['_CREATESTREAMCONSUMERRESPONSE']._serialized_start=1088 + _globals['_CREATESTREAMCONSUMERRESPONSE']._serialized_end=1159 + _globals['_GETEVENTMESSAGEBATCHREQUEST']._serialized_start=1161 + _globals['_GETEVENTMESSAGEBATCHREQUEST']._serialized_end=1262 + _globals['_GETEVENTMESSAGEBATCHRESPONSE']._serialized_start=1264 + _globals['_GETEVENTMESSAGEBATCHRESPONSE']._serialized_end=1372 + _globals['_GETEVENTMESSAGESTREAMREQUEST']._serialized_start=1374 + _globals['_GETEVENTMESSAGESTREAMREQUEST']._serialized_end=1445 + _globals['_GETEVENTMESSAGESTREAMRESPONSE']._serialized_start=1447 + _globals['_GETEVENTMESSAGESTREAMRESPONSE']._serialized_end=1554 + _globals['_ACKNOWLEDGEMESSAGEBATCHREQUEST']._serialized_start=1556 + _globals['_ACKNOWLEDGEMESSAGEBATCHREQUEST']._serialized_end=1657 + _globals['_ACKNOWLEDGEMESSAGEBATCHRESPONSE']._serialized_start=1659 + _globals['_ACKNOWLEDGEMESSAGEBATCHRESPONSE']._serialized_end=1692 + _globals['_DELETESTREAMCONSUMERREQUEST']._serialized_start=1694 + _globals['_DELETESTREAMCONSUMERREQUEST']._serialized_end=1764 + _globals['_DELETESTREAMCONSUMERRESPONSE']._serialized_start=1766 + _globals['_DELETESTREAMCONSUMERRESPONSE']._serialized_end=1796 + _globals['_STREAMFROMSEQUENCE']._serialized_start=1798 + _globals['_STREAMFROMSEQUENCE']._serialized_end=1846 + _globals['_STREAMFROMDATE']._serialized_start=1848 + _globals['_STREAMFROMDATE']._serialized_end=1922 + _globals['_STREAMALL']._serialized_start=1924 + _globals['_STREAMALL']._serialized_end=1935 + _globals['_EVENTMESSAGE']._serialized_start=1938 + _globals['_EVENTMESSAGE']._serialized_end=2246 + _globals['_RESOURCEEVENT']._serialized_start=2249 + _globals['_RESOURCEEVENT']._serialized_end=2490 + _globals['_USEREVENT']._serialized_start=2493 + _globals['_USEREVENT']._serialized_end=2709 + _globals['_REPLY']._serialized_start=2711 + _globals['_REPLY']._serialized_end=2780 + _globals['_SCHEDULEDDOWNTIME']._serialized_start=2783 + _globals['_SCHEDULEDDOWNTIME']._serialized_end=2952 + _globals['_NEWVERSION']._serialized_start=2954 + _globals['_NEWVERSION']._serialized_end=3057 + _globals['_NEWPUBKEY']._serialized_start=3059 + _globals['_NEWPUBKEY']._serialized_end=3094 + _globals['_ANOUNCEMENTEVENT']._serialized_start=3097 + _globals['_ANOUNCEMENTEVENT']._serialized_end=3577 + _globals['_EVENTNOTIFICATIONSERVICE']._serialized_start=3769 + _globals['_EVENTNOTIFICATIONSERVICE']._serialized_end=4599 +# @@protoc_insertion_point(module_scope) diff --git a/aruna/api/notification/services/v2/notification_service_pb2.pyi b/aruna/api/notification/services/v2/notification_service_pb2.pyi new file mode 100644 index 0000000..facc8b3 --- /dev/null +++ b/aruna/api/notification/services/v2/notification_service_pb2.pyi @@ -0,0 +1,221 @@ +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from aruna.api.storage.models.v2 import models_pb2 as _models_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 EventVariant(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + EVENT_VARIANT_UNSPECIFIED: _ClassVar[EventVariant] + EVENT_VARIANT_CREATED: _ClassVar[EventVariant] + EVENT_VARIANT_AVAILABLE: _ClassVar[EventVariant] + EVENT_VARIANT_UPDATED: _ClassVar[EventVariant] + EVENT_VARIANT_DELETED: _ClassVar[EventVariant] + EVENT_VARIANT_SNAPSHOTTED: _ClassVar[EventVariant] +EVENT_VARIANT_UNSPECIFIED: EventVariant +EVENT_VARIANT_CREATED: EventVariant +EVENT_VARIANT_AVAILABLE: EventVariant +EVENT_VARIANT_UPDATED: EventVariant +EVENT_VARIANT_DELETED: EventVariant +EVENT_VARIANT_SNAPSHOTTED: EventVariant + +class Resource(_message.Message): + __slots__ = ["resource_id", "persistent_resource_id", "checksum", "resource_variant"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + PERSISTENT_RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + CHECKSUM_FIELD_NUMBER: _ClassVar[int] + RESOURCE_VARIANT_FIELD_NUMBER: _ClassVar[int] + resource_id: str + persistent_resource_id: bool + checksum: str + resource_variant: _models_pb2.ResourceVariant + def __init__(self, resource_id: _Optional[str] = ..., persistent_resource_id: bool = ..., checksum: _Optional[str] = ..., resource_variant: _Optional[_Union[_models_pb2.ResourceVariant, str]] = ...) -> None: ... + +class ResourceTarget(_message.Message): + __slots__ = ["resource_id", "resource_variant"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + RESOURCE_VARIANT_FIELD_NUMBER: _ClassVar[int] + resource_id: str + resource_variant: _models_pb2.ResourceVariant + def __init__(self, resource_id: _Optional[str] = ..., resource_variant: _Optional[_Union[_models_pb2.ResourceVariant, str]] = ...) -> None: ... + +class CreateStreamConsumerRequest(_message.Message): + __slots__ = ["resource", "user", "anouncements", "all", "include_subresources", "stream_all", "stream_from_date", "stream_from_sequence"] + RESOURCE_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + ANOUNCEMENTS_FIELD_NUMBER: _ClassVar[int] + ALL_FIELD_NUMBER: _ClassVar[int] + INCLUDE_SUBRESOURCES_FIELD_NUMBER: _ClassVar[int] + STREAM_ALL_FIELD_NUMBER: _ClassVar[int] + STREAM_FROM_DATE_FIELD_NUMBER: _ClassVar[int] + STREAM_FROM_SEQUENCE_FIELD_NUMBER: _ClassVar[int] + resource: ResourceTarget + user: str + anouncements: bool + all: bool + include_subresources: bool + stream_all: StreamAll + stream_from_date: StreamFromDate + stream_from_sequence: StreamFromSequence + def __init__(self, resource: _Optional[_Union[ResourceTarget, _Mapping]] = ..., user: _Optional[str] = ..., anouncements: bool = ..., all: bool = ..., include_subresources: bool = ..., stream_all: _Optional[_Union[StreamAll, _Mapping]] = ..., stream_from_date: _Optional[_Union[StreamFromDate, _Mapping]] = ..., stream_from_sequence: _Optional[_Union[StreamFromSequence, _Mapping]] = ...) -> None: ... + +class CreateStreamConsumerResponse(_message.Message): + __slots__ = ["stream_consumer"] + STREAM_CONSUMER_FIELD_NUMBER: _ClassVar[int] + stream_consumer: str + def __init__(self, stream_consumer: _Optional[str] = ...) -> None: ... + +class GetEventMessageBatchRequest(_message.Message): + __slots__ = ["stream_consumer", "batch_size"] + STREAM_CONSUMER_FIELD_NUMBER: _ClassVar[int] + BATCH_SIZE_FIELD_NUMBER: _ClassVar[int] + stream_consumer: str + batch_size: int + def __init__(self, stream_consumer: _Optional[str] = ..., batch_size: _Optional[int] = ...) -> None: ... + +class GetEventMessageBatchResponse(_message.Message): + __slots__ = ["messages"] + MESSAGES_FIELD_NUMBER: _ClassVar[int] + messages: _containers.RepeatedCompositeFieldContainer[EventMessage] + def __init__(self, messages: _Optional[_Iterable[_Union[EventMessage, _Mapping]]] = ...) -> None: ... + +class GetEventMessageStreamRequest(_message.Message): + __slots__ = ["stream_consumer"] + STREAM_CONSUMER_FIELD_NUMBER: _ClassVar[int] + stream_consumer: str + def __init__(self, stream_consumer: _Optional[str] = ...) -> None: ... + +class GetEventMessageStreamResponse(_message.Message): + __slots__ = ["message"] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + message: EventMessage + def __init__(self, message: _Optional[_Union[EventMessage, _Mapping]] = ...) -> None: ... + +class AcknowledgeMessageBatchRequest(_message.Message): + __slots__ = ["replies"] + REPLIES_FIELD_NUMBER: _ClassVar[int] + replies: _containers.RepeatedCompositeFieldContainer[Reply] + def __init__(self, replies: _Optional[_Iterable[_Union[Reply, _Mapping]]] = ...) -> None: ... + +class AcknowledgeMessageBatchResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class DeleteStreamConsumerRequest(_message.Message): + __slots__ = ["stream_consumer"] + STREAM_CONSUMER_FIELD_NUMBER: _ClassVar[int] + stream_consumer: str + def __init__(self, stream_consumer: _Optional[str] = ...) -> None: ... + +class DeleteStreamConsumerResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class StreamFromSequence(_message.Message): + __slots__ = ["sequence"] + SEQUENCE_FIELD_NUMBER: _ClassVar[int] + sequence: int + def __init__(self, sequence: _Optional[int] = ...) -> None: ... + +class StreamFromDate(_message.Message): + __slots__ = ["timestamp"] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + timestamp: _timestamp_pb2.Timestamp + def __init__(self, timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class StreamAll(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class EventMessage(_message.Message): + __slots__ = ["resource_event", "user_event", "announcement_event"] + RESOURCE_EVENT_FIELD_NUMBER: _ClassVar[int] + USER_EVENT_FIELD_NUMBER: _ClassVar[int] + ANNOUNCEMENT_EVENT_FIELD_NUMBER: _ClassVar[int] + resource_event: ResourceEvent + user_event: UserEvent + announcement_event: AnouncementEvent + def __init__(self, resource_event: _Optional[_Union[ResourceEvent, _Mapping]] = ..., user_event: _Optional[_Union[UserEvent, _Mapping]] = ..., announcement_event: _Optional[_Union[AnouncementEvent, _Mapping]] = ...) -> None: ... + +class ResourceEvent(_message.Message): + __slots__ = ["resource", "event_variant", "reply"] + RESOURCE_FIELD_NUMBER: _ClassVar[int] + EVENT_VARIANT_FIELD_NUMBER: _ClassVar[int] + REPLY_FIELD_NUMBER: _ClassVar[int] + resource: Resource + event_variant: EventVariant + reply: Reply + def __init__(self, resource: _Optional[_Union[Resource, _Mapping]] = ..., event_variant: _Optional[_Union[EventVariant, str]] = ..., reply: _Optional[_Union[Reply, _Mapping]] = ...) -> None: ... + +class UserEvent(_message.Message): + __slots__ = ["user_id", "event_variant", "checksum", "reply"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + EVENT_VARIANT_FIELD_NUMBER: _ClassVar[int] + CHECKSUM_FIELD_NUMBER: _ClassVar[int] + REPLY_FIELD_NUMBER: _ClassVar[int] + user_id: str + event_variant: EventVariant + checksum: str + reply: Reply + def __init__(self, user_id: _Optional[str] = ..., event_variant: _Optional[_Union[EventVariant, str]] = ..., checksum: _Optional[str] = ..., reply: _Optional[_Union[Reply, _Mapping]] = ...) -> None: ... + +class Reply(_message.Message): + __slots__ = ["reply", "salt", "hmac"] + REPLY_FIELD_NUMBER: _ClassVar[int] + SALT_FIELD_NUMBER: _ClassVar[int] + HMAC_FIELD_NUMBER: _ClassVar[int] + reply: str + salt: str + hmac: str + def __init__(self, reply: _Optional[str] = ..., salt: _Optional[str] = ..., hmac: _Optional[str] = ...) -> None: ... + +class ScheduledDowntime(_message.Message): + __slots__ = ["location", "component", "to"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + COMPONENT_FIELD_NUMBER: _ClassVar[int] + FROM_FIELD_NUMBER: _ClassVar[int] + TO_FIELD_NUMBER: _ClassVar[int] + location: str + component: str + to: _timestamp_pb2.Timestamp + def __init__(self, location: _Optional[str] = ..., component: _Optional[str] = ..., to: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., **kwargs) -> None: ... + +class NewVersion(_message.Message): + __slots__ = ["location", "component", "new_version"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + COMPONENT_FIELD_NUMBER: _ClassVar[int] + NEW_VERSION_FIELD_NUMBER: _ClassVar[int] + location: str + component: str + new_version: str + def __init__(self, location: _Optional[str] = ..., component: _Optional[str] = ..., new_version: _Optional[str] = ...) -> None: ... + +class NewPubkey(_message.Message): + __slots__ = ["pubkey"] + PUBKEY_FIELD_NUMBER: _ClassVar[int] + pubkey: str + def __init__(self, pubkey: _Optional[str] = ...) -> None: ... + +class AnouncementEvent(_message.Message): + __slots__ = ["new_data_proxy_id", "remove_data_proxy_id", "update_data_proxy_id", "new_pubkey", "remove_pubkey", "downtime", "version", "reply"] + NEW_DATA_PROXY_ID_FIELD_NUMBER: _ClassVar[int] + REMOVE_DATA_PROXY_ID_FIELD_NUMBER: _ClassVar[int] + UPDATE_DATA_PROXY_ID_FIELD_NUMBER: _ClassVar[int] + NEW_PUBKEY_FIELD_NUMBER: _ClassVar[int] + REMOVE_PUBKEY_FIELD_NUMBER: _ClassVar[int] + DOWNTIME_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + REPLY_FIELD_NUMBER: _ClassVar[int] + new_data_proxy_id: str + remove_data_proxy_id: str + update_data_proxy_id: str + new_pubkey: int + remove_pubkey: int + downtime: ScheduledDowntime + version: NewVersion + reply: Reply + def __init__(self, new_data_proxy_id: _Optional[str] = ..., remove_data_proxy_id: _Optional[str] = ..., update_data_proxy_id: _Optional[str] = ..., new_pubkey: _Optional[int] = ..., remove_pubkey: _Optional[int] = ..., downtime: _Optional[_Union[ScheduledDowntime, _Mapping]] = ..., version: _Optional[_Union[NewVersion, _Mapping]] = ..., reply: _Optional[_Union[Reply, _Mapping]] = ...) -> None: ... diff --git a/aruna/api/notification/services/v2/notification_service_pb2_grpc.py b/aruna/api/notification/services/v2/notification_service_pb2_grpc.py new file mode 100644 index 0000000..bf46b09 --- /dev/null +++ b/aruna/api/notification/services/v2/notification_service_pb2_grpc.py @@ -0,0 +1,227 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.notification.services.v2 import notification_service_pb2 as aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2 + + +class EventNotificationServiceStub(object): + """EventNotificationService + + A service to receive events in the AOS storage + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateStreamConsumer = channel.unary_unary( + '/aruna.api.notification.services.v2.EventNotificationService/CreateStreamConsumer', + request_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.CreateStreamConsumerRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.CreateStreamConsumerResponse.FromString, + ) + self.GetEventMessageBatch = channel.unary_unary( + '/aruna.api.notification.services.v2.EventNotificationService/GetEventMessageBatch', + request_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageBatchRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageBatchResponse.FromString, + ) + self.GetEventMessageStream = channel.unary_stream( + '/aruna.api.notification.services.v2.EventNotificationService/GetEventMessageStream', + request_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageStreamRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageStreamResponse.FromString, + ) + self.AcknowledgeMessageBatch = channel.unary_unary( + '/aruna.api.notification.services.v2.EventNotificationService/AcknowledgeMessageBatch', + request_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.AcknowledgeMessageBatchRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.AcknowledgeMessageBatchResponse.FromString, + ) + self.DeleteStreamConsumer = channel.unary_unary( + '/aruna.api.notification.services.v2.EventNotificationService/DeleteStreamConsumer', + request_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.DeleteStreamConsumerRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.DeleteStreamConsumerResponse.FromString, + ) + + +class EventNotificationServiceServicer(object): + """EventNotificationService + + A service to receive events in the AOS storage + """ + + def CreateStreamConsumer(self, request, context): + """CreateStreamConsumer + + Creates a new event stream consumer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetEventMessageBatch(self, request, context): + """GetEventMessageBatch + + Reads a set of messages from a given stream group + Each message contains a separate acknowledgement message thatis protected by a salt and an hmac for verification. + The message can be send directly through the AcknowledgeMessageBatch call to acknowledge the message. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetEventMessageStream(self, request, context): + """GetEventMessageBatch + + Opens a stream which pushes each received notification individual and just-in-time. + Each message contains a separate acknowledgement message that is protected by a salt and an hmac for verification. + The message can be send directly through the AcknowledgeMessageBatch call to acknowledge the message. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AcknowledgeMessageBatch(self, request, context): + """AcknowledgeMessageBatch + + List of messages to acknowledge + Each reply is protected by a salt and and hmac that verifies the message + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteStreamConsumer(self, request, context): + """DeleteEventStreamingGroup + + Deletes an existing event stream consumer by ID. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_EventNotificationServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateStreamConsumer': grpc.unary_unary_rpc_method_handler( + servicer.CreateStreamConsumer, + request_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.CreateStreamConsumerRequest.FromString, + response_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.CreateStreamConsumerResponse.SerializeToString, + ), + 'GetEventMessageBatch': grpc.unary_unary_rpc_method_handler( + servicer.GetEventMessageBatch, + request_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageBatchRequest.FromString, + response_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageBatchResponse.SerializeToString, + ), + 'GetEventMessageStream': grpc.unary_stream_rpc_method_handler( + servicer.GetEventMessageStream, + request_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageStreamRequest.FromString, + response_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageStreamResponse.SerializeToString, + ), + 'AcknowledgeMessageBatch': grpc.unary_unary_rpc_method_handler( + servicer.AcknowledgeMessageBatch, + request_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.AcknowledgeMessageBatchRequest.FromString, + response_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.AcknowledgeMessageBatchResponse.SerializeToString, + ), + 'DeleteStreamConsumer': grpc.unary_unary_rpc_method_handler( + servicer.DeleteStreamConsumer, + request_deserializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.DeleteStreamConsumerRequest.FromString, + response_serializer=aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.DeleteStreamConsumerResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.notification.services.v2.EventNotificationService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class EventNotificationService(object): + """EventNotificationService + + A service to receive events in the AOS storage + """ + + @staticmethod + def CreateStreamConsumer(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.notification.services.v2.EventNotificationService/CreateStreamConsumer', + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.CreateStreamConsumerRequest.SerializeToString, + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.CreateStreamConsumerResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetEventMessageBatch(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.notification.services.v2.EventNotificationService/GetEventMessageBatch', + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageBatchRequest.SerializeToString, + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageBatchResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetEventMessageStream(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/aruna.api.notification.services.v2.EventNotificationService/GetEventMessageStream', + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageStreamRequest.SerializeToString, + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.GetEventMessageStreamResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AcknowledgeMessageBatch(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.notification.services.v2.EventNotificationService/AcknowledgeMessageBatch', + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.AcknowledgeMessageBatchRequest.SerializeToString, + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.AcknowledgeMessageBatchResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteStreamConsumer(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.notification.services.v2.EventNotificationService/DeleteStreamConsumer', + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.DeleteStreamConsumerRequest.SerializeToString, + aruna_dot_api_dot_notification_dot_services_dot_v2_dot_notification__service__pb2.DeleteStreamConsumerResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/models/v2/models_pb2.py b/aruna/api/storage/models/v2/models_pb2.py new file mode 100644 index 0000000..b46ae54 --- /dev/null +++ b/aruna/api/storage/models/v2/models_pb2.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/models/v2/models.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(aruna/api/storage/models/v2/models.proto\x12\x1b\x61runa.api.storage.models.v2\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd5\x01\n\x04User\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0b\x65xternal_id\x18\x02 \x01(\tR\nexternalId\x12!\n\x0c\x64isplay_name\x18\x03 \x01(\tR\x0b\x64isplayName\x12\x16\n\x06\x61\x63tive\x18\x04 \x01(\x08R\x06\x61\x63tive\x12\x14\n\x05\x65mail\x18\x05 \x01(\tR\x05\x65mail\x12K\n\nattributes\x18\x06 \x01(\x0b\x32+.aruna.api.storage.models.v2.UserAttributesR\nattributes\"\xfc\x01\n\nPermission\x12\x1f\n\nproject_id\x18\x01 \x01(\tH\x00R\tprojectId\x12%\n\rcollection_id\x18\x02 \x01(\tH\x00R\x0c\x63ollectionId\x12\x1f\n\ndataset_id\x18\x03 \x01(\tH\x00R\tdatasetId\x12\x1d\n\tobject_id\x18\x04 \x01(\tH\x00R\x08objectId\x12W\n\x10permission_level\x18\x06 \x01(\x0e\x32,.aruna.api.storage.models.v2.PermissionLevelR\x0fpermissionLevelB\r\n\x0bresource_id\"\xea\x01\n\x05Token\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x39\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12G\n\npermission\x18\x05 \x01(\x0b\x32\'.aruna.api.storage.models.v2.PermissionR\npermission\"F\n\x06Pubkey\x12\x0e\n\x02id\x18\x01 \x01(\x05R\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x1a\n\x08location\x18\x03 \x01(\tR\x08location\"b\n\x10\x43ustomAttributes\x12%\n\x0e\x61ttribute_name\x18\x01 \x01(\tR\rattributeName\x12\'\n\x0f\x61ttribute_value\x18\x02 \x01(\tR\x0e\x61ttributeValue\"\xfd\x02\n\x0eUserAttributes\x12!\n\x0cglobal_admin\x18\x01 \x01(\x08R\x0bglobalAdmin\x12\'\n\x0fservice_account\x18\x02 \x01(\x08R\x0eserviceAccount\x12:\n\x06tokens\x18\x03 \x03(\x0b\x32\".aruna.api.storage.models.v2.TokenR\x06tokens\x12+\n\x11trusted_endpoints\x18\x04 \x03(\tR\x10trustedEndpoints\x12Z\n\x11\x63ustom_attributes\x18\x05 \x03(\x0b\x32-.aruna.api.storage.models.v2.CustomAttributesR\x10\x63ustomAttributes\x12Z\n\x14personal_permissions\x18\x06 \x03(\x0b\x32\'.aruna.api.storage.models.v2.PermissionR\x13personalPermissions\"z\n\x08KeyValue\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12\x46\n\x07variant\x18\x03 \x01(\x0e\x32,.aruna.api.storage.models.v2.KeyValueVariantR\x07variant\"\xb0\x01\n\x08Relation\x12K\n\x08\x65xternal\x18\x01 \x01(\x0b\x32-.aruna.api.storage.models.v2.ExternalRelationH\x00R\x08\x65xternal\x12K\n\x08internal\x18\x02 \x01(\x0b\x32-.aruna.api.storage.models.v2.InternalRelationH\x00R\x08internalB\n\n\x08relation\"\xd0\x01\n\x10\x45xternalRelation\x12\x1e\n\nidentifier\x18\x01 \x01(\tR\nidentifier\x12]\n\x0f\x64\x65\x66ined_variant\x18\x02 \x01(\x0e\x32\x34.aruna.api.storage.models.v2.ExternalRelationVariantR\x0e\x64\x65\x66inedVariant\x12*\n\x0e\x63ustom_variant\x18\x03 \x01(\tH\x00R\rcustomVariant\x88\x01\x01\x42\x11\n\x0f_custom_variant\"\xf8\x02\n\x10InternalRelation\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12W\n\x10resource_variant\x18\x02 \x01(\x0e\x32,.aruna.api.storage.models.v2.ResourceVariantR\x0fresourceVariant\x12]\n\x0f\x64\x65\x66ined_variant\x18\x03 \x01(\x0e\x32\x34.aruna.api.storage.models.v2.InternalRelationVariantR\x0e\x64\x65\x66inedVariant\x12*\n\x0e\x63ustom_variant\x18\x04 \x01(\tH\x00R\rcustomVariant\x88\x01\x01\x12L\n\tdirection\x18\x05 \x01(\x0e\x32..aruna.api.storage.models.v2.RelationDirectionR\tdirectionB\x11\n\x0f_custom_variant\"K\n\x0bPageRequest\x12\x1f\n\x0bstart_after\x18\x01 \x01(\tR\nstartAfter\x12\x1b\n\tpage_size\x18\x02 \x01(\x03R\x08pageSize\"p\n\x05Stats\x12\x14\n\x05\x63ount\x18\x01 \x01(\x03R\x05\x63ount\x12\x12\n\x04size\x18\x02 \x01(\x03R\x04size\x12=\n\x0clast_updated\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0blastUpdated\"X\n\x04Hash\x12<\n\x03\x61lg\x18\x01 \x01(\x0e\x32*.aruna.api.storage.models.v2.HashalgorithmR\x03\x61lg\x12\x12\n\x04hash\x18\x02 \x01(\tR\x04hash\"\xc4\x01\n\x12\x45ndpointHostConfig\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x1d\n\nis_primary\x18\x02 \x01(\x08R\tisPrimary\x12\x10\n\x03ssl\x18\x03 \x01(\x08R\x03ssl\x12\x16\n\x06public\x18\x04 \x01(\x08R\x06public\x12S\n\x0chost_variant\x18\x05 \x01(\x0e\x32\x30.aruna.api.storage.models.v2.EndpointHostVariantR\x0bhostVariant\"\xb2\x02\n\x08\x45ndpoint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12K\n\nep_variant\x18\x02 \x01(\x0e\x32,.aruna.api.storage.models.v2.EndpointVariantR\tepVariant\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x1b\n\tis_public\x18\x04 \x01(\x08R\x08isPublic\x12\x44\n\x06status\x18\x05 \x01(\x0e\x32,.aruna.api.storage.models.v2.ComponentStatusR\x06status\x12R\n\x0chost_configs\x18\x06 \x03(\x0b\x32/.aruna.api.storage.models.v2.EndpointHostConfigR\x0bhostConfigs\"?\n\x0c\x44\x61taEndpoint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0b\x66ull_synced\x18\x02 \x01(\x08R\nfullSynced\"_\n\x04\x43opy\x12\x1a\n\x08resource\x18\x01 \x01(\tR\x08resource\x12\'\n\x0ftarget_endpoint\x18\x02 \x01(\tR\x0etargetEndpoint\x12\x12\n\x04push\x18\x03 \x01(\x08R\x04push\"v\n\x07\x43ontext\x12\'\n\x0es3_credentials\x18\x01 \x01(\x08H\x00R\rs3Credentials\x12\x37\n\x04\x63opy\x18\x02 \x01(\x0b\x32!.aruna.api.storage.models.v2.CopyH\x00R\x04\x63opyB\t\n\x07\x63ontext\"\xab\x02\n\x0fGenericResource\x12@\n\x07project\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.ProjectH\x00R\x07project\x12I\n\ncollection\x18\x02 \x01(\x0b\x32\'.aruna.api.storage.models.v2.CollectionH\x00R\ncollection\x12@\n\x07\x64\x61taset\x18\x03 \x01(\x0b\x32$.aruna.api.storage.models.v2.DatasetH\x00R\x07\x64\x61taset\x12=\n\x06object\x18\x04 \x01(\x0b\x32#.aruna.api.storage.models.v2.ObjectH\x00R\x06objectB\n\n\x08resource\"\xd5\x04\n\x07Project\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x44\n\nkey_values\x18\x04 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\tkeyValues\x12\x43\n\trelations\x18\x05 \x03(\x0b\x32%.aruna.api.storage.models.v2.RelationR\trelations\x12\x38\n\x05stats\x18\x06 \x01(\x0b\x32\".aruna.api.storage.models.v2.StatsR\x05stats\x12\x45\n\ndata_class\x18\x07 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\x12\x39\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1d\n\ncreated_by\x18\t \x01(\tR\tcreatedBy\x12;\n\x06status\x18\n \x01(\x0e\x32#.aruna.api.storage.models.v2.StatusR\x06status\x12\x18\n\x07\x64ynamic\x18\x0b \x01(\x08R\x07\x64ynamic\x12G\n\tendpoints\x18\x0c \x03(\x0b\x32).aruna.api.storage.models.v2.DataEndpointR\tendpoints\"\xd8\x04\n\nCollection\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x44\n\nkey_values\x18\x04 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\tkeyValues\x12\x43\n\trelations\x18\x05 \x03(\x0b\x32%.aruna.api.storage.models.v2.RelationR\trelations\x12\x38\n\x05stats\x18\x06 \x01(\x0b\x32\".aruna.api.storage.models.v2.StatsR\x05stats\x12\x45\n\ndata_class\x18\x07 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\x12\x39\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1d\n\ncreated_by\x18\t \x01(\tR\tcreatedBy\x12;\n\x06status\x18\n \x01(\x0e\x32#.aruna.api.storage.models.v2.StatusR\x06status\x12\x18\n\x07\x64ynamic\x18\x0b \x01(\x08R\x07\x64ynamic\x12G\n\tendpoints\x18\x0c \x03(\x0b\x32).aruna.api.storage.models.v2.DataEndpointR\tendpoints\"\xd5\x04\n\x07\x44\x61taset\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x44\n\nkey_values\x18\x04 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\tkeyValues\x12\x43\n\trelations\x18\x05 \x03(\x0b\x32%.aruna.api.storage.models.v2.RelationR\trelations\x12\x38\n\x05stats\x18\x06 \x01(\x0b\x32\".aruna.api.storage.models.v2.StatsR\x05stats\x12\x45\n\ndata_class\x18\x07 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\x12\x39\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1d\n\ncreated_by\x18\t \x01(\tR\tcreatedBy\x12;\n\x06status\x18\n \x01(\x0e\x32#.aruna.api.storage.models.v2.StatusR\x06status\x12\x18\n\x07\x64ynamic\x18\x0b \x01(\x08R\x07\x64ynamic\x12G\n\tendpoints\x18\x0c \x03(\x0b\x32).aruna.api.storage.models.v2.DataEndpointR\tendpoints\"\xf6\x04\n\x06Object\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x44\n\nkey_values\x18\x04 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\tkeyValues\x12\x43\n\trelations\x18\x05 \x03(\x0b\x32%.aruna.api.storage.models.v2.RelationR\trelations\x12\x1f\n\x0b\x63ontent_len\x18\x06 \x01(\x03R\ncontentLen\x12\x45\n\ndata_class\x18\x07 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\x12\x39\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1d\n\ncreated_by\x18\t \x01(\tR\tcreatedBy\x12;\n\x06status\x18\n \x01(\x0e\x32#.aruna.api.storage.models.v2.StatusR\x06status\x12\x18\n\x07\x64ynamic\x18\x0b \x01(\x08R\x07\x64ynamic\x12G\n\tendpoints\x18\x0c \x03(\x0b\x32).aruna.api.storage.models.v2.DataEndpointR\tendpoints\x12\x39\n\x06hashes\x18\r \x03(\x0b\x32!.aruna.api.storage.models.v2.HashR\x06hashes*\x8d\x01\n\tDataClass\x12\x1a\n\x16\x44\x41TA_CLASS_UNSPECIFIED\x10\x00\x12\x15\n\x11\x44\x41TA_CLASS_PUBLIC\x10\x01\x12\x16\n\x12\x44\x41TA_CLASS_PRIVATE\x10\x02\x12\x18\n\x14\x44\x41TA_CLASS_WORKSPACE\x10\x04\x12\x1b\n\x17\x44\x41TA_CLASS_CONFIDENTIAL\x10\x05*s\n\x0f\x45ndpointVariant\x12 \n\x1c\x45NDPOINT_VARIANT_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x45NDPOINT_VARIANT_PERSISTENT\x10\x01\x12\x1d\n\x19\x45NDPOINT_VARIANT_VOLATILE\x10\x02*z\n\x13\x45ndpointHostVariant\x12%\n!ENDPOINT_HOST_VARIANT_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x45NDPOINT_HOST_VARIANT_GRPC\x10\x01\x12\x1c\n\x18\x45NDPOINT_HOST_VARIANT_S3\x10\x02*\xbe\x01\n\x0fPermissionLevel\x12 \n\x1cPERMISSION_LEVEL_UNSPECIFIED\x10\x00\x12\x19\n\x15PERMISSION_LEVEL_NONE\x10\x02\x12\x19\n\x15PERMISSION_LEVEL_READ\x10\x03\x12\x1b\n\x17PERMISSION_LEVEL_APPEND\x10\x04\x12\x1a\n\x16PERMISSION_LEVEL_WRITE\x10\x05\x12\x1a\n\x16PERMISSION_LEVEL_ADMIN\x10\x06*\xb4\x01\n\x0fKeyValueVariant\x12!\n\x1dKEY_VALUE_VARIANT_UNSPECIFIED\x10\x00\x12\x1b\n\x17KEY_VALUE_VARIANT_LABEL\x10\x01\x12\"\n\x1eKEY_VALUE_VARIANT_STATIC_LABEL\x10\x02\x12\x1a\n\x16KEY_VALUE_VARIANT_HOOK\x10\x03\x12!\n\x1dKEY_VALUE_VARIANT_HOOK_STATUS\x10\x04*\xb7\x01\n\x17\x45xternalRelationVariant\x12)\n%EXTERNAL_RELATION_VARIANT_UNSPECIFIED\x10\x00\x12!\n\x1d\x45XTERNAL_RELATION_VARIANT_URL\x10\x01\x12(\n$EXTERNAL_RELATION_VARIANT_IDENTIFIER\x10\x02\x12$\n EXTERNAL_RELATION_VARIANT_CUSTOM\x10\x03*\xaf\x02\n\x17InternalRelationVariant\x12)\n%INTERNAL_RELATION_VARIANT_UNSPECIFIED\x10\x00\x12(\n$INTERNAL_RELATION_VARIANT_BELONGS_TO\x10\x01\x12$\n INTERNAL_RELATION_VARIANT_ORIGIN\x10\x02\x12%\n!INTERNAL_RELATION_VARIANT_VERSION\x10\x03\x12&\n\"INTERNAL_RELATION_VARIANT_METADATA\x10\x04\x12$\n INTERNAL_RELATION_VARIANT_POLICY\x10\x05\x12$\n INTERNAL_RELATION_VARIANT_CUSTOM\x10\x06*x\n\x11RelationDirection\x12\"\n\x1eRELATION_DIRECTION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aRELATION_DIRECTION_INBOUND\x10\x01\x12\x1f\n\x1bRELATION_DIRECTION_OUTBOUND\x10\x02*\xbb\x01\n\x0eResourceAction\x12\x1f\n\x1bRESOURCE_ACTION_UNSPECIFIED\x10\x00\x12\x1a\n\x16RESOURCE_ACTION_CREATE\x10\x01\x12\x1a\n\x16RESOURCE_ACTION_APPEND\x10\x02\x12\x1a\n\x16RESOURCE_ACTION_UPDATE\x10\x03\x12\x18\n\x14RESOURCE_ACTION_READ\x10\x04\x12\x1a\n\x16RESOURCE_ACTION_DELETE\x10\x05*\xa4\x01\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x17\n\x13STATUS_INITIALIZING\x10\x01\x12\x15\n\x11STATUS_VALIDATING\x10\x02\x12\x14\n\x10STATUS_AVAILABLE\x10\x03\x12\x16\n\x12STATUS_UNAVAILABLE\x10\x04\x12\x10\n\x0cSTATUS_ERROR\x10\x05\x12\x12\n\x0eSTATUS_DELETED\x10\x06*\xd9\x01\n\x0f\x43omponentStatus\x12 \n\x1c\x43OMPONENT_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x43OMPONENT_STATUS_INITIALIZING\x10\x01\x12\x1e\n\x1a\x43OMPONENT_STATUS_AVAILABLE\x10\x02\x12\x1d\n\x19\x43OMPONENT_STATUS_DEGRADED\x10\x03\x12 \n\x1c\x43OMPONENT_STATUS_UNAVAILABLE\x10\x04\x12 \n\x1c\x43OMPONENT_STATUS_MAINTENANCE\x10\x05*_\n\rHashalgorithm\x12\x1d\n\x19HASHALGORITHM_UNSPECIFIED\x10\x00\x12\x15\n\x11HASHALGORITHM_MD5\x10\x01\x12\x18\n\x14HASHALGORITHM_SHA256\x10\x02*\xad\x01\n\x0fResourceVariant\x12 \n\x1cRESOURCE_VARIANT_UNSPECIFIED\x10\x00\x12\x1c\n\x18RESOURCE_VARIANT_PROJECT\x10\x01\x12\x1f\n\x1bRESOURCE_VARIANT_COLLECTION\x10\x02\x12\x1c\n\x18RESOURCE_VARIANT_DATASET\x10\x03\x12\x1b\n\x17RESOURCE_VARIANT_OBJECT\x10\x04\x42 None: ... + +class Permission(_message.Message): + __slots__ = ["project_id", "collection_id", "dataset_id", "object_id", "permission_level"] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + PERMISSION_LEVEL_FIELD_NUMBER: _ClassVar[int] + project_id: str + collection_id: str + dataset_id: str + object_id: str + permission_level: PermissionLevel + def __init__(self, project_id: _Optional[str] = ..., collection_id: _Optional[str] = ..., dataset_id: _Optional[str] = ..., object_id: _Optional[str] = ..., permission_level: _Optional[_Union[PermissionLevel, str]] = ...) -> None: ... + +class Token(_message.Message): + __slots__ = ["id", "name", "created_at", "expires_at", "permission"] + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + PERMISSION_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + created_at: _timestamp_pb2.Timestamp + expires_at: _timestamp_pb2.Timestamp + permission: Permission + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., permission: _Optional[_Union[Permission, _Mapping]] = ...) -> None: ... + +class Pubkey(_message.Message): + __slots__ = ["id", "key", "location"] + ID_FIELD_NUMBER: _ClassVar[int] + KEY_FIELD_NUMBER: _ClassVar[int] + LOCATION_FIELD_NUMBER: _ClassVar[int] + id: int + key: str + location: str + def __init__(self, id: _Optional[int] = ..., key: _Optional[str] = ..., location: _Optional[str] = ...) -> None: ... + +class CustomAttributes(_message.Message): + __slots__ = ["attribute_name", "attribute_value"] + ATTRIBUTE_NAME_FIELD_NUMBER: _ClassVar[int] + ATTRIBUTE_VALUE_FIELD_NUMBER: _ClassVar[int] + attribute_name: str + attribute_value: str + def __init__(self, attribute_name: _Optional[str] = ..., attribute_value: _Optional[str] = ...) -> None: ... + +class UserAttributes(_message.Message): + __slots__ = ["global_admin", "service_account", "tokens", "trusted_endpoints", "custom_attributes", "personal_permissions"] + GLOBAL_ADMIN_FIELD_NUMBER: _ClassVar[int] + SERVICE_ACCOUNT_FIELD_NUMBER: _ClassVar[int] + TOKENS_FIELD_NUMBER: _ClassVar[int] + TRUSTED_ENDPOINTS_FIELD_NUMBER: _ClassVar[int] + CUSTOM_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] + PERSONAL_PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + global_admin: bool + service_account: bool + tokens: _containers.RepeatedCompositeFieldContainer[Token] + trusted_endpoints: _containers.RepeatedScalarFieldContainer[str] + custom_attributes: _containers.RepeatedCompositeFieldContainer[CustomAttributes] + personal_permissions: _containers.RepeatedCompositeFieldContainer[Permission] + def __init__(self, global_admin: bool = ..., service_account: bool = ..., tokens: _Optional[_Iterable[_Union[Token, _Mapping]]] = ..., trusted_endpoints: _Optional[_Iterable[str]] = ..., custom_attributes: _Optional[_Iterable[_Union[CustomAttributes, _Mapping]]] = ..., personal_permissions: _Optional[_Iterable[_Union[Permission, _Mapping]]] = ...) -> None: ... + +class KeyValue(_message.Message): + __slots__ = ["key", "value", "variant"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + VARIANT_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + variant: KeyValueVariant + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ..., variant: _Optional[_Union[KeyValueVariant, str]] = ...) -> None: ... + +class Relation(_message.Message): + __slots__ = ["external", "internal"] + EXTERNAL_FIELD_NUMBER: _ClassVar[int] + INTERNAL_FIELD_NUMBER: _ClassVar[int] + external: ExternalRelation + internal: InternalRelation + def __init__(self, external: _Optional[_Union[ExternalRelation, _Mapping]] = ..., internal: _Optional[_Union[InternalRelation, _Mapping]] = ...) -> None: ... + +class ExternalRelation(_message.Message): + __slots__ = ["identifier", "defined_variant", "custom_variant"] + IDENTIFIER_FIELD_NUMBER: _ClassVar[int] + DEFINED_VARIANT_FIELD_NUMBER: _ClassVar[int] + CUSTOM_VARIANT_FIELD_NUMBER: _ClassVar[int] + identifier: str + defined_variant: ExternalRelationVariant + custom_variant: str + def __init__(self, identifier: _Optional[str] = ..., defined_variant: _Optional[_Union[ExternalRelationVariant, str]] = ..., custom_variant: _Optional[str] = ...) -> None: ... + +class InternalRelation(_message.Message): + __slots__ = ["resource_id", "resource_variant", "defined_variant", "custom_variant", "direction"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + RESOURCE_VARIANT_FIELD_NUMBER: _ClassVar[int] + DEFINED_VARIANT_FIELD_NUMBER: _ClassVar[int] + CUSTOM_VARIANT_FIELD_NUMBER: _ClassVar[int] + DIRECTION_FIELD_NUMBER: _ClassVar[int] + resource_id: str + resource_variant: ResourceVariant + defined_variant: InternalRelationVariant + custom_variant: str + direction: RelationDirection + def __init__(self, resource_id: _Optional[str] = ..., resource_variant: _Optional[_Union[ResourceVariant, str]] = ..., defined_variant: _Optional[_Union[InternalRelationVariant, str]] = ..., custom_variant: _Optional[str] = ..., direction: _Optional[_Union[RelationDirection, str]] = ...) -> None: ... + +class PageRequest(_message.Message): + __slots__ = ["start_after", "page_size"] + START_AFTER_FIELD_NUMBER: _ClassVar[int] + PAGE_SIZE_FIELD_NUMBER: _ClassVar[int] + start_after: str + page_size: int + def __init__(self, start_after: _Optional[str] = ..., page_size: _Optional[int] = ...) -> None: ... + +class Stats(_message.Message): + __slots__ = ["count", "size", "last_updated"] + COUNT_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + LAST_UPDATED_FIELD_NUMBER: _ClassVar[int] + count: int + size: int + last_updated: _timestamp_pb2.Timestamp + def __init__(self, count: _Optional[int] = ..., size: _Optional[int] = ..., last_updated: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class Hash(_message.Message): + __slots__ = ["alg", "hash"] + ALG_FIELD_NUMBER: _ClassVar[int] + HASH_FIELD_NUMBER: _ClassVar[int] + alg: Hashalgorithm + hash: str + def __init__(self, alg: _Optional[_Union[Hashalgorithm, str]] = ..., hash: _Optional[str] = ...) -> None: ... + +class EndpointHostConfig(_message.Message): + __slots__ = ["url", "is_primary", "ssl", "public", "host_variant"] + URL_FIELD_NUMBER: _ClassVar[int] + IS_PRIMARY_FIELD_NUMBER: _ClassVar[int] + SSL_FIELD_NUMBER: _ClassVar[int] + PUBLIC_FIELD_NUMBER: _ClassVar[int] + HOST_VARIANT_FIELD_NUMBER: _ClassVar[int] + url: str + is_primary: bool + ssl: bool + public: bool + host_variant: EndpointHostVariant + def __init__(self, url: _Optional[str] = ..., is_primary: bool = ..., ssl: bool = ..., public: bool = ..., host_variant: _Optional[_Union[EndpointHostVariant, str]] = ...) -> None: ... + +class Endpoint(_message.Message): + __slots__ = ["id", "ep_variant", "name", "is_public", "status", "host_configs"] + ID_FIELD_NUMBER: _ClassVar[int] + EP_VARIANT_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + IS_PUBLIC_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + HOST_CONFIGS_FIELD_NUMBER: _ClassVar[int] + id: str + ep_variant: EndpointVariant + name: str + is_public: bool + status: ComponentStatus + host_configs: _containers.RepeatedCompositeFieldContainer[EndpointHostConfig] + def __init__(self, id: _Optional[str] = ..., ep_variant: _Optional[_Union[EndpointVariant, str]] = ..., name: _Optional[str] = ..., is_public: bool = ..., status: _Optional[_Union[ComponentStatus, str]] = ..., host_configs: _Optional[_Iterable[_Union[EndpointHostConfig, _Mapping]]] = ...) -> None: ... + +class DataEndpoint(_message.Message): + __slots__ = ["id", "full_synced"] + ID_FIELD_NUMBER: _ClassVar[int] + FULL_SYNCED_FIELD_NUMBER: _ClassVar[int] + id: str + full_synced: bool + def __init__(self, id: _Optional[str] = ..., full_synced: bool = ...) -> None: ... + +class Copy(_message.Message): + __slots__ = ["resource", "target_endpoint", "push"] + RESOURCE_FIELD_NUMBER: _ClassVar[int] + TARGET_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + PUSH_FIELD_NUMBER: _ClassVar[int] + resource: str + target_endpoint: str + push: bool + def __init__(self, resource: _Optional[str] = ..., target_endpoint: _Optional[str] = ..., push: bool = ...) -> None: ... + +class Context(_message.Message): + __slots__ = ["s3_credentials", "copy"] + S3_CREDENTIALS_FIELD_NUMBER: _ClassVar[int] + COPY_FIELD_NUMBER: _ClassVar[int] + s3_credentials: bool + copy: Copy + def __init__(self, s3_credentials: bool = ..., copy: _Optional[_Union[Copy, _Mapping]] = ...) -> None: ... + +class GenericResource(_message.Message): + __slots__ = ["project", "collection", "dataset", "object"] + PROJECT_FIELD_NUMBER: _ClassVar[int] + COLLECTION_FIELD_NUMBER: _ClassVar[int] + DATASET_FIELD_NUMBER: _ClassVar[int] + OBJECT_FIELD_NUMBER: _ClassVar[int] + project: Project + collection: Collection + dataset: Dataset + object: Object + def __init__(self, project: _Optional[_Union[Project, _Mapping]] = ..., collection: _Optional[_Union[Collection, _Mapping]] = ..., dataset: _Optional[_Union[Dataset, _Mapping]] = ..., object: _Optional[_Union[Object, _Mapping]] = ...) -> None: ... + +class Project(_message.Message): + __slots__ = ["id", "name", "description", "key_values", "relations", "stats", "data_class", "created_at", "created_by", "status", "dynamic", "endpoints"] + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + RELATIONS_FIELD_NUMBER: _ClassVar[int] + STATS_FIELD_NUMBER: _ClassVar[int] + DATA_CLASS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_FIELD_NUMBER: _ClassVar[int] + ENDPOINTS_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + key_values: _containers.RepeatedCompositeFieldContainer[KeyValue] + relations: _containers.RepeatedCompositeFieldContainer[Relation] + stats: Stats + data_class: DataClass + created_at: _timestamp_pb2.Timestamp + created_by: str + status: Status + dynamic: bool + endpoints: _containers.RepeatedCompositeFieldContainer[DataEndpoint] + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., key_values: _Optional[_Iterable[_Union[KeyValue, _Mapping]]] = ..., relations: _Optional[_Iterable[_Union[Relation, _Mapping]]] = ..., stats: _Optional[_Union[Stats, _Mapping]] = ..., data_class: _Optional[_Union[DataClass, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_by: _Optional[str] = ..., status: _Optional[_Union[Status, str]] = ..., dynamic: bool = ..., endpoints: _Optional[_Iterable[_Union[DataEndpoint, _Mapping]]] = ...) -> None: ... + +class Collection(_message.Message): + __slots__ = ["id", "name", "description", "key_values", "relations", "stats", "data_class", "created_at", "created_by", "status", "dynamic", "endpoints"] + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + RELATIONS_FIELD_NUMBER: _ClassVar[int] + STATS_FIELD_NUMBER: _ClassVar[int] + DATA_CLASS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_FIELD_NUMBER: _ClassVar[int] + ENDPOINTS_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + key_values: _containers.RepeatedCompositeFieldContainer[KeyValue] + relations: _containers.RepeatedCompositeFieldContainer[Relation] + stats: Stats + data_class: DataClass + created_at: _timestamp_pb2.Timestamp + created_by: str + status: Status + dynamic: bool + endpoints: _containers.RepeatedCompositeFieldContainer[DataEndpoint] + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., key_values: _Optional[_Iterable[_Union[KeyValue, _Mapping]]] = ..., relations: _Optional[_Iterable[_Union[Relation, _Mapping]]] = ..., stats: _Optional[_Union[Stats, _Mapping]] = ..., data_class: _Optional[_Union[DataClass, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_by: _Optional[str] = ..., status: _Optional[_Union[Status, str]] = ..., dynamic: bool = ..., endpoints: _Optional[_Iterable[_Union[DataEndpoint, _Mapping]]] = ...) -> None: ... + +class Dataset(_message.Message): + __slots__ = ["id", "name", "description", "key_values", "relations", "stats", "data_class", "created_at", "created_by", "status", "dynamic", "endpoints"] + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + RELATIONS_FIELD_NUMBER: _ClassVar[int] + STATS_FIELD_NUMBER: _ClassVar[int] + DATA_CLASS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_FIELD_NUMBER: _ClassVar[int] + ENDPOINTS_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + key_values: _containers.RepeatedCompositeFieldContainer[KeyValue] + relations: _containers.RepeatedCompositeFieldContainer[Relation] + stats: Stats + data_class: DataClass + created_at: _timestamp_pb2.Timestamp + created_by: str + status: Status + dynamic: bool + endpoints: _containers.RepeatedCompositeFieldContainer[DataEndpoint] + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., key_values: _Optional[_Iterable[_Union[KeyValue, _Mapping]]] = ..., relations: _Optional[_Iterable[_Union[Relation, _Mapping]]] = ..., stats: _Optional[_Union[Stats, _Mapping]] = ..., data_class: _Optional[_Union[DataClass, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_by: _Optional[str] = ..., status: _Optional[_Union[Status, str]] = ..., dynamic: bool = ..., endpoints: _Optional[_Iterable[_Union[DataEndpoint, _Mapping]]] = ...) -> None: ... + +class Object(_message.Message): + __slots__ = ["id", "name", "description", "key_values", "relations", "content_len", "data_class", "created_at", "created_by", "status", "dynamic", "endpoints", "hashes"] + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + RELATIONS_FIELD_NUMBER: _ClassVar[int] + CONTENT_LEN_FIELD_NUMBER: _ClassVar[int] + DATA_CLASS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + CREATED_BY_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_FIELD_NUMBER: _ClassVar[int] + ENDPOINTS_FIELD_NUMBER: _ClassVar[int] + HASHES_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + description: str + key_values: _containers.RepeatedCompositeFieldContainer[KeyValue] + relations: _containers.RepeatedCompositeFieldContainer[Relation] + content_len: int + data_class: DataClass + created_at: _timestamp_pb2.Timestamp + created_by: str + status: Status + dynamic: bool + endpoints: _containers.RepeatedCompositeFieldContainer[DataEndpoint] + hashes: _containers.RepeatedCompositeFieldContainer[Hash] + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., key_values: _Optional[_Iterable[_Union[KeyValue, _Mapping]]] = ..., relations: _Optional[_Iterable[_Union[Relation, _Mapping]]] = ..., content_len: _Optional[int] = ..., data_class: _Optional[_Union[DataClass, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_by: _Optional[str] = ..., status: _Optional[_Union[Status, str]] = ..., dynamic: bool = ..., endpoints: _Optional[_Iterable[_Union[DataEndpoint, _Mapping]]] = ..., hashes: _Optional[_Iterable[_Union[Hash, _Mapping]]] = ...) -> None: ... diff --git a/aruna/api/storage/models/v2/models_pb2_grpc.py b/aruna/api/storage/models/v2/models_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/aruna/api/storage/models/v2/models_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/aruna/api/storage/services/v2/authorization_service.pb.gw.go b/aruna/api/storage/services/v2/authorization_service.pb.gw.go new file mode 100644 index 0000000..0f7643c --- /dev/null +++ b/aruna/api/storage/services/v2/authorization_service.pb.gw.go @@ -0,0 +1,428 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/authorization_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_AuthorizationService_CreateAuthorization_0(ctx context.Context, marshaler runtime.Marshaler, client AuthorizationServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateAuthorizationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateAuthorization(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AuthorizationService_CreateAuthorization_0(ctx context.Context, marshaler runtime.Marshaler, server AuthorizationServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateAuthorizationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateAuthorization(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_AuthorizationService_GetAuthorizations_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_AuthorizationService_GetAuthorizations_0(ctx context.Context, marshaler runtime.Marshaler, client AuthorizationServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAuthorizationsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AuthorizationService_GetAuthorizations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetAuthorizations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AuthorizationService_GetAuthorizations_0(ctx context.Context, marshaler runtime.Marshaler, server AuthorizationServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAuthorizationsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AuthorizationService_GetAuthorizations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetAuthorizations(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AuthorizationService_DeleteAuthorization_0(ctx context.Context, marshaler runtime.Marshaler, client AuthorizationServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAuthorizationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteAuthorization(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AuthorizationService_DeleteAuthorization_0(ctx context.Context, marshaler runtime.Marshaler, server AuthorizationServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAuthorizationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteAuthorization(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AuthorizationService_UpdateAuthorization_0(ctx context.Context, marshaler runtime.Marshaler, client AuthorizationServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateAuthorizationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateAuthorization(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AuthorizationService_UpdateAuthorization_0(ctx context.Context, marshaler runtime.Marshaler, server AuthorizationServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateAuthorizationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateAuthorization(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterAuthorizationServiceHandlerServer registers the http handlers for service AuthorizationService to "mux". +// UnaryRPC :call AuthorizationServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterAuthorizationServiceHandlerFromEndpoint instead. +func RegisterAuthorizationServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AuthorizationServiceServer) error { + + mux.Handle("POST", pattern_AuthorizationService_CreateAuthorization_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.AuthorizationService/CreateAuthorization", runtime.WithHTTPPathPattern("/v2/auth")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AuthorizationService_CreateAuthorization_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AuthorizationService_CreateAuthorization_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AuthorizationService_GetAuthorizations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.AuthorizationService/GetAuthorizations", runtime.WithHTTPPathPattern("/v2/auths")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AuthorizationService_GetAuthorizations_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AuthorizationService_GetAuthorizations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AuthorizationService_DeleteAuthorization_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.AuthorizationService/DeleteAuthorization", runtime.WithHTTPPathPattern("/v2/auth")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AuthorizationService_DeleteAuthorization_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AuthorizationService_DeleteAuthorization_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AuthorizationService_UpdateAuthorization_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.AuthorizationService/UpdateAuthorization", runtime.WithHTTPPathPattern("/v2/auth")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AuthorizationService_UpdateAuthorization_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AuthorizationService_UpdateAuthorization_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterAuthorizationServiceHandlerFromEndpoint is same as RegisterAuthorizationServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterAuthorizationServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterAuthorizationServiceHandler(ctx, mux, conn) +} + +// RegisterAuthorizationServiceHandler registers the http handlers for service AuthorizationService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterAuthorizationServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterAuthorizationServiceHandlerClient(ctx, mux, NewAuthorizationServiceClient(conn)) +} + +// RegisterAuthorizationServiceHandlerClient registers the http handlers for service AuthorizationService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AuthorizationServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AuthorizationServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "AuthorizationServiceClient" to call the correct interceptors. +func RegisterAuthorizationServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AuthorizationServiceClient) error { + + mux.Handle("POST", pattern_AuthorizationService_CreateAuthorization_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.AuthorizationService/CreateAuthorization", runtime.WithHTTPPathPattern("/v2/auth")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AuthorizationService_CreateAuthorization_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AuthorizationService_CreateAuthorization_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AuthorizationService_GetAuthorizations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.AuthorizationService/GetAuthorizations", runtime.WithHTTPPathPattern("/v2/auths")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AuthorizationService_GetAuthorizations_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AuthorizationService_GetAuthorizations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AuthorizationService_DeleteAuthorization_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.AuthorizationService/DeleteAuthorization", runtime.WithHTTPPathPattern("/v2/auth")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AuthorizationService_DeleteAuthorization_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AuthorizationService_DeleteAuthorization_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AuthorizationService_UpdateAuthorization_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.AuthorizationService/UpdateAuthorization", runtime.WithHTTPPathPattern("/v2/auth")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AuthorizationService_UpdateAuthorization_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AuthorizationService_UpdateAuthorization_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_AuthorizationService_CreateAuthorization_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "auth"}, "")) + + pattern_AuthorizationService_GetAuthorizations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "auths"}, "")) + + pattern_AuthorizationService_DeleteAuthorization_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "auth"}, "")) + + pattern_AuthorizationService_UpdateAuthorization_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "auth"}, "")) +) + +var ( + forward_AuthorizationService_CreateAuthorization_0 = runtime.ForwardResponseMessage + + forward_AuthorizationService_GetAuthorizations_0 = runtime.ForwardResponseMessage + + forward_AuthorizationService_DeleteAuthorization_0 = runtime.ForwardResponseMessage + + forward_AuthorizationService_UpdateAuthorization_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/authorization_service_pb2.py b/aruna/api/storage/services/v2/authorization_service_pb2.py new file mode 100644 index 0000000..fdee3de --- /dev/null +++ b/aruna/api/storage/services/v2/authorization_service_pb2.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/authorization_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9aruna/api/storage/services/v2/authorization_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\"\x9f\x01\n\x0eUserPermission\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x1b\n\tuser_name\x18\x02 \x01(\tR\x08userName\x12W\n\x10permission_level\x18\x03 \x01(\x0e\x32,.aruna.api.storage.models.v2.PermissionLevelR\x0fpermissionLevel\"\x90\x01\n\x15ResourceAuthorization\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12V\n\x0fuser_permission\x18\x02 \x03(\x0b\x32-.aruna.api.storage.services.v2.UserPermissionR\x0euserPermission\"\xaf\x01\n\x1a\x43reateAuthorizationRequest\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId\x12W\n\x10permission_level\x18\x03 \x01(\x0e\x32,.aruna.api.storage.models.v2.PermissionLevelR\x0fpermissionLevel\"\xcd\x01\n\x1b\x43reateAuthorizationResponse\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId\x12\x1b\n\tuser_name\x18\x03 \x01(\tR\x08userName\x12W\n\x10permission_level\x18\x04 \x01(\x0e\x32,.aruna.api.storage.models.v2.PermissionLevelR\x0fpermissionLevel\"Y\n\x18GetAuthorizationsRequest\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12\x1c\n\trecursive\x18\x02 \x01(\x08R\trecursive\"y\n\x19GetAuthorizationsResponse\x12\\\n\x0e\x61uthorizations\x18\x01 \x03(\x0b\x32\x34.aruna.api.storage.services.v2.ResourceAuthorizationR\x0e\x61uthorizations\"V\n\x1a\x44\x65leteAuthorizationRequest\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId\"\x1d\n\x1b\x44\x65leteAuthorizationResponse\"\xaf\x01\n\x1aUpdateAuthorizationRequest\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId\x12W\n\x10permission_level\x18\x03 \x01(\x0e\x32,.aruna.api.storage.models.v2.PermissionLevelR\x0fpermissionLevel\"u\n\x1bUpdateAuthorizationResponse\x12V\n\x0fuser_permission\x18\x01 \x01(\x0b\x32-.aruna.api.storage.services.v2.UserPermissionR\x0euserPermission2\x9e\x05\n\x14\x41uthorizationService\x12\xa1\x01\n\x13\x43reateAuthorization\x12\x39.aruna.api.storage.services.v2.CreateAuthorizationRequest\x1a:.aruna.api.storage.services.v2.CreateAuthorizationResponse\"\x13\x82\xd3\xe4\x93\x02\r\"\x08/v2/auth:\x01*\x12\x99\x01\n\x11GetAuthorizations\x12\x37.aruna.api.storage.services.v2.GetAuthorizationsRequest\x1a\x38.aruna.api.storage.services.v2.GetAuthorizationsResponse\"\x11\x82\xd3\xe4\x93\x02\x0b\x12\t/v2/auths\x12\xa1\x01\n\x13\x44\x65leteAuthorization\x12\x39.aruna.api.storage.services.v2.DeleteAuthorizationRequest\x1a:.aruna.api.storage.services.v2.DeleteAuthorizationResponse\"\x13\x82\xd3\xe4\x93\x02\r*\x08/v2/auth:\x01*\x12\xa1\x01\n\x13UpdateAuthorization\x12\x39.aruna.api.storage.services.v2.UpdateAuthorizationRequest\x1a:.aruna.api.storage.services.v2.UpdateAuthorizationResponse\"\x13\x82\xd3\xe4\x93\x02\r2\x08/v2/auth:\x01*B\x96\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x14\x41uthorizationServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\024AuthorizationServiceP\001Z None: ... + +class ResourceAuthorization(_message.Message): + __slots__ = ["resource_id", "user_permission"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + USER_PERMISSION_FIELD_NUMBER: _ClassVar[int] + resource_id: str + user_permission: _containers.RepeatedCompositeFieldContainer[UserPermission] + def __init__(self, resource_id: _Optional[str] = ..., user_permission: _Optional[_Iterable[_Union[UserPermission, _Mapping]]] = ...) -> None: ... + +class CreateAuthorizationRequest(_message.Message): + __slots__ = ["resource_id", "user_id", "permission_level"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + PERMISSION_LEVEL_FIELD_NUMBER: _ClassVar[int] + resource_id: str + user_id: str + permission_level: _models_pb2.PermissionLevel + def __init__(self, resource_id: _Optional[str] = ..., user_id: _Optional[str] = ..., permission_level: _Optional[_Union[_models_pb2.PermissionLevel, str]] = ...) -> None: ... + +class CreateAuthorizationResponse(_message.Message): + __slots__ = ["resource_id", "user_id", "user_name", "permission_level"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + USER_NAME_FIELD_NUMBER: _ClassVar[int] + PERMISSION_LEVEL_FIELD_NUMBER: _ClassVar[int] + resource_id: str + user_id: str + user_name: str + permission_level: _models_pb2.PermissionLevel + def __init__(self, resource_id: _Optional[str] = ..., user_id: _Optional[str] = ..., user_name: _Optional[str] = ..., permission_level: _Optional[_Union[_models_pb2.PermissionLevel, str]] = ...) -> None: ... + +class GetAuthorizationsRequest(_message.Message): + __slots__ = ["resource_id", "recursive"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + RECURSIVE_FIELD_NUMBER: _ClassVar[int] + resource_id: str + recursive: bool + def __init__(self, resource_id: _Optional[str] = ..., recursive: bool = ...) -> None: ... + +class GetAuthorizationsResponse(_message.Message): + __slots__ = ["authorizations"] + AUTHORIZATIONS_FIELD_NUMBER: _ClassVar[int] + authorizations: _containers.RepeatedCompositeFieldContainer[ResourceAuthorization] + def __init__(self, authorizations: _Optional[_Iterable[_Union[ResourceAuthorization, _Mapping]]] = ...) -> None: ... + +class DeleteAuthorizationRequest(_message.Message): + __slots__ = ["resource_id", "user_id"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + resource_id: str + user_id: str + def __init__(self, resource_id: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ... + +class DeleteAuthorizationResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class UpdateAuthorizationRequest(_message.Message): + __slots__ = ["resource_id", "user_id", "permission_level"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + PERMISSION_LEVEL_FIELD_NUMBER: _ClassVar[int] + resource_id: str + user_id: str + permission_level: _models_pb2.PermissionLevel + def __init__(self, resource_id: _Optional[str] = ..., user_id: _Optional[str] = ..., permission_level: _Optional[_Union[_models_pb2.PermissionLevel, str]] = ...) -> None: ... + +class UpdateAuthorizationResponse(_message.Message): + __slots__ = ["user_permission"] + USER_PERMISSION_FIELD_NUMBER: _ClassVar[int] + user_permission: UserPermission + def __init__(self, user_permission: _Optional[_Union[UserPermission, _Mapping]] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/authorization_service_pb2_grpc.py b/aruna/api/storage/services/v2/authorization_service_pb2_grpc.py new file mode 100644 index 0000000..d8c23ac --- /dev/null +++ b/aruna/api/storage/services/v2/authorization_service_pb2_grpc.py @@ -0,0 +1,197 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import authorization_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2 + + +class AuthorizationServiceStub(object): + """AuthorizationService + + Contains all methods to edit and change user authorization + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateAuthorization = channel.unary_unary( + '/aruna.api.storage.services.v2.AuthorizationService/CreateAuthorization', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.CreateAuthorizationRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.CreateAuthorizationResponse.FromString, + ) + self.GetAuthorizations = channel.unary_unary( + '/aruna.api.storage.services.v2.AuthorizationService/GetAuthorizations', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.GetAuthorizationsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.GetAuthorizationsResponse.FromString, + ) + self.DeleteAuthorization = channel.unary_unary( + '/aruna.api.storage.services.v2.AuthorizationService/DeleteAuthorization', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.DeleteAuthorizationRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.DeleteAuthorizationResponse.FromString, + ) + self.UpdateAuthorization = channel.unary_unary( + '/aruna.api.storage.services.v2.AuthorizationService/UpdateAuthorization', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.UpdateAuthorizationRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.UpdateAuthorizationResponse.FromString, + ) + + +class AuthorizationServiceServicer(object): + """AuthorizationService + + Contains all methods to edit and change user authorization + """ + + def CreateAuthorization(self, request, context): + """CreateAuthorization + + Status: BETA + + This creates a user-specific attribute that handles permission for a + specific resource + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAuthorizations(self, request, context): + """GetAuthorization + + Status: BETA + + This gets resource specific user authorizations + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteAuthorization(self, request, context): + """DeleteAuthorization + + Status: BETA + + This creates a user-specific attribute that handles permission for a + specific resource + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateAuthorization(self, request, context): + """UpdateAuthorization + + Status: BETA + + This creates a user-specific attribute that handles permission for a + specific resource + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_AuthorizationServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateAuthorization': grpc.unary_unary_rpc_method_handler( + servicer.CreateAuthorization, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.CreateAuthorizationRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.CreateAuthorizationResponse.SerializeToString, + ), + 'GetAuthorizations': grpc.unary_unary_rpc_method_handler( + servicer.GetAuthorizations, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.GetAuthorizationsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.GetAuthorizationsResponse.SerializeToString, + ), + 'DeleteAuthorization': grpc.unary_unary_rpc_method_handler( + servicer.DeleteAuthorization, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.DeleteAuthorizationRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.DeleteAuthorizationResponse.SerializeToString, + ), + 'UpdateAuthorization': grpc.unary_unary_rpc_method_handler( + servicer.UpdateAuthorization, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.UpdateAuthorizationRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.UpdateAuthorizationResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.AuthorizationService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class AuthorizationService(object): + """AuthorizationService + + Contains all methods to edit and change user authorization + """ + + @staticmethod + def CreateAuthorization(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.AuthorizationService/CreateAuthorization', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.CreateAuthorizationRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.CreateAuthorizationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetAuthorizations(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.AuthorizationService/GetAuthorizations', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.GetAuthorizationsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.GetAuthorizationsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteAuthorization(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.AuthorizationService/DeleteAuthorization', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.DeleteAuthorizationRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.DeleteAuthorizationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateAuthorization(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.AuthorizationService/UpdateAuthorization', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.UpdateAuthorizationRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_authorization__service__pb2.UpdateAuthorizationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/collection_service.pb.gw.go b/aruna/api/storage/services/v2/collection_service.pb.gw.go new file mode 100644 index 0000000..e42eba1 --- /dev/null +++ b/aruna/api/storage/services/v2/collection_service.pb.gw.go @@ -0,0 +1,1059 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/collection_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_CollectionService_CreateCollection_0(ctx context.Context, marshaler runtime.Marshaler, client CollectionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateCollectionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateCollection(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CollectionService_CreateCollection_0(ctx context.Context, marshaler runtime.Marshaler, server CollectionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateCollectionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateCollection(ctx, &protoReq) + return msg, metadata, err + +} + +func request_CollectionService_GetCollection_0(ctx context.Context, marshaler runtime.Marshaler, client CollectionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCollectionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := client.GetCollection(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CollectionService_GetCollection_0(ctx context.Context, marshaler runtime.Marshaler, server CollectionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCollectionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := server.GetCollection(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_CollectionService_GetCollections_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_CollectionService_GetCollections_0(ctx context.Context, marshaler runtime.Marshaler, client CollectionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCollectionsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CollectionService_GetCollections_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetCollections(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CollectionService_GetCollections_0(ctx context.Context, marshaler runtime.Marshaler, server CollectionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCollectionsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CollectionService_GetCollections_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetCollections(ctx, &protoReq) + return msg, metadata, err + +} + +func request_CollectionService_DeleteCollection_0(ctx context.Context, marshaler runtime.Marshaler, client CollectionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteCollectionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := client.DeleteCollection(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CollectionService_DeleteCollection_0(ctx context.Context, marshaler runtime.Marshaler, server CollectionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteCollectionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := server.DeleteCollection(ctx, &protoReq) + return msg, metadata, err + +} + +func request_CollectionService_UpdateCollectionName_0(ctx context.Context, marshaler runtime.Marshaler, client CollectionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateCollectionNameRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := client.UpdateCollectionName(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CollectionService_UpdateCollectionName_0(ctx context.Context, marshaler runtime.Marshaler, server CollectionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateCollectionNameRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := server.UpdateCollectionName(ctx, &protoReq) + return msg, metadata, err + +} + +func request_CollectionService_UpdateCollectionDescription_0(ctx context.Context, marshaler runtime.Marshaler, client CollectionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateCollectionDescriptionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := client.UpdateCollectionDescription(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CollectionService_UpdateCollectionDescription_0(ctx context.Context, marshaler runtime.Marshaler, server CollectionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateCollectionDescriptionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := server.UpdateCollectionDescription(ctx, &protoReq) + return msg, metadata, err + +} + +func request_CollectionService_UpdateCollectionKeyValues_0(ctx context.Context, marshaler runtime.Marshaler, client CollectionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateCollectionKeyValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := client.UpdateCollectionKeyValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CollectionService_UpdateCollectionKeyValues_0(ctx context.Context, marshaler runtime.Marshaler, server CollectionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateCollectionKeyValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := server.UpdateCollectionKeyValues(ctx, &protoReq) + return msg, metadata, err + +} + +func request_CollectionService_UpdateCollectionDataClass_0(ctx context.Context, marshaler runtime.Marshaler, client CollectionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateCollectionDataClassRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := client.UpdateCollectionDataClass(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CollectionService_UpdateCollectionDataClass_0(ctx context.Context, marshaler runtime.Marshaler, server CollectionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateCollectionDataClassRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := server.UpdateCollectionDataClass(ctx, &protoReq) + return msg, metadata, err + +} + +func request_CollectionService_SnapshotCollection_0(ctx context.Context, marshaler runtime.Marshaler, client CollectionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SnapshotCollectionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := client.SnapshotCollection(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CollectionService_SnapshotCollection_0(ctx context.Context, marshaler runtime.Marshaler, server CollectionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SnapshotCollectionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["collection_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collection_id") + } + + protoReq.CollectionId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collection_id", err) + } + + msg, err := server.SnapshotCollection(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterCollectionServiceHandlerServer registers the http handlers for service CollectionService to "mux". +// UnaryRPC :call CollectionServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCollectionServiceHandlerFromEndpoint instead. +func RegisterCollectionServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CollectionServiceServer) error { + + mux.Handle("POST", pattern_CollectionService_CreateCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/CreateCollection", runtime.WithHTTPPathPattern("/v2/collection")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CollectionService_CreateCollection_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_CreateCollection_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_CollectionService_GetCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/GetCollection", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CollectionService_GetCollection_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_GetCollection_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_CollectionService_GetCollections_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/GetCollections", runtime.WithHTTPPathPattern("/v2/collections")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CollectionService_GetCollections_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_GetCollections_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_CollectionService_DeleteCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/DeleteCollection", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CollectionService_DeleteCollection_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_DeleteCollection_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_CollectionService_UpdateCollectionName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/UpdateCollectionName", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/name")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CollectionService_UpdateCollectionName_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_UpdateCollectionName_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_CollectionService_UpdateCollectionDescription_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/UpdateCollectionDescription", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/description")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CollectionService_UpdateCollectionDescription_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_UpdateCollectionDescription_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_CollectionService_UpdateCollectionKeyValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/UpdateCollectionKeyValues", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/key_values")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CollectionService_UpdateCollectionKeyValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_UpdateCollectionKeyValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_CollectionService_UpdateCollectionDataClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/UpdateCollectionDataClass", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/data_class")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CollectionService_UpdateCollectionDataClass_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_UpdateCollectionDataClass_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_CollectionService_SnapshotCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/SnapshotCollection", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/snapshot")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CollectionService_SnapshotCollection_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_SnapshotCollection_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterCollectionServiceHandlerFromEndpoint is same as RegisterCollectionServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterCollectionServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterCollectionServiceHandler(ctx, mux, conn) +} + +// RegisterCollectionServiceHandler registers the http handlers for service CollectionService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterCollectionServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterCollectionServiceHandlerClient(ctx, mux, NewCollectionServiceClient(conn)) +} + +// RegisterCollectionServiceHandlerClient registers the http handlers for service CollectionService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "CollectionServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "CollectionServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "CollectionServiceClient" to call the correct interceptors. +func RegisterCollectionServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client CollectionServiceClient) error { + + mux.Handle("POST", pattern_CollectionService_CreateCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/CreateCollection", runtime.WithHTTPPathPattern("/v2/collection")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CollectionService_CreateCollection_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_CreateCollection_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_CollectionService_GetCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/GetCollection", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CollectionService_GetCollection_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_GetCollection_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_CollectionService_GetCollections_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/GetCollections", runtime.WithHTTPPathPattern("/v2/collections")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CollectionService_GetCollections_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_GetCollections_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_CollectionService_DeleteCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/DeleteCollection", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CollectionService_DeleteCollection_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_DeleteCollection_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_CollectionService_UpdateCollectionName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/UpdateCollectionName", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/name")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CollectionService_UpdateCollectionName_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_UpdateCollectionName_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_CollectionService_UpdateCollectionDescription_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/UpdateCollectionDescription", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/description")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CollectionService_UpdateCollectionDescription_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_UpdateCollectionDescription_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_CollectionService_UpdateCollectionKeyValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/UpdateCollectionKeyValues", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/key_values")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CollectionService_UpdateCollectionKeyValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_UpdateCollectionKeyValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_CollectionService_UpdateCollectionDataClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/UpdateCollectionDataClass", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/data_class")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CollectionService_UpdateCollectionDataClass_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_UpdateCollectionDataClass_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_CollectionService_SnapshotCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.CollectionService/SnapshotCollection", runtime.WithHTTPPathPattern("/v2/collection/{collection_id}/snapshot")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CollectionService_SnapshotCollection_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CollectionService_SnapshotCollection_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_CollectionService_CreateCollection_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "collection"}, "")) + + pattern_CollectionService_GetCollection_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "collection", "collection_id"}, "")) + + pattern_CollectionService_GetCollections_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "collections"}, "")) + + pattern_CollectionService_DeleteCollection_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "collection", "collection_id"}, "")) + + pattern_CollectionService_UpdateCollectionName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "collection", "collection_id", "name"}, "")) + + pattern_CollectionService_UpdateCollectionDescription_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "collection", "collection_id", "description"}, "")) + + pattern_CollectionService_UpdateCollectionKeyValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "collection", "collection_id", "key_values"}, "")) + + pattern_CollectionService_UpdateCollectionDataClass_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "collection", "collection_id", "data_class"}, "")) + + pattern_CollectionService_SnapshotCollection_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "collection", "collection_id", "snapshot"}, "")) +) + +var ( + forward_CollectionService_CreateCollection_0 = runtime.ForwardResponseMessage + + forward_CollectionService_GetCollection_0 = runtime.ForwardResponseMessage + + forward_CollectionService_GetCollections_0 = runtime.ForwardResponseMessage + + forward_CollectionService_DeleteCollection_0 = runtime.ForwardResponseMessage + + forward_CollectionService_UpdateCollectionName_0 = runtime.ForwardResponseMessage + + forward_CollectionService_UpdateCollectionDescription_0 = runtime.ForwardResponseMessage + + forward_CollectionService_UpdateCollectionKeyValues_0 = runtime.ForwardResponseMessage + + forward_CollectionService_UpdateCollectionDataClass_0 = runtime.ForwardResponseMessage + + forward_CollectionService_SnapshotCollection_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/collection_service_pb2.py b/aruna/api/storage/services/v2/collection_service_pb2.py new file mode 100644 index 0000000..b246acb --- /dev/null +++ b/aruna/api/storage/services/v2/collection_service_pb2.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/collection_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6aruna/api/storage/services/v2/collection_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\"\xe5\x02\n\x17\x43reateCollectionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x44\n\nkey_values\x18\x03 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\tkeyValues\x12\\\n\x12\x65xternal_relations\x18\x04 \x03(\x0b\x32-.aruna.api.storage.models.v2.ExternalRelationR\x11\x65xternalRelations\x12\x45\n\ndata_class\x18\x05 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\x12\x1f\n\nproject_id\x18\x06 \x01(\tH\x00R\tprojectIdB\x08\n\x06parent\"c\n\x18\x43reateCollectionResponse\x12G\n\ncollection\x18\x01 \x01(\x0b\x32\'.aruna.api.storage.models.v2.CollectionR\ncollection\";\n\x14GetCollectionRequest\x12#\n\rcollection_id\x18\x01 \x01(\tR\x0c\x63ollectionId\"`\n\x15GetCollectionResponse\x12G\n\ncollection\x18\x01 \x01(\x0b\x32\'.aruna.api.storage.models.v2.CollectionR\ncollection\">\n\x15GetCollectionsRequest\x12%\n\x0e\x63ollection_ids\x18\x01 \x03(\tR\rcollectionIds\"c\n\x16GetCollectionsResponse\x12I\n\x0b\x63ollections\x18\x01 \x03(\x0b\x32\'.aruna.api.storage.models.v2.CollectionR\x0b\x63ollections\">\n\x17\x44\x65leteCollectionRequest\x12#\n\rcollection_id\x18\x01 \x01(\tR\x0c\x63ollectionId\"\x1a\n\x18\x44\x65leteCollectionResponse\"V\n\x1bUpdateCollectionNameRequest\x12#\n\rcollection_id\x18\x01 \x01(\tR\x0c\x63ollectionId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"g\n\x1cUpdateCollectionNameResponse\x12G\n\ncollection\x18\x01 \x01(\x0b\x32\'.aruna.api.storage.models.v2.CollectionR\ncollection\"k\n\"UpdateCollectionDescriptionRequest\x12#\n\rcollection_id\x18\x01 \x01(\tR\x0c\x63ollectionId\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\"n\n#UpdateCollectionDescriptionResponse\x12G\n\ncollection\x18\x01 \x01(\x0b\x32\'.aruna.api.storage.models.v2.CollectionR\ncollection\"\xe7\x01\n UpdateCollectionKeyValuesRequest\x12#\n\rcollection_id\x18\x01 \x01(\tR\x0c\x63ollectionId\x12K\n\x0e\x61\x64\x64_key_values\x18\x02 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0c\x61\x64\x64KeyValues\x12Q\n\x11remove_key_values\x18\x03 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0fremoveKeyValues\"l\n!UpdateCollectionKeyValuesResponse\x12G\n\ncollection\x18\x01 \x01(\x0b\x32\'.aruna.api.storage.models.v2.CollectionR\ncollection\"\x8e\x01\n UpdateCollectionDataClassRequest\x12#\n\rcollection_id\x18\x01 \x01(\tR\x0c\x63ollectionId\x12\x45\n\ndata_class\x18\x02 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\"l\n!UpdateCollectionDataClassResponse\x12G\n\ncollection\x18\x01 \x01(\x0b\x32\'.aruna.api.storage.models.v2.CollectionR\ncollection\"@\n\x19SnapshotCollectionRequest\x12#\n\rcollection_id\x18\x01 \x01(\tR\x0c\x63ollectionId\"e\n\x1aSnapshotCollectionResponse\x12G\n\ncollection\x18\x01 \x01(\x0b\x32\'.aruna.api.storage.models.v2.CollectionR\ncollection2\xae\r\n\x11\x43ollectionService\x12\x9e\x01\n\x10\x43reateCollection\x12\x36.aruna.api.storage.services.v2.CreateCollectionRequest\x1a\x37.aruna.api.storage.services.v2.CreateCollectionResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v2/collection:\x01*\x12\xa2\x01\n\rGetCollection\x12\x33.aruna.api.storage.services.v2.GetCollectionRequest\x1a\x34.aruna.api.storage.services.v2.GetCollectionResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/collection/{collection_id}\x12\x96\x01\n\x0eGetCollections\x12\x34.aruna.api.storage.services.v2.GetCollectionsRequest\x1a\x35.aruna.api.storage.services.v2.GetCollectionsResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/v2/collections\x12\xab\x01\n\x10\x44\x65leteCollection\x12\x36.aruna.api.storage.services.v2.DeleteCollectionRequest\x1a\x37.aruna.api.storage.services.v2.DeleteCollectionResponse\"&\x82\xd3\xe4\x93\x02 *\x1e/v2/collection/{collection_id}\x12\xbf\x01\n\x14UpdateCollectionName\x12:.aruna.api.storage.services.v2.UpdateCollectionNameRequest\x1a;.aruna.api.storage.services.v2.UpdateCollectionNameResponse\".\x82\xd3\xe4\x93\x02(2#/v2/collection/{collection_id}/name:\x01*\x12\xdb\x01\n\x1bUpdateCollectionDescription\x12\x41.aruna.api.storage.services.v2.UpdateCollectionDescriptionRequest\x1a\x42.aruna.api.storage.services.v2.UpdateCollectionDescriptionResponse\"5\x82\xd3\xe4\x93\x02/2*/v2/collection/{collection_id}/description:\x01*\x12\xd4\x01\n\x19UpdateCollectionKeyValues\x12?.aruna.api.storage.services.v2.UpdateCollectionKeyValuesRequest\x1a@.aruna.api.storage.services.v2.UpdateCollectionKeyValuesResponse\"4\x82\xd3\xe4\x93\x02.2)/v2/collection/{collection_id}/key_values:\x01*\x12\xd4\x01\n\x19UpdateCollectionDataClass\x12?.aruna.api.storage.services.v2.UpdateCollectionDataClassRequest\x1a@.aruna.api.storage.services.v2.UpdateCollectionDataClassResponse\"4\x82\xd3\xe4\x93\x02.2)/v2/collection/{collection_id}/data_class:\x01*\x12\xbd\x01\n\x12SnapshotCollection\x12\x38.aruna.api.storage.services.v2.SnapshotCollectionRequest\x1a\x39.aruna.api.storage.services.v2.SnapshotCollectionResponse\"2\x82\xd3\xe4\x93\x02,\"\'/v2/collection/{collection_id}/snapshot:\x01*B\x93\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x11\x43ollectionServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\021CollectionServiceP\001Z None: ... + +class CreateCollectionResponse(_message.Message): + __slots__ = ["collection"] + COLLECTION_FIELD_NUMBER: _ClassVar[int] + collection: _models_pb2.Collection + def __init__(self, collection: _Optional[_Union[_models_pb2.Collection, _Mapping]] = ...) -> None: ... + +class GetCollectionRequest(_message.Message): + __slots__ = ["collection_id"] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + collection_id: str + def __init__(self, collection_id: _Optional[str] = ...) -> None: ... + +class GetCollectionResponse(_message.Message): + __slots__ = ["collection"] + COLLECTION_FIELD_NUMBER: _ClassVar[int] + collection: _models_pb2.Collection + def __init__(self, collection: _Optional[_Union[_models_pb2.Collection, _Mapping]] = ...) -> None: ... + +class GetCollectionsRequest(_message.Message): + __slots__ = ["collection_ids"] + COLLECTION_IDS_FIELD_NUMBER: _ClassVar[int] + collection_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, collection_ids: _Optional[_Iterable[str]] = ...) -> None: ... + +class GetCollectionsResponse(_message.Message): + __slots__ = ["collections"] + COLLECTIONS_FIELD_NUMBER: _ClassVar[int] + collections: _containers.RepeatedCompositeFieldContainer[_models_pb2.Collection] + def __init__(self, collections: _Optional[_Iterable[_Union[_models_pb2.Collection, _Mapping]]] = ...) -> None: ... + +class DeleteCollectionRequest(_message.Message): + __slots__ = ["collection_id"] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + collection_id: str + def __init__(self, collection_id: _Optional[str] = ...) -> None: ... + +class DeleteCollectionResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class UpdateCollectionNameRequest(_message.Message): + __slots__ = ["collection_id", "name"] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + collection_id: str + name: str + def __init__(self, collection_id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... + +class UpdateCollectionNameResponse(_message.Message): + __slots__ = ["collection"] + COLLECTION_FIELD_NUMBER: _ClassVar[int] + collection: _models_pb2.Collection + def __init__(self, collection: _Optional[_Union[_models_pb2.Collection, _Mapping]] = ...) -> None: ... + +class UpdateCollectionDescriptionRequest(_message.Message): + __slots__ = ["collection_id", "description"] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + collection_id: str + description: str + def __init__(self, collection_id: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ... + +class UpdateCollectionDescriptionResponse(_message.Message): + __slots__ = ["collection"] + COLLECTION_FIELD_NUMBER: _ClassVar[int] + collection: _models_pb2.Collection + def __init__(self, collection: _Optional[_Union[_models_pb2.Collection, _Mapping]] = ...) -> None: ... + +class UpdateCollectionKeyValuesRequest(_message.Message): + __slots__ = ["collection_id", "add_key_values", "remove_key_values"] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + ADD_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + REMOVE_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + collection_id: str + add_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + remove_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + def __init__(self, collection_id: _Optional[str] = ..., add_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ..., remove_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ...) -> None: ... + +class UpdateCollectionKeyValuesResponse(_message.Message): + __slots__ = ["collection"] + COLLECTION_FIELD_NUMBER: _ClassVar[int] + collection: _models_pb2.Collection + def __init__(self, collection: _Optional[_Union[_models_pb2.Collection, _Mapping]] = ...) -> None: ... + +class UpdateCollectionDataClassRequest(_message.Message): + __slots__ = ["collection_id", "data_class"] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + DATA_CLASS_FIELD_NUMBER: _ClassVar[int] + collection_id: str + data_class: _models_pb2.DataClass + def __init__(self, collection_id: _Optional[str] = ..., data_class: _Optional[_Union[_models_pb2.DataClass, str]] = ...) -> None: ... + +class UpdateCollectionDataClassResponse(_message.Message): + __slots__ = ["collection"] + COLLECTION_FIELD_NUMBER: _ClassVar[int] + collection: _models_pb2.Collection + def __init__(self, collection: _Optional[_Union[_models_pb2.Collection, _Mapping]] = ...) -> None: ... + +class SnapshotCollectionRequest(_message.Message): + __slots__ = ["collection_id"] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + collection_id: str + def __init__(self, collection_id: _Optional[str] = ...) -> None: ... + +class SnapshotCollectionResponse(_message.Message): + __slots__ = ["collection"] + COLLECTION_FIELD_NUMBER: _ClassVar[int] + collection: _models_pb2.Collection + def __init__(self, collection: _Optional[_Union[_models_pb2.Collection, _Mapping]] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/collection_service_pb2_grpc.py b/aruna/api/storage/services/v2/collection_service_pb2_grpc.py new file mode 100644 index 0000000..4763aa9 --- /dev/null +++ b/aruna/api/storage/services/v2/collection_service_pb2_grpc.py @@ -0,0 +1,384 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import collection_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2 + + +class CollectionServiceStub(object): + """CollectionService + + Contains all methods that get/create or update Collection and associated resources + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateCollection = channel.unary_unary( + '/aruna.api.storage.services.v2.CollectionService/CreateCollection', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.CreateCollectionRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.CreateCollectionResponse.FromString, + ) + self.GetCollection = channel.unary_unary( + '/aruna.api.storage.services.v2.CollectionService/GetCollection', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionResponse.FromString, + ) + self.GetCollections = channel.unary_unary( + '/aruna.api.storage.services.v2.CollectionService/GetCollections', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionsResponse.FromString, + ) + self.DeleteCollection = channel.unary_unary( + '/aruna.api.storage.services.v2.CollectionService/DeleteCollection', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.DeleteCollectionRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.DeleteCollectionResponse.FromString, + ) + self.UpdateCollectionName = channel.unary_unary( + '/aruna.api.storage.services.v2.CollectionService/UpdateCollectionName', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionNameRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionNameResponse.FromString, + ) + self.UpdateCollectionDescription = channel.unary_unary( + '/aruna.api.storage.services.v2.CollectionService/UpdateCollectionDescription', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDescriptionRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDescriptionResponse.FromString, + ) + self.UpdateCollectionKeyValues = channel.unary_unary( + '/aruna.api.storage.services.v2.CollectionService/UpdateCollectionKeyValues', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionKeyValuesRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionKeyValuesResponse.FromString, + ) + self.UpdateCollectionDataClass = channel.unary_unary( + '/aruna.api.storage.services.v2.CollectionService/UpdateCollectionDataClass', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDataClassRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDataClassResponse.FromString, + ) + self.SnapshotCollection = channel.unary_unary( + '/aruna.api.storage.services.v2.CollectionService/SnapshotCollection', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.SnapshotCollectionRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.SnapshotCollectionResponse.FromString, + ) + + +class CollectionServiceServicer(object): + """CollectionService + + Contains all methods that get/create or update Collection and associated resources + """ + + def CreateCollection(self, request, context): + """CreateNewCollection + + Status: BETA + + creates a new Collection + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetCollection(self, request, context): + """GetCollection + + Status: BETA + + Request a specific collection by ID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetCollections(self, request, context): + """GetCollections + + Status: BETA + + Queries multiple collections by ID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteCollection(self, request, context): + """DeleteCollection + + Status: STABLE + + This request deletes the collection. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateCollectionName(self, request, context): + """UpdateCollectionName + + Status: BETA + + Updates the collection name. Caveat! Will rename the "s3 bucket" for data proxies! + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateCollectionDescription(self, request, context): + """UpdateCollectionDescription + + Status: BETA + + Updates the collection description. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateCollectionKeyValues(self, request, context): + """UpdateCollectionKeyValues + + Status: BETA + + Updates the collection key values. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateCollectionDataClass(self, request, context): + """UpdateCollectionDataClass + + Status: BETA + + Updates the collection name. All (meta) data will be overwritten. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SnapshotCollection(self, request, context): + """SnapshotCollectionRequest + + Status: BETA + + Archives the full collection, rendering all downstream relations immutable + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_CollectionServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateCollection': grpc.unary_unary_rpc_method_handler( + servicer.CreateCollection, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.CreateCollectionRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.CreateCollectionResponse.SerializeToString, + ), + 'GetCollection': grpc.unary_unary_rpc_method_handler( + servicer.GetCollection, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionResponse.SerializeToString, + ), + 'GetCollections': grpc.unary_unary_rpc_method_handler( + servicer.GetCollections, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionsResponse.SerializeToString, + ), + 'DeleteCollection': grpc.unary_unary_rpc_method_handler( + servicer.DeleteCollection, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.DeleteCollectionRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.DeleteCollectionResponse.SerializeToString, + ), + 'UpdateCollectionName': grpc.unary_unary_rpc_method_handler( + servicer.UpdateCollectionName, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionNameRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionNameResponse.SerializeToString, + ), + 'UpdateCollectionDescription': grpc.unary_unary_rpc_method_handler( + servicer.UpdateCollectionDescription, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDescriptionRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDescriptionResponse.SerializeToString, + ), + 'UpdateCollectionKeyValues': grpc.unary_unary_rpc_method_handler( + servicer.UpdateCollectionKeyValues, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionKeyValuesRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionKeyValuesResponse.SerializeToString, + ), + 'UpdateCollectionDataClass': grpc.unary_unary_rpc_method_handler( + servicer.UpdateCollectionDataClass, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDataClassRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDataClassResponse.SerializeToString, + ), + 'SnapshotCollection': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotCollection, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.SnapshotCollectionRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.SnapshotCollectionResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.CollectionService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class CollectionService(object): + """CollectionService + + Contains all methods that get/create or update Collection and associated resources + """ + + @staticmethod + def CreateCollection(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.CollectionService/CreateCollection', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.CreateCollectionRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.CreateCollectionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetCollection(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.CollectionService/GetCollection', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetCollections(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.CollectionService/GetCollections', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.GetCollectionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteCollection(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.CollectionService/DeleteCollection', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.DeleteCollectionRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.DeleteCollectionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateCollectionName(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.CollectionService/UpdateCollectionName', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionNameRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionNameResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateCollectionDescription(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.CollectionService/UpdateCollectionDescription', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDescriptionRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDescriptionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateCollectionKeyValues(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.CollectionService/UpdateCollectionKeyValues', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionKeyValuesRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionKeyValuesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateCollectionDataClass(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.CollectionService/UpdateCollectionDataClass', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDataClassRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.UpdateCollectionDataClassResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotCollection(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.CollectionService/SnapshotCollection', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.SnapshotCollectionRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_collection__service__pb2.SnapshotCollectionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/dataset_service.pb.gw.go b/aruna/api/storage/services/v2/dataset_service.pb.gw.go new file mode 100644 index 0000000..4c595b5 --- /dev/null +++ b/aruna/api/storage/services/v2/dataset_service.pb.gw.go @@ -0,0 +1,1059 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/dataset_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_DatasetService_CreateDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_CreateDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateDataset(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_GetDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDatasetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := client.GetDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_GetDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDatasetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := server.GetDataset(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_GetDatasets_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_DatasetService_GetDatasets_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDatasetsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_GetDatasets_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDatasets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_GetDatasets_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDatasetsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_GetDatasets_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetDatasets(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDatasetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := client.DeleteDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDatasetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := server.DeleteDataset(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_UpdateDatasetName_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetNameRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := client.UpdateDatasetName(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_UpdateDatasetName_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetNameRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := server.UpdateDatasetName(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_UpdateDatasetDescription_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetDescriptionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := client.UpdateDatasetDescription(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_UpdateDatasetDescription_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetDescriptionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := server.UpdateDatasetDescription(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_UpdateDatasetKeyValues_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetKeyValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := client.UpdateDatasetKeyValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_UpdateDatasetKeyValues_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetKeyValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := server.UpdateDatasetKeyValues(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_UpdateDatasetDataClass_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetDataClassRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := client.UpdateDatasetDataClass(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_UpdateDatasetDataClass_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetDataClassRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := server.UpdateDatasetDataClass(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_SnapshotDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SnapshotDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := client.SnapshotDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_SnapshotDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SnapshotDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset_id") + } + + protoReq.DatasetId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset_id", err) + } + + msg, err := server.SnapshotDataset(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterDatasetServiceHandlerServer registers the http handlers for service DatasetService to "mux". +// UnaryRPC :call DatasetServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterDatasetServiceHandlerFromEndpoint instead. +func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server DatasetServiceServer) error { + + mux.Handle("POST", pattern_DatasetService_CreateDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/CreateDataset", runtime.WithHTTPPathPattern("/v2/dataset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_CreateDataset_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_CreateDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/GetDataset", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_GetDataset_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetDatasets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/GetDatasets", runtime.WithHTTPPathPattern("/v2/datasets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_GetDatasets_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetDatasets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DatasetService_DeleteDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/DeleteDataset", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_DeleteDataset_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_DeleteDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDatasetName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/UpdateDatasetName", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/name")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_UpdateDatasetName_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDatasetName_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDatasetDescription_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/UpdateDatasetDescription", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/description")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_UpdateDatasetDescription_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDatasetDescription_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDatasetKeyValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/UpdateDatasetKeyValues", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/key_values")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_UpdateDatasetKeyValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDatasetKeyValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDatasetDataClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/UpdateDatasetDataClass", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/data_class")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_UpdateDatasetDataClass_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDatasetDataClass_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DatasetService_SnapshotDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/SnapshotDataset", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/snapshot")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_SnapshotDataset_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_SnapshotDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterDatasetServiceHandlerFromEndpoint is same as RegisterDatasetServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterDatasetServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterDatasetServiceHandler(ctx, mux, conn) +} + +// RegisterDatasetServiceHandler registers the http handlers for service DatasetService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterDatasetServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterDatasetServiceHandlerClient(ctx, mux, NewDatasetServiceClient(conn)) +} + +// RegisterDatasetServiceHandlerClient registers the http handlers for service DatasetService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "DatasetServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "DatasetServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "DatasetServiceClient" to call the correct interceptors. +func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client DatasetServiceClient) error { + + mux.Handle("POST", pattern_DatasetService_CreateDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/CreateDataset", runtime.WithHTTPPathPattern("/v2/dataset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_CreateDataset_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_CreateDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/GetDataset", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_GetDataset_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetDatasets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/GetDatasets", runtime.WithHTTPPathPattern("/v2/datasets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_GetDatasets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetDatasets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DatasetService_DeleteDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/DeleteDataset", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_DeleteDataset_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_DeleteDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDatasetName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/UpdateDatasetName", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/name")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_UpdateDatasetName_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDatasetName_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDatasetDescription_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/UpdateDatasetDescription", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/description")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_UpdateDatasetDescription_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDatasetDescription_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDatasetKeyValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/UpdateDatasetKeyValues", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/key_values")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_UpdateDatasetKeyValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDatasetKeyValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDatasetDataClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/UpdateDatasetDataClass", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/data_class")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_UpdateDatasetDataClass_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDatasetDataClass_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DatasetService_SnapshotDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.DatasetService/SnapshotDataset", runtime.WithHTTPPathPattern("/v2/dataset/{dataset_id}/snapshot")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_SnapshotDataset_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_SnapshotDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_DatasetService_CreateDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "dataset"}, "")) + + pattern_DatasetService_GetDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "dataset", "dataset_id"}, "")) + + pattern_DatasetService_GetDatasets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "datasets"}, "")) + + pattern_DatasetService_DeleteDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "dataset", "dataset_id"}, "")) + + pattern_DatasetService_UpdateDatasetName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "dataset", "dataset_id", "name"}, "")) + + pattern_DatasetService_UpdateDatasetDescription_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "dataset", "dataset_id", "description"}, "")) + + pattern_DatasetService_UpdateDatasetKeyValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "dataset", "dataset_id", "key_values"}, "")) + + pattern_DatasetService_UpdateDatasetDataClass_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "dataset", "dataset_id", "data_class"}, "")) + + pattern_DatasetService_SnapshotDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "dataset", "dataset_id", "snapshot"}, "")) +) + +var ( + forward_DatasetService_CreateDataset_0 = runtime.ForwardResponseMessage + + forward_DatasetService_GetDataset_0 = runtime.ForwardResponseMessage + + forward_DatasetService_GetDatasets_0 = runtime.ForwardResponseMessage + + forward_DatasetService_DeleteDataset_0 = runtime.ForwardResponseMessage + + forward_DatasetService_UpdateDatasetName_0 = runtime.ForwardResponseMessage + + forward_DatasetService_UpdateDatasetDescription_0 = runtime.ForwardResponseMessage + + forward_DatasetService_UpdateDatasetKeyValues_0 = runtime.ForwardResponseMessage + + forward_DatasetService_UpdateDatasetDataClass_0 = runtime.ForwardResponseMessage + + forward_DatasetService_SnapshotDataset_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/dataset_service_pb2.py b/aruna/api/storage/services/v2/dataset_service_pb2.py new file mode 100644 index 0000000..33ee253 --- /dev/null +++ b/aruna/api/storage/services/v2/dataset_service_pb2.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/dataset_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3aruna/api/storage/services/v2/dataset_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\"\x89\x03\n\x14\x43reateDatasetRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x44\n\nkey_values\x18\x03 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\tkeyValues\x12\\\n\x12\x65xternal_relations\x18\x04 \x03(\x0b\x32-.aruna.api.storage.models.v2.ExternalRelationR\x11\x65xternalRelations\x12\x45\n\ndata_class\x18\x05 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\x12\x1f\n\nproject_id\x18\x06 \x01(\tH\x00R\tprojectId\x12%\n\rcollection_id\x18\x07 \x01(\tH\x00R\x0c\x63ollectionIdB\x08\n\x06parent\"W\n\x15\x43reateDatasetResponse\x12>\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.DatasetR\x07\x64\x61taset\"2\n\x11GetDatasetRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\"T\n\x12GetDatasetResponse\x12>\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.DatasetR\x07\x64\x61taset\"5\n\x12GetDatasetsRequest\x12\x1f\n\x0b\x64\x61taset_ids\x18\x01 \x03(\tR\ndatasetIds\"W\n\x13GetDatasetsResponse\x12@\n\x08\x64\x61tasets\x18\x01 \x03(\x0b\x32$.aruna.api.storage.models.v2.DatasetR\x08\x64\x61tasets\"5\n\x14\x44\x65leteDatasetRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\"\x17\n\x15\x44\x65leteDatasetResponse\"M\n\x18UpdateDatasetNameRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"[\n\x19UpdateDatasetNameResponse\x12>\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.DatasetR\x07\x64\x61taset\"b\n\x1fUpdateDatasetDescriptionRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\"b\n UpdateDatasetDescriptionResponse\x12>\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.DatasetR\x07\x64\x61taset\"\xde\x01\n\x1dUpdateDatasetKeyValuesRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12K\n\x0e\x61\x64\x64_key_values\x18\x02 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0c\x61\x64\x64KeyValues\x12Q\n\x11remove_key_values\x18\x03 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0fremoveKeyValues\"`\n\x1eUpdateDatasetKeyValuesResponse\x12>\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.DatasetR\x07\x64\x61taset\"\x85\x01\n\x1dUpdateDatasetDataClassRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\x12\x45\n\ndata_class\x18\x02 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\"`\n\x1eUpdateDatasetDataClassResponse\x12>\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.DatasetR\x07\x64\x61taset\"7\n\x16SnapshotDatasetRequest\x12\x1d\n\ndataset_id\x18\x01 \x01(\tR\tdatasetId\"Y\n\x17SnapshotDatasetResponse\x12>\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.DatasetR\x07\x64\x61taset2\xaa\x0c\n\x0e\x44\x61tasetService\x12\x92\x01\n\rCreateDataset\x12\x33.aruna.api.storage.services.v2.CreateDatasetRequest\x1a\x34.aruna.api.storage.services.v2.CreateDatasetResponse\"\x16\x82\xd3\xe4\x93\x02\x10\"\x0b/v2/dataset:\x01*\x12\x93\x01\n\nGetDataset\x12\x30.aruna.api.storage.services.v2.GetDatasetRequest\x1a\x31.aruna.api.storage.services.v2.GetDatasetResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v2/dataset/{dataset_id}\x12\x8a\x01\n\x0bGetDatasets\x12\x31.aruna.api.storage.services.v2.GetDatasetsRequest\x1a\x32.aruna.api.storage.services.v2.GetDatasetsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v2/datasets\x12\x9c\x01\n\rDeleteDataset\x12\x33.aruna.api.storage.services.v2.DeleteDatasetRequest\x1a\x34.aruna.api.storage.services.v2.DeleteDatasetResponse\" \x82\xd3\xe4\x93\x02\x1a*\x18/v2/dataset/{dataset_id}\x12\xb0\x01\n\x11UpdateDatasetName\x12\x37.aruna.api.storage.services.v2.UpdateDatasetNameRequest\x1a\x38.aruna.api.storage.services.v2.UpdateDatasetNameResponse\"(\x82\xd3\xe4\x93\x02\"2\x1d/v2/dataset/{dataset_id}/name:\x01*\x12\xcc\x01\n\x18UpdateDatasetDescription\x12>.aruna.api.storage.services.v2.UpdateDatasetDescriptionRequest\x1a?.aruna.api.storage.services.v2.UpdateDatasetDescriptionResponse\"/\x82\xd3\xe4\x93\x02)2$/v2/dataset/{dataset_id}/description:\x01*\x12\xc5\x01\n\x16UpdateDatasetKeyValues\x12<.aruna.api.storage.services.v2.UpdateDatasetKeyValuesRequest\x1a=.aruna.api.storage.services.v2.UpdateDatasetKeyValuesResponse\".\x82\xd3\xe4\x93\x02(2#/v2/dataset/{dataset_id}/key_values:\x01*\x12\xc5\x01\n\x16UpdateDatasetDataClass\x12<.aruna.api.storage.services.v2.UpdateDatasetDataClassRequest\x1a=.aruna.api.storage.services.v2.UpdateDatasetDataClassResponse\".\x82\xd3\xe4\x93\x02(2#/v2/dataset/{dataset_id}/data_class:\x01*\x12\xae\x01\n\x0fSnapshotDataset\x12\x35.aruna.api.storage.services.v2.SnapshotDatasetRequest\x1a\x36.aruna.api.storage.services.v2.SnapshotDatasetResponse\",\x82\xd3\xe4\x93\x02&\"!/v2/dataset/{dataset_id}/snapshot:\x01*B\x90\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x0e\x44\x61tasetServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\016DatasetServiceP\001Z None: ... + +class CreateDatasetResponse(_message.Message): + __slots__ = ["dataset"] + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: _models_pb2.Dataset + def __init__(self, dataset: _Optional[_Union[_models_pb2.Dataset, _Mapping]] = ...) -> None: ... + +class GetDatasetRequest(_message.Message): + __slots__ = ["dataset_id"] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + def __init__(self, dataset_id: _Optional[str] = ...) -> None: ... + +class GetDatasetResponse(_message.Message): + __slots__ = ["dataset"] + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: _models_pb2.Dataset + def __init__(self, dataset: _Optional[_Union[_models_pb2.Dataset, _Mapping]] = ...) -> None: ... + +class GetDatasetsRequest(_message.Message): + __slots__ = ["dataset_ids"] + DATASET_IDS_FIELD_NUMBER: _ClassVar[int] + dataset_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, dataset_ids: _Optional[_Iterable[str]] = ...) -> None: ... + +class GetDatasetsResponse(_message.Message): + __slots__ = ["datasets"] + DATASETS_FIELD_NUMBER: _ClassVar[int] + datasets: _containers.RepeatedCompositeFieldContainer[_models_pb2.Dataset] + def __init__(self, datasets: _Optional[_Iterable[_Union[_models_pb2.Dataset, _Mapping]]] = ...) -> None: ... + +class DeleteDatasetRequest(_message.Message): + __slots__ = ["dataset_id"] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + def __init__(self, dataset_id: _Optional[str] = ...) -> None: ... + +class DeleteDatasetResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class UpdateDatasetNameRequest(_message.Message): + __slots__ = ["dataset_id", "name"] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + name: str + def __init__(self, dataset_id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... + +class UpdateDatasetNameResponse(_message.Message): + __slots__ = ["dataset"] + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: _models_pb2.Dataset + def __init__(self, dataset: _Optional[_Union[_models_pb2.Dataset, _Mapping]] = ...) -> None: ... + +class UpdateDatasetDescriptionRequest(_message.Message): + __slots__ = ["dataset_id", "description"] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + description: str + def __init__(self, dataset_id: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ... + +class UpdateDatasetDescriptionResponse(_message.Message): + __slots__ = ["dataset"] + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: _models_pb2.Dataset + def __init__(self, dataset: _Optional[_Union[_models_pb2.Dataset, _Mapping]] = ...) -> None: ... + +class UpdateDatasetKeyValuesRequest(_message.Message): + __slots__ = ["dataset_id", "add_key_values", "remove_key_values"] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + ADD_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + REMOVE_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + add_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + remove_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + def __init__(self, dataset_id: _Optional[str] = ..., add_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ..., remove_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ...) -> None: ... + +class UpdateDatasetKeyValuesResponse(_message.Message): + __slots__ = ["dataset"] + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: _models_pb2.Dataset + def __init__(self, dataset: _Optional[_Union[_models_pb2.Dataset, _Mapping]] = ...) -> None: ... + +class UpdateDatasetDataClassRequest(_message.Message): + __slots__ = ["dataset_id", "data_class"] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + DATA_CLASS_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + data_class: _models_pb2.DataClass + def __init__(self, dataset_id: _Optional[str] = ..., data_class: _Optional[_Union[_models_pb2.DataClass, str]] = ...) -> None: ... + +class UpdateDatasetDataClassResponse(_message.Message): + __slots__ = ["dataset"] + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: _models_pb2.Dataset + def __init__(self, dataset: _Optional[_Union[_models_pb2.Dataset, _Mapping]] = ...) -> None: ... + +class SnapshotDatasetRequest(_message.Message): + __slots__ = ["dataset_id"] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + dataset_id: str + def __init__(self, dataset_id: _Optional[str] = ...) -> None: ... + +class SnapshotDatasetResponse(_message.Message): + __slots__ = ["dataset"] + DATASET_FIELD_NUMBER: _ClassVar[int] + dataset: _models_pb2.Dataset + def __init__(self, dataset: _Optional[_Union[_models_pb2.Dataset, _Mapping]] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/dataset_service_pb2_grpc.py b/aruna/api/storage/services/v2/dataset_service_pb2_grpc.py new file mode 100644 index 0000000..d11e8f9 --- /dev/null +++ b/aruna/api/storage/services/v2/dataset_service_pb2_grpc.py @@ -0,0 +1,384 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import dataset_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2 + + +class DatasetServiceStub(object): + """DatasetService + + Contains all methods that get/create or update Dataset and associated resources + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateDataset = channel.unary_unary( + '/aruna.api.storage.services.v2.DatasetService/CreateDataset', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.CreateDatasetRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.CreateDatasetResponse.FromString, + ) + self.GetDataset = channel.unary_unary( + '/aruna.api.storage.services.v2.DatasetService/GetDataset', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetResponse.FromString, + ) + self.GetDatasets = channel.unary_unary( + '/aruna.api.storage.services.v2.DatasetService/GetDatasets', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetsResponse.FromString, + ) + self.DeleteDataset = channel.unary_unary( + '/aruna.api.storage.services.v2.DatasetService/DeleteDataset', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.DeleteDatasetRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.DeleteDatasetResponse.FromString, + ) + self.UpdateDatasetName = channel.unary_unary( + '/aruna.api.storage.services.v2.DatasetService/UpdateDatasetName', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetNameRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetNameResponse.FromString, + ) + self.UpdateDatasetDescription = channel.unary_unary( + '/aruna.api.storage.services.v2.DatasetService/UpdateDatasetDescription', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDescriptionRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDescriptionResponse.FromString, + ) + self.UpdateDatasetKeyValues = channel.unary_unary( + '/aruna.api.storage.services.v2.DatasetService/UpdateDatasetKeyValues', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetKeyValuesRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetKeyValuesResponse.FromString, + ) + self.UpdateDatasetDataClass = channel.unary_unary( + '/aruna.api.storage.services.v2.DatasetService/UpdateDatasetDataClass', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDataClassRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDataClassResponse.FromString, + ) + self.SnapshotDataset = channel.unary_unary( + '/aruna.api.storage.services.v2.DatasetService/SnapshotDataset', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.SnapshotDatasetRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.SnapshotDatasetResponse.FromString, + ) + + +class DatasetServiceServicer(object): + """DatasetService + + Contains all methods that get/create or update Dataset and associated resources + """ + + def CreateDataset(self, request, context): + """CreateNewDataset + + Status: BETA + + creates a new Dataset + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDataset(self, request, context): + """GetDataset + + Status: BETA + + Request a specific dataset by ID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDatasets(self, request, context): + """GetDatasets + + Status: BETA + + Queries multiple datasets by ID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteDataset(self, request, context): + """DeleteDataset + + Status: STABLE + + This request deletes the dataset. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateDatasetName(self, request, context): + """UpdateDatasetName + + Status: BETA + + Updates the dataset name. Caveat! Will rename the "s3 bucket" for data proxies! + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateDatasetDescription(self, request, context): + """UpdateDatasetDescription + + Status: BETA + + Updates the dataset description. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateDatasetKeyValues(self, request, context): + """UpdateDatasetKeyValues + + Status: BETA + + Updates the dataset key values. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateDatasetDataClass(self, request, context): + """UpdateDatasetDataClass + + Status: BETA + + Updates the dataset name. All (meta) data will be overwritten. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SnapshotDataset(self, request, context): + """SnapshotDatasetRequest + + Status: BETA + + Archives the full dataset, rendering all downstream relations immutable + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_DatasetServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateDataset': grpc.unary_unary_rpc_method_handler( + servicer.CreateDataset, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.CreateDatasetRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.CreateDatasetResponse.SerializeToString, + ), + 'GetDataset': grpc.unary_unary_rpc_method_handler( + servicer.GetDataset, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetResponse.SerializeToString, + ), + 'GetDatasets': grpc.unary_unary_rpc_method_handler( + servicer.GetDatasets, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetsResponse.SerializeToString, + ), + 'DeleteDataset': grpc.unary_unary_rpc_method_handler( + servicer.DeleteDataset, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.DeleteDatasetRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.DeleteDatasetResponse.SerializeToString, + ), + 'UpdateDatasetName': grpc.unary_unary_rpc_method_handler( + servicer.UpdateDatasetName, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetNameRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetNameResponse.SerializeToString, + ), + 'UpdateDatasetDescription': grpc.unary_unary_rpc_method_handler( + servicer.UpdateDatasetDescription, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDescriptionRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDescriptionResponse.SerializeToString, + ), + 'UpdateDatasetKeyValues': grpc.unary_unary_rpc_method_handler( + servicer.UpdateDatasetKeyValues, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetKeyValuesRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetKeyValuesResponse.SerializeToString, + ), + 'UpdateDatasetDataClass': grpc.unary_unary_rpc_method_handler( + servicer.UpdateDatasetDataClass, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDataClassRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDataClassResponse.SerializeToString, + ), + 'SnapshotDataset': grpc.unary_unary_rpc_method_handler( + servicer.SnapshotDataset, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.SnapshotDatasetRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.SnapshotDatasetResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.DatasetService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class DatasetService(object): + """DatasetService + + Contains all methods that get/create or update Dataset and associated resources + """ + + @staticmethod + def CreateDataset(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.DatasetService/CreateDataset', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.CreateDatasetRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.CreateDatasetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDataset(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.DatasetService/GetDataset', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDatasets(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.DatasetService/GetDatasets', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.GetDatasetsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteDataset(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.DatasetService/DeleteDataset', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.DeleteDatasetRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.DeleteDatasetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateDatasetName(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.DatasetService/UpdateDatasetName', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetNameRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetNameResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateDatasetDescription(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.DatasetService/UpdateDatasetDescription', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDescriptionRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDescriptionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateDatasetKeyValues(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.DatasetService/UpdateDatasetKeyValues', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetKeyValuesRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetKeyValuesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateDatasetDataClass(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.DatasetService/UpdateDatasetDataClass', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDataClassRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.UpdateDatasetDataClassResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SnapshotDataset(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.DatasetService/SnapshotDataset', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.SnapshotDatasetRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_dataset__service__pb2.SnapshotDatasetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/endpoint_service.pb.gw.go b/aruna/api/storage/services/v2/endpoint_service.pb.gw.go new file mode 100644 index 0000000..918f13e --- /dev/null +++ b/aruna/api/storage/services/v2/endpoint_service.pb.gw.go @@ -0,0 +1,549 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/endpoint_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_EndpointService_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_EndpointService_FullSyncEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (EndpointService_FullSyncEndpointClient, runtime.ServerMetadata, error) { + var protoReq FullSyncEndpointRequest + var metadata runtime.ServerMetadata + + stream, err := client.FullSyncEndpoint(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +var ( + filter_EndpointService_GetEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_EndpointService_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEndpointRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_EndpointService_GetEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEndpointRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_EndpointService_GetEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_EndpointService_GetEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEndpointsRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetEndpoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_GetEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEndpointsRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetEndpoints(ctx, &protoReq) + return msg, metadata, err + +} + +func request_EndpointService_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint_id") + } + + protoReq.EndpointId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint_id", err) + } + + msg, err := client.DeleteEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint_id") + } + + protoReq.EndpointId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint_id", err) + } + + msg, err := server.DeleteEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_EndpointService_GetDefaultEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDefaultEndpointRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetDefaultEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_GetDefaultEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDefaultEndpointRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetDefaultEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterEndpointServiceHandlerServer registers the http handlers for service EndpointService to "mux". +// UnaryRPC :call EndpointServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterEndpointServiceHandlerFromEndpoint instead. +func RegisterEndpointServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server EndpointServiceServer) error { + + mux.Handle("POST", pattern_EndpointService_CreateEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/CreateEndpoint", runtime.WithHTTPPathPattern("/v2/endpoint")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_CreateEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_FullSyncEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("GET", pattern_EndpointService_GetEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/GetEndpoint", runtime.WithHTTPPathPattern("/v2/endpoint")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_GetEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_GetEndpoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/GetEndpoints", runtime.WithHTTPPathPattern("/v2/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_GetEndpoints_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_GetEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_EndpointService_DeleteEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/DeleteEndpoint", runtime.WithHTTPPathPattern("/v2/endpoint/{endpoint_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_DeleteEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_GetDefaultEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/GetDefaultEndpoint", runtime.WithHTTPPathPattern("/v2/endpoint/default")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_GetDefaultEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_GetDefaultEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterEndpointServiceHandlerFromEndpoint is same as RegisterEndpointServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterEndpointServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterEndpointServiceHandler(ctx, mux, conn) +} + +// RegisterEndpointServiceHandler registers the http handlers for service EndpointService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterEndpointServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterEndpointServiceHandlerClient(ctx, mux, NewEndpointServiceClient(conn)) +} + +// RegisterEndpointServiceHandlerClient registers the http handlers for service EndpointService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "EndpointServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "EndpointServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "EndpointServiceClient" to call the correct interceptors. +func RegisterEndpointServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client EndpointServiceClient) error { + + mux.Handle("POST", pattern_EndpointService_CreateEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/CreateEndpoint", runtime.WithHTTPPathPattern("/v2/endpoint")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_CreateEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_FullSyncEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/FullSyncEndpoint", runtime.WithHTTPPathPattern("/v2/endpoint/sync")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_FullSyncEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_FullSyncEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_GetEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/GetEndpoint", runtime.WithHTTPPathPattern("/v2/endpoint")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_GetEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_GetEndpoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/GetEndpoints", runtime.WithHTTPPathPattern("/v2/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_GetEndpoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_GetEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_EndpointService_DeleteEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/DeleteEndpoint", runtime.WithHTTPPathPattern("/v2/endpoint/{endpoint_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_DeleteEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_GetDefaultEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.EndpointService/GetDefaultEndpoint", runtime.WithHTTPPathPattern("/v2/endpoint/default")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_GetDefaultEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_GetDefaultEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_EndpointService_CreateEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "endpoint"}, "")) + + pattern_EndpointService_FullSyncEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "endpoint", "sync"}, "")) + + pattern_EndpointService_GetEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "endpoint"}, "")) + + pattern_EndpointService_GetEndpoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "endpoints"}, "")) + + pattern_EndpointService_DeleteEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "endpoint", "endpoint_id"}, "")) + + pattern_EndpointService_GetDefaultEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "endpoint", "default"}, "")) +) + +var ( + forward_EndpointService_CreateEndpoint_0 = runtime.ForwardResponseMessage + + forward_EndpointService_FullSyncEndpoint_0 = runtime.ForwardResponseStream + + forward_EndpointService_GetEndpoint_0 = runtime.ForwardResponseMessage + + forward_EndpointService_GetEndpoints_0 = runtime.ForwardResponseMessage + + forward_EndpointService_DeleteEndpoint_0 = runtime.ForwardResponseMessage + + forward_EndpointService_GetDefaultEndpoint_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/endpoint_service_pb2.py b/aruna/api/storage/services/v2/endpoint_service_pb2.py new file mode 100644 index 0000000..10e0838 --- /dev/null +++ b/aruna/api/storage/services/v2/endpoint_service_pb2.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/endpoint_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4aruna/api/storage/services/v2/endpoint_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\"\x81\x02\n\x15\x43reateEndpointRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12K\n\nep_variant\x18\x02 \x01(\x0e\x32,.aruna.api.storage.models.v2.EndpointVariantR\tepVariant\x12\x1b\n\tis_public\x18\x03 \x01(\x08R\x08isPublic\x12\x16\n\x06pubkey\x18\x04 \x01(\tR\x06pubkey\x12R\n\x0chost_configs\x18\x05 \x03(\x0b\x32/.aruna.api.storage.models.v2.EndpointHostConfigR\x0bhostConfigs\"[\n\x16\x43reateEndpointResponse\x12\x41\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32%.aruna.api.storage.models.v2.EndpointR\x08\x65ndpoint\"\x19\n\x17\x46ullSyncEndpointRequest\"\xf7\x01\n\x18\x46ullSyncEndpointResponse\x12Y\n\x10generic_resource\x18\x01 \x01(\x0b\x32,.aruna.api.storage.models.v2.GenericResourceH\x00R\x0fgenericResource\x12\x37\n\x04user\x18\x02 \x01(\x0b\x32!.aruna.api.storage.models.v2.UserH\x00R\x04user\x12=\n\x06pubkey\x18\x03 \x01(\x0b\x32#.aruna.api.storage.models.v2.PubkeyH\x00R\x06pubkeyB\x08\n\x06target\"j\n\x12GetEndpointRequest\x12%\n\rendpoint_name\x18\x01 \x01(\tH\x00R\x0c\x65ndpointName\x12!\n\x0b\x65ndpoint_id\x18\x02 \x01(\tH\x00R\nendpointIdB\n\n\x08\x65ndpoint\"X\n\x13GetEndpointResponse\x12\x41\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32%.aruna.api.storage.models.v2.EndpointR\x08\x65ndpoint\"\x15\n\x13GetEndpointsRequest\"[\n\x14GetEndpointsResponse\x12\x43\n\tendpoints\x18\x01 \x03(\x0b\x32%.aruna.api.storage.models.v2.EndpointR\tendpoints\"8\n\x15\x44\x65leteEndpointRequest\x12\x1f\n\x0b\x65ndpoint_id\x18\x01 \x01(\tR\nendpointId\"\x18\n\x16\x44\x65leteEndpointResponse\"\x1b\n\x19GetDefaultEndpointRequest\"_\n\x1aGetDefaultEndpointResponse\x12\x41\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32%.aruna.api.storage.models.v2.EndpointR\x08\x65ndpoint2\xb9\x07\n\x0f\x45ndpointService\x12\x96\x01\n\x0e\x43reateEndpoint\x12\x34.aruna.api.storage.services.v2.CreateEndpointRequest\x1a\x35.aruna.api.storage.services.v2.CreateEndpointResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v2/endpoint:\x01*\x12\xa0\x01\n\x10\x46ullSyncEndpoint\x12\x36.aruna.api.storage.services.v2.FullSyncEndpointRequest\x1a\x37.aruna.api.storage.services.v2.FullSyncEndpointResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/v2/endpoint/sync0\x01\x12\x8a\x01\n\x0bGetEndpoint\x12\x31.aruna.api.storage.services.v2.GetEndpointRequest\x1a\x32.aruna.api.storage.services.v2.GetEndpointResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v2/endpoint\x12\x8e\x01\n\x0cGetEndpoints\x12\x32.aruna.api.storage.services.v2.GetEndpointsRequest\x1a\x33.aruna.api.storage.services.v2.GetEndpointsResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/v2/endpoints\x12\xa1\x01\n\x0e\x44\x65leteEndpoint\x12\x34.aruna.api.storage.services.v2.DeleteEndpointRequest\x1a\x35.aruna.api.storage.services.v2.DeleteEndpointResponse\"\"\x82\xd3\xe4\x93\x02\x1c*\x1a/v2/endpoint/{endpoint_id}\x12\xa7\x01\n\x12GetDefaultEndpoint\x12\x38.aruna.api.storage.services.v2.GetDefaultEndpointRequest\x1a\x39.aruna.api.storage.services.v2.GetDefaultEndpointResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v2/endpoint/defaultB\x91\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x0f\x45ndpointServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\017EndpointServiceP\001Z None: ... + +class CreateEndpointResponse(_message.Message): + __slots__ = ["endpoint"] + ENDPOINT_FIELD_NUMBER: _ClassVar[int] + endpoint: _models_pb2.Endpoint + def __init__(self, endpoint: _Optional[_Union[_models_pb2.Endpoint, _Mapping]] = ...) -> None: ... + +class FullSyncEndpointRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class FullSyncEndpointResponse(_message.Message): + __slots__ = ["generic_resource", "user", "pubkey"] + GENERIC_RESOURCE_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + PUBKEY_FIELD_NUMBER: _ClassVar[int] + generic_resource: _models_pb2.GenericResource + user: _models_pb2.User + pubkey: _models_pb2.Pubkey + def __init__(self, generic_resource: _Optional[_Union[_models_pb2.GenericResource, _Mapping]] = ..., user: _Optional[_Union[_models_pb2.User, _Mapping]] = ..., pubkey: _Optional[_Union[_models_pb2.Pubkey, _Mapping]] = ...) -> None: ... + +class GetEndpointRequest(_message.Message): + __slots__ = ["endpoint_name", "endpoint_id"] + ENDPOINT_NAME_FIELD_NUMBER: _ClassVar[int] + ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int] + endpoint_name: str + endpoint_id: str + def __init__(self, endpoint_name: _Optional[str] = ..., endpoint_id: _Optional[str] = ...) -> None: ... + +class GetEndpointResponse(_message.Message): + __slots__ = ["endpoint"] + ENDPOINT_FIELD_NUMBER: _ClassVar[int] + endpoint: _models_pb2.Endpoint + def __init__(self, endpoint: _Optional[_Union[_models_pb2.Endpoint, _Mapping]] = ...) -> None: ... + +class GetEndpointsRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetEndpointsResponse(_message.Message): + __slots__ = ["endpoints"] + ENDPOINTS_FIELD_NUMBER: _ClassVar[int] + endpoints: _containers.RepeatedCompositeFieldContainer[_models_pb2.Endpoint] + def __init__(self, endpoints: _Optional[_Iterable[_Union[_models_pb2.Endpoint, _Mapping]]] = ...) -> None: ... + +class DeleteEndpointRequest(_message.Message): + __slots__ = ["endpoint_id"] + ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int] + endpoint_id: str + def __init__(self, endpoint_id: _Optional[str] = ...) -> None: ... + +class DeleteEndpointResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetDefaultEndpointRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetDefaultEndpointResponse(_message.Message): + __slots__ = ["endpoint"] + ENDPOINT_FIELD_NUMBER: _ClassVar[int] + endpoint: _models_pb2.Endpoint + def __init__(self, endpoint: _Optional[_Union[_models_pb2.Endpoint, _Mapping]] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/endpoint_service_pb2_grpc.py b/aruna/api/storage/services/v2/endpoint_service_pb2_grpc.py new file mode 100644 index 0000000..a0d0111 --- /dev/null +++ b/aruna/api/storage/services/v2/endpoint_service_pb2_grpc.py @@ -0,0 +1,273 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import endpoint_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2 + + +class EndpointServiceStub(object): + """EndpointService + + Contains all methods that get/create or update Endpoint and associated resources + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateEndpoint = channel.unary_unary( + '/aruna.api.storage.services.v2.EndpointService/CreateEndpoint', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.CreateEndpointRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.CreateEndpointResponse.FromString, + ) + self.FullSyncEndpoint = channel.unary_stream( + '/aruna.api.storage.services.v2.EndpointService/FullSyncEndpoint', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.FullSyncEndpointRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.FullSyncEndpointResponse.FromString, + ) + self.GetEndpoint = channel.unary_unary( + '/aruna.api.storage.services.v2.EndpointService/GetEndpoint', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointResponse.FromString, + ) + self.GetEndpoints = channel.unary_unary( + '/aruna.api.storage.services.v2.EndpointService/GetEndpoints', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointsResponse.FromString, + ) + self.DeleteEndpoint = channel.unary_unary( + '/aruna.api.storage.services.v2.EndpointService/DeleteEndpoint', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.DeleteEndpointRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.DeleteEndpointResponse.FromString, + ) + self.GetDefaultEndpoint = channel.unary_unary( + '/aruna.api.storage.services.v2.EndpointService/GetDefaultEndpoint', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetDefaultEndpointRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetDefaultEndpointResponse.FromString, + ) + + +class EndpointServiceServicer(object): + """EndpointService + + Contains all methods that get/create or update Endpoint and associated resources + """ + + def CreateEndpoint(self, request, context): + """CreateEndpoint + + Status: BETA + + Registers a new Endpoint (Aruna DataProxy) to the server + Needs admin permissions + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FullSyncEndpoint(self, request, context): + """FullSyncEndpoint + + Status: BETA + + Requests a full sync of all endpoint related data + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetEndpoint(self, request, context): + """GetEndpoint + + Status: BETA + + Gets an specific endpoint by ID or Name + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetEndpoints(self, request, context): + """GetEndpoints + + Status: BETA + + Gets all available endpoints + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteEndpoint(self, request, context): + """DeleteEndpoint + + Status: BETA + + Deletes a specific endpoint by id + This needs admin permissions + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDefaultEndpoint(self, request, context): + """GetDefaultEndpoint + + Status: BETA + + This request returns the default endpoint for the current aruna_server + It may produce different results depending on the used server + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_EndpointServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateEndpoint': grpc.unary_unary_rpc_method_handler( + servicer.CreateEndpoint, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.CreateEndpointRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.CreateEndpointResponse.SerializeToString, + ), + 'FullSyncEndpoint': grpc.unary_stream_rpc_method_handler( + servicer.FullSyncEndpoint, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.FullSyncEndpointRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.FullSyncEndpointResponse.SerializeToString, + ), + 'GetEndpoint': grpc.unary_unary_rpc_method_handler( + servicer.GetEndpoint, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointResponse.SerializeToString, + ), + 'GetEndpoints': grpc.unary_unary_rpc_method_handler( + servicer.GetEndpoints, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointsResponse.SerializeToString, + ), + 'DeleteEndpoint': grpc.unary_unary_rpc_method_handler( + servicer.DeleteEndpoint, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.DeleteEndpointRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.DeleteEndpointResponse.SerializeToString, + ), + 'GetDefaultEndpoint': grpc.unary_unary_rpc_method_handler( + servicer.GetDefaultEndpoint, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetDefaultEndpointRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetDefaultEndpointResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.EndpointService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class EndpointService(object): + """EndpointService + + Contains all methods that get/create or update Endpoint and associated resources + """ + + @staticmethod + def CreateEndpoint(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.EndpointService/CreateEndpoint', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.CreateEndpointRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.CreateEndpointResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FullSyncEndpoint(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/aruna.api.storage.services.v2.EndpointService/FullSyncEndpoint', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.FullSyncEndpointRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.FullSyncEndpointResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetEndpoint(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.EndpointService/GetEndpoint', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetEndpoints(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.EndpointService/GetEndpoints', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetEndpointsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteEndpoint(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.EndpointService/DeleteEndpoint', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.DeleteEndpointRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.DeleteEndpointResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDefaultEndpoint(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.EndpointService/GetDefaultEndpoint', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetDefaultEndpointRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_endpoint__service__pb2.GetDefaultEndpointResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/info_service.pb.gw.go b/aruna/api/storage/services/v2/info_service.pb.gw.go new file mode 100644 index 0000000..9ea2e7e --- /dev/null +++ b/aruna/api/storage/services/v2/info_service.pb.gw.go @@ -0,0 +1,447 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/info_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_StorageStatusService_GetStorageVersion_0(ctx context.Context, marshaler runtime.Marshaler, client StorageStatusServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetStorageVersionRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetStorageVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_StorageStatusService_GetStorageVersion_0(ctx context.Context, marshaler runtime.Marshaler, server StorageStatusServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetStorageVersionRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetStorageVersion(ctx, &protoReq) + return msg, metadata, err + +} + +func request_StorageStatusService_GetStorageStatus_0(ctx context.Context, marshaler runtime.Marshaler, client StorageStatusServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetStorageStatusRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetStorageStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_StorageStatusService_GetStorageStatus_0(ctx context.Context, marshaler runtime.Marshaler, server StorageStatusServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetStorageStatusRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetStorageStatus(ctx, &protoReq) + return msg, metadata, err + +} + +func request_StorageStatusService_GetPubkeys_0(ctx context.Context, marshaler runtime.Marshaler, client StorageStatusServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPubkeysRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetPubkeys(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_StorageStatusService_GetPubkeys_0(ctx context.Context, marshaler runtime.Marshaler, server StorageStatusServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPubkeysRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetPubkeys(ctx, &protoReq) + return msg, metadata, err + +} + +func request_StorageStatusService_GetAnouncements_0(ctx context.Context, marshaler runtime.Marshaler, client StorageStatusServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAnouncementsRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetAnouncements(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_StorageStatusService_GetAnouncements_0(ctx context.Context, marshaler runtime.Marshaler, server StorageStatusServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAnouncementsRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetAnouncements(ctx, &protoReq) + return msg, metadata, err + +} + +func request_StorageStatusService_SetAnouncements_0(ctx context.Context, marshaler runtime.Marshaler, client StorageStatusServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetAnouncementsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SetAnouncements(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_StorageStatusService_SetAnouncements_0(ctx context.Context, marshaler runtime.Marshaler, server StorageStatusServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetAnouncementsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SetAnouncements(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterStorageStatusServiceHandlerServer registers the http handlers for service StorageStatusService to "mux". +// UnaryRPC :call StorageStatusServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterStorageStatusServiceHandlerFromEndpoint instead. +func RegisterStorageStatusServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server StorageStatusServiceServer) error { + + mux.Handle("GET", pattern_StorageStatusService_GetStorageVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/GetStorageVersion", runtime.WithHTTPPathPattern("/v2/info/version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_StorageStatusService_GetStorageVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_GetStorageVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_StorageStatusService_GetStorageStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/GetStorageStatus", runtime.WithHTTPPathPattern("/v2/info/status")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_StorageStatusService_GetStorageStatus_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_GetStorageStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_StorageStatusService_GetPubkeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/GetPubkeys", runtime.WithHTTPPathPattern("/v2/info/pubkeys")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_StorageStatusService_GetPubkeys_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_GetPubkeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_StorageStatusService_GetAnouncements_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/GetAnouncements", runtime.WithHTTPPathPattern("/v2/info/anouncements")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_StorageStatusService_GetAnouncements_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_GetAnouncements_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_StorageStatusService_SetAnouncements_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/SetAnouncements", runtime.WithHTTPPathPattern("/v2/info/anouncements/set")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_StorageStatusService_SetAnouncements_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_SetAnouncements_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterStorageStatusServiceHandlerFromEndpoint is same as RegisterStorageStatusServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterStorageStatusServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterStorageStatusServiceHandler(ctx, mux, conn) +} + +// RegisterStorageStatusServiceHandler registers the http handlers for service StorageStatusService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterStorageStatusServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterStorageStatusServiceHandlerClient(ctx, mux, NewStorageStatusServiceClient(conn)) +} + +// RegisterStorageStatusServiceHandlerClient registers the http handlers for service StorageStatusService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "StorageStatusServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "StorageStatusServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "StorageStatusServiceClient" to call the correct interceptors. +func RegisterStorageStatusServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client StorageStatusServiceClient) error { + + mux.Handle("GET", pattern_StorageStatusService_GetStorageVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/GetStorageVersion", runtime.WithHTTPPathPattern("/v2/info/version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_StorageStatusService_GetStorageVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_GetStorageVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_StorageStatusService_GetStorageStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/GetStorageStatus", runtime.WithHTTPPathPattern("/v2/info/status")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_StorageStatusService_GetStorageStatus_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_GetStorageStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_StorageStatusService_GetPubkeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/GetPubkeys", runtime.WithHTTPPathPattern("/v2/info/pubkeys")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_StorageStatusService_GetPubkeys_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_GetPubkeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_StorageStatusService_GetAnouncements_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/GetAnouncements", runtime.WithHTTPPathPattern("/v2/info/anouncements")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_StorageStatusService_GetAnouncements_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_GetAnouncements_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_StorageStatusService_SetAnouncements_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.StorageStatusService/SetAnouncements", runtime.WithHTTPPathPattern("/v2/info/anouncements/set")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_StorageStatusService_SetAnouncements_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_StorageStatusService_SetAnouncements_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_StorageStatusService_GetStorageVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "info", "version"}, "")) + + pattern_StorageStatusService_GetStorageStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "info", "status"}, "")) + + pattern_StorageStatusService_GetPubkeys_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "info", "pubkeys"}, "")) + + pattern_StorageStatusService_GetAnouncements_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "info", "anouncements"}, "")) + + pattern_StorageStatusService_SetAnouncements_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v2", "info", "anouncements", "set"}, "")) +) + +var ( + forward_StorageStatusService_GetStorageVersion_0 = runtime.ForwardResponseMessage + + forward_StorageStatusService_GetStorageStatus_0 = runtime.ForwardResponseMessage + + forward_StorageStatusService_GetPubkeys_0 = runtime.ForwardResponseMessage + + forward_StorageStatusService_GetAnouncements_0 = runtime.ForwardResponseMessage + + forward_StorageStatusService_SetAnouncements_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/info_service_pb2.py b/aruna/api/storage/services/v2/info_service_pb2.py new file mode 100644 index 0000000..be47cc9 --- /dev/null +++ b/aruna/api/storage/services/v2/info_service_pb2.py @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/info_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0aruna/api/storage/services/v2/info_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x1a\n\x18GetStorageVersionRequest\"\x92\x01\n\x0fSemanticVersion\x12%\n\x0eversion_string\x18\x01 \x01(\tR\rversionString\x12\x14\n\x05major\x18\x02 \x01(\x05R\x05major\x12\x14\n\x05minor\x18\x03 \x01(\x05R\x05minor\x12\x14\n\x05patch\x18\x04 \x01(\x05R\x05patch\x12\x16\n\x06labels\x18\x05 \x01(\tR\x06labels\"x\n\x0fLocationVersion\x12\x1a\n\x08location\x18\x01 \x01(\tR\x08location\x12I\n\x07version\x18\x02 \x03(\x0b\x32/.aruna.api.storage.services.v2.ComponentVersionR\x07version\"p\n\x10\x43omponentVersion\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12H\n\x07version\x18\x02 \x01(\x0b\x32..aruna.api.storage.services.v2.SemanticVersionR\x07version\"v\n\x19GetStorageVersionResponse\x12Y\n\x10location_version\x18\x01 \x03(\x0b\x32..aruna.api.storage.services.v2.LocationVersionR\x0flocationVersion\"\x19\n\x17GetStorageStatusRequest\"\x87\x01\n\x0eLocationStatus\x12\x1a\n\x08location\x18\x01 \x01(\tR\x08location\x12Y\n\x10\x63omponent_status\x18\x02 \x03(\x0b\x32..aruna.api.storage.services.v2.ComponentStatusR\x0f\x63omponentStatus\"k\n\x0f\x43omponentStatus\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x44\n\x06status\x18\x02 \x01(\x0e\x32,.aruna.api.storage.models.v2.ComponentStatusR\x06status\"r\n\x18GetStorageStatusResponse\x12V\n\x0flocation_status\x18\x01 \x03(\x0b\x32-.aruna.api.storage.services.v2.LocationStatusR\x0elocationStatus\"\x13\n\x11GetPubkeysRequest\"S\n\x12GetPubkeysResponse\x12=\n\x07pubkeys\x18\x01 \x03(\x0b\x32#.aruna.api.storage.models.v2.PubkeyR\x07pubkeys\"r\n\x0b\x41nouncement\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07\x63ontent\x18\x02 \x01(\tR\x07\x63ontent\x12\x39\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"\x18\n\x16GetAnouncementsRequest\"i\n\x17GetAnouncementsResponse\x12N\n\x0c\x61nouncements\x18\x01 \x03(\x0b\x32*.aruna.api.storage.services.v2.AnouncementR\x0c\x61nouncements\"\xa6\x01\n\x16SetAnouncementsRequest\x12[\n\x13\x61nouncements_upsert\x18\x01 \x03(\x0b\x32*.aruna.api.storage.services.v2.AnouncementR\x12\x61nouncementsUpsert\x12/\n\x13\x61nouncements_delete\x18\x02 \x03(\tR\x12\x61nouncementsDelete\"i\n\x17SetAnouncementsResponse\x12N\n\x0c\x61nouncements\x18\x01 \x03(\x0b\x32*.aruna.api.storage.services.v2.AnouncementR\x0c\x61nouncements2\xb1\x06\n\x14StorageStatusService\x12\xa0\x01\n\x11GetStorageVersion\x12\x37.aruna.api.storage.services.v2.GetStorageVersionRequest\x1a\x38.aruna.api.storage.services.v2.GetStorageVersionResponse\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/v2/info/version\x12\x9c\x01\n\x10GetStorageStatus\x12\x36.aruna.api.storage.services.v2.GetStorageStatusRequest\x1a\x37.aruna.api.storage.services.v2.GetStorageStatusResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/v2/info/status\x12\x8b\x01\n\nGetPubkeys\x12\x30.aruna.api.storage.services.v2.GetPubkeysRequest\x1a\x31.aruna.api.storage.services.v2.GetPubkeysResponse\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/v2/info/pubkeys\x12\x9f\x01\n\x0fGetAnouncements\x12\x35.aruna.api.storage.services.v2.GetAnouncementsRequest\x1a\x36.aruna.api.storage.services.v2.GetAnouncementsResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/v2/info/anouncements\x12\xa6\x01\n\x0fSetAnouncements\x12\x35.aruna.api.storage.services.v2.SetAnouncementsRequest\x1a\x36.aruna.api.storage.services.v2.SetAnouncementsResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v2/info/anouncements/set:\x01*B\x96\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x14StorageStatusServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\024StorageStatusServiceP\001Z None: ... + +class SemanticVersion(_message.Message): + __slots__ = ["version_string", "major", "minor", "patch", "labels"] + VERSION_STRING_FIELD_NUMBER: _ClassVar[int] + MAJOR_FIELD_NUMBER: _ClassVar[int] + MINOR_FIELD_NUMBER: _ClassVar[int] + PATCH_FIELD_NUMBER: _ClassVar[int] + LABELS_FIELD_NUMBER: _ClassVar[int] + version_string: str + major: int + minor: int + patch: int + labels: str + def __init__(self, version_string: _Optional[str] = ..., major: _Optional[int] = ..., minor: _Optional[int] = ..., patch: _Optional[int] = ..., labels: _Optional[str] = ...) -> None: ... + +class LocationVersion(_message.Message): + __slots__ = ["location", "version"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + location: str + version: _containers.RepeatedCompositeFieldContainer[ComponentVersion] + def __init__(self, location: _Optional[str] = ..., version: _Optional[_Iterable[_Union[ComponentVersion, _Mapping]]] = ...) -> None: ... + +class ComponentVersion(_message.Message): + __slots__ = ["name", "version"] + NAME_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + name: str + version: SemanticVersion + def __init__(self, name: _Optional[str] = ..., version: _Optional[_Union[SemanticVersion, _Mapping]] = ...) -> None: ... + +class GetStorageVersionResponse(_message.Message): + __slots__ = ["location_version"] + LOCATION_VERSION_FIELD_NUMBER: _ClassVar[int] + location_version: _containers.RepeatedCompositeFieldContainer[LocationVersion] + def __init__(self, location_version: _Optional[_Iterable[_Union[LocationVersion, _Mapping]]] = ...) -> None: ... + +class GetStorageStatusRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class LocationStatus(_message.Message): + __slots__ = ["location", "component_status"] + LOCATION_FIELD_NUMBER: _ClassVar[int] + COMPONENT_STATUS_FIELD_NUMBER: _ClassVar[int] + location: str + component_status: _containers.RepeatedCompositeFieldContainer[ComponentStatus] + def __init__(self, location: _Optional[str] = ..., component_status: _Optional[_Iterable[_Union[ComponentStatus, _Mapping]]] = ...) -> None: ... + +class ComponentStatus(_message.Message): + __slots__ = ["name", "status"] + NAME_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + name: str + status: _models_pb2.ComponentStatus + def __init__(self, name: _Optional[str] = ..., status: _Optional[_Union[_models_pb2.ComponentStatus, str]] = ...) -> None: ... + +class GetStorageStatusResponse(_message.Message): + __slots__ = ["location_status"] + LOCATION_STATUS_FIELD_NUMBER: _ClassVar[int] + location_status: _containers.RepeatedCompositeFieldContainer[LocationStatus] + def __init__(self, location_status: _Optional[_Iterable[_Union[LocationStatus, _Mapping]]] = ...) -> None: ... + +class GetPubkeysRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetPubkeysResponse(_message.Message): + __slots__ = ["pubkeys"] + PUBKEYS_FIELD_NUMBER: _ClassVar[int] + pubkeys: _containers.RepeatedCompositeFieldContainer[_models_pb2.Pubkey] + def __init__(self, pubkeys: _Optional[_Iterable[_Union[_models_pb2.Pubkey, _Mapping]]] = ...) -> None: ... + +class Anouncement(_message.Message): + __slots__ = ["id", "content", "created_at"] + ID_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + content: str + created_at: _timestamp_pb2.Timestamp + def __init__(self, id: _Optional[str] = ..., content: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class GetAnouncementsRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetAnouncementsResponse(_message.Message): + __slots__ = ["anouncements"] + ANOUNCEMENTS_FIELD_NUMBER: _ClassVar[int] + anouncements: _containers.RepeatedCompositeFieldContainer[Anouncement] + def __init__(self, anouncements: _Optional[_Iterable[_Union[Anouncement, _Mapping]]] = ...) -> None: ... + +class SetAnouncementsRequest(_message.Message): + __slots__ = ["anouncements_upsert", "anouncements_delete"] + ANOUNCEMENTS_UPSERT_FIELD_NUMBER: _ClassVar[int] + ANOUNCEMENTS_DELETE_FIELD_NUMBER: _ClassVar[int] + anouncements_upsert: _containers.RepeatedCompositeFieldContainer[Anouncement] + anouncements_delete: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, anouncements_upsert: _Optional[_Iterable[_Union[Anouncement, _Mapping]]] = ..., anouncements_delete: _Optional[_Iterable[str]] = ...) -> None: ... + +class SetAnouncementsResponse(_message.Message): + __slots__ = ["anouncements"] + ANOUNCEMENTS_FIELD_NUMBER: _ClassVar[int] + anouncements: _containers.RepeatedCompositeFieldContainer[Anouncement] + def __init__(self, anouncements: _Optional[_Iterable[_Union[Anouncement, _Mapping]]] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/info_service_pb2_grpc.py b/aruna/api/storage/services/v2/info_service_pb2_grpc.py new file mode 100644 index 0000000..528f4b0 --- /dev/null +++ b/aruna/api/storage/services/v2/info_service_pb2_grpc.py @@ -0,0 +1,224 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import info_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2 + + +class StorageStatusServiceStub(object): + """StorageStatusService + + This is a generic service that contains utility functions + these functions are used to query additional meta-information + about the status of the overall storage architecture + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetStorageVersion = channel.unary_unary( + '/aruna.api.storage.services.v2.StorageStatusService/GetStorageVersion', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageVersionRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageVersionResponse.FromString, + ) + self.GetStorageStatus = channel.unary_unary( + '/aruna.api.storage.services.v2.StorageStatusService/GetStorageStatus', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageStatusRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageStatusResponse.FromString, + ) + self.GetPubkeys = channel.unary_unary( + '/aruna.api.storage.services.v2.StorageStatusService/GetPubkeys', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetPubkeysRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetPubkeysResponse.FromString, + ) + self.GetAnouncements = channel.unary_unary( + '/aruna.api.storage.services.v2.StorageStatusService/GetAnouncements', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetAnouncementsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetAnouncementsResponse.FromString, + ) + self.SetAnouncements = channel.unary_unary( + '/aruna.api.storage.services.v2.StorageStatusService/SetAnouncements', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.SetAnouncementsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.SetAnouncementsResponse.FromString, + ) + + +class StorageStatusServiceServicer(object): + """StorageStatusService + + This is a generic service that contains utility functions + these functions are used to query additional meta-information + about the status of the overall storage architecture + """ + + def GetStorageVersion(self, request, context): + """GetStorageVersion + + Status: BETA + + A request to get the current version of the server application + String representation and https://semver.org/ + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetStorageStatus(self, request, context): + """GetStorageStatus + + Status: ALPHA + + A request to get the current status of the storage components by location(s) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetPubkeys(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 GetAnouncements(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 SetAnouncements(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_StorageStatusServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetStorageVersion': grpc.unary_unary_rpc_method_handler( + servicer.GetStorageVersion, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageVersionRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageVersionResponse.SerializeToString, + ), + 'GetStorageStatus': grpc.unary_unary_rpc_method_handler( + servicer.GetStorageStatus, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageStatusRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageStatusResponse.SerializeToString, + ), + 'GetPubkeys': grpc.unary_unary_rpc_method_handler( + servicer.GetPubkeys, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetPubkeysRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetPubkeysResponse.SerializeToString, + ), + 'GetAnouncements': grpc.unary_unary_rpc_method_handler( + servicer.GetAnouncements, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetAnouncementsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetAnouncementsResponse.SerializeToString, + ), + 'SetAnouncements': grpc.unary_unary_rpc_method_handler( + servicer.SetAnouncements, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.SetAnouncementsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.SetAnouncementsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.StorageStatusService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class StorageStatusService(object): + """StorageStatusService + + This is a generic service that contains utility functions + these functions are used to query additional meta-information + about the status of the overall storage architecture + """ + + @staticmethod + def GetStorageVersion(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.StorageStatusService/GetStorageVersion', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageVersionRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageVersionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetStorageStatus(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.StorageStatusService/GetStorageStatus', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageStatusRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetStorageStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetPubkeys(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.StorageStatusService/GetPubkeys', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetPubkeysRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetPubkeysResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetAnouncements(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.StorageStatusService/GetAnouncements', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetAnouncementsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.GetAnouncementsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetAnouncements(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.StorageStatusService/SetAnouncements', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.SetAnouncementsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_info__service__pb2.SetAnouncementsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/object_service.pb.gw.go b/aruna/api/storage/services/v2/object_service.pb.gw.go new file mode 100644 index 0000000..52fac42 --- /dev/null +++ b/aruna/api/storage/services/v2/object_service.pb.gw.go @@ -0,0 +1,1061 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/object_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_ObjectService_CreateObject_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateObjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateObject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectService_CreateObject_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateObjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateObject(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ObjectService_GetUploadURL_0 = &utilities.DoubleArray{Encoding: map[string]int{"object_id": 0, "objectId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_ObjectService_GetUploadURL_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUploadURLRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ObjectService_GetUploadURL_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetUploadURL(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectService_GetUploadURL_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUploadURLRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ObjectService_GetUploadURL_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetUploadURL(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ObjectService_GetDownloadURL_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDownloadURLRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := client.GetDownloadURL(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectService_GetDownloadURL_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDownloadURLRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := server.GetDownloadURL(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ObjectService_FinishObjectStaging_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FinishObjectStagingRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := client.FinishObjectStaging(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectService_FinishObjectStaging_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FinishObjectStagingRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := server.FinishObjectStaging(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ObjectService_UpdateObject_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateObjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := client.UpdateObject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectService_UpdateObject_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateObjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := server.UpdateObject(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ObjectService_CloneObject_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CloneObjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := client.CloneObject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectService_CloneObject_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CloneObjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := server.CloneObject(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ObjectService_DeleteObject_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteObjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := client.DeleteObject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectService_DeleteObject_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteObjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := server.DeleteObject(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ObjectService_GetObject_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetObjectRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := client.GetObject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectService_GetObject_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetObjectRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["object_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "object_id") + } + + protoReq.ObjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "object_id", err) + } + + msg, err := server.GetObject(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ObjectService_GetObjects_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_ObjectService_GetObjects_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetObjectsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ObjectService_GetObjects_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetObjects(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectService_GetObjects_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetObjectsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ObjectService_GetObjects_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetObjects(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterObjectServiceHandlerServer registers the http handlers for service ObjectService to "mux". +// UnaryRPC :call ObjectServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterObjectServiceHandlerFromEndpoint instead. +func RegisterObjectServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ObjectServiceServer) error { + + mux.Handle("POST", pattern_ObjectService_CreateObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/CreateObject", runtime.WithHTTPPathPattern("/v2/object")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectService_CreateObject_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_CreateObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectService_GetUploadURL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/GetUploadURL", runtime.WithHTTPPathPattern("/v2/object/{object_id}/upload")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectService_GetUploadURL_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_GetUploadURL_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectService_GetDownloadURL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/GetDownloadURL", runtime.WithHTTPPathPattern("/v2/object/{object_id}/download")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectService_GetDownloadURL_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_GetDownloadURL_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ObjectService_FinishObjectStaging_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/FinishObjectStaging", runtime.WithHTTPPathPattern("/v2/object/{object_id}/finish")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectService_FinishObjectStaging_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_FinishObjectStaging_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ObjectService_UpdateObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/UpdateObject", runtime.WithHTTPPathPattern("/v2/object/{object_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectService_UpdateObject_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_UpdateObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ObjectService_CloneObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/CloneObject", runtime.WithHTTPPathPattern("/v2/{object_id}/clone")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectService_CloneObject_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_CloneObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ObjectService_DeleteObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/DeleteObject", runtime.WithHTTPPathPattern("/v2/object/{object_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectService_DeleteObject_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_DeleteObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectService_GetObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/GetObject", runtime.WithHTTPPathPattern("/v2/object/{object_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectService_GetObject_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_GetObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectService_GetObjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/GetObjects", runtime.WithHTTPPathPattern("/v2/objects")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectService_GetObjects_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_GetObjects_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterObjectServiceHandlerFromEndpoint is same as RegisterObjectServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterObjectServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterObjectServiceHandler(ctx, mux, conn) +} + +// RegisterObjectServiceHandler registers the http handlers for service ObjectService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterObjectServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterObjectServiceHandlerClient(ctx, mux, NewObjectServiceClient(conn)) +} + +// RegisterObjectServiceHandlerClient registers the http handlers for service ObjectService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ObjectServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ObjectServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ObjectServiceClient" to call the correct interceptors. +func RegisterObjectServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ObjectServiceClient) error { + + mux.Handle("POST", pattern_ObjectService_CreateObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/CreateObject", runtime.WithHTTPPathPattern("/v2/object")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectService_CreateObject_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_CreateObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectService_GetUploadURL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/GetUploadURL", runtime.WithHTTPPathPattern("/v2/object/{object_id}/upload")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectService_GetUploadURL_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_GetUploadURL_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectService_GetDownloadURL_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/GetDownloadURL", runtime.WithHTTPPathPattern("/v2/object/{object_id}/download")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectService_GetDownloadURL_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_GetDownloadURL_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ObjectService_FinishObjectStaging_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/FinishObjectStaging", runtime.WithHTTPPathPattern("/v2/object/{object_id}/finish")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectService_FinishObjectStaging_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_FinishObjectStaging_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ObjectService_UpdateObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/UpdateObject", runtime.WithHTTPPathPattern("/v2/object/{object_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectService_UpdateObject_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_UpdateObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ObjectService_CloneObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/CloneObject", runtime.WithHTTPPathPattern("/v2/{object_id}/clone")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectService_CloneObject_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_CloneObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ObjectService_DeleteObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/DeleteObject", runtime.WithHTTPPathPattern("/v2/object/{object_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectService_DeleteObject_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_DeleteObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectService_GetObject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/GetObject", runtime.WithHTTPPathPattern("/v2/object/{object_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectService_GetObject_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_GetObject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectService_GetObjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ObjectService/GetObjects", runtime.WithHTTPPathPattern("/v2/objects")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectService_GetObjects_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectService_GetObjects_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ObjectService_CreateObject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "object"}, "")) + + pattern_ObjectService_GetUploadURL_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "object", "object_id", "upload"}, "")) + + pattern_ObjectService_GetDownloadURL_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "object", "object_id", "download"}, "")) + + pattern_ObjectService_FinishObjectStaging_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "object", "object_id", "finish"}, "")) + + pattern_ObjectService_UpdateObject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "object", "object_id"}, "")) + + pattern_ObjectService_CloneObject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v2", "object_id", "clone"}, "")) + + pattern_ObjectService_DeleteObject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "object", "object_id"}, "")) + + pattern_ObjectService_GetObject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "object", "object_id"}, "")) + + pattern_ObjectService_GetObjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "objects"}, "")) +) + +var ( + forward_ObjectService_CreateObject_0 = runtime.ForwardResponseMessage + + forward_ObjectService_GetUploadURL_0 = runtime.ForwardResponseMessage + + forward_ObjectService_GetDownloadURL_0 = runtime.ForwardResponseMessage + + forward_ObjectService_FinishObjectStaging_0 = runtime.ForwardResponseMessage + + forward_ObjectService_UpdateObject_0 = runtime.ForwardResponseMessage + + forward_ObjectService_CloneObject_0 = runtime.ForwardResponseMessage + + forward_ObjectService_DeleteObject_0 = runtime.ForwardResponseMessage + + forward_ObjectService_GetObject_0 = runtime.ForwardResponseMessage + + forward_ObjectService_GetObjects_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/object_service_pb2.py b/aruna/api/storage/services/v2/object_service_pb2.py new file mode 100644 index 0000000..f07fbc1 --- /dev/null +++ b/aruna/api/storage/services/v2/object_service_pb2.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/object_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2aruna/api/storage/services/v2/object_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\"\xe4\x03\n\x13\x43reateObjectRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x44\n\nkey_values\x18\x03 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\tkeyValues\x12\\\n\x12\x65xternal_relations\x18\x04 \x03(\x0b\x32-.aruna.api.storage.models.v2.ExternalRelationR\x11\x65xternalRelations\x12\x45\n\ndata_class\x18\x05 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\x12\x1f\n\nproject_id\x18\x06 \x01(\tH\x00R\tprojectId\x12%\n\rcollection_id\x18\x07 \x01(\tH\x00R\x0c\x63ollectionId\x12\x1f\n\ndataset_id\x18\x08 \x01(\tH\x00R\tdatasetId\x12\x39\n\x06hashes\x18\t \x03(\x0b\x32!.aruna.api.storage.models.v2.HashR\x06hashesB\x08\n\x06parent\"S\n\x14\x43reateObjectResponse\x12;\n\x06object\x18\x01 \x01(\x0b\x32#.aruna.api.storage.models.v2.ObjectR\x06object\"q\n\x13GetUploadURLRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x12\x1c\n\tmultipart\x18\x02 \x01(\x08R\tmultipart\x12\x1f\n\x0bpart_number\x18\x03 \x01(\x05R\npartNumber\"(\n\x14GetUploadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\"4\n\x15GetDownloadURLRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\"*\n\x16GetDownloadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\"8\n\x0e\x43ompletedParts\x12\x12\n\x04\x65tag\x18\x01 \x01(\tR\x04\x65tag\x12\x12\n\x04part\x18\x02 \x01(\x03R\x04part\"\xed\x01\n\x1a\x46inishObjectStagingRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x12\x1f\n\x0b\x63ontent_len\x18\x02 \x01(\x03R\ncontentLen\x12\x39\n\x06hashes\x18\x03 \x03(\x0b\x32!.aruna.api.storage.models.v2.HashR\x06hashes\x12V\n\x0f\x63ompleted_parts\x18\x04 \x03(\x0b\x32-.aruna.api.storage.services.v2.CompletedPartsR\x0e\x63ompletedParts\"Z\n\x1b\x46inishObjectStagingResponse\x12;\n\x06object\x18\x01 \x01(\x0b\x32#.aruna.api.storage.models.v2.ObjectR\x06object\"\xc7\x04\n\x13UpdateObjectRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x12\x17\n\x04name\x18\x02 \x01(\tH\x01R\x04name\x88\x01\x01\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x02R\x0b\x64\x65scription\x88\x01\x01\x12K\n\x0e\x61\x64\x64_key_values\x18\x04 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0c\x61\x64\x64KeyValues\x12Q\n\x11remove_key_values\x18\x05 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0fremoveKeyValues\x12\x45\n\ndata_class\x18\x07 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\x12\x1f\n\nproject_id\x18\x08 \x01(\tH\x00R\tprojectId\x12%\n\rcollection_id\x18\t \x01(\tH\x00R\x0c\x63ollectionId\x12\x1f\n\ndataset_id\x18\n \x01(\tH\x00R\tdatasetId\x12\x39\n\x06hashes\x18\x0c \x03(\x0b\x32!.aruna.api.storage.models.v2.HashR\x06hashes\x12%\n\x0e\x66orce_revision\x18\r \x01(\x08R\rforceRevisionB\x08\n\x06parentB\x07\n\x05_nameB\x0e\n\x0c_description\"v\n\x14UpdateObjectResponse\x12;\n\x06object\x18\x01 \x01(\x0b\x32#.aruna.api.storage.models.v2.ObjectR\x06object\x12!\n\x0cnew_revision\x18\x02 \x01(\x08R\x0bnewRevision\"\xa4\x01\n\x12\x43loneObjectRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x12\x1f\n\nproject_id\x18\x02 \x01(\tH\x00R\tprojectId\x12%\n\rcollection_id\x18\x03 \x01(\tH\x00R\x0c\x63ollectionId\x12\x1f\n\ndataset_id\x18\x04 \x01(\tH\x00R\tdatasetIdB\x08\n\x06parent\"R\n\x13\x43loneObjectResponse\x12;\n\x06object\x18\x01 \x01(\x0b\x32#.aruna.api.storage.models.v2.ObjectR\x06object\"Y\n\x13\x44\x65leteObjectRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\x12%\n\x0ewith_revisions\x18\x02 \x01(\x08R\rwithRevisions\"\x16\n\x14\x44\x65leteObjectResponse\"/\n\x10GetObjectRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\"P\n\x11GetObjectResponse\x12;\n\x06object\x18\x01 \x01(\x0b\x32#.aruna.api.storage.models.v2.ObjectR\x06object\"2\n\x11GetObjectsRequest\x12\x1d\n\nobject_ids\x18\x01 \x03(\tR\tobjectIds\"S\n\x12GetObjectsResponse\x12=\n\x07objects\x18\x01 \x03(\x0b\x32#.aruna.api.storage.models.v2.ObjectR\x07objects\"8\n\x19GetObjectRevisionsRequest\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId\"[\n\x1aGetObjectRevisionsResponse\x12=\n\x07objects\x18\x01 \x03(\x0b\x32#.aruna.api.storage.models.v2.ObjectR\x07objects\"=\n\x1eGetLatestObjectRevisionRequest\x12\x1b\n\tobject_id\x18\x01 \x01(\tR\x08objectId\"^\n\x1fGetLatestObjectRevisionResponse\x12;\n\x06object\x18\x01 \x01(\x0b\x32#.aruna.api.storage.models.v2.ObjectR\x06object\"]\n\x19GetObjectEndpointsRequest\x12#\n\rcollection_id\x18\x01 \x01(\tR\x0c\x63ollectionId\x12\x1b\n\tobject_id\x18\x02 \x01(\tR\x08objectId2\x90\x0b\n\rObjectService\x12\x8e\x01\n\x0c\x43reateObject\x12\x32.aruna.api.storage.services.v2.CreateObjectRequest\x1a\x33.aruna.api.storage.services.v2.CreateObjectResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/v2/object:\x01*\x12\x9e\x01\n\x0cGetUploadURL\x12\x32.aruna.api.storage.services.v2.GetUploadURLRequest\x1a\x33.aruna.api.storage.services.v2.GetUploadURLResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/v2/object/{object_id}/upload\x12\xa6\x01\n\x0eGetDownloadURL\x12\x34.aruna.api.storage.services.v2.GetDownloadURLRequest\x1a\x35.aruna.api.storage.services.v2.GetDownloadURLResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/v2/object/{object_id}/download\x12\xb6\x01\n\x13\x46inishObjectStaging\x12\x39.aruna.api.storage.services.v2.FinishObjectStagingRequest\x1a:.aruna.api.storage.services.v2.FinishObjectStagingResponse\"(\x82\xd3\xe4\x93\x02\"2\x1d/v2/object/{object_id}/finish:\x01*\x12\x9a\x01\n\x0cUpdateObject\x12\x32.aruna.api.storage.services.v2.UpdateObjectRequest\x1a\x33.aruna.api.storage.services.v2.UpdateObjectResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v2/object/{object_id}:\x01*\x12\x96\x01\n\x0b\x43loneObject\x12\x31.aruna.api.storage.services.v2.CloneObjectRequest\x1a\x32.aruna.api.storage.services.v2.CloneObjectResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/v2/{object_id}/clone:\x01*\x12\x9a\x01\n\x0c\x44\x65leteObject\x12\x32.aruna.api.storage.services.v2.DeleteObjectRequest\x1a\x33.aruna.api.storage.services.v2.DeleteObjectResponse\"!\x82\xd3\xe4\x93\x02\x1b*\x16/v2/object/{object_id}:\x01*\x12\x8e\x01\n\tGetObject\x12/.aruna.api.storage.services.v2.GetObjectRequest\x1a\x30.aruna.api.storage.services.v2.GetObjectResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/object/{object_id}\x12\x86\x01\n\nGetObjects\x12\x30.aruna.api.storage.services.v2.GetObjectsRequest\x1a\x31.aruna.api.storage.services.v2.GetObjectsResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/v2/objectsB\x8f\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\rObjectServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\rObjectServiceP\001Z None: ... + +class CreateObjectResponse(_message.Message): + __slots__ = ["object"] + OBJECT_FIELD_NUMBER: _ClassVar[int] + object: _models_pb2.Object + def __init__(self, object: _Optional[_Union[_models_pb2.Object, _Mapping]] = ...) -> None: ... + +class GetUploadURLRequest(_message.Message): + __slots__ = ["object_id", "multipart", "part_number"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + MULTIPART_FIELD_NUMBER: _ClassVar[int] + PART_NUMBER_FIELD_NUMBER: _ClassVar[int] + object_id: str + multipart: bool + part_number: int + def __init__(self, object_id: _Optional[str] = ..., multipart: bool = ..., part_number: _Optional[int] = ...) -> None: ... + +class GetUploadURLResponse(_message.Message): + __slots__ = ["url"] + URL_FIELD_NUMBER: _ClassVar[int] + url: str + def __init__(self, url: _Optional[str] = ...) -> None: ... + +class GetDownloadURLRequest(_message.Message): + __slots__ = ["object_id"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_id: str + def __init__(self, object_id: _Optional[str] = ...) -> None: ... + +class GetDownloadURLResponse(_message.Message): + __slots__ = ["url"] + URL_FIELD_NUMBER: _ClassVar[int] + url: str + def __init__(self, url: _Optional[str] = ...) -> None: ... + +class CompletedParts(_message.Message): + __slots__ = ["etag", "part"] + ETAG_FIELD_NUMBER: _ClassVar[int] + PART_FIELD_NUMBER: _ClassVar[int] + etag: str + part: int + def __init__(self, etag: _Optional[str] = ..., part: _Optional[int] = ...) -> None: ... + +class FinishObjectStagingRequest(_message.Message): + __slots__ = ["object_id", "content_len", "hashes", "completed_parts"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + CONTENT_LEN_FIELD_NUMBER: _ClassVar[int] + HASHES_FIELD_NUMBER: _ClassVar[int] + COMPLETED_PARTS_FIELD_NUMBER: _ClassVar[int] + object_id: str + content_len: int + hashes: _containers.RepeatedCompositeFieldContainer[_models_pb2.Hash] + completed_parts: _containers.RepeatedCompositeFieldContainer[CompletedParts] + def __init__(self, object_id: _Optional[str] = ..., content_len: _Optional[int] = ..., hashes: _Optional[_Iterable[_Union[_models_pb2.Hash, _Mapping]]] = ..., completed_parts: _Optional[_Iterable[_Union[CompletedParts, _Mapping]]] = ...) -> None: ... + +class FinishObjectStagingResponse(_message.Message): + __slots__ = ["object"] + OBJECT_FIELD_NUMBER: _ClassVar[int] + object: _models_pb2.Object + def __init__(self, object: _Optional[_Union[_models_pb2.Object, _Mapping]] = ...) -> None: ... + +class UpdateObjectRequest(_message.Message): + __slots__ = ["object_id", "name", "description", "add_key_values", "remove_key_values", "data_class", "project_id", "collection_id", "dataset_id", "hashes", "force_revision"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + ADD_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + REMOVE_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + DATA_CLASS_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + HASHES_FIELD_NUMBER: _ClassVar[int] + FORCE_REVISION_FIELD_NUMBER: _ClassVar[int] + object_id: str + name: str + description: str + add_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + remove_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + data_class: _models_pb2.DataClass + project_id: str + collection_id: str + dataset_id: str + hashes: _containers.RepeatedCompositeFieldContainer[_models_pb2.Hash] + force_revision: bool + def __init__(self, object_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., add_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ..., remove_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ..., data_class: _Optional[_Union[_models_pb2.DataClass, str]] = ..., project_id: _Optional[str] = ..., collection_id: _Optional[str] = ..., dataset_id: _Optional[str] = ..., hashes: _Optional[_Iterable[_Union[_models_pb2.Hash, _Mapping]]] = ..., force_revision: bool = ...) -> None: ... + +class UpdateObjectResponse(_message.Message): + __slots__ = ["object", "new_revision"] + OBJECT_FIELD_NUMBER: _ClassVar[int] + NEW_REVISION_FIELD_NUMBER: _ClassVar[int] + object: _models_pb2.Object + new_revision: bool + def __init__(self, object: _Optional[_Union[_models_pb2.Object, _Mapping]] = ..., new_revision: bool = ...) -> None: ... + +class CloneObjectRequest(_message.Message): + __slots__ = ["object_id", "project_id", "collection_id", "dataset_id"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + DATASET_ID_FIELD_NUMBER: _ClassVar[int] + object_id: str + project_id: str + collection_id: str + dataset_id: str + def __init__(self, object_id: _Optional[str] = ..., project_id: _Optional[str] = ..., collection_id: _Optional[str] = ..., dataset_id: _Optional[str] = ...) -> None: ... + +class CloneObjectResponse(_message.Message): + __slots__ = ["object"] + OBJECT_FIELD_NUMBER: _ClassVar[int] + object: _models_pb2.Object + def __init__(self, object: _Optional[_Union[_models_pb2.Object, _Mapping]] = ...) -> None: ... + +class DeleteObjectRequest(_message.Message): + __slots__ = ["object_id", "with_revisions"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + WITH_REVISIONS_FIELD_NUMBER: _ClassVar[int] + object_id: str + with_revisions: bool + def __init__(self, object_id: _Optional[str] = ..., with_revisions: bool = ...) -> None: ... + +class DeleteObjectResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetObjectRequest(_message.Message): + __slots__ = ["object_id"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_id: str + def __init__(self, object_id: _Optional[str] = ...) -> None: ... + +class GetObjectResponse(_message.Message): + __slots__ = ["object"] + OBJECT_FIELD_NUMBER: _ClassVar[int] + object: _models_pb2.Object + def __init__(self, object: _Optional[_Union[_models_pb2.Object, _Mapping]] = ...) -> None: ... + +class GetObjectsRequest(_message.Message): + __slots__ = ["object_ids"] + OBJECT_IDS_FIELD_NUMBER: _ClassVar[int] + object_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, object_ids: _Optional[_Iterable[str]] = ...) -> None: ... + +class GetObjectsResponse(_message.Message): + __slots__ = ["objects"] + OBJECTS_FIELD_NUMBER: _ClassVar[int] + objects: _containers.RepeatedCompositeFieldContainer[_models_pb2.Object] + def __init__(self, objects: _Optional[_Iterable[_Union[_models_pb2.Object, _Mapping]]] = ...) -> None: ... + +class GetObjectRevisionsRequest(_message.Message): + __slots__ = ["object_id"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_id: str + def __init__(self, object_id: _Optional[str] = ...) -> None: ... + +class GetObjectRevisionsResponse(_message.Message): + __slots__ = ["objects"] + OBJECTS_FIELD_NUMBER: _ClassVar[int] + objects: _containers.RepeatedCompositeFieldContainer[_models_pb2.Object] + def __init__(self, objects: _Optional[_Iterable[_Union[_models_pb2.Object, _Mapping]]] = ...) -> None: ... + +class GetLatestObjectRevisionRequest(_message.Message): + __slots__ = ["object_id"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + object_id: str + def __init__(self, object_id: _Optional[str] = ...) -> None: ... + +class GetLatestObjectRevisionResponse(_message.Message): + __slots__ = ["object"] + OBJECT_FIELD_NUMBER: _ClassVar[int] + object: _models_pb2.Object + def __init__(self, object: _Optional[_Union[_models_pb2.Object, _Mapping]] = ...) -> None: ... + +class GetObjectEndpointsRequest(_message.Message): + __slots__ = ["collection_id", "object_id"] + COLLECTION_ID_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + collection_id: str + object_id: str + def __init__(self, collection_id: _Optional[str] = ..., object_id: _Optional[str] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/object_service_pb2_grpc.py b/aruna/api/storage/services/v2/object_service_pb2_grpc.py new file mode 100644 index 0000000..88c5791 --- /dev/null +++ b/aruna/api/storage/services/v2/object_service_pb2_grpc.py @@ -0,0 +1,398 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import object_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2 + + +class ObjectServiceStub(object): + """ObjectService + + Contains all methods that get/create or update Objects and associated resources + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateObject = channel.unary_unary( + '/aruna.api.storage.services.v2.ObjectService/CreateObject', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CreateObjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CreateObjectResponse.FromString, + ) + self.GetUploadURL = channel.unary_unary( + '/aruna.api.storage.services.v2.ObjectService/GetUploadURL', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetUploadURLRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetUploadURLResponse.FromString, + ) + self.GetDownloadURL = channel.unary_unary( + '/aruna.api.storage.services.v2.ObjectService/GetDownloadURL', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetDownloadURLRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetDownloadURLResponse.FromString, + ) + self.FinishObjectStaging = channel.unary_unary( + '/aruna.api.storage.services.v2.ObjectService/FinishObjectStaging', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.FinishObjectStagingRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.FinishObjectStagingResponse.FromString, + ) + self.UpdateObject = channel.unary_unary( + '/aruna.api.storage.services.v2.ObjectService/UpdateObject', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.UpdateObjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.UpdateObjectResponse.FromString, + ) + self.CloneObject = channel.unary_unary( + '/aruna.api.storage.services.v2.ObjectService/CloneObject', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CloneObjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CloneObjectResponse.FromString, + ) + self.DeleteObject = channel.unary_unary( + '/aruna.api.storage.services.v2.ObjectService/DeleteObject', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.DeleteObjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.DeleteObjectResponse.FromString, + ) + self.GetObject = channel.unary_unary( + '/aruna.api.storage.services.v2.ObjectService/GetObject', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectResponse.FromString, + ) + self.GetObjects = channel.unary_unary( + '/aruna.api.storage.services.v2.ObjectService/GetObjects', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectsResponse.FromString, + ) + + +class ObjectServiceServicer(object): + """ObjectService + + Contains all methods that get/create or update Objects and associated resources + """ + + def CreateObject(self, request, context): + """CreateObject + + Status: BETA + + This creates a new object + Initializing an object will put it in a staging area. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetUploadURL(self, request, context): + """GetUploadURL + + Status: BETA + + This is a proxy method that will call the apropriate method at dataproxy level + This method will return a (multi-part) url that can be used to upload a + file to S3. Part is a optional query parameter that can be used to upload a + part of the file / multipart upload. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDownloadURL(self, request, context): + """GetDownloadUrl + + Status: BETA + + This is a proxy method that will call the apropriate method at dataproxy level + will return a url that can be used to download a file from S3. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FinishObjectStaging(self, request, context): + """FinishObjectStaging + + Status: BETA + + This method completes the staging of an object. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateObject(self, request, context): + """UpdateObject + + Status: BETA + + Objects are immutable! + Updating an object will create a new revision for the object + This method will put the new revision in a staging area. + Staged objects will get a separate staging id and need to be finished + before they can be used. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CloneObject(self, request, context): + """CloneObject + + Status: BETA + + This method clones an object and creates a copy in the same collection. + This copy has a new id and revision and will not receive any updates from + the original object. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteObject(self, request, context): + """DeleteObject + + Status: BETA + + Deletes the object with the complete revision history. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetObject(self, request, context): + """GetObject + + Status: BETA + + gets a specific Object by ID that is associated to the + current collection By default only the latest revision of an object will be + returned Specify a revision_number to select an older revision With the + optional with_url boolean a download link can automatically be requested + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetObjects(self, request, context): + """GetObjects + + Status: BETA + + Get multiple objects by ID at once + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ObjectServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateObject': grpc.unary_unary_rpc_method_handler( + servicer.CreateObject, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CreateObjectRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CreateObjectResponse.SerializeToString, + ), + 'GetUploadURL': grpc.unary_unary_rpc_method_handler( + servicer.GetUploadURL, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetUploadURLRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetUploadURLResponse.SerializeToString, + ), + 'GetDownloadURL': grpc.unary_unary_rpc_method_handler( + servicer.GetDownloadURL, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetDownloadURLRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetDownloadURLResponse.SerializeToString, + ), + 'FinishObjectStaging': grpc.unary_unary_rpc_method_handler( + servicer.FinishObjectStaging, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.FinishObjectStagingRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.FinishObjectStagingResponse.SerializeToString, + ), + 'UpdateObject': grpc.unary_unary_rpc_method_handler( + servicer.UpdateObject, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.UpdateObjectRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.UpdateObjectResponse.SerializeToString, + ), + 'CloneObject': grpc.unary_unary_rpc_method_handler( + servicer.CloneObject, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CloneObjectRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CloneObjectResponse.SerializeToString, + ), + 'DeleteObject': grpc.unary_unary_rpc_method_handler( + servicer.DeleteObject, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.DeleteObjectRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.DeleteObjectResponse.SerializeToString, + ), + 'GetObject': grpc.unary_unary_rpc_method_handler( + servicer.GetObject, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectResponse.SerializeToString, + ), + 'GetObjects': grpc.unary_unary_rpc_method_handler( + servicer.GetObjects, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.ObjectService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ObjectService(object): + """ObjectService + + Contains all methods that get/create or update Objects and associated resources + """ + + @staticmethod + def CreateObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ObjectService/CreateObject', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CreateObjectRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CreateObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetUploadURL(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ObjectService/GetUploadURL', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetUploadURLRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetUploadURLResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDownloadURL(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ObjectService/GetDownloadURL', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetDownloadURLRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetDownloadURLResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FinishObjectStaging(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ObjectService/FinishObjectStaging', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.FinishObjectStagingRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.FinishObjectStagingResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ObjectService/UpdateObject', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.UpdateObjectRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.UpdateObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CloneObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ObjectService/CloneObject', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CloneObjectRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.CloneObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ObjectService/DeleteObject', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.DeleteObjectRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.DeleteObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ObjectService/GetObject', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetObjects(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ObjectService/GetObjects', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_object__service__pb2.GetObjectsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/project_service.pb.gw.go b/aruna/api/storage/services/v2/project_service.pb.gw.go new file mode 100644 index 0000000..5b75741 --- /dev/null +++ b/aruna/api/storage/services/v2/project_service.pb.gw.go @@ -0,0 +1,1059 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/project_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_ProjectService_CreateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateProjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectService_CreateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateProjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateProject(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectService_GetProject_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := client.GetProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectService_GetProject_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.GetProject(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectService_GetProjects_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_ProjectService_GetProjects_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectService_GetProjects_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetProjects(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectService_GetProjects_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectService_GetProjects_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetProjects(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectService_DeleteProject_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteProjectRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := client.DeleteProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectService_DeleteProject_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteProjectRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.DeleteProject(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectService_UpdateProjectName_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateProjectNameRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := client.UpdateProjectName(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectService_UpdateProjectName_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateProjectNameRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.UpdateProjectName(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectService_UpdateProjectDescription_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateProjectDescriptionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := client.UpdateProjectDescription(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectService_UpdateProjectDescription_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateProjectDescriptionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.UpdateProjectDescription(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectService_UpdateProjectKeyValues_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateProjectKeyValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := client.UpdateProjectKeyValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectService_UpdateProjectKeyValues_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateProjectKeyValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.UpdateProjectKeyValues(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectService_UpdateProjectDataClass_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateProjectDataClassRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := client.UpdateProjectDataClass(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectService_UpdateProjectDataClass_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateProjectDataClassRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.UpdateProjectDataClass(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectService_ArchiveProject_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ArchiveProjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := client.ArchiveProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectService_ArchiveProject_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ArchiveProjectRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + msg, err := server.ArchiveProject(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterProjectServiceHandlerServer registers the http handlers for service ProjectService to "mux". +// UnaryRPC :call ProjectServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterProjectServiceHandlerFromEndpoint instead. +func RegisterProjectServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectServiceServer) error { + + mux.Handle("POST", pattern_ProjectService_CreateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/CreateProject", runtime.WithHTTPPathPattern("/v2/project")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectService_CreateProject_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_CreateProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectService_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/GetProject", runtime.WithHTTPPathPattern("/v2/project/{project_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectService_GetProject_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_GetProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectService_GetProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/GetProjects", runtime.WithHTTPPathPattern("/v2/projects")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectService_GetProjects_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_GetProjects_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ProjectService_DeleteProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/DeleteProject", runtime.WithHTTPPathPattern("/v2/project/{project_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectService_DeleteProject_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_DeleteProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectService_UpdateProjectName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/UpdateProjectName", runtime.WithHTTPPathPattern("/v2/project/{project_id}/name")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectService_UpdateProjectName_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_UpdateProjectName_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectService_UpdateProjectDescription_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/UpdateProjectDescription", runtime.WithHTTPPathPattern("/v2/project/{project_id}/description")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectService_UpdateProjectDescription_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_UpdateProjectDescription_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectService_UpdateProjectKeyValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/UpdateProjectKeyValues", runtime.WithHTTPPathPattern("/v2/project/{project_id}/key_values")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectService_UpdateProjectKeyValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_UpdateProjectKeyValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectService_UpdateProjectDataClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/UpdateProjectDataClass", runtime.WithHTTPPathPattern("/v2/project/{project_id}/data_class")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectService_UpdateProjectDataClass_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_UpdateProjectDataClass_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ProjectService_ArchiveProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/ArchiveProject", runtime.WithHTTPPathPattern("/v2/project/{project_id}/archive")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectService_ArchiveProject_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_ArchiveProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectServiceHandlerFromEndpoint is same as RegisterProjectServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterProjectServiceHandler(ctx, mux, conn) +} + +// RegisterProjectServiceHandler registers the http handlers for service ProjectService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectServiceHandlerClient(ctx, mux, NewProjectServiceClient(conn)) +} + +// RegisterProjectServiceHandlerClient registers the http handlers for service ProjectService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectServiceClient" to call the correct interceptors. +func RegisterProjectServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectServiceClient) error { + + mux.Handle("POST", pattern_ProjectService_CreateProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/CreateProject", runtime.WithHTTPPathPattern("/v2/project")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectService_CreateProject_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_CreateProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectService_GetProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/GetProject", runtime.WithHTTPPathPattern("/v2/project/{project_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectService_GetProject_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_GetProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectService_GetProjects_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/GetProjects", runtime.WithHTTPPathPattern("/v2/projects")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectService_GetProjects_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_GetProjects_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ProjectService_DeleteProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/DeleteProject", runtime.WithHTTPPathPattern("/v2/project/{project_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectService_DeleteProject_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_DeleteProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectService_UpdateProjectName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/UpdateProjectName", runtime.WithHTTPPathPattern("/v2/project/{project_id}/name")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectService_UpdateProjectName_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_UpdateProjectName_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectService_UpdateProjectDescription_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/UpdateProjectDescription", runtime.WithHTTPPathPattern("/v2/project/{project_id}/description")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectService_UpdateProjectDescription_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_UpdateProjectDescription_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectService_UpdateProjectKeyValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/UpdateProjectKeyValues", runtime.WithHTTPPathPattern("/v2/project/{project_id}/key_values")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectService_UpdateProjectKeyValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_UpdateProjectKeyValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectService_UpdateProjectDataClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/UpdateProjectDataClass", runtime.WithHTTPPathPattern("/v2/project/{project_id}/data_class")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectService_UpdateProjectDataClass_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_UpdateProjectDataClass_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ProjectService_ArchiveProject_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ProjectService/ArchiveProject", runtime.WithHTTPPathPattern("/v2/project/{project_id}/archive")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectService_ArchiveProject_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectService_ArchiveProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectService_CreateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "project"}, "")) + + pattern_ProjectService_GetProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "project", "project_id"}, "")) + + pattern_ProjectService_GetProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "projects"}, "")) + + pattern_ProjectService_DeleteProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "project", "project_id"}, "")) + + pattern_ProjectService_UpdateProjectName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "project", "project_id", "name"}, "")) + + pattern_ProjectService_UpdateProjectDescription_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "project", "project_id", "description"}, "")) + + pattern_ProjectService_UpdateProjectKeyValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "project", "project_id", "key_values"}, "")) + + pattern_ProjectService_UpdateProjectDataClass_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "project", "project_id", "data_class"}, "")) + + pattern_ProjectService_ArchiveProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "project", "project_id", "archive"}, "")) +) + +var ( + forward_ProjectService_CreateProject_0 = runtime.ForwardResponseMessage + + forward_ProjectService_GetProject_0 = runtime.ForwardResponseMessage + + forward_ProjectService_GetProjects_0 = runtime.ForwardResponseMessage + + forward_ProjectService_DeleteProject_0 = runtime.ForwardResponseMessage + + forward_ProjectService_UpdateProjectName_0 = runtime.ForwardResponseMessage + + forward_ProjectService_UpdateProjectDescription_0 = runtime.ForwardResponseMessage + + forward_ProjectService_UpdateProjectKeyValues_0 = runtime.ForwardResponseMessage + + forward_ProjectService_UpdateProjectDataClass_0 = runtime.ForwardResponseMessage + + forward_ProjectService_ArchiveProject_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/project_service_pb2.py b/aruna/api/storage/services/v2/project_service_pb2.py new file mode 100644 index 0000000..4c0845c --- /dev/null +++ b/aruna/api/storage/services/v2/project_service_pb2.py @@ -0,0 +1,83 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/project_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3aruna/api/storage/services/v2/project_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xe6\x02\n\x14\x43reateProjectRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x44\n\nkey_values\x18\x03 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\tkeyValues\x12\\\n\x12\x65xternal_relations\x18\x04 \x03(\x0b\x32-.aruna.api.storage.models.v2.ExternalRelationR\x11\x65xternalRelations\x12\x45\n\ndata_class\x18\x05 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\x12-\n\x12preferred_endpoint\x18\x06 \x01(\tR\x11preferredEndpoint\"W\n\x15\x43reateProjectResponse\x12>\n\x07project\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.ProjectR\x07project\"2\n\x11GetProjectRequest\x12\x1d\n\nproject_id\x18\x01 \x01(\tR\tprojectId\"T\n\x12GetProjectResponse\x12>\n\x07project\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.ProjectR\x07project\"5\n\x12GetProjectsRequest\x12\x1f\n\x0bproject_ids\x18\x01 \x03(\tR\nprojectIds\"W\n\x13GetProjectsResponse\x12@\n\x08projects\x18\x01 \x03(\x0b\x32$.aruna.api.storage.models.v2.ProjectR\x08projects\"5\n\x14\x44\x65leteProjectRequest\x12\x1d\n\nproject_id\x18\x01 \x01(\tR\tprojectId\"\x17\n\x15\x44\x65leteProjectResponse\"M\n\x18UpdateProjectNameRequest\x12\x1d\n\nproject_id\x18\x01 \x01(\tR\tprojectId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"[\n\x19UpdateProjectNameResponse\x12>\n\x07project\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.ProjectR\x07project\"b\n\x1fUpdateProjectDescriptionRequest\x12\x1d\n\nproject_id\x18\x01 \x01(\tR\tprojectId\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\"b\n UpdateProjectDescriptionResponse\x12>\n\x07project\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.ProjectR\x07project\"\xde\x01\n\x1dUpdateProjectKeyValuesRequest\x12\x1d\n\nproject_id\x18\x01 \x01(\tR\tprojectId\x12K\n\x0e\x61\x64\x64_key_values\x18\x02 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0c\x61\x64\x64KeyValues\x12Q\n\x11remove_key_values\x18\x03 \x03(\x0b\x32%.aruna.api.storage.models.v2.KeyValueR\x0fremoveKeyValues\"`\n\x1eUpdateProjectKeyValuesResponse\x12>\n\x07project\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.ProjectR\x07project\"\x85\x01\n\x1dUpdateProjectDataClassRequest\x12\x1d\n\nproject_id\x18\x01 \x01(\tR\tprojectId\x12\x45\n\ndata_class\x18\x02 \x01(\x0e\x32&.aruna.api.storage.models.v2.DataClassR\tdataClass\"`\n\x1eUpdateProjectDataClassResponse\x12>\n\x07project\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.ProjectR\x07project\"6\n\x15\x41rchiveProjectRequest\x12\x1d\n\nproject_id\x18\x01 \x01(\tR\tprojectId\"X\n\x16\x41rchiveProjectResponse\x12>\n\x07project\x18\x01 \x01(\x0b\x32$.aruna.api.storage.models.v2.ProjectR\x07project2\xa6\x0c\n\x0eProjectService\x12\x92\x01\n\rCreateProject\x12\x33.aruna.api.storage.services.v2.CreateProjectRequest\x1a\x34.aruna.api.storage.services.v2.CreateProjectResponse\"\x16\x82\xd3\xe4\x93\x02\x10\"\x0b/v2/project:\x01*\x12\x93\x01\n\nGetProject\x12\x30.aruna.api.storage.services.v2.GetProjectRequest\x1a\x31.aruna.api.storage.services.v2.GetProjectResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v2/project/{project_id}\x12\x8a\x01\n\x0bGetProjects\x12\x31.aruna.api.storage.services.v2.GetProjectsRequest\x1a\x32.aruna.api.storage.services.v2.GetProjectsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v2/projects\x12\x9c\x01\n\rDeleteProject\x12\x33.aruna.api.storage.services.v2.DeleteProjectRequest\x1a\x34.aruna.api.storage.services.v2.DeleteProjectResponse\" \x82\xd3\xe4\x93\x02\x1a*\x18/v2/project/{project_id}\x12\xb0\x01\n\x11UpdateProjectName\x12\x37.aruna.api.storage.services.v2.UpdateProjectNameRequest\x1a\x38.aruna.api.storage.services.v2.UpdateProjectNameResponse\"(\x82\xd3\xe4\x93\x02\"2\x1d/v2/project/{project_id}/name:\x01*\x12\xcc\x01\n\x18UpdateProjectDescription\x12>.aruna.api.storage.services.v2.UpdateProjectDescriptionRequest\x1a?.aruna.api.storage.services.v2.UpdateProjectDescriptionResponse\"/\x82\xd3\xe4\x93\x02)2$/v2/project/{project_id}/description:\x01*\x12\xc5\x01\n\x16UpdateProjectKeyValues\x12<.aruna.api.storage.services.v2.UpdateProjectKeyValuesRequest\x1a=.aruna.api.storage.services.v2.UpdateProjectKeyValuesResponse\".\x82\xd3\xe4\x93\x02(2#/v2/project/{project_id}/key_values:\x01*\x12\xc5\x01\n\x16UpdateProjectDataClass\x12<.aruna.api.storage.services.v2.UpdateProjectDataClassRequest\x1a=.aruna.api.storage.services.v2.UpdateProjectDataClassResponse\".\x82\xd3\xe4\x93\x02(2#/v2/project/{project_id}/data_class:\x01*\x12\xaa\x01\n\x0e\x41rchiveProject\x12\x34.aruna.api.storage.services.v2.ArchiveProjectRequest\x1a\x35.aruna.api.storage.services.v2.ArchiveProjectResponse\"+\x82\xd3\xe4\x93\x02%\" /v2/project/{project_id}/archive:\x01*B\xe7\x02\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x0eProjectServiceP\x01Z\x1a\rAuthorization \x02\x62\x13\n\x11\n\rAccessKeyAuth\x12\x00\x62\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'aruna.api.storage.services.v2.project_service_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\016ProjectServiceP\001Z\032\rAuthorization \002b\023\n\021\n\rAccessKeyAuth\022\000' + _globals['_PROJECTSERVICE'].methods_by_name['CreateProject']._options = None + _globals['_PROJECTSERVICE'].methods_by_name['CreateProject']._serialized_options = b'\202\323\344\223\002\020\"\013/v2/project:\001*' + _globals['_PROJECTSERVICE'].methods_by_name['GetProject']._options = None + _globals['_PROJECTSERVICE'].methods_by_name['GetProject']._serialized_options = b'\202\323\344\223\002\032\022\030/v2/project/{project_id}' + _globals['_PROJECTSERVICE'].methods_by_name['GetProjects']._options = None + _globals['_PROJECTSERVICE'].methods_by_name['GetProjects']._serialized_options = b'\202\323\344\223\002\016\022\014/v2/projects' + _globals['_PROJECTSERVICE'].methods_by_name['DeleteProject']._options = None + _globals['_PROJECTSERVICE'].methods_by_name['DeleteProject']._serialized_options = b'\202\323\344\223\002\032*\030/v2/project/{project_id}' + _globals['_PROJECTSERVICE'].methods_by_name['UpdateProjectName']._options = None + _globals['_PROJECTSERVICE'].methods_by_name['UpdateProjectName']._serialized_options = b'\202\323\344\223\002\"2\035/v2/project/{project_id}/name:\001*' + _globals['_PROJECTSERVICE'].methods_by_name['UpdateProjectDescription']._options = None + _globals['_PROJECTSERVICE'].methods_by_name['UpdateProjectDescription']._serialized_options = b'\202\323\344\223\002)2$/v2/project/{project_id}/description:\001*' + _globals['_PROJECTSERVICE'].methods_by_name['UpdateProjectKeyValues']._options = None + _globals['_PROJECTSERVICE'].methods_by_name['UpdateProjectKeyValues']._serialized_options = b'\202\323\344\223\002(2#/v2/project/{project_id}/key_values:\001*' + _globals['_PROJECTSERVICE'].methods_by_name['UpdateProjectDataClass']._options = None + _globals['_PROJECTSERVICE'].methods_by_name['UpdateProjectDataClass']._serialized_options = b'\202\323\344\223\002(2#/v2/project/{project_id}/data_class:\001*' + _globals['_PROJECTSERVICE'].methods_by_name['ArchiveProject']._options = None + _globals['_PROJECTSERVICE'].methods_by_name['ArchiveProject']._serialized_options = b'\202\323\344\223\002%\" /v2/project/{project_id}/archive:\001*' + _globals['_CREATEPROJECTREQUEST']._serialized_start=207 + _globals['_CREATEPROJECTREQUEST']._serialized_end=565 + _globals['_CREATEPROJECTRESPONSE']._serialized_start=567 + _globals['_CREATEPROJECTRESPONSE']._serialized_end=654 + _globals['_GETPROJECTREQUEST']._serialized_start=656 + _globals['_GETPROJECTREQUEST']._serialized_end=706 + _globals['_GETPROJECTRESPONSE']._serialized_start=708 + _globals['_GETPROJECTRESPONSE']._serialized_end=792 + _globals['_GETPROJECTSREQUEST']._serialized_start=794 + _globals['_GETPROJECTSREQUEST']._serialized_end=847 + _globals['_GETPROJECTSRESPONSE']._serialized_start=849 + _globals['_GETPROJECTSRESPONSE']._serialized_end=936 + _globals['_DELETEPROJECTREQUEST']._serialized_start=938 + _globals['_DELETEPROJECTREQUEST']._serialized_end=991 + _globals['_DELETEPROJECTRESPONSE']._serialized_start=993 + _globals['_DELETEPROJECTRESPONSE']._serialized_end=1016 + _globals['_UPDATEPROJECTNAMEREQUEST']._serialized_start=1018 + _globals['_UPDATEPROJECTNAMEREQUEST']._serialized_end=1095 + _globals['_UPDATEPROJECTNAMERESPONSE']._serialized_start=1097 + _globals['_UPDATEPROJECTNAMERESPONSE']._serialized_end=1188 + _globals['_UPDATEPROJECTDESCRIPTIONREQUEST']._serialized_start=1190 + _globals['_UPDATEPROJECTDESCRIPTIONREQUEST']._serialized_end=1288 + _globals['_UPDATEPROJECTDESCRIPTIONRESPONSE']._serialized_start=1290 + _globals['_UPDATEPROJECTDESCRIPTIONRESPONSE']._serialized_end=1388 + _globals['_UPDATEPROJECTKEYVALUESREQUEST']._serialized_start=1391 + _globals['_UPDATEPROJECTKEYVALUESREQUEST']._serialized_end=1613 + _globals['_UPDATEPROJECTKEYVALUESRESPONSE']._serialized_start=1615 + _globals['_UPDATEPROJECTKEYVALUESRESPONSE']._serialized_end=1711 + _globals['_UPDATEPROJECTDATACLASSREQUEST']._serialized_start=1714 + _globals['_UPDATEPROJECTDATACLASSREQUEST']._serialized_end=1847 + _globals['_UPDATEPROJECTDATACLASSRESPONSE']._serialized_start=1849 + _globals['_UPDATEPROJECTDATACLASSRESPONSE']._serialized_end=1945 + _globals['_ARCHIVEPROJECTREQUEST']._serialized_start=1947 + _globals['_ARCHIVEPROJECTREQUEST']._serialized_end=2001 + _globals['_ARCHIVEPROJECTRESPONSE']._serialized_start=2003 + _globals['_ARCHIVEPROJECTRESPONSE']._serialized_end=2091 + _globals['_PROJECTSERVICE']._serialized_start=2094 + _globals['_PROJECTSERVICE']._serialized_end=3668 +# @@protoc_insertion_point(module_scope) diff --git a/aruna/api/storage/services/v2/project_service_pb2.pyi b/aruna/api/storage/services/v2/project_service_pb2.pyi new file mode 100644 index 0000000..94f131a --- /dev/null +++ b/aruna/api/storage/services/v2/project_service_pb2.pyi @@ -0,0 +1,135 @@ +from aruna.api.storage.models.v2 import models_pb2 as _models_pb2 +from google.api import annotations_pb2 as _annotations_pb2 +from protoc_gen_openapiv2.options import annotations_pb2 as _annotations_pb2_1 +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 CreateProjectRequest(_message.Message): + __slots__ = ["name", "description", "key_values", "external_relations", "data_class", "preferred_endpoint"] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_RELATIONS_FIELD_NUMBER: _ClassVar[int] + DATA_CLASS_FIELD_NUMBER: _ClassVar[int] + PREFERRED_ENDPOINT_FIELD_NUMBER: _ClassVar[int] + name: str + description: str + key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + external_relations: _containers.RepeatedCompositeFieldContainer[_models_pb2.ExternalRelation] + data_class: _models_pb2.DataClass + preferred_endpoint: str + def __init__(self, name: _Optional[str] = ..., description: _Optional[str] = ..., key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ..., external_relations: _Optional[_Iterable[_Union[_models_pb2.ExternalRelation, _Mapping]]] = ..., data_class: _Optional[_Union[_models_pb2.DataClass, str]] = ..., preferred_endpoint: _Optional[str] = ...) -> None: ... + +class CreateProjectResponse(_message.Message): + __slots__ = ["project"] + PROJECT_FIELD_NUMBER: _ClassVar[int] + project: _models_pb2.Project + def __init__(self, project: _Optional[_Union[_models_pb2.Project, _Mapping]] = ...) -> None: ... + +class GetProjectRequest(_message.Message): + __slots__ = ["project_id"] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + project_id: str + def __init__(self, project_id: _Optional[str] = ...) -> None: ... + +class GetProjectResponse(_message.Message): + __slots__ = ["project"] + PROJECT_FIELD_NUMBER: _ClassVar[int] + project: _models_pb2.Project + def __init__(self, project: _Optional[_Union[_models_pb2.Project, _Mapping]] = ...) -> None: ... + +class GetProjectsRequest(_message.Message): + __slots__ = ["project_ids"] + PROJECT_IDS_FIELD_NUMBER: _ClassVar[int] + project_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, project_ids: _Optional[_Iterable[str]] = ...) -> None: ... + +class GetProjectsResponse(_message.Message): + __slots__ = ["projects"] + PROJECTS_FIELD_NUMBER: _ClassVar[int] + projects: _containers.RepeatedCompositeFieldContainer[_models_pb2.Project] + def __init__(self, projects: _Optional[_Iterable[_Union[_models_pb2.Project, _Mapping]]] = ...) -> None: ... + +class DeleteProjectRequest(_message.Message): + __slots__ = ["project_id"] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + project_id: str + def __init__(self, project_id: _Optional[str] = ...) -> None: ... + +class DeleteProjectResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class UpdateProjectNameRequest(_message.Message): + __slots__ = ["project_id", "name"] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + project_id: str + name: str + def __init__(self, project_id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... + +class UpdateProjectNameResponse(_message.Message): + __slots__ = ["project"] + PROJECT_FIELD_NUMBER: _ClassVar[int] + project: _models_pb2.Project + def __init__(self, project: _Optional[_Union[_models_pb2.Project, _Mapping]] = ...) -> None: ... + +class UpdateProjectDescriptionRequest(_message.Message): + __slots__ = ["project_id", "description"] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + project_id: str + description: str + def __init__(self, project_id: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ... + +class UpdateProjectDescriptionResponse(_message.Message): + __slots__ = ["project"] + PROJECT_FIELD_NUMBER: _ClassVar[int] + project: _models_pb2.Project + def __init__(self, project: _Optional[_Union[_models_pb2.Project, _Mapping]] = ...) -> None: ... + +class UpdateProjectKeyValuesRequest(_message.Message): + __slots__ = ["project_id", "add_key_values", "remove_key_values"] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + ADD_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + REMOVE_KEY_VALUES_FIELD_NUMBER: _ClassVar[int] + project_id: str + add_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + remove_key_values: _containers.RepeatedCompositeFieldContainer[_models_pb2.KeyValue] + def __init__(self, project_id: _Optional[str] = ..., add_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ..., remove_key_values: _Optional[_Iterable[_Union[_models_pb2.KeyValue, _Mapping]]] = ...) -> None: ... + +class UpdateProjectKeyValuesResponse(_message.Message): + __slots__ = ["project"] + PROJECT_FIELD_NUMBER: _ClassVar[int] + project: _models_pb2.Project + def __init__(self, project: _Optional[_Union[_models_pb2.Project, _Mapping]] = ...) -> None: ... + +class UpdateProjectDataClassRequest(_message.Message): + __slots__ = ["project_id", "data_class"] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + DATA_CLASS_FIELD_NUMBER: _ClassVar[int] + project_id: str + data_class: _models_pb2.DataClass + def __init__(self, project_id: _Optional[str] = ..., data_class: _Optional[_Union[_models_pb2.DataClass, str]] = ...) -> None: ... + +class UpdateProjectDataClassResponse(_message.Message): + __slots__ = ["project"] + PROJECT_FIELD_NUMBER: _ClassVar[int] + project: _models_pb2.Project + def __init__(self, project: _Optional[_Union[_models_pb2.Project, _Mapping]] = ...) -> None: ... + +class ArchiveProjectRequest(_message.Message): + __slots__ = ["project_id"] + PROJECT_ID_FIELD_NUMBER: _ClassVar[int] + project_id: str + def __init__(self, project_id: _Optional[str] = ...) -> None: ... + +class ArchiveProjectResponse(_message.Message): + __slots__ = ["project"] + PROJECT_FIELD_NUMBER: _ClassVar[int] + project: _models_pb2.Project + def __init__(self, project: _Optional[_Union[_models_pb2.Project, _Mapping]] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/project_service_pb2_grpc.py b/aruna/api/storage/services/v2/project_service_pb2_grpc.py new file mode 100644 index 0000000..971477a --- /dev/null +++ b/aruna/api/storage/services/v2/project_service_pb2_grpc.py @@ -0,0 +1,384 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import project_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2 + + +class ProjectServiceStub(object): + """ProjectService + + Contains all methods that get/create or update Projects and associated resources + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateProject = channel.unary_unary( + '/aruna.api.storage.services.v2.ProjectService/CreateProject', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.CreateProjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.CreateProjectResponse.FromString, + ) + self.GetProject = channel.unary_unary( + '/aruna.api.storage.services.v2.ProjectService/GetProject', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectResponse.FromString, + ) + self.GetProjects = channel.unary_unary( + '/aruna.api.storage.services.v2.ProjectService/GetProjects', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectsResponse.FromString, + ) + self.DeleteProject = channel.unary_unary( + '/aruna.api.storage.services.v2.ProjectService/DeleteProject', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.DeleteProjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.DeleteProjectResponse.FromString, + ) + self.UpdateProjectName = channel.unary_unary( + '/aruna.api.storage.services.v2.ProjectService/UpdateProjectName', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectNameRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectNameResponse.FromString, + ) + self.UpdateProjectDescription = channel.unary_unary( + '/aruna.api.storage.services.v2.ProjectService/UpdateProjectDescription', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDescriptionRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDescriptionResponse.FromString, + ) + self.UpdateProjectKeyValues = channel.unary_unary( + '/aruna.api.storage.services.v2.ProjectService/UpdateProjectKeyValues', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectKeyValuesRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectKeyValuesResponse.FromString, + ) + self.UpdateProjectDataClass = channel.unary_unary( + '/aruna.api.storage.services.v2.ProjectService/UpdateProjectDataClass', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDataClassRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDataClassResponse.FromString, + ) + self.ArchiveProject = channel.unary_unary( + '/aruna.api.storage.services.v2.ProjectService/ArchiveProject', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.ArchiveProjectRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.ArchiveProjectResponse.FromString, + ) + + +class ProjectServiceServicer(object): + """ProjectService + + Contains all methods that get/create or update Projects and associated resources + """ + + def CreateProject(self, request, context): + """CreateProject + + Status: BETA + + Creates a new project. All subsequent resources are part of a project. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetProject(self, request, context): + """GetProject + + Status: BETA + + Requests a project (by id) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetProjects(self, request, context): + """GetProjects + + Status: BETA + + Admin request to get all projects + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteProject(self, request, context): + """DeleteProject + + Status: BETA + + Deletes the project and all its associated data. Must be empty! + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateProjectName(self, request, context): + """UpdateProjectName + + Status: BETA + + Updates the project name. Caveat! Will rename the "s3 bucket" for data proxies! + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateProjectDescription(self, request, context): + """UpdateProjectDescription + + Status: BETA + + Updates the project name. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateProjectKeyValues(self, request, context): + """UpdateProjectKeyValues + + Status: BETA + + Updates the project key values. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateProjectDataClass(self, request, context): + """UpdateProjectDataClass + + Status: BETA + + Updates the project name. All (meta) data will be overwritten. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ArchiveProject(self, request, context): + """ArchiveProjectRequest + + Status: BETA + + Archives the full project, rendering all downstream relations immutable + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ProjectServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateProject': grpc.unary_unary_rpc_method_handler( + servicer.CreateProject, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.CreateProjectRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.CreateProjectResponse.SerializeToString, + ), + 'GetProject': grpc.unary_unary_rpc_method_handler( + servicer.GetProject, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectResponse.SerializeToString, + ), + 'GetProjects': grpc.unary_unary_rpc_method_handler( + servicer.GetProjects, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectsResponse.SerializeToString, + ), + 'DeleteProject': grpc.unary_unary_rpc_method_handler( + servicer.DeleteProject, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.DeleteProjectRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.DeleteProjectResponse.SerializeToString, + ), + 'UpdateProjectName': grpc.unary_unary_rpc_method_handler( + servicer.UpdateProjectName, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectNameRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectNameResponse.SerializeToString, + ), + 'UpdateProjectDescription': grpc.unary_unary_rpc_method_handler( + servicer.UpdateProjectDescription, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDescriptionRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDescriptionResponse.SerializeToString, + ), + 'UpdateProjectKeyValues': grpc.unary_unary_rpc_method_handler( + servicer.UpdateProjectKeyValues, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectKeyValuesRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectKeyValuesResponse.SerializeToString, + ), + 'UpdateProjectDataClass': grpc.unary_unary_rpc_method_handler( + servicer.UpdateProjectDataClass, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDataClassRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDataClassResponse.SerializeToString, + ), + 'ArchiveProject': grpc.unary_unary_rpc_method_handler( + servicer.ArchiveProject, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.ArchiveProjectRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.ArchiveProjectResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.ProjectService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ProjectService(object): + """ProjectService + + Contains all methods that get/create or update Projects and associated resources + """ + + @staticmethod + def CreateProject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ProjectService/CreateProject', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.CreateProjectRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.CreateProjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetProject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ProjectService/GetProject', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetProjects(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ProjectService/GetProjects', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.GetProjectsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteProject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ProjectService/DeleteProject', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.DeleteProjectRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.DeleteProjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateProjectName(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ProjectService/UpdateProjectName', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectNameRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectNameResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateProjectDescription(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ProjectService/UpdateProjectDescription', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDescriptionRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDescriptionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateProjectKeyValues(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ProjectService/UpdateProjectKeyValues', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectKeyValuesRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectKeyValuesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateProjectDataClass(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ProjectService/UpdateProjectDataClass', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDataClassRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.UpdateProjectDataClassResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ArchiveProject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ProjectService/ArchiveProject', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.ArchiveProjectRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_project__service__pb2.ArchiveProjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/relations_service.pb.gw.go b/aruna/api/storage/services/v2/relations_service.pb.gw.go new file mode 100644 index 0000000..f75c5e0 --- /dev/null +++ b/aruna/api/storage/services/v2/relations_service.pb.gw.go @@ -0,0 +1,258 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/relations_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_RelationsService_ModifyRelations_0(ctx context.Context, marshaler runtime.Marshaler, client RelationsServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ModifyRelationsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ModifyRelations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_RelationsService_ModifyRelations_0(ctx context.Context, marshaler runtime.Marshaler, server RelationsServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ModifyRelationsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ModifyRelations(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_RelationsService_GetHierarchy_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_RelationsService_GetHierarchy_0(ctx context.Context, marshaler runtime.Marshaler, client RelationsServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetHierarchyRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_RelationsService_GetHierarchy_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetHierarchy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_RelationsService_GetHierarchy_0(ctx context.Context, marshaler runtime.Marshaler, server RelationsServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetHierarchyRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_RelationsService_GetHierarchy_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetHierarchy(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterRelationsServiceHandlerServer registers the http handlers for service RelationsService to "mux". +// UnaryRPC :call RelationsServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterRelationsServiceHandlerFromEndpoint instead. +func RegisterRelationsServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server RelationsServiceServer) error { + + mux.Handle("POST", pattern_RelationsService_ModifyRelations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.RelationsService/ModifyRelations", runtime.WithHTTPPathPattern("/v2/relation")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_RelationsService_ModifyRelations_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_RelationsService_ModifyRelations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_RelationsService_GetHierarchy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.RelationsService/GetHierarchy", runtime.WithHTTPPathPattern("/v2/relation/hierarchy")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_RelationsService_GetHierarchy_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_RelationsService_GetHierarchy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterRelationsServiceHandlerFromEndpoint is same as RegisterRelationsServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterRelationsServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterRelationsServiceHandler(ctx, mux, conn) +} + +// RegisterRelationsServiceHandler registers the http handlers for service RelationsService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterRelationsServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterRelationsServiceHandlerClient(ctx, mux, NewRelationsServiceClient(conn)) +} + +// RegisterRelationsServiceHandlerClient registers the http handlers for service RelationsService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "RelationsServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "RelationsServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "RelationsServiceClient" to call the correct interceptors. +func RegisterRelationsServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client RelationsServiceClient) error { + + mux.Handle("POST", pattern_RelationsService_ModifyRelations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.RelationsService/ModifyRelations", runtime.WithHTTPPathPattern("/v2/relation")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_RelationsService_ModifyRelations_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_RelationsService_ModifyRelations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_RelationsService_GetHierarchy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.RelationsService/GetHierarchy", runtime.WithHTTPPathPattern("/v2/relation/hierarchy")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_RelationsService_GetHierarchy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_RelationsService_GetHierarchy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_RelationsService_ModifyRelations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "relation"}, "")) + + pattern_RelationsService_GetHierarchy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "relation", "hierarchy"}, "")) +) + +var ( + forward_RelationsService_ModifyRelations_0 = runtime.ForwardResponseMessage + + forward_RelationsService_GetHierarchy_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/relations_service_pb2.py b/aruna/api/storage/services/v2/relations_service_pb2.py new file mode 100644 index 0000000..c52f591 --- /dev/null +++ b/aruna/api/storage/services/v2/relations_service_pb2.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/relations_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5aruna/api/storage/services/v2/relations_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\"\xd7\x01\n\x16ModifyRelationsRequest\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12J\n\radd_relations\x18\x02 \x03(\x0b\x32%.aruna.api.storage.models.v2.RelationR\x0c\x61\x64\x64Relations\x12P\n\x10remove_relations\x18\x03 \x03(\x0b\x32%.aruna.api.storage.models.v2.RelationR\x0fremoveRelations\"\x19\n\x17ModifyRelationsResponse\"6\n\x13GetHierarchyRequest\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\"S\n\x10\x44\x61tasetRelations\x12\x16\n\x06origin\x18\x01 \x01(\tR\x06origin\x12\'\n\x0fobject_children\x18\x02 \x03(\tR\x0eobjectChildren\"\xb2\x01\n\x13\x43ollectionRelations\x12\x16\n\x06origin\x18\x01 \x01(\tR\x06origin\x12Z\n\x10\x64\x61taset_children\x18\x02 \x03(\x0b\x32/.aruna.api.storage.services.v2.DatasetRelationsR\x0f\x64\x61tasetChildren\x12\'\n\x0fobject_children\x18\x03 \x03(\tR\x0eobjectChildren\"\x94\x02\n\x10ProjectRelations\x12\x16\n\x06origin\x18\x01 \x01(\tR\x06origin\x12\x63\n\x13\x63ollection_children\x18\x02 \x03(\x0b\x32\x32.aruna.api.storage.services.v2.CollectionRelationsR\x12\x63ollectionChildren\x12Z\n\x10\x64\x61taset_children\x18\x03 \x03(\x0b\x32/.aruna.api.storage.services.v2.DatasetRelationsR\x0f\x64\x61tasetChildren\x12\'\n\x0fobject_children\x18\x04 \x03(\tR\x0eobjectChildren\"\x8f\x02\n\x14GetHierarchyResponse\x12K\n\x07project\x18\x01 \x01(\x0b\x32/.aruna.api.storage.services.v2.ProjectRelationsH\x00R\x07project\x12T\n\ncollection\x18\x02 \x01(\x0b\x32\x32.aruna.api.storage.services.v2.CollectionRelationsH\x00R\ncollection\x12K\n\x07\x64\x61taset\x18\x03 \x01(\x0b\x32/.aruna.api.storage.services.v2.DatasetRelationsH\x00R\x07\x64\x61tasetB\x07\n\x05graph2\xc8\x02\n\x10RelationsService\x12\x99\x01\n\x0fModifyRelations\x12\x35.aruna.api.storage.services.v2.ModifyRelationsRequest\x1a\x36.aruna.api.storage.services.v2.ModifyRelationsResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v2/relation:\x01*\x12\x97\x01\n\x0cGetHierarchy\x12\x32.aruna.api.storage.services.v2.GetHierarchyRequest\x1a\x33.aruna.api.storage.services.v2.GetHierarchyResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/relation/hierarchyB\x92\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x10RelationsServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\020RelationsServiceP\001Z None: ... + +class ModifyRelationsResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetHierarchyRequest(_message.Message): + __slots__ = ["resource_id"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + resource_id: str + def __init__(self, resource_id: _Optional[str] = ...) -> None: ... + +class DatasetRelations(_message.Message): + __slots__ = ["origin", "object_children"] + ORIGIN_FIELD_NUMBER: _ClassVar[int] + OBJECT_CHILDREN_FIELD_NUMBER: _ClassVar[int] + origin: str + object_children: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, origin: _Optional[str] = ..., object_children: _Optional[_Iterable[str]] = ...) -> None: ... + +class CollectionRelations(_message.Message): + __slots__ = ["origin", "dataset_children", "object_children"] + ORIGIN_FIELD_NUMBER: _ClassVar[int] + DATASET_CHILDREN_FIELD_NUMBER: _ClassVar[int] + OBJECT_CHILDREN_FIELD_NUMBER: _ClassVar[int] + origin: str + dataset_children: _containers.RepeatedCompositeFieldContainer[DatasetRelations] + object_children: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, origin: _Optional[str] = ..., dataset_children: _Optional[_Iterable[_Union[DatasetRelations, _Mapping]]] = ..., object_children: _Optional[_Iterable[str]] = ...) -> None: ... + +class ProjectRelations(_message.Message): + __slots__ = ["origin", "collection_children", "dataset_children", "object_children"] + ORIGIN_FIELD_NUMBER: _ClassVar[int] + COLLECTION_CHILDREN_FIELD_NUMBER: _ClassVar[int] + DATASET_CHILDREN_FIELD_NUMBER: _ClassVar[int] + OBJECT_CHILDREN_FIELD_NUMBER: _ClassVar[int] + origin: str + collection_children: _containers.RepeatedCompositeFieldContainer[CollectionRelations] + dataset_children: _containers.RepeatedCompositeFieldContainer[DatasetRelations] + object_children: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, origin: _Optional[str] = ..., collection_children: _Optional[_Iterable[_Union[CollectionRelations, _Mapping]]] = ..., dataset_children: _Optional[_Iterable[_Union[DatasetRelations, _Mapping]]] = ..., object_children: _Optional[_Iterable[str]] = ...) -> None: ... + +class GetHierarchyResponse(_message.Message): + __slots__ = ["project", "collection", "dataset"] + PROJECT_FIELD_NUMBER: _ClassVar[int] + COLLECTION_FIELD_NUMBER: _ClassVar[int] + DATASET_FIELD_NUMBER: _ClassVar[int] + project: ProjectRelations + collection: CollectionRelations + dataset: DatasetRelations + def __init__(self, project: _Optional[_Union[ProjectRelations, _Mapping]] = ..., collection: _Optional[_Union[CollectionRelations, _Mapping]] = ..., dataset: _Optional[_Union[DatasetRelations, _Mapping]] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/relations_service_pb2_grpc.py b/aruna/api/storage/services/v2/relations_service_pb2_grpc.py new file mode 100644 index 0000000..1a0f512 --- /dev/null +++ b/aruna/api/storage/services/v2/relations_service_pb2_grpc.py @@ -0,0 +1,118 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import relations_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2 + + +class RelationsServiceStub(object): + """RelationsService + + Contains all methods to edit and change resource relations + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ModifyRelations = channel.unary_unary( + '/aruna.api.storage.services.v2.RelationsService/ModifyRelations', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.ModifyRelationsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.ModifyRelationsResponse.FromString, + ) + self.GetHierarchy = channel.unary_unary( + '/aruna.api.storage.services.v2.RelationsService/GetHierarchy', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.GetHierarchyRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.GetHierarchyResponse.FromString, + ) + + +class RelationsServiceServicer(object): + """RelationsService + + Contains all methods to edit and change resource relations + """ + + def ModifyRelations(self, request, context): + """ModifyRelation + + Status: BETA + + Modifys all relations to / from a resource + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetHierarchy(self, request, context): + """GetHierachy + + Status: BETA + + Gets all downstream hierarchy relations from a resource + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_RelationsServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ModifyRelations': grpc.unary_unary_rpc_method_handler( + servicer.ModifyRelations, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.ModifyRelationsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.ModifyRelationsResponse.SerializeToString, + ), + 'GetHierarchy': grpc.unary_unary_rpc_method_handler( + servicer.GetHierarchy, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.GetHierarchyRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.GetHierarchyResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.RelationsService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class RelationsService(object): + """RelationsService + + Contains all methods to edit and change resource relations + """ + + @staticmethod + def ModifyRelations(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.RelationsService/ModifyRelations', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.ModifyRelationsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.ModifyRelationsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetHierarchy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.RelationsService/GetHierarchy', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.GetHierarchyRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_relations__service__pb2.GetHierarchyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/search_service.pb.gw.go b/aruna/api/storage/services/v2/search_service.pb.gw.go new file mode 100644 index 0000000..c70220e --- /dev/null +++ b/aruna/api/storage/services/v2/search_service.pb.gw.go @@ -0,0 +1,482 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/search_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_SearchService_SearchResources_0(ctx context.Context, marshaler runtime.Marshaler, client SearchServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchResourcesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SearchResources(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_SearchService_SearchResources_0(ctx context.Context, marshaler runtime.Marshaler, server SearchServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchResourcesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchResources(ctx, &protoReq) + return msg, metadata, err + +} + +func request_SearchService_GetResource_0(ctx context.Context, marshaler runtime.Marshaler, client SearchServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetResourceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_id") + } + + protoReq.ResourceId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_id", err) + } + + msg, err := client.GetResource(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_SearchService_GetResource_0(ctx context.Context, marshaler runtime.Marshaler, server SearchServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetResourceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_id") + } + + protoReq.ResourceId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_id", err) + } + + msg, err := server.GetResource(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_SearchService_GetResources_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_SearchService_GetResources_0(ctx context.Context, marshaler runtime.Marshaler, client SearchServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetResourcesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SearchService_GetResources_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetResources(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_SearchService_GetResources_0(ctx context.Context, marshaler runtime.Marshaler, server SearchServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetResourcesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SearchService_GetResources_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetResources(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_SearchService_RequestResourceAccess_0 = &utilities.DoubleArray{Encoding: map[string]int{"resource_id": 0, "resourceId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_SearchService_RequestResourceAccess_0(ctx context.Context, marshaler runtime.Marshaler, client SearchServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RequestResourceAccessRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_id") + } + + protoReq.ResourceId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SearchService_RequestResourceAccess_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.RequestResourceAccess(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_SearchService_RequestResourceAccess_0(ctx context.Context, marshaler runtime.Marshaler, server SearchServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RequestResourceAccessRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_id") + } + + protoReq.ResourceId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SearchService_RequestResourceAccess_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.RequestResourceAccess(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterSearchServiceHandlerServer registers the http handlers for service SearchService to "mux". +// UnaryRPC :call SearchServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterSearchServiceHandlerFromEndpoint instead. +func RegisterSearchServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server SearchServiceServer) error { + + mux.Handle("POST", pattern_SearchService_SearchResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.SearchService/SearchResources", runtime.WithHTTPPathPattern("/v2/search")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_SearchService_SearchResources_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SearchService_SearchResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SearchService_GetResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.SearchService/GetResource", runtime.WithHTTPPathPattern("/v2/resource/{resource_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_SearchService_GetResource_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SearchService_GetResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SearchService_GetResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.SearchService/GetResources", runtime.WithHTTPPathPattern("/v2/resources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_SearchService_GetResources_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SearchService_GetResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SearchService_RequestResourceAccess_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.SearchService/RequestResourceAccess", runtime.WithHTTPPathPattern("/v2/resource/{resource_id}/access")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_SearchService_RequestResourceAccess_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SearchService_RequestResourceAccess_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterSearchServiceHandlerFromEndpoint is same as RegisterSearchServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterSearchServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterSearchServiceHandler(ctx, mux, conn) +} + +// RegisterSearchServiceHandler registers the http handlers for service SearchService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterSearchServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterSearchServiceHandlerClient(ctx, mux, NewSearchServiceClient(conn)) +} + +// RegisterSearchServiceHandlerClient registers the http handlers for service SearchService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "SearchServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "SearchServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "SearchServiceClient" to call the correct interceptors. +func RegisterSearchServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client SearchServiceClient) error { + + mux.Handle("POST", pattern_SearchService_SearchResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.SearchService/SearchResources", runtime.WithHTTPPathPattern("/v2/search")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SearchService_SearchResources_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SearchService_SearchResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SearchService_GetResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.SearchService/GetResource", runtime.WithHTTPPathPattern("/v2/resource/{resource_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SearchService_GetResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SearchService_GetResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SearchService_GetResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.SearchService/GetResources", runtime.WithHTTPPathPattern("/v2/resources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SearchService_GetResources_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SearchService_GetResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SearchService_RequestResourceAccess_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.SearchService/RequestResourceAccess", runtime.WithHTTPPathPattern("/v2/resource/{resource_id}/access")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SearchService_RequestResourceAccess_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SearchService_RequestResourceAccess_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_SearchService_SearchResources_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "search"}, "")) + + pattern_SearchService_GetResource_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "resource", "resource_id"}, "")) + + pattern_SearchService_GetResources_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "resources"}, "")) + + pattern_SearchService_RequestResourceAccess_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "resource", "resource_id", "access"}, "")) +) + +var ( + forward_SearchService_SearchResources_0 = runtime.ForwardResponseMessage + + forward_SearchService_GetResource_0 = runtime.ForwardResponseMessage + + forward_SearchService_GetResources_0 = runtime.ForwardResponseMessage + + forward_SearchService_RequestResourceAccess_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/search_service_pb2.py b/aruna/api/storage/services/v2/search_service_pb2.py new file mode 100644 index 0000000..14788bc --- /dev/null +++ b/aruna/api/storage/services/v2/search_service_pb2.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/search_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2aruna/api/storage/services/v2/search_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\"t\n\x16SearchResourcesRequest\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12\x16\n\x06\x66ilter\x18\x02 \x01(\tR\x06\x66ilter\x12\x14\n\x05limit\x18\x03 \x01(\x03R\x05limit\x12\x16\n\x06offset\x18\x04 \x01(\x03R\x06offset\"\xad\x01\n\x17SearchResourcesResponse\x12J\n\tresources\x18\x01 \x03(\x0b\x32,.aruna.api.storage.models.v2.GenericResourceR\tresources\x12\'\n\x0f\x65stimated_total\x18\x02 \x01(\x03R\x0e\x65stimatedTotal\x12\x1d\n\nlast_index\x18\x03 \x01(\x03R\tlastIndex\"5\n\x12GetResourceRequest\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\"\xb0\x01\n\x16ResourceWithPermission\x12H\n\x08resource\x18\x01 \x01(\x0b\x32,.aruna.api.storage.models.v2.GenericResourceR\x08resource\x12L\n\npermission\x18\x02 \x01(\x0e\x32,.aruna.api.storage.models.v2.PermissionLevelR\npermission\"h\n\x13GetResourceResponse\x12Q\n\x08resource\x18\x01 \x01(\x0b\x32\x35.aruna.api.storage.services.v2.ResourceWithPermissionR\x08resource\"8\n\x13GetResourcesRequest\x12!\n\x0cresource_ids\x18\x01 \x03(\tR\x0bresourceIds\"k\n\x14GetResourcesResponse\x12S\n\tresources\x18\x01 \x03(\x0b\x32\x35.aruna.api.storage.services.v2.ResourceWithPermissionR\tresources\"Y\n\x1cRequestResourceAccessRequest\x12\x1f\n\x0bresource_id\x18\x01 \x01(\tR\nresourceId\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"\x1f\n\x1dRequestResourceAccessResponse2\x95\x05\n\rSearchService\x12\x97\x01\n\x0fSearchResources\x12\x35.aruna.api.storage.services.v2.SearchResourcesRequest\x1a\x36.aruna.api.storage.services.v2.SearchResourcesResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/v2/search:\x01*\x12\x98\x01\n\x0bGetResource\x12\x31.aruna.api.storage.services.v2.GetResourceRequest\x1a\x32.aruna.api.storage.services.v2.GetResourceResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v2/resource/{resource_id}\x12\x8e\x01\n\x0cGetResources\x12\x32.aruna.api.storage.services.v2.GetResourcesRequest\x1a\x33.aruna.api.storage.services.v2.GetResourcesResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/v2/resources\x12\xbd\x01\n\x15RequestResourceAccess\x12;.aruna.api.storage.services.v2.RequestResourceAccessRequest\x1a<.aruna.api.storage.services.v2.RequestResourceAccessResponse\")\x82\xd3\xe4\x93\x02#\x12!/v2/resource/{resource_id}/accessB\x8f\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\rSearchServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\rSearchServiceP\001Z None: ... + +class SearchResourcesResponse(_message.Message): + __slots__ = ["resources", "estimated_total", "last_index"] + RESOURCES_FIELD_NUMBER: _ClassVar[int] + ESTIMATED_TOTAL_FIELD_NUMBER: _ClassVar[int] + LAST_INDEX_FIELD_NUMBER: _ClassVar[int] + resources: _containers.RepeatedCompositeFieldContainer[_models_pb2.GenericResource] + estimated_total: int + last_index: int + def __init__(self, resources: _Optional[_Iterable[_Union[_models_pb2.GenericResource, _Mapping]]] = ..., estimated_total: _Optional[int] = ..., last_index: _Optional[int] = ...) -> None: ... + +class GetResourceRequest(_message.Message): + __slots__ = ["resource_id"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + resource_id: str + def __init__(self, resource_id: _Optional[str] = ...) -> None: ... + +class ResourceWithPermission(_message.Message): + __slots__ = ["resource", "permission"] + RESOURCE_FIELD_NUMBER: _ClassVar[int] + PERMISSION_FIELD_NUMBER: _ClassVar[int] + resource: _models_pb2.GenericResource + permission: _models_pb2.PermissionLevel + def __init__(self, resource: _Optional[_Union[_models_pb2.GenericResource, _Mapping]] = ..., permission: _Optional[_Union[_models_pb2.PermissionLevel, str]] = ...) -> None: ... + +class GetResourceResponse(_message.Message): + __slots__ = ["resource"] + RESOURCE_FIELD_NUMBER: _ClassVar[int] + resource: ResourceWithPermission + def __init__(self, resource: _Optional[_Union[ResourceWithPermission, _Mapping]] = ...) -> None: ... + +class GetResourcesRequest(_message.Message): + __slots__ = ["resource_ids"] + RESOURCE_IDS_FIELD_NUMBER: _ClassVar[int] + resource_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, resource_ids: _Optional[_Iterable[str]] = ...) -> None: ... + +class GetResourcesResponse(_message.Message): + __slots__ = ["resources"] + RESOURCES_FIELD_NUMBER: _ClassVar[int] + resources: _containers.RepeatedCompositeFieldContainer[ResourceWithPermission] + def __init__(self, resources: _Optional[_Iterable[_Union[ResourceWithPermission, _Mapping]]] = ...) -> None: ... + +class RequestResourceAccessRequest(_message.Message): + __slots__ = ["resource_id", "message"] + RESOURCE_ID_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + resource_id: str + message: str + def __init__(self, resource_id: _Optional[str] = ..., message: _Optional[str] = ...) -> None: ... + +class RequestResourceAccessResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... diff --git a/aruna/api/storage/services/v2/search_service_pb2_grpc.py b/aruna/api/storage/services/v2/search_service_pb2_grpc.py new file mode 100644 index 0000000..eda6f0a --- /dev/null +++ b/aruna/api/storage/services/v2/search_service_pb2_grpc.py @@ -0,0 +1,185 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import search_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2 + + +class SearchServiceStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SearchResources = channel.unary_unary( + '/aruna.api.storage.services.v2.SearchService/SearchResources', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.SearchResourcesRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.SearchResourcesResponse.FromString, + ) + self.GetResource = channel.unary_unary( + '/aruna.api.storage.services.v2.SearchService/GetResource', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourceRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourceResponse.FromString, + ) + self.GetResources = channel.unary_unary( + '/aruna.api.storage.services.v2.SearchService/GetResources', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourcesRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourcesResponse.FromString, + ) + self.RequestResourceAccess = channel.unary_unary( + '/aruna.api.storage.services.v2.SearchService/RequestResourceAccess', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.RequestResourceAccessRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.RequestResourceAccessResponse.FromString, + ) + + +class SearchServiceServicer(object): + """Missing associated documentation comment in .proto file.""" + + def SearchResources(self, request, context): + """SearchResources + + Status: BETA + + Searches the index for applicable resources (only public + private can be searched) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetResource(self, request, context): + """GetResource + + Status: BETA + + Retrieves resource by its ID. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetResources(self, request, context): + """GetResources + + Status: BETA + + Retrieves resources by a list of IDs. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RequestResourceAccess(self, request, context): + """RequestResourceAccess + + Status: ALPHA + + Requests access to resources + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_SearchServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SearchResources': grpc.unary_unary_rpc_method_handler( + servicer.SearchResources, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.SearchResourcesRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.SearchResourcesResponse.SerializeToString, + ), + 'GetResource': grpc.unary_unary_rpc_method_handler( + servicer.GetResource, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourceRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourceResponse.SerializeToString, + ), + 'GetResources': grpc.unary_unary_rpc_method_handler( + servicer.GetResources, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourcesRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourcesResponse.SerializeToString, + ), + 'RequestResourceAccess': grpc.unary_unary_rpc_method_handler( + servicer.RequestResourceAccess, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.RequestResourceAccessRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.RequestResourceAccessResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.SearchService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class SearchService(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def SearchResources(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.SearchService/SearchResources', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.SearchResourcesRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.SearchResourcesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetResource(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.SearchService/GetResource', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourceRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetResources(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.SearchService/GetResources', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourcesRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.GetResourcesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RequestResourceAccess(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.SearchService/RequestResourceAccess', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.RequestResourceAccessRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_search__service__pb2.RequestResourceAccessResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/service_account_service.pb.gw.go b/aruna/api/storage/services/v2/service_account_service.pb.gw.go new file mode 100644 index 0000000..74286a2 --- /dev/null +++ b/aruna/api/storage/services/v2/service_account_service.pb.gw.go @@ -0,0 +1,1206 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/service_account_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_ServiceAccountService_CreateServiceAccount_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateServiceAccountRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateServiceAccount(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_CreateServiceAccount_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateServiceAccountRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateServiceAccount(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ServiceAccountService_CreateServiceAccountToken_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateServiceAccountTokenRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := client.CreateServiceAccountToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_CreateServiceAccountToken_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateServiceAccountTokenRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := server.CreateServiceAccountToken(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ServiceAccountService_SetServiceAccountPermission_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetServiceAccountPermissionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := client.SetServiceAccountPermission(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_SetServiceAccountPermission_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SetServiceAccountPermissionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := server.SetServiceAccountPermission(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ServiceAccountService_GetServiceAccountToken_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetServiceAccountTokenRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + val, ok = pathParams["token_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "token_id") + } + + protoReq.TokenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "token_id", err) + } + + msg, err := client.GetServiceAccountToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_GetServiceAccountToken_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetServiceAccountTokenRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + val, ok = pathParams["token_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "token_id") + } + + protoReq.TokenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "token_id", err) + } + + msg, err := server.GetServiceAccountToken(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ServiceAccountService_GetServiceAccountTokens_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetServiceAccountTokensRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := client.GetServiceAccountTokens(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_GetServiceAccountTokens_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetServiceAccountTokensRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := server.GetServiceAccountTokens(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ServiceAccountService_DeleteServiceAccountToken_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteServiceAccountTokenRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + val, ok = pathParams["token_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "token_id") + } + + protoReq.TokenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "token_id", err) + } + + msg, err := client.DeleteServiceAccountToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_DeleteServiceAccountToken_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteServiceAccountTokenRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + val, ok = pathParams["token_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "token_id") + } + + protoReq.TokenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "token_id", err) + } + + msg, err := server.DeleteServiceAccountToken(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ServiceAccountService_DeleteServiceAccountTokens_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteServiceAccountTokensRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := client.DeleteServiceAccountTokens(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_DeleteServiceAccountTokens_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteServiceAccountTokensRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := server.DeleteServiceAccountTokens(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ServiceAccountService_DeleteServiceAccount_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteServiceAccountRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := client.DeleteServiceAccount(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_DeleteServiceAccount_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteServiceAccountRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + msg, err := server.DeleteServiceAccount(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ServiceAccountService_GetS3CredentialsSvcAccount_0 = &utilities.DoubleArray{Encoding: map[string]int{"svc_account_id": 0, "svcAccountId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_ServiceAccountService_GetS3CredentialsSvcAccount_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetS3CredentialsSvcAccountRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ServiceAccountService_GetS3CredentialsSvcAccount_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetS3CredentialsSvcAccount(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_GetS3CredentialsSvcAccount_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetS3CredentialsSvcAccountRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["svc_account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "svc_account_id") + } + + protoReq.SvcAccountId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "svc_account_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ServiceAccountService_GetS3CredentialsSvcAccount_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetS3CredentialsSvcAccount(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ServiceAccountService_GetDataproxyTokenSvcAccount_0 = &utilities.DoubleArray{Encoding: map[string]int{"user_id": 0, "userId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_ServiceAccountService_GetDataproxyTokenSvcAccount_0(ctx context.Context, marshaler runtime.Marshaler, client ServiceAccountServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDataproxyTokenSvcAccountRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ServiceAccountService_GetDataproxyTokenSvcAccount_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDataproxyTokenSvcAccount(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ServiceAccountService_GetDataproxyTokenSvcAccount_0(ctx context.Context, marshaler runtime.Marshaler, server ServiceAccountServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDataproxyTokenSvcAccountRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ServiceAccountService_GetDataproxyTokenSvcAccount_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetDataproxyTokenSvcAccount(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterServiceAccountServiceHandlerServer registers the http handlers for service ServiceAccountService to "mux". +// UnaryRPC :call ServiceAccountServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterServiceAccountServiceHandlerFromEndpoint instead. +func RegisterServiceAccountServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ServiceAccountServiceServer) error { + + mux.Handle("POST", pattern_ServiceAccountService_CreateServiceAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/CreateServiceAccount", runtime.WithHTTPPathPattern("/v2/service_account")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_CreateServiceAccount_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_CreateServiceAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ServiceAccountService_CreateServiceAccountToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/CreateServiceAccountToken", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/token")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_CreateServiceAccountToken_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_CreateServiceAccountToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ServiceAccountService_SetServiceAccountPermission_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/SetServiceAccountPermission", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/permissions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_SetServiceAccountPermission_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_SetServiceAccountPermission_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ServiceAccountService_GetServiceAccountToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/GetServiceAccountToken", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/token/{token_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_GetServiceAccountToken_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_GetServiceAccountToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ServiceAccountService_GetServiceAccountTokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/GetServiceAccountTokens", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/tokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_GetServiceAccountTokens_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_GetServiceAccountTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ServiceAccountService_DeleteServiceAccountToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccountToken", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/token/{token_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_DeleteServiceAccountToken_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_DeleteServiceAccountToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ServiceAccountService_DeleteServiceAccountTokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccountTokens", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/tokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_DeleteServiceAccountTokens_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_DeleteServiceAccountTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ServiceAccountService_DeleteServiceAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccount", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_DeleteServiceAccount_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_DeleteServiceAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ServiceAccountService_GetS3CredentialsSvcAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/GetS3CredentialsSvcAccount", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/s3_credentials")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_GetS3CredentialsSvcAccount_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_GetS3CredentialsSvcAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ServiceAccountService_GetDataproxyTokenSvcAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/GetDataproxyTokenSvcAccount", runtime.WithHTTPPathPattern("/v2/user/{user_id}/svc_proxy_token")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ServiceAccountService_GetDataproxyTokenSvcAccount_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_GetDataproxyTokenSvcAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterServiceAccountServiceHandlerFromEndpoint is same as RegisterServiceAccountServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterServiceAccountServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterServiceAccountServiceHandler(ctx, mux, conn) +} + +// RegisterServiceAccountServiceHandler registers the http handlers for service ServiceAccountService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterServiceAccountServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterServiceAccountServiceHandlerClient(ctx, mux, NewServiceAccountServiceClient(conn)) +} + +// RegisterServiceAccountServiceHandlerClient registers the http handlers for service ServiceAccountService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ServiceAccountServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ServiceAccountServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ServiceAccountServiceClient" to call the correct interceptors. +func RegisterServiceAccountServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ServiceAccountServiceClient) error { + + mux.Handle("POST", pattern_ServiceAccountService_CreateServiceAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/CreateServiceAccount", runtime.WithHTTPPathPattern("/v2/service_account")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_CreateServiceAccount_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_CreateServiceAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ServiceAccountService_CreateServiceAccountToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/CreateServiceAccountToken", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/token")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_CreateServiceAccountToken_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_CreateServiceAccountToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_ServiceAccountService_SetServiceAccountPermission_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/SetServiceAccountPermission", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/permissions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_SetServiceAccountPermission_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_SetServiceAccountPermission_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ServiceAccountService_GetServiceAccountToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/GetServiceAccountToken", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/token/{token_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_GetServiceAccountToken_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_GetServiceAccountToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ServiceAccountService_GetServiceAccountTokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/GetServiceAccountTokens", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/tokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_GetServiceAccountTokens_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_GetServiceAccountTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ServiceAccountService_DeleteServiceAccountToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccountToken", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/token/{token_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_DeleteServiceAccountToken_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_DeleteServiceAccountToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ServiceAccountService_DeleteServiceAccountTokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccountTokens", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/tokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_DeleteServiceAccountTokens_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_DeleteServiceAccountTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ServiceAccountService_DeleteServiceAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccount", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_DeleteServiceAccount_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_DeleteServiceAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ServiceAccountService_GetS3CredentialsSvcAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/GetS3CredentialsSvcAccount", runtime.WithHTTPPathPattern("/v2/service_account/{svc_account_id}/s3_credentials")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_GetS3CredentialsSvcAccount_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_GetS3CredentialsSvcAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ServiceAccountService_GetDataproxyTokenSvcAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.ServiceAccountService/GetDataproxyTokenSvcAccount", runtime.WithHTTPPathPattern("/v2/user/{user_id}/svc_proxy_token")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ServiceAccountService_GetDataproxyTokenSvcAccount_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ServiceAccountService_GetDataproxyTokenSvcAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ServiceAccountService_CreateServiceAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "service_account"}, "")) + + pattern_ServiceAccountService_CreateServiceAccountToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "service_account", "svc_account_id", "token"}, "")) + + pattern_ServiceAccountService_SetServiceAccountPermission_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "service_account", "svc_account_id", "permissions"}, "")) + + pattern_ServiceAccountService_GetServiceAccountToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"v2", "service_account", "svc_account_id", "token", "token_id"}, "")) + + pattern_ServiceAccountService_GetServiceAccountTokens_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "service_account", "svc_account_id", "tokens"}, "")) + + pattern_ServiceAccountService_DeleteServiceAccountToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"v2", "service_account", "svc_account_id", "token", "token_id"}, "")) + + pattern_ServiceAccountService_DeleteServiceAccountTokens_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "service_account", "svc_account_id", "tokens"}, "")) + + pattern_ServiceAccountService_DeleteServiceAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "service_account", "svc_account_id"}, "")) + + pattern_ServiceAccountService_GetS3CredentialsSvcAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "service_account", "svc_account_id", "s3_credentials"}, "")) + + pattern_ServiceAccountService_GetDataproxyTokenSvcAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "user", "user_id", "svc_proxy_token"}, "")) +) + +var ( + forward_ServiceAccountService_CreateServiceAccount_0 = runtime.ForwardResponseMessage + + forward_ServiceAccountService_CreateServiceAccountToken_0 = runtime.ForwardResponseMessage + + forward_ServiceAccountService_SetServiceAccountPermission_0 = runtime.ForwardResponseMessage + + forward_ServiceAccountService_GetServiceAccountToken_0 = runtime.ForwardResponseMessage + + forward_ServiceAccountService_GetServiceAccountTokens_0 = runtime.ForwardResponseMessage + + forward_ServiceAccountService_DeleteServiceAccountToken_0 = runtime.ForwardResponseMessage + + forward_ServiceAccountService_DeleteServiceAccountTokens_0 = runtime.ForwardResponseMessage + + forward_ServiceAccountService_DeleteServiceAccount_0 = runtime.ForwardResponseMessage + + forward_ServiceAccountService_GetS3CredentialsSvcAccount_0 = runtime.ForwardResponseMessage + + forward_ServiceAccountService_GetDataproxyTokenSvcAccount_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/service_account_service_pb2.py b/aruna/api/storage/services/v2/service_account_service_pb2.py new file mode 100644 index 0000000..8343fb2 --- /dev/null +++ b/aruna/api/storage/services/v2/service_account_service_pb2.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/service_account_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;aruna/api/storage/services/v2/service_account_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"z\n\x1b\x43reateServiceAccountRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12G\n\npermission\x18\x02 \x01(\x0b\x32\'.aruna.api.storage.models.v2.PermissionR\npermission\"\x93\x01\n\x0eServiceAccount\x12$\n\x0esvc_account_id\x18\x01 \x01(\tR\x0csvcAccountId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12G\n\npermission\x18\x03 \x01(\x0b\x32\'.aruna.api.storage.models.v2.PermissionR\npermission\"v\n\x1c\x43reateServiceAccountResponse\x12V\n\x0fservice_account\x18\x01 \x01(\x0b\x32-.aruna.api.storage.services.v2.ServiceAccountR\x0eserviceAccount\"\xe0\x01\n CreateServiceAccountTokenRequest\x12$\n\x0esvc_account_id\x18\x01 \x01(\tR\x0csvcAccountId\x12G\n\npermission\x18\x02 \x01(\x0b\x32\'.aruna.api.storage.models.v2.PermissionR\npermission\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x39\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"\x80\x01\n!CreateServiceAccountTokenResponse\x12\x38\n\x05token\x18\x01 \x01(\x0b\x32\".aruna.api.storage.models.v2.TokenR\x05token\x12!\n\x0ctoken_secret\x18\x02 \x01(\tR\x0btokenSecret\"\x93\x01\n\"SetServiceAccountPermissionRequest\x12$\n\x0esvc_account_id\x18\x01 \x01(\tR\x0csvcAccountId\x12G\n\npermission\x18\x02 \x01(\x0b\x32\'.aruna.api.storage.models.v2.PermissionR\npermission\"}\n#SetServiceAccountPermissionResponse\x12V\n\x0fservice_account\x18\x01 \x01(\x0b\x32-.aruna.api.storage.services.v2.ServiceAccountR\x0eserviceAccount\"`\n\x1dGetServiceAccountTokenRequest\x12$\n\x0esvc_account_id\x18\x01 \x01(\tR\x0csvcAccountId\x12\x19\n\x08token_id\x18\x02 \x01(\tR\x07tokenId\"Z\n\x1eGetServiceAccountTokenResponse\x12\x38\n\x05token\x18\x01 \x01(\x0b\x32\".aruna.api.storage.models.v2.TokenR\x05token\"F\n\x1eGetServiceAccountTokensRequest\x12$\n\x0esvc_account_id\x18\x01 \x01(\tR\x0csvcAccountId\"[\n\x1fGetServiceAccountTokensResponse\x12\x38\n\x05token\x18\x01 \x03(\x0b\x32\".aruna.api.storage.models.v2.TokenR\x05token\"c\n DeleteServiceAccountTokenRequest\x12$\n\x0esvc_account_id\x18\x01 \x01(\tR\x0csvcAccountId\x12\x19\n\x08token_id\x18\x02 \x01(\tR\x07tokenId\"#\n!DeleteServiceAccountTokenResponse\"I\n!DeleteServiceAccountTokensRequest\x12$\n\x0esvc_account_id\x18\x01 \x01(\tR\x0csvcAccountId\"$\n\"DeleteServiceAccountTokensResponse\"C\n\x1b\x44\x65leteServiceAccountRequest\x12$\n\x0esvc_account_id\x18\x01 \x01(\tR\x0csvcAccountId\"\x1e\n\x1c\x44\x65leteServiceAccountResponse\"j\n!GetS3CredentialsSvcAccountRequest\x12$\n\x0esvc_account_id\x18\x01 \x01(\tR\x0csvcAccountId\x12\x1f\n\x0b\x65ndpoint_id\x18\x02 \x01(\tR\nendpointId\"\x94\x01\n\"GetS3CredentialsSvcAccountResponse\x12\"\n\rs3_access_key\x18\x01 \x01(\tR\x0bs3AccessKey\x12\"\n\rs3_secret_key\x18\x02 \x01(\tR\x0bs3SecretKey\x12&\n\x0fs3_endpoint_url\x18\x03 \x01(\tR\rs3EndpointUrl\"\x9e\x01\n\"GetDataproxyTokenSvcAccountRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x1f\n\x0b\x65ndpoint_id\x18\x02 \x01(\tR\nendpointId\x12>\n\x07\x63ontext\x18\x03 \x01(\x0b\x32$.aruna.api.storage.models.v2.ContextR\x07\x63ontext\";\n#GetDataproxyTokenSvcAccountResponse\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token2\xd9\x10\n\x15ServiceAccountService\x12\xaf\x01\n\x14\x43reateServiceAccount\x12:.aruna.api.storage.services.v2.CreateServiceAccountRequest\x1a;.aruna.api.storage.services.v2.CreateServiceAccountResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v2/service_account:\x01*\x12\xd5\x01\n\x19\x43reateServiceAccountToken\x12?.aruna.api.storage.services.v2.CreateServiceAccountTokenRequest\x1a@.aruna.api.storage.services.v2.CreateServiceAccountTokenResponse\"5\x82\xd3\xe4\x93\x02/\"*/v2/service_account/{svc_account_id}/token:\x01*\x12\xe1\x01\n\x1bSetServiceAccountPermission\x12\x41.aruna.api.storage.services.v2.SetServiceAccountPermissionRequest\x1a\x42.aruna.api.storage.services.v2.SetServiceAccountPermissionResponse\";\x82\xd3\xe4\x93\x02\x35\x1a\x30/v2/service_account/{svc_account_id}/permissions:\x01*\x12\xd4\x01\n\x16GetServiceAccountToken\x12<.aruna.api.storage.services.v2.GetServiceAccountTokenRequest\x1a=.aruna.api.storage.services.v2.GetServiceAccountTokenResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/v2/service_account/{svc_account_id}/token/{token_id}\x12\xcd\x01\n\x17GetServiceAccountTokens\x12=.aruna.api.storage.services.v2.GetServiceAccountTokensRequest\x1a>.aruna.api.storage.services.v2.GetServiceAccountTokensResponse\"3\x82\xd3\xe4\x93\x02-\x12+/v2/service_account/{svc_account_id}/tokens\x12\xdd\x01\n\x19\x44\x65leteServiceAccountToken\x12?.aruna.api.storage.services.v2.DeleteServiceAccountTokenRequest\x1a@.aruna.api.storage.services.v2.DeleteServiceAccountTokenResponse\"=\x82\xd3\xe4\x93\x02\x37*5/v2/service_account/{svc_account_id}/token/{token_id}\x12\xd6\x01\n\x1a\x44\x65leteServiceAccountTokens\x12@.aruna.api.storage.services.v2.DeleteServiceAccountTokensRequest\x1a\x41.aruna.api.storage.services.v2.DeleteServiceAccountTokensResponse\"3\x82\xd3\xe4\x93\x02-*+/v2/service_account/{svc_account_id}/tokens\x12\xbd\x01\n\x14\x44\x65leteServiceAccount\x12:.aruna.api.storage.services.v2.DeleteServiceAccountRequest\x1a;.aruna.api.storage.services.v2.DeleteServiceAccountResponse\",\x82\xd3\xe4\x93\x02&*$/v2/service_account/{svc_account_id}\x12\xde\x01\n\x1aGetS3CredentialsSvcAccount\x12@.aruna.api.storage.services.v2.GetS3CredentialsSvcAccountRequest\x1a\x41.aruna.api.storage.services.v2.GetS3CredentialsSvcAccountResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/v2/service_account/{svc_account_id}/s3_credentials\x12\xd0\x01\n\x1bGetDataproxyTokenSvcAccount\x12\x41.aruna.api.storage.services.v2.GetDataproxyTokenSvcAccountRequest\x1a\x42.aruna.api.storage.services.v2.GetDataproxyTokenSvcAccountResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/v2/user/{user_id}/svc_proxy_tokenB\x97\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x15ServiceAccountServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\025ServiceAccountServiceP\001Z None: ... + +class ServiceAccount(_message.Message): + __slots__ = ["svc_account_id", "name", "permission"] + SVC_ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PERMISSION_FIELD_NUMBER: _ClassVar[int] + svc_account_id: str + name: str + permission: _models_pb2.Permission + def __init__(self, svc_account_id: _Optional[str] = ..., name: _Optional[str] = ..., permission: _Optional[_Union[_models_pb2.Permission, _Mapping]] = ...) -> None: ... + +class CreateServiceAccountResponse(_message.Message): + __slots__ = ["service_account"] + SERVICE_ACCOUNT_FIELD_NUMBER: _ClassVar[int] + service_account: ServiceAccount + def __init__(self, service_account: _Optional[_Union[ServiceAccount, _Mapping]] = ...) -> None: ... + +class CreateServiceAccountTokenRequest(_message.Message): + __slots__ = ["svc_account_id", "permission", "name", "expires_at"] + SVC_ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + PERMISSION_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + svc_account_id: str + permission: _models_pb2.Permission + name: str + expires_at: _timestamp_pb2.Timestamp + def __init__(self, svc_account_id: _Optional[str] = ..., permission: _Optional[_Union[_models_pb2.Permission, _Mapping]] = ..., name: _Optional[str] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class CreateServiceAccountTokenResponse(_message.Message): + __slots__ = ["token", "token_secret"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + TOKEN_SECRET_FIELD_NUMBER: _ClassVar[int] + token: _models_pb2.Token + token_secret: str + def __init__(self, token: _Optional[_Union[_models_pb2.Token, _Mapping]] = ..., token_secret: _Optional[str] = ...) -> None: ... + +class SetServiceAccountPermissionRequest(_message.Message): + __slots__ = ["svc_account_id", "permission"] + SVC_ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + PERMISSION_FIELD_NUMBER: _ClassVar[int] + svc_account_id: str + permission: _models_pb2.Permission + def __init__(self, svc_account_id: _Optional[str] = ..., permission: _Optional[_Union[_models_pb2.Permission, _Mapping]] = ...) -> None: ... + +class SetServiceAccountPermissionResponse(_message.Message): + __slots__ = ["service_account"] + SERVICE_ACCOUNT_FIELD_NUMBER: _ClassVar[int] + service_account: ServiceAccount + def __init__(self, service_account: _Optional[_Union[ServiceAccount, _Mapping]] = ...) -> None: ... + +class GetServiceAccountTokenRequest(_message.Message): + __slots__ = ["svc_account_id", "token_id"] + SVC_ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + TOKEN_ID_FIELD_NUMBER: _ClassVar[int] + svc_account_id: str + token_id: str + def __init__(self, svc_account_id: _Optional[str] = ..., token_id: _Optional[str] = ...) -> None: ... + +class GetServiceAccountTokenResponse(_message.Message): + __slots__ = ["token"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: _models_pb2.Token + def __init__(self, token: _Optional[_Union[_models_pb2.Token, _Mapping]] = ...) -> None: ... + +class GetServiceAccountTokensRequest(_message.Message): + __slots__ = ["svc_account_id"] + SVC_ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + svc_account_id: str + def __init__(self, svc_account_id: _Optional[str] = ...) -> None: ... + +class GetServiceAccountTokensResponse(_message.Message): + __slots__ = ["token"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: _containers.RepeatedCompositeFieldContainer[_models_pb2.Token] + def __init__(self, token: _Optional[_Iterable[_Union[_models_pb2.Token, _Mapping]]] = ...) -> None: ... + +class DeleteServiceAccountTokenRequest(_message.Message): + __slots__ = ["svc_account_id", "token_id"] + SVC_ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + TOKEN_ID_FIELD_NUMBER: _ClassVar[int] + svc_account_id: str + token_id: str + def __init__(self, svc_account_id: _Optional[str] = ..., token_id: _Optional[str] = ...) -> None: ... + +class DeleteServiceAccountTokenResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class DeleteServiceAccountTokensRequest(_message.Message): + __slots__ = ["svc_account_id"] + SVC_ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + svc_account_id: str + def __init__(self, svc_account_id: _Optional[str] = ...) -> None: ... + +class DeleteServiceAccountTokensResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class DeleteServiceAccountRequest(_message.Message): + __slots__ = ["svc_account_id"] + SVC_ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + svc_account_id: str + def __init__(self, svc_account_id: _Optional[str] = ...) -> None: ... + +class DeleteServiceAccountResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetS3CredentialsSvcAccountRequest(_message.Message): + __slots__ = ["svc_account_id", "endpoint_id"] + SVC_ACCOUNT_ID_FIELD_NUMBER: _ClassVar[int] + ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int] + svc_account_id: str + endpoint_id: str + def __init__(self, svc_account_id: _Optional[str] = ..., endpoint_id: _Optional[str] = ...) -> None: ... + +class GetS3CredentialsSvcAccountResponse(_message.Message): + __slots__ = ["s3_access_key", "s3_secret_key", "s3_endpoint_url"] + S3_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + S3_SECRET_KEY_FIELD_NUMBER: _ClassVar[int] + S3_ENDPOINT_URL_FIELD_NUMBER: _ClassVar[int] + s3_access_key: str + s3_secret_key: str + s3_endpoint_url: str + def __init__(self, s3_access_key: _Optional[str] = ..., s3_secret_key: _Optional[str] = ..., s3_endpoint_url: _Optional[str] = ...) -> None: ... + +class GetDataproxyTokenSvcAccountRequest(_message.Message): + __slots__ = ["user_id", "endpoint_id", "context"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int] + CONTEXT_FIELD_NUMBER: _ClassVar[int] + user_id: str + endpoint_id: str + context: _models_pb2.Context + def __init__(self, user_id: _Optional[str] = ..., endpoint_id: _Optional[str] = ..., context: _Optional[_Union[_models_pb2.Context, _Mapping]] = ...) -> None: ... + +class GetDataproxyTokenSvcAccountResponse(_message.Message): + __slots__ = ["token"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: str + def __init__(self, token: _Optional[str] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/service_account_service_pb2_grpc.py b/aruna/api/storage/services/v2/service_account_service_pb2_grpc.py new file mode 100644 index 0000000..d837247 --- /dev/null +++ b/aruna/api/storage/services/v2/service_account_service_pb2_grpc.py @@ -0,0 +1,434 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import service_account_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2 + + +class ServiceAccountServiceStub(object): + """ServiceAccountService + + Service that contains all methods for service_accounts, these are Accounts that are + project specific (or global) and can be used for automation. + Service account users will always contain (bot) behind their name + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateServiceAccount = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/CreateServiceAccount', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountResponse.FromString, + ) + self.CreateServiceAccountToken = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/CreateServiceAccountToken', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountTokenRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountTokenResponse.FromString, + ) + self.SetServiceAccountPermission = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/SetServiceAccountPermission', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.SetServiceAccountPermissionRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.SetServiceAccountPermissionResponse.FromString, + ) + self.GetServiceAccountToken = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/GetServiceAccountToken', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokenRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokenResponse.FromString, + ) + self.GetServiceAccountTokens = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/GetServiceAccountTokens', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokensRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokensResponse.FromString, + ) + self.DeleteServiceAccountToken = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccountToken', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokenRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokenResponse.FromString, + ) + self.DeleteServiceAccountTokens = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccountTokens', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokensRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokensResponse.FromString, + ) + self.DeleteServiceAccount = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccount', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountResponse.FromString, + ) + self.GetS3CredentialsSvcAccount = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/GetS3CredentialsSvcAccount', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetS3CredentialsSvcAccountRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetS3CredentialsSvcAccountResponse.FromString, + ) + self.GetDataproxyTokenSvcAccount = channel.unary_unary( + '/aruna.api.storage.services.v2.ServiceAccountService/GetDataproxyTokenSvcAccount', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetDataproxyTokenSvcAccountRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetDataproxyTokenSvcAccountResponse.FromString, + ) + + +class ServiceAccountServiceServicer(object): + """ServiceAccountService + + Service that contains all methods for service_accounts, these are Accounts that are + project specific (or global) and can be used for automation. + Service account users will always contain (bot) behind their name + """ + + def CreateServiceAccount(self, request, context): + """CreateServiceAccount + + Status: BETA + + Creates a service account for a given project + If the service account has permissions for the global Admin project + it will be a global service account that can interact with any resource + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateServiceAccountToken(self, request, context): + """CreateServiceAccountToken + + Status: BETA + + Creates a token for a service account + Each service account can only have one permission -> The token will have the same permission as the + service account + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetServiceAccountPermission(self, request, context): + """SetServiceAccountPermission + + Status: BETA + + Overwrites the project specific permissions for a service account + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetServiceAccountToken(self, request, context): + """GetServiceAccountToken + + Status: BETA + + This requests the overall information about a specifc service account token (by id) + it will not contain the token itself. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetServiceAccountTokens(self, request, context): + """GetServiceAccountTokens + + Status: BETA + + This requests the overall information about all service account tokens + it will not contain the token itself. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteServiceAccountToken(self, request, context): + """DeleteServiceAccountToken + + Status: BETA + + Deletes one service account token by ID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteServiceAccountTokens(self, request, context): + """DeleteServiceAccountTokens + + Status: BETA + + Deletes all service account tokens + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteServiceAccount(self, request, context): + """DeleteServiceAccount + + Status: BETA + + Deletes a service account (by id) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetS3CredentialsSvcAccount(self, request, context): + """GetS3Credentials + + Status: ALPHA + + Gets s3 credentials for a specific user and data_proxy + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDataproxyTokenSvcAccount(self, request, context): + """GetDataproxyToken + + Status: ALPHA + + Gets token for a specific user and data_proxy + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ServiceAccountServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateServiceAccount': grpc.unary_unary_rpc_method_handler( + servicer.CreateServiceAccount, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountResponse.SerializeToString, + ), + 'CreateServiceAccountToken': grpc.unary_unary_rpc_method_handler( + servicer.CreateServiceAccountToken, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountTokenRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountTokenResponse.SerializeToString, + ), + 'SetServiceAccountPermission': grpc.unary_unary_rpc_method_handler( + servicer.SetServiceAccountPermission, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.SetServiceAccountPermissionRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.SetServiceAccountPermissionResponse.SerializeToString, + ), + 'GetServiceAccountToken': grpc.unary_unary_rpc_method_handler( + servicer.GetServiceAccountToken, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokenRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokenResponse.SerializeToString, + ), + 'GetServiceAccountTokens': grpc.unary_unary_rpc_method_handler( + servicer.GetServiceAccountTokens, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokensRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokensResponse.SerializeToString, + ), + 'DeleteServiceAccountToken': grpc.unary_unary_rpc_method_handler( + servicer.DeleteServiceAccountToken, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokenRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokenResponse.SerializeToString, + ), + 'DeleteServiceAccountTokens': grpc.unary_unary_rpc_method_handler( + servicer.DeleteServiceAccountTokens, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokensRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokensResponse.SerializeToString, + ), + 'DeleteServiceAccount': grpc.unary_unary_rpc_method_handler( + servicer.DeleteServiceAccount, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountResponse.SerializeToString, + ), + 'GetS3CredentialsSvcAccount': grpc.unary_unary_rpc_method_handler( + servicer.GetS3CredentialsSvcAccount, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetS3CredentialsSvcAccountRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetS3CredentialsSvcAccountResponse.SerializeToString, + ), + 'GetDataproxyTokenSvcAccount': grpc.unary_unary_rpc_method_handler( + servicer.GetDataproxyTokenSvcAccount, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetDataproxyTokenSvcAccountRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetDataproxyTokenSvcAccountResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.ServiceAccountService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ServiceAccountService(object): + """ServiceAccountService + + Service that contains all methods for service_accounts, these are Accounts that are + project specific (or global) and can be used for automation. + Service account users will always contain (bot) behind their name + """ + + @staticmethod + def CreateServiceAccount(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/CreateServiceAccount', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateServiceAccountToken(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/CreateServiceAccountToken', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountTokenRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.CreateServiceAccountTokenResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetServiceAccountPermission(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/SetServiceAccountPermission', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.SetServiceAccountPermissionRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.SetServiceAccountPermissionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetServiceAccountToken(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/GetServiceAccountToken', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokenRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokenResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetServiceAccountTokens(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/GetServiceAccountTokens', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokensRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetServiceAccountTokensResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteServiceAccountToken(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccountToken', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokenRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokenResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteServiceAccountTokens(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccountTokens', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokensRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountTokensResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteServiceAccount(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/DeleteServiceAccount', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.DeleteServiceAccountResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetS3CredentialsSvcAccount(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/GetS3CredentialsSvcAccount', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetS3CredentialsSvcAccountRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetS3CredentialsSvcAccountResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDataproxyTokenSvcAccount(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.ServiceAccountService/GetDataproxyTokenSvcAccount', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetDataproxyTokenSvcAccountRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_service__account__service__pb2.GetDataproxyTokenSvcAccountResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/user_service.pb.gw.go b/aruna/api/storage/services/v2/user_service.pb.gw.go new file mode 100644 index 0000000..1a90d35 --- /dev/null +++ b/aruna/api/storage/services/v2/user_service.pb.gw.go @@ -0,0 +1,1770 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/user_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_UserService_RegisterUser_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RegisterUserRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.RegisterUser(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_RegisterUser_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RegisterUserRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.RegisterUser(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_DeactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeactivateUserRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := client.DeactivateUser(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_DeactivateUser_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeactivateUserRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.DeactivateUser(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_ActivateUser_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ActivateUserRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := client.ActivateUser(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_ActivateUser_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ActivateUserRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.ActivateUser(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_CreateAPIToken_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateAPITokenRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateAPIToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_CreateAPIToken_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateAPITokenRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateAPIToken(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_GetAPIToken_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAPITokenRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["token_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "token_id") + } + + protoReq.TokenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "token_id", err) + } + + msg, err := client.GetAPIToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_GetAPIToken_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAPITokenRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["token_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "token_id") + } + + protoReq.TokenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "token_id", err) + } + + msg, err := server.GetAPIToken(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_GetAPITokens_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAPITokensRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetAPITokens(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_GetAPITokens_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAPITokensRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetAPITokens(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_DeleteAPIToken_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAPITokenRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["token_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "token_id") + } + + protoReq.TokenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "token_id", err) + } + + msg, err := client.DeleteAPIToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_DeleteAPIToken_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAPITokenRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["token_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "token_id") + } + + protoReq.TokenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "token_id", err) + } + + msg, err := server.DeleteAPIToken(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_UserService_DeleteAPITokens_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_UserService_DeleteAPITokens_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAPITokensRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_DeleteAPITokens_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteAPITokens(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_DeleteAPITokens_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAPITokensRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_DeleteAPITokens_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteAPITokens(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_UserService_GetUser_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_UserService_GetUser_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUserRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_GetUser_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetUser(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_GetUser_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUserRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_GetUser_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetUser(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_UserService_GetUserRedacted_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_UserService_GetUserRedacted_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUserRedactedRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_GetUserRedacted_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetUserRedacted(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_GetUserRedacted_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUserRedactedRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_GetUserRedacted_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetUserRedacted(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_UpdateUserDisplayName_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserDisplayNameRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateUserDisplayName(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_UpdateUserDisplayName_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserDisplayNameRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateUserDisplayName(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_UpdateUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserEmailRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := client.UpdateUserEmail(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_UpdateUserEmail_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateUserEmailRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + msg, err := server.UpdateUserEmail(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_GetNotActivatedUsers_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNotActivatedUsersRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetNotActivatedUsers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_GetNotActivatedUsers_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNotActivatedUsersRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetNotActivatedUsers(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_GetAllUsers_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAllUsersRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetAllUsers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_GetAllUsers_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAllUsersRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetAllUsers(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_UserService_GetS3CredentialsUser_0 = &utilities.DoubleArray{Encoding: map[string]int{"user_id": 0, "userId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_UserService_GetS3CredentialsUser_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetS3CredentialsUserRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_GetS3CredentialsUser_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetS3CredentialsUser(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_GetS3CredentialsUser_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetS3CredentialsUserRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_GetS3CredentialsUser_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetS3CredentialsUser(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_UserService_GetDataproxyTokenUser_0 = &utilities.DoubleArray{Encoding: map[string]int{"user_id": 0, "userId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_UserService_GetDataproxyTokenUser_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDataproxyTokenUserRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_GetDataproxyTokenUser_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDataproxyTokenUser(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_GetDataproxyTokenUser_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDataproxyTokenUserRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["user_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_id") + } + + protoReq.UserId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_GetDataproxyTokenUser_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetDataproxyTokenUser(ctx, &protoReq) + return msg, metadata, err + +} + +func request_UserService_GetPersonalNotifications_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPersonalNotificationsRequest + var metadata runtime.ServerMetadata + + msg, err := client.GetPersonalNotifications(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_GetPersonalNotifications_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPersonalNotificationsRequest + var metadata runtime.ServerMetadata + + msg, err := server.GetPersonalNotifications(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_UserService_AcknowledgePersonalNotifications_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_UserService_AcknowledgePersonalNotifications_0(ctx context.Context, marshaler runtime.Marshaler, client UserServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AcknowledgePersonalNotificationsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_AcknowledgePersonalNotifications_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.AcknowledgePersonalNotifications(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_UserService_AcknowledgePersonalNotifications_0(ctx context.Context, marshaler runtime.Marshaler, server UserServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AcknowledgePersonalNotificationsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserService_AcknowledgePersonalNotifications_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.AcknowledgePersonalNotifications(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterUserServiceHandlerServer registers the http handlers for service UserService to "mux". +// UnaryRPC :call UserServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterUserServiceHandlerFromEndpoint instead. +func RegisterUserServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server UserServiceServer) error { + + mux.Handle("POST", pattern_UserService_RegisterUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/RegisterUser", runtime.WithHTTPPathPattern("/v2/auth/register")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_RegisterUser_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_RegisterUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_UserService_DeactivateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/DeactivateUser", runtime.WithHTTPPathPattern("/v2/user/{user_id}/deactivate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_DeactivateUser_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_DeactivateUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_UserService_ActivateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/ActivateUser", runtime.WithHTTPPathPattern("/v2/user/{user_id}/activate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_ActivateUser_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_ActivateUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_UserService_CreateAPIToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/CreateAPIToken", runtime.WithHTTPPathPattern("/v2/auth/token")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_CreateAPIToken_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_CreateAPIToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetAPIToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetAPIToken", runtime.WithHTTPPathPattern("/v2/auth/token/{token_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_GetAPIToken_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetAPIToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetAPITokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetAPITokens", runtime.WithHTTPPathPattern("/v2/auth/tokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_GetAPITokens_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetAPITokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_UserService_DeleteAPIToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/DeleteAPIToken", runtime.WithHTTPPathPattern("/v2/auth/token/{token_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_DeleteAPIToken_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_DeleteAPIToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_UserService_DeleteAPITokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/DeleteAPITokens", runtime.WithHTTPPathPattern("/v2/auth/tokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_DeleteAPITokens_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_DeleteAPITokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetUser", runtime.WithHTTPPathPattern("/v2/user")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_GetUser_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetUserRedacted_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetUserRedacted", runtime.WithHTTPPathPattern("/v2/user/redacted")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_GetUserRedacted_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetUserRedacted_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_UserService_UpdateUserDisplayName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/UpdateUserDisplayName", runtime.WithHTTPPathPattern("/v2/user/display_name")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_UpdateUserDisplayName_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_UpdateUserDisplayName_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_UserService_UpdateUserEmail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/UpdateUserEmail", runtime.WithHTTPPathPattern("/v2/user/{user_id}/email")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_UpdateUserEmail_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_UpdateUserEmail_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetNotActivatedUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetNotActivatedUsers", runtime.WithHTTPPathPattern("/v2/user/not_activated")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_GetNotActivatedUsers_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetNotActivatedUsers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetAllUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetAllUsers", runtime.WithHTTPPathPattern("/v2/user/all")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_GetAllUsers_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetAllUsers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetS3CredentialsUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetS3CredentialsUser", runtime.WithHTTPPathPattern("/v2/user/{user_id}/s3_credentials")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_GetS3CredentialsUser_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetS3CredentialsUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetDataproxyTokenUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetDataproxyTokenUser", runtime.WithHTTPPathPattern("/v2/user/{user_id}/proxy_token")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_GetDataproxyTokenUser_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetDataproxyTokenUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetPersonalNotifications_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetPersonalNotifications", runtime.WithHTTPPathPattern("/v2/user/notifications")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_GetPersonalNotifications_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetPersonalNotifications_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_AcknowledgePersonalNotifications_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/AcknowledgePersonalNotifications", runtime.WithHTTPPathPattern("/v2/user/acknowledge")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_UserService_AcknowledgePersonalNotifications_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_AcknowledgePersonalNotifications_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterUserServiceHandlerFromEndpoint is same as RegisterUserServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterUserServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterUserServiceHandler(ctx, mux, conn) +} + +// RegisterUserServiceHandler registers the http handlers for service UserService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterUserServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterUserServiceHandlerClient(ctx, mux, NewUserServiceClient(conn)) +} + +// RegisterUserServiceHandlerClient registers the http handlers for service UserService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "UserServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "UserServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "UserServiceClient" to call the correct interceptors. +func RegisterUserServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client UserServiceClient) error { + + mux.Handle("POST", pattern_UserService_RegisterUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/RegisterUser", runtime.WithHTTPPathPattern("/v2/auth/register")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_RegisterUser_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_RegisterUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_UserService_DeactivateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/DeactivateUser", runtime.WithHTTPPathPattern("/v2/user/{user_id}/deactivate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_DeactivateUser_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_DeactivateUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_UserService_ActivateUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/ActivateUser", runtime.WithHTTPPathPattern("/v2/user/{user_id}/activate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_ActivateUser_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_ActivateUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_UserService_CreateAPIToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/CreateAPIToken", runtime.WithHTTPPathPattern("/v2/auth/token")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_CreateAPIToken_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_CreateAPIToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetAPIToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetAPIToken", runtime.WithHTTPPathPattern("/v2/auth/token/{token_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_GetAPIToken_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetAPIToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetAPITokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetAPITokens", runtime.WithHTTPPathPattern("/v2/auth/tokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_GetAPITokens_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetAPITokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_UserService_DeleteAPIToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/DeleteAPIToken", runtime.WithHTTPPathPattern("/v2/auth/token/{token_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_DeleteAPIToken_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_DeleteAPIToken_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_UserService_DeleteAPITokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/DeleteAPITokens", runtime.WithHTTPPathPattern("/v2/auth/tokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_DeleteAPITokens_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_DeleteAPITokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetUser", runtime.WithHTTPPathPattern("/v2/user")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_GetUser_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetUserRedacted_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetUserRedacted", runtime.WithHTTPPathPattern("/v2/user/redacted")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_GetUserRedacted_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetUserRedacted_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_UserService_UpdateUserDisplayName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/UpdateUserDisplayName", runtime.WithHTTPPathPattern("/v2/user/display_name")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_UpdateUserDisplayName_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_UpdateUserDisplayName_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_UserService_UpdateUserEmail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/UpdateUserEmail", runtime.WithHTTPPathPattern("/v2/user/{user_id}/email")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_UpdateUserEmail_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_UpdateUserEmail_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetNotActivatedUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetNotActivatedUsers", runtime.WithHTTPPathPattern("/v2/user/not_activated")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_GetNotActivatedUsers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetNotActivatedUsers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetAllUsers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetAllUsers", runtime.WithHTTPPathPattern("/v2/user/all")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_GetAllUsers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetAllUsers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetS3CredentialsUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetS3CredentialsUser", runtime.WithHTTPPathPattern("/v2/user/{user_id}/s3_credentials")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_GetS3CredentialsUser_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetS3CredentialsUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetDataproxyTokenUser_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetDataproxyTokenUser", runtime.WithHTTPPathPattern("/v2/user/{user_id}/proxy_token")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_GetDataproxyTokenUser_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetDataproxyTokenUser_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_GetPersonalNotifications_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/GetPersonalNotifications", runtime.WithHTTPPathPattern("/v2/user/notifications")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_GetPersonalNotifications_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_GetPersonalNotifications_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_UserService_AcknowledgePersonalNotifications_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.UserService/AcknowledgePersonalNotifications", runtime.WithHTTPPathPattern("/v2/user/acknowledge")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_UserService_AcknowledgePersonalNotifications_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_UserService_AcknowledgePersonalNotifications_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_UserService_RegisterUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "auth", "register"}, "")) + + pattern_UserService_DeactivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "user", "user_id", "deactivate"}, "")) + + pattern_UserService_ActivateUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "user", "user_id", "activate"}, "")) + + pattern_UserService_CreateAPIToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "auth", "token"}, "")) + + pattern_UserService_GetAPIToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v2", "auth", "token", "token_id"}, "")) + + pattern_UserService_GetAPITokens_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "auth", "tokens"}, "")) + + pattern_UserService_DeleteAPIToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v2", "auth", "token", "token_id"}, "")) + + pattern_UserService_DeleteAPITokens_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "auth", "tokens"}, "")) + + pattern_UserService_GetUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "user"}, "")) + + pattern_UserService_GetUserRedacted_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "user", "redacted"}, "")) + + pattern_UserService_UpdateUserDisplayName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "user", "display_name"}, "")) + + pattern_UserService_UpdateUserEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "user", "user_id", "email"}, "")) + + pattern_UserService_GetNotActivatedUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "user", "not_activated"}, "")) + + pattern_UserService_GetAllUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "user", "all"}, "")) + + pattern_UserService_GetS3CredentialsUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "user", "user_id", "s3_credentials"}, "")) + + pattern_UserService_GetDataproxyTokenUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "user", "user_id", "proxy_token"}, "")) + + pattern_UserService_GetPersonalNotifications_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "user", "notifications"}, "")) + + pattern_UserService_AcknowledgePersonalNotifications_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "user", "acknowledge"}, "")) +) + +var ( + forward_UserService_RegisterUser_0 = runtime.ForwardResponseMessage + + forward_UserService_DeactivateUser_0 = runtime.ForwardResponseMessage + + forward_UserService_ActivateUser_0 = runtime.ForwardResponseMessage + + forward_UserService_CreateAPIToken_0 = runtime.ForwardResponseMessage + + forward_UserService_GetAPIToken_0 = runtime.ForwardResponseMessage + + forward_UserService_GetAPITokens_0 = runtime.ForwardResponseMessage + + forward_UserService_DeleteAPIToken_0 = runtime.ForwardResponseMessage + + forward_UserService_DeleteAPITokens_0 = runtime.ForwardResponseMessage + + forward_UserService_GetUser_0 = runtime.ForwardResponseMessage + + forward_UserService_GetUserRedacted_0 = runtime.ForwardResponseMessage + + forward_UserService_UpdateUserDisplayName_0 = runtime.ForwardResponseMessage + + forward_UserService_UpdateUserEmail_0 = runtime.ForwardResponseMessage + + forward_UserService_GetNotActivatedUsers_0 = runtime.ForwardResponseMessage + + forward_UserService_GetAllUsers_0 = runtime.ForwardResponseMessage + + forward_UserService_GetS3CredentialsUser_0 = runtime.ForwardResponseMessage + + forward_UserService_GetDataproxyTokenUser_0 = runtime.ForwardResponseMessage + + forward_UserService_GetPersonalNotifications_0 = runtime.ForwardResponseMessage + + forward_UserService_AcknowledgePersonalNotifications_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/user_service_pb2.py b/aruna/api/storage/services/v2/user_service_pb2.py new file mode 100644 index 0000000..e63e675 --- /dev/null +++ b/aruna/api/storage/services/v2/user_service_pb2.py @@ -0,0 +1,145 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/user_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from aruna.api.storage.models.v2 import models_pb2 as aruna_dot_api_dot_storage_dot_models_dot_v2_dot_models__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0aruna/api/storage/services/v2/user_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a(aruna/api/storage/models/v2/models.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"h\n\x13RegisterUserRequest\x12!\n\x0c\x64isplay_name\x18\x01 \x01(\tR\x0b\x64isplayName\x12\x14\n\x05\x65mail\x18\x02 \x01(\tR\x05\x65mail\x12\x18\n\x07project\x18\x03 \x01(\tR\x07project\"/\n\x14RegisterUserResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"\xaf\x01\n\x15\x43reateAPITokenRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12G\n\npermission\x18\x02 \x01(\x0b\x32\'.aruna.api.storage.models.v2.PermissionR\npermission\x12\x39\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"u\n\x16\x43reateAPITokenResponse\x12\x38\n\x05token\x18\x01 \x01(\x0b\x32\".aruna.api.storage.models.v2.TokenR\x05token\x12!\n\x0ctoken_secret\x18\x02 \x01(\tR\x0btokenSecret\"/\n\x12GetAPITokenRequest\x12\x19\n\x08token_id\x18\x01 \x01(\tR\x07tokenId\"O\n\x13GetAPITokenResponse\x12\x38\n\x05token\x18\x01 \x01(\x0b\x32\".aruna.api.storage.models.v2.TokenR\x05token\"\x15\n\x13GetAPITokensRequest\"P\n\x14GetAPITokensResponse\x12\x38\n\x05token\x18\x01 \x03(\x0b\x32\".aruna.api.storage.models.v2.TokenR\x05token\"2\n\x15\x44\x65leteAPITokenRequest\x12\x19\n\x08token_id\x18\x01 \x01(\tR\x07tokenId\"\x18\n\x16\x44\x65leteAPITokenResponse\"1\n\x16\x44\x65leteAPITokensRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"\x19\n\x17\x44\x65leteAPITokensResponse\")\n\x0eGetUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"H\n\x0fGetUserResponse\x12\x35\n\x04user\x18\x01 \x01(\x0b\x32!.aruna.api.storage.models.v2.UserR\x04user\"1\n\x16GetUserRedactedRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"P\n\x17GetUserRedactedResponse\x12\x35\n\x04user\x18\x01 \x01(\x0b\x32!.aruna.api.storage.models.v2.UserR\x04user\"H\n\x1cUpdateUserDisplayNameRequest\x12(\n\x10new_display_name\x18\x01 \x01(\tR\x0enewDisplayName\"V\n\x1dUpdateUserDisplayNameResponse\x12\x35\n\x04user\x18\x01 \x01(\x0b\x32!.aruna.api.storage.models.v2.UserR\x04user\".\n\x13\x41\x63tivateUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"\x16\n\x14\x41\x63tivateUserResponse\"\x1d\n\x1bGetNotActivatedUsersRequest\"W\n\x1cGetNotActivatedUsersResponse\x12\x37\n\x05users\x18\x01 \x03(\x0b\x32!.aruna.api.storage.models.v2.UserR\x05users\"\x14\n\x12GetAllUsersRequest\"L\n\x13GetAllUsersResponse\x12\x35\n\x04user\x18\x01 \x03(\x0b\x32!.aruna.api.storage.models.v2.UserR\x04user\"0\n\x15\x44\x65\x61\x63tivateUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\"\x18\n\x16\x44\x65\x61\x63tivateUserResponse\"N\n\x16UpdateUserEmailRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x1b\n\tnew_email\x18\x02 \x01(\tR\x08newEmail\"P\n\x17UpdateUserEmailResponse\x12\x35\n\x04user\x18\x01 \x01(\x0b\x32!.aruna.api.storage.models.v2.UserR\x04user\"W\n\x1bGetS3CredentialsUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x1f\n\x0b\x65ndpoint_id\x18\x02 \x01(\tR\nendpointId\"\x8e\x01\n\x1cGetS3CredentialsUserResponse\x12\"\n\rs3_access_key\x18\x01 \x01(\tR\x0bs3AccessKey\x12\"\n\rs3_secret_key\x18\x02 \x01(\tR\x0bs3SecretKey\x12&\n\x0fs3_endpoint_url\x18\x03 \x01(\tR\rs3EndpointUrl\"\x98\x01\n\x1cGetDataproxyTokenUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x1f\n\x0b\x65ndpoint_id\x18\x02 \x01(\tR\nendpointId\x12>\n\x07\x63ontext\x18\x03 \x01(\x0b\x32$.aruna.api.storage.models.v2.ContextR\x07\x63ontext\"5\n\x1dGetDataproxyTokenUserResponse\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\"!\n\x1fGetPersonalNotificationsRequest\"}\n GetPersonalNotificationsResponse\x12Y\n\rnotifications\x18\x01 \x03(\x0b\x32\x33.aruna.api.storage.services.v2.PersonalNotificationR\rnotifications\"T\n\'AcknowledgePersonalNotificationsRequest\x12)\n\x10notification_ids\x18\x01 \x03(\tR\x0fnotificationIds\"*\n(AcknowledgePersonalNotificationsResponse\"\x8c\x01\n\tReference\x12G\n\x08ref_type\x18\x01 \x01(\x0e\x32,.aruna.api.storage.services.v2.ReferenceTypeR\x07refType\x12\x19\n\x08ref_name\x18\x02 \x01(\tR\x07refName\x12\x1b\n\tref_value\x18\x03 \x01(\tR\x08refValue\"\xd4\x01\n\x14PersonalNotification\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12T\n\x07variant\x18\x02 \x01(\x0e\x32:.aruna.api.storage.services.v2.PersonalNotificationVariantR\x07variant\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12<\n\x04refs\x18\x04 \x03(\x0b\x32(.aruna.api.storage.services.v2.ReferenceR\x04refs*e\n\rReferenceType\x12\x1e\n\x1aREFERENCE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13REFERENCE_TYPE_USER\x10\x01\x12\x1b\n\x17REFERENCE_TYPE_RESOURCE\x10\x02*\xd2\x02\n\x1bPersonalNotificationVariant\x12-\n)PERSONAL_NOTIFICATION_VARIANT_UNSPECIFIED\x10\x00\x12\x32\n.PERSONAL_NOTIFICATION_VARIANT_ACCESS_REQUESTED\x10\x01\x12\x34\n0PERSONAL_NOTIFICATION_VARIANT_PERMISSION_GRANTED\x10\x02\x12\x34\n0PERSONAL_NOTIFICATION_VARIANT_PERMISSION_REVOKED\x10\x03\x12\x34\n0PERSONAL_NOTIFICATION_VARIANT_PERMISSION_UPDATED\x10\x04\x12.\n*PERSONAL_NOTIFICATION_VARIANT_ANNOUNCEMENT\x10\x05\x32\xbc\x17\n\x0bUserService\x12\x95\x01\n\x0cRegisterUser\x12\x32.aruna.api.storage.services.v2.RegisterUserRequest\x1a\x33.aruna.api.storage.services.v2.RegisterUserResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v2/auth/register:\x01*\x12\xa7\x01\n\x0e\x44\x65\x61\x63tivateUser\x12\x34.aruna.api.storage.services.v2.DeactivateUserRequest\x1a\x35.aruna.api.storage.services.v2.DeactivateUserResponse\"(\x82\xd3\xe4\x93\x02\"2\x1d/v2/user/{user_id}/deactivate:\x01*\x12\x9f\x01\n\x0c\x41\x63tivateUser\x12\x32.aruna.api.storage.services.v2.ActivateUserRequest\x1a\x33.aruna.api.storage.services.v2.ActivateUserResponse\"&\x82\xd3\xe4\x93\x02 2\x1b/v2/user/{user_id}/activate:\x01*\x12\x98\x01\n\x0e\x43reateAPIToken\x12\x34.aruna.api.storage.services.v2.CreateAPITokenRequest\x1a\x35.aruna.api.storage.services.v2.CreateAPITokenResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v2/auth/token:\x01*\x12\x97\x01\n\x0bGetAPIToken\x12\x31.aruna.api.storage.services.v2.GetAPITokenRequest\x1a\x32.aruna.api.storage.services.v2.GetAPITokenResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v2/auth/token/{token_id}\x12\x90\x01\n\x0cGetAPITokens\x12\x32.aruna.api.storage.services.v2.GetAPITokensRequest\x1a\x33.aruna.api.storage.services.v2.GetAPITokensResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/v2/auth/tokens\x12\xa0\x01\n\x0e\x44\x65leteAPIToken\x12\x34.aruna.api.storage.services.v2.DeleteAPITokenRequest\x1a\x35.aruna.api.storage.services.v2.DeleteAPITokenResponse\"!\x82\xd3\xe4\x93\x02\x1b*\x19/v2/auth/token/{token_id}\x12\x99\x01\n\x0f\x44\x65leteAPITokens\x12\x35.aruna.api.storage.services.v2.DeleteAPITokensRequest\x1a\x36.aruna.api.storage.services.v2.DeleteAPITokensResponse\"\x17\x82\xd3\xe4\x93\x02\x11*\x0f/v2/auth/tokens\x12z\n\x07GetUser\x12-.aruna.api.storage.services.v2.GetUserRequest\x1a..aruna.api.storage.services.v2.GetUserResponse\"\x10\x82\xd3\xe4\x93\x02\n\x12\x08/v2/user\x12\x9b\x01\n\x0fGetUserRedacted\x12\x35.aruna.api.storage.services.v2.GetUserRedactedRequest\x1a\x36.aruna.api.storage.services.v2.GetUserRedactedResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/v2/user/redacted\x12\xb4\x01\n\x15UpdateUserDisplayName\x12;.aruna.api.storage.services.v2.UpdateUserDisplayNameRequest\x1a<.aruna.api.storage.services.v2.UpdateUserDisplayNameResponse\" \x82\xd3\xe4\x93\x02\x1a\x32\x15/v2/user/display_name:\x01*\x12\xa5\x01\n\x0fUpdateUserEmail\x12\x35.aruna.api.storage.services.v2.UpdateUserEmailRequest\x1a\x36.aruna.api.storage.services.v2.UpdateUserEmailResponse\"#\x82\xd3\xe4\x93\x02\x1d\x32\x18/v2/user/{user_id}/email:\x01*\x12\xaf\x01\n\x14GetNotActivatedUsers\x12:.aruna.api.storage.services.v2.GetNotActivatedUsersRequest\x1a;.aruna.api.storage.services.v2.GetNotActivatedUsersResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/user/not_activated\x12\x8a\x01\n\x0bGetAllUsers\x12\x31.aruna.api.storage.services.v2.GetAllUsersRequest\x1a\x32.aruna.api.storage.services.v2.GetAllUsersResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v2/user/all\x12\xba\x01\n\x14GetS3CredentialsUser\x12:.aruna.api.storage.services.v2.GetS3CredentialsUserRequest\x1a;.aruna.api.storage.services.v2.GetS3CredentialsUserResponse\")\x82\xd3\xe4\x93\x02#\x12!/v2/user/{user_id}/s3_credentials\x12\xba\x01\n\x15GetDataproxyTokenUser\x12;.aruna.api.storage.services.v2.GetDataproxyTokenUserRequest\x1a<.aruna.api.storage.services.v2.GetDataproxyTokenUserResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/user/{user_id}/proxy_token\x12\xbb\x01\n\x18GetPersonalNotifications\x12>.aruna.api.storage.services.v2.GetPersonalNotificationsRequest\x1a?.aruna.api.storage.services.v2.GetPersonalNotificationsResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/user/notifications\x12\xd1\x01\n AcknowledgePersonalNotifications\x12\x46.aruna.api.storage.services.v2.AcknowledgePersonalNotificationsRequest\x1aG.aruna.api.storage.services.v2.AcknowledgePersonalNotificationsResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v2/user/acknowledgeB\x8d\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x0bUserServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\013UserServiceP\001Z None: ... + +class RegisterUserResponse(_message.Message): + __slots__ = ["user_id"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + user_id: str + def __init__(self, user_id: _Optional[str] = ...) -> None: ... + +class CreateAPITokenRequest(_message.Message): + __slots__ = ["name", "permission", "expires_at"] + NAME_FIELD_NUMBER: _ClassVar[int] + PERMISSION_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + name: str + permission: _models_pb2.Permission + expires_at: _timestamp_pb2.Timestamp + def __init__(self, name: _Optional[str] = ..., permission: _Optional[_Union[_models_pb2.Permission, _Mapping]] = ..., expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class CreateAPITokenResponse(_message.Message): + __slots__ = ["token", "token_secret"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + TOKEN_SECRET_FIELD_NUMBER: _ClassVar[int] + token: _models_pb2.Token + token_secret: str + def __init__(self, token: _Optional[_Union[_models_pb2.Token, _Mapping]] = ..., token_secret: _Optional[str] = ...) -> None: ... + +class GetAPITokenRequest(_message.Message): + __slots__ = ["token_id"] + TOKEN_ID_FIELD_NUMBER: _ClassVar[int] + token_id: str + def __init__(self, token_id: _Optional[str] = ...) -> None: ... + +class GetAPITokenResponse(_message.Message): + __slots__ = ["token"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: _models_pb2.Token + def __init__(self, token: _Optional[_Union[_models_pb2.Token, _Mapping]] = ...) -> None: ... + +class GetAPITokensRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetAPITokensResponse(_message.Message): + __slots__ = ["token"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: _containers.RepeatedCompositeFieldContainer[_models_pb2.Token] + def __init__(self, token: _Optional[_Iterable[_Union[_models_pb2.Token, _Mapping]]] = ...) -> None: ... + +class DeleteAPITokenRequest(_message.Message): + __slots__ = ["token_id"] + TOKEN_ID_FIELD_NUMBER: _ClassVar[int] + token_id: str + def __init__(self, token_id: _Optional[str] = ...) -> None: ... + +class DeleteAPITokenResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class DeleteAPITokensRequest(_message.Message): + __slots__ = ["user_id"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + user_id: str + def __init__(self, user_id: _Optional[str] = ...) -> None: ... + +class DeleteAPITokensResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetUserRequest(_message.Message): + __slots__ = ["user_id"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + user_id: str + def __init__(self, user_id: _Optional[str] = ...) -> None: ... + +class GetUserResponse(_message.Message): + __slots__ = ["user"] + USER_FIELD_NUMBER: _ClassVar[int] + user: _models_pb2.User + def __init__(self, user: _Optional[_Union[_models_pb2.User, _Mapping]] = ...) -> None: ... + +class GetUserRedactedRequest(_message.Message): + __slots__ = ["user_id"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + user_id: str + def __init__(self, user_id: _Optional[str] = ...) -> None: ... + +class GetUserRedactedResponse(_message.Message): + __slots__ = ["user"] + USER_FIELD_NUMBER: _ClassVar[int] + user: _models_pb2.User + def __init__(self, user: _Optional[_Union[_models_pb2.User, _Mapping]] = ...) -> None: ... + +class UpdateUserDisplayNameRequest(_message.Message): + __slots__ = ["new_display_name"] + NEW_DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] + new_display_name: str + def __init__(self, new_display_name: _Optional[str] = ...) -> None: ... + +class UpdateUserDisplayNameResponse(_message.Message): + __slots__ = ["user"] + USER_FIELD_NUMBER: _ClassVar[int] + user: _models_pb2.User + def __init__(self, user: _Optional[_Union[_models_pb2.User, _Mapping]] = ...) -> None: ... + +class ActivateUserRequest(_message.Message): + __slots__ = ["user_id"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + user_id: str + def __init__(self, user_id: _Optional[str] = ...) -> None: ... + +class ActivateUserResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetNotActivatedUsersRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetNotActivatedUsersResponse(_message.Message): + __slots__ = ["users"] + USERS_FIELD_NUMBER: _ClassVar[int] + users: _containers.RepeatedCompositeFieldContainer[_models_pb2.User] + def __init__(self, users: _Optional[_Iterable[_Union[_models_pb2.User, _Mapping]]] = ...) -> None: ... + +class GetAllUsersRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetAllUsersResponse(_message.Message): + __slots__ = ["user"] + USER_FIELD_NUMBER: _ClassVar[int] + user: _containers.RepeatedCompositeFieldContainer[_models_pb2.User] + def __init__(self, user: _Optional[_Iterable[_Union[_models_pb2.User, _Mapping]]] = ...) -> None: ... + +class DeactivateUserRequest(_message.Message): + __slots__ = ["user_id"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + user_id: str + def __init__(self, user_id: _Optional[str] = ...) -> None: ... + +class DeactivateUserResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class UpdateUserEmailRequest(_message.Message): + __slots__ = ["user_id", "new_email"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + NEW_EMAIL_FIELD_NUMBER: _ClassVar[int] + user_id: str + new_email: str + def __init__(self, user_id: _Optional[str] = ..., new_email: _Optional[str] = ...) -> None: ... + +class UpdateUserEmailResponse(_message.Message): + __slots__ = ["user"] + USER_FIELD_NUMBER: _ClassVar[int] + user: _models_pb2.User + def __init__(self, user: _Optional[_Union[_models_pb2.User, _Mapping]] = ...) -> None: ... + +class GetS3CredentialsUserRequest(_message.Message): + __slots__ = ["user_id", "endpoint_id"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int] + user_id: str + endpoint_id: str + def __init__(self, user_id: _Optional[str] = ..., endpoint_id: _Optional[str] = ...) -> None: ... + +class GetS3CredentialsUserResponse(_message.Message): + __slots__ = ["s3_access_key", "s3_secret_key", "s3_endpoint_url"] + S3_ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + S3_SECRET_KEY_FIELD_NUMBER: _ClassVar[int] + S3_ENDPOINT_URL_FIELD_NUMBER: _ClassVar[int] + s3_access_key: str + s3_secret_key: str + s3_endpoint_url: str + def __init__(self, s3_access_key: _Optional[str] = ..., s3_secret_key: _Optional[str] = ..., s3_endpoint_url: _Optional[str] = ...) -> None: ... + +class GetDataproxyTokenUserRequest(_message.Message): + __slots__ = ["user_id", "endpoint_id", "context"] + USER_ID_FIELD_NUMBER: _ClassVar[int] + ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int] + CONTEXT_FIELD_NUMBER: _ClassVar[int] + user_id: str + endpoint_id: str + context: _models_pb2.Context + def __init__(self, user_id: _Optional[str] = ..., endpoint_id: _Optional[str] = ..., context: _Optional[_Union[_models_pb2.Context, _Mapping]] = ...) -> None: ... + +class GetDataproxyTokenUserResponse(_message.Message): + __slots__ = ["token"] + TOKEN_FIELD_NUMBER: _ClassVar[int] + token: str + def __init__(self, token: _Optional[str] = ...) -> None: ... + +class GetPersonalNotificationsRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class GetPersonalNotificationsResponse(_message.Message): + __slots__ = ["notifications"] + NOTIFICATIONS_FIELD_NUMBER: _ClassVar[int] + notifications: _containers.RepeatedCompositeFieldContainer[PersonalNotification] + def __init__(self, notifications: _Optional[_Iterable[_Union[PersonalNotification, _Mapping]]] = ...) -> None: ... + +class AcknowledgePersonalNotificationsRequest(_message.Message): + __slots__ = ["notification_ids"] + NOTIFICATION_IDS_FIELD_NUMBER: _ClassVar[int] + notification_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, notification_ids: _Optional[_Iterable[str]] = ...) -> None: ... + +class AcknowledgePersonalNotificationsResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class Reference(_message.Message): + __slots__ = ["ref_type", "ref_name", "ref_value"] + REF_TYPE_FIELD_NUMBER: _ClassVar[int] + REF_NAME_FIELD_NUMBER: _ClassVar[int] + REF_VALUE_FIELD_NUMBER: _ClassVar[int] + ref_type: ReferenceType + ref_name: str + ref_value: str + def __init__(self, ref_type: _Optional[_Union[ReferenceType, str]] = ..., ref_name: _Optional[str] = ..., ref_value: _Optional[str] = ...) -> None: ... + +class PersonalNotification(_message.Message): + __slots__ = ["id", "variant", "message", "refs"] + ID_FIELD_NUMBER: _ClassVar[int] + VARIANT_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + REFS_FIELD_NUMBER: _ClassVar[int] + id: str + variant: PersonalNotificationVariant + message: str + refs: _containers.RepeatedCompositeFieldContainer[Reference] + def __init__(self, id: _Optional[str] = ..., variant: _Optional[_Union[PersonalNotificationVariant, str]] = ..., message: _Optional[str] = ..., refs: _Optional[_Iterable[_Union[Reference, _Mapping]]] = ...) -> None: ... diff --git a/aruna/api/storage/services/v2/user_service_pb2_grpc.py b/aruna/api/storage/services/v2/user_service_pb2_grpc.py new file mode 100644 index 0000000..680bad2 --- /dev/null +++ b/aruna/api/storage/services/v2/user_service_pb2_grpc.py @@ -0,0 +1,732 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import user_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2 + + +class UserServiceStub(object): + """UserService + + Contains all methods that get/create or update Users and associated resource + including all autorization methods + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.RegisterUser = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/RegisterUser', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.RegisterUserRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.RegisterUserResponse.FromString, + ) + self.DeactivateUser = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/DeactivateUser', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeactivateUserRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeactivateUserResponse.FromString, + ) + self.ActivateUser = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/ActivateUser', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.ActivateUserRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.ActivateUserResponse.FromString, + ) + self.CreateAPIToken = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/CreateAPIToken', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.CreateAPITokenRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.CreateAPITokenResponse.FromString, + ) + self.GetAPIToken = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/GetAPIToken', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokenRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokenResponse.FromString, + ) + self.GetAPITokens = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/GetAPITokens', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokensRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokensResponse.FromString, + ) + self.DeleteAPIToken = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/DeleteAPIToken', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokenRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokenResponse.FromString, + ) + self.DeleteAPITokens = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/DeleteAPITokens', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokensRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokensResponse.FromString, + ) + self.GetUser = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/GetUser', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserResponse.FromString, + ) + self.GetUserRedacted = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/GetUserRedacted', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserRedactedRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserRedactedResponse.FromString, + ) + self.UpdateUserDisplayName = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/UpdateUserDisplayName', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserDisplayNameRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserDisplayNameResponse.FromString, + ) + self.UpdateUserEmail = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/UpdateUserEmail', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserEmailRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserEmailResponse.FromString, + ) + self.GetNotActivatedUsers = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/GetNotActivatedUsers', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetNotActivatedUsersRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetNotActivatedUsersResponse.FromString, + ) + self.GetAllUsers = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/GetAllUsers', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAllUsersRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAllUsersResponse.FromString, + ) + self.GetS3CredentialsUser = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/GetS3CredentialsUser', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetS3CredentialsUserRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetS3CredentialsUserResponse.FromString, + ) + self.GetDataproxyTokenUser = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/GetDataproxyTokenUser', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetDataproxyTokenUserRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetDataproxyTokenUserResponse.FromString, + ) + self.GetPersonalNotifications = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/GetPersonalNotifications', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetPersonalNotificationsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetPersonalNotificationsResponse.FromString, + ) + self.AcknowledgePersonalNotifications = channel.unary_unary( + '/aruna.api.storage.services.v2.UserService/AcknowledgePersonalNotifications', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.AcknowledgePersonalNotificationsRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.AcknowledgePersonalNotificationsResponse.FromString, + ) + + +class UserServiceServicer(object): + """UserService + + Contains all methods that get/create or update Users and associated resource + including all autorization methods + """ + + def RegisterUser(self, request, context): + """RegisterUser + + Status: BETA + + This request should be called when a new user logs in for the first time + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeactivateUser(self, request, context): + """DeActivateUser + + Status: BETA + + This deactivates a specific user (Admin request) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ActivateUser(self, request, context): + """ActivateUser + + Status: BETA + + This activates a specific user (Admin request) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateAPIToken(self, request, context): + """CreateAPIToken + + Status: BETA + + Creates an API token to authenticate + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAPIToken(self, request, context): + """GetAPIToken + + Status: BETA + + Returns one API token by id + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAPITokens(self, request, context): + """GetAPITokens + + Status: STABLE + + Returns a list of API tokens for a specific user + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteAPIToken(self, request, context): + """DeleteAPIToken + + Status: STABLE + + Deletes the specified API Token + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteAPITokens(self, request, context): + """DeleteAPITokens + + Status: BETA + + Deletes the specified API Token + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetUser(self, request, context): + """GetUserRequest + + Status: STABLE + + This is a request that returns the user information of the + current user or if invoked by an admin from another user + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetUserRedacted(self, request, context): + """GetUserRequestRedacted + + Status: STABLE + + This is a request that returns the user information of the + current user or if invoked by an admin from another user + Redacts personal information like name or email + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateUserDisplayName(self, request, context): + """UpdateUserDisplayName + + Status: STABLE + + Updates the Displayname for the user (Personal only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateUserEmail(self, request, context): + """UpdateUserDisplayName + + Status: ALPHA + + Updates the email for the user (Personal only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetNotActivatedUsers(self, request, context): + """GetNotActivatedUsers + + Status: STABLE + + Get all not activated users (Admin only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAllUsers(self, request, context): + """GetAllUsers + + Status: ALPHA + + Get all users including permissions (Admin only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetS3CredentialsUser(self, request, context): + """GetS3Credentials + + Status: ALPHA + + Gets s3 credentials for a specific user and data_proxy + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDataproxyTokenUser(self, request, context): + """GetDataproxyToken + + Status: ALPHA + + Gets token for a specific user and data_proxy + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetPersonalNotifications(self, request, context): + """GetPersonalNotifications + + Status: ALPHA + + Fetches personal notifications + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AcknowledgePersonalNotifications(self, request, context): + """AcknowledgePersonalNotifications + + Status: ALPHA + + Acknowledges personal notifications + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_UserServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'RegisterUser': grpc.unary_unary_rpc_method_handler( + servicer.RegisterUser, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.RegisterUserRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.RegisterUserResponse.SerializeToString, + ), + 'DeactivateUser': grpc.unary_unary_rpc_method_handler( + servicer.DeactivateUser, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeactivateUserRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeactivateUserResponse.SerializeToString, + ), + 'ActivateUser': grpc.unary_unary_rpc_method_handler( + servicer.ActivateUser, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.ActivateUserRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.ActivateUserResponse.SerializeToString, + ), + 'CreateAPIToken': grpc.unary_unary_rpc_method_handler( + servicer.CreateAPIToken, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.CreateAPITokenRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.CreateAPITokenResponse.SerializeToString, + ), + 'GetAPIToken': grpc.unary_unary_rpc_method_handler( + servicer.GetAPIToken, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokenRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokenResponse.SerializeToString, + ), + 'GetAPITokens': grpc.unary_unary_rpc_method_handler( + servicer.GetAPITokens, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokensRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokensResponse.SerializeToString, + ), + 'DeleteAPIToken': grpc.unary_unary_rpc_method_handler( + servicer.DeleteAPIToken, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokenRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokenResponse.SerializeToString, + ), + 'DeleteAPITokens': grpc.unary_unary_rpc_method_handler( + servicer.DeleteAPITokens, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokensRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokensResponse.SerializeToString, + ), + 'GetUser': grpc.unary_unary_rpc_method_handler( + servicer.GetUser, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserResponse.SerializeToString, + ), + 'GetUserRedacted': grpc.unary_unary_rpc_method_handler( + servicer.GetUserRedacted, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserRedactedRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserRedactedResponse.SerializeToString, + ), + 'UpdateUserDisplayName': grpc.unary_unary_rpc_method_handler( + servicer.UpdateUserDisplayName, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserDisplayNameRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserDisplayNameResponse.SerializeToString, + ), + 'UpdateUserEmail': grpc.unary_unary_rpc_method_handler( + servicer.UpdateUserEmail, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserEmailRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserEmailResponse.SerializeToString, + ), + 'GetNotActivatedUsers': grpc.unary_unary_rpc_method_handler( + servicer.GetNotActivatedUsers, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetNotActivatedUsersRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetNotActivatedUsersResponse.SerializeToString, + ), + 'GetAllUsers': grpc.unary_unary_rpc_method_handler( + servicer.GetAllUsers, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAllUsersRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAllUsersResponse.SerializeToString, + ), + 'GetS3CredentialsUser': grpc.unary_unary_rpc_method_handler( + servicer.GetS3CredentialsUser, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetS3CredentialsUserRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetS3CredentialsUserResponse.SerializeToString, + ), + 'GetDataproxyTokenUser': grpc.unary_unary_rpc_method_handler( + servicer.GetDataproxyTokenUser, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetDataproxyTokenUserRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetDataproxyTokenUserResponse.SerializeToString, + ), + 'GetPersonalNotifications': grpc.unary_unary_rpc_method_handler( + servicer.GetPersonalNotifications, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetPersonalNotificationsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetPersonalNotificationsResponse.SerializeToString, + ), + 'AcknowledgePersonalNotifications': grpc.unary_unary_rpc_method_handler( + servicer.AcknowledgePersonalNotifications, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.AcknowledgePersonalNotificationsRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.AcknowledgePersonalNotificationsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.UserService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class UserService(object): + """UserService + + Contains all methods that get/create or update Users and associated resource + including all autorization methods + """ + + @staticmethod + def RegisterUser(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/RegisterUser', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.RegisterUserRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.RegisterUserResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeactivateUser(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/DeactivateUser', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeactivateUserRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeactivateUserResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ActivateUser(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/ActivateUser', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.ActivateUserRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.ActivateUserResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateAPIToken(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/CreateAPIToken', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.CreateAPITokenRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.CreateAPITokenResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetAPIToken(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/GetAPIToken', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokenRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokenResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetAPITokens(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/GetAPITokens', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokensRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAPITokensResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteAPIToken(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/DeleteAPIToken', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokenRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokenResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteAPITokens(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/DeleteAPITokens', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokensRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.DeleteAPITokensResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetUser(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/GetUser', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetUserRedacted(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/GetUserRedacted', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserRedactedRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetUserRedactedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateUserDisplayName(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/UpdateUserDisplayName', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserDisplayNameRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserDisplayNameResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateUserEmail(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/UpdateUserEmail', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserEmailRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.UpdateUserEmailResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetNotActivatedUsers(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/GetNotActivatedUsers', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetNotActivatedUsersRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetNotActivatedUsersResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetAllUsers(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/GetAllUsers', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAllUsersRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetAllUsersResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetS3CredentialsUser(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/GetS3CredentialsUser', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetS3CredentialsUserRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetS3CredentialsUserResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDataproxyTokenUser(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/GetDataproxyTokenUser', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetDataproxyTokenUserRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetDataproxyTokenUserResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetPersonalNotifications(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/GetPersonalNotifications', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetPersonalNotificationsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.GetPersonalNotificationsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AcknowledgePersonalNotifications(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.UserService/AcknowledgePersonalNotifications', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.AcknowledgePersonalNotificationsRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_user__service__pb2.AcknowledgePersonalNotificationsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/aruna/api/storage/services/v2/workspace_service.pb.gw.go b/aruna/api/storage/services/v2/workspace_service.pb.gw.go new file mode 100644 index 0000000..2377623 --- /dev/null +++ b/aruna/api/storage/services/v2/workspace_service.pb.gw.go @@ -0,0 +1,785 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: aruna/api/storage/services/v2/workspace_service.proto + +/* +Package v2 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v2 + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_WorkspaceService_CreateWorkspaceTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client WorkspaceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateWorkspaceTemplateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateWorkspaceTemplate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkspaceService_CreateWorkspaceTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server WorkspaceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateWorkspaceTemplateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateWorkspaceTemplate(ctx, &protoReq) + return msg, metadata, err + +} + +func request_WorkspaceService_GetWorkspaceTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client WorkspaceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetWorkspaceTemplateRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["template_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "template_id") + } + + protoReq.TemplateId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "template_id", err) + } + + msg, err := client.GetWorkspaceTemplate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkspaceService_GetWorkspaceTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server WorkspaceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetWorkspaceTemplateRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["template_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "template_id") + } + + protoReq.TemplateId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "template_id", err) + } + + msg, err := server.GetWorkspaceTemplate(ctx, &protoReq) + return msg, metadata, err + +} + +func request_WorkspaceService_ListOwnedWorkspaceTemplates_0(ctx context.Context, marshaler runtime.Marshaler, client WorkspaceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListOwnedWorkspaceTemplatesRequest + var metadata runtime.ServerMetadata + + msg, err := client.ListOwnedWorkspaceTemplates(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkspaceService_ListOwnedWorkspaceTemplates_0(ctx context.Context, marshaler runtime.Marshaler, server WorkspaceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListOwnedWorkspaceTemplatesRequest + var metadata runtime.ServerMetadata + + msg, err := server.ListOwnedWorkspaceTemplates(ctx, &protoReq) + return msg, metadata, err + +} + +func request_WorkspaceService_DeleteWorkspaceTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client WorkspaceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteWorkspaceTemplateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["template_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "template_id") + } + + protoReq.TemplateId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "template_id", err) + } + + msg, err := client.DeleteWorkspaceTemplate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkspaceService_DeleteWorkspaceTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server WorkspaceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteWorkspaceTemplateRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["template_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "template_id") + } + + protoReq.TemplateId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "template_id", err) + } + + msg, err := server.DeleteWorkspaceTemplate(ctx, &protoReq) + return msg, metadata, err + +} + +func request_WorkspaceService_CreateWorkspace_0(ctx context.Context, marshaler runtime.Marshaler, client WorkspaceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateWorkspaceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateWorkspace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkspaceService_CreateWorkspace_0(ctx context.Context, marshaler runtime.Marshaler, server WorkspaceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateWorkspaceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateWorkspace(ctx, &protoReq) + return msg, metadata, err + +} + +func request_WorkspaceService_DeleteWorkspace_0(ctx context.Context, marshaler runtime.Marshaler, client WorkspaceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteWorkspaceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["workspace_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace_id") + } + + protoReq.WorkspaceId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace_id", err) + } + + msg, err := client.DeleteWorkspace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkspaceService_DeleteWorkspace_0(ctx context.Context, marshaler runtime.Marshaler, server WorkspaceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteWorkspaceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["workspace_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace_id") + } + + protoReq.WorkspaceId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace_id", err) + } + + msg, err := server.DeleteWorkspace(ctx, &protoReq) + return msg, metadata, err + +} + +func request_WorkspaceService_ClaimWorkspace_0(ctx context.Context, marshaler runtime.Marshaler, client WorkspaceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ClaimWorkspaceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["workspace_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace_id") + } + + protoReq.WorkspaceId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace_id", err) + } + + msg, err := client.ClaimWorkspace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkspaceService_ClaimWorkspace_0(ctx context.Context, marshaler runtime.Marshaler, server WorkspaceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ClaimWorkspaceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["workspace_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workspace_id") + } + + protoReq.WorkspaceId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workspace_id", err) + } + + msg, err := server.ClaimWorkspace(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterWorkspaceServiceHandlerServer registers the http handlers for service WorkspaceService to "mux". +// UnaryRPC :call WorkspaceServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterWorkspaceServiceHandlerFromEndpoint instead. +func RegisterWorkspaceServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server WorkspaceServiceServer) error { + + mux.Handle("POST", pattern_WorkspaceService_CreateWorkspaceTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/CreateWorkspaceTemplate", runtime.WithHTTPPathPattern("/v2/workspace/template")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkspaceService_CreateWorkspaceTemplate_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_CreateWorkspaceTemplate_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_WorkspaceService_GetWorkspaceTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/GetWorkspaceTemplate", runtime.WithHTTPPathPattern("/v2/workspace/template/{template_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkspaceService_GetWorkspaceTemplate_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_GetWorkspaceTemplate_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_WorkspaceService_ListOwnedWorkspaceTemplates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/ListOwnedWorkspaceTemplates", runtime.WithHTTPPathPattern("/v2/workspace/template")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkspaceService_ListOwnedWorkspaceTemplates_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_ListOwnedWorkspaceTemplates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_WorkspaceService_DeleteWorkspaceTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/DeleteWorkspaceTemplate", runtime.WithHTTPPathPattern("/v2/workspace/template/{template_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkspaceService_DeleteWorkspaceTemplate_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_DeleteWorkspaceTemplate_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_WorkspaceService_CreateWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/CreateWorkspace", runtime.WithHTTPPathPattern("/v2/workspace")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkspaceService_CreateWorkspace_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_CreateWorkspace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_WorkspaceService_DeleteWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/DeleteWorkspace", runtime.WithHTTPPathPattern("/v2/workspace/{workspace_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkspaceService_DeleteWorkspace_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_DeleteWorkspace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_WorkspaceService_ClaimWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/ClaimWorkspace", runtime.WithHTTPPathPattern("/v2/workspace/{workspace_id}/claim")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkspaceService_ClaimWorkspace_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_ClaimWorkspace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterWorkspaceServiceHandlerFromEndpoint is same as RegisterWorkspaceServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterWorkspaceServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterWorkspaceServiceHandler(ctx, mux, conn) +} + +// RegisterWorkspaceServiceHandler registers the http handlers for service WorkspaceService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterWorkspaceServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterWorkspaceServiceHandlerClient(ctx, mux, NewWorkspaceServiceClient(conn)) +} + +// RegisterWorkspaceServiceHandlerClient registers the http handlers for service WorkspaceService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "WorkspaceServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "WorkspaceServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "WorkspaceServiceClient" to call the correct interceptors. +func RegisterWorkspaceServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WorkspaceServiceClient) error { + + mux.Handle("POST", pattern_WorkspaceService_CreateWorkspaceTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/CreateWorkspaceTemplate", runtime.WithHTTPPathPattern("/v2/workspace/template")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkspaceService_CreateWorkspaceTemplate_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_CreateWorkspaceTemplate_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_WorkspaceService_GetWorkspaceTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/GetWorkspaceTemplate", runtime.WithHTTPPathPattern("/v2/workspace/template/{template_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkspaceService_GetWorkspaceTemplate_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_GetWorkspaceTemplate_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_WorkspaceService_ListOwnedWorkspaceTemplates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/ListOwnedWorkspaceTemplates", runtime.WithHTTPPathPattern("/v2/workspace/template")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkspaceService_ListOwnedWorkspaceTemplates_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_ListOwnedWorkspaceTemplates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_WorkspaceService_DeleteWorkspaceTemplate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/DeleteWorkspaceTemplate", runtime.WithHTTPPathPattern("/v2/workspace/template/{template_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkspaceService_DeleteWorkspaceTemplate_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_DeleteWorkspaceTemplate_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_WorkspaceService_CreateWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/CreateWorkspace", runtime.WithHTTPPathPattern("/v2/workspace")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkspaceService_CreateWorkspace_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_CreateWorkspace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_WorkspaceService_DeleteWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/DeleteWorkspace", runtime.WithHTTPPathPattern("/v2/workspace/{workspace_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkspaceService_DeleteWorkspace_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_DeleteWorkspace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_WorkspaceService_ClaimWorkspace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/aruna.api.storage.services.v2.WorkspaceService/ClaimWorkspace", runtime.WithHTTPPathPattern("/v2/workspace/{workspace_id}/claim")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkspaceService_ClaimWorkspace_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkspaceService_ClaimWorkspace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_WorkspaceService_CreateWorkspaceTemplate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "workspace", "template"}, "")) + + pattern_WorkspaceService_GetWorkspaceTemplate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v2", "workspace", "template", "template_id"}, "")) + + pattern_WorkspaceService_ListOwnedWorkspaceTemplates_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v2", "workspace", "template"}, "")) + + pattern_WorkspaceService_DeleteWorkspaceTemplate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v2", "workspace", "template", "template_id"}, "")) + + pattern_WorkspaceService_CreateWorkspace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v2", "workspace"}, "")) + + pattern_WorkspaceService_DeleteWorkspace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v2", "workspace", "workspace_id"}, "")) + + pattern_WorkspaceService_ClaimWorkspace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v2", "workspace", "workspace_id", "claim"}, "")) +) + +var ( + forward_WorkspaceService_CreateWorkspaceTemplate_0 = runtime.ForwardResponseMessage + + forward_WorkspaceService_GetWorkspaceTemplate_0 = runtime.ForwardResponseMessage + + forward_WorkspaceService_ListOwnedWorkspaceTemplates_0 = runtime.ForwardResponseMessage + + forward_WorkspaceService_DeleteWorkspaceTemplate_0 = runtime.ForwardResponseMessage + + forward_WorkspaceService_CreateWorkspace_0 = runtime.ForwardResponseMessage + + forward_WorkspaceService_DeleteWorkspace_0 = runtime.ForwardResponseMessage + + forward_WorkspaceService_ClaimWorkspace_0 = runtime.ForwardResponseMessage +) diff --git a/aruna/api/storage/services/v2/workspace_service_pb2.py b/aruna/api/storage/services/v2/workspace_service_pb2.py new file mode 100644 index 0000000..73c5b25 --- /dev/null +++ b/aruna/api/storage/services/v2/workspace_service_pb2.py @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: aruna/api/storage/services/v2/workspace_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5aruna/api/storage/services/v2/workspace_service.proto\x12\x1d\x61runa.api.storage.services.v2\x1a\x1cgoogle/api/annotations.proto\"\xc5\x01\n\x1e\x43reateWorkspaceTemplateRequest\x12\x19\n\x08owner_id\x18\x01 \x01(\tR\x07ownerId\x12\x16\n\x06prefix\x18\x02 \x01(\tR\x06prefix\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x19\n\x08hook_ids\x18\x05 \x03(\tR\x07hookIds\x12 \n\x0b\x64\x65scription\x18\x06 \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0b\x65ndpoint_id\x18\x07 \x03(\tR\nendpointId\"B\n\x1f\x43reateWorkspaceTemplateResponse\x12\x1f\n\x0btemplate_id\x18\x01 \x01(\tR\ntemplateId\">\n\x1bGetWorkspaceTemplateRequest\x12\x1f\n\x0btemplate_id\x18\x01 \x01(\tR\ntemplateId\"j\n\x1cGetWorkspaceTemplateResponse\x12J\n\tworkspace\x18\x01 \x01(\x0b\x32,.aruna.api.storage.services.v2.WorkspaceInfoR\tworkspace\"A\n\x1e\x44\x65leteWorkspaceTemplateRequest\x12\x1f\n\x0btemplate_id\x18\x01 \x01(\tR\ntemplateId\"!\n\x1f\x44\x65leteWorkspaceTemplateResponse\"$\n\"ListOwnedWorkspaceTemplatesRequest\"s\n#ListOwnedWorkspaceTemplatesResponse\x12L\n\nworkspaces\x18\x01 \x03(\x0b\x32,.aruna.api.storage.services.v2.WorkspaceInfoR\nworkspaces\"\xd4\x01\n\rWorkspaceInfo\x12!\n\x0cworkspace_id\x18\x01 \x01(\tR\x0bworkspaceId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x14\n\x05owner\x18\x04 \x01(\tR\x05owner\x12\x16\n\x06prefix\x18\x05 \x01(\tR\x06prefix\x12\x19\n\x08hook_ids\x18\x06 \x01(\tR\x07hookIds\x12!\n\x0c\x65ndpoint_ids\x18\x07 \x01(\tR\x0b\x65ndpointIds\"i\n\x16\x43reateWorkspaceRequest\x12-\n\x12workspace_template\x18\x01 \x01(\tR\x11workspaceTemplate\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\"\x90\x01\n\x17\x43reateWorkspaceResponse\x12!\n\x0cworkspace_id\x18\x01 \x01(\tR\x0bworkspaceId\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12\x1d\n\naccess_key\x18\x03 \x01(\tR\taccessKey\x12\x1d\n\nsecret_key\x18\x04 \x01(\tR\tsecretKey\";\n\x16\x44\x65leteWorkspaceRequest\x12!\n\x0cworkspace_id\x18\x01 \x01(\tR\x0bworkspaceId\"\x19\n\x17\x44\x65leteWorkspaceResponse\"P\n\x15\x43laimWorkspaceRequest\x12!\n\x0cworkspace_id\x18\x01 \x01(\tR\x0bworkspaceId\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\x18\n\x16\x43laimWorkspaceResponse2\x9b\n\n\x10WorkspaceService\x12\xbb\x01\n\x17\x43reateWorkspaceTemplate\x12=.aruna.api.storage.services.v2.CreateWorkspaceTemplateRequest\x1a>.aruna.api.storage.services.v2.CreateWorkspaceTemplateResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v2/workspace/template:\x01*\x12\xbd\x01\n\x14GetWorkspaceTemplate\x12:.aruna.api.storage.services.v2.GetWorkspaceTemplateRequest\x1a;.aruna.api.storage.services.v2.GetWorkspaceTemplateResponse\",\x82\xd3\xe4\x93\x02&\x12$/v2/workspace/template/{template_id}\x12\xc4\x01\n\x1bListOwnedWorkspaceTemplates\x12\x41.aruna.api.storage.services.v2.ListOwnedWorkspaceTemplatesRequest\x1a\x42.aruna.api.storage.services.v2.ListOwnedWorkspaceTemplatesResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/workspace/template\x12\xc9\x01\n\x17\x44\x65leteWorkspaceTemplate\x12=.aruna.api.storage.services.v2.DeleteWorkspaceTemplateRequest\x1a>.aruna.api.storage.services.v2.DeleteWorkspaceTemplateResponse\"/\x82\xd3\xe4\x93\x02)*$/v2/workspace/template/{template_id}:\x01*\x12\x9a\x01\n\x0f\x43reateWorkspace\x12\x35.aruna.api.storage.services.v2.CreateWorkspaceRequest\x1a\x36.aruna.api.storage.services.v2.CreateWorkspaceResponse\"\x18\x82\xd3\xe4\x93\x02\x12\"\r/v2/workspace:\x01*\x12\xa9\x01\n\x0f\x44\x65leteWorkspace\x12\x35.aruna.api.storage.services.v2.DeleteWorkspaceRequest\x1a\x36.aruna.api.storage.services.v2.DeleteWorkspaceResponse\"\'\x82\xd3\xe4\x93\x02!*\x1c/v2/workspace/{workspace_id}:\x01*\x12\xac\x01\n\x0e\x43laimWorkspace\x12\x34.aruna.api.storage.services.v2.ClaimWorkspaceRequest\x1a\x35.aruna.api.storage.services.v2.ClaimWorkspaceResponse\"-\x82\xd3\xe4\x93\x02\'\"\"/v2/workspace/{workspace_id}/claim:\x01*B\x92\x01\n>com.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\x10WorkspaceServiceP\x01Zcom.github.ArunaStorage.java_api.aruna.api.storage.services.v2B\020WorkspaceServiceP\001Z None: ... + +class CreateWorkspaceTemplateResponse(_message.Message): + __slots__ = ["template_id"] + TEMPLATE_ID_FIELD_NUMBER: _ClassVar[int] + template_id: str + def __init__(self, template_id: _Optional[str] = ...) -> None: ... + +class GetWorkspaceTemplateRequest(_message.Message): + __slots__ = ["template_id"] + TEMPLATE_ID_FIELD_NUMBER: _ClassVar[int] + template_id: str + def __init__(self, template_id: _Optional[str] = ...) -> None: ... + +class GetWorkspaceTemplateResponse(_message.Message): + __slots__ = ["workspace"] + WORKSPACE_FIELD_NUMBER: _ClassVar[int] + workspace: WorkspaceInfo + def __init__(self, workspace: _Optional[_Union[WorkspaceInfo, _Mapping]] = ...) -> None: ... + +class DeleteWorkspaceTemplateRequest(_message.Message): + __slots__ = ["template_id"] + TEMPLATE_ID_FIELD_NUMBER: _ClassVar[int] + template_id: str + def __init__(self, template_id: _Optional[str] = ...) -> None: ... + +class DeleteWorkspaceTemplateResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class ListOwnedWorkspaceTemplatesRequest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class ListOwnedWorkspaceTemplatesResponse(_message.Message): + __slots__ = ["workspaces"] + WORKSPACES_FIELD_NUMBER: _ClassVar[int] + workspaces: _containers.RepeatedCompositeFieldContainer[WorkspaceInfo] + def __init__(self, workspaces: _Optional[_Iterable[_Union[WorkspaceInfo, _Mapping]]] = ...) -> None: ... + +class WorkspaceInfo(_message.Message): + __slots__ = ["workspace_id", "name", "description", "owner", "prefix", "hook_ids", "endpoint_ids"] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + OWNER_FIELD_NUMBER: _ClassVar[int] + PREFIX_FIELD_NUMBER: _ClassVar[int] + HOOK_IDS_FIELD_NUMBER: _ClassVar[int] + ENDPOINT_IDS_FIELD_NUMBER: _ClassVar[int] + workspace_id: str + name: str + description: str + owner: str + prefix: str + hook_ids: str + endpoint_ids: str + def __init__(self, workspace_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., owner: _Optional[str] = ..., prefix: _Optional[str] = ..., hook_ids: _Optional[str] = ..., endpoint_ids: _Optional[str] = ...) -> None: ... + +class CreateWorkspaceRequest(_message.Message): + __slots__ = ["workspace_template", "description"] + WORKSPACE_TEMPLATE_FIELD_NUMBER: _ClassVar[int] + DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + workspace_template: str + description: str + def __init__(self, workspace_template: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ... + +class CreateWorkspaceResponse(_message.Message): + __slots__ = ["workspace_id", "token", "access_key", "secret_key"] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + TOKEN_FIELD_NUMBER: _ClassVar[int] + ACCESS_KEY_FIELD_NUMBER: _ClassVar[int] + SECRET_KEY_FIELD_NUMBER: _ClassVar[int] + workspace_id: str + token: str + access_key: str + secret_key: str + def __init__(self, workspace_id: _Optional[str] = ..., token: _Optional[str] = ..., access_key: _Optional[str] = ..., secret_key: _Optional[str] = ...) -> None: ... + +class DeleteWorkspaceRequest(_message.Message): + __slots__ = ["workspace_id"] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + workspace_id: str + def __init__(self, workspace_id: _Optional[str] = ...) -> None: ... + +class DeleteWorkspaceResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + +class ClaimWorkspaceRequest(_message.Message): + __slots__ = ["workspace_id", "token"] + WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int] + TOKEN_FIELD_NUMBER: _ClassVar[int] + workspace_id: str + token: str + def __init__(self, workspace_id: _Optional[str] = ..., token: _Optional[str] = ...) -> None: ... + +class ClaimWorkspaceResponse(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... diff --git a/aruna/api/storage/services/v2/workspace_service_pb2_grpc.py b/aruna/api/storage/services/v2/workspace_service_pb2_grpc.py new file mode 100644 index 0000000..3c847ac --- /dev/null +++ b/aruna/api/storage/services/v2/workspace_service_pb2_grpc.py @@ -0,0 +1,302 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from aruna.api.storage.services.v2 import workspace_service_pb2 as aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2 + + +class WorkspaceServiceStub(object): + """Service to manage "special" anonymous collections / workspaces + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateWorkspaceTemplate = channel.unary_unary( + '/aruna.api.storage.services.v2.WorkspaceService/CreateWorkspaceTemplate', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceTemplateRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceTemplateResponse.FromString, + ) + self.GetWorkspaceTemplate = channel.unary_unary( + '/aruna.api.storage.services.v2.WorkspaceService/GetWorkspaceTemplate', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.GetWorkspaceTemplateRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.GetWorkspaceTemplateResponse.FromString, + ) + self.ListOwnedWorkspaceTemplates = channel.unary_unary( + '/aruna.api.storage.services.v2.WorkspaceService/ListOwnedWorkspaceTemplates', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ListOwnedWorkspaceTemplatesRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ListOwnedWorkspaceTemplatesResponse.FromString, + ) + self.DeleteWorkspaceTemplate = channel.unary_unary( + '/aruna.api.storage.services.v2.WorkspaceService/DeleteWorkspaceTemplate', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceTemplateRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceTemplateResponse.FromString, + ) + self.CreateWorkspace = channel.unary_unary( + '/aruna.api.storage.services.v2.WorkspaceService/CreateWorkspace', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceResponse.FromString, + ) + self.DeleteWorkspace = channel.unary_unary( + '/aruna.api.storage.services.v2.WorkspaceService/DeleteWorkspace', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceResponse.FromString, + ) + self.ClaimWorkspace = channel.unary_unary( + '/aruna.api.storage.services.v2.WorkspaceService/ClaimWorkspace', + request_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ClaimWorkspaceRequest.SerializeToString, + response_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ClaimWorkspaceResponse.FromString, + ) + + +class WorkspaceServiceServicer(object): + """Service to manage "special" anonymous collections / workspaces + """ + + def CreateWorkspaceTemplate(self, request, context): + """CreatesNewWorkspaceTemplate + + Status: ALPHA + + This will create a new template for workspaces (admin only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetWorkspaceTemplate(self, request, context): + """GetWorkspaceTemplatesById + + Status: ALPHA + + Gets workspace template by id + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListOwnedWorkspaceTemplates(self, request, context): + """ListOwnedWorkspaceTemplates + + Status: ALPHA + + Lists owned workspace templates + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteWorkspaceTemplate(self, request, context): + """DeleteWorkspaceTemplates + + Status: ALPHA + + Deletes specified workspace templates + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateWorkspace(self, request, context): + """CreateWorkspace + + Status: ALPHA + + A new request to create a personal anonymous workspace + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteWorkspace(self, request, context): + """DeleteWorkspace + + Status: ALPHA + + Delete a workspace + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ClaimWorkspace(self, request, context): + """DeleteWorkspace + + Status: ALPHA + + Claims an anonymous workspace, and transfers the owner to a regular user account. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_WorkspaceServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateWorkspaceTemplate': grpc.unary_unary_rpc_method_handler( + servicer.CreateWorkspaceTemplate, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceTemplateRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceTemplateResponse.SerializeToString, + ), + 'GetWorkspaceTemplate': grpc.unary_unary_rpc_method_handler( + servicer.GetWorkspaceTemplate, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.GetWorkspaceTemplateRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.GetWorkspaceTemplateResponse.SerializeToString, + ), + 'ListOwnedWorkspaceTemplates': grpc.unary_unary_rpc_method_handler( + servicer.ListOwnedWorkspaceTemplates, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ListOwnedWorkspaceTemplatesRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ListOwnedWorkspaceTemplatesResponse.SerializeToString, + ), + 'DeleteWorkspaceTemplate': grpc.unary_unary_rpc_method_handler( + servicer.DeleteWorkspaceTemplate, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceTemplateRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceTemplateResponse.SerializeToString, + ), + 'CreateWorkspace': grpc.unary_unary_rpc_method_handler( + servicer.CreateWorkspace, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceResponse.SerializeToString, + ), + 'DeleteWorkspace': grpc.unary_unary_rpc_method_handler( + servicer.DeleteWorkspace, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceResponse.SerializeToString, + ), + 'ClaimWorkspace': grpc.unary_unary_rpc_method_handler( + servicer.ClaimWorkspace, + request_deserializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ClaimWorkspaceRequest.FromString, + response_serializer=aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ClaimWorkspaceResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'aruna.api.storage.services.v2.WorkspaceService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class WorkspaceService(object): + """Service to manage "special" anonymous collections / workspaces + """ + + @staticmethod + def CreateWorkspaceTemplate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.WorkspaceService/CreateWorkspaceTemplate', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceTemplateRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceTemplateResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetWorkspaceTemplate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.WorkspaceService/GetWorkspaceTemplate', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.GetWorkspaceTemplateRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.GetWorkspaceTemplateResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListOwnedWorkspaceTemplates(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.WorkspaceService/ListOwnedWorkspaceTemplates', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ListOwnedWorkspaceTemplatesRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ListOwnedWorkspaceTemplatesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteWorkspaceTemplate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.WorkspaceService/DeleteWorkspaceTemplate', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceTemplateRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceTemplateResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateWorkspace(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.WorkspaceService/CreateWorkspace', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.CreateWorkspaceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteWorkspace(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.WorkspaceService/DeleteWorkspace', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.DeleteWorkspaceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ClaimWorkspace(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/aruna.api.storage.services.v2.WorkspaceService/ClaimWorkspace', + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ClaimWorkspaceRequest.SerializeToString, + aruna_dot_api_dot_storage_dot_services_dot_v2_dot_workspace__service__pb2.ClaimWorkspaceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/openapiv2/apidocs.swagger.json b/openapiv2/apidocs.swagger.json index 1df9c0d..a91bb9a 100644 --- a/openapiv2/apidocs.swagger.json +++ b/openapiv2/apidocs.swagger.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "Aruna Object Storage (AOS) REST API", - "version": "1.1.0-rc.8" + "version": "2.0.0-beta.5" }, "tags": [ { @@ -11,32 +11,53 @@ { "name": "BundlerService" }, + { + "name": "DataproxyService" + }, + { + "name": "DataproxyBackendService" + }, + { + "name": "DataproxyUserService" + }, { "name": "HooksService" }, { - "name": "ObjectService" + "name": "EventNotificationService" + }, + { + "name": "AuthorizationService" }, { "name": "CollectionService" }, { - "name": "WorkspaceService" + "name": "DatasetService" }, { "name": "EndpointService" }, { - "name": "StorageInfoService" + "name": "StorageStatusService" + }, + { + "name": "ObjectService" + }, + { + "name": "RelationsService" }, { - "name": "ObjectGroupService" + "name": "SearchService" }, { "name": "ServiceAccountService" }, { "name": "UserService" + }, + { + "name": "WorkspaceService" } ], "schemes": [ @@ -49,16 +70,114 @@ "application/json" ], "paths": { - "/v1/auth/register": { + "/v2/auth": { + "delete": { + "summary": "DeleteAuthorization", + "description": "Status: BETA\n\nThis creates a user-specific attribute that handles permission for a\nspecific resource", + "operationId": "AuthorizationService_DeleteAuthorization", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2DeleteAuthorizationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v2DeleteAuthorizationRequest" + } + } + ], + "tags": [ + "AuthorizationService" + ] + }, + "post": { + "summary": "CreateAuthorization", + "description": "Status: BETA\n\nThis creates a user-specific attribute that handles permission for a\nspecific resource", + "operationId": "AuthorizationService_CreateAuthorization", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2CreateAuthorizationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v2CreateAuthorizationRequest" + } + } + ], + "tags": [ + "AuthorizationService" + ] + }, + "patch": { + "summary": "UpdateAuthorization", + "description": "Status: BETA\n\nThis creates a user-specific attribute that handles permission for a\nspecific resource", + "operationId": "AuthorizationService_UpdateAuthorization", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2UpdateAuthorizationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v2UpdateAuthorizationRequest" + } + } + ], + "tags": [ + "AuthorizationService" + ] + } + }, + "/v2/auth/register": { "post": { "summary": "RegisterUser", - "description": "Status: STABLE\n\nThis request should be called when a new user logs in for the first time", + "description": "Status: BETA\n\nThis request should be called when a new user logs in for the first time", "operationId": "UserService_RegisterUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1RegisterUserResponse" + "$ref": "#/definitions/v2RegisterUserResponse" } }, "default": { @@ -74,7 +193,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1RegisterUserRequest" + "$ref": "#/definitions/v2RegisterUserRequest" } } ], @@ -83,16 +202,16 @@ ] } }, - "/v1/auth/token": { + "/v2/auth/token": { "post": { "summary": "CreateAPIToken", - "description": "Status: STABLE\n\nCreates an API token to authenticate", + "description": "Status: BETA\n\nCreates an API token to authenticate", "operationId": "UserService_CreateAPIToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateAPITokenResponse" + "$ref": "#/definitions/v2CreateAPITokenResponse" } }, "default": { @@ -108,7 +227,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1CreateAPITokenRequest" + "$ref": "#/definitions/v2CreateAPITokenRequest" } } ], @@ -117,16 +236,16 @@ ] } }, - "/v1/auth/token/{tokenId}": { + "/v2/auth/token/{tokenId}": { "get": { "summary": "GetAPIToken", - "description": "Status: STABLE\n\nReturns one API token by id", + "description": "Status: BETA\n\nReturns one API token by id", "operationId": "UserService_GetAPIToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetAPITokenResponse" + "$ref": "#/definitions/v2GetAPITokenResponse" } }, "default": { @@ -157,7 +276,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteAPITokenResponse" + "$ref": "#/definitions/v2DeleteAPITokenResponse" } }, "default": { @@ -181,7 +300,7 @@ ] } }, - "/v1/auth/tokens": { + "/v2/auth/tokens": { "get": { "summary": "GetAPITokens", "description": "Status: STABLE\n\nReturns a list of API tokens for a specific user", @@ -190,7 +309,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetAPITokensResponse" + "$ref": "#/definitions/v2GetAPITokensResponse" } }, "default": { @@ -206,13 +325,13 @@ }, "delete": { "summary": "DeleteAPITokens", - "description": "Status: STABLE\n\nDeletes the specified API Token", + "description": "Status: BETA\n\nDeletes the specified API Token", "operationId": "UserService_DeleteAPITokens", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteAPITokensResponse" + "$ref": "#/definitions/v2DeleteAPITokensResponse" } }, "default": { @@ -236,16 +355,116 @@ ] } }, - "/v1/collection": { + "/v2/auths": { + "get": { + "summary": "GetAuthorization", + "description": "Status: BETA\n\nThis gets resource specific user authorizations", + "operationId": "AuthorizationService_GetAuthorizations", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetAuthorizationsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "resourceId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "recursive", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "AuthorizationService" + ] + } + }, + "/v2/bundle": { + "delete": { + "operationId": "BundlerService_DeleteBundle", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2DeleteBundleResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v2DeleteBundleRequest" + } + } + ], + "tags": [ + "BundlerService" + ] + }, + "post": { + "operationId": "BundlerService_CreateBundle", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2CreateBundleResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v2CreateBundleRequest" + } + } + ], + "tags": [ + "BundlerService" + ] + } + }, + "/v2/collection": { "post": { "summary": "CreateNewCollection", - "description": "Status: STABLE\n\ncreates a new Collection", - "operationId": "CollectionService_CreateNewCollection", + "description": "Status: BETA\n\ncreates a new Collection", + "operationId": "CollectionService_CreateCollection", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateNewCollectionResponse" + "$ref": "#/definitions/v2CreateCollectionResponse" } }, "default": { @@ -261,7 +480,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1CreateNewCollectionRequest" + "$ref": "#/definitions/v2CreateCollectionRequest" } } ], @@ -270,16 +489,16 @@ ] } }, - "/v1/collection/{collectionId}": { + "/v2/collection/{collectionId}": { "get": { - "summary": "GetCollectionByID", - "description": "Status: STABLE\n\nQueries a specific Collection by ID\nThe result can be one_of:\nCollectionOverview -\u003e default\nCollectionWithID\nCollection (full)\nThis can be modified with the optional OutputFormat parameter", - "operationId": "CollectionService_GetCollectionByID", + "summary": "GetCollection", + "description": "Status: BETA\n\nRequest a specific collection by ID", + "operationId": "CollectionService_GetCollection", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetCollectionByIDResponse" + "$ref": "#/definitions/v2GetCollectionResponse" } }, "default": { @@ -304,13 +523,45 @@ }, "delete": { "summary": "DeleteCollection", - "description": "Status: STABLE\n\nThis request deletes the collection.\nIf with_version is true, it deletes the collection and all its versions.\nIf cascade is true, all objects that are owned by the collection will also\ndeleted. This should be avoided", + "description": "Status: STABLE\n\nThis request deletes the collection.", "operationId": "CollectionService_DeleteCollection", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteCollectionResponse" + "$ref": "#/definitions/v2DeleteCollectionResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "collectionId", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "CollectionService" + ] + } + }, + "/v2/collection/{collectionId}/data_class": { + "patch": { + "summary": "UpdateCollectionDataClass", + "description": "Status: BETA\n\nUpdates the collection name. All (meta) data will be overwritten.", + "operationId": "CollectionService_UpdateCollectionDataClass", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2UpdateCollectionDataClassResponse" } }, "default": { @@ -323,7 +574,6 @@ "parameters": [ { "name": "collectionId", - "description": "Collection id", "in": "path", "required": true, "type": "string" @@ -335,9 +585,8 @@ "schema": { "type": "object", "properties": { - "force": { - "type": "boolean", - "title": "Force delete" + "dataClass": { + "$ref": "#/definitions/v2DataClass" } } } @@ -346,16 +595,18 @@ "tags": [ "CollectionService" ] - }, - "put": { - "summary": "UpdateCollection", - "description": "Status: STABLE\n\nUpdates the current collection\nThis will update the collection in place if it is unversioned / latest\nA versioned (pinned) collection requires a new semantic version after the\nupdate This can be used to pin a collection to a specific version similar\nto the PinCollectionVersion request", - "operationId": "CollectionService_UpdateCollection", + } + }, + "/v2/collection/{collectionId}/description": { + "patch": { + "summary": "UpdateCollectionDescription", + "description": "Status: BETA\n\nUpdates the collection description.", + "operationId": "CollectionService_UpdateCollectionDescription", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1UpdateCollectionResponse" + "$ref": "#/definitions/v2UpdateCollectionDescriptionResponse" } }, "default": { @@ -368,7 +619,6 @@ "parameters": [ { "name": "collectionId", - "description": "Old collection_id", "in": "path", "required": true, "type": "string" @@ -380,39 +630,10 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "title": "New name" - }, "description": { - "type": "string", - "title": "New description" - }, - "labels": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "New list of labels" - }, - "hooks": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "New list of hooks" - }, - "labelOntology": { - "$ref": "#/definitions/v1LabelOntology" - }, - "dataclass": { - "$ref": "#/definitions/v1DataClass" - }, - "version": { - "$ref": "#/definitions/v1Version" + "type": "string" } - }, - "title": "This updates the collection\nUpdating a pinned collection will require a new version to be created" + } } } ], @@ -421,16 +642,16 @@ ] } }, - "/v1/collection/{collectionId}/add_key_value": { + "/v2/collection/{collectionId}/key_values": { "patch": { - "summary": "AddKeyValueToCollection", - "description": "Status: BETA\n\nAdds key values (labels / hooks) to a collection", - "operationId": "CollectionService_AddKeyValuesToCollection", + "summary": "UpdateCollectionKeyValues", + "description": "Status: BETA\n\nUpdates the collection key values.", + "operationId": "CollectionService_UpdateCollectionKeyValues", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1AddKeyValuesToCollectionResponse" + "$ref": "#/definitions/v2UpdateCollectionKeyValuesResponse" } }, "default": { @@ -454,16 +675,18 @@ "schema": { "type": "object", "properties": { - "labels": { + "addKeyValues": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" + "type": "object", + "$ref": "#/definitions/v2KeyValue" } }, - "hooks": { + "removeKeyValues": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" + "type": "object", + "$ref": "#/definitions/v2KeyValue" } } } @@ -475,14 +698,16 @@ ] } }, - "/v1/collection/{collectionId}/bundle": { - "post": { - "operationId": "BundlerService_CreateBundle", + "/v2/collection/{collectionId}/name": { + "patch": { + "summary": "UpdateCollectionName", + "description": "Status: BETA\n\nUpdates the collection name. Caveat! Will rename the \"s3 bucket\" for data proxies!", + "operationId": "CollectionService_UpdateCollectionName", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateBundleResponse" + "$ref": "#/definitions/v2UpdateCollectionNameResponse" } }, "default": { @@ -506,43 +731,28 @@ "schema": { "type": "object", "properties": { - "objectIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "filename": { + "name": { "type": "string" - }, - "archiveType": { - "$ref": "#/definitions/v1ArchiveType" - }, - "expiresAt": { - "type": "string", - "format": "date-time" - }, - "endpointId": { - "type": "string", - "title": "Optional endpoint_id" } } } } ], "tags": [ - "BundlerService" + "CollectionService" ] } }, - "/v1/collection/{collectionId}/bundle/{bundleId}": { - "delete": { - "operationId": "BundlerService_DeleteBundle", + "/v2/collection/{collectionId}/snapshot": { + "post": { + "summary": "SnapshotCollectionRequest", + "description": "Status: BETA\n\nArchives the full collection, rendering all downstream relations immutable", + "operationId": "CollectionService_SnapshotCollection", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteBundleResponse" + "$ref": "#/definitions/v2SnapshotCollectionResponse" } }, "default": { @@ -559,12 +769,6 @@ "required": true, "type": "string" }, - { - "name": "bundleId", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", @@ -575,20 +779,20 @@ } ], "tags": [ - "BundlerService" + "CollectionService" ] } }, - "/v1/collection/{collectionId}/group": { - "post": { - "summary": "CreateObjectGroup", - "description": "Status: STABLE\n\nThis creates a new ObjectGroup in the collection", - "operationId": "ObjectGroupService_CreateObjectGroup", + "/v2/collections": { + "get": { + "summary": "GetCollections", + "description": "Status: BETA\n\nQueries multiple collections by ID", + "operationId": "CollectionService_GetCollections", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateObjectGroupResponse" + "$ref": "#/definitions/v2GetCollectionsResponse" } }, "default": { @@ -600,74 +804,65 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection Id", - "in": "path", - "required": true, - "type": "string" + "name": "collectionIds", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "CollectionService" + ] + } + }, + "/v2/credentials": { + "post": { + "summary": "GetCredentials", + "description": "Status: BETA\n\nAuthorized method that needs a aruna-token to exchange for dataproxy\nspecific S3AccessKey and S3SecretKey", + "operationId": "DataproxyUserService_GetCredentials", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetCredentialsResponse" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "ObjectGroup name" - }, - "description": { - "type": "string", - "title": "Description for group" - }, - "objectIds": { - "type": "array", - "items": { - "type": "string" - }, - "title": "This is the reference to the Objects that should be added to the group" - }, - "metaObjectIds": { - "type": "array", - "items": { - "type": "string" - }, - "title": "This is a reference to the Objects that are associated with \"meta\" data\nabout corresponding objects in the group" - }, - "labels": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "List of label key-value pairs" - }, - "hooks": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "List of hooks key-value pairs" - } - } + "$ref": "#/definitions/v2GetCredentialsRequest" } } ], "tags": [ - "ObjectGroupService" + "DataproxyUserService" ] } }, - "/v1/collection/{collectionId}/group/{groupId}": { - "get": { - "summary": "GetObjectGroupById", - "description": "Status: STABLE\n\nThis gets a specific ObjectGroup by ID\nBy default the latest revision is always returned, older revisions need to\nbe specified separately", - "operationId": "ObjectGroupService_GetObjectGroupById", + "/v2/dataset": { + "post": { + "summary": "CreateNewDataset", + "description": "Status: BETA\n\ncreates a new Dataset", + "operationId": "DatasetService_CreateDataset", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectGroupByIdResponse" + "$ref": "#/definitions/v2CreateDatasetResponse" } }, "default": { @@ -679,33 +874,60 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/v2CreateDatasetRequest" + } + } + ], + "tags": [ + "DatasetService" + ] + } + }, + "/v2/dataset/{datasetId}": { + "get": { + "summary": "GetDataset", + "description": "Status: BETA\n\nRequest a specific dataset by ID", + "operationId": "DatasetService_GetDataset", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetDatasetResponse" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ { - "name": "groupId", - "description": "Object group id", + "name": "datasetId", + "description": "Requested id", "in": "path", "required": true, "type": "string" } ], "tags": [ - "ObjectGroupService" + "DatasetService" ] }, "delete": { - "summary": "DeleteObjectGroup", - "description": "Status: STABLE\n\nThis is a request that deletes a specified ObjectGroup\nThis does not delete the associated Objects", - "operationId": "ObjectGroupService_DeleteObjectGroup", + "summary": "DeleteDataset", + "description": "Status: STABLE\n\nThis request deletes the dataset.", + "operationId": "DatasetService_DeleteDataset", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteObjectGroupResponse" + "$ref": "#/definitions/v2DeleteDatasetResponse" } }, "default": { @@ -717,40 +939,27 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "groupId", - "description": "Objectgroup id", + "name": "datasetId", "in": "path", "required": true, "type": "string" - }, - { - "name": "withRevisions", - "description": "with revisions", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ - "ObjectGroupService" + "DatasetService" ] - }, - "post": { - "summary": "UpdateObjectGroup", - "description": "Status: STABLE\n\nThis creates an updated ObjectGroup\nObjectGroups are immutable\nUpdating an ObjectGroup will create a new Revision of the ObjectGroup", - "operationId": "ObjectGroupService_UpdateObjectGroup", + } + }, + "/v2/dataset/{datasetId}/data_class": { + "patch": { + "summary": "UpdateDatasetDataClass", + "description": "Status: BETA\n\nUpdates the dataset name. All (meta) data will be overwritten.", + "operationId": "DatasetService_UpdateDatasetDataClass", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1UpdateObjectGroupResponse" + "$ref": "#/definitions/v2UpdateDatasetDataClassResponse" } }, "default": { @@ -762,15 +971,7 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "groupId", - "description": "Old group id", + "name": "datasetId", "in": "path", "required": true, "type": "string" @@ -782,61 +983,28 @@ "schema": { "type": "object", "properties": { - "name": { - "type": "string", - "title": "New name" - }, - "description": { - "type": "string", - "title": "New description" - }, - "objectIds": { - "type": "array", - "items": { - "type": "string" - }, - "title": "This is the reference to the Objects that should be added to the group" - }, - "metaObjectIds": { - "type": "array", - "items": { - "type": "string" - }, - "title": "This is a reference to the Objects that are associated with \"meta\" data\nabout corresponding objects in the group" - }, - "labels": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "List of label key-value pairs" - }, - "hooks": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "List of hooks key-value pairs" + "dataClass": { + "$ref": "#/definitions/v2DataClass" } } } } ], "tags": [ - "ObjectGroupService" + "DatasetService" ] } }, - "/v1/collection/{collectionId}/group/{groupId}/add_labels": { + "/v2/dataset/{datasetId}/description": { "patch": { - "summary": "AddLabelsToObjectGroup", - "description": "Status: STABLE\n\nThis is a specific request to add new label(s)\nto an existing object_group, in contrast to UpdateObjectGroup\nthis will not create a new revision for the specific object_group\nInstead it will directly add the specified label(s) to the object_group", - "operationId": "ObjectGroupService_AddLabelsToObjectGroup", + "summary": "UpdateDatasetDescription", + "description": "Status: BETA\n\nUpdates the dataset description.", + "operationId": "DatasetService_UpdateDatasetDescription", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1AddLabelsToObjectGroupResponse" + "$ref": "#/definitions/v2UpdateDatasetDescriptionResponse" } }, "default": { @@ -848,15 +1016,7 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "groupId", - "description": "ObjectGroup id", + "name": "datasetId", "in": "path", "required": true, "type": "string" @@ -868,32 +1028,28 @@ "schema": { "type": "object", "properties": { - "labelsToAdd": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "List of labels that should be added to the list of labels" + "description": { + "type": "string" } } } } ], "tags": [ - "ObjectGroupService" + "DatasetService" ] } }, - "/v1/collection/{collectionId}/group/{groupId}/history": { - "get": { - "summary": "GetObjectGroupHistory", - "description": "Status: BETA\n\nThis requests a full history with all objectgroups\nthat are part of this objectgroups history", - "operationId": "ObjectGroupService_GetObjectGroupHistory", + "/v2/dataset/{datasetId}/key_values": { + "patch": { + "summary": "UpdateDatasetKeyValues", + "description": "Status: BETA\n\nUpdates the dataset key values.", + "operationId": "DatasetService_UpdateDatasetKeyValues", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectGroupHistoryResponse" + "$ref": "#/definitions/v2UpdateDatasetKeyValuesResponse" } }, "default": { @@ -905,48 +1061,51 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", + "name": "datasetId", "in": "path", "required": true, "type": "string" }, { - "name": "groupId", - "description": "Objectgroup id", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "pageRequest.lastUuid", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pageRequest.pageSize", - "in": "query", - "required": false, - "type": "string", - "format": "int64" + "schema": { + "type": "object", + "properties": { + "addKeyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + } + }, + "removeKeyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + } + } + } + } } ], "tags": [ - "ObjectGroupService" + "DatasetService" ] } }, - "/v1/collection/{collectionId}/group/{groupId}/objects": { - "get": { - "summary": "GetObjectGroupObjects", - "description": "Status: STABLE\n\nRequests a list of paginated objects associated with this\nspecific objectgroup", - "operationId": "ObjectGroupService_GetObjectGroupObjects", + "/v2/dataset/{datasetId}/name": { + "patch": { + "summary": "UpdateDatasetName", + "description": "Status: BETA\n\nUpdates the dataset name. Caveat! Will rename the \"s3 bucket\" for data proxies!", + "operationId": "DatasetService_UpdateDatasetName", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectGroupObjectsResponse" + "$ref": "#/definitions/v2UpdateDatasetNameResponse" } }, "default": { @@ -958,55 +1117,40 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", + "name": "datasetId", "in": "path", "required": true, "type": "string" }, { - "name": "groupId", - "description": "Objectgroup id", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "pageRequest.lastUuid", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pageRequest.pageSize", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "metaOnly", - "description": "Include meta objects only", - "in": "query", - "required": false, - "type": "boolean" + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } } ], "tags": [ - "ObjectGroupService" + "DatasetService" ] } }, - "/v1/collection/{collectionId}/groups": { - "get": { - "summary": "GetObjectGroups", - "description": "Status: STABLE\n\nThis is a request that returns a (paginated) list of\nObjectGroups that contain a specific set of labels.", - "operationId": "ObjectGroupService_GetObjectGroups", + "/v2/dataset/{datasetId}/snapshot": { + "post": { + "summary": "SnapshotDatasetRequest", + "description": "Status: BETA\n\nArchives the full dataset, rendering all downstream relations immutable", + "operationId": "DatasetService_SnapshotDataset", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectGroupsResponse" + "$ref": "#/definitions/v2SnapshotDatasetResponse" } }, "default": { @@ -1018,65 +1162,35 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", + "name": "datasetId", "in": "path", "required": true, "type": "string" }, { - "name": "pageRequest.lastUuid", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pageRequest.pageSize", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "labelIdFilter.labels.andOrOr", - "description": "True if and, if empty or false or", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "labelIdFilter.labels.keysOnly", - "description": "Should only the keys be considered ?", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "labelIdFilter.ids", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } } ], "tags": [ - "ObjectGroupService" + "DatasetService" ] } }, - "/v1/collection/{collectionId}/object": { - "post": { - "summary": "InitializeNewObject", - "description": "Status: STABLE\n\nThis initializes a new object\nInitializing an object will put it in a staging area.\nStaged objects will get a separate staging id and need to be finished\nbefore they can be used.", - "operationId": "ObjectService_InitializeNewObject", + "/v2/datasets": { + "get": { + "summary": "GetDatasets", + "description": "Status: BETA\n\nQueries multiple datasets by ID", + "operationId": "DatasetService_GetDatasets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1InitializeNewObjectResponse" + "$ref": "#/definitions/v2GetDatasetsResponse" } }, "default": { @@ -1088,56 +1202,31 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id of the collection to which the object will be added.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "object": { - "$ref": "#/definitions/v1StageObject" - }, - "preferredEndpointId": { - "type": "string", - "title": "(optional) Used to specify a preferred endpoint by id\nthis can be used to specify which endpoint this object should use\nonly needed if it is not the default endpoint for the current server\ninstance" - }, - "multipart": { - "type": "boolean", - "title": "Should the object be uploaded via multipart?" - }, - "isSpecification": { - "type": "boolean", - "title": "Is specification ?\nShould this object contain a specification for the collection ?" - }, - "hash": { - "$ref": "#/definitions/v1Hash" - } - } - } + "name": "datasetIds", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" } ], "tags": [ - "ObjectService" + "DatasetService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}": { + "/v2/endpoint": { "get": { - "summary": "GetObjectByID", - "description": "Status: STABLE\n\ngets a specific Object by ID that is associated to the\ncurrent collection By default only the latest revision of an object will be\nreturned Specify a revision_number to select an older revision With the\noptional with_url boolean a download link can automatically be requested", - "operationId": "ObjectService_GetObjectByID", + "summary": "GetEndpoint", + "description": "Status: BETA\n\nGets an specific endpoint by ID or Name", + "operationId": "EndpointService_GetEndpoint", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectByIDResponse" + "$ref": "#/definitions/v2GetEndpointResponse" } }, "default": { @@ -1149,40 +1238,33 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection Id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", - "description": "Object Id", - "in": "path", - "required": true, + "name": "endpointName", + "description": "The name of the endpoint", + "in": "query", + "required": false, "type": "string" }, { - "name": "withUrl", - "description": "With URL: Include URL in response ?", + "name": "endpointId", + "description": "Id of the endpoint", "in": "query", "required": false, - "type": "boolean" + "type": "string" } ], "tags": [ - "ObjectService" + "EndpointService" ] }, - "delete": { - "summary": "DeleteObject", - "description": "Status: STABLE\n\nDeletes the object with the complete revision history.", - "operationId": "ObjectService_DeleteObject", + "post": { + "summary": "CreateEndpoint", + "description": "Status: BETA\n\nRegisters a new Endpoint (Aruna DataProxy) to the server\nNeeds admin permissions", + "operationId": "EndpointService_CreateEndpoint", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/storageservicesv1DeleteObjectResponse" + "$ref": "#/definitions/v2CreateEndpointResponse" } }, "default": { @@ -1193,54 +1275,30 @@ } }, "parameters": [ - { - "name": "collectionId", - "description": "CollectionID", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", - "description": "ObjectId", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "withRevisions": { - "type": "boolean", - "title": "Delete including revisions" - }, - "force": { - "type": "boolean", - "title": "Force delete including revisions" - } - } + "$ref": "#/definitions/v2CreateEndpointRequest" } } ], "tags": [ - "ObjectService" + "EndpointService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/add_labels": { - "patch": { - "summary": "AddLabelsToObject", - "description": "Status: STABLE\n\nThis is a specific request to add new label(s)\nto an existing object, in contrast to UpdateObject\nthis will not create a new object in the staging area\nInstead it will directly add the specified label(s) to the object", - "operationId": "ObjectService_AddLabelsToObject", + "/v2/endpoint/default": { + "get": { + "summary": "GetDefaultEndpoint", + "description": "Status: BETA\n\nThis request returns the default endpoint for the current aruna_server\nIt may produce different results depending on the used server", + "operationId": "EndpointService_GetDefaultEndpoint", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1AddLabelsToObjectResponse" + "$ref": "#/definitions/v2GetDefaultEndpointResponse" } }, "default": { @@ -1250,54 +1308,54 @@ } } }, - "parameters": [ - { - "name": "collectionId", - "description": "Collection id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", - "description": "Object id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, + "tags": [ + "EndpointService" + ] + } + }, + "/v2/endpoint/sync": { + "get": { + "summary": "FullSyncEndpoint", + "description": "Status: BETA\n\nRequests a full sync of all endpoint related data", + "operationId": "EndpointService_FullSyncEndpoint", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", "schema": { "type": "object", "properties": { - "labelsToAdd": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "List of labels that should be added to the list of labels" + "result": { + "$ref": "#/definitions/v2FullSyncEndpointResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" } - } + }, + "title": "Stream result of v2FullSyncEndpointResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" } } - ], + }, "tags": [ - "ObjectService" + "EndpointService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/clone": { - "post": { - "summary": "CloneObject", - "description": "Status: STABLE\n\nThis method clones an object and creates a copy in the same collection.\nThis copy has a new id and revision and will not receive any updates from\nthe original object.", - "operationId": "ObjectService_CloneObject", + "/v2/endpoint/{endpointId}": { + "delete": { + "summary": "DeleteEndpoint", + "description": "Status: BETA\n\nDeletes a specific endpoint by id\nThis needs admin permissions", + "operationId": "EndpointService_DeleteEndpoint", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CloneObjectResponse" + "$ref": "#/definitions/v2DeleteEndpointResponse" } }, "default": { @@ -1309,49 +1367,28 @@ }, "parameters": [ { - "name": "collectionId", - "description": "From CollectionID", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", - "description": "ObjectId", + "name": "endpointId", + "description": "Endpoint_id to delete", "in": "path", "required": true, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "targetCollectionId": { - "type": "string", - "title": "Target CollectionID" - } - } - } } ], "tags": [ - "ObjectService" + "EndpointService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/download": { + "/v2/endpoints": { "get": { - "summary": "GetDownloadUrl", - "description": "Status: STABLE\n\nThis method will return a url that can be used to download a file from S3.", - "operationId": "ObjectService_GetDownloadURL", + "summary": "GetEndpoints", + "description": "Status: BETA\n\nGets all available endpoints", + "operationId": "EndpointService_GetEndpoints", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetDownloadURLResponse" + "$ref": "#/definitions/v2GetEndpointsResponse" } }, "default": { @@ -1361,37 +1398,20 @@ } } }, - "parameters": [ - { - "name": "collectionId", - "description": "Collection id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", - "description": "Object id", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "ObjectService" + "EndpointService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/endpoints": { - "get": { - "summary": "GetObjectEndpoints", - "description": "Status: BETA\n\nThis returns a list of endpoints\nOne endpoint will be the \"default\" endpoint", - "operationId": "ObjectService_GetObjectEndpoints", + "/v2/hook": { + "post": { + "summary": "Created Hooks are always associated with the owner that creates the hook", + "operationId": "HooksService_CreateHook", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectEndpointsResponse" + "$ref": "#/definitions/v2CreateHookResponse" } }, "default": { @@ -1403,35 +1423,27 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", - "description": "Object id", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/v2CreateHookRequest" + } } ], "tags": [ - "ObjectService" + "HooksService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/groups": { - "get": { - "summary": "GetObjectGroupsFromObject", - "description": "Status: STABLE\n\nThis gets all ObjectGroups associated to a specific\nObject Objects can be part of multiple ObjectGroups at once", - "operationId": "ObjectGroupService_GetObjectGroupsFromObject", + "/v2/hook/callback": { + "delete": { + "operationId": "HooksService_HookCallback", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectGroupsFromObjectResponse" + "$ref": "#/definitions/v2HookCallbackResponse" } }, "default": { @@ -1443,48 +1455,50 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", - "in": "path", - "required": true, + "name": "error.error", + "in": "query", + "required": false, "type": "string" }, { - "name": "objectId", - "description": "Object id", - "in": "path", - "required": true, + "name": "secret", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "hookId", + "in": "query", + "required": false, "type": "string" }, { - "name": "pageRequest.lastUuid", + "name": "objectId", "in": "query", "required": false, "type": "string" }, { - "name": "pageRequest.pageSize", + "name": "pubkeySerial", "in": "query", "required": false, - "type": "string", - "format": "int64" + "type": "integer", + "format": "int32" } ], "tags": [ - "ObjectGroupService" + "HooksService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/latest": { - "get": { - "summary": "GetLatestObjectRevision", - "description": "Status: STABLE\n\nThis returns the latest revision of a specific object\nThe returned `latest` object will have a different id if the current\nobject is not the latest revision", - "operationId": "ObjectService_GetLatestObjectRevision", + "/v2/hook/{hookId}": { + "delete": { + "operationId": "HooksService_DeleteHook", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetLatestObjectRevisionResponse" + "$ref": "#/definitions/v2DeleteHookResponse" } }, "default": { @@ -1496,42 +1510,69 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", + "name": "hookId", "in": "path", "required": true, "type": "string" + } + ], + "tags": [ + "HooksService" + ] + }, + "post": { + "operationId": "HooksService_AddProjectsToHook", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2AddProjectsToHookResponse" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ { - "name": "objectId", - "description": "Object id", + "name": "hookId", "in": "path", "required": true, "type": "string" }, { - "name": "withUrl", - "description": "Should the response include download urls ?", - "in": "query", - "required": false, - "type": "boolean" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "projectIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + } } ], "tags": [ - "ObjectService" + "HooksService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/path": { + "/v2/hooks/owner/{userId}": { "get": { - "summary": "GetObjectPath", - "description": "Status: BETA\n\nGet all object_paths for this object in a specific collection\n!! Paths are collection specific !!", - "operationId": "ObjectService_GetObjectPath", + "operationId": "HooksService_ListOwnedHooks", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectPathResponse" + "$ref": "#/definitions/v2ListOwnedHooksResponse" } }, "default": { @@ -1543,37 +1584,26 @@ }, "parameters": [ { - "name": "collectionId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", + "name": "userId", + "description": "ADMIN only", "in": "path", "required": true, "type": "string" - }, - { - "name": "includeInactive", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ - "ObjectService" + "HooksService" ] - }, - "post": { - "summary": "CreateObjectPath", - "description": "Status: BETA\n\nCreate collection_specific object_paths for an object\n!! Paths are collection specific !!", - "operationId": "ObjectService_CreateObjectPath", + } + }, + "/v2/hooks/project/{projectId}": { + "get": { + "operationId": "HooksService_ListProjectHooks", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateObjectPathResponse" + "$ref": "#/definitions/v2ListProjectHooksResponse" } }, "default": { @@ -1585,46 +1615,47 @@ }, "parameters": [ { - "name": "collectionId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", + "name": "projectId", "in": "path", "required": true, "type": "string" + } + ], + "tags": [ + "HooksService" + ] + } + }, + "/v2/info/anouncements": { + "get": { + "operationId": "StorageStatusService_GetAnouncements", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetAnouncementsResponse" + } }, - { - "name": "body", - "in": "body", - "required": true, + "default": { + "description": "An unexpected error response.", "schema": { - "type": "object", - "properties": { - "subPath": { - "type": "string" - } - } + "$ref": "#/definitions/googlerpcStatus" } } - ], + }, "tags": [ - "ObjectService" + "StorageStatusService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/reference/{targetCollectionId}": { + "/v2/info/anouncements/set": { "post": { - "summary": "CreateObjectReference", - "description": "Status: STABLE\n\nCreates a new reference of this object in another collection", - "operationId": "ObjectService_CreateObjectReference", + "operationId": "StorageStatusService_SetAnouncements", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateObjectReferenceResponse" + "$ref": "#/definitions/v2SetAnouncementsResponse" } }, "default": { @@ -1635,65 +1666,28 @@ } }, "parameters": [ - { - "name": "collectionId", - "description": "OwnerCollectionID", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", - "description": "ObjectId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "targetCollectionId", - "description": "BorrowerCollectionID", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "writeable": { - "type": "boolean", - "title": "Should the other collection have permissions to edit the ressource" - }, - "autoUpdate": { - "type": "boolean", - "title": "Should the borrowed ressource be automatically updated ?" - }, - "subPath": { - "type": "string", - "title": "(collection specific) sub_path for file\ndoes not include file-, collection- or projectname\nfinal schema: /\u003cprojectname\u003e/\u003ccollectionname\u003e/\u003cversion\u003e/\u003cpath\u003e/\u003cfilename\u003e" - } - } + "$ref": "#/definitions/v2SetAnouncementsRequest" } } ], "tags": [ - "ObjectService" + "StorageStatusService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/references": { + "/v2/info/pubkeys": { "get": { - "summary": "GetReferences", - "description": "Status: STABLE\n\nGet a list of references for this object (optional) including all revisions", - "operationId": "ObjectService_GetReferences", + "operationId": "StorageStatusService_GetPubkeys", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetReferencesResponse" + "$ref": "#/definitions/v2GetPubkeysResponse" } }, "default": { @@ -1703,44 +1697,45 @@ } } }, - "parameters": [ - { - "name": "collectionId", - "description": "Collection id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "objectId", - "description": "Object id", - "in": "path", - "required": true, - "type": "string" + "tags": [ + "StorageStatusService" + ] + } + }, + "/v2/info/status": { + "get": { + "summary": "GetStorageStatus", + "description": "Status: ALPHA\n\nA request to get the current status of the storage components by location(s)", + "operationId": "StorageStatusService_GetStorageStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetStorageStatusResponse" + } }, - { - "name": "withRevisions", - "description": "Should all revisions be included?", - "in": "query", - "required": false, - "type": "boolean" + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } } - ], + }, "tags": [ - "ObjectService" + "StorageStatusService" ] } }, - "/v1/collection/{collectionId}/object/{objectId}/revisions": { + "/v2/info/version": { "get": { - "summary": "GetObjectRevisions", - "description": "Status: STABLE\n\nThis returns the full list of revisions of a specified object\nWith the optional with_url boolean a download link can automatically be\nrequested for each Object This is by default a paginated request", - "operationId": "ObjectService_GetObjectRevisions", + "summary": "GetStorageVersion", + "description": "Status: BETA\n\nA request to get the current version of the server application\nString representation and https://semver.org/", + "operationId": "StorageStatusService_GetStorageVersion", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectRevisionsResponse" + "$ref": "#/definitions/v2GetStorageVersionResponse" } }, "default": { @@ -1750,40 +1745,38 @@ } } }, - "parameters": [ - { - "name": "collectionId", - "description": "Collection id", - "in": "path", - "required": true, - "type": "string" + "tags": [ + "StorageStatusService" + ] + } + }, + "/v2/object": { + "post": { + "summary": "CreateObject", + "description": "Status: BETA\n\nThis creates a new object\nInitializing an object will put it in a staging area.", + "operationId": "ObjectService_CreateObject", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2CreateObjectResponse" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ { - "name": "objectId", - "description": "Object id", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "pageRequest.lastUuid", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pageRequest.pageSize", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "withUrl", - "description": "Should the response include download urls ?", - "in": "query", - "required": false, - "type": "boolean" + "schema": { + "$ref": "#/definitions/v2CreateObjectRequest" + } } ], "tags": [ @@ -1791,16 +1784,16 @@ ] } }, - "/v1/collection/{collectionId}/object/{objectId}/set_hooks": { - "patch": { - "summary": "SetHooksOfObject", - "description": "Status: BETA\n\nThis is a specific request to update the complete list\nof hooks for a specific object. This will not update the object\nand create a new id, instead it will overwrite all hooks of the existing\nobject.", - "operationId": "ObjectService_SetHooksOfObject", + "/v2/object/{objectId}": { + "get": { + "summary": "GetObject", + "description": "Status: BETA\n\ngets a specific Object by ID that is associated to the\ncurrent collection By default only the latest revision of an object will be\nreturned Specify a revision_number to select an older revision With the\noptional with_url boolean a download link can automatically be requested", + "operationId": "ObjectService_GetObject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1SetHooksOfObjectResponse" + "$ref": "#/definitions/apistorageservicesv2GetObjectResponse" } }, "default": { @@ -1812,15 +1805,39 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", + "name": "objectId", + "description": "Object Id", "in": "path", "required": true, "type": "string" + } + ], + "tags": [ + "ObjectService" + ] + }, + "delete": { + "summary": "DeleteObject", + "description": "Status: BETA\n\nDeletes the object with the complete revision history.", + "operationId": "ObjectService_DeleteObject", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apistorageservicesv2DeleteObjectResponse" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ { "name": "objectId", - "description": "Object id", + "description": "ObjectId", "in": "path", "required": true, "type": "string" @@ -1832,12 +1849,9 @@ "schema": { "type": "object", "properties": { - "hooks": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "This will overwrite all existing hooks\nCan be empty to remove all hooks" + "withRevisions": { + "type": "boolean", + "title": "Delete including revisions" } } } @@ -1846,18 +1860,16 @@ "tags": [ "ObjectService" ] - } - }, - "/v1/collection/{collectionId}/object/{objectId}/staging/{uploadId}/finish": { - "patch": { - "summary": "FinishObjectStaging", - "description": "Status: STABLE\n\nThis method completes the staging of an object.", - "operationId": "ObjectService_FinishObjectStaging", + }, + "post": { + "summary": "UpdateObject", + "description": "Status: BETA\n\nObjects are immutable!\nUpdating an object will create a new revision for the object\nThis method will put the new revision in a staging area.\nStaged objects will get a separate staging id and need to be finished\nbefore they can be used.", + "operationId": "ObjectService_UpdateObject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1FinishObjectStagingResponse" + "$ref": "#/definitions/v2UpdateObjectResponse" } }, "default": { @@ -1868,23 +1880,9 @@ } }, "parameters": [ - { - "name": "collectionId", - "description": "CollectionID", - "in": "path", - "required": true, - "type": "string" - }, { "name": "objectId", - "description": "ObjectId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "uploadId", - "description": "Always the S3 upload_id", + "description": "Existing object ID", "in": "path", "required": true, "type": "string" @@ -1896,23 +1894,53 @@ "schema": { "type": "object", "properties": { - "hash": { - "$ref": "#/definitions/v1Hash" + "name": { + "type": "string", + "title": "object name" }, - "noUpload": { - "type": "boolean", - "title": "If the staging object had no uploads\nUse this argument to skip the finish upload request" + "description": { + "type": "string", + "title": "object description" }, - "completedParts": { + "addKeyValues": { "type": "array", "items": { - "$ref": "#/definitions/v1CompletedParts" + "type": "object", + "$ref": "#/definitions/v2KeyValue" }, - "title": "If the upload was multipart, this is the list of parts that were uploaded.\nShould be empty if the upload was not multipart.\n(optional)" + "title": "key_values to add" + }, + "removeKeyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + }, + "title": "key_values to remove" + }, + "dataClass": { + "$ref": "#/definitions/v2DataClass", + "title": "New DataClass" + }, + "projectId": { + "type": "string" + }, + "collectionId": { + "type": "string" + }, + "datasetId": { + "type": "string" + }, + "hashes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Hash" + } }, - "autoUpdate": { + "forceRevision": { "type": "boolean", - "title": "Should the object be auto-updated in the collection?\ndefault: false" + "title": "Force new object revision" } } } @@ -1923,16 +1951,16 @@ ] } }, - "/v1/collection/{collectionId}/object/{objectId}/staging/{uploadId}/upload": { + "/v2/object/{objectId}/download": { "get": { - "summary": "GetUploadURL", - "description": "Status: STABLE\n\nThis method will return a (multi-part) url that can be used to upload a\nfile to S3. Part is a optional query parameter that can be used to upload a\npart of the file / multipart upload.", - "operationId": "ObjectService_GetUploadURL", + "summary": "GetDownloadUrl", + "description": "Status: BETA\n\nThis is a proxy method that will call the apropriate method at dataproxy level\nwill return a url that can be used to download a file from S3.", + "operationId": "ObjectService_GetDownloadURL", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetUploadURLResponse" + "$ref": "#/definitions/v2GetDownloadURLResponse" } }, "default": { @@ -1943,41 +1971,11 @@ } }, "parameters": [ - { - "name": "collectionId", - "description": "CollectionID", - "in": "path", - "required": true, - "type": "string" - }, { "name": "objectId", - "description": "ObjectId", "in": "path", "required": true, "type": "string" - }, - { - "name": "uploadId", - "description": "Upload ID, a ID used to identify the upload / staging object", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "multipart", - "description": "Is this a multipart upload?", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "partNumber", - "description": "(optional) if multi was initialized", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" } ], "tags": [ @@ -1985,16 +1983,16 @@ ] } }, - "/v1/collection/{collectionId}/object/{objectId}/update": { - "post": { - "summary": "UpdateObject", - "description": "Status: STABLE\n\nObjects are immutable!\nUpdating an object will create a new revision for the object\nThis method will put the new revision in a staging area.\nStaged objects will get a separate staging id and need to be finished\nbefore they can be used.", - "operationId": "ObjectService_UpdateObject", + "/v2/object/{objectId}/finish": { + "patch": { + "summary": "FinishObjectStaging", + "description": "Status: BETA\n\nThis method completes the staging of an object.", + "operationId": "ObjectService_FinishObjectStaging", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1UpdateObjectResponse" + "$ref": "#/definitions/v2FinishObjectStagingResponse" } }, "default": { @@ -2005,16 +2003,9 @@ } }, "parameters": [ - { - "name": "collectionId", - "description": "collection ID", - "in": "path", - "required": true, - "type": "string" - }, { "name": "objectId", - "description": "Existing object ID", + "description": "ObjectId", "in": "path", "required": true, "type": "string" @@ -2026,27 +2017,26 @@ "schema": { "type": "object", "properties": { - "object": { - "$ref": "#/definitions/v1StageObject" - }, - "reupload": { - "type": "boolean", - "title": "Should new data be uploaded ?" - }, - "preferredEndpointId": { + "contentLen": { "type": "string", - "title": "If this is an reupload a preferred endpoint\ncan be specified by id" - }, - "multiPart": { - "type": "boolean", - "title": "Should a multipart upload be used?" + "format": "int64", + "title": "Final content len" }, - "isSpecification": { - "type": "boolean", - "title": "Is specification ?\nShould this object contain a specification for the collection ?" + "hashes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Hash" + }, + "description": "Hash of the uploaded data - used to verify the data integrity.\nThis supports multiple hashing algorithms." }, - "hash": { - "$ref": "#/definitions/v1Hash" + "completedParts": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2CompletedParts" + }, + "title": "If the upload was multipart, this is the list of parts that were uploaded.\nShould be empty if the upload was not multipart.\n(optional)" } } } @@ -2057,16 +2047,16 @@ ] } }, - "/v1/collection/{collectionId}/objects": { + "/v2/object/{objectId}/upload": { "get": { - "summary": "GetObjects", - "description": "Status: STABLE\n\nGetObjects returns a (paginated) list of objects in a specific collection\nBy default only the latest revisions of all objects will be shown\nThis behaviour can be changed with the include_history flag\nWith the optional with_url boolean a download link can automatically be\nrequested for each Object This request contains a LabelOrIDQuery message,\nthis is either a list of request ObjectIDs or a query filtered by Labels", - "operationId": "ObjectService_GetObjects", + "summary": "GetUploadURL", + "description": "Status: BETA\n\nThis is a proxy method that will call the apropriate method at dataproxy level\nThis method will return a (multi-part) url that can be used to upload a\nfile to S3. Part is a optional query parameter that can be used to upload a\npart of the file / multipart upload.", + "operationId": "ObjectService_GetUploadURL", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectsResponse" + "$ref": "#/definitions/v2GetUploadURLResponse" } }, "default": { @@ -2078,41 +2068,56 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Collection id", + "name": "objectId", + "description": "ObjectId", "in": "path", "required": true, "type": "string" }, { - "name": "pageRequest.lastUuid", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pageRequest.pageSize", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "labelIdFilter.labels.andOrOr", - "description": "True if and, if empty or false or", + "name": "multipart", + "description": "Is this a multipart upload?", "in": "query", "required": false, "type": "boolean" }, { - "name": "labelIdFilter.labels.keysOnly", - "description": "Should only the keys be considered ?", + "name": "partNumber", + "description": "(optional) if multi was initialized", "in": "query", "required": false, - "type": "boolean" + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "ObjectService" + ] + } + }, + "/v2/objects": { + "get": { + "summary": "GetObjects", + "description": "Status: BETA\n\nGet multiple objects by ID at once", + "operationId": "ObjectService_GetObjects", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetObjectsResponse" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ { - "name": "labelIdFilter.ids", + "name": "objectIds", + "description": "Object ids", "in": "query", "required": false, "type": "array", @@ -2120,28 +2125,23 @@ "type": "string" }, "collectionFormat": "multi" - }, - { - "name": "withUrl", - "description": "With URL: Include URL in response ?", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ "ObjectService" ] - }, - "delete": { - "summary": "DeleteObjects", - "description": "Status: STABLE\n\nDeletes multiple objects at once.", - "operationId": "ObjectService_DeleteObjects", + } + }, + "/v2/project": { + "post": { + "summary": "CreateProject", + "description": "Status: BETA\n\nCreates a new project. All subsequent resources are part of a project.", + "operationId": "ProjectService_CreateProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteObjectsResponse" + "$ref": "#/definitions/v2CreateProjectResponse" } }, "default": { @@ -2152,54 +2152,30 @@ } }, "parameters": [ - { - "name": "collectionId", - "description": "CollectionID", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "objectIds": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Multiple ObjectIds" - }, - "withRevisions": { - "type": "boolean", - "title": "Delete including revisions" - }, - "force": { - "type": "boolean", - "title": "Force delete including revisions" - } - } + "$ref": "#/definitions/v2CreateProjectRequest" } } ], "tags": [ - "ObjectService" + "ProjectService" ] } }, - "/v1/collection/{collectionId}/objects/batch": { + "/v2/project/{projectId}": { "get": { - "summary": "GetDownloadLinksBatch", - "description": "Status: BETA\n\nThis method can be used to get download urls for multiple objects.\nThe order of the returned urls will be the same as the order of the object\nids in the request.", - "operationId": "ObjectService_GetDownloadLinksBatch", + "summary": "GetProject", + "description": "Status: BETA\n\nRequests a project (by id)", + "operationId": "ProjectService_GetProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetDownloadLinksBatchResponse" + "$ref": "#/definitions/v2GetProjectResponse" } }, "default": { @@ -2211,48 +2187,59 @@ }, "parameters": [ { - "name": "collectionId", - "description": "CollectionID", + "name": "projectId", + "description": "The id of the project to get", "in": "path", "required": true, "type": "string" + } + ], + "tags": [ + "ProjectService" + ] + }, + "delete": { + "summary": "DeleteProject", + "description": "Status: BETA\n\nDeletes the project and all its associated data. Must be empty!", + "operationId": "ProjectService_DeleteProject", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2DeleteProjectResponse" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ { - "name": "objects", - "description": "ObjectIds", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "name": "projectId", + "description": "The id of the project to destroy", + "in": "path", + "required": true, + "type": "string" } ], "tags": [ - "ObjectService" + "ProjectService" ] } }, - "/v1/collection/{collectionId}/objects/stream": { + "/v2/project/{projectId}/archive": { "post": { - "summary": "CreateDownloadLinksStream", - "description": "Status: BETA\n\nCreates a stream of objects and presigned links based on the provided query\nThis can be used retrieve a large number of Objects as a stream that would\notherwise cause issues with the connection", - "operationId": "ObjectService_CreateDownloadLinksStream", + "summary": "ArchiveProjectRequest", + "description": "Status: BETA\n\nArchives the full project, rendering all downstream relations immutable", + "operationId": "ProjectService_ArchiveProject", "responses": { "200": { - "description": "A successful response.(streaming responses)", + "description": "A successful response.", "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/v1CreateDownloadLinksStreamResponse" - }, - "error": { - "$ref": "#/definitions/googlerpcStatus" - } - }, - "title": "Stream result of v1CreateDownloadLinksStreamResponse" + "$ref": "#/definitions/v2ArchiveProjectResponse" } }, "default": { @@ -2264,8 +2251,7 @@ }, "parameters": [ { - "name": "collectionId", - "description": "CollectionID", + "name": "projectId", "in": "path", "required": true, "type": "string" @@ -2275,34 +2261,25 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "objects": { - "type": "array", - "items": { - "type": "string" - }, - "title": "ObjectIds" - } - } + "type": "object" } } ], "tags": [ - "ObjectService" + "ProjectService" ] } }, - "/v1/collection/{collectionId}/path/{path}/visibility": { + "/v2/project/{projectId}/data_class": { "patch": { - "summary": "SetObjectPathVisibility", - "description": "Status: BETA\n\nUpdates the visibility setting for an object_path (hide/unhide)\n!! Paths are collection specific !!", - "operationId": "ObjectService_SetObjectPathVisibility", + "summary": "UpdateProjectDataClass", + "description": "Status: BETA\n\nUpdates the project name. All (meta) data will be overwritten.", + "operationId": "ProjectService_UpdateProjectDataClass", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1SetObjectPathVisibilityResponse" + "$ref": "#/definitions/v2UpdateProjectDataClassResponse" } }, "default": { @@ -2314,18 +2291,11 @@ }, "parameters": [ { - "name": "collectionId", + "name": "projectId", "in": "path", "required": true, "type": "string" }, - { - "name": "path", - "in": "path", - "required": true, - "type": "string", - "pattern": ".+" - }, { "name": "body", "in": "body", @@ -2333,28 +2303,28 @@ "schema": { "type": "object", "properties": { - "visibility": { - "type": "boolean" + "dataClass": { + "$ref": "#/definitions/v2DataClass" } } } } ], "tags": [ - "ObjectService" + "ProjectService" ] } }, - "/v1/collection/{collectionId}/paths": { - "get": { - "summary": "GetObjectPaths", - "description": "Status: BETA\n\nGet all object_paths for a specific collection\n!! Paths are collection specific !!", - "operationId": "ObjectService_GetObjectPaths", + "/v2/project/{projectId}/description": { + "patch": { + "summary": "UpdateProjectDescription", + "description": "Status: BETA\n\nUpdates the project name.", + "operationId": "ProjectService_UpdateProjectDescription", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectPathsResponse" + "$ref": "#/definitions/v2UpdateProjectDescriptionResponse" } }, "default": { @@ -2366,33 +2336,40 @@ }, "parameters": [ { - "name": "collectionId", + "name": "projectId", "in": "path", "required": true, "type": "string" }, { - "name": "includeInactive", - "in": "query", - "required": false, - "type": "boolean" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "description": { + "type": "string" + } + } + } } ], "tags": [ - "ObjectService" + "ProjectService" ] } }, - "/v1/collection/{collectionId}/pin": { - "post": { - "summary": "PinCollectionVersion", - "description": "Status: STABLE\n\nThis pins the current status of the version to a\nspecific version. Effectively creating a copy of the collection with a\nstable version All objects will be pinned to an explicit revision number\nPinned collections can not be updated in place", - "operationId": "CollectionService_PinCollectionVersion", + "/v2/project/{projectId}/key_values": { + "patch": { + "summary": "UpdateProjectKeyValues", + "description": "Status: BETA\n\nUpdates the project key values.", + "operationId": "ProjectService_UpdateProjectKeyValues", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1PinCollectionVersionResponse" + "$ref": "#/definitions/v2UpdateProjectKeyValuesResponse" } }, "default": { @@ -2404,8 +2381,7 @@ }, "parameters": [ { - "name": "collectionId", - "description": "Old collection_id", + "name": "projectId", "in": "path", "required": true, "type": "string" @@ -2417,28 +2393,39 @@ "schema": { "type": "object", "properties": { - "version": { - "$ref": "#/definitions/v1Version" + "addKeyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + } + }, + "removeKeyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + } } } } } ], "tags": [ - "CollectionService" + "ProjectService" ] } }, - "/v1/collections/{projectId}": { - "get": { - "summary": "GetCollections", - "description": "Status: STABLE\n\nqueries multiple collections by ID or by LabelFilter\nThis returns by default a paginated result with 20 entries.\nMust specify a project_id as context", - "operationId": "CollectionService_GetCollections", + "/v2/project/{projectId}/name": { + "patch": { + "summary": "UpdateProjectName", + "description": "Status: BETA\n\nUpdates the project name. Caveat! Will rename the \"s3 bucket\" for data proxies!", + "operationId": "ProjectService_UpdateProjectName", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetCollectionsResponse" + "$ref": "#/definitions/v2UpdateProjectNameResponse" } }, "default": { @@ -2451,64 +2438,39 @@ "parameters": [ { "name": "projectId", - "description": "Project id", "in": "path", "required": true, "type": "string" }, { - "name": "labelOrIdFilter.labels.andOrOr", - "description": "True if and, if empty or false or", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "labelOrIdFilter.labels.keysOnly", - "description": "Should only the keys be considered ?", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "labelOrIdFilter.ids", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "pageRequest.lastUuid", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pageRequest.pageSize", - "in": "query", - "required": false, - "type": "string", - "format": "int64" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } } ], "tags": [ - "CollectionService" + "ProjectService" ] } }, - "/v1/endpoint": { + "/v2/projects": { "get": { - "summary": "GetEndpoint", - "description": "Status: BETA\n\nGets an specific endpoint by ID or Name", - "operationId": "EndpointService_GetEndpoint", + "summary": "GetProjects", + "description": "Status: BETA\n\nAdmin request to get all projects", + "operationId": "ProjectService_GetProjects", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetEndpointResponse" + "$ref": "#/definitions/v2GetProjectsResponse" } }, "default": { @@ -2520,33 +2482,32 @@ }, "parameters": [ { - "name": "endpointName", - "description": "The name of the endpoint", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "endpointId", - "description": "Id of the endpoint", + "name": "projectIds", + "description": "optional filter for specific ids", "in": "query", "required": false, - "type": "string" + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" } ], "tags": [ - "EndpointService" + "ProjectService" ] - }, + } + }, + "/v2/relation": { "post": { - "summary": "AddEndpoint", - "description": "Status: BETA\n\nRegisters a new Endpoint (Aruna DataProxy) to the server\nNeeds admin permissions", - "operationId": "EndpointService_AddEndpoint", + "summary": "ModifyRelation", + "description": "Status: BETA\n\nModifys all relations to / from a resource", + "operationId": "RelationsService_ModifyRelations", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1AddEndpointResponse" + "$ref": "#/definitions/v2ModifyRelationsResponse" } }, "default": { @@ -2562,25 +2523,25 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1AddEndpointRequest" + "$ref": "#/definitions/v2ModifyRelationsRequest" } } ], "tags": [ - "EndpointService" + "RelationsService" ] } }, - "/v1/endpoint/default": { + "/v2/relation/hierarchy": { "get": { - "summary": "GetDefaultEndpoint", - "description": "Status: BETA\n\nThis request returns the default endpoint for the current aruna_server\nIt may produce different results depending on the used server", - "operationId": "EndpointService_GetDefaultEndpoint", + "summary": "GetHierachy", + "description": "Status: BETA\n\nGets all downstream hierarchy relations from a resource", + "operationId": "RelationsService_GetHierarchy", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetDefaultEndpointResponse" + "$ref": "#/definitions/v2GetHierarchyResponse" } }, "default": { @@ -2590,21 +2551,29 @@ } } }, + "parameters": [ + { + "name": "resourceId", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ - "EndpointService" + "RelationsService" ] } }, - "/v1/endpoint/{endpointId}": { - "delete": { - "summary": "DeleteEndpoint", - "description": "Status: BETA\n\nDeletes a specific endpoint by id\nThis needs admin permissions", - "operationId": "EndpointService_DeleteEndpoint", + "/v2/replica/pull": { + "post": { + "summary": "PullReplica", + "description": "Status: BETA\n\nManually request data to be transferred to this data-proxy", + "operationId": "DataproxyUserService_PullReplica", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteEndpointResponse" + "$ref": "#/definitions/v2PullReplicaResponse" } }, "default": { @@ -2616,28 +2585,29 @@ }, "parameters": [ { - "name": "endpointId", - "description": "Endpoint_id to delete", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/v2PullReplicaRequest" + } } ], "tags": [ - "EndpointService" + "DataproxyUserService" ] } }, - "/v1/endpoints": { - "get": { - "summary": "GetEndpoints", - "description": "Status: BETA\n\nGets all available endpoints", - "operationId": "EndpointService_GetEndpoints", + "/v2/replica/push": { + "post": { + "summary": "PushReplica", + "description": "Status: BETA\n\nManually transfers a replica to another data-proxy", + "operationId": "DataproxyUserService_PushReplica", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetEndpointsResponse" + "$ref": "#/definitions/v2PushReplicaResponse" } }, "default": { @@ -2647,45 +2617,31 @@ } } }, - "tags": [ - "EndpointService" - ] - } - }, - "/v1/info/status": { - "get": { - "summary": "GetStorageStatus", - "description": "Status: ALPHA\n\nA request to get the current status of the storage components by location(s)", - "operationId": "StorageInfoService_GetStorageStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/v1GetStorageStatusResponse" - } - }, - "default": { - "description": "An unexpected error response.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, "schema": { - "$ref": "#/definitions/googlerpcStatus" + "$ref": "#/definitions/v2PushReplicaRequest" } } - }, + ], "tags": [ - "StorageInfoService" + "DataproxyUserService" ] } }, - "/v1/info/version": { + "/v2/replica/status": { "get": { - "summary": "GetStorageVersion", - "description": "Status: ALPHA\n\nA request to get the current version of the server application\nString representation and https://semver.org/", - "operationId": "StorageInfoService_GetStorageVersion", + "summary": "PullReplica", + "description": "Status: BETA\n\nStatus of the previous replication request", + "operationId": "DataproxyUserService_ReplicationStatus", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetStorageVersionResponse" + "$ref": "#/definitions/v2ReplicationStatusResponse" } }, "default": { @@ -2695,21 +2651,29 @@ } } }, + "parameters": [ + { + "name": "replicationId", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ - "StorageInfoService" + "DataproxyUserService" ] } }, - "/v1/path/collection/{path}": { + "/v2/resource/{resourceId}": { "get": { - "summary": "GetProjectCollectionIdsByPath", - "description": "Status: BETA\n\nGets a specific project and collection_id by object_path\n!! Paths are collection specific !!", - "operationId": "ObjectService_GetProjectCollectionIdsByPath", + "summary": "GetResource", + "description": "Status: BETA\n\nRetrieves resource by its ID.", + "operationId": "SearchService_GetResource", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetProjectCollectionIdsByPathResponse" + "$ref": "#/definitions/v2GetResourceResponse" } }, "default": { @@ -2721,28 +2685,27 @@ }, "parameters": [ { - "name": "path", + "name": "resourceId", "in": "path", "required": true, - "type": "string", - "pattern": ".+" + "type": "string" } ], "tags": [ - "ObjectService" + "SearchService" ] } }, - "/v1/path/object/{path}": { + "/v2/resource/{resourceId}/access": { "get": { - "summary": "GetObjectsByPath", - "description": "Status: BETA\n\nGets a specific object by object_path\n!! Paths are collection specific !!", - "operationId": "ObjectService_GetObjectsByPath", + "summary": "RequestResourceAccess", + "description": "Status: ALPHA\n\nRequests access to resources", + "operationId": "SearchService_RequestResourceAccess", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectsByPathResponse" + "$ref": "#/definitions/v2RequestResourceAccessResponse" } }, "default": { @@ -2754,34 +2717,33 @@ }, "parameters": [ { - "name": "path", + "name": "resourceId", "in": "path", "required": true, - "type": "string", - "pattern": ".+" + "type": "string" }, { - "name": "withRevisions", + "name": "message", "in": "query", "required": false, - "type": "boolean" + "type": "string" } ], "tags": [ - "ObjectService" + "SearchService" ] } }, - "/v1/path/objects/listv2": { + "/v2/resources": { "get": { - "summary": "GetObjectsAsListV2", - "description": "Status: ALPHA\n\nGets a list of ObjectWithURLs represented similar to a S3 ListObjectsV2 request\n!! Paths are collection specific !!", - "operationId": "ObjectService_GetObjectsAsListV2", + "summary": "GetResources", + "description": "Status: BETA\n\nRetrieves resources by a list of IDs.", + "operationId": "SearchService_GetResources", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetObjectsAsListV2Response" + "$ref": "#/definitions/v2GetResourcesResponse" } }, "default": { @@ -2793,59 +2755,31 @@ }, "parameters": [ { - "name": "bucket", - "description": "Required", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "continuationToken", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "delimiter", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "maxKeys", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "prefix", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "startAfter", + "name": "resourceIds", "in": "query", "required": false, - "type": "string" + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" } ], "tags": [ - "ObjectService" + "SearchService" ] } }, - "/v1/project": { + "/v2/search": { "post": { - "summary": "CreateProject", - "description": "Status: STABLE\n\nCreates a new project all users and collections are bundled in a project.", - "operationId": "ProjectService_CreateProject", + "summary": "SearchResources", + "description": "Status: BETA\n\nSearches the index for applicable resources (only public + private can be searched)", + "operationId": "SearchService_SearchResources", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateProjectResponse" + "$ref": "#/definitions/v2SearchResourcesResponse" } }, "default": { @@ -2861,25 +2795,25 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1CreateProjectRequest" + "$ref": "#/definitions/v2SearchResourcesRequest" } } ], "tags": [ - "ProjectService" + "SearchService" ] } }, - "/v1/project/{projectId}": { - "get": { - "summary": "GetProject", - "description": "Status: STABLE\n\nRequests a project by id", - "operationId": "ProjectService_GetProject", + "/v2/service_account": { + "post": { + "summary": "CreateServiceAccount", + "description": "Status: BETA\n\nCreates a service account for a given project\nIf the service account has permissions for the global Admin project\nit will be a global service account that can interact with any resource", + "operationId": "ServiceAccountService_CreateServiceAccount", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetProjectResponse" + "$ref": "#/definitions/v2CreateServiceAccountResponse" } }, "default": { @@ -2891,26 +2825,29 @@ }, "parameters": [ { - "name": "projectId", - "description": "The id of the project to get", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/v2CreateServiceAccountRequest" + } } ], "tags": [ - "ProjectService" + "ServiceAccountService" ] - }, + } + }, + "/v2/service_account/{svcAccountId}": { "delete": { - "summary": "DestroyProject", - "description": "Status: STABLE\n\nDestroys the project and all its associated data. Must be empty\n(cannot contain any collections).", - "operationId": "ProjectService_DestroyProject", + "summary": "DeleteServiceAccount", + "description": "Status: BETA\n\nDeletes a service account (by id)", + "operationId": "ServiceAccountService_DeleteServiceAccount", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DestroyProjectResponse" + "$ref": "#/definitions/v2DeleteServiceAccountResponse" } }, "default": { @@ -2922,26 +2859,27 @@ }, "parameters": [ { - "name": "projectId", - "description": "The id of the project to destroy", + "name": "svcAccountId", "in": "path", "required": true, "type": "string" } ], "tags": [ - "ProjectService" + "ServiceAccountService" ] - }, + } + }, + "/v2/service_account/{svcAccountId}/permissions": { "put": { - "summary": "UpdateProject", - "description": "Status: STABLE\n\nUpdates the project. All (meta) data will be overwritten.", - "operationId": "ProjectService_UpdateProject", + "summary": "SetServiceAccountPermission", + "description": "Status: BETA\n\nOverwrites the project specific permissions for a service account", + "operationId": "ServiceAccountService_SetServiceAccountPermission", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1UpdateProjectResponse" + "$ref": "#/definitions/v2SetServiceAccountPermissionResponse" } }, "default": { @@ -2953,50 +2891,40 @@ }, "parameters": [ { - "name": "projectId", - "description": "Project id to update", + "name": "svcAccountId", "in": "path", "required": true, "type": "string" }, { - "name": "name", - "description": "Updated name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "description", - "description": "Update description", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "flag", - "description": "Project binary flag(s)", - "in": "query", - "required": false, - "type": "string", - "format": "int64" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "permission": { + "$ref": "#/definitions/v2Permission" + } + } + } } ], "tags": [ - "ProjectService" + "ServiceAccountService" ] } }, - "/v1/project/{projectId}/add_user": { - "post": { - "summary": "AddUserToProject", - "description": "Status: STABLE\n\nAdds a new user to a given project by its id", - "operationId": "ProjectService_AddUserToProject", + "/v2/service_account/{svcAccountId}/s3_credentials": { + "get": { + "summary": "GetS3Credentials", + "description": "Status: ALPHA\n\nGets s3 credentials for a specific user and data_proxy", + "operationId": "ServiceAccountService_GetS3CredentialsSvcAccount", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1AddUserToProjectResponse" + "$ref": "#/definitions/v2GetS3CredentialsSvcAccountResponse" } }, "default": { @@ -3008,41 +2936,33 @@ }, "parameters": [ { - "name": "projectId", - "description": "The id of the project to add the user to", + "name": "svcAccountId", "in": "path", "required": true, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "userPermission": { - "$ref": "#/definitions/v1ProjectPermission" - } - } - } + "name": "endpointId", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "ProjectService" + "ServiceAccountService" ] } }, - "/v1/project/{projectId}/edit_user": { - "patch": { - "summary": "EditUserPermissionsForProject", - "description": "Status: STABLE\n\nModifies the user_permission of a specific user for the project.", - "operationId": "ProjectService_EditUserPermissionsForProject", + "/v2/service_account/{svcAccountId}/token": { + "post": { + "summary": "CreateServiceAccountToken", + "description": "Status: BETA\n\nCreates a token for a service account\nEach service account can only have one permission -\u003e The token will have the same permission as the\nservice account", + "operationId": "ServiceAccountService_CreateServiceAccountToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1EditUserPermissionsForProjectResponse" + "$ref": "#/definitions/v2CreateServiceAccountTokenResponse" } }, "default": { @@ -3054,8 +2974,7 @@ }, "parameters": [ { - "name": "projectId", - "description": "Project id", + "name": "svcAccountId", "in": "path", "required": true, "type": "string" @@ -3067,28 +2986,38 @@ "schema": { "type": "object", "properties": { - "userPermission": { - "$ref": "#/definitions/v1ProjectPermission" + "permission": { + "$ref": "#/definitions/v2Permission", + "title": "Identify the associated project (should always be provided)" + }, + "name": { + "type": "string", + "title": "(optional) Token name" + }, + "expiresAt": { + "type": "string", + "format": "date-time", + "title": "(optional) Token expiry" } } } } ], "tags": [ - "ProjectService" + "ServiceAccountService" ] } }, - "/v1/project/{projectId}/get_user": { + "/v2/service_account/{svcAccountId}/token/{tokenId}": { "get": { - "summary": "GetUserPermissionsForProject", - "description": "Status: STABLE\n\nGet the user_permission of a specific user for the project.", - "operationId": "ProjectService_GetUserPermissionsForProject", + "summary": "GetServiceAccountToken", + "description": "Status: BETA\n\nThis requests the overall information about a specifc service account token (by id)\nit will not contain the token itself.", + "operationId": "ServiceAccountService_GetServiceAccountToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetUserPermissionsForProjectResponse" + "$ref": "#/definitions/v2GetServiceAccountTokenResponse" } }, "default": { @@ -3100,35 +3029,31 @@ }, "parameters": [ { - "name": "projectId", - "description": "Project id", + "name": "svcAccountId", "in": "path", "required": true, "type": "string" }, { - "name": "userId", - "description": "User id", - "in": "query", - "required": false, + "name": "tokenId", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "ProjectService" + "ServiceAccountService" ] - } - }, - "/v1/project/{projectId}/get_users": { - "get": { - "summary": "GetAllUserPermissionsForProject", - "description": "Status: ALPHA\n\nGet the user_permission of a specific user for the project.", - "operationId": "ProjectService_GetAllUserPermissionsForProject", + }, + "delete": { + "summary": "DeleteServiceAccountToken", + "description": "Status: BETA\n\nDeletes one service account token by ID", + "operationId": "ServiceAccountService_DeleteServiceAccountToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetAllUserPermissionsForProjectResponse" + "$ref": "#/definitions/v2DeleteServiceAccountTokenResponse" } }, "default": { @@ -3140,28 +3065,33 @@ }, "parameters": [ { - "name": "projectId", - "description": "Project id", + "name": "svcAccountId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "tokenId", "in": "path", "required": true, "type": "string" } ], "tags": [ - "ProjectService" + "ServiceAccountService" ] } }, - "/v1/project/{projectId}/remove_user": { - "delete": { - "summary": "RemoveUserFromProject", - "description": "Status: STABLE\n\nRemoves a specified user from the project.", - "operationId": "ProjectService_RemoveUserFromProject", + "/v2/service_account/{svcAccountId}/tokens": { + "get": { + "summary": "GetServiceAccountTokens", + "description": "Status: BETA\n\nThis requests the overall information about all service account tokens\nit will not contain the token itself.", + "operationId": "ServiceAccountService_GetServiceAccountTokens", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1RemoveUserFromProjectResponse" + "$ref": "#/definitions/v2GetServiceAccountTokensResponse" } }, "default": { @@ -3173,35 +3103,25 @@ }, "parameters": [ { - "name": "projectId", - "description": "Project id", + "name": "svcAccountId", "in": "path", "required": true, "type": "string" - }, - { - "name": "userId", - "description": "User that should be removed", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ - "ProjectService" + "ServiceAccountService" ] - } - }, - "/v1/projects": { - "get": { - "summary": "GetProjects", - "description": "Status: STABLE\n\nAdmin request to get all projects", - "operationId": "ProjectService_GetProjects", + }, + "delete": { + "summary": "DeleteServiceAccountTokens", + "description": "Status: BETA\n\nDeletes all service account tokens", + "operationId": "ServiceAccountService_DeleteServiceAccountTokens", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetProjectsResponse" + "$ref": "#/definitions/v2DeleteServiceAccountTokensResponse" } }, "default": { @@ -3211,21 +3131,29 @@ } } }, + "parameters": [ + { + "name": "svcAccountId", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ - "ProjectService" + "ServiceAccountService" ] } }, - "/v1/service_account": { - "post": { - "summary": "CreateServiceAccount", - "description": "Creates a service account for a given project\nIf the service account has permissions for the global Admin project\nit will be a global service account that can interact with any resource", - "operationId": "ServiceAccountService_CreateServiceAccount", + "/v2/user": { + "get": { + "summary": "GetUserRequest", + "description": "Status: STABLE\n\nThis is a request that returns the user information of the\ncurrent user or if invoked by an admin from another user", + "operationId": "UserService_GetUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateServiceAccountResponse" + "$ref": "#/definitions/v2GetUserResponse" } }, "default": { @@ -3237,29 +3165,28 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1CreateServiceAccountRequest" - } + "name": "userId", + "description": "Optional user_id", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "ServiceAccountService" + "UserService" ] } }, - "/v1/service_account/project/{projectId}": { + "/v2/user/acknowledge": { "get": { - "summary": "GetServiceAccountsByProject", - "description": "Will request all service_accounts for a given project\neach service account is bound to a specific project", - "operationId": "ServiceAccountService_GetServiceAccountsByProject", + "summary": "AcknowledgePersonalNotifications", + "description": "Status: ALPHA\n\nAcknowledges personal notifications", + "operationId": "UserService_AcknowledgePersonalNotifications", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetServiceAccountsByProjectResponse" + "$ref": "#/definitions/v2AcknowledgePersonalNotificationsResponse" } }, "default": { @@ -3271,27 +3198,31 @@ }, "parameters": [ { - "name": "projectId", - "in": "path", - "required": true, - "type": "string" + "name": "notificationIds", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" } ], "tags": [ - "ServiceAccountService" + "UserService" ] } }, - "/v1/service_account/{svcAccountId}": { - "delete": { - "summary": "DeleteServiceAccount", - "description": "Deletes a service account (by id)", - "operationId": "ServiceAccountService_DeleteServiceAccount", + "/v2/user/all": { + "get": { + "summary": "GetAllUsers", + "description": "Status: ALPHA\n\nGet all users including permissions (Admin only)", + "operationId": "UserService_GetAllUsers", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteServiceAccountResponse" + "$ref": "#/definitions/v2GetAllUsersResponse" } }, "default": { @@ -3301,29 +3232,21 @@ } } }, - "parameters": [ - { - "name": "svcAccountId", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "ServiceAccountService" + "UserService" ] } }, - "/v1/service_account/{svcAccountId}/permissions": { - "put": { - "summary": "SetServiceAccountPermission", - "description": "Overwrites the project specific permissions for a service account", - "operationId": "ServiceAccountService_SetServiceAccountPermission", + "/v2/user/display_name": { + "patch": { + "summary": "UpdateUserDisplayName", + "description": "Status: STABLE\n\nUpdates the Displayname for the user (Personal only)", + "operationId": "UserService_UpdateUserDisplayName", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1SetServiceAccountPermissionResponse" + "$ref": "#/definitions/v2UpdateUserDisplayNameResponse" } }, "default": { @@ -3334,41 +3257,30 @@ } }, "parameters": [ - { - "name": "svcAccountId", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "newPermission": { - "$ref": "#/definitions/v1Permission" - } - } + "$ref": "#/definitions/v2UpdateUserDisplayNameRequest" } } ], "tags": [ - "ServiceAccountService" + "UserService" ] } }, - "/v1/service_account/{svcAccountId}/token": { - "post": { - "summary": "CreateServiceAccountToken", - "description": "Creates a token for a service account\nEach service account can only have one permission -\u003e The token will have the same permission as the\nservice account", - "operationId": "ServiceAccountService_CreateServiceAccountToken", + "/v2/user/not_activated": { + "get": { + "summary": "GetNotActivatedUsers", + "description": "Status: STABLE\n\nGet all not activated users (Admin only)", + "operationId": "UserService_GetNotActivatedUsers", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateServiceAccountTokenResponse" + "$ref": "#/definitions/v2GetNotActivatedUsersResponse" } }, "default": { @@ -3378,59 +3290,21 @@ } } }, - "parameters": [ - { - "name": "svcAccountId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "projectId": { - "type": "string", - "title": "Identify the associated project (should always be provided)" - }, - "collectionId": { - "type": "string", - "title": "Collection id, will be empty if permission should be on project level" - }, - "name": { - "type": "string", - "title": "(optional) Token name" - }, - "expiresAt": { - "type": "string", - "format": "date-time", - "title": "(optional) Token expiry" - }, - "permission": { - "$ref": "#/definitions/v1Permission" - } - } - } - } - ], "tags": [ - "ServiceAccountService" + "UserService" ] } }, - "/v1/service_account/{svcAccountId}/token/{tokenId}": { + "/v2/user/notifications": { "get": { - "summary": "GetServiceAccountToken", - "description": "This requests the overall information about a specifc service account token (by id)\nit will not contain the token itself.", - "operationId": "ServiceAccountService_GetServiceAccountToken", + "summary": "GetPersonalNotifications", + "description": "Status: ALPHA\n\nFetches personal notifications", + "operationId": "UserService_GetPersonalNotifications", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetServiceAccountTokenResponse" + "$ref": "#/definitions/v2GetPersonalNotificationsResponse" } }, "default": { @@ -3440,33 +3314,21 @@ } } }, - "parameters": [ - { - "name": "svcAccountId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "tokenId", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "ServiceAccountService" + "UserService" ] - }, - "delete": { - "summary": "DeleteServiceAccountToken", - "description": "Deletes one service account token by ID", - "operationId": "ServiceAccountService_DeleteServiceAccountToken", + } + }, + "/v2/user/redacted": { + "get": { + "summary": "GetUserRequestRedacted", + "description": "Status: STABLE\n\nThis is a request that returns the user information of the\ncurrent user or if invoked by an admin from another user\nRedacts personal information like name or email", + "operationId": "UserService_GetUserRedacted", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteServiceAccountTokenResponse" + "$ref": "#/definitions/v2GetUserRedactedResponse" } }, "default": { @@ -3478,33 +3340,28 @@ }, "parameters": [ { - "name": "svcAccountId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "tokenId", - "in": "path", - "required": true, + "name": "userId", + "description": "Optional user_id", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "ServiceAccountService" + "UserService" ] } }, - "/v1/service_account/{svcAccountId}/tokens": { - "get": { - "summary": "GetServiceAccountTokens", - "description": "This requests the overall information about all service account tokens\nit will not contain the token itself.", - "operationId": "ServiceAccountService_GetServiceAccountTokens", + "/v2/user/{userId}/activate": { + "patch": { + "summary": "ActivateUser", + "description": "Status: BETA\n\nThis activates a specific user (Admin request)", + "operationId": "UserService_ActivateUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetServiceAccountTokensResponse" + "$ref": "#/definitions/v2ActivateUserResponse" } }, "default": { @@ -3516,25 +3373,36 @@ }, "parameters": [ { - "name": "svcAccountId", + "name": "userId", + "description": "User to activate", "in": "path", "required": true, "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } } ], "tags": [ - "ServiceAccountService" + "UserService" ] - }, - "delete": { - "summary": "DeleteServiceAccountTokens", - "description": "Deletes all service account tokens", - "operationId": "ServiceAccountService_DeleteServiceAccountTokens", + } + }, + "/v2/user/{userId}/deactivate": { + "patch": { + "summary": "DeActivateUser", + "description": "Status: BETA\n\nThis deactivates a specific user (Admin request)", + "operationId": "UserService_DeactivateUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteServiceAccountTokensResponse" + "$ref": "#/definitions/v2DeactivateUserResponse" } }, "default": { @@ -3546,27 +3414,36 @@ }, "parameters": [ { - "name": "svcAccountId", + "name": "userId", + "description": "User to activate", "in": "path", "required": true, "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } } ], "tags": [ - "ServiceAccountService" + "UserService" ] } }, - "/v1/user": { - "get": { - "summary": "GetUserRequest", - "description": "Status: STABLE\n\nThis is a request that returns the user information of the\ncurrent user or if invoked by an admin from another user", - "operationId": "UserService_GetUser", + "/v2/user/{userId}/email": { + "patch": { + "summary": "UpdateUserDisplayName", + "description": "Status: ALPHA\n\nUpdates the email for the user (Personal only)", + "operationId": "UserService_UpdateUserEmail", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetUserResponse" + "$ref": "#/definitions/v2UpdateUserEmailResponse" } }, "default": { @@ -3579,27 +3456,40 @@ "parameters": [ { "name": "userId", - "description": "Optional user_id", - "in": "query", - "required": false, + "in": "path", + "required": true, "type": "string" - } - ], - "tags": [ + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "newEmail": { + "type": "string", + "title": "If new email is empty == unsubscribe" + } + } + } + } + ], + "tags": [ "UserService" ] } }, - "/v1/user/all": { + "/v2/user/{userId}/proxy_token": { "get": { - "summary": "GetAllUsers", - "description": "Status: ALPHA\n\nGet all users inkluding permissions (Admin only)", - "operationId": "UserService_GetAllUsers", + "summary": "GetDataproxyToken", + "description": "Status: ALPHA\n\nGets token for a specific user and data_proxy", + "operationId": "UserService_GetDataproxyTokenUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetAllUsersResponse" + "$ref": "#/definitions/v2GetDataproxyTokenUserResponse" } }, "default": { @@ -3611,7 +3501,37 @@ }, "parameters": [ { - "name": "includePermissions", + "name": "userId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "endpointId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "context.s3Credentials", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "context.copy.resource", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "context.copy.targetEndpoint", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "context.copy.push", "in": "query", "required": false, "type": "boolean" @@ -3622,16 +3542,16 @@ ] } }, - "/v1/user/display_name": { - "patch": { - "summary": "UpdateUserDisplayName", - "description": "Status: STABLE\n\nUpdates the Displayname for the user (Personal only)", - "operationId": "UserService_UpdateUserDisplayName", + "/v2/user/{userId}/s3_credentials": { + "get": { + "summary": "GetS3Credentials", + "description": "Status: ALPHA\n\nGets s3 credentials for a specific user and data_proxy", + "operationId": "UserService_GetS3CredentialsUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1UpdateUserDisplayNameResponse" + "$ref": "#/definitions/v2GetS3CredentialsUserResponse" } }, "default": { @@ -3643,12 +3563,16 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "userId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/v1UpdateUserDisplayNameRequest" - } + "type": "string" + }, + { + "name": "endpointId", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -3656,16 +3580,16 @@ ] } }, - "/v1/user/email": { - "patch": { - "summary": "UpdateUserDisplayName", - "description": "Status: ALPHA\n\nUpdates the email for the user (Personal only)", - "operationId": "UserService_UpdateUserEmail", + "/v2/user/{userId}/svc_proxy_token": { + "get": { + "summary": "GetDataproxyToken", + "description": "Status: ALPHA\n\nGets token for a specific user and data_proxy", + "operationId": "ServiceAccountService_GetDataproxyTokenSvcAccount", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1UpdateUserEmailResponse" + "$ref": "#/definitions/v2GetDataproxyTokenSvcAccountResponse" } }, "default": { @@ -3677,29 +3601,57 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "userId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/v1UpdateUserEmailRequest" - } + "type": "string" + }, + { + "name": "endpointId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "context.s3Credentials", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "context.copy.resource", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "context.copy.targetEndpoint", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "context.copy.push", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ - "UserService" + "ServiceAccountService" ] } }, - "/v1/user/not_activated": { - "get": { - "summary": "GetNotActivatedUsers", - "description": "Status: STABLE\n\nGet all not activated users (Admin only)", - "operationId": "UserService_GetNotActivatedUsers", + "/v2/workspace": { + "post": { + "summary": "CreateWorkspace", + "description": "Status: ALPHA\n\nA new request to create a personal anonymous workspace", + "operationId": "WorkspaceService_CreateWorkspace", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetNotActivatedUsersResponse" + "$ref": "#/definitions/v2CreateWorkspaceResponse" } }, "default": { @@ -3709,21 +3661,31 @@ } } }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v2CreateWorkspaceRequest" + } + } + ], "tags": [ - "UserService" + "WorkspaceService" ] } }, - "/v1/user/{userId}/activate": { - "patch": { - "summary": "ActivateUser", - "description": "Status: STABLE\n\nThis activates a specific user (Admin request)", - "operationId": "UserService_ActivateUser", + "/v2/workspace/template": { + "get": { + "summary": "ListOwnedWorkspaceTemplates", + "description": "Status: ALPHA\n\nLists owned workspace templates", + "operationId": "WorkspaceService_ListOwnedWorkspaceTemplates", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1ActivateUserResponse" + "$ref": "#/definitions/v2ListOwnedWorkspaceTemplatesResponse" } }, "default": { @@ -3733,43 +3695,19 @@ } } }, - "parameters": [ - { - "name": "userId", - "description": "User to activate", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "projectPerms": { - "$ref": "#/definitions/v1ProjectPermission" - } - } - } - } - ], "tags": [ - "UserService" + "WorkspaceService" ] - } - }, - "/v1/user/{userId}/deactivate": { - "patch": { - "summary": "DeActivateUser", - "description": "Status: ALPHA\n\nThis deactivates a specific user (Admin request)", - "operationId": "UserService_DeactivateUser", + }, + "post": { + "summary": "CreatesNewWorkspaceTemplate", + "description": "Status: ALPHA\n\nThis will create a new template for workspaces (admin only)", + "operationId": "WorkspaceService_CreateWorkspaceTemplate", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeactivateUserResponse" + "$ref": "#/definitions/v2CreateWorkspaceTemplateResponse" } }, "default": { @@ -3780,37 +3718,30 @@ } }, "parameters": [ - { - "name": "userId", - "description": "User to activate", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object" + "$ref": "#/definitions/v2CreateWorkspaceTemplateRequest" } } ], "tags": [ - "UserService" + "WorkspaceService" ] } }, - "/v1/user/{userId}/projects": { + "/v2/workspace/template/{templateId}": { "get": { - "summary": "GetUserProjects", - "description": "Status: STABLE\n\nGets all project_ids a user is member of", - "operationId": "UserService_GetUserProjects", + "summary": "GetWorkspaceTemplatesById", + "description": "Status: ALPHA\n\nGets workspace template by id", + "operationId": "WorkspaceService_GetWorkspaceTemplate", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1GetUserProjectsResponse" + "$ref": "#/definitions/v2GetWorkspaceTemplateResponse" } }, "default": { @@ -3822,28 +3753,25 @@ }, "parameters": [ { - "name": "userId", - "description": "User id", + "name": "templateId", "in": "path", "required": true, "type": "string" } ], "tags": [ - "UserService" + "WorkspaceService" ] - } - }, - "/v1/workspace": { - "post": { - "summary": "CreateWorkspace", - "description": "Status: ALPHA\n\nA new request to create a personal anonymous workspace", - "operationId": "WorkspaceService_CreateWorkspace", + }, + "delete": { + "summary": "DeleteWorkspaceTemplates", + "description": "Status: ALPHA\n\nDeletes specified workspace templates", + "operationId": "WorkspaceService_DeleteWorkspaceTemplate", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1CreateWorkspaceResponse" + "$ref": "#/definitions/v2DeleteWorkspaceTemplateResponse" } }, "default": { @@ -3854,12 +3782,18 @@ } }, "parameters": [ + { + "name": "templateId", + "in": "path", + "required": true, + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1CreateWorkspaceRequest" + "type": "object" } } ], @@ -3868,7 +3802,7 @@ ] } }, - "/v1/workspace/{workspaceId}": { + "/v2/workspace/{workspaceId}": { "delete": { "summary": "DeleteWorkspace", "description": "Status: ALPHA\n\nDelete a workspace", @@ -3877,7 +3811,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1DeleteWorkspaceResponse" + "$ref": "#/definitions/v2DeleteWorkspaceResponse" } }, "default": { @@ -3908,7 +3842,7 @@ ] } }, - "/v1/workspace/{workspaceId}/claim": { + "/v2/workspace/{workspaceId}/claim": { "post": { "summary": "DeleteWorkspace", "description": "Status: ALPHA\n\nClaims an anonymous workspace, and transfers the owner to a regular user account.", @@ -3917,7 +3851,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1ClaimWorkspaceResponse" + "$ref": "#/definitions/v2ClaimWorkspaceResponse" } }, "default": { @@ -3954,16 +3888,16 @@ ] } }, - "/v1/workspace/{workspaceId}/move/{collectionId}": { + "/v2/{objectId}/clone": { "post": { - "summary": "MoveWorkspaceData", - "description": "Status: ALPHA\n\nClaims an anonymous workspace", - "operationId": "WorkspaceService_MoveWorkspaceData", + "summary": "CloneObject", + "description": "Status: BETA\n\nThis method clones an object and creates a copy in the same collection.\nThis copy has a new id and revision and will not receive any updates from\nthe original object.", + "operationId": "ObjectService_CloneObject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/v1MoveWorkspaceDataResponse" + "$ref": "#/definitions/v2CloneObjectResponse" } }, "default": { @@ -3975,13 +3909,8 @@ }, "parameters": [ { - "name": "workspaceId", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "collectionId", + "name": "objectId", + "description": "ObjectId", "in": "path", "required": true, "type": "string" @@ -3991,20 +3920,51 @@ "in": "body", "required": true, "schema": { - "type": "object" + "type": "object", + "properties": { + "projectId": { + "type": "string" + }, + "collectionId": { + "type": "string" + }, + "datasetId": { + "type": "string" + } + } } } ], "tags": [ - "WorkspaceService" + "ObjectService" ] } } }, "definitions": { - "apiinternalv1DeleteObjectResponse": { + "apidataproxyservicesv2DeleteObjectResponse": { + "type": "object" + }, + "apidataproxyservicesv2GetObjectResponse": { + "type": "object", + "properties": { + "data": { + "type": "string", + "format": "byte" + } + } + }, + "apistorageservicesv2DeleteObjectResponse": { "type": "object" }, + "apistorageservicesv2GetObjectResponse": { + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/v2Object" + } + } + }, "googlerpcStatus": { "type": "object", "properties": { @@ -4018,38 +3978,26 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } } }, - "internalv1Location": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/v1LocationType" - }, - "bucket": { - "type": "string" - }, - "path": { - "type": "string", - "description": "for local file." - }, - "endpointId": { - "type": "string" - }, - "isCompressed": { - "type": "boolean" - }, - "isEncrypted": { - "type": "boolean" - }, - "encryptionKey": { - "type": "string" - } - }, - "description": "Locations is the path to the requested data." + "modelsv2Status": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_INITIALIZING", + "STATUS_VALIDATING", + "STATUS_AVAILABLE", + "STATUS_UNAVAILABLE", + "STATUS_ERROR", + "STATUS_DELETED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Unspecified\n - STATUS_INITIALIZING: This object is initializing -\u003e Staging\n - STATUS_VALIDATING: Data got uploaded and a validating hook got triggered\n - STATUS_AVAILABLE: Data is available\n - STATUS_UNAVAILABLE: Data is temporarily not available\n - STATUS_ERROR: Validating failed or fatal error in data proxy\n - STATUS_DELETED: Object got deleted", + "title": "An arbitrary status for Objects" }, "protobufAny": { "type": "object", @@ -4060,295 +4008,228 @@ }, "additionalProperties": {} }, - "storagemodelsv1Status": { + "storagemodelsv2ComponentStatus": { "type": "string", "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_INITIALIZING", - "STATUS_AVAILABLE", - "STATUS_UNAVAILABLE", - "STATUS_ERROR", - "STATUS_TRASH", - "STATUS_FINALIZING" + "COMPONENT_STATUS_UNSPECIFIED", + "COMPONENT_STATUS_INITIALIZING", + "COMPONENT_STATUS_AVAILABLE", + "COMPONENT_STATUS_DEGRADED", + "COMPONENT_STATUS_UNAVAILABLE", + "COMPONENT_STATUS_MAINTENANCE" ], - "default": "STATUS_UNSPECIFIED", - "title": "An arbitrary status for Objects" - }, - "storageservicesv1DeleteObjectResponse": { - "type": "object" - }, - "storageservicesv1Status": { - "type": "string", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_AVAILABLE", - "STATUS_UNAVAILABLE", - "STATUS_DEGRADED", - "STATUS_UNKNOWN" - ], - "default": "STATUS_UNSPECIFIED", - "title": "- STATUS_UNSPECIFIED: Status of a specific component at a specific location" - }, - "v1AcknowledgeMessageBatchResponse": { - "type": "object" - }, - "v1ActivateUserResponse": { - "type": "object" + "default": "COMPONENT_STATUS_UNSPECIFIED", + "title": "Status for endpoints" }, - "v1AddEndpointRequest": { + "storageservicesv2ComponentStatus": { "type": "object", "properties": { "name": { "type": "string", - "title": "Endpoint name" - }, - "epType": { - "$ref": "#/definitions/v1EndpointType" - }, - "documentationPath": { - "type": "string", - "title": "(optional) URL to a offsite documentation" - }, - "isPublic": { - "type": "boolean", - "title": "Is this endpoint public" - }, - "pubkey": { - "type": "string", - "title": "(optional) ED25519 Pubkey -\u003e Pubkey to validate endpoint authenticated tokens" - }, - "isBundler": { - "type": "boolean", - "title": "Added option to make a Dataproxy a bundler" + "title": "Name of a specific component e.g. server, dataproxy etc. and their status by location" }, - "hostConfigs": { - "type": "array", - "items": { - "$ref": "#/definitions/v1EndpointHostConfig" - }, - "title": "List of EndpointHostConfigs" + "status": { + "$ref": "#/definitions/storagemodelsv2ComponentStatus" } } }, - "v1AddEndpointResponse": { - "type": "object", - "properties": { - "endpoint": { - "$ref": "#/definitions/v1Endpoint" - }, - "pubkeySerial": { - "type": "string", - "format": "int64" - } - } + "v2AcknowledgeMessageBatchResponse": { + "type": "object" }, - "v1AddKeyValuesToCollectionResponse": { - "type": "object", - "properties": { - "collection": { - "$ref": "#/definitions/v1CollectionOverview" - } - } + "v2AcknowledgePersonalNotificationsResponse": { + "type": "object" + }, + "v2ActivateUserResponse": { + "type": "object" }, - "v1AddLabelsToObjectGroupResponse": { + "v2AddHook": { "type": "object", "properties": { - "objectGroup": { - "$ref": "#/definitions/v1ObjectGroupOverview" + "key": { + "type": "string" + }, + "value": { + "type": "string" } } }, - "v1AddLabelsToObjectResponse": { + "v2AddLabel": { "type": "object", "properties": { - "object": { - "$ref": "#/definitions/v1Object" + "key": { + "type": "string" + }, + "value": { + "type": "string" } } }, - "v1AddUserToProjectResponse": { + "v2AddProjectsToHookResponse": { "type": "object" }, - "v1ArchiveType": { - "type": "string", - "enum": [ - "ARCHIVE_TYPE_UNSPECIFIED", - "ARCHIVE_TYPE_TAR_GZ", - "ARCHIVE_TYPE_ZIP", - "ARCHIVE_TYPE_TAR_ZST" - ], - "default": "ARCHIVE_TYPE_UNSPECIFIED", - "title": "An resourcetype used to identify generic authorizations" - }, - "v1Authorization": { + "v2Anouncement": { "type": "object", "properties": { - "secretkey": { - "type": "string", - "title": "Should include the APItoken" + "id": { + "type": "string" + }, + "content": { + "type": "string" }, - "accesskey": { + "createdAt": { "type": "string", - "title": "Is the API-Token ID" - } - } - }, - "v1AuthorizeResponse": { - "type": "object", - "properties": { - "ok": { - "type": "boolean", - "title": "Ok -\u003e Authorization granted, empty or not ok -\u003e dismiss" + "format": "date-time" } } }, - "v1Bundle": { + "v2AnouncementEvent": { "type": "object", "properties": { - "bundleId": { + "newDataProxyId": { "type": "string" }, - "objectRefs": { - "type": "array", - "items": { - "$ref": "#/definitions/v1ObjectRef" - } + "removeDataProxyId": { + "type": "string" }, - "expiresAt": { - "type": "string", - "format": "date-time" + "updateDataProxyId": { + "type": "string" + }, + "newPubkey": { + "type": "integer", + "format": "int32" + }, + "removePubkey": { + "type": "integer", + "format": "int32" + }, + "downtime": { + "$ref": "#/definitions/v2ScheduledDowntime" + }, + "version": { + "$ref": "#/definitions/v2NewVersion" + }, + "reply": { + "$ref": "#/definitions/v2Reply" } } }, - "v1CORSConfig": { + "v2ArchiveProjectResponse": { "type": "object", "properties": { - "allowedMethods": { - "type": "array", - "items": { - "type": "string" - } - }, - "allowedOrigins": { - "type": "array", - "items": { - "type": "string" - } - }, - "allowedHeaders": { - "type": "array", - "items": { - "type": "string" - } + "project": { + "$ref": "#/definitions/v2Project", + "title": "This project will be returned via an Persistent Identifier! Updates will be impossible" } } }, - "v1ClaimWorkspaceResponse": { + "v2ClaimWorkspaceResponse": { "type": "object" }, - "v1CloneObjectResponse": { + "v2CloneObjectResponse": { "type": "object", "properties": { "object": { - "$ref": "#/definitions/v1Object" + "$ref": "#/definitions/v2Object", + "description": "This describes the new object." } } }, - "v1CollectionOverview": { + "v2Collection": { "type": "object", "properties": { "id": { - "type": "string" + "type": "string", + "title": "ASDASDASDOPASKIDPO" }, "name": { - "type": "string" + "type": "string", + "title": "my_mags" }, "description": { - "type": "string" + "type": "string", + "title": "ENA asda234928349028 MAG 1293819203819028i V1" }, - "labels": { + "keyValues": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" - } + "type": "object", + "$ref": "#/definitions/v2KeyValue" + }, + "title": "Collection specific labels / hooks" }, - "hooks": { + "relations": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" - } + "type": "object", + "$ref": "#/definitions/v2Relation" + }, + "title": "Relations to internal and external sources" + }, + "stats": { + "$ref": "#/definitions/v2Stats" }, - "labelOntology": { - "$ref": "#/definitions/v1LabelOntology" + "dataClass": { + "$ref": "#/definitions/v2DataClass" }, - "created": { + "createdAt": { "type": "string", "format": "date-time" }, - "semanticVersion": { - "$ref": "#/definitions/v1Version" - }, - "latest": { - "type": "boolean" + "createdBy": { + "type": "string" }, - "stats": { - "$ref": "#/definitions/v1CollectionStats" + "status": { + "$ref": "#/definitions/modelsv2Status" }, - "isPublic": { + "dynamic": { "type": "boolean" - } - }, - "title": "This is a representation of the Collection without the recursive nature of\nobjectreferences" - }, - "v1CollectionOverviews": { - "type": "object", - "properties": { - "collectionOverviews": { + }, + "endpoints": { "type": "array", "items": { - "$ref": "#/definitions/v1CollectionOverview" + "type": "object", + "$ref": "#/definitions/v2DataEndpoint" } } - }, - "title": "Multiple CollectionOverviews" + } }, - "v1CollectionResource": { + "v2CollectionRelations": { "type": "object", "properties": { - "projectId": { + "origin": { "type": "string" }, - "collectionId": { - "type": "string" + "datasetChildren": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2DatasetRelations" + } + }, + "objectChildren": { + "type": "array", + "items": { + "type": "string" + } } } }, - "v1CollectionStats": { - "type": "object", - "properties": { - "objectStats": { - "$ref": "#/definitions/v1Stats" - }, - "objectGroupCount": { - "type": "string", - "format": "int64" - }, - "lastUpdated": { - "type": "string", - "format": "date-time" - } - }, - "title": "Stats for a collection" + "v2CompleteMultiPartUploadResponse": { + "type": "object" }, - "v1CommonPrefix": { + "v2CompletedPart": { "type": "object", "properties": { - "prefix": { + "partNumber": { + "type": "integer", + "format": "int32" + }, + "etag": { "type": "string" } } }, - "v1CompletedParts": { + "v2CompletedParts": { "type": "object", "properties": { "etag": { @@ -4362,269 +4243,463 @@ } } }, - "v1ComponentStatus": { + "v2ComponentVersion": { "type": "object", "properties": { - "componentName": { + "name": { "type": "string", "title": "Name of a specific component e.g. server, dataproxy etc. and their status by location" }, - "locationStatus": { - "type": "array", - "items": { - "$ref": "#/definitions/v1LocationStatus" - } + "version": { + "$ref": "#/definitions/v2SemanticVersion" } } }, - "v1ComponentVersion": { + "v2Context": { "type": "object", "properties": { - "componentName": { - "type": "string", - "title": "Name of a specific component e.g. server, dataproxy etc. and their status by location" + "s3Credentials": { + "type": "boolean" }, - "locationVersion": { - "type": "array", - "items": { - "$ref": "#/definitions/v1LocationVersion" - } + "copy": { + "$ref": "#/definitions/v2Copy" } } }, - "v1CreateAPITokenRequest": { + "v2Copy": { "type": "object", "properties": { - "projectId": { - "type": "string", - "title": "Project id" + "resource": { + "type": "string" }, - "collectionId": { - "type": "string", - "title": "Collection id" + "targetEndpoint": { + "type": "string" }, + "push": { + "type": "boolean" + } + } + }, + "v2CreateAPITokenRequest": { + "type": "object", + "properties": { "name": { "type": "string", "title": "Token name" }, - "expiresAt": { - "$ref": "#/definitions/v1ExpiresAt" - }, "permission": { - "$ref": "#/definitions/v1Permission" + "$ref": "#/definitions/v2Permission", + "title": "Personal or resource specific" }, - "isSession": { - "type": "boolean", - "title": "Session token" + "expiresAt": { + "type": "string", + "format": "date-time", + "title": "Token expiry" } } }, - "v1CreateAPITokenResponse": { + "v2CreateAPITokenResponse": { "type": "object", "properties": { "token": { - "$ref": "#/definitions/v1Token" + "$ref": "#/definitions/v2Token", + "title": "This contains only the token description" }, "tokenSecret": { "type": "string", "title": "This is the actual secret token\nAttention, this can not be recreated and needs to be stored securely\nNew tokens will always contain a new secret" - }, - "s3AccessKey": { - "type": "string", - "title": "S3 Access Key" - }, - "s3SecretKey": { - "type": "string", - "title": "S3 Secret Key" } } }, - "v1CreateBundleResponse": { + "v2CreateAuthorizationRequest": { "type": "object", "properties": { - "bundleId": { + "resourceId": { "type": "string" }, - "url": { + "userId": { "type": "string" + }, + "permissionLevel": { + "$ref": "#/definitions/v2PermissionLevel", + "title": "Can also include \"deny\"" } } }, - "v1CreateDownloadLinksStreamResponse": { + "v2CreateAuthorizationResponse": { "type": "object", "properties": { - "url": { - "$ref": "#/definitions/v1URL" + "resourceId": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "userName": { + "type": "string" + }, + "permissionLevel": { + "$ref": "#/definitions/v2PermissionLevel" } } }, - "v1CreateEventStreamingGroupResponse": { + "v2CreateBucketResponse": { + "type": "object" + }, + "v2CreateBundleRequest": { "type": "object", "properties": { - "streamGroupId": { - "type": "string" + "resourceId": { + "type": "array", + "items": { + "type": "string" + } + }, + "filename": { + "type": "string", + "title": ".tar.gz / .zip" + }, + "expiresAt": { + "type": "string", + "format": "date-time", + "title": "Default 1 Month" } } }, - "v1CreateHookResponse": { + "v2CreateBundleResponse": { "type": "object", "properties": { - "hookId": { + "bundleId": { + "type": "string" + }, + "bundleUrl": { "type": "string" } } }, - "v1CreateNewCollectionRequest": { + "v2CreateCollectionRequest": { "type": "object", "properties": { "name": { "type": "string", - "title": "Collection name" + "title": "collection name" }, "description": { "type": "string", - "title": "Description" - }, - "projectId": { - "type": "string", - "title": "Project id" + "title": "description" }, - "labels": { + "keyValues": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" + "type": "object", + "$ref": "#/definitions/v2KeyValue" }, - "title": "List of associated labels" + "title": "collection specific labels / hooks" }, - "hooks": { + "externalRelations": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" + "type": "object", + "$ref": "#/definitions/v2ExternalRelation" }, - "title": "List of associated hooks" + "title": "External relations (URLs / IDs from external sources)" }, - "labelOntology": { - "$ref": "#/definitions/v1LabelOntology" + "dataClass": { + "$ref": "#/definitions/v2DataClass", + "title": "DataClass" }, - "dataclass": { - "$ref": "#/definitions/v1DataClass" + "projectId": { + "type": "string" } } }, - "v1CreateNewCollectionResponse": { + "v2CreateCollectionResponse": { "type": "object", "properties": { - "collectionId": { - "type": "string", + "collection": { + "$ref": "#/definitions/v2Collection", "title": "The new collection_id" } } }, - "v1CreateObjectGroupResponse": { + "v2CreateDatasetRequest": { "type": "object", "properties": { - "objectGroup": { - "$ref": "#/definitions/v1ObjectGroupOverview" + "name": { + "type": "string", + "title": "dataset name" + }, + "description": { + "type": "string", + "title": "Description" + }, + "keyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + }, + "title": "dataset specific labels / hooks" + }, + "externalRelations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2ExternalRelation" + }, + "title": "External relations (URLs / IDs from external sources)" + }, + "dataClass": { + "$ref": "#/definitions/v2DataClass", + "title": "DataClass" + }, + "projectId": { + "type": "string" + }, + "collectionId": { + "type": "string" } } }, - "v1CreateObjectPathResponse": { + "v2CreateDatasetResponse": { "type": "object", "properties": { - "path": { - "$ref": "#/definitions/v1Path" + "dataset": { + "$ref": "#/definitions/v2Dataset", + "title": "The new dataset_id" } } }, - "v1CreateObjectReferenceResponse": { - "type": "object" + "v2CreateEndpointRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "Endpoint name" + }, + "epVariant": { + "$ref": "#/definitions/v2EndpointVariant", + "title": "Endpoint type" + }, + "isPublic": { + "type": "boolean", + "title": "Is this endpoint public" + }, + "pubkey": { + "type": "string", + "title": "required public_key" + }, + "hostConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2EndpointHostConfig" + }, + "title": "List of EndpointHostConfigs" + } + } }, - "v1CreateProjectRequest": { + "v2CreateEndpointResponse": { + "type": "object", + "properties": { + "endpoint": { + "$ref": "#/definitions/v2Endpoint", + "title": "Overview of the created endpoint" + } + } + }, + "v2CreateHookRequest": { "type": "object", "properties": { "name": { + "type": "string" + }, + "trigger": { + "$ref": "#/definitions/v2Trigger" + }, + "hook": { + "$ref": "#/definitions/v2Hook" + }, + "timeout": { "type": "string", - "title": "Project name" + "format": "uint64" + }, + "projectIds": { + "type": "array", + "items": { + "type": "string" + } }, "description": { + "type": "string" + } + } + }, + "v2CreateHookResponse": { + "type": "object", + "properties": { + "hookId": { + "type": "string" + } + } + }, + "v2CreateObjectRequest": { + "type": "object", + "properties": { + "name": { "type": "string", - "title": "Description for the project" + "title": "collection name" }, - "flag": { + "description": { "type": "string", - "format": "int64", - "title": "Project binary flag(s)" + "title": "description" + }, + "keyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + }, + "title": "collection specific labels / hooks" + }, + "externalRelations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2ExternalRelation" + }, + "title": "External relations (URLs / IDs from external sources)" + }, + "dataClass": { + "$ref": "#/definitions/v2DataClass", + "title": "DataClass" + }, + "projectId": { + "type": "string" + }, + "collectionId": { + "type": "string" + }, + "datasetId": { + "type": "string" + }, + "hashes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Hash" + } } } }, - "v1CreateProjectResponse": { + "v2CreateObjectResponse": { "type": "object", "properties": { - "projectId": { - "type": "string", - "title": "The freshly created project_id" + "object": { + "$ref": "#/definitions/v2Object" } } }, - "v1CreateServiceAccountRequest": { + "v2CreateProjectRequest": { "type": "object", "properties": { "name": { - "type": "string" + "type": "string", + "title": "Project name" }, - "projectId": { + "description": { + "type": "string", + "title": "Description" + }, + "keyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + }, + "title": "Project specific labels / hooks" + }, + "externalRelations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2ExternalRelation" + }, + "title": "External relations (URLs / IDs from external sources)" + }, + "dataClass": { + "$ref": "#/definitions/v2DataClass", + "title": "DataClass" + }, + "preferredEndpoint": { + "type": "string", + "title": "Preferred endpoint" + } + } + }, + "v2CreateProjectResponse": { + "type": "object", + "properties": { + "project": { + "$ref": "#/definitions/v2Project", + "title": "The freshly created project" + } + } + }, + "v2CreateServiceAccountRequest": { + "type": "object", + "properties": { + "name": { "type": "string" }, "permission": { - "$ref": "#/definitions/v1Permission" + "$ref": "#/definitions/v2Permission" } } }, - "v1CreateServiceAccountResponse": { + "v2CreateServiceAccountResponse": { "type": "object", "properties": { "serviceAccount": { - "$ref": "#/definitions/v1ServiceAccount" + "$ref": "#/definitions/v2ServiceAccount" } } }, - "v1CreateServiceAccountTokenResponse": { + "v2CreateServiceAccountTokenResponse": { "type": "object", "properties": { "token": { - "$ref": "#/definitions/v1Token" + "$ref": "#/definitions/v2Token", + "title": "This contains only the token description" }, "tokenSecret": { "type": "string", "title": "This is the actual secret API token" - }, - "s3AccessKey": { - "type": "string", - "title": "S3 Access Key" - }, - "s3SecretKey": { - "type": "string", - "title": "S3 Secret Key" } } }, - "v1CreateStreamGroupResponse": { + "v2CreateStreamConsumerResponse": { "type": "object", "properties": { - "streamGroup": { - "$ref": "#/definitions/v1StreamGroup" + "streamConsumer": { + "type": "string" } } }, - "v1CreateWorkspaceRequest": { + "v2CreateWorkspaceRequest": { "type": "object", "properties": { - "projectName": { - "type": "string" + "workspaceTemplate": { + "type": "string", + "title": "Workspace template id" + }, + "description": { + "type": "string", + "title": "Description of this workspace instance" } } }, - "v1CreateWorkspaceResponse": { + "v2CreateWorkspaceResponse": { "type": "object", "properties": { "workspaceId": { @@ -4641,137 +4716,302 @@ } } }, - "v1Credentials": { + "v2CreateWorkspaceTemplateRequest": { + "type": "object", + "properties": { + "ownerId": { + "type": "string", + "title": "The user id of the template owner (will be automatically added as \"admin\" to each associated workspace)" + }, + "prefix": { + "type": "string", + "title": "Short prefix for each workspace_project (will be prepended by a random id) example: test-i12ashj9g2" + }, + "name": { + "type": "string", + "title": "The name of the workspace template" + }, + "hookIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Hooks that are added to created workspaces" + }, + "description": { + "type": "string", + "title": "Description of the workspace" + }, + "endpointId": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Endpoint ids that are used for this template" + } + } + }, + "v2CreateWorkspaceTemplateResponse": { + "type": "object", + "properties": { + "templateId": { + "type": "string" + } + } + }, + "v2Credentials": { "type": "object", "properties": { "token": { "type": "string" } }, - "title": "Will be updated with additional credential types" + "title": "Will be expanded with additional credential types" + }, + "v2CustomAttributes": { + "type": "object", + "properties": { + "attributeName": { + "type": "string" + }, + "attributeValue": { + "type": "string" + } + } }, - "v1DataClass": { + "v2DataClass": { "type": "string", "enum": [ "DATA_CLASS_UNSPECIFIED", "DATA_CLASS_PUBLIC", "DATA_CLASS_PRIVATE", - "DATA_CLASS_CONFIDENTIAL", - "DATA_CLASS_PROTECTED" + "DATA_CLASS_WORKSPACE", + "DATA_CLASS_CONFIDENTIAL" ], "default": "DATA_CLASS_UNSPECIFIED", "title": "Dataclass defines the confidentiality of the object" }, - "v1DeactivateUserResponse": { + "v2DataEndpoint": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "fullSynced": { + "type": "boolean", + "title": "Hint if the objects' project \nis fully synced to the endpoint" + } + } + }, + "v2DataInfo": { + "type": "object", + "properties": { + "objectId": { + "type": "string" + }, + "downloadUrl": { + "type": "string" + }, + "encryptionKey": { + "type": "string" + }, + "isCompressed": { + "type": "boolean" + } + } + }, + "v2DataInfos": { + "type": "object", + "properties": { + "dataInfo": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2DataInfo" + } + } + } + }, + "v2DataProxyInfo": { + "type": "object", + "properties": { + "dataproxyId": { + "type": "string" + }, + "availableSpace": { + "type": "string", + "format": "int64" + } + } + }, + "v2Dataset": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "keyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + }, + "title": "Dataset specific labels / hooks" + }, + "relations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Relation" + }, + "title": "Relations to internal and external sources" + }, + "stats": { + "$ref": "#/definitions/v2Stats" + }, + "dataClass": { + "$ref": "#/definitions/v2DataClass" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/modelsv2Status" + }, + "dynamic": { + "type": "boolean" + }, + "endpoints": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2DataEndpoint" + } + } + } + }, + "v2DatasetRelations": { + "type": "object", + "properties": { + "origin": { + "type": "string" + }, + "objectChildren": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "v2DeactivateUserResponse": { "type": "object" }, - "v1DeleteAPITokenResponse": { + "v2DeleteAPITokenResponse": { "type": "object" }, - "v1DeleteAPITokensResponse": { + "v2DeleteAPITokensResponse": { "type": "object" }, - "v1DeleteBundleResponse": { - "type": "object" + "v2DeleteAuthorizationRequest": { + "type": "object", + "properties": { + "resourceId": { + "type": "string" + }, + "userId": { + "type": "string" + } + } }, - "v1DeleteCollectionResponse": { + "v2DeleteAuthorizationResponse": { "type": "object" }, - "v1DeleteEndpointResponse": { + "v2DeleteBucketResponse": { "type": "object" }, - "v1DeleteEventStreamingGroupResponse": { - "type": "object" + "v2DeleteBundleRequest": { + "type": "object", + "properties": { + "bundleId": { + "type": "string" + } + } }, - "v1DeleteHookResponse": { + "v2DeleteBundleResponse": { "type": "object" }, - "v1DeleteObjectGroupResponse": { + "v2DeleteCollectionResponse": { "type": "object" }, - "v1DeleteObjectsResponse": { + "v2DeleteDatasetResponse": { "type": "object" }, - "v1DeleteServiceAccountResponse": { + "v2DeleteEndpointResponse": { "type": "object" }, - "v1DeleteServiceAccountTokenResponse": { + "v2DeleteHookResponse": { "type": "object" }, - "v1DeleteServiceAccountTokensResponse": { + "v2DeleteProjectResponse": { "type": "object" }, - "v1DeleteStreamGroupResponse": { + "v2DeleteServiceAccountResponse": { "type": "object" }, - "v1DeleteWorkspaceResponse": { + "v2DeleteServiceAccountTokenResponse": { "type": "object" }, - "v1DestroyProjectResponse": { + "v2DeleteServiceAccountTokensResponse": { "type": "object" }, - "v1EditUserPermissionsForProjectResponse": { + "v2DeleteStreamConsumerResponse": { "type": "object" }, - "v1EmitEventResponse": { + "v2DeleteWorkspaceResponse": { "type": "object" }, - "v1EmittedResource": { - "type": "object", - "properties": { - "project": { - "$ref": "#/definitions/v1ProjectResource" - }, - "collection": { - "$ref": "#/definitions/v1CollectionResource" - }, - "object": { - "$ref": "#/definitions/v1ObjectResource" - }, - "objectGroup": { - "$ref": "#/definitions/v1ObjectGroupResource" - } - } - }, - "v1EnableBundleResponse": { + "v2DeleteWorkspaceTemplateResponse": { "type": "object" }, - "v1Endpoint": { + "v2Endpoint": { "type": "object", "properties": { "id": { "type": "string" }, - "epType": { - "$ref": "#/definitions/v1EndpointType" + "epVariant": { + "$ref": "#/definitions/v2EndpointVariant" }, "name": { "type": "string" }, - "documentationPath": { - "type": "string" - }, "isPublic": { "type": "boolean" }, - "isDefault": { - "type": "boolean" - }, "status": { - "$ref": "#/definitions/v1EndpointStatus" - }, - "isBundler": { - "type": "boolean" + "$ref": "#/definitions/storagemodelsv2ComponentStatus" }, "hostConfigs": { "type": "array", "items": { - "$ref": "#/definitions/v1EndpointHostConfig" + "type": "object", + "$ref": "#/definitions/v2EndpointHostConfig" } } } }, - "v1EndpointHostConfig": { + "v2EndpointHostConfig": { "type": "object", "properties": { "url": { @@ -4786,763 +5026,646 @@ "public": { "type": "boolean" }, - "hostType": { - "$ref": "#/definitions/v1EndpointHostType" + "hostVariant": { + "$ref": "#/definitions/v2EndpointHostVariant" } } }, - "v1EndpointHostType": { - "type": "string", - "enum": [ - "ENDPOINT_HOST_TYPE_UNSPECIFIED", - "ENDPOINT_HOST_TYPE_PROXY", - "ENDPOINT_HOST_TYPE_INTERNAL", - "ENDPOINT_HOST_TYPE_BUNDLER" - ], - "default": "ENDPOINT_HOST_TYPE_UNSPECIFIED" - }, - "v1EndpointStatus": { + "v2EndpointHostVariant": { "type": "string", "enum": [ - "ENDPOINT_STATUS_UNSPECIFIED", - "ENDPOINT_STATUS_INITIALIZING", - "ENDPOINT_STATUS_AVAILABLE", - "ENDPOINT_STATUS_DEGRADED", - "ENDPOINT_STATUS_UNAVAILABLE", - "ENDPOINT_STATUS_MAINTENANCE" + "ENDPOINT_HOST_VARIANT_UNSPECIFIED", + "ENDPOINT_HOST_VARIANT_GRPC", + "ENDPOINT_HOST_VARIANT_S3" ], - "default": "ENDPOINT_STATUS_UNSPECIFIED" + "default": "ENDPOINT_HOST_VARIANT_UNSPECIFIED", + "title": "Which features does the endpoint have" }, - "v1EndpointType": { + "v2EndpointVariant": { "type": "string", "enum": [ - "ENDPOINT_TYPE_UNSPECIFIED", - "ENDPOINT_TYPE_S3", - "ENDPOINT_TYPE_FILE" + "ENDPOINT_VARIANT_UNSPECIFIED", + "ENDPOINT_VARIANT_PERSISTENT", + "ENDPOINT_VARIANT_VOLATILE" ], - "default": "ENDPOINT_TYPE_UNSPECIFIED" + "default": "ENDPOINT_VARIANT_UNSPECIFIED", + "title": "Which kind of endpoint" }, - "v1EventNotificationMessage": { + "v2Error": { "type": "object", "properties": { - "resource": { - "$ref": "#/definitions/v1ResourceType" - }, - "resourceId": { + "error": { "type": "string" - }, - "updatedType": { - "$ref": "#/definitions/v1EventType" - }, - "reply": { - "$ref": "#/definitions/v1Reply" } } }, - "v1EventStreamingGroupHierarchy": { + "v2EventMessage": { "type": "object", "properties": { - "projectId": { - "type": "string" - }, - "collectionId": { - "type": "string" + "resourceEvent": { + "$ref": "#/definitions/v2ResourceEvent" }, - "objectId": { - "type": "string" + "userEvent": { + "$ref": "#/definitions/v2UserEvent" }, - "objectGroupId": { - "type": "string" + "announcementEvent": { + "$ref": "#/definitions/v2AnouncementEvent" } } }, - "v1EventType": { + "v2EventVariant": { "type": "string", "enum": [ - "EVENT_TYPE_UNSPECIFIED", - "EVENT_TYPE_CREATED", - "EVENT_TYPE_AVAILABLE", - "EVENT_TYPE_UPDATED", - "EVENT_TYPE_METADATA_UPDATED", - "EVENT_TYPE_DELETED", - "EVENT_TYPE_ALL" + "EVENT_VARIANT_UNSPECIFIED", + "EVENT_VARIANT_CREATED", + "EVENT_VARIANT_AVAILABLE", + "EVENT_VARIANT_UPDATED", + "EVENT_VARIANT_DELETED", + "EVENT_VARIANT_SNAPSHOTTED" ], - "default": "EVENT_TYPE_UNSPECIFIED" - }, - "v1ExpiresAt": { - "type": "object", - "properties": { - "timestamp": { - "type": "string", - "format": "date-time", - "title": "Expiry time" - } - } + "default": "EVENT_VARIANT_UNSPECIFIED" }, - "v1ExternalHook": { + "v2ExternalHook": { "type": "object", "properties": { "url": { "type": "string" }, "credentials": { - "$ref": "#/definitions/v1Credentials" + "$ref": "#/definitions/v2Credentials" }, - "jsonTemplate": { - "type": "string" - } - } - }, - "v1FinalizeObjectResponse": { - "type": "object" - }, - "v1FinishMultipartUploadResponse": { - "type": "object" - }, - "v1FinishObjectStagingResponse": { - "type": "object", - "properties": { - "object": { - "$ref": "#/definitions/v1Object" + "customTemplate": { + "type": "string", + "title": "If empty a basic JSON template will be used" + }, + "method": { + "$ref": "#/definitions/v2Method", + "title": "TODO: Optional request headers" } } }, - "v1GetAPITokenResponse": { + "v2ExternalRelation": { "type": "object", "properties": { - "token": { - "$ref": "#/definitions/v1Token" + "identifier": { + "type": "string" + }, + "definedVariant": { + "$ref": "#/definitions/v2ExternalRelationVariant" + }, + "customVariant": { + "type": "string", + "title": "Will only be filled if defined_variant == CUSTOM" } } }, - "v1GetAPITokensResponse": { - "type": "object", - "properties": { - "token": { - "type": "array", - "items": { - "$ref": "#/definitions/v1Token" - }, - "title": "List of API tokens with redacted actual token" - } - } + "v2ExternalRelationVariant": { + "type": "string", + "enum": [ + "EXTERNAL_RELATION_VARIANT_UNSPECIFIED", + "EXTERNAL_RELATION_VARIANT_URL", + "EXTERNAL_RELATION_VARIANT_IDENTIFIER", + "EXTERNAL_RELATION_VARIANT_CUSTOM" + ], + "default": "EXTERNAL_RELATION_VARIANT_UNSPECIFIED", + "title": "External Relations" }, - "v1GetAllUserPermissionsForProjectResponse": { + "v2FinishObjectStagingResponse": { "type": "object", "properties": { - "users": { - "type": "array", - "items": { - "$ref": "#/definitions/v1UserWithProjectPermissions" - } + "object": { + "$ref": "#/definitions/v2Object", + "title": "(new) Object overview" } } }, - "v1GetAllUsersResponse": { + "v2Finished": { "type": "object", "properties": { - "userWithPerms": { + "addKeyValues": { "type": "array", "items": { - "$ref": "#/definitions/v1UserWithPerms" + "type": "object", + "$ref": "#/definitions/v2KeyValue" } - } - } - }, - "v1GetBundlesResponse": { - "type": "object", - "properties": { - "bundles": { + }, + "removeKeyValues": { "type": "array", "items": { - "$ref": "#/definitions/v1Bundle" + "type": "object", + "$ref": "#/definitions/v2KeyValue" } } } }, - "v1GetCollectionByBucketResponse": { + "v2FullSyncEndpointResponse": { "type": "object", "properties": { - "projectId": { - "type": "string" + "genericResource": { + "$ref": "#/definitions/v2GenericResource" }, - "collectionId": { - "type": "string" + "user": { + "$ref": "#/definitions/v2User" + }, + "pubkey": { + "$ref": "#/definitions/v2Pubkey" } } }, - "v1GetCollectionByIDResponse": { + "v2GenericResource": { "type": "object", "properties": { + "project": { + "$ref": "#/definitions/v2Project" + }, "collection": { - "$ref": "#/definitions/v1CollectionOverview" - } - } - }, - "v1GetCollectionsResponse": { - "type": "object", - "properties": { - "collections": { - "$ref": "#/definitions/v1CollectionOverviews" + "$ref": "#/definitions/v2Collection" + }, + "dataset": { + "$ref": "#/definitions/v2Dataset" + }, + "object": { + "$ref": "#/definitions/v2Object" } } }, - "v1GetDefaultEndpointResponse": { + "v2GetAPITokenResponse": { "type": "object", "properties": { - "endpoint": { - "$ref": "#/definitions/v1Endpoint" + "token": { + "$ref": "#/definitions/v2Token", + "title": "List of API tokens" } } }, - "v1GetDownloadLinksBatchResponse": { + "v2GetAPITokensResponse": { "type": "object", "properties": { - "urls": { + "token": { "type": "array", "items": { - "$ref": "#/definitions/v1URL" + "type": "object", + "$ref": "#/definitions/v2Token" }, - "title": "List of URLs" - } - } - }, - "v1GetDownloadURLResponse": { - "type": "object", - "properties": { - "url": { - "$ref": "#/definitions/v1URL" - } - } - }, - "v1GetEndpointResponse": { - "type": "object", - "properties": { - "endpoint": { - "$ref": "#/definitions/v1Endpoint" + "title": "List of API tokens with redacted actual token" } } }, - "v1GetEndpointsResponse": { + "v2GetAllUsersResponse": { "type": "object", "properties": { - "endpoints": { + "user": { "type": "array", "items": { - "$ref": "#/definitions/v1Endpoint" - }, - "title": "List of endpoints" + "type": "object", + "$ref": "#/definitions/v2User" + } } } }, - "v1GetEventMessageBatchResponse": { + "v2GetAnouncementsResponse": { "type": "object", "properties": { - "messages": { + "anouncements": { "type": "array", "items": { - "$ref": "#/definitions/v1EventNotificationMessage" + "type": "object", + "$ref": "#/definitions/v2Anouncement" } } } }, - "v1GetEventMessageBatchStreamResponse": { + "v2GetAuthorizationsResponse": { "type": "object", "properties": { - "messages": { + "authorizations": { "type": "array", "items": { - "$ref": "#/definitions/v1EventNotificationMessage" + "type": "object", + "$ref": "#/definitions/v2ResourceAuthorization" } } } }, - "v1GetLatestObjectRevisionResponse": { + "v2GetCollectionResponse": { "type": "object", "properties": { - "object": { - "$ref": "#/definitions/v1ObjectWithURL" + "collection": { + "$ref": "#/definitions/v2Collection", + "title": "Overview of the requested collection" } } }, - "v1GetNotActivatedUsersResponse": { + "v2GetCollectionsResponse": { "type": "object", "properties": { - "users": { + "collections": { "type": "array", "items": { - "$ref": "#/definitions/v1User" + "type": "object", + "$ref": "#/definitions/v2Collection" }, - "title": "List of users that are not yet activated" + "title": "List of collection overviews" } } }, - "v1GetObjectByIDResponse": { + "v2GetCredentialsRequest": { + "type": "object" + }, + "v2GetCredentialsResponse": { "type": "object", "properties": { - "object": { - "$ref": "#/definitions/v1ObjectWithURL" + "accessKey": { + "type": "string" + }, + "secretKey": { + "type": "string" } } }, - "v1GetObjectEndpointsResponse": { + "v2GetDataproxyTokenSvcAccountResponse": { "type": "object", "properties": { - "endpoints": { - "type": "array", - "items": { - "$ref": "#/definitions/v1Endpoint" - }, - "title": "List of endpoints" + "token": { + "type": "string" } } }, - "v1GetObjectGroupByIdResponse": { + "v2GetDataproxyTokenUserResponse": { "type": "object", "properties": { - "objectGroup": { - "$ref": "#/definitions/v1ObjectGroupOverview" + "token": { + "type": "string" } } }, - "v1GetObjectGroupHistoryResponse": { + "v2GetDatasetResponse": { "type": "object", "properties": { - "objectGroups": { - "$ref": "#/definitions/v1ObjectGroupOverviews" + "dataset": { + "$ref": "#/definitions/v2Dataset", + "title": "Overview of the requested dataset" } } }, - "v1GetObjectGroupObjectsResponse": { + "v2GetDatasetsResponse": { "type": "object", "properties": { - "objectGroupObjects": { + "datasets": { "type": "array", "items": { - "$ref": "#/definitions/v1ObjectGroupObject" + "type": "object", + "$ref": "#/definitions/v2Dataset" }, - "title": "List of associated object group objects" + "title": "List of dataset overviews" } } }, - "v1GetObjectGroupsFromObjectResponse": { + "v2GetDefaultEndpointResponse": { "type": "object", "properties": { - "objectGroups": { - "$ref": "#/definitions/v1ObjectGroupOverviews" + "endpoint": { + "$ref": "#/definitions/v2Endpoint", + "title": "Default endpoint of the server instance" } } }, - "v1GetObjectGroupsResponse": { + "v2GetDownloadURLResponse": { "type": "object", "properties": { - "objectGroups": { - "$ref": "#/definitions/v1ObjectGroupOverviews" + "url": { + "type": "string", + "title": "URL" } } }, - "v1GetObjectLocationResponse": { + "v2GetEndpointResponse": { "type": "object", "properties": { - "object": { - "$ref": "#/definitions/v1Object" - }, - "location": { - "$ref": "#/definitions/internalv1Location" - }, - "corsConfigurations": { - "type": "array", - "items": { - "$ref": "#/definitions/v1CORSConfig" - } + "endpoint": { + "$ref": "#/definitions/v2Endpoint", + "title": "Overview of the requested endpoint" } } }, - "v1GetObjectPathResponse": { + "v2GetEndpointsResponse": { "type": "object", "properties": { - "objectPaths": { + "endpoints": { "type": "array", "items": { - "$ref": "#/definitions/v1Path" - } + "type": "object", + "$ref": "#/definitions/v2Endpoint" + }, + "title": "List of endpoints" } } }, - "v1GetObjectPathsResponse": { + "v2GetEventMessageBatchResponse": { "type": "object", "properties": { - "objectPaths": { + "messages": { "type": "array", "items": { - "$ref": "#/definitions/v1Path" + "type": "object", + "$ref": "#/definitions/v2EventMessage" } } } }, - "v1GetObjectRevisionsResponse": { + "v2GetEventMessageStreamResponse": { "type": "object", "properties": { - "objects": { - "type": "array", - "items": { - "$ref": "#/definitions/v1ObjectWithURL" - }, - "title": "List of objects with (optional) URLs" + "message": { + "$ref": "#/definitions/v2EventMessage" } } }, - "v1GetObjectsAsListV2Response": { + "v2GetHierarchyResponse": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "isTruncated": { - "type": "boolean" - }, - "maxKeys": { - "type": "integer", - "format": "int64" - }, - "keyCount": { - "type": "integer", - "format": "int64" - }, - "contents": { - "type": "array", - "items": { - "$ref": "#/definitions/v1ObjectWithURL" - }, - "title": "Does not contain URLs, only paths" + "project": { + "$ref": "#/definitions/v2ProjectRelations" }, - "prefixes": { - "type": "array", - "items": { - "$ref": "#/definitions/v1CommonPrefix" - } + "collection": { + "$ref": "#/definitions/v2CollectionRelations" }, - "nextContinuationToken": { - "type": "string" + "dataset": { + "$ref": "#/definitions/v2DatasetRelations" } } }, - "v1GetObjectsByPathResponse": { + "v2GetNotActivatedUsersResponse": { "type": "object", "properties": { - "object": { + "users": { "type": "array", "items": { - "$ref": "#/definitions/v1Object" - } + "type": "object", + "$ref": "#/definitions/v2User" + }, + "title": "List of users that are not yet activated" } } }, - "v1GetObjectsResponse": { + "v2GetObjectsResponse": { "type": "object", "properties": { "objects": { "type": "array", "items": { - "$ref": "#/definitions/v1ObjectWithURL" + "type": "object", + "$ref": "#/definitions/v2Object" }, - "title": "A List of objects with (optional) associated URLs" - } - } - }, - "v1GetOrCreateEncryptionKeyResponse": { - "type": "object", - "properties": { - "encryptionKey": { - "type": "string" - }, - "created": { - "type": "boolean" + "title": "A List of objects" } } }, - "v1GetOrCreateObjectByPathResponse": { + "v2GetPersonalNotificationsResponse": { "type": "object", "properties": { - "objectId": { - "type": "string" - }, - "collectionId": { - "type": "string" - }, - "dataclass": { - "$ref": "#/definitions/v1DataClass" - }, - "hashes": { + "notifications": { "type": "array", "items": { - "$ref": "#/definitions/v1Hash" + "type": "object", + "$ref": "#/definitions/v2PersonalNotification" } - }, - "revisionNumber": { - "type": "string", - "format": "int64" - }, - "created": { - "type": "boolean" - } - } - }, - "v1GetProjectCollectionIdsByPathResponse": { - "type": "object", - "properties": { - "projectId": { - "type": "string" - }, - "collectionId": { - "type": "string" } } }, - "v1GetProjectResponse": { + "v2GetProjectResponse": { "type": "object", "properties": { "project": { - "$ref": "#/definitions/v1ProjectOverview" + "$ref": "#/definitions/v2Project", + "title": "Overview of the projectroject" } } }, - "v1GetProjectsResponse": { + "v2GetProjectsResponse": { "type": "object", "properties": { "projects": { "type": "array", "items": { - "$ref": "#/definitions/v1ProjectOverview" + "type": "object", + "$ref": "#/definitions/v2Project" }, "title": "Overview of the projects" } } }, - "v1GetReferencesResponse": { + "v2GetPubkeysResponse": { "type": "object", "properties": { - "references": { + "pubkeys": { "type": "array", "items": { - "$ref": "#/definitions/v1ObjectReference" - }, - "title": "List of object references" + "type": "object", + "$ref": "#/definitions/v2Pubkey" + } } } }, - "v1GetResourceHierarchyResponse": { + "v2GetResourceResponse": { "type": "object", "properties": { - "hierarchies": { + "resource": { + "$ref": "#/definitions/v2ResourceWithPermission" + } + } + }, + "v2GetResourcesResponse": { + "type": "object", + "properties": { + "resources": { "type": "array", "items": { - "$ref": "#/definitions/v1Hierarchy" - }, - "title": "Returns a list of hierarchies\nfor collections n will be 1 \nfor objects this might contain more than one hierarchy\nstarting with the object_id but different collections / objectgroups" + "type": "object", + "$ref": "#/definitions/v2ResourceWithPermission" + } } } }, - "v1GetSecretResponse": { + "v2GetS3CredentialsSvcAccountResponse": { "type": "object", "properties": { - "authorization": { - "$ref": "#/definitions/v1Authorization" + "s3AccessKey": { + "type": "string" + }, + "s3SecretKey": { + "type": "string" + }, + "s3EndpointUrl": { + "type": "string" } } }, - "v1GetServiceAccountTokenResponse": { + "v2GetS3CredentialsUserResponse": { "type": "object", "properties": { - "token": { - "$ref": "#/definitions/v1Token" + "s3AccessKey": { + "type": "string" + }, + "s3SecretKey": { + "type": "string" + }, + "s3EndpointUrl": { + "type": "string" } } }, - "v1GetServiceAccountTokensResponse": { + "v2GetServiceAccountTokenResponse": { "type": "object", "properties": { "token": { - "type": "array", - "items": { - "$ref": "#/definitions/v1Token" - }, + "$ref": "#/definitions/v2Token", "title": "This contains only the token description" } } }, - "v1GetServiceAccountsByProjectResponse": { + "v2GetServiceAccountTokensResponse": { "type": "object", "properties": { - "svcAccounts": { + "token": { "type": "array", "items": { - "$ref": "#/definitions/v1ServiceAccount" - } - } - } - }, - "v1GetSharedRevisionResponse": { - "type": "object", - "properties": { - "sharedRevisionId": { - "type": "string", - "title": "Shared revision ID" + "type": "object", + "$ref": "#/definitions/v2Token" + }, + "title": "This contains only the token description" } } }, - "v1GetStorageStatusResponse": { + "v2GetStorageStatusResponse": { "type": "object", "properties": { - "componentStatus": { + "locationStatus": { "type": "array", "items": { - "$ref": "#/definitions/v1ComponentStatus" + "type": "object", + "$ref": "#/definitions/v2LocationStatus" }, - "title": "List of all components and their status" + "title": "List of all locations and their component / status" } } }, - "v1GetStorageVersionResponse": { + "v2GetStorageVersionResponse": { "type": "object", "properties": { - "componentVersion": { + "locationVersion": { "type": "array", "items": { - "$ref": "#/definitions/v1ComponentVersion" + "type": "object", + "$ref": "#/definitions/v2LocationVersion" } } - } - }, - "v1GetStreamGroupResponse": { - "type": "object", - "properties": { - "streamGroup": { - "$ref": "#/definitions/v1StreamGroup" - } - } - }, - "v1GetTokenFromSecretResponse": { - "type": "object", - "properties": { - "token": { - "type": "string" - } - } + }, + "title": "Version of each component by location" }, - "v1GetUploadURLResponse": { + "v2GetUploadURLResponse": { "type": "object", "properties": { "url": { - "$ref": "#/definitions/v1URL" + "type": "string", + "title": "URL" } } }, - "v1GetUserPermissionsForProjectResponse": { + "v2GetUserRedactedResponse": { "type": "object", "properties": { - "userPermission": { - "$ref": "#/definitions/v1ProjectPermissionDisplayName" + "user": { + "$ref": "#/definitions/v2User", + "title": "User info" } } }, - "v1GetUserProjectsResponse": { + "v2GetUserResponse": { "type": "object", "properties": { - "projects": { - "type": "array", - "items": { - "$ref": "#/definitions/v1UserProject" - }, - "title": "List of associated projects" + "user": { + "$ref": "#/definitions/v2User", + "title": "User info" } } }, - "v1GetUserResponse": { + "v2GetWorkspaceTemplateResponse": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/v1User" - }, - "projectPermissions": { - "type": "array", - "items": { - "$ref": "#/definitions/v1ProjectPermission" - }, - "title": "User permissions per project" + "workspace": { + "$ref": "#/definitions/v2WorkspaceInfo" } } }, - "v1Hash": { + "v2Hash": { "type": "object", "properties": { "alg": { - "$ref": "#/definitions/v1Hashalgorithm" + "$ref": "#/definitions/v2Hashalgorithm" }, "hash": { "type": "string" } } }, - "v1Hashalgorithm": { + "v2Hashalgorithm": { "type": "string", "enum": [ "HASHALGORITHM_UNSPECIFIED", "HASHALGORITHM_MD5", "HASHALGORITHM_SHA256" ], - "default": "HASHALGORITHM_UNSPECIFIED", - "title": "- HASHALGORITHM_SHA256: HASHALGORITHM_SHA1 = 2;" + "default": "HASHALGORITHM_UNSPECIFIED" }, - "v1Hierarchy": { + "v2HeadObjectResponse": { "type": "object", "properties": { - "objectId": { - "type": "string", - "title": "Starting with one object id \n(might be empty if higher is queried)" - }, - "objectGroupIds": { - "type": "array", - "items": { - "type": "string" - }, - "title": "0..n object groups per object in one collection" - }, - "collectionId": { - "type": "string", - "title": "one collection" + "contentLength": { + "type": "string" }, - "projectId": { - "type": "string", - "title": "one project" + "exists": { + "type": "boolean" } } }, - "v1Hook": { + "v2Hook": { "type": "object", "properties": { "externalHook": { - "$ref": "#/definitions/v1ExternalHook" + "$ref": "#/definitions/v2ExternalHook" }, "internalHook": { - "$ref": "#/definitions/v1InternalHook" + "$ref": "#/definitions/v2InternalHook" } } }, - "v1HookCallbackResponse": { + "v2HookCallbackResponse": { "type": "object" }, - "v1HookInfo": { + "v2HookInfo": { "type": "object", "properties": { "hookId": { "type": "string" }, + "projectIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, "hook": { - "$ref": "#/definitions/v1Hook" + "$ref": "#/definitions/v2Hook" }, "trigger": { - "$ref": "#/definitions/v1Trigger" + "$ref": "#/definitions/v2Trigger" }, "timeout": { "type": "string", @@ -5550,27 +5673,15 @@ } } }, - "v1IdType": { - "type": "string", - "enum": [ - "ID_TYPE_UNSPECIFIED", - "ID_TYPE_UUID", - "ID_TYPE_PATH" - ], - "default": "ID_TYPE_UNSPECIFIED" - }, - "v1Identifier": { + "v2InitLocationResponse": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "idtype": { - "$ref": "#/definitions/v1IdType" + "location": { + "$ref": "#/definitions/v2ObjectLocation" } } }, - "v1InitMultipartUploadResponse": { + "v2InitMultiPartUploadResponse": { "type": "object", "properties": { "uploadId": { @@ -5578,54 +5689,64 @@ } } }, - "v1InitializeNewObjectResponse": { + "v2InitReplicationResponse": { "type": "object", "properties": { - "objectId": { - "type": "string", - "title": "ObjectId" + "ack": { + "type": "boolean" + } + } + }, + "v2InternalHook": { + "type": "object", + "properties": { + "addLabel": { + "$ref": "#/definitions/v2AddLabel" }, - "uploadId": { - "type": "string", - "title": "Upload ID, a ID used to identify the upload / staging object" + "addHook": { + "$ref": "#/definitions/v2AddHook" }, - "collectionId": { - "type": "string", - "title": "CollectionID" + "addRelation": { + "$ref": "#/definitions/v2Relation" } } }, - "v1InternalAction": { - "type": "string", - "enum": [ - "INTERNAL_ACTION_UNSPECIFIED", - "INTERNAL_ACTION_ADD_LABEL", - "INTERNAL_ACTION_ADD_HOOK", - "INTERNAL_ACTION_CREATE_READ_REFERENCE", - "INTERNAL_ACTION_CREATE_WRITE_REFERENCE" - ], - "default": "INTERNAL_ACTION_UNSPECIFIED" - }, - "v1InternalHook": { + "v2InternalRelation": { "type": "object", "properties": { - "internalAction": { - "$ref": "#/definitions/v1InternalAction" + "resourceId": { + "type": "string" }, - "targetId": { - "type": "string", - "title": "Either key or target ID" + "resourceVariant": { + "$ref": "#/definitions/v2ResourceVariant" }, - "value": { + "definedVariant": { + "$ref": "#/definitions/v2InternalRelationVariant" + }, + "customVariant": { "type": "string", - "title": "Optional value" + "title": "Will only be filled if defined_variant == CUSTOM" + }, + "direction": { + "$ref": "#/definitions/v2RelationDirection" } } }, - "v1InvalidateBundleResponse": { - "type": "object" + "v2InternalRelationVariant": { + "type": "string", + "enum": [ + "INTERNAL_RELATION_VARIANT_UNSPECIFIED", + "INTERNAL_RELATION_VARIANT_BELONGS_TO", + "INTERNAL_RELATION_VARIANT_ORIGIN", + "INTERNAL_RELATION_VARIANT_VERSION", + "INTERNAL_RELATION_VARIANT_METADATA", + "INTERNAL_RELATION_VARIANT_POLICY", + "INTERNAL_RELATION_VARIANT_CUSTOM" + ], + "default": "INTERNAL_RELATION_VARIANT_UNSPECIFIED", + "title": "InternalRelations" }, - "v1KeyValue": { + "v2KeyValue": { "type": "object", "properties": { "key": { @@ -5633,540 +5754,712 @@ }, "value": { "type": "string" + }, + "variant": { + "$ref": "#/definitions/v2KeyValueVariant" } }, "title": "A key value pair for hooks and labels" }, - "v1LabelFilter": { + "v2KeyValueVariant": { + "type": "string", + "enum": [ + "KEY_VALUE_VARIANT_UNSPECIFIED", + "KEY_VALUE_VARIANT_LABEL", + "KEY_VALUE_VARIANT_STATIC_LABEL", + "KEY_VALUE_VARIANT_HOOK", + "KEY_VALUE_VARIANT_HOOK_STATUS" + ], + "default": "KEY_VALUE_VARIANT_UNSPECIFIED", + "description": "- KEY_VALUE_VARIANT_STATIC_LABEL: A Label that only admins can remove", + "title": "KeyValueVariants" + }, + "v2ListOwnedHooksResponse": { "type": "object", "properties": { - "labels": { + "infos": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" + "type": "object", + "$ref": "#/definitions/v2HookInfo" } - }, - "andOrOr": { - "type": "boolean", - "title": "True if and, if empty or false or" - }, - "keysOnly": { - "type": "boolean", - "title": "Should only the keys be considered ?" } - }, - "description": "LabelFilter is used to filter resources by labels.\nThe labels are specified as a map of key-value pairs." + } }, - "v1LabelOntology": { + "v2ListOwnedWorkspaceTemplatesResponse": { "type": "object", "properties": { - "requiredLabelKeys": { + "workspaces": { "type": "array", "items": { - "type": "string" - }, - "title": "These are the keys for labels that are required for the collection\nAdding an Object without these keys will result in an error\nDefaults to empty string if not specified" + "type": "object", + "$ref": "#/definitions/v2WorkspaceInfo" + } } } }, - "v1LabelOrIDQuery": { + "v2ListProjectHooksResponse": { "type": "object", "properties": { - "labels": { - "$ref": "#/definitions/v1LabelFilter" + "infos": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2HookInfo" + } + } + } + }, + "v2LocationStatus": { + "type": "object", + "properties": { + "location": { + "type": "string", + "title": "Status of a specific Location e.g Gießen / AVAILABLE" }, - "ids": { + "componentStatus": { "type": "array", "items": { - "type": "string" + "type": "object", + "$ref": "#/definitions/storageservicesv2ComponentStatus" } } - }, - "title": "This is a combined query for either a list of resource IDs or filtered by\nLabel Can be expanded in the future to allow for more complex queries" + } }, - "v1ListHooksResponse": { + "v2LocationVersion": { "type": "object", "properties": { - "infos": { + "location": { + "type": "string", + "title": "Status of a specific Location e.g Gießen / dataproxy / 0.5.0-beta.1" + }, + "version": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2ComponentVersion" + } + } + } + }, + "v2Method": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_PUT", + "METHOD_POST" + ], + "default": "METHOD_UNSPECIFIED" + }, + "v2ModifyRelationsRequest": { + "type": "object", + "properties": { + "resourceId": { + "type": "string" + }, + "addRelations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Relation" + } + }, + "removeRelations": { "type": "array", "items": { - "$ref": "#/definitions/v1HookInfo" + "type": "object", + "$ref": "#/definitions/v2Relation" } } } }, - "v1LocationStatus": { + "v2ModifyRelationsResponse": { + "type": "object" + }, + "v2NewVersion": { "type": "object", "properties": { "location": { + "type": "string" + }, + "component": { + "type": "string" + }, + "newVersion": { + "type": "string" + } + } + }, + "v2Object": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "keyValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2KeyValue" + }, + "title": "Collection specific labels / hooks" + }, + "relations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Relation" + }, + "title": "Relations to internal and external sources" + }, + "contentLen": { "type": "string", - "title": "Status of a specific Location e.g Gießen / AVAILABLE" + "format": "int64", + "title": "Object only" + }, + "dataClass": { + "$ref": "#/definitions/v2DataClass" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/modelsv2Status" + }, + "dynamic": { + "type": "boolean" + }, + "endpoints": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2DataEndpoint" + } + }, + "hashes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Hash" + }, + "title": "Object specific attributes" + } + } + }, + "v2ObjectLocation": { + "type": "object", + "properties": { + "bucket": { + "type": "string" + }, + "key": { + "type": "string" + }, + "uploadId": { + "type": "string" + }, + "contentLength": { + "type": "string" + } + } + }, + "v2Permission": { + "type": "object", + "properties": { + "projectId": { + "type": "string" + }, + "collectionId": { + "type": "string" + }, + "datasetId": { + "type": "string" + }, + "objectId": { + "type": "string" }, - "status": { - "$ref": "#/definitions/storageservicesv1Status" + "permissionLevel": { + "$ref": "#/definitions/v2PermissionLevel" } } }, - "v1LocationType": { + "v2PermissionLevel": { "type": "string", "enum": [ - "LOCATION_TYPE_UNSPECIFIED", - "LOCATION_TYPE_S3", - "LOCATION_TYPE_FILE" + "PERMISSION_LEVEL_UNSPECIFIED", + "PERMISSION_LEVEL_NONE", + "PERMISSION_LEVEL_READ", + "PERMISSION_LEVEL_APPEND", + "PERMISSION_LEVEL_WRITE", + "PERMISSION_LEVEL_ADMIN" ], - "default": "LOCATION_TYPE_UNSPECIFIED", - "description": "Enum to support multiple target Locations." + "default": "PERMISSION_LEVEL_UNSPECIFIED", + "title": "Permission Levels" }, - "v1LocationVersion": { + "v2PersonalNotification": { "type": "object", "properties": { - "location": { + "id": { + "type": "string" + }, + "variant": { + "$ref": "#/definitions/v2PersonalNotificationVariant" + }, + "message": { "type": "string", - "title": "Status of a specific Location e.g Gießen / 0.5.0-beta.1" + "title": "User A has requested access for resource B" }, - "version": { - "$ref": "#/definitions/v1SemanticVersion" + "refs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Reference" + }, + "title": "References to resource in the \"message\"" } } }, - "v1MoveWorkspaceDataResponse": { - "type": "object" + "v2PersonalNotificationVariant": { + "type": "string", + "enum": [ + "PERSONAL_NOTIFICATION_VARIANT_UNSPECIFIED", + "PERSONAL_NOTIFICATION_VARIANT_ACCESS_REQUESTED", + "PERSONAL_NOTIFICATION_VARIANT_PERMISSION_GRANTED", + "PERSONAL_NOTIFICATION_VARIANT_PERMISSION_REVOKED", + "PERSONAL_NOTIFICATION_VARIANT_PERMISSION_UPDATED", + "PERSONAL_NOTIFICATION_VARIANT_ANNOUNCEMENT" + ], + "default": "PERSONAL_NOTIFICATION_VARIANT_UNSPECIFIED" }, - "v1Object": { + "v2Project": { "type": "object", "properties": { "id": { "type": "string" }, - "filename": { - "type": "string" + "name": { + "type": "string", + "title": "Short name according to BucketNamingRules" }, - "labels": { + "description": { + "type": "string", + "title": "Long name" + }, + "keyValues": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" - } + "type": "object", + "$ref": "#/definitions/v2KeyValue" + }, + "title": "Project specific labels / hooks" }, - "hooks": { + "relations": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" - } + "type": "object", + "$ref": "#/definitions/v2Relation" + }, + "title": "Relations to internal and external sources" + }, + "stats": { + "$ref": "#/definitions/v2Stats" + }, + "dataClass": { + "$ref": "#/definitions/v2DataClass" }, - "created": { + "createdAt": { "type": "string", "format": "date-time" }, - "contentLen": { - "type": "string", - "format": "int64" + "createdBy": { + "type": "string" }, "status": { - "$ref": "#/definitions/storagemodelsv1Status" - }, - "origin": { - "$ref": "#/definitions/v1Origin" + "$ref": "#/definitions/modelsv2Status" }, - "dataClass": { - "$ref": "#/definitions/v1DataClass" + "dynamic": { + "type": "boolean" }, - "hashes": { + "endpoints": { "type": "array", "items": { - "$ref": "#/definitions/v1Hash" + "type": "object", + "$ref": "#/definitions/v2DataEndpoint" } - }, - "revNumber": { - "type": "string", - "format": "int64" - }, - "source": { - "$ref": "#/definitions/v1Source" - }, - "latest": { - "type": "boolean" - }, - "autoUpdate": { - "type": "boolean", - "title": "This is a collection specific attribute\nMust be false if collection is immutable" } } }, - "v1ObjectGroupObject": { - "type": "object", - "properties": { - "object": { - "$ref": "#/definitions/v1Object" - }, - "isMetadata": { - "type": "boolean", - "title": "Is this objet a meta object" - } - }, - "title": "Objectgroup objects are a combination of \"object\" and the boolean is_metadata\nflag Returned as single list to allow for more precise queries" - }, - "v1ObjectGroupOverview": { + "v2ProjectRelations": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { + "origin": { "type": "string" }, - "labels": { + "collectionChildren": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" + "type": "object", + "$ref": "#/definitions/v2CollectionRelations" } }, - "hooks": { + "datasetChildren": { "type": "array", "items": { - "$ref": "#/definitions/v1KeyValue" + "type": "object", + "$ref": "#/definitions/v2DatasetRelations" } }, - "stats": { - "$ref": "#/definitions/v1ObjectGroupStats" - }, - "revNumber": { - "type": "string", - "format": "int64" - } - }, - "title": "This is a representation of the ObjectGroup without the recursive nature of\nobject references" - }, - "v1ObjectGroupOverviews": { - "type": "object", - "properties": { - "objectGroupOverviews": { + "objectChildren": { "type": "array", "items": { - "$ref": "#/definitions/v1ObjectGroupOverview" + "type": "string" } } - }, - "title": "Multiple ObjectGroupOverviews" + } }, - "v1ObjectGroupResource": { + "v2Pubkey": { "type": "object", "properties": { - "projectId": { - "type": "string" - }, - "collectionId": { - "type": "string" + "id": { + "type": "integer", + "format": "int32" }, - "sharedObjectGroupId": { + "key": { "type": "string" }, - "objectGroupId": { + "location": { "type": "string" } } }, - "v1ObjectGroupStats": { + "v2PullReplicaRequest": { "type": "object", "properties": { - "objectStats": { - "$ref": "#/definitions/v1Stats" + "resourceId": { + "type": "string" }, - "lastUpdated": { - "type": "string", - "format": "date-time" + "s3Path": { + "$ref": "#/definitions/v2S3Path" } - }, - "title": "Stats for an object group" + } }, - "v1ObjectRef": { + "v2PullReplicaResponse": { "type": "object", "properties": { - "objectLocation": { - "$ref": "#/definitions/internalv1Location" - }, - "objectInfo": { - "$ref": "#/definitions/v1Object" - }, - "subPath": { + "replicationId": { "type": "string" } } }, - "v1ObjectReference": { + "v2PushReplicaRequest": { "type": "object", "properties": { - "objectId": { - "type": "string", - "title": "Object id" - }, - "collectionId": { - "type": "string", - "title": "Collection id" + "resourceId": { + "type": "string" }, - "revisionNumber": { - "type": "string", - "format": "int64", - "title": "Specific revision number" + "s3Path": { + "$ref": "#/definitions/v2S3Path" }, - "isWriteable": { - "type": "boolean", - "title": "Is the writeable?" + "targetLocation": { + "type": "string" } } }, - "v1ObjectResource": { + "v2PushReplicaResponse": { "type": "object", "properties": { - "projectId": { - "type": "string" - }, - "collectionId": { + "replicationId": { "type": "string" + } + } + }, + "v2PutObjectResponse": { + "type": "object" + }, + "v2Reference": { + "type": "object", + "properties": { + "refType": { + "$ref": "#/definitions/v2ReferenceType" }, - "sharedObjectId": { - "type": "string" + "refName": { + "type": "string", + "title": "\"User A\" | file.txt" }, - "objectId": { - "type": "string" + "refValue": { + "type": "string", + "title": "0123AAA123AAA (id)" } } }, - "v1ObjectWithURL": { + "v2ReferenceType": { + "type": "string", + "enum": [ + "REFERENCE_TYPE_UNSPECIFIED", + "REFERENCE_TYPE_USER", + "REFERENCE_TYPE_RESOURCE" + ], + "default": "REFERENCE_TYPE_UNSPECIFIED" + }, + "v2RegisterUserRequest": { "type": "object", "properties": { - "object": { - "$ref": "#/definitions/v1Object" + "displayName": { + "type": "string", + "title": "user_displayname" }, - "url": { + "email": { "type": "string", - "title": "This is a associated download URL\nWill be empty if request does not contain the associated with_url flag" + "title": "Mail address (optional)" }, - "paths": { - "type": "array", - "items": { - "type": "string" - }, - "title": "collection specific paths of object" + "project": { + "type": "string", + "title": "Project hint description string (optional)" } } }, - "v1Origin": { + "v2RegisterUserResponse": { "type": "object", "properties": { - "id": { + "userId": { "type": "string", - "title": "OriginType type = 1;" + "title": "Created user id" } - }, - "title": "Origin of the object -\u003e To be GDPA compliant" + } }, - "v1PageRequest": { + "v2Relation": { "type": "object", "properties": { - "lastUuid": { - "type": "string" + "external": { + "$ref": "#/definitions/v2ExternalRelation" }, - "pageSize": { - "type": "string", - "format": "int64" + "internal": { + "$ref": "#/definitions/v2InternalRelation" } - }, - "description": "This file contains parameters for queries that return a list of resources.\nThe results are paginated.\nThe page request specifies the page size and last_id.\nIf page_size is not specified, it defaults to 20.\nIf page_size is -1, it returns all objects." + } + }, + "v2RelationDirection": { + "type": "string", + "enum": [ + "RELATION_DIRECTION_UNSPECIFIED", + "RELATION_DIRECTION_INBOUND", + "RELATION_DIRECTION_OUTBOUND" + ], + "default": "RELATION_DIRECTION_UNSPECIFIED", + "title": "internal object relation type (direction)" + }, + "v2ReplicationStatus": { + "type": "string", + "enum": [ + "REPLICATION_STATUS_UNSPECIFIED", + "REPLICATION_STATUS_PENDING", + "REPLICATION_STATUS_RUNNING", + "REPLICATION_STATUS_FINISHED", + "REPLICATION_STATUS_ERROR" + ], + "default": "REPLICATION_STATUS_UNSPECIFIED" }, - "v1PartETag": { + "v2ReplicationStatusResponse": { "type": "object", "properties": { - "partNumber": { - "type": "string", - "format": "int64" + "status": { + "$ref": "#/definitions/v2ReplicationStatus" }, - "etag": { + "message": { "type": "string" } - }, - "description": "Etag / Part combination to finish a presigned multipart upload." + } }, - "v1Path": { + "v2Reply": { "type": "object", "properties": { - "path": { + "reply": { "type": "string" }, - "visibility": { - "type": "boolean" + "salt": { + "type": "string" + }, + "hmac": { + "type": "string" } } }, - "v1Permission": { - "type": "string", - "enum": [ - "PERMISSION_UNSPECIFIED", - "PERMISSION_NONE", - "PERMISSION_READ", - "PERMISSION_APPEND", - "PERMISSION_MODIFY", - "PERMISSION_ADMIN" - ], - "default": "PERMISSION_UNSPECIFIED", - "title": "- PERMISSION_READ: project but have no default permissions\n - PERMISSION_ADMIN: that owns the object / Create new collections" - }, - "v1PinCollectionVersionResponse": { + "v2RequestReplicationResponse": { "type": "object", "properties": { - "collection": { - "$ref": "#/definitions/v1CollectionOverview" + "dataInfos": { + "$ref": "#/definitions/v2DataInfos" + }, + "ack": { + "type": "boolean" } } }, - "v1PrepareBundleResponse": { + "v2RequestResourceAccessResponse": { "type": "object" }, - "v1ProjectOverview": { + "v2Resource": { "type": "object", "properties": { - "id": { + "resourceId": { "type": "string" }, - "name": { - "type": "string" + "persistentResourceId": { + "type": "boolean" }, - "description": { + "checksum": { "type": "string" }, - "collectionIds": { - "type": "array", - "items": { - "type": "string" - } + "resourceVariant": { + "$ref": "#/definitions/v2ResourceVariant" + } + } + }, + "v2ResourceAuthorization": { + "type": "object", + "properties": { + "resourceId": { + "type": "string" }, - "userIds": { + "userPermission": { "type": "array", "items": { - "type": "string" + "type": "object", + "$ref": "#/definitions/v2UserPermission" } - }, - "flags": { - "type": "string", - "format": "int64", - "title": "Project binary flag(s)" } } }, - "v1ProjectPermission": { + "v2ResourceEvent": { "type": "object", "properties": { - "userId": { - "type": "string" - }, - "projectId": { - "type": "string" + "resource": { + "$ref": "#/definitions/v2Resource" }, - "permission": { - "$ref": "#/definitions/v1Permission" + "eventVariant": { + "$ref": "#/definitions/v2EventVariant" }, - "serviceAccount": { - "type": "boolean" + "reply": { + "$ref": "#/definitions/v2Reply" } } }, - "v1ProjectPermissionDisplayName": { + "v2ResourceTarget": { "type": "object", "properties": { - "userId": { + "resourceId": { "type": "string" }, - "projectId": { - "type": "string" + "resourceVariant": { + "$ref": "#/definitions/v2ResourceVariant" + } + } + }, + "v2ResourceVariant": { + "type": "string", + "enum": [ + "RESOURCE_VARIANT_UNSPECIFIED", + "RESOURCE_VARIANT_PROJECT", + "RESOURCE_VARIANT_COLLECTION", + "RESOURCE_VARIANT_DATASET", + "RESOURCE_VARIANT_OBJECT" + ], + "default": "RESOURCE_VARIANT_UNSPECIFIED" + }, + "v2ResourceWithPermission": { + "type": "object", + "properties": { + "resource": { + "$ref": "#/definitions/v2GenericResource" }, "permission": { - "$ref": "#/definitions/v1Permission" - }, - "displayName": { - "type": "string" + "$ref": "#/definitions/v2PermissionLevel" } } }, - "v1ProjectResource": { + "v2S3Path": { "type": "object", "properties": { - "projectId": { + "bucket": { + "type": "string" + }, + "key": { "type": "string" } } }, - "v1RegisterUserRequest": { + "v2ScheduledDowntime": { "type": "object", "properties": { - "displayName": { - "type": "string", - "title": "user_displayname" + "location": { + "type": "string" }, - "email": { + "component": { + "type": "string" + }, + "from": { "type": "string", - "title": "Mail address" + "format": "date-time" }, - "project": { + "to": { "type": "string", - "title": "Project description string (optional)" + "format": "date-time" } } }, - "v1RegisterUserResponse": { + "v2SearchResourcesRequest": { "type": "object", "properties": { - "userId": { + "query": { + "type": "string" + }, + "filter": { + "type": "string" + }, + "limit": { + "type": "string", + "format": "int64" + }, + "offset": { "type": "string", - "title": "Created user id" + "format": "int64" } } }, - "v1RemoveUserFromProjectResponse": { - "type": "object" - }, - "v1Reply": { + "v2SearchResourcesResponse": { "type": "object", "properties": { - "reply": { - "type": "string" + "resources": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2GenericResource" + }, + "title": "Json list for each found resource" }, - "salt": { - "type": "string" + "estimatedTotal": { + "type": "string", + "format": "int64", + "title": "How many results are expected to be found ?" }, - "hmac": { - "type": "string" + "lastIndex": { + "type": "string", + "format": "int64", + "title": "The last index returned" } } }, - "v1ResourceAction": { - "type": "string", - "enum": [ - "RESOURCE_ACTION_UNSPECIFIED", - "RESOURCE_ACTION_CREATE", - "RESOURCE_ACTION_APPEND", - "RESOURCE_ACTION_UPDATE", - "RESOURCE_ACTION_READ", - "RESOURCE_ACTION_DELETE" - ], - "default": "RESOURCE_ACTION_UNSPECIFIED", - "title": "Used for the internal associated services to validate permissions\nActions are similar to HTTP verbs" - }, - "v1ResourceType": { - "type": "string", - "enum": [ - "RESOURCE_TYPE_UNSPECIFIED", - "RESOURCE_TYPE_PROJECT", - "RESOURCE_TYPE_COLLECTION", - "RESOURCE_TYPE_OBJECT_GROUP", - "RESOURCE_TYPE_OBJECT", - "RESOURCE_TYPE_ALL" - ], - "default": "RESOURCE_TYPE_UNSPECIFIED", - "title": "An resourcetype used to identify generic authorizations" - }, - "v1SemanticVersion": { + "v2SemanticVersion": { "type": "object", "properties": { "versionString": { @@ -6191,124 +6484,98 @@ } } }, - "v1ServiceAccount": { + "v2ServiceAccount": { "type": "object", "properties": { "svcAccountId": { "type": "string" }, - "projectId": { - "type": "string" - }, "name": { "type": "string" }, "permission": { - "$ref": "#/definitions/v1Permission" + "$ref": "#/definitions/v2Permission" } } }, - "v1SetHooksOfObjectResponse": { + "v2SetAnouncementsRequest": { "type": "object", "properties": { - "object": { - "$ref": "#/definitions/v1Object" + "anouncementsUpsert": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Anouncement" + } + }, + "anouncementsDelete": { + "type": "array", + "items": { + "type": "string" + } } } }, - "v1SetObjectPathVisibilityResponse": { + "v2SetAnouncementsResponse": { "type": "object", "properties": { - "path": { - "$ref": "#/definitions/v1Path" + "anouncements": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Anouncement" + } } } }, - "v1SetServiceAccountPermissionResponse": { + "v2SetServiceAccountPermissionResponse": { "type": "object", "properties": { "serviceAccount": { - "$ref": "#/definitions/v1ServiceAccount" + "$ref": "#/definitions/v2ServiceAccount" } } }, - "v1Source": { + "v2SnapshotCollectionResponse": { "type": "object", "properties": { - "identifier": { - "type": "string", - "title": "This is a URL / DOI" - }, - "sourceType": { - "$ref": "#/definitions/v1SourceType" + "collection": { + "$ref": "#/definitions/v2Collection", + "title": "This collection will be returned via an Persistent Identifier! Updates will be impossible" } } }, - "v1SourceType": { - "type": "string", - "enum": [ - "SOURCE_TYPE_UNSPECIFIED", - "SOURCE_TYPE_URL", - "SOURCE_TYPE_DOI" - ], - "default": "SOURCE_TYPE_UNSPECIFIED" - }, - "v1StageObject": { + "v2SnapshotDatasetResponse": { "type": "object", "properties": { - "filename": { - "type": "string", - "title": "Filename" - }, - "contentLen": { - "type": "string", - "format": "int64", - "title": "Content length" - }, - "source": { - "$ref": "#/definitions/v1Source" - }, - "dataclass": { - "$ref": "#/definitions/v1DataClass" - }, - "labels": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "List of label key-values" - }, - "hooks": { - "type": "array", - "items": { - "$ref": "#/definitions/v1KeyValue" - }, - "title": "List of hook key-values" - }, - "subPath": { - "type": "string", - "title": "(collection specific) sub_path for file\ndoes not include file-, collection- or projectname\nfinal fully-qualified schema: /\u003cprojectname\u003e/\u003ccollectionname\u003e/\u003cpath\u003e/\u003cfilename\u003e" + "dataset": { + "$ref": "#/definitions/v2Dataset", + "title": "This dataset will be returned via an Persistent Identifier! Updates will be impossible" } } }, - "v1Stats": { + "v2Stats": { "type": "object", "properties": { "count": { "type": "string", "format": "int64" }, - "accSize": { + "size": { "type": "string", "format": "int64" + }, + "lastUpdated": { + "type": "string", + "format": "date-time" } }, "title": "Stats for a set of objects" }, - "v1StreamAll": { + "v2StreamAll": { "type": "object" }, - "v1StreamFromDate": { + "v2StreamFromDate": { "type": "object", "properties": { "timestamp": { @@ -6317,7 +6584,7 @@ } } }, - "v1StreamFromSequence": { + "v2StreamFromSequence": { "type": "object", "properties": { "sequence": { @@ -6326,30 +6593,7 @@ } } }, - "v1StreamGroup": { - "type": "object", - "properties": { - "id": { - "type": "string", - "title": "Stream group ID" - }, - "eventType": { - "$ref": "#/definitions/v1EventType" - }, - "resourceType": { - "$ref": "#/definitions/v1ResourceType" - }, - "resourceId": { - "type": "string", - "title": "Resource ID" - }, - "notifyOnSubResource": { - "type": "boolean", - "title": "Should all \"sub\" resources be included" - } - } - }, - "v1Token": { + "v2Token": { "type": "object", "properties": { "id": { @@ -6358,9 +6602,6 @@ "name": { "type": "string" }, - "tokenType": { - "$ref": "#/definitions/v1TokenType" - }, "createdAt": { "type": "string", "format": "date-time" @@ -6369,38 +6610,17 @@ "type": "string", "format": "date-time" }, - "collectionId": { - "type": "string" - }, - "projectId": { - "type": "string" - }, "permission": { - "$ref": "#/definitions/v1Permission" - }, - "isSession": { - "type": "boolean" - }, - "usedAt": { - "type": "string", - "format": "date-time" + "$ref": "#/definitions/v2Permission", + "title": "Tokens can either be personal or resource \"specific\"" } } }, - "v1TokenType": { - "type": "string", - "enum": [ - "TOKEN_TYPE_UNSPECIFIED", - "TOKEN_TYPE_PERSONAL", - "TOKEN_TYPE_SCOPED" - ], - "default": "TOKEN_TYPE_UNSPECIFIED" - }, - "v1Trigger": { + "v2Trigger": { "type": "object", "properties": { "triggerType": { - "$ref": "#/definitions/v1TriggerType" + "$ref": "#/definitions/v2TriggerType" }, "key": { "type": "string" @@ -6410,65 +6630,148 @@ } } }, - "v1TriggerType": { + "v2TriggerType": { "type": "string", "enum": [ "TRIGGER_TYPE_UNSPECIFIED", - "TRIGGER_TYPE_HOOK_ADDED" + "TRIGGER_TYPE_HOOK_ADDED", + "TRIGGER_TYPE_OBJECT_CREATED", + "TRIGGER_TYPE_LABEL_ADDED", + "TRIGGER_TYPE_STATIC_LABEL_ADDED", + "TRIGGER_TYPE_HOOK_STATUS_CHANGED" ], "default": "TRIGGER_TYPE_UNSPECIFIED" }, - "v1URL": { + "v2UpdateAuthorizationRequest": { "type": "object", "properties": { - "url": { - "type": "string", - "title": "URL response" + "resourceId": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "permissionLevel": { + "$ref": "#/definitions/v2PermissionLevel" + } + } + }, + "v2UpdateAuthorizationResponse": { + "type": "object", + "properties": { + "userPermission": { + "$ref": "#/definitions/v2UserPermission" } } }, - "v1UpdateCollectionResponse": { + "v2UpdateCollectionDataClassResponse": { "type": "object", "properties": { "collection": { - "$ref": "#/definitions/v1CollectionOverview" + "$ref": "#/definitions/v2Collection" } } }, - "v1UpdateObjectGroupResponse": { + "v2UpdateCollectionDescriptionResponse": { "type": "object", "properties": { - "objectGroup": { - "$ref": "#/definitions/v1ObjectGroupOverview" + "collection": { + "$ref": "#/definitions/v2Collection" } } }, - "v1UpdateObjectResponse": { + "v2UpdateCollectionKeyValuesResponse": { "type": "object", "properties": { - "objectId": { - "type": "string", - "title": "ObjectId" - }, - "stagingId": { - "type": "string", - "description": "Staging ID, a generic ID when multipart is not enabled, otherwise the\nmultipart upload ID." + "collection": { + "$ref": "#/definitions/v2Collection" + } + } + }, + "v2UpdateCollectionNameResponse": { + "type": "object", + "properties": { + "collection": { + "$ref": "#/definitions/v2Collection" + } + } + }, + "v2UpdateDatasetDataClassResponse": { + "type": "object", + "properties": { + "dataset": { + "$ref": "#/definitions/v2Dataset" + } + } + }, + "v2UpdateDatasetDescriptionResponse": { + "type": "object", + "properties": { + "dataset": { + "$ref": "#/definitions/v2Dataset" + } + } + }, + "v2UpdateDatasetKeyValuesResponse": { + "type": "object", + "properties": { + "dataset": { + "$ref": "#/definitions/v2Dataset" + } + } + }, + "v2UpdateDatasetNameResponse": { + "type": "object", + "properties": { + "dataset": { + "$ref": "#/definitions/v2Dataset" + } + } + }, + "v2UpdateObjectResponse": { + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/v2Object" }, - "collectionId": { - "type": "string", - "title": "CollectionID" + "newRevision": { + "type": "boolean" + } + } + }, + "v2UpdateProjectDataClassResponse": { + "type": "object", + "properties": { + "project": { + "$ref": "#/definitions/v2Project" + } + } + }, + "v2UpdateProjectDescriptionResponse": { + "type": "object", + "properties": { + "project": { + "$ref": "#/definitions/v2Project" } } }, - "v1UpdateProjectResponse": { + "v2UpdateProjectKeyValuesResponse": { "type": "object", "properties": { "project": { - "$ref": "#/definitions/v1ProjectOverview" + "$ref": "#/definitions/v2Project" } } }, - "v1UpdateUserDisplayNameRequest": { + "v2UpdateProjectNameResponse": { + "type": "object", + "properties": { + "project": { + "$ref": "#/definitions/v2Project" + } + } + }, + "v2UpdateUserDisplayNameRequest": { "type": "object", "properties": { "newDisplayName": { @@ -6477,35 +6780,32 @@ } } }, - "v1UpdateUserDisplayNameResponse": { + "v2UpdateUserDisplayNameResponse": { "type": "object", "properties": { "user": { - "$ref": "#/definitions/v1User" + "$ref": "#/definitions/v2User", + "title": "Updated user info" } } }, - "v1UpdateUserEmailRequest": { + "v2UpdateUserEmailResponse": { "type": "object", "properties": { - "userId": { - "type": "string" - }, - "newEmail": { - "type": "string", - "title": "If new email is empty == unsubscribe" + "user": { + "$ref": "#/definitions/v2User" } } }, - "v1UpdateUserEmailResponse": { + "v2UploadPartResponse": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/v1User" + "etag": { + "type": "string" } } }, - "v1User": { + "v2User": { "type": "object", "properties": { "id": { @@ -6524,79 +6824,111 @@ "type": "boolean", "title": "Is the user activated" }, - "isAdmin": { - "type": "boolean", - "title": "Is the user admin ?" - }, - "isServiceAccount": { - "type": "boolean", - "title": "Is service account" - }, "email": { "type": "string", "title": "User email (empty if service account)" + }, + "attributes": { + "$ref": "#/definitions/v2UserAttributes", + "title": "User attributes" } - } + }, + "title": "------------- USERS \u0026 PERMISSIONS -----------------------" }, - "v1UserProject": { + "v2UserAttributes": { "type": "object", "properties": { - "id": { - "type": "string", - "title": "Project id" + "globalAdmin": { + "type": "boolean" }, - "name": { - "type": "string", - "title": "Project name" + "serviceAccount": { + "type": "boolean" }, - "description": { - "type": "string", - "title": "Project description" + "tokens": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Token" + } + }, + "trustedEndpoints": { + "type": "array", + "items": { + "type": "string" + } + }, + "customAttributes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2CustomAttributes" + } + }, + "personalPermissions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v2Permission" + } } } }, - "v1UserWithPerms": { + "v2UserEvent": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/v1User" + "userId": { + "type": "string" }, - "projectPerms": { - "type": "array", - "items": { - "$ref": "#/definitions/v1ProjectPermission" - } + "eventVariant": { + "$ref": "#/definitions/v2EventVariant" + }, + "checksum": { + "type": "string" + }, + "reply": { + "$ref": "#/definitions/v2Reply" } } }, - "v1UserWithProjectPermissions": { + "v2UserPermission": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/v1User" + "userId": { + "type": "string" }, - "userPermissions": { - "$ref": "#/definitions/v1ProjectPermission" + "userName": { + "type": "string" + }, + "permissionLevel": { + "$ref": "#/definitions/v2PermissionLevel" } } }, - "v1Version": { + "v2WorkspaceInfo": { "type": "object", "properties": { - "major": { - "type": "integer", - "format": "int32" + "workspaceId": { + "type": "string" }, - "minor": { - "type": "integer", - "format": "int32" + "name": { + "type": "string" }, - "patch": { - "type": "integer", - "format": "int32" + "description": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "prefix": { + "type": "string" + }, + "hookIds": { + "type": "string" + }, + "endpointIds": { + "type": "string" } - }, - "title": "Semver version -\u003e Alpha Beta release are not supported -\u003e Use \"latest\" for\nmutable collections that are in development" + } } }, "securityDefinitions": { diff --git a/setup.py b/setup.py index 4279040..81e2449 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ setup( name='Aruna-Python-API', - version="1.1.0-rc.8", + version="2.0.0-beta.5", description='Aruna Object Storage Python API builds', long_description=open('README.md', 'r').read(), long_description_content_type='text/markdown',