google-cloud-managed_kafka-schema_registry-v1 0.a → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +153 -8
  5. data/lib/google/cloud/managed_kafka/schema_registry/v1/bindings_override.rb +77 -0
  6. data/lib/google/cloud/managed_kafka/schema_registry/v1/managed_schema_registry/client.rb +3110 -0
  7. data/lib/google/cloud/managed_kafka/schema_registry/v1/managed_schema_registry/credentials.rb +49 -0
  8. data/lib/google/cloud/managed_kafka/schema_registry/v1/managed_schema_registry/paths.rb +424 -0
  9. data/lib/google/cloud/managed_kafka/schema_registry/v1/managed_schema_registry/rest/client.rb +2903 -0
  10. data/lib/google/cloud/managed_kafka/schema_registry/v1/managed_schema_registry/rest/service_stub.rb +1888 -0
  11. data/lib/google/cloud/managed_kafka/schema_registry/v1/managed_schema_registry/rest.rb +103 -0
  12. data/lib/google/cloud/managed_kafka/schema_registry/v1/managed_schema_registry.rb +105 -0
  13. data/lib/google/cloud/managed_kafka/schema_registry/v1/rest.rb +40 -0
  14. data/lib/google/cloud/managed_kafka/schema_registry/v1/version.rb +7 -2
  15. data/lib/google/cloud/managed_kafka/schema_registry/v1.rb +47 -0
  16. data/lib/google/cloud/managedkafka/schemaregistry/v1/schema_registry_pb.rb +80 -0
  17. data/lib/google/cloud/managedkafka/schemaregistry/v1/schema_registry_resources_pb.rb +57 -0
  18. data/lib/google/cloud/managedkafka/schemaregistry/v1/schema_registry_services_pb.rb +160 -0
  19. data/lib/google-cloud-managed_kafka-schema_registry-v1.rb +21 -0
  20. data/proto_docs/README.md +4 -0
  21. data/proto_docs/google/api/client.rb +473 -0
  22. data/proto_docs/google/api/field_behavior.rb +85 -0
  23. data/proto_docs/google/api/httpbody.rb +80 -0
  24. data/proto_docs/google/api/launch_stage.rb +71 -0
  25. data/proto_docs/google/api/resource.rb +227 -0
  26. data/proto_docs/google/cloud/managedkafka/schemaregistry/v1/schema_registry.rb +488 -0
  27. data/proto_docs/google/cloud/managedkafka/schemaregistry/v1/schema_registry_resources.rb +236 -0
  28. data/proto_docs/google/protobuf/any.rb +145 -0
  29. data/proto_docs/google/protobuf/duration.rb +98 -0
  30. data/proto_docs/google/protobuf/empty.rb +34 -0
  31. metadata +77 -9
@@ -0,0 +1,160 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/managedkafka/schemaregistry/v1/schema_registry.proto for package 'Google.Cloud.ManagedKafka.SchemaRegistry.V1'
3
+ # Original file comments:
4
+ # Copyright 2025 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/managedkafka/schemaregistry/v1/schema_registry_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module ManagedKafka
25
+ module SchemaRegistry
26
+ module V1
27
+ module ManagedSchemaRegistry
28
+ # SchemaRegistry is a service that allows users to manage schemas for their
29
+ # Kafka clusters. It provides APIs to register, list, and delete schemas, as
30
+ # well as to get the schema for a given schema id or a given version id under a
31
+ # subject, to update the global or subject-specific compatibility mode, and to
32
+ # check the compatibility of a schema against a subject or a version. The main
33
+ # resource hierarchy is as follows:
34
+ #
35
+ # * SchemaRegistry
36
+ # * SchemaRegistry/Context
37
+ # * SchemaRegistry/Context/Schema
38
+ # * SchemaRegistry/Context/Subject
39
+ # * SchemaRegistry/Context/Subject/Version
40
+ # * SchemaRegistry/Config
41
+ # * SchemaRegistry/Mode
42
+ #
43
+ # **SchemaRegistry** is the root resource to represent a schema registry
44
+ # instance. A customer can have multiple schema registry instances in a
45
+ # project.
46
+ #
47
+ # **Context** is a context resource that represents a group of
48
+ # schemas, subjects and versions. A schema registry instance can have multiple
49
+ # contexts and always has a 'default' context. Contexts are independent of each
50
+ # other. Context is optional and if not specified, it falls back to the
51
+ # 'default' context.
52
+ #
53
+ # **Schema** is a schema resource that represents a unique schema in a context
54
+ # of a schema registry instance. Each schema has a unique schema id, and can be
55
+ # referenced by a version of a subject.
56
+ #
57
+ # **Subject** refers to the name under which the schema is registered. A
58
+ # typical subject is the Kafka topic name. A schema registry instance can have
59
+ # multiple subjects.
60
+ #
61
+ # **Version** represents a version of a subject. A subject can have multiple
62
+ # versions. Creation of new version of a subject is guarded by the
63
+ # compatibility mode configured globally or for the subject specifically.
64
+ #
65
+ # **Config** represents a config at global level cross all registry
66
+ # instances or at subject level. Currently, only compatibility is supported in
67
+ # config.
68
+ #
69
+ # **Mode** represents the mode of a schema registry or a specific subject.
70
+ # Three modes are supported:
71
+ # * READONLY: The schema registry is in read-only mode, no write operations
72
+ # allowed..
73
+ # * READWRITE: The schema registry is in read-write mode, which allows limited
74
+ # write operations on the schema.
75
+ # * IMPORT: The schema registry is in import mode, which allows more editing
76
+ # operations on the schema for data importing purposes.
77
+ class Service
78
+
79
+ include ::GRPC::GenericService
80
+
81
+ self.marshal_class_method = :encode
82
+ self.unmarshal_class_method = :decode
83
+ self.service_name = 'google.cloud.managedkafka.schemaregistry.v1.ManagedSchemaRegistry'
84
+
85
+ # Get the schema registry instance.
86
+ rpc :GetSchemaRegistry, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::GetSchemaRegistryRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaRegistry
87
+ # List schema registries.
88
+ rpc :ListSchemaRegistries, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::ListSchemaRegistriesRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::ListSchemaRegistriesResponse
89
+ # Create a schema registry instance.
90
+ rpc :CreateSchemaRegistry, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::CreateSchemaRegistryRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaRegistry
91
+ # Delete a schema registry instance.
92
+ rpc :DeleteSchemaRegistry, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::DeleteSchemaRegistryRequest, ::Google::Protobuf::Empty
93
+ # Get the context.
94
+ rpc :GetContext, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::GetContextRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::Context
95
+ # List contexts for a schema registry.
96
+ rpc :ListContexts, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::ListContextsRequest, ::Google::Api::HttpBody
97
+ # Get the schema for the given schema id.
98
+ rpc :GetSchema, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::GetSchemaRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::Schema
99
+ # Get the schema string for the given schema id.
100
+ # The response will be the schema string.
101
+ rpc :GetRawSchema, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::GetSchemaRequest, ::Google::Api::HttpBody
102
+ # List the schema versions for the given schema id.
103
+ # The response will be an array of subject-version pairs as:
104
+ # [{"subject":"subject1", "version":1}, {"subject":"subject2", "version":2}].
105
+ rpc :ListSchemaVersions, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::ListSchemaVersionsRequest, ::Google::Api::HttpBody
106
+ # List the supported schema types.
107
+ # The response will be an array of schema types.
108
+ rpc :ListSchemaTypes, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::ListSchemaTypesRequest, ::Google::Api::HttpBody
109
+ # List subjects in the schema registry.
110
+ # The response will be an array of subject names.
111
+ rpc :ListSubjects, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::ListSubjectsRequest, ::Google::Api::HttpBody
112
+ # List subjects which reference a particular schema id.
113
+ # The response will be an array of subject names.
114
+ rpc :ListSubjectsBySchemaId, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::ListSubjectsBySchemaIdRequest, ::Google::Api::HttpBody
115
+ # Delete a subject.
116
+ # The response will be an array of versions of the deleted subject.
117
+ rpc :DeleteSubject, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::DeleteSubjectRequest, ::Google::Api::HttpBody
118
+ # Lookup a schema under the specified subject.
119
+ rpc :LookupVersion, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::LookupVersionRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaVersion
120
+ # Get a versioned schema (schema with subject/version) of a subject.
121
+ rpc :GetVersion, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::GetVersionRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaVersion
122
+ # Get the schema string only for a version of a subject.
123
+ # The response will be the schema string.
124
+ rpc :GetRawSchemaVersion, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::GetVersionRequest, ::Google::Api::HttpBody
125
+ # Get all versions of a subject.
126
+ # The response will be an array of versions of the subject.
127
+ rpc :ListVersions, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::ListVersionsRequest, ::Google::Api::HttpBody
128
+ # Register a new version under a given subject with the given schema.
129
+ rpc :CreateVersion, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::CreateVersionRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::CreateVersionResponse
130
+ # Delete a version of a subject.
131
+ # The response will be the deleted version id.
132
+ rpc :DeleteVersion, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::DeleteVersionRequest, ::Google::Api::HttpBody
133
+ # Get a list of IDs of schemas that reference the schema with the given
134
+ # subject and version.
135
+ rpc :ListReferencedSchemas, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::ListReferencedSchemasRequest, ::Google::Api::HttpBody
136
+ # Check compatibility of a schema with all versions or a specific version of
137
+ # a subject.
138
+ rpc :CheckCompatibility, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::CheckCompatibilityRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::CheckCompatibilityResponse
139
+ # Get schema config at global level or for a subject.
140
+ rpc :GetSchemaConfig, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::GetSchemaConfigRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaConfig
141
+ # Update config at global level or for a subject.
142
+ # Creates a SchemaSubject-level SchemaConfig if it does not exist.
143
+ rpc :UpdateSchemaConfig, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::UpdateSchemaConfigRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaConfig
144
+ # Delete schema config for a subject.
145
+ rpc :DeleteSchemaConfig, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::DeleteSchemaConfigRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaConfig
146
+ # Get mode at global level or for a subject.
147
+ rpc :GetSchemaMode, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::GetSchemaModeRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaMode
148
+ # Update mode at global level or for a subject.
149
+ rpc :UpdateSchemaMode, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::UpdateSchemaModeRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaMode
150
+ # Delete schema mode for a subject.
151
+ rpc :DeleteSchemaMode, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::DeleteSchemaModeRequest, ::Google::Cloud::ManagedKafka::SchemaRegistry::V1::SchemaMode
152
+ end
153
+
154
+ Stub = Service.rpc_stub_class
155
+ end
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ # This gem does not autoload during Bundler.require. To load this gem,
20
+ # issue explicit require statements for the packages desired, e.g.:
21
+ # require "google/cloud/managed_kafka/schema_registry/v1"
@@ -0,0 +1,4 @@
1
+ # Managed Service for Apache Kafka V1 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.
@@ -0,0 +1,473 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @deprecated This field is deprecated and may be removed in the next major version update.
25
+ # @return [::String]
26
+ # Link to automatically generated reference documentation. Example:
27
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
28
+ # @!attribute [rw] destinations
29
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
+ # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
34
+ class CommonLanguageSettings
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+ end
38
+
39
+ # Details about how and where to publish client libraries.
40
+ # @!attribute [rw] version
41
+ # @return [::String]
42
+ # Version of the API to apply these settings to. This is the full protobuf
43
+ # package for the API, ending in the version element.
44
+ # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
45
+ # @!attribute [rw] launch_stage
46
+ # @return [::Google::Api::LaunchStage]
47
+ # Launch stage of this version of the API.
48
+ # @!attribute [rw] rest_numeric_enums
49
+ # @return [::Boolean]
50
+ # When using transport=rest, the client request will encode enums as
51
+ # numbers rather than strings.
52
+ # @!attribute [rw] java_settings
53
+ # @return [::Google::Api::JavaSettings]
54
+ # Settings for legacy Java features, supported in the Service YAML.
55
+ # @!attribute [rw] cpp_settings
56
+ # @return [::Google::Api::CppSettings]
57
+ # Settings for C++ client libraries.
58
+ # @!attribute [rw] php_settings
59
+ # @return [::Google::Api::PhpSettings]
60
+ # Settings for PHP client libraries.
61
+ # @!attribute [rw] python_settings
62
+ # @return [::Google::Api::PythonSettings]
63
+ # Settings for Python client libraries.
64
+ # @!attribute [rw] node_settings
65
+ # @return [::Google::Api::NodeSettings]
66
+ # Settings for Node client libraries.
67
+ # @!attribute [rw] dotnet_settings
68
+ # @return [::Google::Api::DotnetSettings]
69
+ # Settings for .NET client libraries.
70
+ # @!attribute [rw] ruby_settings
71
+ # @return [::Google::Api::RubySettings]
72
+ # Settings for Ruby client libraries.
73
+ # @!attribute [rw] go_settings
74
+ # @return [::Google::Api::GoSettings]
75
+ # Settings for Go client libraries.
76
+ class ClientLibrarySettings
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+ end
80
+
81
+ # This message configures the settings for publishing [Google Cloud Client
82
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
83
+ # generated from the service config.
84
+ # @!attribute [rw] method_settings
85
+ # @return [::Array<::Google::Api::MethodSettings>]
86
+ # A list of API method settings, e.g. the behavior for methods that use the
87
+ # long-running operation pattern.
88
+ # @!attribute [rw] new_issue_uri
89
+ # @return [::String]
90
+ # Link to a *public* URI where users can report issues. Example:
91
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
92
+ # @!attribute [rw] documentation_uri
93
+ # @return [::String]
94
+ # Link to product home page. Example:
95
+ # https://cloud.google.com/asset-inventory/docs/overview
96
+ # @!attribute [rw] api_short_name
97
+ # @return [::String]
98
+ # Used as a tracking tag when collecting data about the APIs developer
99
+ # relations artifacts like docs, packages delivered to package managers,
100
+ # etc. Example: "speech".
101
+ # @!attribute [rw] github_label
102
+ # @return [::String]
103
+ # GitHub label to apply to issues and pull requests opened for this API.
104
+ # @!attribute [rw] codeowner_github_teams
105
+ # @return [::Array<::String>]
106
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
107
+ # containing source code for the client libraries for this API.
108
+ # @!attribute [rw] doc_tag_prefix
109
+ # @return [::String]
110
+ # A prefix used in sample code when demarking regions to be included in
111
+ # documentation.
112
+ # @!attribute [rw] organization
113
+ # @return [::Google::Api::ClientLibraryOrganization]
114
+ # For whom the client library is being published.
115
+ # @!attribute [rw] library_settings
116
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
117
+ # Client library settings. If the same version string appears multiple
118
+ # times in this list, then the last one wins. Settings from earlier
119
+ # settings with the same version string are discarded.
120
+ # @!attribute [rw] proto_reference_documentation_uri
121
+ # @return [::String]
122
+ # Optional link to proto reference documentation. Example:
123
+ # https://cloud.google.com/pubsub/lite/docs/reference/rpc
124
+ # @!attribute [rw] rest_reference_documentation_uri
125
+ # @return [::String]
126
+ # Optional link to REST reference documentation. Example:
127
+ # https://cloud.google.com/pubsub/lite/docs/reference/rest
128
+ class Publishing
129
+ include ::Google::Protobuf::MessageExts
130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
131
+ end
132
+
133
+ # Settings for Java client libraries.
134
+ # @!attribute [rw] library_package
135
+ # @return [::String]
136
+ # The package name to use in Java. Clobbers the java_package option
137
+ # set in the protobuf. This should be used **only** by APIs
138
+ # who have already set the language_settings.java.package_name" field
139
+ # in gapic.yaml. API teams should use the protobuf java_package option
140
+ # where possible.
141
+ #
142
+ # Example of a YAML configuration::
143
+ #
144
+ # publishing:
145
+ # java_settings:
146
+ # library_package: com.google.cloud.pubsub.v1
147
+ # @!attribute [rw] service_class_names
148
+ # @return [::Google::Protobuf::Map{::String => ::String}]
149
+ # Configure the Java class name to use instead of the service's for its
150
+ # corresponding generated GAPIC client. Keys are fully-qualified
151
+ # service names as they appear in the protobuf (including the full
152
+ # the language_settings.java.interface_names" field in gapic.yaml. API
153
+ # teams should otherwise use the service name as it appears in the
154
+ # protobuf.
155
+ #
156
+ # Example of a YAML configuration::
157
+ #
158
+ # publishing:
159
+ # java_settings:
160
+ # service_class_names:
161
+ # - google.pubsub.v1.Publisher: TopicAdmin
162
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
163
+ # @!attribute [rw] common
164
+ # @return [::Google::Api::CommonLanguageSettings]
165
+ # Some settings.
166
+ class JavaSettings
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+
170
+ # @!attribute [rw] key
171
+ # @return [::String]
172
+ # @!attribute [rw] value
173
+ # @return [::String]
174
+ class ServiceClassNamesEntry
175
+ include ::Google::Protobuf::MessageExts
176
+ extend ::Google::Protobuf::MessageExts::ClassMethods
177
+ end
178
+ end
179
+
180
+ # Settings for C++ client libraries.
181
+ # @!attribute [rw] common
182
+ # @return [::Google::Api::CommonLanguageSettings]
183
+ # Some settings.
184
+ class CppSettings
185
+ include ::Google::Protobuf::MessageExts
186
+ extend ::Google::Protobuf::MessageExts::ClassMethods
187
+ end
188
+
189
+ # Settings for Php client libraries.
190
+ # @!attribute [rw] common
191
+ # @return [::Google::Api::CommonLanguageSettings]
192
+ # Some settings.
193
+ class PhpSettings
194
+ include ::Google::Protobuf::MessageExts
195
+ extend ::Google::Protobuf::MessageExts::ClassMethods
196
+ end
197
+
198
+ # Settings for Python client libraries.
199
+ # @!attribute [rw] common
200
+ # @return [::Google::Api::CommonLanguageSettings]
201
+ # Some settings.
202
+ # @!attribute [rw] experimental_features
203
+ # @return [::Google::Api::PythonSettings::ExperimentalFeatures]
204
+ # Experimental features to be included during client library generation.
205
+ class PythonSettings
206
+ include ::Google::Protobuf::MessageExts
207
+ extend ::Google::Protobuf::MessageExts::ClassMethods
208
+
209
+ # Experimental features to be included during client library generation.
210
+ # These fields will be deprecated once the feature graduates and is enabled
211
+ # by default.
212
+ # @!attribute [rw] rest_async_io_enabled
213
+ # @return [::Boolean]
214
+ # Enables generation of asynchronous REST clients if `rest` transport is
215
+ # enabled. By default, asynchronous REST clients will not be generated.
216
+ # This feature will be enabled by default 1 month after launching the
217
+ # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
224
+ # @!attribute [rw] unversioned_package_disabled
225
+ # @return [::Boolean]
226
+ # Disables generation of an unversioned Python package for this client
227
+ # library. This means that the module names will need to be versioned in
228
+ # import statements. For example `import google.cloud.library_v2` instead
229
+ # of `import google.cloud.library`.
230
+ class ExperimentalFeatures
231
+ include ::Google::Protobuf::MessageExts
232
+ extend ::Google::Protobuf::MessageExts::ClassMethods
233
+ end
234
+ end
235
+
236
+ # Settings for Node client libraries.
237
+ # @!attribute [rw] common
238
+ # @return [::Google::Api::CommonLanguageSettings]
239
+ # Some settings.
240
+ class NodeSettings
241
+ include ::Google::Protobuf::MessageExts
242
+ extend ::Google::Protobuf::MessageExts::ClassMethods
243
+ end
244
+
245
+ # Settings for Dotnet client libraries.
246
+ # @!attribute [rw] common
247
+ # @return [::Google::Api::CommonLanguageSettings]
248
+ # Some settings.
249
+ # @!attribute [rw] renamed_services
250
+ # @return [::Google::Protobuf::Map{::String => ::String}]
251
+ # Map from original service names to renamed versions.
252
+ # This is used when the default generated types
253
+ # would cause a naming conflict. (Neither name is
254
+ # fully-qualified.)
255
+ # Example: Subscriber to SubscriberServiceApi.
256
+ # @!attribute [rw] renamed_resources
257
+ # @return [::Google::Protobuf::Map{::String => ::String}]
258
+ # Map from full resource types to the effective short name
259
+ # for the resource. This is used when otherwise resource
260
+ # named from different services would cause naming collisions.
261
+ # Example entry:
262
+ # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
263
+ # @!attribute [rw] ignored_resources
264
+ # @return [::Array<::String>]
265
+ # List of full resource types to ignore during generation.
266
+ # This is typically used for API-specific Location resources,
267
+ # which should be handled by the generator as if they were actually
268
+ # the common Location resources.
269
+ # Example entry: "documentai.googleapis.com/Location"
270
+ # @!attribute [rw] forced_namespace_aliases
271
+ # @return [::Array<::String>]
272
+ # Namespaces which must be aliased in snippets due to
273
+ # a known (but non-generator-predictable) naming collision
274
+ # @!attribute [rw] handwritten_signatures
275
+ # @return [::Array<::String>]
276
+ # Method signatures (in the form "service.method(signature)")
277
+ # which are provided separately, so shouldn't be generated.
278
+ # Snippets *calling* these methods are still generated, however.
279
+ class DotnetSettings
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+
283
+ # @!attribute [rw] key
284
+ # @return [::String]
285
+ # @!attribute [rw] value
286
+ # @return [::String]
287
+ class RenamedServicesEntry
288
+ include ::Google::Protobuf::MessageExts
289
+ extend ::Google::Protobuf::MessageExts::ClassMethods
290
+ end
291
+
292
+ # @!attribute [rw] key
293
+ # @return [::String]
294
+ # @!attribute [rw] value
295
+ # @return [::String]
296
+ class RenamedResourcesEntry
297
+ include ::Google::Protobuf::MessageExts
298
+ extend ::Google::Protobuf::MessageExts::ClassMethods
299
+ end
300
+ end
301
+
302
+ # Settings for Ruby client libraries.
303
+ # @!attribute [rw] common
304
+ # @return [::Google::Api::CommonLanguageSettings]
305
+ # Some settings.
306
+ class RubySettings
307
+ include ::Google::Protobuf::MessageExts
308
+ extend ::Google::Protobuf::MessageExts::ClassMethods
309
+ end
310
+
311
+ # Settings for Go client libraries.
312
+ # @!attribute [rw] common
313
+ # @return [::Google::Api::CommonLanguageSettings]
314
+ # Some settings.
315
+ # @!attribute [rw] renamed_services
316
+ # @return [::Google::Protobuf::Map{::String => ::String}]
317
+ # Map of service names to renamed services. Keys are the package relative
318
+ # service names and values are the name to be used for the service client
319
+ # and call options.
320
+ #
321
+ # publishing:
322
+ # go_settings:
323
+ # renamed_services:
324
+ # Publisher: TopicAdmin
325
+ class GoSettings
326
+ include ::Google::Protobuf::MessageExts
327
+ extend ::Google::Protobuf::MessageExts::ClassMethods
328
+
329
+ # @!attribute [rw] key
330
+ # @return [::String]
331
+ # @!attribute [rw] value
332
+ # @return [::String]
333
+ class RenamedServicesEntry
334
+ include ::Google::Protobuf::MessageExts
335
+ extend ::Google::Protobuf::MessageExts::ClassMethods
336
+ end
337
+ end
338
+
339
+ # Describes the generator configuration for a method.
340
+ # @!attribute [rw] selector
341
+ # @return [::String]
342
+ # The fully qualified name of the method, for which the options below apply.
343
+ # This is used to find the method to apply the options.
344
+ #
345
+ # Example:
346
+ #
347
+ # publishing:
348
+ # method_settings:
349
+ # - selector: google.storage.control.v2.StorageControl.CreateFolder
350
+ # # method settings for CreateFolder...
351
+ # @!attribute [rw] long_running
352
+ # @return [::Google::Api::MethodSettings::LongRunning]
353
+ # Describes settings to use for long-running operations when generating
354
+ # API methods for RPCs. Complements RPCs that use the annotations in
355
+ # google/longrunning/operations.proto.
356
+ #
357
+ # Example of a YAML configuration::
358
+ #
359
+ # publishing:
360
+ # method_settings:
361
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
362
+ # long_running:
363
+ # initial_poll_delay: 60s # 1 minute
364
+ # poll_delay_multiplier: 1.5
365
+ # max_poll_delay: 360s # 6 minutes
366
+ # total_poll_timeout: 54000s # 90 minutes
367
+ # @!attribute [rw] auto_populated_fields
368
+ # @return [::Array<::String>]
369
+ # List of top-level fields of the request message, that should be
370
+ # automatically populated by the client libraries based on their
371
+ # (google.api.field_info).format. Currently supported format: UUID4.
372
+ #
373
+ # Example of a YAML configuration:
374
+ #
375
+ # publishing:
376
+ # method_settings:
377
+ # - selector: google.example.v1.ExampleService.CreateExample
378
+ # auto_populated_fields:
379
+ # - request_id
380
+ class MethodSettings
381
+ include ::Google::Protobuf::MessageExts
382
+ extend ::Google::Protobuf::MessageExts::ClassMethods
383
+
384
+ # Describes settings to use when generating API methods that use the
385
+ # long-running operation pattern.
386
+ # All default values below are from those used in the client library
387
+ # generators (e.g.
388
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
389
+ # @!attribute [rw] initial_poll_delay
390
+ # @return [::Google::Protobuf::Duration]
391
+ # Initial delay after which the first poll request will be made.
392
+ # Default value: 5 seconds.
393
+ # @!attribute [rw] poll_delay_multiplier
394
+ # @return [::Float]
395
+ # Multiplier to gradually increase delay between subsequent polls until it
396
+ # reaches max_poll_delay.
397
+ # Default value: 1.5.
398
+ # @!attribute [rw] max_poll_delay
399
+ # @return [::Google::Protobuf::Duration]
400
+ # Maximum time between two subsequent poll requests.
401
+ # Default value: 45 seconds.
402
+ # @!attribute [rw] total_poll_timeout
403
+ # @return [::Google::Protobuf::Duration]
404
+ # Total polling timeout.
405
+ # Default value: 5 minutes.
406
+ class LongRunning
407
+ include ::Google::Protobuf::MessageExts
408
+ extend ::Google::Protobuf::MessageExts::ClassMethods
409
+ end
410
+ end
411
+
412
+ # This message is used to configure the generation of a subset of the RPCs in
413
+ # a service for client libraries.
414
+ # @!attribute [rw] methods
415
+ # @return [::Array<::String>]
416
+ # An allowlist of the fully qualified names of RPCs that should be included
417
+ # on public client surfaces.
418
+ # @!attribute [rw] generate_omitted_as_internal
419
+ # @return [::Boolean]
420
+ # Setting this to true indicates to the client generators that methods
421
+ # that would be excluded from the generation should instead be generated
422
+ # in a way that indicates these methods should not be consumed by
423
+ # end users. How this is expressed is up to individual language
424
+ # implementations to decide. Some examples may be: added annotations,
425
+ # obfuscated identifiers, or other language idiomatic patterns.
426
+ class SelectiveGapicGeneration
427
+ include ::Google::Protobuf::MessageExts
428
+ extend ::Google::Protobuf::MessageExts::ClassMethods
429
+ end
430
+
431
+ # The organization for which the client libraries are being published.
432
+ # Affects the url where generated docs are published, etc.
433
+ module ClientLibraryOrganization
434
+ # Not useful.
435
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
436
+
437
+ # Google Cloud Platform Org.
438
+ CLOUD = 1
439
+
440
+ # Ads (Advertising) Org.
441
+ ADS = 2
442
+
443
+ # Photos Org.
444
+ PHOTOS = 3
445
+
446
+ # Street View Org.
447
+ STREET_VIEW = 4
448
+
449
+ # Shopping Org.
450
+ SHOPPING = 5
451
+
452
+ # Geo Org.
453
+ GEO = 6
454
+
455
+ # Generative AI - https://developers.generativeai.google
456
+ GENERATIVE_AI = 7
457
+ end
458
+
459
+ # To where should client libraries be published?
460
+ module ClientLibraryDestination
461
+ # Client libraries will neither be generated nor published to package
462
+ # managers.
463
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
464
+
465
+ # Generate the client library in a repo under github.com/googleapis,
466
+ # but don't publish it to package managers.
467
+ GITHUB = 10
468
+
469
+ # Publish the library to package managers like nuget.org and npmjs.com.
470
+ PACKAGE_MANAGER = 20
471
+ end
472
+ end
473
+ end