aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto
diff options
context:
space:
mode:
authorkomels <komels@yandex-team.ru>2022-04-14 13:10:53 +0300
committerkomels <komels@yandex-team.ru>2022-04-14 13:10:53 +0300
commit21c9b0e6b039e9765eb414c406c2b86e8cea6850 (patch)
treef40ebc18ff8958dfbd189954ad024043ca983ea5 /contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto
parent9a4effa852abe489707139c2b260dccc6f4f9aa9 (diff)
downloadydb-21c9b0e6b039e9765eb414c406c2b86e8cea6850.tar.gz
Final part on compatibility layer: LOGBROKER-7215
ref:777c67aadbf705d19034a09a792b2df61ba53697
Diffstat (limited to 'contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto')
-rw-r--r--contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto150
1 files changed, 150 insertions, 0 deletions
diff --git a/contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto b/contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto
new file mode 100644
index 0000000000..1477d2d69a
--- /dev/null
+++ b/contrib/libs/googleapis-common-protos/google/cloud/extended_operations.proto
@@ -0,0 +1,150 @@
+// Copyright 2021 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// This file contains custom annotations that are used by GAPIC generators to
+// handle Long Running Operation methods (LRO) that are NOT compliant with
+// https://google.aip.dev/151. These annotations are public for technical
+// reasons only. Please DO NOT USE them in your protos.
+syntax = "proto3";
+
+package google.cloud;
+
+import "google/protobuf/descriptor.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/extendedops;extendedops";
+option java_multiple_files = true;
+option java_outer_classname = "ExtendedOperationsProto";
+option java_package = "com.google.cloud";
+option objc_class_prefix = "GAPI";
+
+// FieldOptions to match corresponding fields in the initial request,
+// polling request and operation response messages.
+//
+// Example:
+//
+// In an API-specific operation message:
+//
+// message MyOperation {
+// string http_error_message = 1 [(operation_field) = ERROR_MESSAGE];
+// int32 http_error_status_code = 2 [(operation_field) = ERROR_CODE];
+// string id = 3 [(operation_field) = NAME];
+// Status status = 4 [(operation_field) = STATUS];
+// }
+//
+// In a polling request message (the one which is used to poll for an LRO
+// status):
+//
+// message MyPollingRequest {
+// string operation = 1 [(operation_response_field) = "id"];
+// string project = 2;
+// string region = 3;
+// }
+//
+// In an initial request message (the one which starts an LRO):
+//
+// message MyInitialRequest {
+// string my_project = 2 [(operation_request_field) = "project"];
+// string my_region = 3 [(operation_request_field) = "region"];
+// }
+//
+extend google.protobuf.FieldOptions {
+ // A field annotation that maps fields in an API-specific Operation object to
+ // their standard counterparts in google.longrunning.Operation. See
+ // OperationResponseMapping enum definition.
+ OperationResponseMapping operation_field = 1149;
+
+ // A field annotation that maps fields in the initial request message
+ // (the one which started the LRO) to their counterparts in the polling
+ // request message. For non-standard LRO, the polling response may be missing
+ // some of the information needed to make a subsequent polling request. The
+ // missing information (for example, project or region ID) is contained in the
+ // fields of the initial request message that this annotation must be applied
+ // to. The string value of the annotation corresponds to the name of the
+ // counterpart field in the polling request message that the annotated field's
+ // value will be copied to.
+ string operation_request_field = 1150;
+
+ // A field annotation that maps fields in the polling request message to their
+ // counterparts in the initial and/or polling response message. The initial
+ // and the polling methods return an API-specific Operation object. Some of
+ // the fields from that response object must be reused in the subsequent
+ // request (like operation name/ID) to fully identify the polled operation.
+ // This annotation must be applied to the fields in the polling request
+ // message, the string value of the annotation must correspond to the name of
+ // the counterpart field in the Operation response object whose value will be
+ // copied to the annotated field.
+ string operation_response_field = 1151;
+}
+
+// MethodOptions to identify the actual service and method used for operation
+// status polling.
+//
+// Example:
+//
+// In a method, which starts an LRO:
+//
+// service MyService {
+// rpc Foo(MyInitialRequest) returns (MyOperation) {
+// option (operation_service) = "MyPollingService";
+// }
+// }
+//
+// In a polling method:
+//
+// service MyPollingService {
+// rpc Get(MyPollingRequest) returns (MyOperation) {
+// option (operation_polling_method) = true;
+// }
+// }
+extend google.protobuf.MethodOptions {
+ // A method annotation that maps an LRO method (the one which starts an LRO)
+ // to the service, which will be used to poll for the operation status. The
+ // annotation must be applied to the method which starts an LRO, the string
+ // value of the annotation must correspond to the name of the service used to
+ // poll for the operation status.
+ string operation_service = 1249;
+
+ // A method annotation that marks methods that can be used for polling
+ // operation status (e.g. the MyPollingService.Get(MyPollingRequest) method).
+ bool operation_polling_method = 1250;
+}
+
+// An enum to be used to mark the essential (for polling) fields in an
+// API-specific Operation object. A custom Operation object may contain many
+// different fields, but only few of them are essential to conduct a successful
+// polling process.
+enum OperationResponseMapping {
+ // Do not use.
+ UNDEFINED = 0;
+
+ // A field in an API-specific (custom) Operation object which carries the same
+ // meaning as google.longrunning.Operation.name.
+ NAME = 1;
+
+ // A field in an API-specific (custom) Operation object which carries the same
+ // meaning as google.longrunning.Operation.done. If the annotated field is of
+ // an enum type, `annotated_field_name == EnumType.DONE` semantics should be
+ // equivalent to `Operation.done == true`. If the annotated field is of type
+ // boolean, then it should follow the same semantics as Operation.done.
+ // Otherwise, a non-empty value should be treated as `Operation.done == true`.
+ STATUS = 2;
+
+ // A field in an API-specific (custom) Operation object which carries the same
+ // meaning as google.longrunning.Operation.error.code.
+ ERROR_CODE = 3;
+
+ // A field in an API-specific (custom) Operation object which carries the same
+ // meaning as google.longrunning.Operation.error.message.
+ ERROR_MESSAGE = 4;
+} \ No newline at end of file