1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
# frozen_string_literal: true
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/policy.proto
require 'google/protobuf'
require 'google/protobuf/descriptor_pb'
descriptor_data = "\n\x17google/api/policy.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto\"S\n\x0b\x46ieldPolicy\x12\x10\n\x08selector\x18\x01 \x01(\t\x12\x1b\n\x13resource_permission\x18\x02 \x01(\t\x12\x15\n\rresource_type\x18\x03 \x01(\t\"S\n\x0cMethodPolicy\x12\x10\n\x08selector\x18\t \x01(\t\x12\x31\n\x10request_policies\x18\x02 \x03(\x0b\x32\x17.google.api.FieldPolicy:O\n\x0c\x66ield_policy\x12\x1d.google.protobuf.FieldOptions\x18\xe8\xce\xc1K \x01(\x0b\x32\x17.google.api.FieldPolicy:R\n\rmethod_policy\x12\x1e.google.protobuf.MethodOptions\x18\xb5\x97\x99M \x01(\x0b\x32\x18.google.api.MethodPolicyBp\n\x0e\x63om.google.apiB\x0bPolicyProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xf8\x01\x01\xa2\x02\x04GAPIb\x06proto3"
pool = Google::Protobuf::DescriptorPool.generated_pool
begin
pool.add_serialized_file(descriptor_data)
rescue TypeError
# Compatibility code: will be removed in the next major version.
require 'google/protobuf/descriptor_pb'
parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
parsed.clear_dependency
serialized = parsed.class.encode(parsed)
file = pool.add_serialized_file(serialized)
warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
imports = [
]
imports.each do |type_name, expected_filename|
import_file = pool.lookup(type_name).file_descriptor
if import_file.name != expected_filename
warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
end
end
warn "Each proto file must use a consistent fully-qualified name."
warn "This will become an error in the next major version."
end
module Google
module Api
FieldPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.FieldPolicy").msgclass
MethodPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.MethodPolicy").msgclass
end
end
#### Source proto file: google/api/policy.proto ####
#
# // Copyright 2023 Google LLC
# //
# // Licensed under the Apache License, Version 2.0 (the "License");
# // you may not use this file except in compliance with the License.
# // You may obtain a copy of the License at
# //
# // http://www.apache.org/licenses/LICENSE-2.0
# //
# // Unless required by applicable law or agreed to in writing, software
# // distributed under the License is distributed on an "AS IS" BASIS,
# // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# // See the License for the specific language governing permissions and
# // limitations under the License.
#
# syntax = "proto3";
#
# package google.api;
#
# import "google/protobuf/descriptor.proto";
#
# option cc_enable_arenas = true;
# option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
# option java_multiple_files = true;
# option java_outer_classname = "PolicyProto";
# option java_package = "com.google.api";
# option objc_class_prefix = "GAPI";
#
# // Provides `google.api.field_policy` annotation at proto fields.
# extend google.protobuf.FieldOptions {
# // See [FieldPolicy][].
# FieldPolicy field_policy = 158361448;
# }
#
# // Provides `google.api.method_policy` annotation at proto methods.
# extend google.protobuf.MethodOptions {
# // See [MethodPolicy][].
# MethodPolicy method_policy = 161893301;
# }
#
# // Google API Policy Annotation
# //
# // This message defines a simple API policy annotation that can be used to
# // annotate API request and response message fields with applicable policies.
# // One field may have multiple applicable policies that must all be satisfied
# // before a request can be processed. This policy annotation is used to
# // generate the overall policy that will be used for automatic runtime
# // policy enforcement and documentation generation.
# message FieldPolicy {
# // Selects one or more request or response message fields to apply this
# // `FieldPolicy`.
# //
# // When a `FieldPolicy` is used in proto annotation, the selector must
# // be left as empty. The service config generator will automatically fill
# // the correct value.
# //
# // When a `FieldPolicy` is used in service config, the selector must be a
# // comma-separated string with valid request or response field paths,
# // such as "foo.bar" or "foo.bar,foo.baz".
# string selector = 1;
#
# // Specifies the required permission(s) for the resource referred to by the
# // field. It requires the field contains a valid resource reference, and
# // the request must pass the permission checks to proceed. For example,
# // "resourcemanager.projects.get".
# string resource_permission = 2;
#
# // Specifies the resource type for the resource referred to by the field.
# string resource_type = 3;
# }
#
# // Defines policies applying to an RPC method.
# message MethodPolicy {
# // Selects a method to which these policies should be enforced, for example,
# // "google.pubsub.v1.Subscriber.CreateSubscription".
# //
# // Refer to [selector][google.api.DocumentationRule.selector] for syntax
# // details.
# //
# // NOTE: This field must not be set in the proto annotation. It will be
# // automatically filled by the service config compiler .
# string selector = 9;
#
# // Policies that are applicable to the request message.
# repeated FieldPolicy request_policies = 2;
# }
|