google-cloud-memorystore-v1beta 0.a → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/cloud/memorystore/v1beta/bindings_override.rb +102 -0
  6. data/lib/google/cloud/memorystore/v1beta/memorystore/credentials.rb +47 -0
  7. data/lib/google/cloud/memorystore/v1beta/memorystore/paths.rb +124 -0
  8. data/lib/google/cloud/memorystore/v1beta/memorystore/rest/client.rb +1006 -0
  9. data/lib/google/cloud/memorystore/v1beta/memorystore/rest/operations.rb +906 -0
  10. data/lib/google/cloud/memorystore/v1beta/memorystore/rest/service_stub.rb +449 -0
  11. data/lib/google/cloud/memorystore/v1beta/memorystore/rest.rb +54 -0
  12. data/lib/google/cloud/memorystore/v1beta/memorystore.rb +48 -0
  13. data/lib/google/cloud/memorystore/v1beta/memorystore_pb.rb +88 -0
  14. data/lib/google/cloud/memorystore/v1beta/memorystore_services_pb.rb +55 -0
  15. data/lib/google/cloud/memorystore/v1beta/rest.rb +38 -0
  16. data/lib/google/cloud/memorystore/v1beta/version.rb +7 -2
  17. data/lib/google/cloud/memorystore/v1beta.rb +40 -0
  18. data/lib/google-cloud-memorystore-v1beta.rb +21 -0
  19. data/proto_docs/README.md +4 -0
  20. data/proto_docs/google/api/client.rb +459 -0
  21. data/proto_docs/google/api/field_behavior.rb +85 -0
  22. data/proto_docs/google/api/field_info.rb +88 -0
  23. data/proto_docs/google/api/launch_stage.rb +71 -0
  24. data/proto_docs/google/api/resource.rb +227 -0
  25. data/proto_docs/google/cloud/memorystore/v1beta/memorystore.rb +714 -0
  26. data/proto_docs/google/longrunning/operations.rb +169 -0
  27. data/proto_docs/google/protobuf/any.rb +145 -0
  28. data/proto_docs/google/protobuf/duration.rb +98 -0
  29. data/proto_docs/google/protobuf/empty.rb +34 -0
  30. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  31. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  32. data/proto_docs/google/rpc/status.rb +48 -0
  33. metadata +92 -10
@@ -0,0 +1,459 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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
+ class ExperimentalFeatures
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+ end
229
+
230
+ # Settings for Node client libraries.
231
+ # @!attribute [rw] common
232
+ # @return [::Google::Api::CommonLanguageSettings]
233
+ # Some settings.
234
+ class NodeSettings
235
+ include ::Google::Protobuf::MessageExts
236
+ extend ::Google::Protobuf::MessageExts::ClassMethods
237
+ end
238
+
239
+ # Settings for Dotnet client libraries.
240
+ # @!attribute [rw] common
241
+ # @return [::Google::Api::CommonLanguageSettings]
242
+ # Some settings.
243
+ # @!attribute [rw] renamed_services
244
+ # @return [::Google::Protobuf::Map{::String => ::String}]
245
+ # Map from original service names to renamed versions.
246
+ # This is used when the default generated types
247
+ # would cause a naming conflict. (Neither name is
248
+ # fully-qualified.)
249
+ # Example: Subscriber to SubscriberServiceApi.
250
+ # @!attribute [rw] renamed_resources
251
+ # @return [::Google::Protobuf::Map{::String => ::String}]
252
+ # Map from full resource types to the effective short name
253
+ # for the resource. This is used when otherwise resource
254
+ # named from different services would cause naming collisions.
255
+ # Example entry:
256
+ # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
257
+ # @!attribute [rw] ignored_resources
258
+ # @return [::Array<::String>]
259
+ # List of full resource types to ignore during generation.
260
+ # This is typically used for API-specific Location resources,
261
+ # which should be handled by the generator as if they were actually
262
+ # the common Location resources.
263
+ # Example entry: "documentai.googleapis.com/Location"
264
+ # @!attribute [rw] forced_namespace_aliases
265
+ # @return [::Array<::String>]
266
+ # Namespaces which must be aliased in snippets due to
267
+ # a known (but non-generator-predictable) naming collision
268
+ # @!attribute [rw] handwritten_signatures
269
+ # @return [::Array<::String>]
270
+ # Method signatures (in the form "service.method(signature)")
271
+ # which are provided separately, so shouldn't be generated.
272
+ # Snippets *calling* these methods are still generated, however.
273
+ class DotnetSettings
274
+ include ::Google::Protobuf::MessageExts
275
+ extend ::Google::Protobuf::MessageExts::ClassMethods
276
+
277
+ # @!attribute [rw] key
278
+ # @return [::String]
279
+ # @!attribute [rw] value
280
+ # @return [::String]
281
+ class RenamedServicesEntry
282
+ include ::Google::Protobuf::MessageExts
283
+ extend ::Google::Protobuf::MessageExts::ClassMethods
284
+ end
285
+
286
+ # @!attribute [rw] key
287
+ # @return [::String]
288
+ # @!attribute [rw] value
289
+ # @return [::String]
290
+ class RenamedResourcesEntry
291
+ include ::Google::Protobuf::MessageExts
292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
293
+ end
294
+ end
295
+
296
+ # Settings for Ruby client libraries.
297
+ # @!attribute [rw] common
298
+ # @return [::Google::Api::CommonLanguageSettings]
299
+ # Some settings.
300
+ class RubySettings
301
+ include ::Google::Protobuf::MessageExts
302
+ extend ::Google::Protobuf::MessageExts::ClassMethods
303
+ end
304
+
305
+ # Settings for Go client libraries.
306
+ # @!attribute [rw] common
307
+ # @return [::Google::Api::CommonLanguageSettings]
308
+ # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
319
+ class GoSettings
320
+ include ::Google::Protobuf::MessageExts
321
+ extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
331
+ end
332
+
333
+ # Describes the generator configuration for a method.
334
+ # @!attribute [rw] selector
335
+ # @return [::String]
336
+ # The fully qualified name of the method, for which the options below apply.
337
+ # This is used to find the method to apply the options.
338
+ #
339
+ # Example:
340
+ #
341
+ # publishing:
342
+ # method_settings:
343
+ # - selector: google.storage.control.v2.StorageControl.CreateFolder
344
+ # # method settings for CreateFolder...
345
+ # @!attribute [rw] long_running
346
+ # @return [::Google::Api::MethodSettings::LongRunning]
347
+ # Describes settings to use for long-running operations when generating
348
+ # API methods for RPCs. Complements RPCs that use the annotations in
349
+ # google/longrunning/operations.proto.
350
+ #
351
+ # Example of a YAML configuration::
352
+ #
353
+ # publishing:
354
+ # method_settings:
355
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
356
+ # long_running:
357
+ # initial_poll_delay: 60s # 1 minute
358
+ # poll_delay_multiplier: 1.5
359
+ # max_poll_delay: 360s # 6 minutes
360
+ # total_poll_timeout: 54000s # 90 minutes
361
+ # @!attribute [rw] auto_populated_fields
362
+ # @return [::Array<::String>]
363
+ # List of top-level fields of the request message, that should be
364
+ # automatically populated by the client libraries based on their
365
+ # (google.api.field_info).format. Currently supported format: UUID4.
366
+ #
367
+ # Example of a YAML configuration:
368
+ #
369
+ # publishing:
370
+ # method_settings:
371
+ # - selector: google.example.v1.ExampleService.CreateExample
372
+ # auto_populated_fields:
373
+ # - request_id
374
+ class MethodSettings
375
+ include ::Google::Protobuf::MessageExts
376
+ extend ::Google::Protobuf::MessageExts::ClassMethods
377
+
378
+ # Describes settings to use when generating API methods that use the
379
+ # long-running operation pattern.
380
+ # All default values below are from those used in the client library
381
+ # generators (e.g.
382
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
383
+ # @!attribute [rw] initial_poll_delay
384
+ # @return [::Google::Protobuf::Duration]
385
+ # Initial delay after which the first poll request will be made.
386
+ # Default value: 5 seconds.
387
+ # @!attribute [rw] poll_delay_multiplier
388
+ # @return [::Float]
389
+ # Multiplier to gradually increase delay between subsequent polls until it
390
+ # reaches max_poll_delay.
391
+ # Default value: 1.5.
392
+ # @!attribute [rw] max_poll_delay
393
+ # @return [::Google::Protobuf::Duration]
394
+ # Maximum time between two subsequent poll requests.
395
+ # Default value: 45 seconds.
396
+ # @!attribute [rw] total_poll_timeout
397
+ # @return [::Google::Protobuf::Duration]
398
+ # Total polling timeout.
399
+ # Default value: 5 minutes.
400
+ class LongRunning
401
+ include ::Google::Protobuf::MessageExts
402
+ extend ::Google::Protobuf::MessageExts::ClassMethods
403
+ end
404
+ end
405
+
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
417
+ # The organization for which the client libraries are being published.
418
+ # Affects the url where generated docs are published, etc.
419
+ module ClientLibraryOrganization
420
+ # Not useful.
421
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
422
+
423
+ # Google Cloud Platform Org.
424
+ CLOUD = 1
425
+
426
+ # Ads (Advertising) Org.
427
+ ADS = 2
428
+
429
+ # Photos Org.
430
+ PHOTOS = 3
431
+
432
+ # Street View Org.
433
+ STREET_VIEW = 4
434
+
435
+ # Shopping Org.
436
+ SHOPPING = 5
437
+
438
+ # Geo Org.
439
+ GEO = 6
440
+
441
+ # Generative AI - https://developers.generativeai.google
442
+ GENERATIVE_AI = 7
443
+ end
444
+
445
+ # To where should client libraries be published?
446
+ module ClientLibraryDestination
447
+ # Client libraries will neither be generated nor published to package
448
+ # managers.
449
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
450
+
451
+ # Generate the client library in a repo under github.com/googleapis,
452
+ # but don't publish it to package managers.
453
+ GITHUB = 10
454
+
455
+ # Publish the library to package managers like nuget.org and npmjs.com.
456
+ PACKAGE_MANAGER = 20
457
+ end
458
+ end
459
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 2024 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