# 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 => e # 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; # }