@devvit/protos 0.11.7 → 0.11.8-next-2025-02-10-c496a14e8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/meta.min.json +7825 -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/redditapi/linksandcomments/linksandcomments_msg.proto +3 -0
- package/schema/snootobuf.devenv.lock +444 -388
- package/schema/snootobuf.lock +444 -388
- package/schema/snootobuf.redditapi.lock +444 -388
- package/schema/snootobuf.ts.lock +444 -388
- package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_msg.d.ts +2 -0
- package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_msg.d.ts.map +1 -1
- package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_msg.js +16 -0
- package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_svc.d.ts +4 -0
- package/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_svc.d.ts.map +1 -1
@@ -0,0 +1,237 @@
|
|
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
|
+
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
|
20
|
+
option java_multiple_files = true;
|
21
|
+
option java_outer_classname = "AuthProto";
|
22
|
+
option java_package = "com.google.api";
|
23
|
+
option objc_class_prefix = "GAPI";
|
24
|
+
|
25
|
+
// `Authentication` defines the authentication configuration for API methods
|
26
|
+
// provided by an API service.
|
27
|
+
//
|
28
|
+
// Example:
|
29
|
+
//
|
30
|
+
// name: calendar.googleapis.com
|
31
|
+
// authentication:
|
32
|
+
// providers:
|
33
|
+
// - id: google_calendar_auth
|
34
|
+
// jwks_uri: https://www.googleapis.com/oauth2/v1/certs
|
35
|
+
// issuer: https://securetoken.google.com
|
36
|
+
// rules:
|
37
|
+
// - selector: "*"
|
38
|
+
// requirements:
|
39
|
+
// provider_id: google_calendar_auth
|
40
|
+
// - selector: google.calendar.Delegate
|
41
|
+
// oauth:
|
42
|
+
// canonical_scopes: https://www.googleapis.com/auth/calendar.read
|
43
|
+
message Authentication {
|
44
|
+
// A list of authentication rules that apply to individual API methods.
|
45
|
+
//
|
46
|
+
// **NOTE:** All service configuration rules follow "last one wins" order.
|
47
|
+
repeated AuthenticationRule rules = 3;
|
48
|
+
|
49
|
+
// Defines a set of authentication providers that a service supports.
|
50
|
+
repeated AuthProvider providers = 4;
|
51
|
+
}
|
52
|
+
|
53
|
+
// Authentication rules for the service.
|
54
|
+
//
|
55
|
+
// By default, if a method has any authentication requirements, every request
|
56
|
+
// must include a valid credential matching one of the requirements.
|
57
|
+
// It's an error to include more than one kind of credential in a single
|
58
|
+
// request.
|
59
|
+
//
|
60
|
+
// If a method doesn't have any auth requirements, request credentials will be
|
61
|
+
// ignored.
|
62
|
+
message AuthenticationRule {
|
63
|
+
// Selects the methods to which this rule applies.
|
64
|
+
//
|
65
|
+
// Refer to [selector][google.api.DocumentationRule.selector] for syntax
|
66
|
+
// details.
|
67
|
+
string selector = 1;
|
68
|
+
|
69
|
+
// The requirements for OAuth credentials.
|
70
|
+
OAuthRequirements oauth = 2;
|
71
|
+
|
72
|
+
// If true, the service accepts API keys without any other credential.
|
73
|
+
// This flag only applies to HTTP and gRPC requests.
|
74
|
+
bool allow_without_credential = 5;
|
75
|
+
|
76
|
+
// Requirements for additional authentication providers.
|
77
|
+
repeated AuthRequirement requirements = 7;
|
78
|
+
}
|
79
|
+
|
80
|
+
// Specifies a location to extract JWT from an API request.
|
81
|
+
message JwtLocation {
|
82
|
+
oneof in {
|
83
|
+
// Specifies HTTP header name to extract JWT token.
|
84
|
+
string header = 1;
|
85
|
+
|
86
|
+
// Specifies URL query parameter name to extract JWT token.
|
87
|
+
string query = 2;
|
88
|
+
|
89
|
+
// Specifies cookie name to extract JWT token.
|
90
|
+
string cookie = 4;
|
91
|
+
}
|
92
|
+
|
93
|
+
// The value prefix. The value format is "value_prefix{token}"
|
94
|
+
// Only applies to "in" header type. Must be empty for "in" query type.
|
95
|
+
// If not empty, the header value has to match (case sensitive) this prefix.
|
96
|
+
// If not matched, JWT will not be extracted. If matched, JWT will be
|
97
|
+
// extracted after the prefix is removed.
|
98
|
+
//
|
99
|
+
// For example, for "Authorization: Bearer {JWT}",
|
100
|
+
// value_prefix="Bearer " with a space at the end.
|
101
|
+
string value_prefix = 3;
|
102
|
+
}
|
103
|
+
|
104
|
+
// Configuration for an authentication provider, including support for
|
105
|
+
// [JSON Web Token
|
106
|
+
// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
|
107
|
+
message AuthProvider {
|
108
|
+
// The unique identifier of the auth provider. It will be referred to by
|
109
|
+
// `AuthRequirement.provider_id`.
|
110
|
+
//
|
111
|
+
// Example: "bookstore_auth".
|
112
|
+
string id = 1;
|
113
|
+
|
114
|
+
// Identifies the principal that issued the JWT. See
|
115
|
+
// https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
|
116
|
+
// Usually a URL or an email address.
|
117
|
+
//
|
118
|
+
// Example: https://securetoken.google.com
|
119
|
+
// Example: 1234567-compute@developer.gserviceaccount.com
|
120
|
+
string issuer = 2;
|
121
|
+
|
122
|
+
// URL of the provider's public key set to validate signature of the JWT. See
|
123
|
+
// [OpenID
|
124
|
+
// Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
|
125
|
+
// Optional if the key set document:
|
126
|
+
// - can be retrieved from
|
127
|
+
// [OpenID
|
128
|
+
// Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html)
|
129
|
+
// of the issuer.
|
130
|
+
// - can be inferred from the email domain of the issuer (e.g. a Google
|
131
|
+
// service account).
|
132
|
+
//
|
133
|
+
// Example: https://www.googleapis.com/oauth2/v1/certs
|
134
|
+
string jwks_uri = 3;
|
135
|
+
|
136
|
+
// The list of JWT
|
137
|
+
// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
|
138
|
+
// that are allowed to access. A JWT containing any of these audiences will
|
139
|
+
// be accepted. When this setting is absent, JWTs with audiences:
|
140
|
+
// - "https://[service.name]/[google.protobuf.Api.name]"
|
141
|
+
// - "https://[service.name]/"
|
142
|
+
// will be accepted.
|
143
|
+
// For example, if no audiences are in the setting, LibraryService API will
|
144
|
+
// accept JWTs with the following audiences:
|
145
|
+
// -
|
146
|
+
// https://library-example.googleapis.com/google.example.library.v1.LibraryService
|
147
|
+
// - https://library-example.googleapis.com/
|
148
|
+
//
|
149
|
+
// Example:
|
150
|
+
//
|
151
|
+
// audiences: bookstore_android.apps.googleusercontent.com,
|
152
|
+
// bookstore_web.apps.googleusercontent.com
|
153
|
+
string audiences = 4;
|
154
|
+
|
155
|
+
// Redirect URL if JWT token is required but not present or is expired.
|
156
|
+
// Implement authorizationUrl of securityDefinitions in OpenAPI spec.
|
157
|
+
string authorization_url = 5;
|
158
|
+
|
159
|
+
// Defines the locations to extract the JWT. For now it is only used by the
|
160
|
+
// Cloud Endpoints to store the OpenAPI extension [x-google-jwt-locations]
|
161
|
+
// (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations)
|
162
|
+
//
|
163
|
+
// JWT locations can be one of HTTP headers, URL query parameters or
|
164
|
+
// cookies. The rule is that the first match wins.
|
165
|
+
//
|
166
|
+
// If not specified, default to use following 3 locations:
|
167
|
+
// 1) Authorization: Bearer
|
168
|
+
// 2) x-goog-iap-jwt-assertion
|
169
|
+
// 3) access_token query parameter
|
170
|
+
//
|
171
|
+
// Default locations can be specified as followings:
|
172
|
+
// jwt_locations:
|
173
|
+
// - header: Authorization
|
174
|
+
// value_prefix: "Bearer "
|
175
|
+
// - header: x-goog-iap-jwt-assertion
|
176
|
+
// - query: access_token
|
177
|
+
repeated JwtLocation jwt_locations = 6;
|
178
|
+
}
|
179
|
+
|
180
|
+
// OAuth scopes are a way to define data and permissions on data. For example,
|
181
|
+
// there are scopes defined for "Read-only access to Google Calendar" and
|
182
|
+
// "Access to Cloud Platform". Users can consent to a scope for an application,
|
183
|
+
// giving it permission to access that data on their behalf.
|
184
|
+
//
|
185
|
+
// OAuth scope specifications should be fairly coarse grained; a user will need
|
186
|
+
// to see and understand the text description of what your scope means.
|
187
|
+
//
|
188
|
+
// In most cases: use one or at most two OAuth scopes for an entire family of
|
189
|
+
// products. If your product has multiple APIs, you should probably be sharing
|
190
|
+
// the OAuth scope across all of those APIs.
|
191
|
+
//
|
192
|
+
// When you need finer grained OAuth consent screens: talk with your product
|
193
|
+
// management about how developers will use them in practice.
|
194
|
+
//
|
195
|
+
// Please note that even though each of the canonical scopes is enough for a
|
196
|
+
// request to be accepted and passed to the backend, a request can still fail
|
197
|
+
// due to the backend requiring additional scopes or permissions.
|
198
|
+
message OAuthRequirements {
|
199
|
+
// The list of publicly documented OAuth scopes that are allowed access. An
|
200
|
+
// OAuth token containing any of these scopes will be accepted.
|
201
|
+
//
|
202
|
+
// Example:
|
203
|
+
//
|
204
|
+
// canonical_scopes: https://www.googleapis.com/auth/calendar,
|
205
|
+
// https://www.googleapis.com/auth/calendar.read
|
206
|
+
string canonical_scopes = 1;
|
207
|
+
}
|
208
|
+
|
209
|
+
// User-defined authentication requirements, including support for
|
210
|
+
// [JSON Web Token
|
211
|
+
// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
|
212
|
+
message AuthRequirement {
|
213
|
+
// [id][google.api.AuthProvider.id] from authentication provider.
|
214
|
+
//
|
215
|
+
// Example:
|
216
|
+
//
|
217
|
+
// provider_id: bookstore_auth
|
218
|
+
string provider_id = 1;
|
219
|
+
|
220
|
+
// NOTE: This will be deprecated soon, once AuthProvider.audiences is
|
221
|
+
// implemented and accepted in all the runtime components.
|
222
|
+
//
|
223
|
+
// The list of JWT
|
224
|
+
// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
|
225
|
+
// that are allowed to access. A JWT containing any of these audiences will
|
226
|
+
// be accepted. When this setting is absent, only JWTs with audience
|
227
|
+
// "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
|
228
|
+
// will be accepted. For example, if no audiences are in the setting,
|
229
|
+
// LibraryService API will only accept JWTs with the following audience
|
230
|
+
// "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
|
231
|
+
//
|
232
|
+
// Example:
|
233
|
+
//
|
234
|
+
// audiences: bookstore_android.apps.googleusercontent.com,
|
235
|
+
// bookstore_web.apps.googleusercontent.com
|
236
|
+
string audiences = 2;
|
237
|
+
}
|
@@ -0,0 +1,185 @@
|
|
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
|
+
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
|
20
|
+
option java_multiple_files = true;
|
21
|
+
option java_outer_classname = "BackendProto";
|
22
|
+
option java_package = "com.google.api";
|
23
|
+
option objc_class_prefix = "GAPI";
|
24
|
+
|
25
|
+
// `Backend` defines the backend configuration for a service.
|
26
|
+
message Backend {
|
27
|
+
// A list of API backend rules that apply to individual API methods.
|
28
|
+
//
|
29
|
+
// **NOTE:** All service configuration rules follow "last one wins" order.
|
30
|
+
repeated BackendRule rules = 1;
|
31
|
+
}
|
32
|
+
|
33
|
+
// A backend rule provides configuration for an individual API element.
|
34
|
+
message BackendRule {
|
35
|
+
// Path Translation specifies how to combine the backend address with the
|
36
|
+
// request path in order to produce the appropriate forwarding URL for the
|
37
|
+
// request.
|
38
|
+
//
|
39
|
+
// Path Translation is applicable only to HTTP-based backends. Backends which
|
40
|
+
// do not accept requests over HTTP/HTTPS should leave `path_translation`
|
41
|
+
// unspecified.
|
42
|
+
enum PathTranslation {
|
43
|
+
PATH_TRANSLATION_UNSPECIFIED = 0;
|
44
|
+
|
45
|
+
// Use the backend address as-is, with no modification to the path. If the
|
46
|
+
// URL pattern contains variables, the variable names and values will be
|
47
|
+
// appended to the query string. If a query string parameter and a URL
|
48
|
+
// pattern variable have the same name, this may result in duplicate keys in
|
49
|
+
// the query string.
|
50
|
+
//
|
51
|
+
// # Examples
|
52
|
+
//
|
53
|
+
// Given the following operation config:
|
54
|
+
//
|
55
|
+
// Method path: /api/company/{cid}/user/{uid}
|
56
|
+
// Backend address: https://example.cloudfunctions.net/getUser
|
57
|
+
//
|
58
|
+
// Requests to the following request paths will call the backend at the
|
59
|
+
// translated path:
|
60
|
+
//
|
61
|
+
// Request path: /api/company/widgetworks/user/johndoe
|
62
|
+
// Translated:
|
63
|
+
// https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe
|
64
|
+
//
|
65
|
+
// Request path: /api/company/widgetworks/user/johndoe?timezone=EST
|
66
|
+
// Translated:
|
67
|
+
// https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe
|
68
|
+
CONSTANT_ADDRESS = 1;
|
69
|
+
|
70
|
+
// The request path will be appended to the backend address.
|
71
|
+
//
|
72
|
+
// # Examples
|
73
|
+
//
|
74
|
+
// Given the following operation config:
|
75
|
+
//
|
76
|
+
// Method path: /api/company/{cid}/user/{uid}
|
77
|
+
// Backend address: https://example.appspot.com
|
78
|
+
//
|
79
|
+
// Requests to the following request paths will call the backend at the
|
80
|
+
// translated path:
|
81
|
+
//
|
82
|
+
// Request path: /api/company/widgetworks/user/johndoe
|
83
|
+
// Translated:
|
84
|
+
// https://example.appspot.com/api/company/widgetworks/user/johndoe
|
85
|
+
//
|
86
|
+
// Request path: /api/company/widgetworks/user/johndoe?timezone=EST
|
87
|
+
// Translated:
|
88
|
+
// https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST
|
89
|
+
APPEND_PATH_TO_ADDRESS = 2;
|
90
|
+
}
|
91
|
+
|
92
|
+
// Selects the methods to which this rule applies.
|
93
|
+
//
|
94
|
+
// Refer to [selector][google.api.DocumentationRule.selector] for syntax
|
95
|
+
// details.
|
96
|
+
string selector = 1;
|
97
|
+
|
98
|
+
// The address of the API backend.
|
99
|
+
//
|
100
|
+
// The scheme is used to determine the backend protocol and security.
|
101
|
+
// The following schemes are accepted:
|
102
|
+
//
|
103
|
+
// SCHEME PROTOCOL SECURITY
|
104
|
+
// http:// HTTP None
|
105
|
+
// https:// HTTP TLS
|
106
|
+
// grpc:// gRPC None
|
107
|
+
// grpcs:// gRPC TLS
|
108
|
+
//
|
109
|
+
// It is recommended to explicitly include a scheme. Leaving out the scheme
|
110
|
+
// may cause constrasting behaviors across platforms.
|
111
|
+
//
|
112
|
+
// If the port is unspecified, the default is:
|
113
|
+
// - 80 for schemes without TLS
|
114
|
+
// - 443 for schemes with TLS
|
115
|
+
//
|
116
|
+
// For HTTP backends, use [protocol][google.api.BackendRule.protocol]
|
117
|
+
// to specify the protocol version.
|
118
|
+
string address = 2;
|
119
|
+
|
120
|
+
// The number of seconds to wait for a response from a request. The default
|
121
|
+
// varies based on the request protocol and deployment environment.
|
122
|
+
double deadline = 3;
|
123
|
+
|
124
|
+
// Deprecated, do not use.
|
125
|
+
double min_deadline = 4 [deprecated = true];
|
126
|
+
|
127
|
+
// The number of seconds to wait for the completion of a long running
|
128
|
+
// operation. The default is no deadline.
|
129
|
+
double operation_deadline = 5;
|
130
|
+
|
131
|
+
PathTranslation path_translation = 6;
|
132
|
+
|
133
|
+
// Authentication settings used by the backend.
|
134
|
+
//
|
135
|
+
// These are typically used to provide service management functionality to
|
136
|
+
// a backend served on a publicly-routable URL. The `authentication`
|
137
|
+
// details should match the authentication behavior used by the backend.
|
138
|
+
//
|
139
|
+
// For example, specifying `jwt_audience` implies that the backend expects
|
140
|
+
// authentication via a JWT.
|
141
|
+
//
|
142
|
+
// When authentication is unspecified, the resulting behavior is the same
|
143
|
+
// as `disable_auth` set to `true`.
|
144
|
+
//
|
145
|
+
// Refer to https://developers.google.com/identity/protocols/OpenIDConnect for
|
146
|
+
// JWT ID token.
|
147
|
+
oneof authentication {
|
148
|
+
// The JWT audience is used when generating a JWT ID token for the backend.
|
149
|
+
// This ID token will be added in the HTTP "authorization" header, and sent
|
150
|
+
// to the backend.
|
151
|
+
string jwt_audience = 7;
|
152
|
+
|
153
|
+
// When disable_auth is true, a JWT ID token won't be generated and the
|
154
|
+
// original "Authorization" HTTP header will be preserved. If the header is
|
155
|
+
// used to carry the original token and is expected by the backend, this
|
156
|
+
// field must be set to true to preserve the header.
|
157
|
+
bool disable_auth = 8;
|
158
|
+
}
|
159
|
+
|
160
|
+
// The protocol used for sending a request to the backend.
|
161
|
+
// The supported values are "http/1.1" and "h2".
|
162
|
+
//
|
163
|
+
// The default value is inferred from the scheme in the
|
164
|
+
// [address][google.api.BackendRule.address] field:
|
165
|
+
//
|
166
|
+
// SCHEME PROTOCOL
|
167
|
+
// http:// http/1.1
|
168
|
+
// https:// http/1.1
|
169
|
+
// grpc:// h2
|
170
|
+
// grpcs:// h2
|
171
|
+
//
|
172
|
+
// For secure HTTP backends (https://) that support HTTP/2, set this field
|
173
|
+
// to "h2" for improved performance.
|
174
|
+
//
|
175
|
+
// Configuring this field to non-default values is only supported for secure
|
176
|
+
// HTTP backends. This field will be ignored for all other backends.
|
177
|
+
//
|
178
|
+
// See
|
179
|
+
// https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
|
180
|
+
// for more details on the supported values.
|
181
|
+
string protocol = 9;
|
182
|
+
|
183
|
+
// The map between request protocol and the backend address.
|
184
|
+
map<string, BackendRule> overrides_by_request_protocol = 10;
|
185
|
+
}
|
@@ -0,0 +1,77 @@
|
|
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
|
+
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
|
20
|
+
option java_multiple_files = true;
|
21
|
+
option java_outer_classname = "BillingProto";
|
22
|
+
option java_package = "com.google.api";
|
23
|
+
option objc_class_prefix = "GAPI";
|
24
|
+
|
25
|
+
// Billing related configuration of the service.
|
26
|
+
//
|
27
|
+
// The following example shows how to configure monitored resources and metrics
|
28
|
+
// for billing, `consumer_destinations` is the only supported destination and
|
29
|
+
// the monitored resources need at least one label key
|
30
|
+
// `cloud.googleapis.com/location` to indicate the location of the billing
|
31
|
+
// usage, using different monitored resources between monitoring and billing is
|
32
|
+
// recommended so they can be evolved independently:
|
33
|
+
//
|
34
|
+
//
|
35
|
+
// monitored_resources:
|
36
|
+
// - type: library.googleapis.com/billing_branch
|
37
|
+
// labels:
|
38
|
+
// - key: cloud.googleapis.com/location
|
39
|
+
// description: |
|
40
|
+
// Predefined label to support billing location restriction.
|
41
|
+
// - key: city
|
42
|
+
// description: |
|
43
|
+
// Custom label to define the city where the library branch is located
|
44
|
+
// in.
|
45
|
+
// - key: name
|
46
|
+
// description: Custom label to define the name of the library branch.
|
47
|
+
// metrics:
|
48
|
+
// - name: library.googleapis.com/book/borrowed_count
|
49
|
+
// metric_kind: DELTA
|
50
|
+
// value_type: INT64
|
51
|
+
// unit: "1"
|
52
|
+
// billing:
|
53
|
+
// consumer_destinations:
|
54
|
+
// - monitored_resource: library.googleapis.com/billing_branch
|
55
|
+
// metrics:
|
56
|
+
// - library.googleapis.com/book/borrowed_count
|
57
|
+
message Billing {
|
58
|
+
// Configuration of a specific billing destination (Currently only support
|
59
|
+
// bill against consumer project).
|
60
|
+
message BillingDestination {
|
61
|
+
// The monitored resource type. The type must be defined in
|
62
|
+
// [Service.monitored_resources][google.api.Service.monitored_resources]
|
63
|
+
// section.
|
64
|
+
string monitored_resource = 1;
|
65
|
+
|
66
|
+
// Names of the metrics to report to this billing destination.
|
67
|
+
// Each name must be defined in
|
68
|
+
// [Service.metrics][google.api.Service.metrics] section.
|
69
|
+
repeated string metrics = 2;
|
70
|
+
}
|
71
|
+
|
72
|
+
// Billing configurations for sending metrics to the consumer project.
|
73
|
+
// There can be multiple consumer destinations per service, each one must have
|
74
|
+
// a different monitored resource type. A metric can be used in at most
|
75
|
+
// one consumer destination.
|
76
|
+
repeated BillingDestination consumer_destinations = 8;
|
77
|
+
}
|