@devvit/protos 0.11.4 → 0.11.5-next-2024-12-09-8401a61d8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/meta.min.json +7814 -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/dev_portal/app/app.proto +3 -0
- package/schema/devvit/dev_portal/app/info/app_info.proto +13 -1
- package/schema/devvit/dev_portal/dev_portal.proto +9 -0
- package/schema/devvit/dev_portal/payments/payments_verification.proto +31 -0
- package/schema/devvit/ui/block_kit/v1beta/ui.proto +1 -1
- package/schema/devvit/ui/effects/web_view/v1alpha/fullscreen.proto +7 -1
- package/schema/snootobuf.devenv.lock +1227 -662
- package/schema/snootobuf.lock +1228 -662
- package/schema/snootobuf.redditapi.lock +1226 -662
- package/schema/snootobuf.ts.lock +1227 -662
- package/types/devvit/dev_portal/app/app.d.ts +2 -0
- package/types/devvit/dev_portal/app/app.d.ts.map +1 -1
- package/types/devvit/dev_portal/app/app.js +17 -0
- package/types/devvit/dev_portal/app/info/app_info.d.ts +13 -0
- package/types/devvit/dev_portal/app/info/app_info.d.ts.map +1 -1
- package/types/devvit/dev_portal/app/info/app_info.js +17 -0
- package/types/devvit/dev_portal/dev_portal.d.ts +113 -3
- package/types/devvit/dev_portal/dev_portal.d.ts.map +1 -1
- package/types/devvit/dev_portal/dev_portal.js +32 -0
- package/types/devvit/dev_portal/dev_portal.twirp-client.d.ts +17 -0
- package/types/devvit/dev_portal/dev_portal.twirp-client.d.ts.map +1 -1
- package/types/devvit/dev_portal/dev_portal.twirp-client.js +23 -0
- package/types/devvit/dev_portal/dev_portal.twirp.d.ts +9 -0
- package/types/devvit/dev_portal/dev_portal.twirp.d.ts.map +1 -1
- package/types/devvit/dev_portal/dev_portal.twirp.js +89 -0
- package/types/devvit/dev_portal/payments/payments_verification.d.ts +59 -0
- package/types/devvit/dev_portal/payments/payments_verification.d.ts.map +1 -0
- package/types/devvit/dev_portal/payments/payments_verification.js +163 -0
- package/types/devvit/reddit/custom_post/v1alpha/custom_post.d.ts +4 -0
- package/types/devvit/reddit/custom_post/v1alpha/custom_post.d.ts.map +1 -1
- package/types/devvit/ui/effects/web_view/v1alpha/fullscreen.d.ts +8 -1
- package/types/devvit/ui/effects/web_view/v1alpha/fullscreen.d.ts.map +1 -1
- package/types/devvit/ui/effects/web_view/v1alpha/fullscreen.js +15 -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
|
+
}
|