google-cloud-cloud_quotas-v1beta 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 (41) 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/api/cloudquotas/v1beta/cloudquotas_pb.rb +58 -0
  7. data/lib/google/api/cloudquotas/v1beta/cloudquotas_services_pb.rb +62 -0
  8. data/lib/google/api/cloudquotas/v1beta/quota_adjuster_settings_pb.rb +54 -0
  9. data/lib/google/api/cloudquotas/v1beta/quota_adjuster_settings_services_pb.rb +52 -0
  10. data/lib/google/api/cloudquotas/v1beta/resources_pb.rb +59 -0
  11. data/lib/google/cloud/cloud_quotas/v1beta/cloud_quotas/client.rb +1030 -0
  12. data/lib/google/cloud/cloud_quotas/v1beta/cloud_quotas/credentials.rb +47 -0
  13. data/lib/google/cloud/cloud_quotas/v1beta/cloud_quotas/paths.rb +265 -0
  14. data/lib/google/cloud/cloud_quotas/v1beta/cloud_quotas/rest/client.rb +960 -0
  15. data/lib/google/cloud/cloud_quotas/v1beta/cloud_quotas/rest/service_stub.rb +537 -0
  16. data/lib/google/cloud/cloud_quotas/v1beta/cloud_quotas/rest.rb +58 -0
  17. data/lib/google/cloud/cloud_quotas/v1beta/cloud_quotas.rb +61 -0
  18. data/lib/google/cloud/cloud_quotas/v1beta/quota_adjuster_settings_manager/client.rb +564 -0
  19. data/lib/google/cloud/cloud_quotas/v1beta/quota_adjuster_settings_manager/credentials.rb +47 -0
  20. data/lib/google/cloud/cloud_quotas/v1beta/quota_adjuster_settings_manager/paths.rb +50 -0
  21. data/lib/google/cloud/cloud_quotas/v1beta/quota_adjuster_settings_manager/rest/client.rb +524 -0
  22. data/lib/google/cloud/cloud_quotas/v1beta/quota_adjuster_settings_manager/rest/service_stub.rb +204 -0
  23. data/lib/google/cloud/cloud_quotas/v1beta/quota_adjuster_settings_manager/rest.rb +57 -0
  24. data/lib/google/cloud/cloud_quotas/v1beta/quota_adjuster_settings_manager.rb +60 -0
  25. data/lib/google/cloud/cloud_quotas/v1beta/rest.rb +38 -0
  26. data/lib/google/cloud/cloud_quotas/v1beta/version.rb +28 -0
  27. data/lib/google/cloud/cloud_quotas/v1beta.rb +46 -0
  28. data/lib/google-cloud-cloud_quotas-v1beta.rb +21 -0
  29. data/proto_docs/README.md +4 -0
  30. data/proto_docs/google/api/client.rb +459 -0
  31. data/proto_docs/google/api/cloudquotas/v1beta/cloudquotas.rb +193 -0
  32. data/proto_docs/google/api/cloudquotas/v1beta/quota_adjuster_settings.rb +89 -0
  33. data/proto_docs/google/api/cloudquotas/v1beta/resources.rb +348 -0
  34. data/proto_docs/google/api/field_behavior.rb +85 -0
  35. data/proto_docs/google/api/launch_stage.rb +71 -0
  36. data/proto_docs/google/api/resource.rb +227 -0
  37. data/proto_docs/google/protobuf/duration.rb +98 -0
  38. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  39. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  40. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  41. metadata +118 -0
@@ -0,0 +1,89 @@
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 Cloud
22
+ module CloudQuotas
23
+ module V1beta
24
+ # Request for getting QuotaAdjusterSettings
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Required. Name of the config. Required to be “settings”, as only a single
28
+ # setting per container will be supported initially.
29
+ class GetQuotaAdjusterSettingsRequest
30
+ include ::Google::Protobuf::MessageExts
31
+ extend ::Google::Protobuf::MessageExts::ClassMethods
32
+ end
33
+
34
+ # Request for updating QuotaAdjusterSettings
35
+ # @!attribute [rw] quota_adjuster_settings
36
+ # @return [::Google::Cloud::CloudQuotas::V1beta::QuotaAdjusterSettings]
37
+ # Required. The QuotaAdjusterSettings to update.
38
+ # @!attribute [rw] update_mask
39
+ # @return [::Google::Protobuf::FieldMask]
40
+ # Optional. The list of fields to update.
41
+ # @!attribute [rw] validate_only
42
+ # @return [::Boolean]
43
+ # Optional. If set to true, validate the request, but do not actually update.
44
+ # Note that a request being valid does not mean that the request is
45
+ # guaranteed to be fulfilled.
46
+ class UpdateQuotaAdjusterSettingsRequest
47
+ include ::Google::Protobuf::MessageExts
48
+ extend ::Google::Protobuf::MessageExts::ClassMethods
49
+ end
50
+
51
+ # The QuotaAdjusterSettings resource defines the settings for the Quota
52
+ # Adjuster.
53
+ # @!attribute [rw] name
54
+ # @return [::String]
55
+ # Identifier. Name of the config would be of the format:
56
+ # projects/12345/locations/global/quotaAdjusterSettings
57
+ # @!attribute [rw] enablement
58
+ # @return [::Google::Cloud::CloudQuotas::V1beta::QuotaAdjusterSettings::Enablement]
59
+ # Required. The configured value of the enablement at the given resource.
60
+ # @!attribute [r] update_time
61
+ # @return [::Google::Protobuf::Timestamp]
62
+ # Output only. The timestamp when the QuotaAdjusterSettings was last updated.
63
+ # @!attribute [rw] etag
64
+ # @return [::String]
65
+ # Optional. The current etag of the QuotaAdjusterSettings. If an etag is
66
+ # provided on update and does not match the current server's etag of the
67
+ # QuotaAdjusterSettings, the request will be blocked and an ABORTED error
68
+ # will be returned. See https://google.aip.dev/134#etags for more details on
69
+ # etags.
70
+ class QuotaAdjusterSettings
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+
74
+ # The enablement status of the quota adjuster.
75
+ module Enablement
76
+ # The quota adjuster is in an unknown state.
77
+ ENABLEMENT_UNSPECIFIED = 0
78
+
79
+ # The quota adjuster is enabled.
80
+ ENABLED = 2
81
+
82
+ # The quota adjuster is disabled.
83
+ DISABLED = 3
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,348 @@
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 Cloud
22
+ module CloudQuotas
23
+ module V1beta
24
+ # QuotaInfo represents information about a particular quota for a given
25
+ # project, folder or organization.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Resource name of this QuotaInfo.
29
+ # The ID component following "locations/" must be "global".
30
+ # Example:
31
+ # `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion`
32
+ # @!attribute [rw] quota_id
33
+ # @return [::String]
34
+ # The id of the quota, which is unquie within the service.
35
+ # Example: `CpusPerProjectPerRegion`
36
+ # @!attribute [rw] metric
37
+ # @return [::String]
38
+ # The metric of the quota. It specifies the resources consumption the quota
39
+ # is defined for.
40
+ # Example: `compute.googleapis.com/cpus`
41
+ # @!attribute [rw] service
42
+ # @return [::String]
43
+ # The name of the service in which the quota is defined.
44
+ # Example: `compute.googleapis.com`
45
+ # @!attribute [rw] is_precise
46
+ # @return [::Boolean]
47
+ # Whether this is a precise quota. A precise quota is tracked with absolute
48
+ # precision. In contrast, an imprecise quota is not tracked with precision.
49
+ # @!attribute [rw] refresh_interval
50
+ # @return [::String]
51
+ # The reset time interval for the quota. Refresh interval applies to rate
52
+ # quota only.
53
+ # Example: "minute" for per minute, "day" for per day, or "10 seconds" for
54
+ # every 10 seconds.
55
+ # @!attribute [rw] container_type
56
+ # @return [::Google::Cloud::CloudQuotas::V1beta::QuotaInfo::ContainerType]
57
+ # The container type of the QuotaInfo.
58
+ # @!attribute [rw] dimensions
59
+ # @return [::Array<::String>]
60
+ # The dimensions the quota is defined on.
61
+ # @!attribute [rw] metric_display_name
62
+ # @return [::String]
63
+ # The display name of the quota metric
64
+ # @!attribute [rw] quota_display_name
65
+ # @return [::String]
66
+ # The display name of the quota.
67
+ # @!attribute [rw] metric_unit
68
+ # @return [::String]
69
+ # The unit in which the metric value is reported, e.g., "MByte".
70
+ # @!attribute [rw] quota_increase_eligibility
71
+ # @return [::Google::Cloud::CloudQuotas::V1beta::QuotaIncreaseEligibility]
72
+ # Whether it is eligible to request a higher quota value for this quota.
73
+ # @!attribute [rw] is_fixed
74
+ # @return [::Boolean]
75
+ # Whether the quota value is fixed or adjustable
76
+ # @!attribute [rw] dimensions_infos
77
+ # @return [::Array<::Google::Cloud::CloudQuotas::V1beta::DimensionsInfo>]
78
+ # The collection of dimensions info ordered by their dimensions from more
79
+ # specific ones to less specific ones.
80
+ # @!attribute [rw] is_concurrent
81
+ # @return [::Boolean]
82
+ # Whether the quota is a concurrent quota. Concurrent quotas are enforced
83
+ # on the total number of concurrent operations in flight at any given time.
84
+ # @!attribute [rw] service_request_quota_uri
85
+ # @return [::String]
86
+ # URI to the page where users can request more quota for the cloud
87
+ # service—for example,
88
+ # https://console.cloud.google.com/iam-admin/quotas.
89
+ class QuotaInfo
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+
93
+ # The enumeration of the types of a cloud resource container.
94
+ module ContainerType
95
+ # Unspecified container type.
96
+ CONTAINER_TYPE_UNSPECIFIED = 0
97
+
98
+ # consumer project
99
+ PROJECT = 1
100
+
101
+ # folder
102
+ FOLDER = 2
103
+
104
+ # organization
105
+ ORGANIZATION = 3
106
+ end
107
+ end
108
+
109
+ # Eligibility information regarding requesting increase adjustment of a quota.
110
+ # @!attribute [rw] is_eligible
111
+ # @return [::Boolean]
112
+ # Whether a higher quota value can be requested for the quota.
113
+ # @!attribute [rw] ineligibility_reason
114
+ # @return [::Google::Cloud::CloudQuotas::V1beta::QuotaIncreaseEligibility::IneligibilityReason]
115
+ # The reason of why it is ineligible to request increased value of the quota.
116
+ # If the is_eligible field is true, it defaults to
117
+ # INELIGIBILITY_REASON_UNSPECIFIED.
118
+ class QuotaIncreaseEligibility
119
+ include ::Google::Protobuf::MessageExts
120
+ extend ::Google::Protobuf::MessageExts::ClassMethods
121
+
122
+ # The enumeration of reasons when it is ineligible to request increase
123
+ # adjustment.
124
+ module IneligibilityReason
125
+ # Default value when is_eligible is true.
126
+ INELIGIBILITY_REASON_UNSPECIFIED = 0
127
+
128
+ # The container is not linked with a valid billing account.
129
+ NO_VALID_BILLING_ACCOUNT = 1
130
+
131
+ # Quota increase is not supported for the quota.
132
+ NOT_SUPPORTED = 3
133
+
134
+ # There is not enough usage history to determine the eligibility.
135
+ NOT_ENOUGH_USAGE_HISTORY = 4
136
+
137
+ # Other reasons.
138
+ OTHER = 2
139
+ end
140
+ end
141
+
142
+ # QuotaPreference represents the preferred quota configuration specified for
143
+ # a project, folder or organization. There is only one QuotaPreference
144
+ # resource for a quota value targeting a unique set of dimensions.
145
+ # @!attribute [rw] name
146
+ # @return [::String]
147
+ # Required except in the CREATE requests.
148
+ # The resource name of the quota preference.
149
+ # The ID component following "locations/" must be "global".
150
+ # Example:
151
+ # `projects/123/locations/global/quotaPreferences/my-config-for-us-east1`
152
+ # @!attribute [rw] dimensions
153
+ # @return [::Google::Protobuf::Map{::String => ::String}]
154
+ # Immutable. The dimensions that this quota preference applies to. The key of
155
+ # the map entry is the name of a dimension, such as "region", "zone",
156
+ # "network_id", and the value of the map entry is the dimension value.
157
+ #
158
+ # If a dimension is missing from the map of dimensions, the quota preference
159
+ # applies to all the dimension values except for those that have other quota
160
+ # preferences configured for the specific value.
161
+ #
162
+ # NOTE: QuotaPreferences can only be applied across all values of "user" and
163
+ # "resource" dimension. Do not set values for "user" or "resource" in the
164
+ # dimension map.
165
+ #
166
+ # Example: \\{"provider", "Foo Inc"} where "provider" is a service specific
167
+ # dimension.
168
+ # @!attribute [rw] quota_config
169
+ # @return [::Google::Cloud::CloudQuotas::V1beta::QuotaConfig]
170
+ # Required. Preferred quota configuration.
171
+ # @!attribute [rw] etag
172
+ # @return [::String]
173
+ # Optional. The current etag of the quota preference. If an etag is provided
174
+ # on update and does not match the current server's etag of the quota
175
+ # preference, the request will be blocked and an ABORTED error will be
176
+ # returned. See https://google.aip.dev/134#etags for more details on etags.
177
+ # @!attribute [r] create_time
178
+ # @return [::Google::Protobuf::Timestamp]
179
+ # Output only. Create time stamp
180
+ # @!attribute [r] update_time
181
+ # @return [::Google::Protobuf::Timestamp]
182
+ # Output only. Update time stamp
183
+ # @!attribute [rw] service
184
+ # @return [::String]
185
+ # Required. The name of the service to which the quota preference is applied.
186
+ # @!attribute [rw] quota_id
187
+ # @return [::String]
188
+ # Required. The id of the quota to which the quota preference is applied. A
189
+ # quota name is unique in the service. Example: `CpusPerProjectPerRegion`
190
+ # @!attribute [r] reconciling
191
+ # @return [::Boolean]
192
+ # Output only. Is the quota preference pending Google Cloud approval and
193
+ # fulfillment.
194
+ # @!attribute [rw] justification
195
+ # @return [::String]
196
+ # The reason / justification for this quota preference.
197
+ # @!attribute [rw] contact_email
198
+ # @return [::String]
199
+ # Input only. An email address that can be used to contact the the user, in
200
+ # case Google Cloud needs more information to make a decision before
201
+ # additional quota can be granted.
202
+ #
203
+ # When requesting a quota increase, the email address is required.
204
+ # When requesting a quota decrease, the email address is optional.
205
+ # For example, the email address is optional when the
206
+ # `QuotaConfig.preferred_value` is smaller than the
207
+ # `QuotaDetails.reset_value`.
208
+ class QuotaPreference
209
+ include ::Google::Protobuf::MessageExts
210
+ extend ::Google::Protobuf::MessageExts::ClassMethods
211
+
212
+ # @!attribute [rw] key
213
+ # @return [::String]
214
+ # @!attribute [rw] value
215
+ # @return [::String]
216
+ class DimensionsEntry
217
+ include ::Google::Protobuf::MessageExts
218
+ extend ::Google::Protobuf::MessageExts::ClassMethods
219
+ end
220
+ end
221
+
222
+ # The preferred quota configuration.
223
+ # @!attribute [rw] preferred_value
224
+ # @return [::Integer]
225
+ # Required. The preferred value. Must be greater than or equal to -1. If set
226
+ # to -1, it means the value is "unlimited".
227
+ # @!attribute [r] state_detail
228
+ # @return [::String]
229
+ # Output only. Optional details about the state of this quota preference.
230
+ # @!attribute [r] granted_value
231
+ # @return [::Google::Protobuf::Int64Value]
232
+ # Output only. Granted quota value.
233
+ # @!attribute [r] trace_id
234
+ # @return [::String]
235
+ # Output only. The trace id that the Google Cloud uses to provision the
236
+ # requested quota. This trace id may be used by the client to contact Cloud
237
+ # support to track the state of a quota preference request. The trace id is
238
+ # only produced for increase requests and is unique for each request. The
239
+ # quota decrease requests do not have a trace id.
240
+ # @!attribute [rw] annotations
241
+ # @return [::Google::Protobuf::Map{::String => ::String}]
242
+ # Optional. The annotations map for clients to store small amounts of
243
+ # arbitrary data. Do not put PII or other sensitive information here. See
244
+ # https://google.aip.dev/128#annotations
245
+ # @!attribute [r] request_origin
246
+ # @return [::Google::Cloud::CloudQuotas::V1beta::QuotaConfig::Origin]
247
+ # Output only. The origin of the quota preference request.
248
+ class QuotaConfig
249
+ include ::Google::Protobuf::MessageExts
250
+ extend ::Google::Protobuf::MessageExts::ClassMethods
251
+
252
+ # @!attribute [rw] key
253
+ # @return [::String]
254
+ # @!attribute [rw] value
255
+ # @return [::String]
256
+ class AnnotationsEntry
257
+ include ::Google::Protobuf::MessageExts
258
+ extend ::Google::Protobuf::MessageExts::ClassMethods
259
+ end
260
+
261
+ # The enumeration of the origins of quota preference requests.
262
+ module Origin
263
+ # The unspecified value.
264
+ ORIGIN_UNSPECIFIED = 0
265
+
266
+ # Created through Cloud Console.
267
+ CLOUD_CONSOLE = 1
268
+
269
+ # Generated by automatic quota adjustment.
270
+ AUTO_ADJUSTER = 2
271
+ end
272
+ end
273
+
274
+ # The detailed quota information such as effective quota value for a
275
+ # combination of dimensions.
276
+ # @!attribute [rw] dimensions
277
+ # @return [::Google::Protobuf::Map{::String => ::String}]
278
+ # The map of dimensions for this dimensions info. The key of a map entry
279
+ # is "region", "zone" or the name of a service specific dimension, and the
280
+ # value of a map entry is the value of the dimension. If a dimension does
281
+ # not appear in the map of dimensions, the dimensions info applies to all
282
+ # the dimension values except for those that have another DimenisonInfo
283
+ # instance configured for the specific value.
284
+ # Example: \\{"provider" : "Foo Inc"} where "provider" is a service specific
285
+ # dimension of a quota.
286
+ # @!attribute [rw] details
287
+ # @return [::Google::Cloud::CloudQuotas::V1beta::QuotaDetails]
288
+ # Quota details for the specified dimensions.
289
+ # @!attribute [rw] applicable_locations
290
+ # @return [::Array<::String>]
291
+ # The applicable regions or zones of this dimensions info. The field will be
292
+ # set to ['global'] for quotas that are not per region or per zone.
293
+ # Otherwise, it will be set to the list of locations this dimension info is
294
+ # applicable to.
295
+ class DimensionsInfo
296
+ include ::Google::Protobuf::MessageExts
297
+ extend ::Google::Protobuf::MessageExts::ClassMethods
298
+
299
+ # @!attribute [rw] key
300
+ # @return [::String]
301
+ # @!attribute [rw] value
302
+ # @return [::String]
303
+ class DimensionsEntry
304
+ include ::Google::Protobuf::MessageExts
305
+ extend ::Google::Protobuf::MessageExts::ClassMethods
306
+ end
307
+ end
308
+
309
+ # The quota details for a map of dimensions.
310
+ # @!attribute [rw] value
311
+ # @return [::Integer]
312
+ # The value currently in effect and being enforced.
313
+ # @!attribute [rw] rollout_info
314
+ # @return [::Google::Cloud::CloudQuotas::V1beta::RolloutInfo]
315
+ # Rollout information of this quota.
316
+ # This field is present only if the effective limit will change due to the
317
+ # ongoing rollout of the service config.
318
+ class QuotaDetails
319
+ include ::Google::Protobuf::MessageExts
320
+ extend ::Google::Protobuf::MessageExts::ClassMethods
321
+ end
322
+
323
+ # [Output only] Rollout information of a quota.
324
+ # @!attribute [rw] ongoing_rollout
325
+ # @return [::Boolean]
326
+ # Whether there is an ongoing rollout for a quota or not.
327
+ class RolloutInfo
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
331
+
332
+ # Enumerations of quota safety checks.
333
+ module QuotaSafetyCheck
334
+ # Unspecified quota safety check.
335
+ QUOTA_SAFETY_CHECK_UNSPECIFIED = 0
336
+
337
+ # Validates that a quota mutation would not cause the consumer's effective
338
+ # limit to be lower than the consumer's quota usage.
339
+ QUOTA_DECREASE_BELOW_USAGE = 1
340
+
341
+ # Validates that a quota mutation would not cause the consumer's effective
342
+ # limit to decrease by more than 10 percent.
343
+ QUOTA_DECREASE_PERCENTAGE_TOO_HIGH = 2
344
+ end
345
+ end
346
+ end
347
+ end
348
+ 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,71 @@
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
+ # The launch stage as defined by [Google Cloud Platform
23
+ # Launch Stages](https://cloud.google.com/terms/launch-stages).
24
+ module LaunchStage
25
+ # Do not use this default value.
26
+ LAUNCH_STAGE_UNSPECIFIED = 0
27
+
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
34
+ # Early Access features are limited to a closed group of testers. To use
35
+ # these features, you must sign up in advance and sign a Trusted Tester
36
+ # agreement (which includes confidentiality provisions). These features may
37
+ # be unstable, changed in backward-incompatible ways, and are not
38
+ # guaranteed to be released.
39
+ EARLY_ACCESS = 1
40
+
41
+ # Alpha is a limited availability test for releases before they are cleared
42
+ # for widespread use. By Alpha, all significant design issues are resolved
43
+ # and we are in the process of verifying functionality. Alpha customers
44
+ # need to apply for access, agree to applicable terms, and have their
45
+ # projects allowlisted. Alpha releases don't have to be feature complete,
46
+ # no SLAs are provided, and there are no technical support obligations, but
47
+ # they will be far enough along that customers can actually use them in
48
+ # test environments or for limited-use tests -- just like they would in
49
+ # normal production cases.
50
+ ALPHA = 2
51
+
52
+ # Beta is the point at which we are ready to open a release for any
53
+ # customer to use. There are no SLA or technical support obligations in a
54
+ # Beta release. Products will be complete from a feature perspective, but
55
+ # may have some open outstanding issues. Beta releases are suitable for
56
+ # limited production use cases.
57
+ BETA = 3
58
+
59
+ # GA features are open to all developers and are considered stable and
60
+ # fully qualified for production use.
61
+ GA = 4
62
+
63
+ # Deprecated features are scheduled to be shut down and removed. For more
64
+ # information, see the "Deprecation Policy" section of our [Terms of
65
+ # Service](https://cloud.google.com/terms/)
66
+ # and the [Google Cloud Platform Subject to the Deprecation
67
+ # Policy](https://cloud.google.com/terms/deprecation) documentation.
68
+ DEPRECATED = 5
69
+ end
70
+ end
71
+ end