@devvit/protos 0.11.6 → 0.11.7-next-2025-01-28-9b10510e8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/meta.min.json +7820 -0
- package/package.json +4 -4
- package/protos.min.js +2 -0
- package/protos.min.js.map +7 -0
- package/schema/.snootobuf/deps/buf/validate/expression.proto +92 -0
- package/schema/.snootobuf/deps/buf/validate/priv/private.proto +41 -0
- package/schema/.snootobuf/deps/buf/validate/validate.proto +4130 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/audit.proto +72 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/auth.proto +49 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/organization.proto +54 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/service.proto +46 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/subscription.proto +72 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/ui.proto +20 -0
- package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/user.proto +45 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/admin.proto +54 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/delivery.proto +773 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/filter.proto +66 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/firehose.proto +100 -0
- package/schema/.snootobuf/deps/devvit/data/api/v1alpha/intake.proto +19 -0
- package/schema/.snootobuf/deps/devvit/events/v1alpha/events.proto +446 -0
- package/schema/.snootobuf/deps/devvit/gateway/v1alpha/payments.proto +24 -0
- package/schema/.snootobuf/deps/devvit/options/options.proto +98 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/commentv2.proto +29 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/flair.proto +25 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modaction.proto +53 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modmail.proto +56 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/postv2.proto +107 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/subredditv2.proto +41 -0
- package/schema/.snootobuf/deps/devvit/reddit/v2alpha/userv2.proto +23 -0
- package/schema/.snootobuf/deps/devvit/triggers/v1alpha/triggers.proto +162 -0
- package/schema/.snootobuf/deps/enum/account_gender_category.proto +14 -0
- package/schema/.snootobuf/deps/enum/approval_status.proto +15 -0
- package/schema/.snootobuf/deps/enum/automated_reporting_level.proto +12 -0
- package/schema/.snootobuf/deps/enum/ban_evasion_threshold.proto +13 -0
- package/schema/.snootobuf/deps/enum/ban_info_action.proto +12 -0
- package/schema/.snootobuf/deps/enum/block_relation_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/comment_sort.proto +18 -0
- package/schema/.snootobuf/deps/enum/comment_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/crowd_control_level.proto +12 -0
- package/schema/.snootobuf/deps/enum/discussion_type.proto +10 -0
- package/schema/.snootobuf/deps/enum/distinguish_type.proto +14 -0
- package/schema/.snootobuf/deps/enum/flair_position.proto +11 -0
- package/schema/.snootobuf/deps/enum/hateful_content_threshold.proto +12 -0
- package/schema/.snootobuf/deps/enum/link_content_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/link_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/link_visibility.proto +11 -0
- package/schema/.snootobuf/deps/enum/prediction_leaderboard_entry_type.proto +11 -0
- package/schema/.snootobuf/deps/enum/promo_layout.proto +11 -0
- package/schema/.snootobuf/deps/enum/removed_by_type.proto +18 -0
- package/schema/.snootobuf/deps/enum/spam_level.proto +11 -0
- package/schema/.snootobuf/deps/enum/subreddit_type.proto +16 -0
- package/schema/.snootobuf/deps/enum/verdict.proto +14 -0
- package/schema/.snootobuf/deps/enum/vote.proto +12 -0
- package/schema/.snootobuf/deps/enum/whitelist_status.proto +17 -0
- package/schema/.snootobuf/deps/enum/wiki_edit_mode.proto +12 -0
- package/schema/.snootobuf/deps/evaluator/evaluator.proto +203 -0
- package/schema/.snootobuf/deps/google/api/annotations.proto +31 -0
- package/schema/.snootobuf/deps/google/api/apikeys/v2/apikeys.proto +288 -0
- package/schema/.snootobuf/deps/google/api/apikeys/v2/resources.proto +175 -0
- package/schema/.snootobuf/deps/google/api/auth.proto +237 -0
- package/schema/.snootobuf/deps/google/api/backend.proto +185 -0
- package/schema/.snootobuf/deps/google/api/billing.proto +77 -0
- package/schema/.snootobuf/deps/google/api/client.proto +431 -0
- package/schema/.snootobuf/deps/google/api/cloudquotas/v1/cloudquotas.proto +322 -0
- package/schema/.snootobuf/deps/google/api/cloudquotas/v1/resources.proto +315 -0
- package/schema/.snootobuf/deps/google/api/config_change.proto +84 -0
- package/schema/.snootobuf/deps/google/api/consumer.proto +82 -0
- package/schema/.snootobuf/deps/google/api/context.proto +92 -0
- package/schema/.snootobuf/deps/google/api/control.proto +41 -0
- package/schema/.snootobuf/deps/google/api/distribution.proto +213 -0
- package/schema/.snootobuf/deps/google/api/documentation.proto +168 -0
- package/schema/.snootobuf/deps/google/api/endpoint.proto +69 -0
- package/schema/.snootobuf/deps/google/api/error_reason.proto +589 -0
- package/schema/.snootobuf/deps/google/api/expr/conformance/v1alpha1/conformance_service.proto +183 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/checked.proto +343 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/eval.proto +118 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/explain.proto +53 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/syntax.proto +438 -0
- package/schema/.snootobuf/deps/google/api/expr/v1alpha1/value.proto +115 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/decl.proto +84 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/eval.proto +125 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/expr.proto +265 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/source.proto +62 -0
- package/schema/.snootobuf/deps/google/api/expr/v1beta1/value.proto +114 -0
- package/schema/.snootobuf/deps/google/api/field_behavior.proto +104 -0
- package/schema/.snootobuf/deps/google/api/field_info.proto +106 -0
- package/schema/.snootobuf/deps/google/api/http.proto +371 -0
- package/schema/.snootobuf/deps/google/api/httpbody.proto +81 -0
- package/schema/.snootobuf/deps/google/api/label.proto +48 -0
- package/schema/.snootobuf/deps/google/api/launch_stage.proto +72 -0
- package/schema/.snootobuf/deps/google/api/log.proto +54 -0
- package/schema/.snootobuf/deps/google/api/logging.proto +81 -0
- package/schema/.snootobuf/deps/google/api/metric.proto +268 -0
- package/schema/.snootobuf/deps/google/api/monitored_resource.proto +130 -0
- package/schema/.snootobuf/deps/google/api/monitoring.proto +107 -0
- package/schema/.snootobuf/deps/google/api/policy.proto +85 -0
- package/schema/.snootobuf/deps/google/api/quota.proto +184 -0
- package/schema/.snootobuf/deps/google/api/resource.proto +243 -0
- package/schema/.snootobuf/deps/google/api/routing.proto +461 -0
- package/schema/.snootobuf/deps/google/api/service.proto +191 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/check_error.proto +124 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/distribution.proto +166 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/http_request.proto +93 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/log_entry.proto +126 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/metric_value.proto +81 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/operation.proto +123 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/quota_controller.proto +245 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v1/service_controller.proto +260 -0
- package/schema/.snootobuf/deps/google/api/servicecontrol/v2/service_controller.proto +196 -0
- package/schema/.snootobuf/deps/google/api/servicemanagement/v1/resources.proto +295 -0
- package/schema/.snootobuf/deps/google/api/servicemanagement/v1/servicemanager.proto +508 -0
- package/schema/.snootobuf/deps/google/api/serviceusage/v1/resources.proto +130 -0
- package/schema/.snootobuf/deps/google/api/serviceusage/v1/serviceusage.proto +305 -0
- package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/resources.proto +458 -0
- package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/serviceusage.proto +793 -0
- package/schema/.snootobuf/deps/google/api/source_info.proto +31 -0
- package/schema/.snootobuf/deps/google/api/system_parameter.proto +96 -0
- package/schema/.snootobuf/deps/google/api/usage.proto +96 -0
- package/schema/.snootobuf/deps/google/api/visibility.proto +113 -0
- package/schema/.snootobuf/deps/google/cloud/extended_operations.proto +150 -0
- package/schema/.snootobuf/deps/google/iam/admin/v1/iam.proto +1087 -0
- package/schema/.snootobuf/deps/google/iam/v1/iam_policy.proto +145 -0
- package/schema/.snootobuf/deps/google/iam/v1/logging/audit_data.proto +34 -0
- package/schema/.snootobuf/deps/google/iam/v1/options.proto +41 -0
- package/schema/.snootobuf/deps/google/iam/v1/policy.proto +240 -0
- package/schema/.snootobuf/deps/google/logging/type/http_request.proto +92 -0
- package/schema/.snootobuf/deps/google/logging/type/log_severity.proto +72 -0
- package/schema/.snootobuf/deps/google/longrunning/operations.proto +247 -0
- package/schema/.snootobuf/deps/google/protobuf/any.proto +158 -0
- package/schema/.snootobuf/deps/google/protobuf/api.proto +208 -0
- package/schema/.snootobuf/deps/google/protobuf/compiler/plugin.proto +183 -0
- package/schema/.snootobuf/deps/google/protobuf/descriptor.proto +921 -0
- package/schema/.snootobuf/deps/google/protobuf/duration.proto +116 -0
- package/schema/.snootobuf/deps/google/protobuf/empty.proto +51 -0
- package/schema/.snootobuf/deps/google/protobuf/field_mask.proto +245 -0
- package/schema/.snootobuf/deps/google/protobuf/source_context.proto +48 -0
- package/schema/.snootobuf/deps/google/protobuf/struct.proto +95 -0
- package/schema/.snootobuf/deps/google/protobuf/timestamp.proto +147 -0
- package/schema/.snootobuf/deps/google/protobuf/type.proto +187 -0
- package/schema/.snootobuf/deps/google/protobuf/wrappers.proto +123 -0
- package/schema/.snootobuf/deps/google/rpc/code.proto +186 -0
- package/schema/.snootobuf/deps/google/rpc/context/attribute_context.proto +287 -0
- package/schema/.snootobuf/deps/google/rpc/error_details.proto +246 -0
- package/schema/.snootobuf/deps/google/rpc/status.proto +47 -0
- package/schema/.snootobuf/deps/google/type/calendar_period.proto +57 -0
- package/schema/.snootobuf/deps/google/type/color.proto +170 -0
- package/schema/.snootobuf/deps/google/type/date.proto +50 -0
- package/schema/.snootobuf/deps/google/type/datetime.proto +97 -0
- package/schema/.snootobuf/deps/google/type/dayofweek.proto +51 -0
- package/schema/.snootobuf/deps/google/type/expr.proto +51 -0
- package/schema/.snootobuf/deps/google/type/fraction.proto +34 -0
- package/schema/.snootobuf/deps/google/type/latlng.proto +37 -0
- package/schema/.snootobuf/deps/google/type/money.proto +43 -0
- package/schema/.snootobuf/deps/google/type/month.proto +66 -0
- package/schema/.snootobuf/deps/google/type/postal_address.proto +135 -0
- package/schema/.snootobuf/deps/google/type/quaternion.proto +95 -0
- package/schema/.snootobuf/deps/google/type/timeofday.proto +44 -0
- package/schema/.snootobuf/deps/openapi/helper.proto +20 -0
- package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
- package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +118 -0
- package/schema/.snootobuf/deps/reddit/api/metadata/v1/metadata.proto +55 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account.proto +579 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account_relations.proto +43 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/api/metadata/v1/metadata.proto +82 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/blocking/v1/user_blocking_service.proto +221 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree.proto +78 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_service.proto +189 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_structure.proto +29 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments.proto +417 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments_service.proto +72 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/auth.proto +25 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/features.proto +52 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/lang.proto +16 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/legal.proto +20 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/media.proto +149 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/moderation.proto +197 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/safety.proto +116 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/time.proto +25 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/domains/v1/domains_metadata_service.proto +101 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/grpc_thrift/v1/grpc_thrift_options.proto +34 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links.proto +798 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links_service.proto +186 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/messages/v1/messages.proto +110 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/sensitive/v1/wrappers.proto +51 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit.proto +1202 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_member_relations.proto +85 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_moderator_service.proto +363 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_service.proto +301 -0
- package/schema/.snootobuf/deps/reddit/coreplatform/thing/v0/thing.proto +2869 -0
- package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/custom_post.proto +15 -0
- package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/service.proto +11 -0
- package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/context_action.proto +48 -0
- package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/manifest.proto +70 -0
- package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/service.proto +11 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/acknowledge_order_delivery.proto +17 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/checkout.proto +89 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/common.proto +322 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/delete_products.proto +17 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/events.proto +14 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_batch_products.proto +15 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_gold_balances.proto +48 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_order.proto +31 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders.proto +26 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders_by_user.proto +15 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_payout_info_batch.proto +52 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_products.proto +23 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_user_profiles.proto +28 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/refund_order.proto +17 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service.proto +49 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service_data_compliance.proto +20 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/upsert_products.proto +17 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paygatewaypsps/v1/paygatewaypsps.proto +158 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payments_data_compliance.proto +18 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payorders.proto +195 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/admin.proto +44 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/ledger.proto +200 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/payments_data_compliance.proto +18 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/paypayments.proto +210 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
- package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +135 -0
- package/schema/.snootobuf/deps/snooron_sources/text_classification/text_classification.proto +29 -0
- package/schema/.snootobuf/deps/snooron_sources/v2_event/v2_event.proto +3292 -0
- package/schema/.snootobuf/deps/validate/validate.proto +862 -0
- package/schema/devvit/plugin/buildpack/buildpack_common.proto +6 -1
- package/schema/snootobuf.devenv.lock +210 -102
- package/schema/snootobuf.lock +210 -102
- package/schema/snootobuf.redditapi.lock +210 -102
- package/schema/snootobuf.ts.lock +210 -102
- package/types/devvit/dev_portal/dev_portal.d.ts +2 -0
- package/types/devvit/dev_portal/dev_portal.d.ts.map +1 -1
- package/types/devvit/plugin/builder/builder.d.ts +4 -0
- package/types/devvit/plugin/builder/builder.d.ts.map +1 -1
- package/types/devvit/plugin/buildpack/buildpack.d.ts +8 -0
- package/types/devvit/plugin/buildpack/buildpack.d.ts.map +1 -1
- package/types/devvit/plugin/buildpack/buildpack_common.d.ts +3 -0
- package/types/devvit/plugin/buildpack/buildpack_common.d.ts.map +1 -1
- package/types/devvit/plugin/buildpack/buildpack_common.js +37 -1
- package/types/devvit/plugin/linker/linker.d.ts +2 -0
- package/types/devvit/plugin/linker/linker.d.ts.map +1 -1
- package/types/devvit/plugin/linker/resolver.d.ts +2 -0
- package/types/devvit/plugin/linker/resolver.d.ts.map +1 -1
@@ -0,0 +1,123 @@
|
|
1
|
+
// Copyright 2024 Google LLC
|
2
|
+
//
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
// you may not use this file except in compliance with the License.
|
5
|
+
// You may obtain a copy of the License at
|
6
|
+
//
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
//
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
// See the License for the specific language governing permissions and
|
13
|
+
// limitations under the License.
|
14
|
+
|
15
|
+
syntax = "proto3";
|
16
|
+
|
17
|
+
package google.api.servicecontrol.v1;
|
18
|
+
|
19
|
+
import "google/api/servicecontrol/v1/log_entry.proto";
|
20
|
+
import "google/api/servicecontrol/v1/metric_value.proto";
|
21
|
+
import "google/protobuf/any.proto";
|
22
|
+
import "google/protobuf/timestamp.proto";
|
23
|
+
|
24
|
+
option cc_enable_arenas = true;
|
25
|
+
option csharp_namespace = "Google.Cloud.ServiceControl.V1";
|
26
|
+
option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb";
|
27
|
+
option java_multiple_files = true;
|
28
|
+
option java_outer_classname = "OperationProto";
|
29
|
+
option java_package = "com.google.api.servicecontrol.v1";
|
30
|
+
option php_namespace = "Google\\Cloud\\ServiceControl\\V1";
|
31
|
+
option ruby_package = "Google::Cloud::ServiceControl::V1";
|
32
|
+
|
33
|
+
// Represents information regarding an operation.
|
34
|
+
message Operation {
|
35
|
+
// Defines the importance of the data contained in the operation.
|
36
|
+
enum Importance {
|
37
|
+
// Allows data caching, batching, and aggregation. It provides
|
38
|
+
// higher performance with higher data loss risk.
|
39
|
+
LOW = 0;
|
40
|
+
|
41
|
+
// Disables data aggregation to minimize data loss. It is for operations
|
42
|
+
// that contains significant monetary value or audit trail. This feature
|
43
|
+
// only applies to the client libraries.
|
44
|
+
HIGH = 1;
|
45
|
+
}
|
46
|
+
|
47
|
+
// Identity of the operation. This must be unique within the scope of the
|
48
|
+
// service that generated the operation. If the service calls
|
49
|
+
// Check() and Report() on the same operation, the two calls should carry
|
50
|
+
// the same id.
|
51
|
+
//
|
52
|
+
// UUID version 4 is recommended, though not required.
|
53
|
+
// In scenarios where an operation is computed from existing information
|
54
|
+
// and an idempotent id is desirable for deduplication purpose, UUID version 5
|
55
|
+
// is recommended. See RFC 4122 for details.
|
56
|
+
string operation_id = 1;
|
57
|
+
|
58
|
+
// Fully qualified name of the operation. Reserved for future use.
|
59
|
+
string operation_name = 2;
|
60
|
+
|
61
|
+
// Identity of the consumer who is using the service.
|
62
|
+
// This field should be filled in for the operations initiated by a
|
63
|
+
// consumer, but not for service-initiated operations that are
|
64
|
+
// not related to a specific consumer.
|
65
|
+
//
|
66
|
+
// - This can be in one of the following formats:
|
67
|
+
// - project:PROJECT_ID,
|
68
|
+
// - project`_`number:PROJECT_NUMBER,
|
69
|
+
// - projects/PROJECT_ID or PROJECT_NUMBER,
|
70
|
+
// - folders/FOLDER_NUMBER,
|
71
|
+
// - organizations/ORGANIZATION_NUMBER,
|
72
|
+
// - api`_`key:API_KEY.
|
73
|
+
string consumer_id = 3;
|
74
|
+
|
75
|
+
// Required. Start time of the operation.
|
76
|
+
google.protobuf.Timestamp start_time = 4;
|
77
|
+
|
78
|
+
// End time of the operation.
|
79
|
+
// Required when the operation is used in
|
80
|
+
// [ServiceController.Report][google.api.servicecontrol.v1.ServiceController.Report],
|
81
|
+
// but optional when the operation is used in
|
82
|
+
// [ServiceController.Check][google.api.servicecontrol.v1.ServiceController.Check].
|
83
|
+
google.protobuf.Timestamp end_time = 5;
|
84
|
+
|
85
|
+
// Labels describing the operation. Only the following labels are allowed:
|
86
|
+
//
|
87
|
+
// - Labels describing monitored resources as defined in
|
88
|
+
// the service configuration.
|
89
|
+
// - Default labels of metric values. When specified, labels defined in the
|
90
|
+
// metric value override these default.
|
91
|
+
// - The following labels defined by Google Cloud Platform:
|
92
|
+
// - `cloud.googleapis.com/location` describing the location where the
|
93
|
+
// operation happened,
|
94
|
+
// - `servicecontrol.googleapis.com/user_agent` describing the user agent
|
95
|
+
// of the API request,
|
96
|
+
// - `servicecontrol.googleapis.com/service_agent` describing the service
|
97
|
+
// used to handle the API request (e.g. ESP),
|
98
|
+
// - `servicecontrol.googleapis.com/platform` describing the platform
|
99
|
+
// where the API is served, such as App Engine, Compute Engine, or
|
100
|
+
// Kubernetes Engine.
|
101
|
+
map<string, string> labels = 6;
|
102
|
+
|
103
|
+
// Represents information about this operation. Each MetricValueSet
|
104
|
+
// corresponds to a metric defined in the service configuration.
|
105
|
+
// The data type used in the MetricValueSet must agree with
|
106
|
+
// the data type specified in the metric definition.
|
107
|
+
//
|
108
|
+
// Within a single operation, it is not allowed to have more than one
|
109
|
+
// MetricValue instances that have the same metric names and identical
|
110
|
+
// label value combinations. If a request has such duplicated MetricValue
|
111
|
+
// instances, the entire request is rejected with
|
112
|
+
// an invalid argument error.
|
113
|
+
repeated MetricValueSet metric_value_sets = 7;
|
114
|
+
|
115
|
+
// Represents information to be logged.
|
116
|
+
repeated LogEntry log_entries = 8;
|
117
|
+
|
118
|
+
// DO NOT USE. This is an experimental field.
|
119
|
+
Importance importance = 11;
|
120
|
+
|
121
|
+
// Unimplemented.
|
122
|
+
repeated google.protobuf.Any extensions = 16;
|
123
|
+
}
|
@@ -0,0 +1,245 @@
|
|
1
|
+
// Copyright 2024 Google LLC
|
2
|
+
//
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
// you may not use this file except in compliance with the License.
|
5
|
+
// You may obtain a copy of the License at
|
6
|
+
//
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
//
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
// See the License for the specific language governing permissions and
|
13
|
+
// limitations under the License.
|
14
|
+
|
15
|
+
syntax = "proto3";
|
16
|
+
|
17
|
+
package google.api.servicecontrol.v1;
|
18
|
+
|
19
|
+
import "google/api/annotations.proto";
|
20
|
+
import "google/api/servicecontrol/v1/metric_value.proto";
|
21
|
+
import "google/rpc/status.proto";
|
22
|
+
import "google/api/client.proto";
|
23
|
+
|
24
|
+
option cc_enable_arenas = true;
|
25
|
+
option csharp_namespace = "Google.Cloud.ServiceControl.V1";
|
26
|
+
option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb";
|
27
|
+
option java_multiple_files = true;
|
28
|
+
option java_outer_classname = "QuotaControllerProto";
|
29
|
+
option java_package = "com.google.api.servicecontrol.v1";
|
30
|
+
option php_namespace = "Google\\Cloud\\ServiceControl\\V1";
|
31
|
+
option ruby_package = "Google::Cloud::ServiceControl::V1";
|
32
|
+
|
33
|
+
// [Google Quota Control API](/service-control/overview)
|
34
|
+
//
|
35
|
+
// Allows clients to allocate and release quota against a [managed
|
36
|
+
// service](https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService).
|
37
|
+
service QuotaController {
|
38
|
+
option (google.api.default_host) = "servicecontrol.googleapis.com";
|
39
|
+
option (google.api.oauth_scopes) =
|
40
|
+
"https://www.googleapis.com/auth/cloud-platform,"
|
41
|
+
"https://www.googleapis.com/auth/servicecontrol";
|
42
|
+
|
43
|
+
// Attempts to allocate quota for the specified consumer. It should be called
|
44
|
+
// before the operation is executed.
|
45
|
+
//
|
46
|
+
// This method requires the `servicemanagement.services.quota`
|
47
|
+
// permission on the specified service. For more information, see
|
48
|
+
// [Cloud IAM](https://cloud.google.com/iam).
|
49
|
+
//
|
50
|
+
// **NOTE:** The client **must** fail-open on server errors `INTERNAL`,
|
51
|
+
// `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system
|
52
|
+
// reliability, the server may inject these errors to prohibit any hard
|
53
|
+
// dependency on the quota functionality.
|
54
|
+
rpc AllocateQuota(AllocateQuotaRequest) returns (AllocateQuotaResponse) {
|
55
|
+
option (google.api.http) = {
|
56
|
+
post: "/v1/services/{service_name}:allocateQuota"
|
57
|
+
body: "*"
|
58
|
+
};
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
// Request message for the AllocateQuota method.
|
63
|
+
message AllocateQuotaRequest {
|
64
|
+
// Name of the service as specified in the service configuration. For example,
|
65
|
+
// `"pubsub.googleapis.com"`.
|
66
|
+
//
|
67
|
+
// See [google.api.Service][google.api.Service] for the definition of a service name.
|
68
|
+
string service_name = 1;
|
69
|
+
|
70
|
+
// Operation that describes the quota allocation.
|
71
|
+
QuotaOperation allocate_operation = 2;
|
72
|
+
|
73
|
+
// Specifies which version of service configuration should be used to process
|
74
|
+
// the request. If unspecified or no matching version can be found, the latest
|
75
|
+
// one will be used.
|
76
|
+
string service_config_id = 4;
|
77
|
+
}
|
78
|
+
|
79
|
+
// Represents information regarding a quota operation.
|
80
|
+
message QuotaOperation {
|
81
|
+
// Supported quota modes.
|
82
|
+
enum QuotaMode {
|
83
|
+
// Guard against implicit default. Must not be used.
|
84
|
+
UNSPECIFIED = 0;
|
85
|
+
|
86
|
+
// For AllocateQuota request, allocates quota for the amount specified in
|
87
|
+
// the service configuration or specified using the quota metrics. If the
|
88
|
+
// amount is higher than the available quota, allocation error will be
|
89
|
+
// returned and no quota will be allocated.
|
90
|
+
// If multiple quotas are part of the request, and one fails, none of the
|
91
|
+
// quotas are allocated or released.
|
92
|
+
NORMAL = 1;
|
93
|
+
|
94
|
+
// The operation allocates quota for the amount specified in the service
|
95
|
+
// configuration or specified using the quota metrics. If the amount is
|
96
|
+
// higher than the available quota, request does not fail but all available
|
97
|
+
// quota will be allocated.
|
98
|
+
// For rate quota, BEST_EFFORT will continue to deduct from other groups
|
99
|
+
// even if one does not have enough quota. For allocation, it will find the
|
100
|
+
// minimum available amount across all groups and deduct that amount from
|
101
|
+
// all the affected groups.
|
102
|
+
BEST_EFFORT = 2;
|
103
|
+
|
104
|
+
// For AllocateQuota request, only checks if there is enough quota
|
105
|
+
// available and does not change the available quota. No lock is placed on
|
106
|
+
// the available quota either.
|
107
|
+
CHECK_ONLY = 3;
|
108
|
+
|
109
|
+
// Unimplemented. When used in AllocateQuotaRequest, this returns the
|
110
|
+
// effective quota limit(s) in the response, and no quota check will be
|
111
|
+
// performed. Not supported for other requests, and even for
|
112
|
+
// AllocateQuotaRequest, this is currently supported only for allowlisted
|
113
|
+
// services.
|
114
|
+
QUERY_ONLY = 4;
|
115
|
+
|
116
|
+
// The operation allocates quota for the amount specified in the service
|
117
|
+
// configuration or specified using the quota metrics. If the requested
|
118
|
+
// amount is higher than the available quota, request does not fail and
|
119
|
+
// remaining quota would become negative (going over the limit).
|
120
|
+
// Not supported for Rate Quota.
|
121
|
+
ADJUST_ONLY = 5;
|
122
|
+
}
|
123
|
+
|
124
|
+
// Identity of the operation. This is expected to be unique within the scope
|
125
|
+
// of the service that generated the operation, and guarantees idempotency in
|
126
|
+
// case of retries.
|
127
|
+
//
|
128
|
+
// In order to ensure best performance and latency in the Quota backends,
|
129
|
+
// operation_ids are optimally associated with time, so that related
|
130
|
+
// operations can be accessed fast in storage. For this reason, the
|
131
|
+
// recommended token for services that intend to operate at a high QPS is
|
132
|
+
// Unix time in nanos + UUID
|
133
|
+
string operation_id = 1;
|
134
|
+
|
135
|
+
// Fully qualified name of the API method for which this quota operation is
|
136
|
+
// requested. This name is used for matching quota rules or metric rules and
|
137
|
+
// billing status rules defined in service configuration.
|
138
|
+
//
|
139
|
+
// This field should not be set if any of the following is true:
|
140
|
+
// (1) the quota operation is performed on non-API resources.
|
141
|
+
// (2) quota_metrics is set because the caller is doing quota override.
|
142
|
+
//
|
143
|
+
//
|
144
|
+
// Example of an RPC method name:
|
145
|
+
// google.example.library.v1.LibraryService.CreateShelf
|
146
|
+
string method_name = 2;
|
147
|
+
|
148
|
+
// Identity of the consumer for whom this quota operation is being performed.
|
149
|
+
//
|
150
|
+
// This can be in one of the following formats:
|
151
|
+
// project:<project_id>,
|
152
|
+
// project_number:<project_number>,
|
153
|
+
// api_key:<api_key>.
|
154
|
+
string consumer_id = 3;
|
155
|
+
|
156
|
+
// Labels describing the operation.
|
157
|
+
map<string, string> labels = 4;
|
158
|
+
|
159
|
+
// Represents information about this operation. Each MetricValueSet
|
160
|
+
// corresponds to a metric defined in the service configuration.
|
161
|
+
// The data type used in the MetricValueSet must agree with
|
162
|
+
// the data type specified in the metric definition.
|
163
|
+
//
|
164
|
+
// Within a single operation, it is not allowed to have more than one
|
165
|
+
// MetricValue instances that have the same metric names and identical
|
166
|
+
// label value combinations. If a request has such duplicated MetricValue
|
167
|
+
// instances, the entire request is rejected with
|
168
|
+
// an invalid argument error.
|
169
|
+
//
|
170
|
+
// This field is mutually exclusive with method_name.
|
171
|
+
repeated MetricValueSet quota_metrics = 5;
|
172
|
+
|
173
|
+
// Quota mode for this operation.
|
174
|
+
QuotaMode quota_mode = 6;
|
175
|
+
}
|
176
|
+
|
177
|
+
// Response message for the AllocateQuota method.
|
178
|
+
message AllocateQuotaResponse {
|
179
|
+
// The same operation_id value used in the AllocateQuotaRequest. Used for
|
180
|
+
// logging and diagnostics purposes.
|
181
|
+
string operation_id = 1;
|
182
|
+
|
183
|
+
// Indicates the decision of the allocate.
|
184
|
+
repeated QuotaError allocate_errors = 2;
|
185
|
+
|
186
|
+
// Quota metrics to indicate the result of allocation. Depending on the
|
187
|
+
// request, one or more of the following metrics will be included:
|
188
|
+
//
|
189
|
+
// 1. Per quota group or per quota metric incremental usage will be specified
|
190
|
+
// using the following delta metric :
|
191
|
+
// "serviceruntime.googleapis.com/api/consumer/quota_used_count"
|
192
|
+
//
|
193
|
+
// 2. The quota limit reached condition will be specified using the following
|
194
|
+
// boolean metric :
|
195
|
+
// "serviceruntime.googleapis.com/quota/exceeded"
|
196
|
+
repeated MetricValueSet quota_metrics = 3;
|
197
|
+
|
198
|
+
// ID of the actual config used to process the request.
|
199
|
+
string service_config_id = 4;
|
200
|
+
}
|
201
|
+
|
202
|
+
// Represents error information for [QuotaOperation][google.api.servicecontrol.v1.QuotaOperation].
|
203
|
+
message QuotaError {
|
204
|
+
// Error codes related to project config validations are deprecated since the
|
205
|
+
// quota controller methods do not perform these validations. Instead services
|
206
|
+
// have to call the Check method, without quota_properties field, to perform
|
207
|
+
// these validations before calling the quota controller methods. These
|
208
|
+
// methods check only for project deletion to be wipe out compliant.
|
209
|
+
enum Code {
|
210
|
+
// This is never used.
|
211
|
+
UNSPECIFIED = 0;
|
212
|
+
|
213
|
+
// Quota allocation failed.
|
214
|
+
// Same as [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED].
|
215
|
+
RESOURCE_EXHAUSTED = 8;
|
216
|
+
|
217
|
+
// Consumer cannot access the service because the service requires active
|
218
|
+
// billing.
|
219
|
+
BILLING_NOT_ACTIVE = 107;
|
220
|
+
|
221
|
+
// Consumer's project has been marked as deleted (soft deletion).
|
222
|
+
PROJECT_DELETED = 108;
|
223
|
+
|
224
|
+
// Specified API key is invalid.
|
225
|
+
API_KEY_INVALID = 105;
|
226
|
+
|
227
|
+
// Specified API Key has expired.
|
228
|
+
API_KEY_EXPIRED = 112;
|
229
|
+
}
|
230
|
+
|
231
|
+
// Error code.
|
232
|
+
Code code = 1;
|
233
|
+
|
234
|
+
// Subject to whom this error applies. See the specific enum for more details
|
235
|
+
// on this field. For example, "clientip:<ip address of client>" or
|
236
|
+
// "project:<Google developer project id>".
|
237
|
+
string subject = 2;
|
238
|
+
|
239
|
+
// Free-form text that provides details on the cause of the error.
|
240
|
+
string description = 3;
|
241
|
+
|
242
|
+
// Contains additional information about the quota error.
|
243
|
+
// If available, `status.code` will be non zero.
|
244
|
+
google.rpc.Status status = 4;
|
245
|
+
}
|
@@ -0,0 +1,260 @@
|
|
1
|
+
// Copyright 2024 Google LLC
|
2
|
+
//
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
// you may not use this file except in compliance with the License.
|
5
|
+
// You may obtain a copy of the License at
|
6
|
+
//
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
//
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
// See the License for the specific language governing permissions and
|
13
|
+
// limitations under the License.
|
14
|
+
|
15
|
+
syntax = "proto3";
|
16
|
+
|
17
|
+
package google.api.servicecontrol.v1;
|
18
|
+
|
19
|
+
import "google/api/annotations.proto";
|
20
|
+
import "google/api/client.proto";
|
21
|
+
import "google/api/servicecontrol/v1/check_error.proto";
|
22
|
+
import "google/api/servicecontrol/v1/operation.proto";
|
23
|
+
import "google/rpc/status.proto";
|
24
|
+
|
25
|
+
option cc_enable_arenas = true;
|
26
|
+
option csharp_namespace = "Google.Cloud.ServiceControl.V1";
|
27
|
+
option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb";
|
28
|
+
option java_multiple_files = true;
|
29
|
+
option java_outer_classname = "ServiceControllerProto";
|
30
|
+
option java_package = "com.google.api.servicecontrol.v1";
|
31
|
+
option objc_class_prefix = "GASC";
|
32
|
+
option php_namespace = "Google\\Cloud\\ServiceControl\\V1";
|
33
|
+
option ruby_package = "Google::Cloud::ServiceControl::V1";
|
34
|
+
|
35
|
+
// [Google Service Control API](/service-control/overview)
|
36
|
+
//
|
37
|
+
// Lets clients check and report operations against a [managed
|
38
|
+
// service](https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService).
|
39
|
+
service ServiceController {
|
40
|
+
option (google.api.default_host) = "servicecontrol.googleapis.com";
|
41
|
+
option (google.api.oauth_scopes) =
|
42
|
+
"https://www.googleapis.com/auth/cloud-platform,"
|
43
|
+
"https://www.googleapis.com/auth/servicecontrol";
|
44
|
+
|
45
|
+
// Checks whether an operation on a service should be allowed to proceed
|
46
|
+
// based on the configuration of the service and related policies. It must be
|
47
|
+
// called before the operation is executed.
|
48
|
+
//
|
49
|
+
// If feasible, the client should cache the check results and reuse them for
|
50
|
+
// 60 seconds. In case of any server errors, the client should rely on the
|
51
|
+
// cached results for much longer time to avoid outage.
|
52
|
+
// WARNING: There is general 60s delay for the configuration and policy
|
53
|
+
// propagation, therefore callers MUST NOT depend on the `Check` method having
|
54
|
+
// the latest policy information.
|
55
|
+
//
|
56
|
+
// NOTE: the [CheckRequest][google.api.servicecontrol.v1.CheckRequest] has
|
57
|
+
// the size limit (wire-format byte size) of 1MB.
|
58
|
+
//
|
59
|
+
// This method requires the `servicemanagement.services.check` permission
|
60
|
+
// on the specified service. For more information, see
|
61
|
+
// [Cloud IAM](https://cloud.google.com/iam).
|
62
|
+
rpc Check(CheckRequest) returns (CheckResponse) {
|
63
|
+
option (google.api.http) = {
|
64
|
+
post: "/v1/services/{service_name}:check"
|
65
|
+
body: "*"
|
66
|
+
};
|
67
|
+
}
|
68
|
+
|
69
|
+
// Reports operation results to Google Service Control, such as logs and
|
70
|
+
// metrics. It should be called after an operation is completed.
|
71
|
+
//
|
72
|
+
// If feasible, the client should aggregate reporting data for up to 5
|
73
|
+
// seconds to reduce API traffic. Limiting aggregation to 5 seconds is to
|
74
|
+
// reduce data loss during client crashes. Clients should carefully choose
|
75
|
+
// the aggregation time window to avoid data loss risk more than 0.01%
|
76
|
+
// for business and compliance reasons.
|
77
|
+
//
|
78
|
+
// NOTE: the [ReportRequest][google.api.servicecontrol.v1.ReportRequest] has
|
79
|
+
// the size limit (wire-format byte size) of 1MB.
|
80
|
+
//
|
81
|
+
// This method requires the `servicemanagement.services.report` permission
|
82
|
+
// on the specified service. For more information, see
|
83
|
+
// [Google Cloud IAM](https://cloud.google.com/iam).
|
84
|
+
rpc Report(ReportRequest) returns (ReportResponse) {
|
85
|
+
option (google.api.http) = {
|
86
|
+
post: "/v1/services/{service_name}:report"
|
87
|
+
body: "*"
|
88
|
+
};
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
// Request message for the Check method.
|
93
|
+
message CheckRequest {
|
94
|
+
// The service name as specified in its service configuration. For example,
|
95
|
+
// `"pubsub.googleapis.com"`.
|
96
|
+
//
|
97
|
+
// See
|
98
|
+
// [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)
|
99
|
+
// for the definition of a service name.
|
100
|
+
string service_name = 1;
|
101
|
+
|
102
|
+
// The operation to be checked.
|
103
|
+
Operation operation = 2;
|
104
|
+
|
105
|
+
// Specifies which version of service configuration should be used to process
|
106
|
+
// the request.
|
107
|
+
//
|
108
|
+
// If unspecified or no matching version can be found, the
|
109
|
+
// latest one will be used.
|
110
|
+
string service_config_id = 4;
|
111
|
+
}
|
112
|
+
|
113
|
+
// Response message for the Check method.
|
114
|
+
message CheckResponse {
|
115
|
+
// Contains additional information about the check operation.
|
116
|
+
message CheckInfo {
|
117
|
+
// A list of fields and label keys that are ignored by the server.
|
118
|
+
// The client doesn't need to send them for following requests to improve
|
119
|
+
// performance and allow better aggregation.
|
120
|
+
repeated string unused_arguments = 1;
|
121
|
+
|
122
|
+
// Consumer info of this check.
|
123
|
+
ConsumerInfo consumer_info = 2;
|
124
|
+
|
125
|
+
// The unique id of the api key in the format of "apikey:<UID>".
|
126
|
+
// This field will be populated when the consumer passed to Service Control
|
127
|
+
// is an API key and all the API key related validations are successful.
|
128
|
+
string api_key_uid = 5;
|
129
|
+
}
|
130
|
+
|
131
|
+
// `ConsumerInfo` provides information about the consumer.
|
132
|
+
message ConsumerInfo {
|
133
|
+
// The type of the consumer as defined in
|
134
|
+
// [Google Resource Manager](https://cloud.google.com/resource-manager/).
|
135
|
+
enum ConsumerType {
|
136
|
+
// This is never used.
|
137
|
+
CONSUMER_TYPE_UNSPECIFIED = 0;
|
138
|
+
|
139
|
+
// The consumer is a Google Cloud Project.
|
140
|
+
PROJECT = 1;
|
141
|
+
|
142
|
+
// The consumer is a Google Cloud Folder.
|
143
|
+
FOLDER = 2;
|
144
|
+
|
145
|
+
// The consumer is a Google Cloud Organization.
|
146
|
+
ORGANIZATION = 3;
|
147
|
+
|
148
|
+
// Service-specific resource container which is defined by the service
|
149
|
+
// producer to offer their users the ability to manage service control
|
150
|
+
// functionalities at a finer level of granularity than the PROJECT.
|
151
|
+
SERVICE_SPECIFIC = 4;
|
152
|
+
}
|
153
|
+
|
154
|
+
// The Google cloud project number, e.g. 1234567890. A value of 0 indicates
|
155
|
+
// no project number is found.
|
156
|
+
//
|
157
|
+
// NOTE: This field is deprecated after we support flexible consumer
|
158
|
+
// id. New code should not depend on this field anymore.
|
159
|
+
int64 project_number = 1;
|
160
|
+
|
161
|
+
// The type of the consumer which should have been defined in
|
162
|
+
// [Google Resource Manager](https://cloud.google.com/resource-manager/).
|
163
|
+
ConsumerType type = 2;
|
164
|
+
|
165
|
+
// The consumer identity number, can be Google cloud project number, folder
|
166
|
+
// number or organization number e.g. 1234567890. A value of 0 indicates no
|
167
|
+
// consumer number is found.
|
168
|
+
int64 consumer_number = 3;
|
169
|
+
}
|
170
|
+
|
171
|
+
// The same operation_id value used in the
|
172
|
+
// [CheckRequest][google.api.servicecontrol.v1.CheckRequest]. Used for logging
|
173
|
+
// and diagnostics purposes.
|
174
|
+
string operation_id = 1;
|
175
|
+
|
176
|
+
// Indicate the decision of the check.
|
177
|
+
//
|
178
|
+
// If no check errors are present, the service should process the operation.
|
179
|
+
// Otherwise the service should use the list of errors to determine the
|
180
|
+
// appropriate action.
|
181
|
+
repeated CheckError check_errors = 2;
|
182
|
+
|
183
|
+
// The actual config id used to process the request.
|
184
|
+
string service_config_id = 5;
|
185
|
+
|
186
|
+
// The current service rollout id used to process the request.
|
187
|
+
string service_rollout_id = 11;
|
188
|
+
|
189
|
+
// Feedback data returned from the server during processing a Check request.
|
190
|
+
CheckInfo check_info = 6;
|
191
|
+
}
|
192
|
+
|
193
|
+
// Request message for the Report method.
|
194
|
+
message ReportRequest {
|
195
|
+
// The service name as specified in its service configuration. For example,
|
196
|
+
// `"pubsub.googleapis.com"`.
|
197
|
+
//
|
198
|
+
// See
|
199
|
+
// [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)
|
200
|
+
// for the definition of a service name.
|
201
|
+
string service_name = 1;
|
202
|
+
|
203
|
+
// Operations to be reported.
|
204
|
+
//
|
205
|
+
// Typically the service should report one operation per request.
|
206
|
+
// Putting multiple operations into a single request is allowed, but should
|
207
|
+
// be used only when multiple operations are natually available at the time
|
208
|
+
// of the report.
|
209
|
+
//
|
210
|
+
// There is no limit on the number of operations in the same ReportRequest,
|
211
|
+
// however the ReportRequest size should be no larger than 1MB. See
|
212
|
+
// [ReportResponse.report_errors][google.api.servicecontrol.v1.ReportResponse.report_errors]
|
213
|
+
// for partial failure behavior.
|
214
|
+
repeated Operation operations = 2;
|
215
|
+
|
216
|
+
// Specifies which version of service config should be used to process the
|
217
|
+
// request.
|
218
|
+
//
|
219
|
+
// If unspecified or no matching version can be found, the
|
220
|
+
// latest one will be used.
|
221
|
+
string service_config_id = 3;
|
222
|
+
}
|
223
|
+
|
224
|
+
// Response message for the Report method.
|
225
|
+
message ReportResponse {
|
226
|
+
// Represents the processing error of one
|
227
|
+
// [Operation][google.api.servicecontrol.v1.Operation] in the request.
|
228
|
+
message ReportError {
|
229
|
+
// The
|
230
|
+
// [Operation.operation_id][google.api.servicecontrol.v1.Operation.operation_id]
|
231
|
+
// value from the request.
|
232
|
+
string operation_id = 1;
|
233
|
+
|
234
|
+
// Details of the error when processing the
|
235
|
+
// [Operation][google.api.servicecontrol.v1.Operation].
|
236
|
+
google.rpc.Status status = 2;
|
237
|
+
}
|
238
|
+
|
239
|
+
// Partial failures, one for each `Operation` in the request that failed
|
240
|
+
// processing. There are three possible combinations of the RPC status:
|
241
|
+
//
|
242
|
+
// 1. The combination of a successful RPC status and an empty `report_errors`
|
243
|
+
// list indicates a complete success where all `Operations` in the
|
244
|
+
// request are processed successfully.
|
245
|
+
// 2. The combination of a successful RPC status and a non-empty
|
246
|
+
// `report_errors` list indicates a partial success where some
|
247
|
+
// `Operations` in the request succeeded. Each
|
248
|
+
// `Operation` that failed processing has a corresponding item
|
249
|
+
// in this list.
|
250
|
+
// 3. A failed RPC status indicates a general non-deterministic failure.
|
251
|
+
// When this happens, it's impossible to know which of the
|
252
|
+
// 'Operations' in the request succeeded or failed.
|
253
|
+
repeated ReportError report_errors = 1;
|
254
|
+
|
255
|
+
// The actual config id used to process the request.
|
256
|
+
string service_config_id = 2;
|
257
|
+
|
258
|
+
// The current service rollout id used to process the request.
|
259
|
+
string service_rollout_id = 4;
|
260
|
+
}
|