google-cloud-cloud_quotas-v1beta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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