aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto')
-rw-r--r--third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto161
1 files changed, 161 insertions, 0 deletions
diff --git a/third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto b/third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto
new file mode 100644
index 0000000000..2d0ec8e9fd
--- /dev/null
+++ b/third_party/googleapis/google/api/servicecontrol/v1/service_controller.proto
@@ -0,0 +1,161 @@
+// Copyright 2016 Google Inc.
+//
+// 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.
+
+syntax = "proto3";
+
+package google.api.servicecontrol.v1;
+
+import "google/api/annotations.proto";
+import "google/api/servicecontrol/v1/check_error.proto";
+import "google/api/servicecontrol/v1/operation.proto";
+import "google/rpc/status.proto";
+
+option cc_enable_arenas = true;
+option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol";
+option java_multiple_files = true;
+option java_outer_classname = "ServiceControllerProto";
+option java_package = "com.google.api.servicecontrol.v1";
+option objc_class_prefix = "GASC";
+
+
+// [Google Service Control API](/service-control/overview)
+//
+// Lets clients check and report operations against
+// a [managed service][google.api.servicemanagement.v1.ManagedService].
+service ServiceController {
+ // Checks an operation with Google Service Control to decide whether
+ // the given operation should proceed. It should be called before the
+ // operation is executed.
+ //
+ // If feasible, the client should cache the check results and reuse them for
+ // up to 60s. In case of server errors, the client may rely on the cached
+ // results for longer time.
+ //
+ // This method requires the `servicemanagement.services.check` permission
+ // on the specified service. For more information, see
+ // [Google Cloud IAM](https://cloud.google.com/iam).
+ rpc Check(CheckRequest) returns (CheckResponse) {
+ option (google.api.http) = { post: "/v1/services/{service_name}:check" body: "*" };
+ }
+
+ // Reports operations to Google Service Control. It should be called
+ // after the operation is completed.
+ //
+ // If feasible, the client should aggregate reporting data for up to 5s to
+ // reduce API traffic. Limiting aggregation to 5s is to reduce data loss
+ // during client crashes. Clients should carefully choose the aggregation
+ // window to avoid data loss risk more than 0.01% for business and
+ // compliance reasons.
+ //
+ // This method requires the `servicemanagement.services.report` permission
+ // on the specified service. For more information, see
+ // [Google Cloud IAM](https://cloud.google.com/iam).
+ rpc Report(ReportRequest) returns (ReportResponse) {
+ option (google.api.http) = { post: "/v1/services/{service_name}:report" body: "*" };
+ }
+}
+
+// Request message for the Check method.
+message CheckRequest {
+ // The service name as specified in its service configuration. For example,
+ // `"pubsub.googleapis.com"`.
+ //
+ // See [google.api.Service][google.api.Service] for the definition of a service name.
+ string service_name = 1;
+
+ // The operation to be checked.
+ Operation operation = 2;
+
+ // Specifies which version of service configuration should be used to process
+ // the request.
+ //
+ // If unspecified or no matching version can be found, the
+ // latest one will be used.
+ string service_config_id = 4;
+}
+
+// Response message for the Check method.
+message CheckResponse {
+ // The same operation_id value used in the CheckRequest.
+ // Used for logging and diagnostics purposes.
+ string operation_id = 1;
+
+ // Indicate the decision of the check.
+ //
+ // If no check errors are present, the service should process the operation.
+ // Otherwise the service should use the list of errors to determine the
+ // appropriate action.
+ repeated CheckError check_errors = 2;
+
+ // The actual config id used to process the request.
+ string service_config_id = 5;
+}
+
+// Request message for the Report method.
+message ReportRequest {
+ // The service name as specified in its service configuration. For example,
+ // `"pubsub.googleapis.com"`.
+ //
+ // See [google.api.Service][google.api.Service] for the definition of a service name.
+ string service_name = 1;
+
+ // Operations to be reported.
+ //
+ // Typically the service should report one operation per request.
+ // Putting multiple operations into a single request is allowed, but should
+ // be used only when multiple operations are natually available at the time
+ // of the report.
+ //
+ // If multiple operations are in a single request, the total request size
+ // should be no larger than 1MB. See [ReportResponse.report_errors][google.api.servicecontrol.v1.ReportResponse.report_errors] for
+ // partial failure behavior.
+ repeated Operation operations = 2;
+
+ // Specifies which version of service config should be used to process the
+ // request.
+ //
+ // If unspecified or no matching version can be found, the
+ // latest one will be used.
+ string service_config_id = 3;
+}
+
+// Response message for the Report method.
+message ReportResponse {
+ // Represents the processing error of one `Operation` in the request.
+ message ReportError {
+ // The [Operation.operation_id][google.api.servicecontrol.v1.Operation.operation_id] value from the request.
+ string operation_id = 1;
+
+ // Details of the error when processing the `Operation`.
+ google.rpc.Status status = 2;
+ }
+
+ // Partial failures, one for each `Operation` in the request that failed
+ // processing. There are three possible combinations of the RPC status:
+ //
+ // 1. The combination of a successful RPC status and an empty `report_errors`
+ // list indicates a complete success where all `Operations` in the
+ // request are processed successfully.
+ // 2. The combination of a successful RPC status and a non-empty
+ // `report_errors` list indicates a partial success where some
+ // `Operations` in the request succeeded. Each
+ // `Operation` that failed processing has a corresponding item
+ // in this list.
+ // 3. A failed RPC status indicates a complete failure where none of the
+ // `Operations` in the request succeeded.
+ repeated ReportError report_errors = 1;
+
+ // The actual config id used to process the request.
+ string service_config_id = 2;
+}