google-cloud-parameter_manager-v1 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 (33) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +154 -0
  6. data/lib/google/cloud/parameter_manager/v1/bindings_override.rb +102 -0
  7. data/lib/google/cloud/parameter_manager/v1/parameter_manager/client.rb +1578 -0
  8. data/lib/google/cloud/parameter_manager/v1/parameter_manager/credentials.rb +47 -0
  9. data/lib/google/cloud/parameter_manager/v1/parameter_manager/paths.rb +90 -0
  10. data/lib/google/cloud/parameter_manager/v1/parameter_manager/rest/client.rb +1483 -0
  11. data/lib/google/cloud/parameter_manager/v1/parameter_manager/rest/service_stub.rb +756 -0
  12. data/lib/google/cloud/parameter_manager/v1/parameter_manager/rest.rb +53 -0
  13. data/lib/google/cloud/parameter_manager/v1/parameter_manager.rb +55 -0
  14. data/lib/google/cloud/parameter_manager/v1/rest.rb +38 -0
  15. data/lib/google/cloud/parameter_manager/v1/version.rb +28 -0
  16. data/lib/google/cloud/parameter_manager/v1.rb +45 -0
  17. data/lib/google/cloud/parametermanager/v1/service_pb.rb +73 -0
  18. data/lib/google/cloud/parametermanager/v1/service_services_pb.rb +65 -0
  19. data/lib/google-cloud-parameter_manager-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/field_info.rb +88 -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/parametermanager/v1/service.rb +436 -0
  27. data/proto_docs/google/iam/v1/resource_policy_member.rb +49 -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. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  32. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  33. metadata +147 -0
@@ -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
@@ -0,0 +1,85 @@
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
+ # An indicator of the behavior of a given field (for example, that a field
23
+ # is required in requests, or given as output but ignored as input).
24
+ # This **does not** change the behavior in protocol buffers itself; it only
25
+ # denotes the behavior and may affect how API tooling handles the field.
26
+ #
27
+ # Note: This enum **may** receive new values in the future.
28
+ module FieldBehavior
29
+ # Conventional default for enums. Do not use this.
30
+ FIELD_BEHAVIOR_UNSPECIFIED = 0
31
+
32
+ # Specifically denotes a field as optional.
33
+ # While all fields in protocol buffers are optional, this may be specified
34
+ # for emphasis if appropriate.
35
+ OPTIONAL = 1
36
+
37
+ # Denotes a field as required.
38
+ # This indicates that the field **must** be provided as part of the request,
39
+ # and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
40
+ REQUIRED = 2
41
+
42
+ # Denotes a field as output only.
43
+ # This indicates that the field is provided in responses, but including the
44
+ # field in a request does nothing (the server *must* ignore it and
45
+ # *must not* throw an error as a result of the field's presence).
46
+ OUTPUT_ONLY = 3
47
+
48
+ # Denotes a field as input only.
49
+ # This indicates that the field is provided in requests, and the
50
+ # corresponding field is not included in output.
51
+ INPUT_ONLY = 4
52
+
53
+ # Denotes a field as immutable.
54
+ # This indicates that the field may be set once in a request to create a
55
+ # resource, but may not be changed thereafter.
56
+ IMMUTABLE = 5
57
+
58
+ # Denotes that a (repeated) field is an unordered list.
59
+ # This indicates that the service may provide the elements of the list
60
+ # in any arbitrary order, rather than the order the user originally
61
+ # provided. Additionally, the list's order may or may not be stable.
62
+ UNORDERED_LIST = 6
63
+
64
+ # Denotes that this field returns a non-empty default value if not set.
65
+ # This indicates that if the user provides the empty value in a request,
66
+ # a non-empty value will be returned. The user will not be aware of what
67
+ # non-empty value to expect.
68
+ NON_EMPTY_DEFAULT = 7
69
+
70
+ # Denotes that the field in a resource (a message annotated with
71
+ # google.api.resource) is used in the resource name to uniquely identify the
72
+ # resource. For AIP-compliant APIs, this should only be applied to the
73
+ # `name` field on the resource.
74
+ #
75
+ # This behavior should not be applied to references to other resources within
76
+ # the message.
77
+ #
78
+ # The identifier field of resources often have different field behavior
79
+ # depending on the request it is embedded in (e.g. for Create methods name
80
+ # is optional and unused, while for Update methods it is required). Instead
81
+ # of method-specific annotations, only `IDENTIFIER` is required.
82
+ IDENTIFIER = 8
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,88 @@
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
+ # Rich semantic information of an API field beyond basic typing.
23
+ # @!attribute [rw] format
24
+ # @return [::Google::Api::FieldInfo::Format]
25
+ # The standard format of a field value. This does not explicitly configure
26
+ # any API consumer, just documents the API's format for the field it is
27
+ # applied to.
28
+ # @!attribute [rw] referenced_types
29
+ # @return [::Array<::Google::Api::TypeReference>]
30
+ # The type(s) that the annotated, generic field may represent.
31
+ #
32
+ # Currently, this must only be used on fields of type `google.protobuf.Any`.
33
+ # Supporting other generic types may be considered in the future.
34
+ class FieldInfo
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+
38
+ # The standard format of a field value. The supported formats are all backed
39
+ # by either an RFC defined by the IETF or a Google-defined AIP.
40
+ module Format
41
+ # Default, unspecified value.
42
+ FORMAT_UNSPECIFIED = 0
43
+
44
+ # Universally Unique Identifier, version 4, value as defined by
45
+ # https://datatracker.ietf.org/doc/html/rfc4122. The value may be
46
+ # normalized to entirely lowercase letters. For example, the value
47
+ # `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to
48
+ # `f47ac10b-58cc-0372-8567-0e02b2c3d479`.
49
+ UUID4 = 1
50
+
51
+ # Internet Protocol v4 value as defined by [RFC
52
+ # 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be
53
+ # condensed, with leading zeros in each octet stripped. For example,
54
+ # `001.022.233.040` would be condensed to `1.22.233.40`.
55
+ IPV4 = 2
56
+
57
+ # Internet Protocol v6 value as defined by [RFC
58
+ # 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be
59
+ # normalized to entirely lowercase letters with zeros compressed, following
60
+ # [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952). For example,
61
+ # the value `2001:0DB8:0::0` would be normalized to `2001:db8::`.
62
+ IPV6 = 3
63
+
64
+ # An IP address in either v4 or v6 format as described by the individual
65
+ # values defined herein. See the comments on the IPV4 and IPV6 types for
66
+ # allowed normalizations of each.
67
+ IPV4_OR_IPV6 = 4
68
+ end
69
+ end
70
+
71
+ # A reference to a message type, for use in {::Google::Api::FieldInfo FieldInfo}.
72
+ # @!attribute [rw] type_name
73
+ # @return [::String]
74
+ # The name of the type that the annotated, generic field may represent.
75
+ # If the type is in the same protobuf package, the value can be the simple
76
+ # message name e.g., `"MyMessage"`. Otherwise, the value must be the
77
+ # fully-qualified message name e.g., `"google.library.v1.Book"`.
78
+ #
79
+ # If the type(s) are unknown to the service (e.g. the field accepts generic
80
+ # user input), use the wildcard `"*"` to denote this behavior.
81
+ #
82
+ # See [AIP-202](https://google.aip.dev/202#type-references) for more details.
83
+ class TypeReference
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+ end
88
+ end