@devvit/protos 0.11.6 → 0.11.7-next-2025-01-28-641048aff.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,461 @@
|
|
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;
|
18
|
+
|
19
|
+
import "google/protobuf/descriptor.proto";
|
20
|
+
|
21
|
+
option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations";
|
22
|
+
option java_multiple_files = true;
|
23
|
+
option java_outer_classname = "RoutingProto";
|
24
|
+
option java_package = "com.google.api";
|
25
|
+
option objc_class_prefix = "GAPI";
|
26
|
+
|
27
|
+
extend google.protobuf.MethodOptions {
|
28
|
+
// See RoutingRule.
|
29
|
+
google.api.RoutingRule routing = 72295729;
|
30
|
+
}
|
31
|
+
|
32
|
+
// Specifies the routing information that should be sent along with the request
|
33
|
+
// in the form of routing header.
|
34
|
+
// **NOTE:** All service configuration rules follow the "last one wins" order.
|
35
|
+
//
|
36
|
+
// The examples below will apply to an RPC which has the following request type:
|
37
|
+
//
|
38
|
+
// Message Definition:
|
39
|
+
//
|
40
|
+
// message Request {
|
41
|
+
// // The name of the Table
|
42
|
+
// // Values can be of the following formats:
|
43
|
+
// // - `projects/<project>/tables/<table>`
|
44
|
+
// // - `projects/<project>/instances/<instance>/tables/<table>`
|
45
|
+
// // - `region/<region>/zones/<zone>/tables/<table>`
|
46
|
+
// string table_name = 1;
|
47
|
+
//
|
48
|
+
// // This value specifies routing for replication.
|
49
|
+
// // It can be in the following formats:
|
50
|
+
// // - `profiles/<profile_id>`
|
51
|
+
// // - a legacy `profile_id` that can be any string
|
52
|
+
// string app_profile_id = 2;
|
53
|
+
// }
|
54
|
+
//
|
55
|
+
// Example message:
|
56
|
+
//
|
57
|
+
// {
|
58
|
+
// table_name: projects/proj_foo/instances/instance_bar/table/table_baz,
|
59
|
+
// app_profile_id: profiles/prof_qux
|
60
|
+
// }
|
61
|
+
//
|
62
|
+
// The routing header consists of one or multiple key-value pairs. Every key
|
63
|
+
// and value must be percent-encoded, and joined together in the format of
|
64
|
+
// `key1=value1&key2=value2`.
|
65
|
+
// In the examples below I am skipping the percent-encoding for readablity.
|
66
|
+
//
|
67
|
+
// Example 1
|
68
|
+
//
|
69
|
+
// Extracting a field from the request to put into the routing header
|
70
|
+
// unchanged, with the key equal to the field name.
|
71
|
+
//
|
72
|
+
// annotation:
|
73
|
+
//
|
74
|
+
// option (google.api.routing) = {
|
75
|
+
// // Take the `app_profile_id`.
|
76
|
+
// routing_parameters {
|
77
|
+
// field: "app_profile_id"
|
78
|
+
// }
|
79
|
+
// };
|
80
|
+
//
|
81
|
+
// result:
|
82
|
+
//
|
83
|
+
// x-goog-request-params: app_profile_id=profiles/prof_qux
|
84
|
+
//
|
85
|
+
// Example 2
|
86
|
+
//
|
87
|
+
// Extracting a field from the request to put into the routing header
|
88
|
+
// unchanged, with the key different from the field name.
|
89
|
+
//
|
90
|
+
// annotation:
|
91
|
+
//
|
92
|
+
// option (google.api.routing) = {
|
93
|
+
// // Take the `app_profile_id`, but name it `routing_id` in the header.
|
94
|
+
// routing_parameters {
|
95
|
+
// field: "app_profile_id"
|
96
|
+
// path_template: "{routing_id=**}"
|
97
|
+
// }
|
98
|
+
// };
|
99
|
+
//
|
100
|
+
// result:
|
101
|
+
//
|
102
|
+
// x-goog-request-params: routing_id=profiles/prof_qux
|
103
|
+
//
|
104
|
+
// Example 3
|
105
|
+
//
|
106
|
+
// Extracting a field from the request to put into the routing
|
107
|
+
// header, while matching a path template syntax on the field's value.
|
108
|
+
//
|
109
|
+
// NB: it is more useful to send nothing than to send garbage for the purpose
|
110
|
+
// of dynamic routing, since garbage pollutes cache. Thus the matching.
|
111
|
+
//
|
112
|
+
// Sub-example 3a
|
113
|
+
//
|
114
|
+
// The field matches the template.
|
115
|
+
//
|
116
|
+
// annotation:
|
117
|
+
//
|
118
|
+
// option (google.api.routing) = {
|
119
|
+
// // Take the `table_name`, if it's well-formed (with project-based
|
120
|
+
// // syntax).
|
121
|
+
// routing_parameters {
|
122
|
+
// field: "table_name"
|
123
|
+
// path_template: "{table_name=projects/*/instances/*/**}"
|
124
|
+
// }
|
125
|
+
// };
|
126
|
+
//
|
127
|
+
// result:
|
128
|
+
//
|
129
|
+
// x-goog-request-params:
|
130
|
+
// table_name=projects/proj_foo/instances/instance_bar/table/table_baz
|
131
|
+
//
|
132
|
+
// Sub-example 3b
|
133
|
+
//
|
134
|
+
// The field does not match the template.
|
135
|
+
//
|
136
|
+
// annotation:
|
137
|
+
//
|
138
|
+
// option (google.api.routing) = {
|
139
|
+
// // Take the `table_name`, if it's well-formed (with region-based
|
140
|
+
// // syntax).
|
141
|
+
// routing_parameters {
|
142
|
+
// field: "table_name"
|
143
|
+
// path_template: "{table_name=regions/*/zones/*/**}"
|
144
|
+
// }
|
145
|
+
// };
|
146
|
+
//
|
147
|
+
// result:
|
148
|
+
//
|
149
|
+
// <no routing header will be sent>
|
150
|
+
//
|
151
|
+
// Sub-example 3c
|
152
|
+
//
|
153
|
+
// Multiple alternative conflictingly named path templates are
|
154
|
+
// specified. The one that matches is used to construct the header.
|
155
|
+
//
|
156
|
+
// annotation:
|
157
|
+
//
|
158
|
+
// option (google.api.routing) = {
|
159
|
+
// // Take the `table_name`, if it's well-formed, whether
|
160
|
+
// // using the region- or projects-based syntax.
|
161
|
+
//
|
162
|
+
// routing_parameters {
|
163
|
+
// field: "table_name"
|
164
|
+
// path_template: "{table_name=regions/*/zones/*/**}"
|
165
|
+
// }
|
166
|
+
// routing_parameters {
|
167
|
+
// field: "table_name"
|
168
|
+
// path_template: "{table_name=projects/*/instances/*/**}"
|
169
|
+
// }
|
170
|
+
// };
|
171
|
+
//
|
172
|
+
// result:
|
173
|
+
//
|
174
|
+
// x-goog-request-params:
|
175
|
+
// table_name=projects/proj_foo/instances/instance_bar/table/table_baz
|
176
|
+
//
|
177
|
+
// Example 4
|
178
|
+
//
|
179
|
+
// Extracting a single routing header key-value pair by matching a
|
180
|
+
// template syntax on (a part of) a single request field.
|
181
|
+
//
|
182
|
+
// annotation:
|
183
|
+
//
|
184
|
+
// option (google.api.routing) = {
|
185
|
+
// // Take just the project id from the `table_name` field.
|
186
|
+
// routing_parameters {
|
187
|
+
// field: "table_name"
|
188
|
+
// path_template: "{routing_id=projects/*}/**"
|
189
|
+
// }
|
190
|
+
// };
|
191
|
+
//
|
192
|
+
// result:
|
193
|
+
//
|
194
|
+
// x-goog-request-params: routing_id=projects/proj_foo
|
195
|
+
//
|
196
|
+
// Example 5
|
197
|
+
//
|
198
|
+
// Extracting a single routing header key-value pair by matching
|
199
|
+
// several conflictingly named path templates on (parts of) a single request
|
200
|
+
// field. The last template to match "wins" the conflict.
|
201
|
+
//
|
202
|
+
// annotation:
|
203
|
+
//
|
204
|
+
// option (google.api.routing) = {
|
205
|
+
// // If the `table_name` does not have instances information,
|
206
|
+
// // take just the project id for routing.
|
207
|
+
// // Otherwise take project + instance.
|
208
|
+
//
|
209
|
+
// routing_parameters {
|
210
|
+
// field: "table_name"
|
211
|
+
// path_template: "{routing_id=projects/*}/**"
|
212
|
+
// }
|
213
|
+
// routing_parameters {
|
214
|
+
// field: "table_name"
|
215
|
+
// path_template: "{routing_id=projects/*/instances/*}/**"
|
216
|
+
// }
|
217
|
+
// };
|
218
|
+
//
|
219
|
+
// result:
|
220
|
+
//
|
221
|
+
// x-goog-request-params:
|
222
|
+
// routing_id=projects/proj_foo/instances/instance_bar
|
223
|
+
//
|
224
|
+
// Example 6
|
225
|
+
//
|
226
|
+
// Extracting multiple routing header key-value pairs by matching
|
227
|
+
// several non-conflicting path templates on (parts of) a single request field.
|
228
|
+
//
|
229
|
+
// Sub-example 6a
|
230
|
+
//
|
231
|
+
// Make the templates strict, so that if the `table_name` does not
|
232
|
+
// have an instance information, nothing is sent.
|
233
|
+
//
|
234
|
+
// annotation:
|
235
|
+
//
|
236
|
+
// option (google.api.routing) = {
|
237
|
+
// // The routing code needs two keys instead of one composite
|
238
|
+
// // but works only for the tables with the "project-instance" name
|
239
|
+
// // syntax.
|
240
|
+
//
|
241
|
+
// routing_parameters {
|
242
|
+
// field: "table_name"
|
243
|
+
// path_template: "{project_id=projects/*}/instances/*/**"
|
244
|
+
// }
|
245
|
+
// routing_parameters {
|
246
|
+
// field: "table_name"
|
247
|
+
// path_template: "projects/*/{instance_id=instances/*}/**"
|
248
|
+
// }
|
249
|
+
// };
|
250
|
+
//
|
251
|
+
// result:
|
252
|
+
//
|
253
|
+
// x-goog-request-params:
|
254
|
+
// project_id=projects/proj_foo&instance_id=instances/instance_bar
|
255
|
+
//
|
256
|
+
// Sub-example 6b
|
257
|
+
//
|
258
|
+
// Make the templates loose, so that if the `table_name` does not
|
259
|
+
// have an instance information, just the project id part is sent.
|
260
|
+
//
|
261
|
+
// annotation:
|
262
|
+
//
|
263
|
+
// option (google.api.routing) = {
|
264
|
+
// // The routing code wants two keys instead of one composite
|
265
|
+
// // but will work with just the `project_id` for tables without
|
266
|
+
// // an instance in the `table_name`.
|
267
|
+
//
|
268
|
+
// routing_parameters {
|
269
|
+
// field: "table_name"
|
270
|
+
// path_template: "{project_id=projects/*}/**"
|
271
|
+
// }
|
272
|
+
// routing_parameters {
|
273
|
+
// field: "table_name"
|
274
|
+
// path_template: "projects/*/{instance_id=instances/*}/**"
|
275
|
+
// }
|
276
|
+
// };
|
277
|
+
//
|
278
|
+
// result (is the same as 6a for our example message because it has the instance
|
279
|
+
// information):
|
280
|
+
//
|
281
|
+
// x-goog-request-params:
|
282
|
+
// project_id=projects/proj_foo&instance_id=instances/instance_bar
|
283
|
+
//
|
284
|
+
// Example 7
|
285
|
+
//
|
286
|
+
// Extracting multiple routing header key-value pairs by matching
|
287
|
+
// several path templates on multiple request fields.
|
288
|
+
//
|
289
|
+
// NB: note that here there is no way to specify sending nothing if one of the
|
290
|
+
// fields does not match its template. E.g. if the `table_name` is in the wrong
|
291
|
+
// format, the `project_id` will not be sent, but the `routing_id` will be.
|
292
|
+
// The backend routing code has to be aware of that and be prepared to not
|
293
|
+
// receive a full complement of keys if it expects multiple.
|
294
|
+
//
|
295
|
+
// annotation:
|
296
|
+
//
|
297
|
+
// option (google.api.routing) = {
|
298
|
+
// // The routing needs both `project_id` and `routing_id`
|
299
|
+
// // (from the `app_profile_id` field) for routing.
|
300
|
+
//
|
301
|
+
// routing_parameters {
|
302
|
+
// field: "table_name"
|
303
|
+
// path_template: "{project_id=projects/*}/**"
|
304
|
+
// }
|
305
|
+
// routing_parameters {
|
306
|
+
// field: "app_profile_id"
|
307
|
+
// path_template: "{routing_id=**}"
|
308
|
+
// }
|
309
|
+
// };
|
310
|
+
//
|
311
|
+
// result:
|
312
|
+
//
|
313
|
+
// x-goog-request-params:
|
314
|
+
// project_id=projects/proj_foo&routing_id=profiles/prof_qux
|
315
|
+
//
|
316
|
+
// Example 8
|
317
|
+
//
|
318
|
+
// Extracting a single routing header key-value pair by matching
|
319
|
+
// several conflictingly named path templates on several request fields. The
|
320
|
+
// last template to match "wins" the conflict.
|
321
|
+
//
|
322
|
+
// annotation:
|
323
|
+
//
|
324
|
+
// option (google.api.routing) = {
|
325
|
+
// // The `routing_id` can be a project id or a region id depending on
|
326
|
+
// // the table name format, but only if the `app_profile_id` is not set.
|
327
|
+
// // If `app_profile_id` is set it should be used instead.
|
328
|
+
//
|
329
|
+
// routing_parameters {
|
330
|
+
// field: "table_name"
|
331
|
+
// path_template: "{routing_id=projects/*}/**"
|
332
|
+
// }
|
333
|
+
// routing_parameters {
|
334
|
+
// field: "table_name"
|
335
|
+
// path_template: "{routing_id=regions/*}/**"
|
336
|
+
// }
|
337
|
+
// routing_parameters {
|
338
|
+
// field: "app_profile_id"
|
339
|
+
// path_template: "{routing_id=**}"
|
340
|
+
// }
|
341
|
+
// };
|
342
|
+
//
|
343
|
+
// result:
|
344
|
+
//
|
345
|
+
// x-goog-request-params: routing_id=profiles/prof_qux
|
346
|
+
//
|
347
|
+
// Example 9
|
348
|
+
//
|
349
|
+
// Bringing it all together.
|
350
|
+
//
|
351
|
+
// annotation:
|
352
|
+
//
|
353
|
+
// option (google.api.routing) = {
|
354
|
+
// // For routing both `table_location` and a `routing_id` are needed.
|
355
|
+
// //
|
356
|
+
// // table_location can be either an instance id or a region+zone id.
|
357
|
+
// //
|
358
|
+
// // For `routing_id`, take the value of `app_profile_id`
|
359
|
+
// // - If it's in the format `profiles/<profile_id>`, send
|
360
|
+
// // just the `<profile_id>` part.
|
361
|
+
// // - If it's any other literal, send it as is.
|
362
|
+
// // If the `app_profile_id` is empty, and the `table_name` starts with
|
363
|
+
// // the project_id, send that instead.
|
364
|
+
//
|
365
|
+
// routing_parameters {
|
366
|
+
// field: "table_name"
|
367
|
+
// path_template: "projects/*/{table_location=instances/*}/tables/*"
|
368
|
+
// }
|
369
|
+
// routing_parameters {
|
370
|
+
// field: "table_name"
|
371
|
+
// path_template: "{table_location=regions/*/zones/*}/tables/*"
|
372
|
+
// }
|
373
|
+
// routing_parameters {
|
374
|
+
// field: "table_name"
|
375
|
+
// path_template: "{routing_id=projects/*}/**"
|
376
|
+
// }
|
377
|
+
// routing_parameters {
|
378
|
+
// field: "app_profile_id"
|
379
|
+
// path_template: "{routing_id=**}"
|
380
|
+
// }
|
381
|
+
// routing_parameters {
|
382
|
+
// field: "app_profile_id"
|
383
|
+
// path_template: "profiles/{routing_id=*}"
|
384
|
+
// }
|
385
|
+
// };
|
386
|
+
//
|
387
|
+
// result:
|
388
|
+
//
|
389
|
+
// x-goog-request-params:
|
390
|
+
// table_location=instances/instance_bar&routing_id=prof_qux
|
391
|
+
message RoutingRule {
|
392
|
+
// A collection of Routing Parameter specifications.
|
393
|
+
// **NOTE:** If multiple Routing Parameters describe the same key
|
394
|
+
// (via the `path_template` field or via the `field` field when
|
395
|
+
// `path_template` is not provided), "last one wins" rule
|
396
|
+
// determines which Parameter gets used.
|
397
|
+
// See the examples for more details.
|
398
|
+
repeated RoutingParameter routing_parameters = 2;
|
399
|
+
}
|
400
|
+
|
401
|
+
// A projection from an input message to the GRPC or REST header.
|
402
|
+
message RoutingParameter {
|
403
|
+
// A request field to extract the header key-value pair from.
|
404
|
+
string field = 1;
|
405
|
+
|
406
|
+
// A pattern matching the key-value field. Optional.
|
407
|
+
// If not specified, the whole field specified in the `field` field will be
|
408
|
+
// taken as value, and its name used as key. If specified, it MUST contain
|
409
|
+
// exactly one named segment (along with any number of unnamed segments) The
|
410
|
+
// pattern will be matched over the field specified in the `field` field, then
|
411
|
+
// if the match is successful:
|
412
|
+
// - the name of the single named segment will be used as a header name,
|
413
|
+
// - the match value of the segment will be used as a header value;
|
414
|
+
// if the match is NOT successful, nothing will be sent.
|
415
|
+
//
|
416
|
+
// Example:
|
417
|
+
//
|
418
|
+
// -- This is a field in the request message
|
419
|
+
// | that the header value will be extracted from.
|
420
|
+
// |
|
421
|
+
// | -- This is the key name in the
|
422
|
+
// | | routing header.
|
423
|
+
// V |
|
424
|
+
// field: "table_name" v
|
425
|
+
// path_template: "projects/*/{table_location=instances/*}/tables/*"
|
426
|
+
// ^ ^
|
427
|
+
// | |
|
428
|
+
// In the {} brackets is the pattern that -- |
|
429
|
+
// specifies what to extract from the |
|
430
|
+
// field as a value to be sent. |
|
431
|
+
// |
|
432
|
+
// The string in the field must match the whole pattern --
|
433
|
+
// before brackets, inside brackets, after brackets.
|
434
|
+
//
|
435
|
+
// When looking at this specific example, we can see that:
|
436
|
+
// - A key-value pair with the key `table_location`
|
437
|
+
// and the value matching `instances/*` should be added
|
438
|
+
// to the x-goog-request-params routing header.
|
439
|
+
// - The value is extracted from the request message's `table_name` field
|
440
|
+
// if it matches the full pattern specified:
|
441
|
+
// `projects/*/instances/*/tables/*`.
|
442
|
+
//
|
443
|
+
// **NB:** If the `path_template` field is not provided, the key name is
|
444
|
+
// equal to the field name, and the whole field should be sent as a value.
|
445
|
+
// This makes the pattern for the field and the value functionally equivalent
|
446
|
+
// to `**`, and the configuration
|
447
|
+
//
|
448
|
+
// {
|
449
|
+
// field: "table_name"
|
450
|
+
// }
|
451
|
+
//
|
452
|
+
// is a functionally equivalent shorthand to:
|
453
|
+
//
|
454
|
+
// {
|
455
|
+
// field: "table_name"
|
456
|
+
// path_template: "{table_name=**}"
|
457
|
+
// }
|
458
|
+
//
|
459
|
+
// See Example 1 for more details.
|
460
|
+
string path_template = 2;
|
461
|
+
}
|
@@ -0,0 +1,191 @@
|
|
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;
|
18
|
+
|
19
|
+
import "google/api/auth.proto";
|
20
|
+
import "google/api/backend.proto";
|
21
|
+
import "google/api/billing.proto";
|
22
|
+
import "google/api/client.proto";
|
23
|
+
import "google/api/context.proto";
|
24
|
+
import "google/api/control.proto";
|
25
|
+
import "google/api/documentation.proto";
|
26
|
+
import "google/api/endpoint.proto";
|
27
|
+
import "google/api/http.proto";
|
28
|
+
import "google/api/log.proto";
|
29
|
+
import "google/api/logging.proto";
|
30
|
+
import "google/api/metric.proto";
|
31
|
+
import "google/api/monitored_resource.proto";
|
32
|
+
import "google/api/monitoring.proto";
|
33
|
+
import "google/api/quota.proto";
|
34
|
+
import "google/api/source_info.proto";
|
35
|
+
import "google/api/system_parameter.proto";
|
36
|
+
import "google/api/usage.proto";
|
37
|
+
import "google/protobuf/api.proto";
|
38
|
+
import "google/protobuf/type.proto";
|
39
|
+
import "google/protobuf/wrappers.proto";
|
40
|
+
|
41
|
+
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
|
42
|
+
option java_multiple_files = true;
|
43
|
+
option java_outer_classname = "ServiceProto";
|
44
|
+
option java_package = "com.google.api";
|
45
|
+
option objc_class_prefix = "GAPI";
|
46
|
+
|
47
|
+
// `Service` is the root object of Google API service configuration (service
|
48
|
+
// config). It describes the basic information about a logical service,
|
49
|
+
// such as the service name and the user-facing title, and delegates other
|
50
|
+
// aspects to sub-sections. Each sub-section is either a proto message or a
|
51
|
+
// repeated proto message that configures a specific aspect, such as auth.
|
52
|
+
// For more information, see each proto message definition.
|
53
|
+
//
|
54
|
+
// Example:
|
55
|
+
//
|
56
|
+
// type: google.api.Service
|
57
|
+
// name: calendar.googleapis.com
|
58
|
+
// title: Google Calendar API
|
59
|
+
// apis:
|
60
|
+
// - name: google.calendar.v3.Calendar
|
61
|
+
//
|
62
|
+
// visibility:
|
63
|
+
// rules:
|
64
|
+
// - selector: "google.calendar.v3.*"
|
65
|
+
// restriction: PREVIEW
|
66
|
+
// backend:
|
67
|
+
// rules:
|
68
|
+
// - selector: "google.calendar.v3.*"
|
69
|
+
// address: calendar.example.com
|
70
|
+
//
|
71
|
+
// authentication:
|
72
|
+
// providers:
|
73
|
+
// - id: google_calendar_auth
|
74
|
+
// jwks_uri: https://www.googleapis.com/oauth2/v1/certs
|
75
|
+
// issuer: https://securetoken.google.com
|
76
|
+
// rules:
|
77
|
+
// - selector: "*"
|
78
|
+
// requirements:
|
79
|
+
// provider_id: google_calendar_auth
|
80
|
+
message Service {
|
81
|
+
// The service name, which is a DNS-like logical identifier for the
|
82
|
+
// service, such as `calendar.googleapis.com`. The service name
|
83
|
+
// typically goes through DNS verification to make sure the owner
|
84
|
+
// of the service also owns the DNS name.
|
85
|
+
string name = 1;
|
86
|
+
|
87
|
+
// The product title for this service, it is the name displayed in Google
|
88
|
+
// Cloud Console.
|
89
|
+
string title = 2;
|
90
|
+
|
91
|
+
// The Google project that owns this service.
|
92
|
+
string producer_project_id = 22;
|
93
|
+
|
94
|
+
// A unique ID for a specific instance of this message, typically assigned
|
95
|
+
// by the client for tracking purpose. Must be no longer than 63 characters
|
96
|
+
// and only lower case letters, digits, '.', '_' and '-' are allowed. If
|
97
|
+
// empty, the server may choose to generate one instead.
|
98
|
+
string id = 33;
|
99
|
+
|
100
|
+
// A list of API interfaces exported by this service. Only the `name` field
|
101
|
+
// of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by
|
102
|
+
// the configuration author, as the remaining fields will be derived from the
|
103
|
+
// IDL during the normalization process. It is an error to specify an API
|
104
|
+
// interface here which cannot be resolved against the associated IDL files.
|
105
|
+
repeated google.protobuf.Api apis = 3;
|
106
|
+
|
107
|
+
// A list of all proto message types included in this API service.
|
108
|
+
// Types referenced directly or indirectly by the `apis` are automatically
|
109
|
+
// included. Messages which are not referenced but shall be included, such as
|
110
|
+
// types used by the `google.protobuf.Any` type, should be listed here by
|
111
|
+
// name by the configuration author. Example:
|
112
|
+
//
|
113
|
+
// types:
|
114
|
+
// - name: google.protobuf.Int32
|
115
|
+
repeated google.protobuf.Type types = 4;
|
116
|
+
|
117
|
+
// A list of all enum types included in this API service. Enums referenced
|
118
|
+
// directly or indirectly by the `apis` are automatically included. Enums
|
119
|
+
// which are not referenced but shall be included should be listed here by
|
120
|
+
// name by the configuration author. Example:
|
121
|
+
//
|
122
|
+
// enums:
|
123
|
+
// - name: google.someapi.v1.SomeEnum
|
124
|
+
repeated google.protobuf.Enum enums = 5;
|
125
|
+
|
126
|
+
// Additional API documentation.
|
127
|
+
Documentation documentation = 6;
|
128
|
+
|
129
|
+
// API backend configuration.
|
130
|
+
Backend backend = 8;
|
131
|
+
|
132
|
+
// HTTP configuration.
|
133
|
+
Http http = 9;
|
134
|
+
|
135
|
+
// Quota configuration.
|
136
|
+
Quota quota = 10;
|
137
|
+
|
138
|
+
// Auth configuration.
|
139
|
+
Authentication authentication = 11;
|
140
|
+
|
141
|
+
// Context configuration.
|
142
|
+
Context context = 12;
|
143
|
+
|
144
|
+
// Configuration controlling usage of this service.
|
145
|
+
Usage usage = 15;
|
146
|
+
|
147
|
+
// Configuration for network endpoints. If this is empty, then an endpoint
|
148
|
+
// with the same name as the service is automatically generated to service all
|
149
|
+
// defined APIs.
|
150
|
+
repeated Endpoint endpoints = 18;
|
151
|
+
|
152
|
+
// Configuration for the service control plane.
|
153
|
+
Control control = 21;
|
154
|
+
|
155
|
+
// Defines the logs used by this service.
|
156
|
+
repeated LogDescriptor logs = 23;
|
157
|
+
|
158
|
+
// Defines the metrics used by this service.
|
159
|
+
repeated MetricDescriptor metrics = 24;
|
160
|
+
|
161
|
+
// Defines the monitored resources used by this service. This is required
|
162
|
+
// by the [Service.monitoring][google.api.Service.monitoring] and
|
163
|
+
// [Service.logging][google.api.Service.logging] configurations.
|
164
|
+
repeated MonitoredResourceDescriptor monitored_resources = 25;
|
165
|
+
|
166
|
+
// Billing configuration.
|
167
|
+
Billing billing = 26;
|
168
|
+
|
169
|
+
// Logging configuration.
|
170
|
+
Logging logging = 27;
|
171
|
+
|
172
|
+
// Monitoring configuration.
|
173
|
+
Monitoring monitoring = 28;
|
174
|
+
|
175
|
+
// System parameter configuration.
|
176
|
+
SystemParameters system_parameters = 29;
|
177
|
+
|
178
|
+
// Output only. The source information for this configuration if available.
|
179
|
+
SourceInfo source_info = 37;
|
180
|
+
|
181
|
+
// Settings for [Google Cloud Client
|
182
|
+
// libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
|
183
|
+
// generated from APIs defined as protocol buffers.
|
184
|
+
Publishing publishing = 45;
|
185
|
+
|
186
|
+
// Obsolete. Do not use.
|
187
|
+
//
|
188
|
+
// This field has no semantic meaning. The service config compiler always
|
189
|
+
// sets this field to `3`.
|
190
|
+
google.protobuf.UInt32Value config_version = 20;
|
191
|
+
}
|