Unverified Commit d14e66da authored by Johnny's avatar Johnny Committed by GitHub

fix: openapi generation (#5349)

parent 8659f69d
......@@ -7,15 +7,6 @@ managed:
override:
- file_option: go_package_prefix
value: github.com/usememos/memos/proto/gen
inputs:
- directory: .
- module: buf.build/googleapis/googleapis
paths:
- google/api/annotations.proto
- google/api/client.proto
- google/api/field_behavior.proto
- google/api/http.proto
- google/api/resource.proto
plugins:
- remote: buf.build/protocolbuffers/go
out: gen
......@@ -31,7 +22,7 @@ plugins:
opt: paths=source_relative
- remote: buf.build/community/google-gnostic-openapi
out: gen
opt: paths=source_relative,enum_type=string
opt: enum_type=string
- remote: buf.build/bufbuild/es
out: ../web/src/types/proto
opt:
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: api/v1/activity_service.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: api/v1/attachment_service.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: api/v1/auth_service.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: api/v1/common.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: api/v1/idp_service.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: api/v1/instance_service.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: api/v1/memo_service.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: api/v1/shortcut_service.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: api/v1/user_service.proto
......
// Copyright 2025 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.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc (unknown)
// source: google/api/annotations.proto
package annotations
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
reflect "reflect"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
var file_google_api_annotations_proto_extTypes = []protoimpl.ExtensionInfo{
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: (*HttpRule)(nil),
Field: 72295728,
Name: "google.api.http",
Tag: "bytes,72295728,opt,name=http",
Filename: "google/api/annotations.proto",
},
}
// Extension fields to descriptorpb.MethodOptions.
var (
// See `HttpRule`.
//
// optional google.api.HttpRule http = 72295728;
E_Http = &file_google_api_annotations_proto_extTypes[0]
)
var File_google_api_annotations_proto protoreflect.FileDescriptor
const file_google_api_annotations_proto_rawDesc = "" +
"\n" +
"\x1cgoogle/api/annotations.proto\x12\n" +
"google.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:K\n" +
"\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0ʼ\" \x01(\v2\x14.google.api.HttpRuleR\x04httpB\xae\x01\n" +
"\x0ecom.google.apiB\x10AnnotationsProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\n" +
"Google.Api\xca\x02\n" +
"Google\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\vGoogle::Apib\x06proto3"
var file_google_api_annotations_proto_goTypes = []any{
(*descriptorpb.MethodOptions)(nil), // 0: google.protobuf.MethodOptions
(*HttpRule)(nil), // 1: google.api.HttpRule
}
var file_google_api_annotations_proto_depIdxs = []int32{
0, // 0: google.api.http:extendee -> google.protobuf.MethodOptions
1, // 1: google.api.http:type_name -> google.api.HttpRule
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
1, // [1:2] is the sub-list for extension type_name
0, // [0:1] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_google_api_annotations_proto_init() }
func file_google_api_annotations_proto_init() {
if File_google_api_annotations_proto != nil {
return
}
file_google_api_http_proto_init()
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_api_annotations_proto_rawDesc), len(file_google_api_annotations_proto_rawDesc)),
NumEnums: 0,
NumMessages: 0,
NumExtensions: 1,
NumServices: 0,
},
GoTypes: file_google_api_annotations_proto_goTypes,
DependencyIndexes: file_google_api_annotations_proto_depIdxs,
ExtensionInfos: file_google_api_annotations_proto_extTypes,
}.Build()
File_google_api_annotations_proto = out.File
file_google_api_annotations_proto_goTypes = nil
file_google_api_annotations_proto_depIdxs = nil
}
// Copyright 2025 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.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc (unknown)
// source: google/api/client.proto
package annotations
import (
api "google.golang.org/genproto/googleapis/api"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
durationpb "google.golang.org/protobuf/types/known/durationpb"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// The organization for which the client libraries are being published.
// Affects the url where generated docs are published, etc.
type ClientLibraryOrganization int32
const (
// Not useful.
ClientLibraryOrganization_CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED ClientLibraryOrganization = 0
// Google Cloud Platform Org.
ClientLibraryOrganization_CLOUD ClientLibraryOrganization = 1
// Ads (Advertising) Org.
ClientLibraryOrganization_ADS ClientLibraryOrganization = 2
// Photos Org.
ClientLibraryOrganization_PHOTOS ClientLibraryOrganization = 3
// Street View Org.
ClientLibraryOrganization_STREET_VIEW ClientLibraryOrganization = 4
// Shopping Org.
ClientLibraryOrganization_SHOPPING ClientLibraryOrganization = 5
// Geo Org.
ClientLibraryOrganization_GEO ClientLibraryOrganization = 6
// Generative AI - https://developers.generativeai.google
ClientLibraryOrganization_GENERATIVE_AI ClientLibraryOrganization = 7
)
// Enum value maps for ClientLibraryOrganization.
var (
ClientLibraryOrganization_name = map[int32]string{
0: "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED",
1: "CLOUD",
2: "ADS",
3: "PHOTOS",
4: "STREET_VIEW",
5: "SHOPPING",
6: "GEO",
7: "GENERATIVE_AI",
}
ClientLibraryOrganization_value = map[string]int32{
"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": 0,
"CLOUD": 1,
"ADS": 2,
"PHOTOS": 3,
"STREET_VIEW": 4,
"SHOPPING": 5,
"GEO": 6,
"GENERATIVE_AI": 7,
}
)
func (x ClientLibraryOrganization) Enum() *ClientLibraryOrganization {
p := new(ClientLibraryOrganization)
*p = x
return p
}
func (x ClientLibraryOrganization) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ClientLibraryOrganization) Descriptor() protoreflect.EnumDescriptor {
return file_google_api_client_proto_enumTypes[0].Descriptor()
}
func (ClientLibraryOrganization) Type() protoreflect.EnumType {
return &file_google_api_client_proto_enumTypes[0]
}
func (x ClientLibraryOrganization) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ClientLibraryOrganization.Descriptor instead.
func (ClientLibraryOrganization) EnumDescriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{0}
}
// To where should client libraries be published?
type ClientLibraryDestination int32
const (
// Client libraries will neither be generated nor published to package
// managers.
ClientLibraryDestination_CLIENT_LIBRARY_DESTINATION_UNSPECIFIED ClientLibraryDestination = 0
// Generate the client library in a repo under github.com/googleapis,
// but don't publish it to package managers.
ClientLibraryDestination_GITHUB ClientLibraryDestination = 10
// Publish the library to package managers like nuget.org and npmjs.com.
ClientLibraryDestination_PACKAGE_MANAGER ClientLibraryDestination = 20
)
// Enum value maps for ClientLibraryDestination.
var (
ClientLibraryDestination_name = map[int32]string{
0: "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED",
10: "GITHUB",
20: "PACKAGE_MANAGER",
}
ClientLibraryDestination_value = map[string]int32{
"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": 0,
"GITHUB": 10,
"PACKAGE_MANAGER": 20,
}
)
func (x ClientLibraryDestination) Enum() *ClientLibraryDestination {
p := new(ClientLibraryDestination)
*p = x
return p
}
func (x ClientLibraryDestination) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ClientLibraryDestination) Descriptor() protoreflect.EnumDescriptor {
return file_google_api_client_proto_enumTypes[1].Descriptor()
}
func (ClientLibraryDestination) Type() protoreflect.EnumType {
return &file_google_api_client_proto_enumTypes[1]
}
func (x ClientLibraryDestination) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ClientLibraryDestination.Descriptor instead.
func (ClientLibraryDestination) EnumDescriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{1}
}
// Required information for every language.
type CommonLanguageSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Link to automatically generated reference documentation. Example:
// https://cloud.google.com/nodejs/docs/reference/asset/latest
//
// Deprecated: Marked as deprecated in google/api/client.proto.
ReferenceDocsUri string `protobuf:"bytes,1,opt,name=reference_docs_uri,json=referenceDocsUri,proto3" json:"reference_docs_uri,omitempty"`
// The destination where API teams want this client library to be published.
Destinations []ClientLibraryDestination `protobuf:"varint,2,rep,packed,name=destinations,proto3,enum=google.api.ClientLibraryDestination" json:"destinations,omitempty"`
// Configuration for which RPCs should be generated in the GAPIC client.
SelectiveGapicGeneration *SelectiveGapicGeneration `protobuf:"bytes,3,opt,name=selective_gapic_generation,json=selectiveGapicGeneration,proto3" json:"selective_gapic_generation,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CommonLanguageSettings) Reset() {
*x = CommonLanguageSettings{}
mi := &file_google_api_client_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CommonLanguageSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommonLanguageSettings) ProtoMessage() {}
func (x *CommonLanguageSettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CommonLanguageSettings.ProtoReflect.Descriptor instead.
func (*CommonLanguageSettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{0}
}
// Deprecated: Marked as deprecated in google/api/client.proto.
func (x *CommonLanguageSettings) GetReferenceDocsUri() string {
if x != nil {
return x.ReferenceDocsUri
}
return ""
}
func (x *CommonLanguageSettings) GetDestinations() []ClientLibraryDestination {
if x != nil {
return x.Destinations
}
return nil
}
func (x *CommonLanguageSettings) GetSelectiveGapicGeneration() *SelectiveGapicGeneration {
if x != nil {
return x.SelectiveGapicGeneration
}
return nil
}
// Details about how and where to publish client libraries.
type ClientLibrarySettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Version of the API to apply these settings to. This is the full protobuf
// package for the API, ending in the version element.
// Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// Launch stage of this version of the API.
LaunchStage api.LaunchStage `protobuf:"varint,2,opt,name=launch_stage,json=launchStage,proto3,enum=google.api.LaunchStage" json:"launch_stage,omitempty"`
// When using transport=rest, the client request will encode enums as
// numbers rather than strings.
RestNumericEnums bool `protobuf:"varint,3,opt,name=rest_numeric_enums,json=restNumericEnums,proto3" json:"rest_numeric_enums,omitempty"`
// Settings for legacy Java features, supported in the Service YAML.
JavaSettings *JavaSettings `protobuf:"bytes,21,opt,name=java_settings,json=javaSettings,proto3" json:"java_settings,omitempty"`
// Settings for C++ client libraries.
CppSettings *CppSettings `protobuf:"bytes,22,opt,name=cpp_settings,json=cppSettings,proto3" json:"cpp_settings,omitempty"`
// Settings for PHP client libraries.
PhpSettings *PhpSettings `protobuf:"bytes,23,opt,name=php_settings,json=phpSettings,proto3" json:"php_settings,omitempty"`
// Settings for Python client libraries.
PythonSettings *PythonSettings `protobuf:"bytes,24,opt,name=python_settings,json=pythonSettings,proto3" json:"python_settings,omitempty"`
// Settings for Node client libraries.
NodeSettings *NodeSettings `protobuf:"bytes,25,opt,name=node_settings,json=nodeSettings,proto3" json:"node_settings,omitempty"`
// Settings for .NET client libraries.
DotnetSettings *DotnetSettings `protobuf:"bytes,26,opt,name=dotnet_settings,json=dotnetSettings,proto3" json:"dotnet_settings,omitempty"`
// Settings for Ruby client libraries.
RubySettings *RubySettings `protobuf:"bytes,27,opt,name=ruby_settings,json=rubySettings,proto3" json:"ruby_settings,omitempty"`
// Settings for Go client libraries.
GoSettings *GoSettings `protobuf:"bytes,28,opt,name=go_settings,json=goSettings,proto3" json:"go_settings,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ClientLibrarySettings) Reset() {
*x = ClientLibrarySettings{}
mi := &file_google_api_client_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ClientLibrarySettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientLibrarySettings) ProtoMessage() {}
func (x *ClientLibrarySettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClientLibrarySettings.ProtoReflect.Descriptor instead.
func (*ClientLibrarySettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{1}
}
func (x *ClientLibrarySettings) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *ClientLibrarySettings) GetLaunchStage() api.LaunchStage {
if x != nil {
return x.LaunchStage
}
return api.LaunchStage(0)
}
func (x *ClientLibrarySettings) GetRestNumericEnums() bool {
if x != nil {
return x.RestNumericEnums
}
return false
}
func (x *ClientLibrarySettings) GetJavaSettings() *JavaSettings {
if x != nil {
return x.JavaSettings
}
return nil
}
func (x *ClientLibrarySettings) GetCppSettings() *CppSettings {
if x != nil {
return x.CppSettings
}
return nil
}
func (x *ClientLibrarySettings) GetPhpSettings() *PhpSettings {
if x != nil {
return x.PhpSettings
}
return nil
}
func (x *ClientLibrarySettings) GetPythonSettings() *PythonSettings {
if x != nil {
return x.PythonSettings
}
return nil
}
func (x *ClientLibrarySettings) GetNodeSettings() *NodeSettings {
if x != nil {
return x.NodeSettings
}
return nil
}
func (x *ClientLibrarySettings) GetDotnetSettings() *DotnetSettings {
if x != nil {
return x.DotnetSettings
}
return nil
}
func (x *ClientLibrarySettings) GetRubySettings() *RubySettings {
if x != nil {
return x.RubySettings
}
return nil
}
func (x *ClientLibrarySettings) GetGoSettings() *GoSettings {
if x != nil {
return x.GoSettings
}
return nil
}
// This message configures the settings for publishing [Google Cloud Client
// libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
// generated from the service config.
type Publishing struct {
state protoimpl.MessageState `protogen:"open.v1"`
// A list of API method settings, e.g. the behavior for methods that use the
// long-running operation pattern.
MethodSettings []*MethodSettings `protobuf:"bytes,2,rep,name=method_settings,json=methodSettings,proto3" json:"method_settings,omitempty"`
// Link to a *public* URI where users can report issues. Example:
// https://issuetracker.google.com/issues/new?component=190865&template=1161103
NewIssueUri string `protobuf:"bytes,101,opt,name=new_issue_uri,json=newIssueUri,proto3" json:"new_issue_uri,omitempty"`
// Link to product home page. Example:
// https://cloud.google.com/asset-inventory/docs/overview
DocumentationUri string `protobuf:"bytes,102,opt,name=documentation_uri,json=documentationUri,proto3" json:"documentation_uri,omitempty"`
// Used as a tracking tag when collecting data about the APIs developer
// relations artifacts like docs, packages delivered to package managers,
// etc. Example: "speech".
ApiShortName string `protobuf:"bytes,103,opt,name=api_short_name,json=apiShortName,proto3" json:"api_short_name,omitempty"`
// GitHub label to apply to issues and pull requests opened for this API.
GithubLabel string `protobuf:"bytes,104,opt,name=github_label,json=githubLabel,proto3" json:"github_label,omitempty"`
// GitHub teams to be added to CODEOWNERS in the directory in GitHub
// containing source code for the client libraries for this API.
CodeownerGithubTeams []string `protobuf:"bytes,105,rep,name=codeowner_github_teams,json=codeownerGithubTeams,proto3" json:"codeowner_github_teams,omitempty"`
// A prefix used in sample code when demarking regions to be included in
// documentation.
DocTagPrefix string `protobuf:"bytes,106,opt,name=doc_tag_prefix,json=docTagPrefix,proto3" json:"doc_tag_prefix,omitempty"`
// For whom the client library is being published.
Organization ClientLibraryOrganization `protobuf:"varint,107,opt,name=organization,proto3,enum=google.api.ClientLibraryOrganization" json:"organization,omitempty"`
// Client library settings. If the same version string appears multiple
// times in this list, then the last one wins. Settings from earlier
// settings with the same version string are discarded.
LibrarySettings []*ClientLibrarySettings `protobuf:"bytes,109,rep,name=library_settings,json=librarySettings,proto3" json:"library_settings,omitempty"`
// Optional link to proto reference documentation. Example:
// https://cloud.google.com/pubsub/lite/docs/reference/rpc
ProtoReferenceDocumentationUri string `protobuf:"bytes,110,opt,name=proto_reference_documentation_uri,json=protoReferenceDocumentationUri,proto3" json:"proto_reference_documentation_uri,omitempty"`
// Optional link to REST reference documentation. Example:
// https://cloud.google.com/pubsub/lite/docs/reference/rest
RestReferenceDocumentationUri string `protobuf:"bytes,111,opt,name=rest_reference_documentation_uri,json=restReferenceDocumentationUri,proto3" json:"rest_reference_documentation_uri,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Publishing) Reset() {
*x = Publishing{}
mi := &file_google_api_client_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Publishing) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Publishing) ProtoMessage() {}
func (x *Publishing) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Publishing.ProtoReflect.Descriptor instead.
func (*Publishing) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{2}
}
func (x *Publishing) GetMethodSettings() []*MethodSettings {
if x != nil {
return x.MethodSettings
}
return nil
}
func (x *Publishing) GetNewIssueUri() string {
if x != nil {
return x.NewIssueUri
}
return ""
}
func (x *Publishing) GetDocumentationUri() string {
if x != nil {
return x.DocumentationUri
}
return ""
}
func (x *Publishing) GetApiShortName() string {
if x != nil {
return x.ApiShortName
}
return ""
}
func (x *Publishing) GetGithubLabel() string {
if x != nil {
return x.GithubLabel
}
return ""
}
func (x *Publishing) GetCodeownerGithubTeams() []string {
if x != nil {
return x.CodeownerGithubTeams
}
return nil
}
func (x *Publishing) GetDocTagPrefix() string {
if x != nil {
return x.DocTagPrefix
}
return ""
}
func (x *Publishing) GetOrganization() ClientLibraryOrganization {
if x != nil {
return x.Organization
}
return ClientLibraryOrganization_CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED
}
func (x *Publishing) GetLibrarySettings() []*ClientLibrarySettings {
if x != nil {
return x.LibrarySettings
}
return nil
}
func (x *Publishing) GetProtoReferenceDocumentationUri() string {
if x != nil {
return x.ProtoReferenceDocumentationUri
}
return ""
}
func (x *Publishing) GetRestReferenceDocumentationUri() string {
if x != nil {
return x.RestReferenceDocumentationUri
}
return ""
}
// Settings for Java client libraries.
type JavaSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The package name to use in Java. Clobbers the java_package option
// set in the protobuf. This should be used **only** by APIs
// who have already set the language_settings.java.package_name" field
// in gapic.yaml. API teams should use the protobuf java_package option
// where possible.
//
// Example of a YAML configuration::
//
// publishing:
// java_settings:
// library_package: com.google.cloud.pubsub.v1
LibraryPackage string `protobuf:"bytes,1,opt,name=library_package,json=libraryPackage,proto3" json:"library_package,omitempty"`
// Configure the Java class name to use instead of the service's for its
// corresponding generated GAPIC client. Keys are fully-qualified
// service names as they appear in the protobuf (including the full
// the language_settings.java.interface_names" field in gapic.yaml. API
// teams should otherwise use the service name as it appears in the
// protobuf.
//
// Example of a YAML configuration::
//
// publishing:
// java_settings:
// service_class_names:
// - google.pubsub.v1.Publisher: TopicAdmin
// - google.pubsub.v1.Subscriber: SubscriptionAdmin
ServiceClassNames map[string]string `protobuf:"bytes,2,rep,name=service_class_names,json=serviceClassNames,proto3" json:"service_class_names,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// Some settings.
Common *CommonLanguageSettings `protobuf:"bytes,3,opt,name=common,proto3" json:"common,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *JavaSettings) Reset() {
*x = JavaSettings{}
mi := &file_google_api_client_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *JavaSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JavaSettings) ProtoMessage() {}
func (x *JavaSettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use JavaSettings.ProtoReflect.Descriptor instead.
func (*JavaSettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{3}
}
func (x *JavaSettings) GetLibraryPackage() string {
if x != nil {
return x.LibraryPackage
}
return ""
}
func (x *JavaSettings) GetServiceClassNames() map[string]string {
if x != nil {
return x.ServiceClassNames
}
return nil
}
func (x *JavaSettings) GetCommon() *CommonLanguageSettings {
if x != nil {
return x.Common
}
return nil
}
// Settings for C++ client libraries.
type CppSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Some settings.
Common *CommonLanguageSettings `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CppSettings) Reset() {
*x = CppSettings{}
mi := &file_google_api_client_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CppSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CppSettings) ProtoMessage() {}
func (x *CppSettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CppSettings.ProtoReflect.Descriptor instead.
func (*CppSettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{4}
}
func (x *CppSettings) GetCommon() *CommonLanguageSettings {
if x != nil {
return x.Common
}
return nil
}
// Settings for Php client libraries.
type PhpSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Some settings.
Common *CommonLanguageSettings `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PhpSettings) Reset() {
*x = PhpSettings{}
mi := &file_google_api_client_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PhpSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PhpSettings) ProtoMessage() {}
func (x *PhpSettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PhpSettings.ProtoReflect.Descriptor instead.
func (*PhpSettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{5}
}
func (x *PhpSettings) GetCommon() *CommonLanguageSettings {
if x != nil {
return x.Common
}
return nil
}
// Settings for Python client libraries.
type PythonSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Some settings.
Common *CommonLanguageSettings `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
// Experimental features to be included during client library generation.
ExperimentalFeatures *PythonSettings_ExperimentalFeatures `protobuf:"bytes,2,opt,name=experimental_features,json=experimentalFeatures,proto3" json:"experimental_features,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PythonSettings) Reset() {
*x = PythonSettings{}
mi := &file_google_api_client_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PythonSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PythonSettings) ProtoMessage() {}
func (x *PythonSettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PythonSettings.ProtoReflect.Descriptor instead.
func (*PythonSettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{6}
}
func (x *PythonSettings) GetCommon() *CommonLanguageSettings {
if x != nil {
return x.Common
}
return nil
}
func (x *PythonSettings) GetExperimentalFeatures() *PythonSettings_ExperimentalFeatures {
if x != nil {
return x.ExperimentalFeatures
}
return nil
}
// Settings for Node client libraries.
type NodeSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Some settings.
Common *CommonLanguageSettings `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeSettings) Reset() {
*x = NodeSettings{}
mi := &file_google_api_client_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeSettings) ProtoMessage() {}
func (x *NodeSettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeSettings.ProtoReflect.Descriptor instead.
func (*NodeSettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{7}
}
func (x *NodeSettings) GetCommon() *CommonLanguageSettings {
if x != nil {
return x.Common
}
return nil
}
// Settings for Dotnet client libraries.
type DotnetSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Some settings.
Common *CommonLanguageSettings `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
// Map from original service names to renamed versions.
// This is used when the default generated types
// would cause a naming conflict. (Neither name is
// fully-qualified.)
// Example: Subscriber to SubscriberServiceApi.
RenamedServices map[string]string `protobuf:"bytes,2,rep,name=renamed_services,json=renamedServices,proto3" json:"renamed_services,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// Map from full resource types to the effective short name
// for the resource. This is used when otherwise resource
// named from different services would cause naming collisions.
// Example entry:
// "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
RenamedResources map[string]string `protobuf:"bytes,3,rep,name=renamed_resources,json=renamedResources,proto3" json:"renamed_resources,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// List of full resource types to ignore during generation.
// This is typically used for API-specific Location resources,
// which should be handled by the generator as if they were actually
// the common Location resources.
// Example entry: "documentai.googleapis.com/Location"
IgnoredResources []string `protobuf:"bytes,4,rep,name=ignored_resources,json=ignoredResources,proto3" json:"ignored_resources,omitempty"`
// Namespaces which must be aliased in snippets due to
// a known (but non-generator-predictable) naming collision
ForcedNamespaceAliases []string `protobuf:"bytes,5,rep,name=forced_namespace_aliases,json=forcedNamespaceAliases,proto3" json:"forced_namespace_aliases,omitempty"`
// Method signatures (in the form "service.method(signature)")
// which are provided separately, so shouldn't be generated.
// Snippets *calling* these methods are still generated, however.
HandwrittenSignatures []string `protobuf:"bytes,6,rep,name=handwritten_signatures,json=handwrittenSignatures,proto3" json:"handwritten_signatures,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DotnetSettings) Reset() {
*x = DotnetSettings{}
mi := &file_google_api_client_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DotnetSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DotnetSettings) ProtoMessage() {}
func (x *DotnetSettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DotnetSettings.ProtoReflect.Descriptor instead.
func (*DotnetSettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{8}
}
func (x *DotnetSettings) GetCommon() *CommonLanguageSettings {
if x != nil {
return x.Common
}
return nil
}
func (x *DotnetSettings) GetRenamedServices() map[string]string {
if x != nil {
return x.RenamedServices
}
return nil
}
func (x *DotnetSettings) GetRenamedResources() map[string]string {
if x != nil {
return x.RenamedResources
}
return nil
}
func (x *DotnetSettings) GetIgnoredResources() []string {
if x != nil {
return x.IgnoredResources
}
return nil
}
func (x *DotnetSettings) GetForcedNamespaceAliases() []string {
if x != nil {
return x.ForcedNamespaceAliases
}
return nil
}
func (x *DotnetSettings) GetHandwrittenSignatures() []string {
if x != nil {
return x.HandwrittenSignatures
}
return nil
}
// Settings for Ruby client libraries.
type RubySettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Some settings.
Common *CommonLanguageSettings `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RubySettings) Reset() {
*x = RubySettings{}
mi := &file_google_api_client_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RubySettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RubySettings) ProtoMessage() {}
func (x *RubySettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RubySettings.ProtoReflect.Descriptor instead.
func (*RubySettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{9}
}
func (x *RubySettings) GetCommon() *CommonLanguageSettings {
if x != nil {
return x.Common
}
return nil
}
// Settings for Go client libraries.
type GoSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Some settings.
Common *CommonLanguageSettings `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
// Map of service names to renamed services. Keys are the package relative
// service names and values are the name to be used for the service client
// and call options.
//
// publishing:
//
// go_settings:
// renamed_services:
// Publisher: TopicAdmin
RenamedServices map[string]string `protobuf:"bytes,2,rep,name=renamed_services,json=renamedServices,proto3" json:"renamed_services,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GoSettings) Reset() {
*x = GoSettings{}
mi := &file_google_api_client_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GoSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GoSettings) ProtoMessage() {}
func (x *GoSettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GoSettings.ProtoReflect.Descriptor instead.
func (*GoSettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{10}
}
func (x *GoSettings) GetCommon() *CommonLanguageSettings {
if x != nil {
return x.Common
}
return nil
}
func (x *GoSettings) GetRenamedServices() map[string]string {
if x != nil {
return x.RenamedServices
}
return nil
}
// Describes the generator configuration for a method.
type MethodSettings struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The fully qualified name of the method, for which the options below apply.
// This is used to find the method to apply the options.
//
// Example:
//
// publishing:
// method_settings:
// - selector: google.storage.control.v2.StorageControl.CreateFolder
// # method settings for CreateFolder...
Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
// Describes settings to use for long-running operations when generating
// API methods for RPCs. Complements RPCs that use the annotations in
// google/longrunning/operations.proto.
//
// Example of a YAML configuration::
//
// publishing:
// method_settings:
// - selector: google.cloud.speech.v2.Speech.BatchRecognize
// long_running:
// initial_poll_delay: 60s # 1 minute
// poll_delay_multiplier: 1.5
// max_poll_delay: 360s # 6 minutes
// total_poll_timeout: 54000s # 90 minutes
LongRunning *MethodSettings_LongRunning `protobuf:"bytes,2,opt,name=long_running,json=longRunning,proto3" json:"long_running,omitempty"`
// List of top-level fields of the request message, that should be
// automatically populated by the client libraries based on their
// (google.api.field_info).format. Currently supported format: UUID4.
//
// Example of a YAML configuration:
//
// publishing:
// method_settings:
// - selector: google.example.v1.ExampleService.CreateExample
// auto_populated_fields:
// - request_id
AutoPopulatedFields []string `protobuf:"bytes,3,rep,name=auto_populated_fields,json=autoPopulatedFields,proto3" json:"auto_populated_fields,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MethodSettings) Reset() {
*x = MethodSettings{}
mi := &file_google_api_client_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MethodSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MethodSettings) ProtoMessage() {}
func (x *MethodSettings) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MethodSettings.ProtoReflect.Descriptor instead.
func (*MethodSettings) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{11}
}
func (x *MethodSettings) GetSelector() string {
if x != nil {
return x.Selector
}
return ""
}
func (x *MethodSettings) GetLongRunning() *MethodSettings_LongRunning {
if x != nil {
return x.LongRunning
}
return nil
}
func (x *MethodSettings) GetAutoPopulatedFields() []string {
if x != nil {
return x.AutoPopulatedFields
}
return nil
}
// This message is used to configure the generation of a subset of the RPCs in
// a service for client libraries.
type SelectiveGapicGeneration struct {
state protoimpl.MessageState `protogen:"open.v1"`
// An allowlist of the fully qualified names of RPCs that should be included
// on public client surfaces.
Methods []string `protobuf:"bytes,1,rep,name=methods,proto3" json:"methods,omitempty"`
// Setting this to true indicates to the client generators that methods
// that would be excluded from the generation should instead be generated
// in a way that indicates these methods should not be consumed by
// end users. How this is expressed is up to individual language
// implementations to decide. Some examples may be: added annotations,
// obfuscated identifiers, or other language idiomatic patterns.
GenerateOmittedAsInternal bool `protobuf:"varint,2,opt,name=generate_omitted_as_internal,json=generateOmittedAsInternal,proto3" json:"generate_omitted_as_internal,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SelectiveGapicGeneration) Reset() {
*x = SelectiveGapicGeneration{}
mi := &file_google_api_client_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SelectiveGapicGeneration) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SelectiveGapicGeneration) ProtoMessage() {}
func (x *SelectiveGapicGeneration) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SelectiveGapicGeneration.ProtoReflect.Descriptor instead.
func (*SelectiveGapicGeneration) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{12}
}
func (x *SelectiveGapicGeneration) GetMethods() []string {
if x != nil {
return x.Methods
}
return nil
}
func (x *SelectiveGapicGeneration) GetGenerateOmittedAsInternal() bool {
if x != nil {
return x.GenerateOmittedAsInternal
}
return false
}
// Experimental features to be included during client library generation.
// These fields will be deprecated once the feature graduates and is enabled
// by default.
type PythonSettings_ExperimentalFeatures struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Enables generation of asynchronous REST clients if `rest` transport is
// enabled. By default, asynchronous REST clients will not be generated.
// This feature will be enabled by default 1 month after launching the
// feature in preview packages.
RestAsyncIoEnabled bool `protobuf:"varint,1,opt,name=rest_async_io_enabled,json=restAsyncIoEnabled,proto3" json:"rest_async_io_enabled,omitempty"`
// Enables generation of protobuf code using new types that are more
// Pythonic which are included in `protobuf>=5.29.x`. This feature will be
// enabled by default 1 month after launching the feature in preview
// packages.
ProtobufPythonicTypesEnabled bool `protobuf:"varint,2,opt,name=protobuf_pythonic_types_enabled,json=protobufPythonicTypesEnabled,proto3" json:"protobuf_pythonic_types_enabled,omitempty"`
// Disables generation of an unversioned Python package for this client
// library. This means that the module names will need to be versioned in
// import statements. For example `import google.cloud.library_v2` instead
// of `import google.cloud.library`.
UnversionedPackageDisabled bool `protobuf:"varint,3,opt,name=unversioned_package_disabled,json=unversionedPackageDisabled,proto3" json:"unversioned_package_disabled,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PythonSettings_ExperimentalFeatures) Reset() {
*x = PythonSettings_ExperimentalFeatures{}
mi := &file_google_api_client_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PythonSettings_ExperimentalFeatures) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PythonSettings_ExperimentalFeatures) ProtoMessage() {}
func (x *PythonSettings_ExperimentalFeatures) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PythonSettings_ExperimentalFeatures.ProtoReflect.Descriptor instead.
func (*PythonSettings_ExperimentalFeatures) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{6, 0}
}
func (x *PythonSettings_ExperimentalFeatures) GetRestAsyncIoEnabled() bool {
if x != nil {
return x.RestAsyncIoEnabled
}
return false
}
func (x *PythonSettings_ExperimentalFeatures) GetProtobufPythonicTypesEnabled() bool {
if x != nil {
return x.ProtobufPythonicTypesEnabled
}
return false
}
func (x *PythonSettings_ExperimentalFeatures) GetUnversionedPackageDisabled() bool {
if x != nil {
return x.UnversionedPackageDisabled
}
return false
}
// Describes settings to use when generating API methods that use the
// long-running operation pattern.
// All default values below are from those used in the client library
// generators (e.g.
// [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
type MethodSettings_LongRunning struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Initial delay after which the first poll request will be made.
// Default value: 5 seconds.
InitialPollDelay *durationpb.Duration `protobuf:"bytes,1,opt,name=initial_poll_delay,json=initialPollDelay,proto3" json:"initial_poll_delay,omitempty"`
// Multiplier to gradually increase delay between subsequent polls until it
// reaches max_poll_delay.
// Default value: 1.5.
PollDelayMultiplier float32 `protobuf:"fixed32,2,opt,name=poll_delay_multiplier,json=pollDelayMultiplier,proto3" json:"poll_delay_multiplier,omitempty"`
// Maximum time between two subsequent poll requests.
// Default value: 45 seconds.
MaxPollDelay *durationpb.Duration `protobuf:"bytes,3,opt,name=max_poll_delay,json=maxPollDelay,proto3" json:"max_poll_delay,omitempty"`
// Total polling timeout.
// Default value: 5 minutes.
TotalPollTimeout *durationpb.Duration `protobuf:"bytes,4,opt,name=total_poll_timeout,json=totalPollTimeout,proto3" json:"total_poll_timeout,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MethodSettings_LongRunning) Reset() {
*x = MethodSettings_LongRunning{}
mi := &file_google_api_client_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MethodSettings_LongRunning) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MethodSettings_LongRunning) ProtoMessage() {}
func (x *MethodSettings_LongRunning) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MethodSettings_LongRunning.ProtoReflect.Descriptor instead.
func (*MethodSettings_LongRunning) Descriptor() ([]byte, []int) {
return file_google_api_client_proto_rawDescGZIP(), []int{11, 0}
}
func (x *MethodSettings_LongRunning) GetInitialPollDelay() *durationpb.Duration {
if x != nil {
return x.InitialPollDelay
}
return nil
}
func (x *MethodSettings_LongRunning) GetPollDelayMultiplier() float32 {
if x != nil {
return x.PollDelayMultiplier
}
return 0
}
func (x *MethodSettings_LongRunning) GetMaxPollDelay() *durationpb.Duration {
if x != nil {
return x.MaxPollDelay
}
return nil
}
func (x *MethodSettings_LongRunning) GetTotalPollTimeout() *durationpb.Duration {
if x != nil {
return x.TotalPollTimeout
}
return nil
}
var file_google_api_client_proto_extTypes = []protoimpl.ExtensionInfo{
{
ExtendedType: (*descriptorpb.MethodOptions)(nil),
ExtensionType: ([]string)(nil),
Field: 1051,
Name: "google.api.method_signature",
Tag: "bytes,1051,rep,name=method_signature",
Filename: "google/api/client.proto",
},
{
ExtendedType: (*descriptorpb.ServiceOptions)(nil),
ExtensionType: (*string)(nil),
Field: 1049,
Name: "google.api.default_host",
Tag: "bytes,1049,opt,name=default_host",
Filename: "google/api/client.proto",
},
{
ExtendedType: (*descriptorpb.ServiceOptions)(nil),
ExtensionType: (*string)(nil),
Field: 1050,
Name: "google.api.oauth_scopes",
Tag: "bytes,1050,opt,name=oauth_scopes",
Filename: "google/api/client.proto",
},
{
ExtendedType: (*descriptorpb.ServiceOptions)(nil),
ExtensionType: (*string)(nil),
Field: 525000001,
Name: "google.api.api_version",
Tag: "bytes,525000001,opt,name=api_version",
Filename: "google/api/client.proto",
},
}
// Extension fields to descriptorpb.MethodOptions.
var (
// A definition of a client library method signature.
//
// In client libraries, each proto RPC corresponds to one or more methods
// which the end user is able to call, and calls the underlying RPC.
// Normally, this method receives a single argument (a struct or instance
// corresponding to the RPC request object). Defining this field will
// add one or more overloads providing flattened or simpler method signatures
// in some languages.
//
// The fields on the method signature are provided as a comma-separated
// string.
//
// For example, the proto RPC and annotation:
//
// rpc CreateSubscription(CreateSubscriptionRequest)
// returns (Subscription) {
// option (google.api.method_signature) = "name,topic";
// }
//
// Would add the following Java overload (in addition to the method accepting
// the request object):
//
// public final Subscription createSubscription(String name, String topic)
//
// The following backwards-compatibility guidelines apply:
//
// - Adding this annotation to an unannotated method is backwards
// compatible.
// - Adding this annotation to a method which already has existing
// method signature annotations is backwards compatible if and only if
// the new method signature annotation is last in the sequence.
// - Modifying or removing an existing method signature annotation is
// a breaking change.
// - Re-ordering existing method signature annotations is a breaking
// change.
//
// repeated string method_signature = 1051;
E_MethodSignature = &file_google_api_client_proto_extTypes[0]
)
// Extension fields to descriptorpb.ServiceOptions.
var (
// The hostname for this service.
// This should be specified with no prefix or protocol.
//
// Example:
//
// service Foo {
// option (google.api.default_host) = "foo.googleapi.com";
// ...
// }
//
// optional string default_host = 1049;
E_DefaultHost = &file_google_api_client_proto_extTypes[1]
// OAuth scopes needed for the client.
//
// Example:
//
// service Foo {
// option (google.api.oauth_scopes) = \
// "https://www.googleapis.com/auth/cloud-platform";
// ...
// }
//
// If there is more than one scope, use a comma-separated string:
//
// Example:
//
// service Foo {
// option (google.api.oauth_scopes) = \
// "https://www.googleapis.com/auth/cloud-platform,"
// "https://www.googleapis.com/auth/monitoring";
// ...
// }
//
// optional string oauth_scopes = 1050;
E_OauthScopes = &file_google_api_client_proto_extTypes[2]
// The API version of this service, which should be sent by version-aware
// clients to the service. This allows services to abide by the schema and
// behavior of the service at the time this API version was deployed.
// The format of the API version must be treated as opaque by clients.
// Services may use a format with an apparent structure, but clients must
// not rely on this to determine components within an API version, or attempt
// to construct other valid API versions. Note that this is for upcoming
// functionality and may not be implemented for all services.
//
// Example:
//
// service Foo {
// option (google.api.api_version) = "v1_20230821_preview";
// }
//
// optional string api_version = 525000001;
E_ApiVersion = &file_google_api_client_proto_extTypes[3]
)
var File_google_api_client_proto protoreflect.FileDescriptor
const file_google_api_client_proto_rawDesc = "" +
"\n" +
"\x17google/api/client.proto\x12\n" +
"google.api\x1a\x1dgoogle/api/launch_stage.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\"\xf8\x01\n" +
"\x16CommonLanguageSettings\x120\n" +
"\x12reference_docs_uri\x18\x01 \x01(\tB\x02\x18\x01R\x10referenceDocsUri\x12H\n" +
"\fdestinations\x18\x02 \x03(\x0e2$.google.api.ClientLibraryDestinationR\fdestinations\x12b\n" +
"\x1aselective_gapic_generation\x18\x03 \x01(\v2$.google.api.SelectiveGapicGenerationR\x18selectiveGapicGeneration\"\x93\x05\n" +
"\x15ClientLibrarySettings\x12\x18\n" +
"\aversion\x18\x01 \x01(\tR\aversion\x12:\n" +
"\flaunch_stage\x18\x02 \x01(\x0e2\x17.google.api.LaunchStageR\vlaunchStage\x12,\n" +
"\x12rest_numeric_enums\x18\x03 \x01(\bR\x10restNumericEnums\x12=\n" +
"\rjava_settings\x18\x15 \x01(\v2\x18.google.api.JavaSettingsR\fjavaSettings\x12:\n" +
"\fcpp_settings\x18\x16 \x01(\v2\x17.google.api.CppSettingsR\vcppSettings\x12:\n" +
"\fphp_settings\x18\x17 \x01(\v2\x17.google.api.PhpSettingsR\vphpSettings\x12C\n" +
"\x0fpython_settings\x18\x18 \x01(\v2\x1a.google.api.PythonSettingsR\x0epythonSettings\x12=\n" +
"\rnode_settings\x18\x19 \x01(\v2\x18.google.api.NodeSettingsR\fnodeSettings\x12C\n" +
"\x0fdotnet_settings\x18\x1a \x01(\v2\x1a.google.api.DotnetSettingsR\x0edotnetSettings\x12=\n" +
"\rruby_settings\x18\x1b \x01(\v2\x18.google.api.RubySettingsR\frubySettings\x127\n" +
"\vgo_settings\x18\x1c \x01(\v2\x16.google.api.GoSettingsR\n" +
"goSettings\"\xf4\x04\n" +
"\n" +
"Publishing\x12C\n" +
"\x0fmethod_settings\x18\x02 \x03(\v2\x1a.google.api.MethodSettingsR\x0emethodSettings\x12\"\n" +
"\rnew_issue_uri\x18e \x01(\tR\vnewIssueUri\x12+\n" +
"\x11documentation_uri\x18f \x01(\tR\x10documentationUri\x12$\n" +
"\x0eapi_short_name\x18g \x01(\tR\fapiShortName\x12!\n" +
"\fgithub_label\x18h \x01(\tR\vgithubLabel\x124\n" +
"\x16codeowner_github_teams\x18i \x03(\tR\x14codeownerGithubTeams\x12$\n" +
"\x0edoc_tag_prefix\x18j \x01(\tR\fdocTagPrefix\x12I\n" +
"\forganization\x18k \x01(\x0e2%.google.api.ClientLibraryOrganizationR\forganization\x12L\n" +
"\x10library_settings\x18m \x03(\v2!.google.api.ClientLibrarySettingsR\x0flibrarySettings\x12I\n" +
"!proto_reference_documentation_uri\x18n \x01(\tR\x1eprotoReferenceDocumentationUri\x12G\n" +
" rest_reference_documentation_uri\x18o \x01(\tR\x1drestReferenceDocumentationUri\"\x9a\x02\n" +
"\fJavaSettings\x12'\n" +
"\x0flibrary_package\x18\x01 \x01(\tR\x0elibraryPackage\x12_\n" +
"\x13service_class_names\x18\x02 \x03(\v2/.google.api.JavaSettings.ServiceClassNamesEntryR\x11serviceClassNames\x12:\n" +
"\x06common\x18\x03 \x01(\v2\".google.api.CommonLanguageSettingsR\x06common\x1aD\n" +
"\x16ServiceClassNamesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"I\n" +
"\vCppSettings\x12:\n" +
"\x06common\x18\x01 \x01(\v2\".google.api.CommonLanguageSettingsR\x06common\"I\n" +
"\vPhpSettings\x12:\n" +
"\x06common\x18\x01 \x01(\v2\".google.api.CommonLanguageSettingsR\x06common\"\x87\x03\n" +
"\x0ePythonSettings\x12:\n" +
"\x06common\x18\x01 \x01(\v2\".google.api.CommonLanguageSettingsR\x06common\x12d\n" +
"\x15experimental_features\x18\x02 \x01(\v2/.google.api.PythonSettings.ExperimentalFeaturesR\x14experimentalFeatures\x1a\xd2\x01\n" +
"\x14ExperimentalFeatures\x121\n" +
"\x15rest_async_io_enabled\x18\x01 \x01(\bR\x12restAsyncIoEnabled\x12E\n" +
"\x1fprotobuf_pythonic_types_enabled\x18\x02 \x01(\bR\x1cprotobufPythonicTypesEnabled\x12@\n" +
"\x1cunversioned_package_disabled\x18\x03 \x01(\bR\x1aunversionedPackageDisabled\"J\n" +
"\fNodeSettings\x12:\n" +
"\x06common\x18\x01 \x01(\v2\".google.api.CommonLanguageSettingsR\x06common\"\xae\x04\n" +
"\x0eDotnetSettings\x12:\n" +
"\x06common\x18\x01 \x01(\v2\".google.api.CommonLanguageSettingsR\x06common\x12Z\n" +
"\x10renamed_services\x18\x02 \x03(\v2/.google.api.DotnetSettings.RenamedServicesEntryR\x0frenamedServices\x12]\n" +
"\x11renamed_resources\x18\x03 \x03(\v20.google.api.DotnetSettings.RenamedResourcesEntryR\x10renamedResources\x12+\n" +
"\x11ignored_resources\x18\x04 \x03(\tR\x10ignoredResources\x128\n" +
"\x18forced_namespace_aliases\x18\x05 \x03(\tR\x16forcedNamespaceAliases\x125\n" +
"\x16handwritten_signatures\x18\x06 \x03(\tR\x15handwrittenSignatures\x1aB\n" +
"\x14RenamedServicesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aC\n" +
"\x15RenamedResourcesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"J\n" +
"\fRubySettings\x12:\n" +
"\x06common\x18\x01 \x01(\v2\".google.api.CommonLanguageSettingsR\x06common\"\xe4\x01\n" +
"\n" +
"GoSettings\x12:\n" +
"\x06common\x18\x01 \x01(\v2\".google.api.CommonLanguageSettingsR\x06common\x12V\n" +
"\x10renamed_services\x18\x02 \x03(\v2+.google.api.GoSettings.RenamedServicesEntryR\x0frenamedServices\x1aB\n" +
"\x14RenamedServicesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc2\x03\n" +
"\x0eMethodSettings\x12\x1a\n" +
"\bselector\x18\x01 \x01(\tR\bselector\x12I\n" +
"\flong_running\x18\x02 \x01(\v2&.google.api.MethodSettings.LongRunningR\vlongRunning\x122\n" +
"\x15auto_populated_fields\x18\x03 \x03(\tR\x13autoPopulatedFields\x1a\x94\x02\n" +
"\vLongRunning\x12G\n" +
"\x12initial_poll_delay\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\x10initialPollDelay\x122\n" +
"\x15poll_delay_multiplier\x18\x02 \x01(\x02R\x13pollDelayMultiplier\x12?\n" +
"\x0emax_poll_delay\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\fmaxPollDelay\x12G\n" +
"\x12total_poll_timeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x10totalPollTimeout\"u\n" +
"\x18SelectiveGapicGeneration\x12\x18\n" +
"\amethods\x18\x01 \x03(\tR\amethods\x12?\n" +
"\x1cgenerate_omitted_as_internal\x18\x02 \x01(\bR\x19generateOmittedAsInternal*\xa3\x01\n" +
"\x19ClientLibraryOrganization\x12+\n" +
"'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED\x10\x00\x12\t\n" +
"\x05CLOUD\x10\x01\x12\a\n" +
"\x03ADS\x10\x02\x12\n" +
"\n" +
"\x06PHOTOS\x10\x03\x12\x0f\n" +
"\vSTREET_VIEW\x10\x04\x12\f\n" +
"\bSHOPPING\x10\x05\x12\a\n" +
"\x03GEO\x10\x06\x12\x11\n" +
"\rGENERATIVE_AI\x10\a*g\n" +
"\x18ClientLibraryDestination\x12*\n" +
"&CLIENT_LIBRARY_DESTINATION_UNSPECIFIED\x10\x00\x12\n" +
"\n" +
"\x06GITHUB\x10\n" +
"\x12\x13\n" +
"\x0fPACKAGE_MANAGER\x10\x14:J\n" +
"\x10method_signature\x12\x1e.google.protobuf.MethodOptions\x18\x9b\b \x03(\tR\x0fmethodSignature:C\n" +
"\fdefault_host\x12\x1f.google.protobuf.ServiceOptions\x18\x99\b \x01(\tR\vdefaultHost:C\n" +
"\foauth_scopes\x12\x1f.google.protobuf.ServiceOptions\x18\x9a\b \x01(\tR\voauthScopes:D\n" +
"\vapi_version\x12\x1f.google.protobuf.ServiceOptions\x18\xc1\xba\xab\xfa\x01 \x01(\tR\n" +
"apiVersionB\xa9\x01\n" +
"\x0ecom.google.apiB\vClientProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\n" +
"Google.Api\xca\x02\n" +
"Google\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\vGoogle::Apib\x06proto3"
var (
file_google_api_client_proto_rawDescOnce sync.Once
file_google_api_client_proto_rawDescData []byte
)
func file_google_api_client_proto_rawDescGZIP() []byte {
file_google_api_client_proto_rawDescOnce.Do(func() {
file_google_api_client_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_api_client_proto_rawDesc), len(file_google_api_client_proto_rawDesc)))
})
return file_google_api_client_proto_rawDescData
}
var file_google_api_client_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_api_client_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_google_api_client_proto_goTypes = []any{
(ClientLibraryOrganization)(0), // 0: google.api.ClientLibraryOrganization
(ClientLibraryDestination)(0), // 1: google.api.ClientLibraryDestination
(*CommonLanguageSettings)(nil), // 2: google.api.CommonLanguageSettings
(*ClientLibrarySettings)(nil), // 3: google.api.ClientLibrarySettings
(*Publishing)(nil), // 4: google.api.Publishing
(*JavaSettings)(nil), // 5: google.api.JavaSettings
(*CppSettings)(nil), // 6: google.api.CppSettings
(*PhpSettings)(nil), // 7: google.api.PhpSettings
(*PythonSettings)(nil), // 8: google.api.PythonSettings
(*NodeSettings)(nil), // 9: google.api.NodeSettings
(*DotnetSettings)(nil), // 10: google.api.DotnetSettings
(*RubySettings)(nil), // 11: google.api.RubySettings
(*GoSettings)(nil), // 12: google.api.GoSettings
(*MethodSettings)(nil), // 13: google.api.MethodSettings
(*SelectiveGapicGeneration)(nil), // 14: google.api.SelectiveGapicGeneration
nil, // 15: google.api.JavaSettings.ServiceClassNamesEntry
(*PythonSettings_ExperimentalFeatures)(nil), // 16: google.api.PythonSettings.ExperimentalFeatures
nil, // 17: google.api.DotnetSettings.RenamedServicesEntry
nil, // 18: google.api.DotnetSettings.RenamedResourcesEntry
nil, // 19: google.api.GoSettings.RenamedServicesEntry
(*MethodSettings_LongRunning)(nil), // 20: google.api.MethodSettings.LongRunning
(api.LaunchStage)(0), // 21: google.api.LaunchStage
(*durationpb.Duration)(nil), // 22: google.protobuf.Duration
(*descriptorpb.MethodOptions)(nil), // 23: google.protobuf.MethodOptions
(*descriptorpb.ServiceOptions)(nil), // 24: google.protobuf.ServiceOptions
}
var file_google_api_client_proto_depIdxs = []int32{
1, // 0: google.api.CommonLanguageSettings.destinations:type_name -> google.api.ClientLibraryDestination
14, // 1: google.api.CommonLanguageSettings.selective_gapic_generation:type_name -> google.api.SelectiveGapicGeneration
21, // 2: google.api.ClientLibrarySettings.launch_stage:type_name -> google.api.LaunchStage
5, // 3: google.api.ClientLibrarySettings.java_settings:type_name -> google.api.JavaSettings
6, // 4: google.api.ClientLibrarySettings.cpp_settings:type_name -> google.api.CppSettings
7, // 5: google.api.ClientLibrarySettings.php_settings:type_name -> google.api.PhpSettings
8, // 6: google.api.ClientLibrarySettings.python_settings:type_name -> google.api.PythonSettings
9, // 7: google.api.ClientLibrarySettings.node_settings:type_name -> google.api.NodeSettings
10, // 8: google.api.ClientLibrarySettings.dotnet_settings:type_name -> google.api.DotnetSettings
11, // 9: google.api.ClientLibrarySettings.ruby_settings:type_name -> google.api.RubySettings
12, // 10: google.api.ClientLibrarySettings.go_settings:type_name -> google.api.GoSettings
13, // 11: google.api.Publishing.method_settings:type_name -> google.api.MethodSettings
0, // 12: google.api.Publishing.organization:type_name -> google.api.ClientLibraryOrganization
3, // 13: google.api.Publishing.library_settings:type_name -> google.api.ClientLibrarySettings
15, // 14: google.api.JavaSettings.service_class_names:type_name -> google.api.JavaSettings.ServiceClassNamesEntry
2, // 15: google.api.JavaSettings.common:type_name -> google.api.CommonLanguageSettings
2, // 16: google.api.CppSettings.common:type_name -> google.api.CommonLanguageSettings
2, // 17: google.api.PhpSettings.common:type_name -> google.api.CommonLanguageSettings
2, // 18: google.api.PythonSettings.common:type_name -> google.api.CommonLanguageSettings
16, // 19: google.api.PythonSettings.experimental_features:type_name -> google.api.PythonSettings.ExperimentalFeatures
2, // 20: google.api.NodeSettings.common:type_name -> google.api.CommonLanguageSettings
2, // 21: google.api.DotnetSettings.common:type_name -> google.api.CommonLanguageSettings
17, // 22: google.api.DotnetSettings.renamed_services:type_name -> google.api.DotnetSettings.RenamedServicesEntry
18, // 23: google.api.DotnetSettings.renamed_resources:type_name -> google.api.DotnetSettings.RenamedResourcesEntry
2, // 24: google.api.RubySettings.common:type_name -> google.api.CommonLanguageSettings
2, // 25: google.api.GoSettings.common:type_name -> google.api.CommonLanguageSettings
19, // 26: google.api.GoSettings.renamed_services:type_name -> google.api.GoSettings.RenamedServicesEntry
20, // 27: google.api.MethodSettings.long_running:type_name -> google.api.MethodSettings.LongRunning
22, // 28: google.api.MethodSettings.LongRunning.initial_poll_delay:type_name -> google.protobuf.Duration
22, // 29: google.api.MethodSettings.LongRunning.max_poll_delay:type_name -> google.protobuf.Duration
22, // 30: google.api.MethodSettings.LongRunning.total_poll_timeout:type_name -> google.protobuf.Duration
23, // 31: google.api.method_signature:extendee -> google.protobuf.MethodOptions
24, // 32: google.api.default_host:extendee -> google.protobuf.ServiceOptions
24, // 33: google.api.oauth_scopes:extendee -> google.protobuf.ServiceOptions
24, // 34: google.api.api_version:extendee -> google.protobuf.ServiceOptions
35, // [35:35] is the sub-list for method output_type
35, // [35:35] is the sub-list for method input_type
35, // [35:35] is the sub-list for extension type_name
31, // [31:35] is the sub-list for extension extendee
0, // [0:31] is the sub-list for field type_name
}
func init() { file_google_api_client_proto_init() }
func file_google_api_client_proto_init() {
if File_google_api_client_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_api_client_proto_rawDesc), len(file_google_api_client_proto_rawDesc)),
NumEnums: 2,
NumMessages: 19,
NumExtensions: 4,
NumServices: 0,
},
GoTypes: file_google_api_client_proto_goTypes,
DependencyIndexes: file_google_api_client_proto_depIdxs,
EnumInfos: file_google_api_client_proto_enumTypes,
MessageInfos: file_google_api_client_proto_msgTypes,
ExtensionInfos: file_google_api_client_proto_extTypes,
}.Build()
File_google_api_client_proto = out.File
file_google_api_client_proto_goTypes = nil
file_google_api_client_proto_depIdxs = nil
}
// Copyright 2025 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.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc (unknown)
// source: google/api/field_behavior.proto
package annotations
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// An indicator of the behavior of a given field (for example, that a field
// is required in requests, or given as output but ignored as input).
// This **does not** change the behavior in protocol buffers itself; it only
// denotes the behavior and may affect how API tooling handles the field.
//
// Note: This enum **may** receive new values in the future.
type FieldBehavior int32
const (
// Conventional default for enums. Do not use this.
FieldBehavior_FIELD_BEHAVIOR_UNSPECIFIED FieldBehavior = 0
// Specifically denotes a field as optional.
// While all fields in protocol buffers are optional, this may be specified
// for emphasis if appropriate.
FieldBehavior_OPTIONAL FieldBehavior = 1
// Denotes a field as required.
// This indicates that the field **must** be provided as part of the request,
// and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
FieldBehavior_REQUIRED FieldBehavior = 2
// Denotes a field as output only.
// This indicates that the field is provided in responses, but including the
// field in a request does nothing (the server *must* ignore it and
// *must not* throw an error as a result of the field's presence).
FieldBehavior_OUTPUT_ONLY FieldBehavior = 3
// Denotes a field as input only.
// This indicates that the field is provided in requests, and the
// corresponding field is not included in output.
FieldBehavior_INPUT_ONLY FieldBehavior = 4
// Denotes a field as immutable.
// This indicates that the field may be set once in a request to create a
// resource, but may not be changed thereafter.
FieldBehavior_IMMUTABLE FieldBehavior = 5
// Denotes that a (repeated) field is an unordered list.
// This indicates that the service may provide the elements of the list
// in any arbitrary order, rather than the order the user originally
// provided. Additionally, the list's order may or may not be stable.
FieldBehavior_UNORDERED_LIST FieldBehavior = 6
// Denotes that this field returns a non-empty default value if not set.
// This indicates that if the user provides the empty value in a request,
// a non-empty value will be returned. The user will not be aware of what
// non-empty value to expect.
FieldBehavior_NON_EMPTY_DEFAULT FieldBehavior = 7
// Denotes that the field in a resource (a message annotated with
// google.api.resource) is used in the resource name to uniquely identify the
// resource. For AIP-compliant APIs, this should only be applied to the
// `name` field on the resource.
//
// This behavior should not be applied to references to other resources within
// the message.
//
// The identifier field of resources often have different field behavior
// depending on the request it is embedded in (e.g. for Create methods name
// is optional and unused, while for Update methods it is required). Instead
// of method-specific annotations, only `IDENTIFIER` is required.
FieldBehavior_IDENTIFIER FieldBehavior = 8
)
// Enum value maps for FieldBehavior.
var (
FieldBehavior_name = map[int32]string{
0: "FIELD_BEHAVIOR_UNSPECIFIED",
1: "OPTIONAL",
2: "REQUIRED",
3: "OUTPUT_ONLY",
4: "INPUT_ONLY",
5: "IMMUTABLE",
6: "UNORDERED_LIST",
7: "NON_EMPTY_DEFAULT",
8: "IDENTIFIER",
}
FieldBehavior_value = map[string]int32{
"FIELD_BEHAVIOR_UNSPECIFIED": 0,
"OPTIONAL": 1,
"REQUIRED": 2,
"OUTPUT_ONLY": 3,
"INPUT_ONLY": 4,
"IMMUTABLE": 5,
"UNORDERED_LIST": 6,
"NON_EMPTY_DEFAULT": 7,
"IDENTIFIER": 8,
}
)
func (x FieldBehavior) Enum() *FieldBehavior {
p := new(FieldBehavior)
*p = x
return p
}
func (x FieldBehavior) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (FieldBehavior) Descriptor() protoreflect.EnumDescriptor {
return file_google_api_field_behavior_proto_enumTypes[0].Descriptor()
}
func (FieldBehavior) Type() protoreflect.EnumType {
return &file_google_api_field_behavior_proto_enumTypes[0]
}
func (x FieldBehavior) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use FieldBehavior.Descriptor instead.
func (FieldBehavior) EnumDescriptor() ([]byte, []int) {
return file_google_api_field_behavior_proto_rawDescGZIP(), []int{0}
}
var file_google_api_field_behavior_proto_extTypes = []protoimpl.ExtensionInfo{
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: ([]FieldBehavior)(nil),
Field: 1052,
Name: "google.api.field_behavior",
Tag: "varint,1052,rep,name=field_behavior,enum=google.api.FieldBehavior",
Filename: "google/api/field_behavior.proto",
},
}
// Extension fields to descriptorpb.FieldOptions.
var (
// A designation of a specific field behavior (required, output only, etc.)
// in protobuf messages.
//
// Examples:
//
// string name = 1 [(google.api.field_behavior) = REQUIRED];
// State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// google.protobuf.Duration ttl = 1
// [(google.api.field_behavior) = INPUT_ONLY];
// google.protobuf.Timestamp expire_time = 1
// [(google.api.field_behavior) = OUTPUT_ONLY,
// (google.api.field_behavior) = IMMUTABLE];
//
// repeated google.api.FieldBehavior field_behavior = 1052;
E_FieldBehavior = &file_google_api_field_behavior_proto_extTypes[0]
)
var File_google_api_field_behavior_proto protoreflect.FileDescriptor
const file_google_api_field_behavior_proto_rawDesc = "" +
"\n" +
"\x1fgoogle/api/field_behavior.proto\x12\n" +
"google.api\x1a google/protobuf/descriptor.proto*\xb6\x01\n" +
"\rFieldBehavior\x12\x1e\n" +
"\x1aFIELD_BEHAVIOR_UNSPECIFIED\x10\x00\x12\f\n" +
"\bOPTIONAL\x10\x01\x12\f\n" +
"\bREQUIRED\x10\x02\x12\x0f\n" +
"\vOUTPUT_ONLY\x10\x03\x12\x0e\n" +
"\n" +
"INPUT_ONLY\x10\x04\x12\r\n" +
"\tIMMUTABLE\x10\x05\x12\x12\n" +
"\x0eUNORDERED_LIST\x10\x06\x12\x15\n" +
"\x11NON_EMPTY_DEFAULT\x10\a\x12\x0e\n" +
"\n" +
"IDENTIFIER\x10\b:d\n" +
"\x0efield_behavior\x12\x1d.google.protobuf.FieldOptions\x18\x9c\b \x03(\x0e2\x19.google.api.FieldBehaviorB\x02\x10\x00R\rfieldBehaviorB\xb0\x01\n" +
"\x0ecom.google.apiB\x12FieldBehaviorProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\n" +
"Google.Api\xca\x02\n" +
"Google\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\vGoogle::Apib\x06proto3"
var (
file_google_api_field_behavior_proto_rawDescOnce sync.Once
file_google_api_field_behavior_proto_rawDescData []byte
)
func file_google_api_field_behavior_proto_rawDescGZIP() []byte {
file_google_api_field_behavior_proto_rawDescOnce.Do(func() {
file_google_api_field_behavior_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_api_field_behavior_proto_rawDesc), len(file_google_api_field_behavior_proto_rawDesc)))
})
return file_google_api_field_behavior_proto_rawDescData
}
var file_google_api_field_behavior_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_google_api_field_behavior_proto_goTypes = []any{
(FieldBehavior)(0), // 0: google.api.FieldBehavior
(*descriptorpb.FieldOptions)(nil), // 1: google.protobuf.FieldOptions
}
var file_google_api_field_behavior_proto_depIdxs = []int32{
1, // 0: google.api.field_behavior:extendee -> google.protobuf.FieldOptions
0, // 1: google.api.field_behavior:type_name -> google.api.FieldBehavior
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
1, // [1:2] is the sub-list for extension type_name
0, // [0:1] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_google_api_field_behavior_proto_init() }
func file_google_api_field_behavior_proto_init() {
if File_google_api_field_behavior_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_api_field_behavior_proto_rawDesc), len(file_google_api_field_behavior_proto_rawDesc)),
NumEnums: 1,
NumMessages: 0,
NumExtensions: 1,
NumServices: 0,
},
GoTypes: file_google_api_field_behavior_proto_goTypes,
DependencyIndexes: file_google_api_field_behavior_proto_depIdxs,
EnumInfos: file_google_api_field_behavior_proto_enumTypes,
ExtensionInfos: file_google_api_field_behavior_proto_extTypes,
}.Build()
File_google_api_field_behavior_proto = out.File
file_google_api_field_behavior_proto_goTypes = nil
file_google_api_field_behavior_proto_depIdxs = nil
}
// Copyright 2025 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.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc (unknown)
// source: google/api/http.proto
package annotations
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Defines the HTTP configuration for an API service. It contains a list of
// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
// to one or more HTTP REST API methods.
type Http struct {
state protoimpl.MessageState `protogen:"open.v1"`
// A list of HTTP configuration rules that apply to individual API methods.
//
// **NOTE:** All service configuration rules follow "last one wins" order.
Rules []*HttpRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
// When set to true, URL path parameters will be fully URI-decoded except in
// cases of single segment matches in reserved expansion, where "%2F" will be
// left encoded.
//
// The default behavior is to not decode RFC 6570 reserved characters in multi
// segment matches.
FullyDecodeReservedExpansion bool `protobuf:"varint,2,opt,name=fully_decode_reserved_expansion,json=fullyDecodeReservedExpansion,proto3" json:"fully_decode_reserved_expansion,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Http) Reset() {
*x = Http{}
mi := &file_google_api_http_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Http) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Http) ProtoMessage() {}
func (x *Http) ProtoReflect() protoreflect.Message {
mi := &file_google_api_http_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Http.ProtoReflect.Descriptor instead.
func (*Http) Descriptor() ([]byte, []int) {
return file_google_api_http_proto_rawDescGZIP(), []int{0}
}
func (x *Http) GetRules() []*HttpRule {
if x != nil {
return x.Rules
}
return nil
}
func (x *Http) GetFullyDecodeReservedExpansion() bool {
if x != nil {
return x.FullyDecodeReservedExpansion
}
return false
}
// gRPC Transcoding
//
// gRPC Transcoding is a feature for mapping between a gRPC method and one or
// more HTTP REST endpoints. It allows developers to build a single API service
// that supports both gRPC APIs and REST APIs. Many systems, including [Google
// APIs](https://github.com/googleapis/googleapis),
// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
// Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
// and use it for large scale production services.
//
// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
// how different portions of the gRPC request message are mapped to the URL
// path, URL query parameters, and HTTP request body. It also controls how the
// gRPC response message is mapped to the HTTP response body. `HttpRule` is
// typically specified as an `google.api.http` annotation on the gRPC method.
//
// Each mapping specifies a URL path template and an HTTP method. The path
// template may refer to one or more fields in the gRPC request message, as long
// as each field is a non-repeated field with a primitive (non-message) type.
// The path template controls how fields of the request message are mapped to
// the URL path.
//
// Example:
//
// service Messaging {
// rpc GetMessage(GetMessageRequest) returns (Message) {
// option (google.api.http) = {
// get: "/v1/{name=messages/*}"
// };
// }
// }
// message GetMessageRequest {
// string name = 1; // Mapped to URL path.
// }
// message Message {
// string text = 1; // The resource content.
// }
//
// This enables an HTTP REST to gRPC mapping as below:
//
// - HTTP: `GET /v1/messages/123456`
// - gRPC: `GetMessage(name: "messages/123456")`
//
// Any fields in the request message which are not bound by the path template
// automatically become HTTP query parameters if there is no HTTP request body.
// For example:
//
// service Messaging {
// rpc GetMessage(GetMessageRequest) returns (Message) {
// option (google.api.http) = {
// get:"/v1/messages/{message_id}"
// };
// }
// }
// message GetMessageRequest {
// message SubMessage {
// string subfield = 1;
// }
// string message_id = 1; // Mapped to URL path.
// int64 revision = 2; // Mapped to URL query parameter `revision`.
// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.
// }
//
// This enables a HTTP JSON to RPC mapping as below:
//
// - HTTP: `GET /v1/messages/123456?revision=2&sub.subfield=foo`
// - gRPC: `GetMessage(message_id: "123456" revision: 2 sub:
// SubMessage(subfield: "foo"))`
//
// Note that fields which are mapped to URL query parameters must have a
// primitive type or a repeated primitive type or a non-repeated message type.
// In the case of a repeated type, the parameter can be repeated in the URL
// as `...?param=A&param=B`. In the case of a message type, each field of the
// message is mapped to a separate parameter, such as
// `...?foo.a=A&foo.b=B&foo.c=C`.
//
// For HTTP methods that allow a request body, the `body` field
// specifies the mapping. Consider a REST update method on the
// message resource collection:
//
// service Messaging {
// rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
// option (google.api.http) = {
// patch: "/v1/messages/{message_id}"
// body: "message"
// };
// }
// }
// message UpdateMessageRequest {
// string message_id = 1; // mapped to the URL
// Message message = 2; // mapped to the body
// }
//
// The following HTTP JSON to RPC mapping is enabled, where the
// representation of the JSON in the request body is determined by
// protos JSON encoding:
//
// - HTTP: `PATCH /v1/messages/123456 { "text": "Hi!" }`
// - gRPC: `UpdateMessage(message_id: "123456" message { text: "Hi!" })`
//
// The special name `*` can be used in the body mapping to define that
// every field not bound by the path template should be mapped to the
// request body. This enables the following alternative definition of
// the update method:
//
// service Messaging {
// rpc UpdateMessage(Message) returns (Message) {
// option (google.api.http) = {
// patch: "/v1/messages/{message_id}"
// body: "*"
// };
// }
// }
// message Message {
// string message_id = 1;
// string text = 2;
// }
//
// The following HTTP JSON to RPC mapping is enabled:
//
// - HTTP: `PATCH /v1/messages/123456 { "text": "Hi!" }`
// - gRPC: `UpdateMessage(message_id: "123456" text: "Hi!")`
//
// Note that when using `*` in the body mapping, it is not possible to
// have HTTP parameters, as all fields not bound by the path end in
// the body. This makes this option more rarely used in practice when
// defining REST APIs. The common usage of `*` is in custom methods
// which don't use the URL at all for transferring data.
//
// It is possible to define multiple HTTP methods for one RPC by using
// the `additional_bindings` option. Example:
//
// service Messaging {
// rpc GetMessage(GetMessageRequest) returns (Message) {
// option (google.api.http) = {
// get: "/v1/messages/{message_id}"
// additional_bindings {
// get: "/v1/users/{user_id}/messages/{message_id}"
// }
// };
// }
// }
// message GetMessageRequest {
// string message_id = 1;
// string user_id = 2;
// }
//
// This enables the following two alternative HTTP JSON to RPC mappings:
//
// - HTTP: `GET /v1/messages/123456`
// - gRPC: `GetMessage(message_id: "123456")`
//
// - HTTP: `GET /v1/users/me/messages/123456`
// - gRPC: `GetMessage(user_id: "me" message_id: "123456")`
//
// # Rules for HTTP mapping
//
// 1. Leaf request fields (recursive expansion nested messages in the request
// message) are classified into three categories:
// - Fields referred by the path template. They are passed via the URL path.
// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They
// are passed via the HTTP
// request body.
// - All other fields are passed via the URL query parameters, and the
// parameter name is the field path in the request message. A repeated
// field can be represented as multiple query parameters under the same
// name.
// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL
// query parameter, all fields
// are passed via URL path and HTTP request body.
// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP
// request body, all
// fields are passed via URL path and URL query parameters.
//
// Path template syntax
//
// Template = "/" Segments [ Verb ] ;
// Segments = Segment { "/" Segment } ;
// Segment = "*" | "**" | LITERAL | Variable ;
// Variable = "{" FieldPath [ "=" Segments ] "}" ;
// FieldPath = IDENT { "." IDENT } ;
// Verb = ":" LITERAL ;
//
// The syntax `*` matches a single URL path segment. The syntax `**` matches
// zero or more URL path segments, which must be the last part of the URL path
// except the `Verb`.
//
// The syntax `Variable` matches part of the URL path as specified by its
// template. A variable template must not contain other variables. If a variable
// matches a single path segment, its template may be omitted, e.g. `{var}`
// is equivalent to `{var=*}`.
//
// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
// contains any reserved character, such characters should be percent-encoded
// before the matching.
//
// If a variable contains exactly one path segment, such as `"{var}"` or
// `"{var=*}"`, when such a variable is expanded into a URL path on the client
// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
// server side does the reverse decoding. Such variables show up in the
// [Discovery
// Document](https://developers.google.com/discovery/v1/reference/apis) as
// `{var}`.
//
// If a variable contains multiple path segments, such as `"{var=foo/*}"`
// or `"{var=**}"`, when such a variable is expanded into a URL path on the
// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
// The server side does the reverse decoding, except "%2F" and "%2f" are left
// unchanged. Such variables show up in the
// [Discovery
// Document](https://developers.google.com/discovery/v1/reference/apis) as
// `{+var}`.
//
// # Using gRPC API Service Configuration
//
// gRPC API Service Configuration (service config) is a configuration language
// for configuring a gRPC service to become a user-facing product. The
// service config is simply the YAML representation of the `google.api.Service`
// proto message.
//
// As an alternative to annotating your proto file, you can configure gRPC
// transcoding in your service config YAML files. You do this by specifying a
// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
// effect as the proto annotation. This can be particularly useful if you
// have a proto that is reused in multiple services. Note that any transcoding
// specified in the service config will override any matching transcoding
// configuration in the proto.
//
// The following example selects a gRPC method and applies an `HttpRule` to it:
//
// http:
// rules:
// - selector: example.v1.Messaging.GetMessage
// get: /v1/messages/{message_id}/{sub.subfield}
//
// # Special notes
//
// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
// proto to JSON conversion must follow the [proto3
// specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
//
// While the single segment variable follows the semantics of
// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
// Expansion, the multi segment variable **does not** follow RFC 6570 Section
// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
// does not expand special characters like `?` and `#`, which would lead
// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
// for multi segment variables.
//
// The path variables **must not** refer to any repeated or mapped field,
// because client libraries are not capable of handling such variable expansion.
//
// The path variables **must not** capture the leading "/" character. The reason
// is that the most common use case "{var}" does not capture the leading "/"
// character. For consistency, all path variables must share the same behavior.
//
// Repeated message fields must not be mapped to URL query parameters, because
// no client library can support such complicated mapping.
//
// If an API needs to use a JSON array for request or response body, it can map
// the request or response body to a repeated field. However, some gRPC
// Transcoding implementations may not support this feature.
type HttpRule struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Selects a method to which this rule applies.
//
// Refer to [selector][google.api.DocumentationRule.selector] for syntax
// details.
Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
// Determines the URL pattern is matched by this rules. This pattern can be
// used with any of the {get|put|post|delete|patch} methods. A custom method
// can be defined using the 'custom' field.
//
// Types that are valid to be assigned to Pattern:
//
// *HttpRule_Get
// *HttpRule_Put
// *HttpRule_Post
// *HttpRule_Delete
// *HttpRule_Patch
// *HttpRule_Custom
Pattern isHttpRule_Pattern `protobuf_oneof:"pattern"`
// The name of the request field whose value is mapped to the HTTP request
// body, or `*` for mapping all request fields not captured by the path
// pattern to the HTTP body, or omitted for not having any HTTP request body.
//
// NOTE: the referred field must be present at the top-level of the request
// message type.
Body string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"`
// Optional. The name of the response field whose value is mapped to the HTTP
// response body. When omitted, the entire response message will be used
// as the HTTP response body.
//
// NOTE: The referred field must be present at the top-level of the response
// message type.
ResponseBody string `protobuf:"bytes,12,opt,name=response_body,json=responseBody,proto3" json:"response_body,omitempty"`
// Additional HTTP bindings for the selector. Nested bindings must
// not contain an `additional_bindings` field themselves (that is,
// the nesting may only be one level deep).
AdditionalBindings []*HttpRule `protobuf:"bytes,11,rep,name=additional_bindings,json=additionalBindings,proto3" json:"additional_bindings,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HttpRule) Reset() {
*x = HttpRule{}
mi := &file_google_api_http_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HttpRule) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HttpRule) ProtoMessage() {}
func (x *HttpRule) ProtoReflect() protoreflect.Message {
mi := &file_google_api_http_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HttpRule.ProtoReflect.Descriptor instead.
func (*HttpRule) Descriptor() ([]byte, []int) {
return file_google_api_http_proto_rawDescGZIP(), []int{1}
}
func (x *HttpRule) GetSelector() string {
if x != nil {
return x.Selector
}
return ""
}
func (x *HttpRule) GetPattern() isHttpRule_Pattern {
if x != nil {
return x.Pattern
}
return nil
}
func (x *HttpRule) GetGet() string {
if x != nil {
if x, ok := x.Pattern.(*HttpRule_Get); ok {
return x.Get
}
}
return ""
}
func (x *HttpRule) GetPut() string {
if x != nil {
if x, ok := x.Pattern.(*HttpRule_Put); ok {
return x.Put
}
}
return ""
}
func (x *HttpRule) GetPost() string {
if x != nil {
if x, ok := x.Pattern.(*HttpRule_Post); ok {
return x.Post
}
}
return ""
}
func (x *HttpRule) GetDelete() string {
if x != nil {
if x, ok := x.Pattern.(*HttpRule_Delete); ok {
return x.Delete
}
}
return ""
}
func (x *HttpRule) GetPatch() string {
if x != nil {
if x, ok := x.Pattern.(*HttpRule_Patch); ok {
return x.Patch
}
}
return ""
}
func (x *HttpRule) GetCustom() *CustomHttpPattern {
if x != nil {
if x, ok := x.Pattern.(*HttpRule_Custom); ok {
return x.Custom
}
}
return nil
}
func (x *HttpRule) GetBody() string {
if x != nil {
return x.Body
}
return ""
}
func (x *HttpRule) GetResponseBody() string {
if x != nil {
return x.ResponseBody
}
return ""
}
func (x *HttpRule) GetAdditionalBindings() []*HttpRule {
if x != nil {
return x.AdditionalBindings
}
return nil
}
type isHttpRule_Pattern interface {
isHttpRule_Pattern()
}
type HttpRule_Get struct {
// Maps to HTTP GET. Used for listing and getting information about
// resources.
Get string `protobuf:"bytes,2,opt,name=get,proto3,oneof"`
}
type HttpRule_Put struct {
// Maps to HTTP PUT. Used for replacing a resource.
Put string `protobuf:"bytes,3,opt,name=put,proto3,oneof"`
}
type HttpRule_Post struct {
// Maps to HTTP POST. Used for creating a resource or performing an action.
Post string `protobuf:"bytes,4,opt,name=post,proto3,oneof"`
}
type HttpRule_Delete struct {
// Maps to HTTP DELETE. Used for deleting a resource.
Delete string `protobuf:"bytes,5,opt,name=delete,proto3,oneof"`
}
type HttpRule_Patch struct {
// Maps to HTTP PATCH. Used for updating a resource.
Patch string `protobuf:"bytes,6,opt,name=patch,proto3,oneof"`
}
type HttpRule_Custom struct {
// The custom pattern is used for specifying an HTTP method that is not
// included in the `pattern` field, such as HEAD, or "*" to leave the
// HTTP method unspecified for this rule. The wild-card rule is useful
// for services that provide content to Web (HTML) clients.
Custom *CustomHttpPattern `protobuf:"bytes,8,opt,name=custom,proto3,oneof"`
}
func (*HttpRule_Get) isHttpRule_Pattern() {}
func (*HttpRule_Put) isHttpRule_Pattern() {}
func (*HttpRule_Post) isHttpRule_Pattern() {}
func (*HttpRule_Delete) isHttpRule_Pattern() {}
func (*HttpRule_Patch) isHttpRule_Pattern() {}
func (*HttpRule_Custom) isHttpRule_Pattern() {}
// A custom pattern is used for defining custom HTTP verb.
type CustomHttpPattern struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The name of this custom HTTP verb.
Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
// The path matched by this custom verb.
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CustomHttpPattern) Reset() {
*x = CustomHttpPattern{}
mi := &file_google_api_http_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CustomHttpPattern) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CustomHttpPattern) ProtoMessage() {}
func (x *CustomHttpPattern) ProtoReflect() protoreflect.Message {
mi := &file_google_api_http_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CustomHttpPattern.ProtoReflect.Descriptor instead.
func (*CustomHttpPattern) Descriptor() ([]byte, []int) {
return file_google_api_http_proto_rawDescGZIP(), []int{2}
}
func (x *CustomHttpPattern) GetKind() string {
if x != nil {
return x.Kind
}
return ""
}
func (x *CustomHttpPattern) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
var File_google_api_http_proto protoreflect.FileDescriptor
const file_google_api_http_proto_rawDesc = "" +
"\n" +
"\x15google/api/http.proto\x12\n" +
"google.api\"y\n" +
"\x04Http\x12*\n" +
"\x05rules\x18\x01 \x03(\v2\x14.google.api.HttpRuleR\x05rules\x12E\n" +
"\x1ffully_decode_reserved_expansion\x18\x02 \x01(\bR\x1cfullyDecodeReservedExpansion\"\xda\x02\n" +
"\bHttpRule\x12\x1a\n" +
"\bselector\x18\x01 \x01(\tR\bselector\x12\x12\n" +
"\x03get\x18\x02 \x01(\tH\x00R\x03get\x12\x12\n" +
"\x03put\x18\x03 \x01(\tH\x00R\x03put\x12\x14\n" +
"\x04post\x18\x04 \x01(\tH\x00R\x04post\x12\x18\n" +
"\x06delete\x18\x05 \x01(\tH\x00R\x06delete\x12\x16\n" +
"\x05patch\x18\x06 \x01(\tH\x00R\x05patch\x127\n" +
"\x06custom\x18\b \x01(\v2\x1d.google.api.CustomHttpPatternH\x00R\x06custom\x12\x12\n" +
"\x04body\x18\a \x01(\tR\x04body\x12#\n" +
"\rresponse_body\x18\f \x01(\tR\fresponseBody\x12E\n" +
"\x13additional_bindings\x18\v \x03(\v2\x14.google.api.HttpRuleR\x12additionalBindingsB\t\n" +
"\apattern\";\n" +
"\x11CustomHttpPattern\x12\x12\n" +
"\x04kind\x18\x01 \x01(\tR\x04kind\x12\x12\n" +
"\x04path\x18\x02 \x01(\tR\x04pathB\xa7\x01\n" +
"\x0ecom.google.apiB\tHttpProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\n" +
"Google.Api\xca\x02\n" +
"Google\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\vGoogle::Apib\x06proto3"
var (
file_google_api_http_proto_rawDescOnce sync.Once
file_google_api_http_proto_rawDescData []byte
)
func file_google_api_http_proto_rawDescGZIP() []byte {
file_google_api_http_proto_rawDescOnce.Do(func() {
file_google_api_http_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_api_http_proto_rawDesc), len(file_google_api_http_proto_rawDesc)))
})
return file_google_api_http_proto_rawDescData
}
var file_google_api_http_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_google_api_http_proto_goTypes = []any{
(*Http)(nil), // 0: google.api.Http
(*HttpRule)(nil), // 1: google.api.HttpRule
(*CustomHttpPattern)(nil), // 2: google.api.CustomHttpPattern
}
var file_google_api_http_proto_depIdxs = []int32{
1, // 0: google.api.Http.rules:type_name -> google.api.HttpRule
2, // 1: google.api.HttpRule.custom:type_name -> google.api.CustomHttpPattern
1, // 2: google.api.HttpRule.additional_bindings:type_name -> google.api.HttpRule
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_google_api_http_proto_init() }
func file_google_api_http_proto_init() {
if File_google_api_http_proto != nil {
return
}
file_google_api_http_proto_msgTypes[1].OneofWrappers = []any{
(*HttpRule_Get)(nil),
(*HttpRule_Put)(nil),
(*HttpRule_Post)(nil),
(*HttpRule_Delete)(nil),
(*HttpRule_Patch)(nil),
(*HttpRule_Custom)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_api_http_proto_rawDesc), len(file_google_api_http_proto_rawDesc)),
NumEnums: 0,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_google_api_http_proto_goTypes,
DependencyIndexes: file_google_api_http_proto_depIdxs,
MessageInfos: file_google_api_http_proto_msgTypes,
}.Build()
File_google_api_http_proto = out.File
file_google_api_http_proto_goTypes = nil
file_google_api_http_proto_depIdxs = nil
}
// Copyright 2025 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.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc (unknown)
// source: google/api/resource.proto
package annotations
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// A description of the historical or future-looking state of the
// resource pattern.
type ResourceDescriptor_History int32
const (
// The "unset" value.
ResourceDescriptor_HISTORY_UNSPECIFIED ResourceDescriptor_History = 0
// The resource originally had one pattern and launched as such, and
// additional patterns were added later.
ResourceDescriptor_ORIGINALLY_SINGLE_PATTERN ResourceDescriptor_History = 1
// The resource has one pattern, but the API owner expects to add more
// later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
// that from being necessary once there are multiple patterns.)
ResourceDescriptor_FUTURE_MULTI_PATTERN ResourceDescriptor_History = 2
)
// Enum value maps for ResourceDescriptor_History.
var (
ResourceDescriptor_History_name = map[int32]string{
0: "HISTORY_UNSPECIFIED",
1: "ORIGINALLY_SINGLE_PATTERN",
2: "FUTURE_MULTI_PATTERN",
}
ResourceDescriptor_History_value = map[string]int32{
"HISTORY_UNSPECIFIED": 0,
"ORIGINALLY_SINGLE_PATTERN": 1,
"FUTURE_MULTI_PATTERN": 2,
}
)
func (x ResourceDescriptor_History) Enum() *ResourceDescriptor_History {
p := new(ResourceDescriptor_History)
*p = x
return p
}
func (x ResourceDescriptor_History) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ResourceDescriptor_History) Descriptor() protoreflect.EnumDescriptor {
return file_google_api_resource_proto_enumTypes[0].Descriptor()
}
func (ResourceDescriptor_History) Type() protoreflect.EnumType {
return &file_google_api_resource_proto_enumTypes[0]
}
func (x ResourceDescriptor_History) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ResourceDescriptor_History.Descriptor instead.
func (ResourceDescriptor_History) EnumDescriptor() ([]byte, []int) {
return file_google_api_resource_proto_rawDescGZIP(), []int{0, 0}
}
// A flag representing a specific style that a resource claims to conform to.
type ResourceDescriptor_Style int32
const (
// The unspecified value. Do not use.
ResourceDescriptor_STYLE_UNSPECIFIED ResourceDescriptor_Style = 0
// This resource is intended to be "declarative-friendly".
//
// Declarative-friendly resources must be more strictly consistent, and
// setting this to true communicates to tools that this resource should
// adhere to declarative-friendly expectations.
//
// Note: This is used by the API linter (linter.aip.dev) to enable
// additional checks.
ResourceDescriptor_DECLARATIVE_FRIENDLY ResourceDescriptor_Style = 1
)
// Enum value maps for ResourceDescriptor_Style.
var (
ResourceDescriptor_Style_name = map[int32]string{
0: "STYLE_UNSPECIFIED",
1: "DECLARATIVE_FRIENDLY",
}
ResourceDescriptor_Style_value = map[string]int32{
"STYLE_UNSPECIFIED": 0,
"DECLARATIVE_FRIENDLY": 1,
}
)
func (x ResourceDescriptor_Style) Enum() *ResourceDescriptor_Style {
p := new(ResourceDescriptor_Style)
*p = x
return p
}
func (x ResourceDescriptor_Style) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ResourceDescriptor_Style) Descriptor() protoreflect.EnumDescriptor {
return file_google_api_resource_proto_enumTypes[1].Descriptor()
}
func (ResourceDescriptor_Style) Type() protoreflect.EnumType {
return &file_google_api_resource_proto_enumTypes[1]
}
func (x ResourceDescriptor_Style) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ResourceDescriptor_Style.Descriptor instead.
func (ResourceDescriptor_Style) EnumDescriptor() ([]byte, []int) {
return file_google_api_resource_proto_rawDescGZIP(), []int{0, 1}
}
// A simple descriptor of a resource type.
//
// ResourceDescriptor annotates a resource message (either by means of a
// protobuf annotation or use in the service config), and associates the
// resource's schema, the resource type, and the pattern of the resource name.
//
// Example:
//
// message Topic {
// // Indicates this message defines a resource schema.
// // Declares the resource type in the format of {service}/{kind}.
// // For Kubernetes resources, the format is {api group}/{kind}.
// option (google.api.resource) = {
// type: "pubsub.googleapis.com/Topic"
// pattern: "projects/{project}/topics/{topic}"
// };
// }
//
// The ResourceDescriptor Yaml config will look like:
//
// resources:
// - type: "pubsub.googleapis.com/Topic"
// pattern: "projects/{project}/topics/{topic}"
//
// Sometimes, resources have multiple patterns, typically because they can
// live under multiple parents.
//
// Example:
//
// message LogEntry {
// option (google.api.resource) = {
// type: "logging.googleapis.com/LogEntry"
// pattern: "projects/{project}/logs/{log}"
// pattern: "folders/{folder}/logs/{log}"
// pattern: "organizations/{organization}/logs/{log}"
// pattern: "billingAccounts/{billing_account}/logs/{log}"
// };
// }
//
// The ResourceDescriptor Yaml config will look like:
//
// resources:
// - type: 'logging.googleapis.com/LogEntry'
// pattern: "projects/{project}/logs/{log}"
// pattern: "folders/{folder}/logs/{log}"
// pattern: "organizations/{organization}/logs/{log}"
// pattern: "billingAccounts/{billing_account}/logs/{log}"
type ResourceDescriptor struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The resource type. It must be in the format of
// {service_name}/{resource_type_kind}. The `resource_type_kind` must be
// singular and must not include version numbers.
//
// Example: `storage.googleapis.com/Bucket`
//
// The value of the resource_type_kind must follow the regular expression
// /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
// should use PascalCase (UpperCamelCase). The maximum number of
// characters allowed for the `resource_type_kind` is 100.
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
// Optional. The relative resource name pattern associated with this resource
// type. The DNS prefix of the full resource name shouldn't be specified here.
//
// The path pattern must follow the syntax, which aligns with HTTP binding
// syntax:
//
// Template = Segment { "/" Segment } ;
// Segment = LITERAL | Variable ;
// Variable = "{" LITERAL "}" ;
//
// Examples:
//
// - "projects/{project}/topics/{topic}"
// - "projects/{project}/knowledgeBases/{knowledge_base}"
//
// The components in braces correspond to the IDs for each resource in the
// hierarchy. It is expected that, if multiple patterns are provided,
// the same component name (e.g. "project") refers to IDs of the same
// type of resource.
Pattern []string `protobuf:"bytes,2,rep,name=pattern,proto3" json:"pattern,omitempty"`
// Optional. The field on the resource that designates the resource name
// field. If omitted, this is assumed to be "name".
NameField string `protobuf:"bytes,3,opt,name=name_field,json=nameField,proto3" json:"name_field,omitempty"`
// Optional. The historical or future-looking state of the resource pattern.
//
// Example:
//
// // The InspectTemplate message originally only supported resource
// // names with organization, and project was added later.
// message InspectTemplate {
// option (google.api.resource) = {
// type: "dlp.googleapis.com/InspectTemplate"
// pattern:
// "organizations/{organization}/inspectTemplates/{inspect_template}"
// pattern: "projects/{project}/inspectTemplates/{inspect_template}"
// history: ORIGINALLY_SINGLE_PATTERN
// };
// }
History ResourceDescriptor_History `protobuf:"varint,4,opt,name=history,proto3,enum=google.api.ResourceDescriptor_History" json:"history,omitempty"`
// The plural name used in the resource name and permission names, such as
// 'projects' for the resource name of 'projects/{project}' and the permission
// name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception
// to this is for Nested Collections that have stuttering names, as defined
// in [AIP-122](https://google.aip.dev/122#nested-collections), where the
// collection ID in the resource name pattern does not necessarily directly
// match the `plural` value.
//
// It is the same concept of the `plural` field in k8s CRD spec
// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
//
// Note: The plural form is required even for singleton resources. See
// https://aip.dev/156
Plural string `protobuf:"bytes,5,opt,name=plural,proto3" json:"plural,omitempty"`
// The same concept of the `singular` field in k8s CRD spec
// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
// Such as "project" for the `resourcemanager.googleapis.com/Project` type.
Singular string `protobuf:"bytes,6,opt,name=singular,proto3" json:"singular,omitempty"`
// Style flag(s) for this resource.
// These indicate that a resource is expected to conform to a given
// style. See the specific style flags for additional information.
Style []ResourceDescriptor_Style `protobuf:"varint,10,rep,packed,name=style,proto3,enum=google.api.ResourceDescriptor_Style" json:"style,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ResourceDescriptor) Reset() {
*x = ResourceDescriptor{}
mi := &file_google_api_resource_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ResourceDescriptor) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResourceDescriptor) ProtoMessage() {}
func (x *ResourceDescriptor) ProtoReflect() protoreflect.Message {
mi := &file_google_api_resource_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ResourceDescriptor.ProtoReflect.Descriptor instead.
func (*ResourceDescriptor) Descriptor() ([]byte, []int) {
return file_google_api_resource_proto_rawDescGZIP(), []int{0}
}
func (x *ResourceDescriptor) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *ResourceDescriptor) GetPattern() []string {
if x != nil {
return x.Pattern
}
return nil
}
func (x *ResourceDescriptor) GetNameField() string {
if x != nil {
return x.NameField
}
return ""
}
func (x *ResourceDescriptor) GetHistory() ResourceDescriptor_History {
if x != nil {
return x.History
}
return ResourceDescriptor_HISTORY_UNSPECIFIED
}
func (x *ResourceDescriptor) GetPlural() string {
if x != nil {
return x.Plural
}
return ""
}
func (x *ResourceDescriptor) GetSingular() string {
if x != nil {
return x.Singular
}
return ""
}
func (x *ResourceDescriptor) GetStyle() []ResourceDescriptor_Style {
if x != nil {
return x.Style
}
return nil
}
// Defines a proto annotation that describes a string field that refers to
// an API resource.
type ResourceReference struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The resource type that the annotated field references.
//
// Example:
//
// message Subscription {
// string topic = 2 [(google.api.resource_reference) = {
// type: "pubsub.googleapis.com/Topic"
// }];
// }
//
// Occasionally, a field may reference an arbitrary resource. In this case,
// APIs use the special value * in their resource reference.
//
// Example:
//
// message GetIamPolicyRequest {
// string resource = 2 [(google.api.resource_reference) = {
// type: "*"
// }];
// }
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
// The resource type of a child collection that the annotated field
// references. This is useful for annotating the `parent` field that
// doesn't have a fixed resource type.
//
// Example:
//
// message ListLogEntriesRequest {
// string parent = 1 [(google.api.resource_reference) = {
// child_type: "logging.googleapis.com/LogEntry"
// };
// }
ChildType string `protobuf:"bytes,2,opt,name=child_type,json=childType,proto3" json:"child_type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ResourceReference) Reset() {
*x = ResourceReference{}
mi := &file_google_api_resource_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ResourceReference) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResourceReference) ProtoMessage() {}
func (x *ResourceReference) ProtoReflect() protoreflect.Message {
mi := &file_google_api_resource_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ResourceReference.ProtoReflect.Descriptor instead.
func (*ResourceReference) Descriptor() ([]byte, []int) {
return file_google_api_resource_proto_rawDescGZIP(), []int{1}
}
func (x *ResourceReference) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *ResourceReference) GetChildType() string {
if x != nil {
return x.ChildType
}
return ""
}
var file_google_api_resource_proto_extTypes = []protoimpl.ExtensionInfo{
{
ExtendedType: (*descriptorpb.FieldOptions)(nil),
ExtensionType: (*ResourceReference)(nil),
Field: 1055,
Name: "google.api.resource_reference",
Tag: "bytes,1055,opt,name=resource_reference",
Filename: "google/api/resource.proto",
},
{
ExtendedType: (*descriptorpb.FileOptions)(nil),
ExtensionType: ([]*ResourceDescriptor)(nil),
Field: 1053,
Name: "google.api.resource_definition",
Tag: "bytes,1053,rep,name=resource_definition",
Filename: "google/api/resource.proto",
},
{
ExtendedType: (*descriptorpb.MessageOptions)(nil),
ExtensionType: (*ResourceDescriptor)(nil),
Field: 1053,
Name: "google.api.resource",
Tag: "bytes,1053,opt,name=resource",
Filename: "google/api/resource.proto",
},
}
// Extension fields to descriptorpb.FieldOptions.
var (
// An annotation that describes a resource reference, see
// [ResourceReference][].
//
// optional google.api.ResourceReference resource_reference = 1055;
E_ResourceReference = &file_google_api_resource_proto_extTypes[0]
)
// Extension fields to descriptorpb.FileOptions.
var (
// An annotation that describes a resource definition without a corresponding
// message; see [ResourceDescriptor][].
//
// repeated google.api.ResourceDescriptor resource_definition = 1053;
E_ResourceDefinition = &file_google_api_resource_proto_extTypes[1]
)
// Extension fields to descriptorpb.MessageOptions.
var (
// An annotation that describes a resource definition, see
// [ResourceDescriptor][].
//
// optional google.api.ResourceDescriptor resource = 1053;
E_Resource = &file_google_api_resource_proto_extTypes[2]
)
var File_google_api_resource_proto protoreflect.FileDescriptor
const file_google_api_resource_proto_rawDesc = "" +
"\n" +
"\x19google/api/resource.proto\x12\n" +
"google.api\x1a google/protobuf/descriptor.proto\"\xaa\x03\n" +
"\x12ResourceDescriptor\x12\x12\n" +
"\x04type\x18\x01 \x01(\tR\x04type\x12\x18\n" +
"\apattern\x18\x02 \x03(\tR\apattern\x12\x1d\n" +
"\n" +
"name_field\x18\x03 \x01(\tR\tnameField\x12@\n" +
"\ahistory\x18\x04 \x01(\x0e2&.google.api.ResourceDescriptor.HistoryR\ahistory\x12\x16\n" +
"\x06plural\x18\x05 \x01(\tR\x06plural\x12\x1a\n" +
"\bsingular\x18\x06 \x01(\tR\bsingular\x12:\n" +
"\x05style\x18\n" +
" \x03(\x0e2$.google.api.ResourceDescriptor.StyleR\x05style\"[\n" +
"\aHistory\x12\x17\n" +
"\x13HISTORY_UNSPECIFIED\x10\x00\x12\x1d\n" +
"\x19ORIGINALLY_SINGLE_PATTERN\x10\x01\x12\x18\n" +
"\x14FUTURE_MULTI_PATTERN\x10\x02\"8\n" +
"\x05Style\x12\x15\n" +
"\x11STYLE_UNSPECIFIED\x10\x00\x12\x18\n" +
"\x14DECLARATIVE_FRIENDLY\x10\x01\"F\n" +
"\x11ResourceReference\x12\x12\n" +
"\x04type\x18\x01 \x01(\tR\x04type\x12\x1d\n" +
"\n" +
"child_type\x18\x02 \x01(\tR\tchildType:l\n" +
"\x12resource_reference\x12\x1d.google.protobuf.FieldOptions\x18\x9f\b \x01(\v2\x1d.google.api.ResourceReferenceR\x11resourceReference:n\n" +
"\x13resource_definition\x12\x1c.google.protobuf.FileOptions\x18\x9d\b \x03(\v2\x1e.google.api.ResourceDescriptorR\x12resourceDefinition:\\\n" +
"\bresource\x12\x1f.google.protobuf.MessageOptions\x18\x9d\b \x01(\v2\x1e.google.api.ResourceDescriptorR\bresourceB\xab\x01\n" +
"\x0ecom.google.apiB\rResourceProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\n" +
"Google.Api\xca\x02\n" +
"Google\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\vGoogle::Apib\x06proto3"
var (
file_google_api_resource_proto_rawDescOnce sync.Once
file_google_api_resource_proto_rawDescData []byte
)
func file_google_api_resource_proto_rawDescGZIP() []byte {
file_google_api_resource_proto_rawDescOnce.Do(func() {
file_google_api_resource_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_api_resource_proto_rawDesc), len(file_google_api_resource_proto_rawDesc)))
})
return file_google_api_resource_proto_rawDescData
}
var file_google_api_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_api_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_google_api_resource_proto_goTypes = []any{
(ResourceDescriptor_History)(0), // 0: google.api.ResourceDescriptor.History
(ResourceDescriptor_Style)(0), // 1: google.api.ResourceDescriptor.Style
(*ResourceDescriptor)(nil), // 2: google.api.ResourceDescriptor
(*ResourceReference)(nil), // 3: google.api.ResourceReference
(*descriptorpb.FieldOptions)(nil), // 4: google.protobuf.FieldOptions
(*descriptorpb.FileOptions)(nil), // 5: google.protobuf.FileOptions
(*descriptorpb.MessageOptions)(nil), // 6: google.protobuf.MessageOptions
}
var file_google_api_resource_proto_depIdxs = []int32{
0, // 0: google.api.ResourceDescriptor.history:type_name -> google.api.ResourceDescriptor.History
1, // 1: google.api.ResourceDescriptor.style:type_name -> google.api.ResourceDescriptor.Style
4, // 2: google.api.resource_reference:extendee -> google.protobuf.FieldOptions
5, // 3: google.api.resource_definition:extendee -> google.protobuf.FileOptions
6, // 4: google.api.resource:extendee -> google.protobuf.MessageOptions
3, // 5: google.api.resource_reference:type_name -> google.api.ResourceReference
2, // 6: google.api.resource_definition:type_name -> google.api.ResourceDescriptor
2, // 7: google.api.resource:type_name -> google.api.ResourceDescriptor
8, // [8:8] is the sub-list for method output_type
8, // [8:8] is the sub-list for method input_type
5, // [5:8] is the sub-list for extension type_name
2, // [2:5] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_google_api_resource_proto_init() }
func file_google_api_resource_proto_init() {
if File_google_api_resource_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_api_resource_proto_rawDesc), len(file_google_api_resource_proto_rawDesc)),
NumEnums: 2,
NumMessages: 2,
NumExtensions: 3,
NumServices: 0,
},
GoTypes: file_google_api_resource_proto_goTypes,
DependencyIndexes: file_google_api_resource_proto_depIdxs,
EnumInfos: file_google_api_resource_proto_enumTypes,
MessageInfos: file_google_api_resource_proto_msgTypes,
ExtensionInfos: file_google_api_resource_proto_extTypes,
}.Build()
File_google_api_resource_proto = out.File
file_google_api_resource_proto_goTypes = nil
file_google_api_resource_proto_depIdxs = nil
}
This source diff could not be displayed because it is too large. You can view the blob instead.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: store/activity.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: store/attachment.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: store/idp.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: store/inbox.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: store/instance_setting.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: store/memo.proto
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: store/user_setting.proto
......
......@@ -84,13 +84,3 @@ func TestUnknownMethodsRequireAuth(t *testing.T) {
})
}
}
// TestPublicMethodsMapConsistency verifies that PublicMethods map matches test expectations.
func TestPublicMethodsMapConsistency(t *testing.T) {
// Ensure the PublicMethods map has the expected number of entries
expectedCount := 13
actualCount := len(PublicMethods)
assert.Equal(t, expectedCount, actualCount,
"PublicMethods map has %d entries, expected %d. Update this test if public methods changed intentionally.",
actualCount, expectedCount)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment