google-cloud-database_center-v1beta 0.a → 0.2.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 (43) 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/database_center/v1beta/database_center/client.rb +956 -0
  6. data/lib/google/cloud/database_center/v1beta/database_center/credentials.rb +47 -0
  7. data/lib/google/cloud/database_center/v1beta/database_center/rest/client.rb +917 -0
  8. data/lib/google/cloud/database_center/v1beta/database_center/rest/service_stub.rb +319 -0
  9. data/lib/google/cloud/database_center/v1beta/database_center/rest.rb +51 -0
  10. data/lib/google/cloud/database_center/v1beta/database_center.rb +54 -0
  11. data/lib/google/cloud/database_center/v1beta/rest.rb +37 -0
  12. data/lib/google/cloud/database_center/v1beta/version.rb +8 -3
  13. data/lib/google/cloud/database_center/v1beta.rb +45 -0
  14. data/lib/google/cloud/databasecenter/v1beta/machine_config_pb.rb +44 -0
  15. data/lib/google/cloud/databasecenter/v1beta/maintenance_pb.rb +52 -0
  16. data/lib/google/cloud/databasecenter/v1beta/metric_data_pb.rb +47 -0
  17. data/lib/google/cloud/databasecenter/v1beta/operation_error_type_pb.rb +42 -0
  18. data/lib/google/cloud/databasecenter/v1beta/product_pb.rb +46 -0
  19. data/lib/google/cloud/databasecenter/v1beta/service_pb.rb +80 -0
  20. data/lib/google/cloud/databasecenter/v1beta/service_services_pb.rb +53 -0
  21. data/lib/google/cloud/databasecenter/v1beta/signals_pb.rb +78 -0
  22. data/lib/google/cloud/databasecenter/v1beta/suspension_reason_pb.rb +42 -0
  23. data/lib/google-cloud-database_center-v1beta.rb +21 -0
  24. data/proto_docs/README.md +4 -0
  25. data/proto_docs/google/api/client.rb +473 -0
  26. data/proto_docs/google/api/field_behavior.rb +85 -0
  27. data/proto_docs/google/api/launch_stage.rb +71 -0
  28. data/proto_docs/google/api/resource.rb +227 -0
  29. data/proto_docs/google/cloud/databasecenter/v1beta/machine_config.rb +42 -0
  30. data/proto_docs/google/cloud/databasecenter/v1beta/maintenance.rb +105 -0
  31. data/proto_docs/google/cloud/databasecenter/v1beta/metric_data.rb +92 -0
  32. data/proto_docs/google/cloud/databasecenter/v1beta/operation_error_type.rb +53 -0
  33. data/proto_docs/google/cloud/databasecenter/v1beta/product.rb +132 -0
  34. data/proto_docs/google/cloud/databasecenter/v1beta/service.rb +823 -0
  35. data/proto_docs/google/cloud/databasecenter/v1beta/signals.rb +848 -0
  36. data/proto_docs/google/cloud/databasecenter/v1beta/suspension_reason.rb +50 -0
  37. data/proto_docs/google/protobuf/duration.rb +98 -0
  38. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  39. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  40. data/proto_docs/google/type/date.rb +53 -0
  41. data/proto_docs/google/type/dayofweek.rb +49 -0
  42. data/proto_docs/google/type/timeofday.rb +45 -0
  43. metadata +82 -9
@@ -0,0 +1,823 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 DatabaseCenter
23
+ module V1beta
24
+ # QueryProductsRequest is the request to get a list of products.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. Parent can be a project, a folder, or an organization.
28
+ #
29
+ # The allowed values are:
30
+ #
31
+ # * projects/\\{PROJECT_ID}/locations/\\{LOCATION}
32
+ # (e.g.,"projects/foo-bar/locations/us-central1")
33
+ # * projects/\\{PROJECT_NUMBER}/locations/\\{LOCATION}
34
+ # (e.g.,"projects/12345678/locations/us-central1")
35
+ # * folders/\\{FOLDER_NUMBER}/locations/\\{LOCATION}
36
+ # (e.g.,"folders/1234567/locations/us-central1")
37
+ # * organizations/\\{ORGANIZATION_NUMBER}/locations/\\{LOCATION}
38
+ # (e.g.,"organizations/123456/locations/us-central1")
39
+ # * projects/\\{PROJECT_ID} (e.g., "projects/foo-bar")
40
+ # * projects/\\{PROJECT_NUMBER} (e.g., "projects/12345678")
41
+ # * folders/\\{FOLDER_NUMBER} (e.g., "folders/1234567")
42
+ # * organizations/\\{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
43
+ # @!attribute [rw] page_size
44
+ # @return [::Integer]
45
+ # Optional. If unspecified, at most 50 products will be returned.
46
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
47
+ # @!attribute [rw] page_token
48
+ # @return [::String]
49
+ # Optional. A page token, received from a previous `ListLocations` call.
50
+ # Provide this to retrieve the subsequent page.
51
+ # All other parameters except page size should match the call that provided
52
+ # the page page token.
53
+ class QueryProductsRequest
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+
58
+ # QueryProductsResponse represents the response containing a list of products.
59
+ # @!attribute [rw] products
60
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::Product>]
61
+ # List of database products returned.
62
+ # @!attribute [rw] next_page_token
63
+ # @return [::String]
64
+ # A token that can be sent as `page_token` to retrieve the next page.
65
+ # If this field is omitted, there are no subsequent pages
66
+ # @!attribute [rw] unreachable
67
+ # @return [::Array<::String>]
68
+ # Unordered list. List of unreachable regions from where data could not be
69
+ # retrieved.
70
+ class QueryProductsResponse
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+
75
+ # QueryDatabaseResourceGroupsRequest is the request to get a list of database
76
+ # groups.
77
+ # @!attribute [rw] parent
78
+ # @return [::String]
79
+ # Required. Parent can be a project, a folder, or an organization. The search
80
+ # is limited to the resources within the `scope`.
81
+ #
82
+ # The allowed values are:
83
+ #
84
+ # * projects/\\{PROJECT_ID} (e.g., "projects/foo-bar")
85
+ # * projects/\\{PROJECT_NUMBER} (e.g., "projects/12345678")
86
+ # * folders/\\{FOLDER_NUMBER} (e.g., "folders/1234567")
87
+ # * organizations/\\{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
88
+ # @!attribute [rw] filter
89
+ # @return [::String]
90
+ # Optional. The expression to filter resources.
91
+ #
92
+ # The following fields are filterable:
93
+ # * full_resource_name
94
+ # * resource_type
95
+ # * container
96
+ # * product.type
97
+ # * product.engine
98
+ # * product.version
99
+ # * location
100
+ # * labels
101
+ # * resource_category
102
+ # * machine_config.cpu_count
103
+ # * machine_config.memory_size_bytes
104
+ # * machine_config.shard_count
105
+ # * resource_name
106
+ # * tags
107
+ # * backupdr_config.backupdr_managed
108
+ # * edition
109
+ #
110
+ # The expression is a list of zero or more restrictions combined via logical
111
+ # operators `AND` and `OR`. When `AND` and `OR` are both used in the
112
+ # expression, parentheses must be appropriately used to group the
113
+ # combinations.
114
+ #
115
+ # Example: location="us-east1"
116
+ # Example: container="projects/123" OR container="projects/456"
117
+ # Example: (container="projects/123" OR
118
+ # container="projects/456") AND location="us-east1"
119
+ # Example: full_resource_name=~"test"
120
+ # Example: full_resource_name=~"test.*master"
121
+ # @!attribute [rw] signal_type_groups
122
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::SignalTypeGroup>]
123
+ # Optional. Groups of signal types that are requested.
124
+ # @!attribute [rw] signal_filters
125
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::SignalFilter>]
126
+ # Optional. Filters based on signals. The list will be ORed together and then
127
+ # ANDed with the `filters` field above.
128
+ # @!attribute [rw] order_by
129
+ # @return [::String]
130
+ # Optional. A field that specifies the sort order of the results.
131
+ #
132
+ # The following fields are sortable:
133
+ # * full_resource_name
134
+ # * product.type
135
+ # * product.engine
136
+ # * product.version
137
+ # * container
138
+ # * issue_count
139
+ # * machine_config.vcpu_count
140
+ # * machine_config.memory_size_bytes
141
+ # * machine_config.shard_count
142
+ # * resource_name
143
+ # * issue_severity
144
+ # * signal_type
145
+ # * location
146
+ # * resource_type
147
+ # * instance_type
148
+ # * edition
149
+ # * metrics.p99_cpu_utilization
150
+ # * metrics.p95_cpu_utilization
151
+ # * metrics.current_storage_used_bytes
152
+ # * metrics.node_count
153
+ # * metrics.processing_unit_count
154
+ # * metrics.current_memory_used_bytes
155
+ # * metrics.peak_storage_utilization
156
+ # * metrics.peak_number_connections
157
+ # * metrics.peak_memory_utilization
158
+ #
159
+ # The default order is ascending. Add "DESC" after the field name to indicate
160
+ # descending order. Add "ASC" after the field name to indicate ascending
161
+ # order. It only supports a single field at a time.
162
+ #
163
+ # For example:
164
+ # order_by = "full_resource_name" sorts response in ascending order
165
+ # order_by = "full_resource_name DESC" sorts response in descending order
166
+ # order_by = "issue_count DESC" sorts response in descending order of
167
+ # count of all issues associated with a resource.
168
+ #
169
+ # More explicitly, order_by = "full_resource_name, product" is not supported.
170
+ # @!attribute [rw] page_size
171
+ # @return [::Integer]
172
+ # Optional. If unspecified, at most 50 resource groups will be returned.
173
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
174
+ # @!attribute [rw] page_token
175
+ # @return [::String]
176
+ # Optional. A page token, received from a previous
177
+ # `QueryDatabaseResourceGroupsRequest` call. Provide this to retrieve the
178
+ # subsequent page. All parameters except page_token should match the
179
+ # parameters in the call that provided the page page token.
180
+ class QueryDatabaseResourceGroupsRequest
181
+ include ::Google::Protobuf::MessageExts
182
+ extend ::Google::Protobuf::MessageExts::ClassMethods
183
+ end
184
+
185
+ # QueryDatabaseResourceGroupsResponse represents the response message
186
+ # containing a list of resource groups.
187
+ # @!attribute [rw] resource_groups
188
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::DatabaseResourceGroup>]
189
+ # List of database resource groups that pass the filter.
190
+ # @!attribute [rw] next_page_token
191
+ # @return [::String]
192
+ # A token that can be sent as `page_token` to retrieve the next page.
193
+ # If this field is omitted, there are no subsequent pages.
194
+ # @!attribute [rw] unreachable
195
+ # @return [::Array<::String>]
196
+ # Unordered list. List of unreachable regions from where data could not be
197
+ # retrieved.
198
+ class QueryDatabaseResourceGroupsResponse
199
+ include ::Google::Protobuf::MessageExts
200
+ extend ::Google::Protobuf::MessageExts::ClassMethods
201
+ end
202
+
203
+ # DatabaseResourceGroup represents all resources that serve a common data set.
204
+ # It is considered notionally as a single entity, powered by any number of
205
+ # units of compute and storage.
206
+ # @!attribute [rw] root_resources
207
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::DatabaseResource>]
208
+ # A database resource that serves as a root of the group of database
209
+ # resources. It is repeated just in case we have the concept of multiple
210
+ # roots in the future, however, it will only be populated with a single value
211
+ # for now.
212
+ # @!attribute [rw] signal_groups
213
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::IssueCount>]
214
+ # The filtered signal groups and the count of issues associated with the
215
+ # resources that have been filtered in.
216
+ class DatabaseResourceGroup
217
+ include ::Google::Protobuf::MessageExts
218
+ extend ::Google::Protobuf::MessageExts::ClassMethods
219
+ end
220
+
221
+ # DatabaseResource represents every individually configured database unit
222
+ # representing compute and/or storage.
223
+ # NextId: 20
224
+ # @!attribute [rw] child_resources
225
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::DatabaseResource>]
226
+ # List of children associated with a database group.
227
+ # @!attribute [rw] full_resource_name
228
+ # @return [::String]
229
+ # The full resource name, based on CAIS resource name format
230
+ # https://cloud.google.com/asset-inventory/docs/resource-name-format
231
+ #
232
+ # Example:
233
+ #
234
+ # `//cloudsql.googleapis.com/projects/project-number/instances/mysql-1`
235
+ # `//cloudsql.googleapis.com/projects/project-number/instances/postgres-1`
236
+ # `//spanner.googleapis.com/projects/project-number/instances/spanner-instance-1`
237
+ # `//alloydb.googleapis.com/projects/project-number/locations/us-central1/clusters/c1`
238
+ # `//alloydb.googleapis.com/projects/project-number/locations/us-central1/clusters/c1/instances/i1`
239
+ # @!attribute [rw] container
240
+ # @return [::String]
241
+ # Specifies where the resource is created. For GCP, it is the full name of
242
+ # the project.
243
+ # @!attribute [rw] product
244
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::Product]
245
+ # The product this resource represents.
246
+ # @!attribute [rw] location
247
+ # @return [::String]
248
+ # The location of the resources. It supports returning only regional
249
+ # locations in GCP. These are of the form: "us-central1", "us-east1", etc.
250
+ # See https://cloud.google.com/about/locations for a list of such regions.
251
+ # @!attribute [rw] labels
252
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::Label>]
253
+ # Labels applied on the resource. The requirements for labels assigned to
254
+ # Google Cloud resources may be found at
255
+ # https://cloud.google.com/resource-manager/docs/labels-overview#requirements
256
+ # @!attribute [rw] tags
257
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::Tag>]
258
+ # Tags applied on the resource. The requirements for tags assigned to
259
+ # Google Cloud resources may be found at
260
+ # https://cloud.google.com/resource-manager/docs/tags/tags-overview
261
+ # @!attribute [rw] resource_type
262
+ # @return [::String]
263
+ # The type of resource defined according to the pattern:
264
+ # \\{Service Name}/\\{Type}. Ex:
265
+ # sqladmin.googleapis.com/Instance
266
+ # alloydb.googleapis.com/Cluster
267
+ # alloydb.googleapis.com/Instance
268
+ # spanner.googleapis.com/Instance
269
+ # @!attribute [rw] sub_resource_type
270
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::SubResourceType]
271
+ # Subtype of the resource specified at creation time.
272
+ # @!attribute [rw] machine_config
273
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MachineConfig]
274
+ # Machine configuration like CPU, memory, etc for the resource.
275
+ # @!attribute [rw] signal_groups
276
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::SignalGroup>]
277
+ # The list of signal groups and count of issues related to the resource.
278
+ # Only those signals which have been requested would be included.
279
+ # @!attribute [rw] metrics
280
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::Metrics]
281
+ # Observable metrics for the resource e.g. CPU utilization, memory
282
+ # utilization, etc.
283
+ # @!attribute [rw] resource_category
284
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::ResourceCategory]
285
+ # The category of the resource.
286
+ # @!attribute [rw] resource_name
287
+ # @return [::String]
288
+ # The name of the resource(The last part of the full resource name).
289
+ # Example:
290
+ # For full resource name -
291
+ # `//cloudsql.googleapis.com/projects/project-number/instances/mysql-1`,
292
+ # resource name - `mysql-1`
293
+ # For full resource name -
294
+ # `//cloudsql.googleapis.com/projects/project-number/instances/postgres-1` ,
295
+ # resource name - `postgres-1`
296
+ # Note: In some cases, there might be more than one resource with the same
297
+ # resource name.
298
+ # @!attribute [rw] backupdr_config
299
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::BackupDRConfig]
300
+ # Optional. Backup and disaster recovery details for the resource.
301
+ # @!attribute [rw] edition
302
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::Edition]
303
+ # The edition of the resource.
304
+ # @!attribute [rw] maintenance_info
305
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MaintenanceInfo]
306
+ # Optional. The maintenance information of the resource.
307
+ class DatabaseResource
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+ end
311
+
312
+ # AggregateIssueStatsRequest represents the input to the AggregateIssueStats
313
+ # method.
314
+ # @!attribute [rw] parent
315
+ # @return [::String]
316
+ # Required. Parent can be a project, a folder, or an organization. The search
317
+ # is limited to the resources within the `scope`.
318
+ #
319
+ # The allowed values are:
320
+ #
321
+ # * projects/\\{PROJECT_ID} (e.g., "projects/foo-bar")
322
+ # * projects/\\{PROJECT_NUMBER} (e.g., "projects/12345678")
323
+ # * folders/\\{FOLDER_NUMBER} (e.g., "folders/1234567")
324
+ # * organizations/\\{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
325
+ # @!attribute [rw] filter
326
+ # @return [::String]
327
+ # Optional. The expression to filter resources.
328
+ #
329
+ # Supported fields are: `full_resource_name`, `resource_type`, `container`,
330
+ # `product.type`, `product.engine`, `product.version`, `location`,
331
+ # `labels`, `issues`, fields of availability_info,
332
+ # data_protection_info,'resource_name', etc.
333
+ #
334
+ # The expression is a list of zero or more restrictions combined via logical
335
+ # operators `AND` and `OR`. When `AND` and `OR` are both used in the
336
+ # expression, parentheses must be appropriately used to group the
337
+ # combinations.
338
+ #
339
+ # Example: location="us-east1"
340
+ # Example: container="projects/123" OR container="projects/456"
341
+ # Example: (container="projects/123" OR
342
+ # container="projects/456") AND location="us-east1"
343
+ # @!attribute [rw] signal_type_groups
344
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::SignalTypeGroup>]
345
+ # Optional. Lists of signal types that are issues.
346
+ # @!attribute [rw] baseline_date
347
+ # @return [::Google::Type::Date]
348
+ # Optional. The baseline date w.r.t. which the delta counts are calculated.
349
+ # If not set, delta counts are not included in the response and the response
350
+ # indicates the current state of the fleet.
351
+ class AggregateIssueStatsRequest
352
+ include ::Google::Protobuf::MessageExts
353
+ extend ::Google::Protobuf::MessageExts::ClassMethods
354
+ end
355
+
356
+ # The response message containing one of more group of relevant health issues
357
+ # for database resources.
358
+ # @!attribute [rw] issue_group_stats
359
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::IssueGroupStats>]
360
+ # List of issue group stats where each group contains stats for resources
361
+ # having a particular combination of relevant issues.
362
+ # @!attribute [rw] total_resources_count
363
+ # @return [::Integer]
364
+ # Total count of the resources filtered in based on the user given filter.
365
+ # @!attribute [rw] total_resource_groups_count
366
+ # @return [::Integer]
367
+ # Total count of the resource filtered in based on the user given filter.
368
+ # @!attribute [rw] unreachable
369
+ # @return [::Array<::String>]
370
+ # Unordered list. List of unreachable regions from where data could not be
371
+ # retrieved.
372
+ class AggregateIssueStatsResponse
373
+ include ::Google::Protobuf::MessageExts
374
+ extend ::Google::Protobuf::MessageExts::ClassMethods
375
+ end
376
+
377
+ # IssueGroupStats refers to stats for a particulare combination of relevant
378
+ # health issues of database resources.
379
+ # @!attribute [rw] display_name
380
+ # @return [::String]
381
+ # Database resource level health card name. This will corresponds to one of
382
+ # the requested input group names.
383
+ # @!attribute [rw] resource_groups_count
384
+ # @return [::Integer]
385
+ # Total count of the groups of resources returned by the filter that
386
+ # also have one or more resources for which any of the specified issues
387
+ # are applicable.
388
+ # @!attribute [rw] resources_count
389
+ # @return [::Integer]
390
+ # Total count of resources returned by the filter for which any of the
391
+ # specified issues are applicable.
392
+ # @!attribute [rw] healthy_resource_groups_count
393
+ # @return [::Integer]
394
+ # The number of resource groups from the total groups as defined above
395
+ # that are healthy with respect to all of the specified issues.
396
+ # @!attribute [rw] healthy_resources_count
397
+ # @return [::Integer]
398
+ # The number of resources from the total defined above in field
399
+ # total_resources_count that are healthy with respect to all of the specified
400
+ # issues.
401
+ # @!attribute [rw] issue_stats
402
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::IssueStats>]
403
+ # List of issues stats containing count of resources having particular issue
404
+ # category.
405
+ class IssueGroupStats
406
+ include ::Google::Protobuf::MessageExts
407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
408
+ end
409
+
410
+ # IssueStats holds stats for a particular signal category.
411
+ # @!attribute [rw] signal_type
412
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::SignalType]
413
+ # Type of signal which is an issue.
414
+ # @!attribute [rw] resource_count
415
+ # @return [::Integer]
416
+ # Number of resources having issues of a given type.
417
+ # @!attribute [rw] delta_details
418
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::DeltaDetails]
419
+ # Optional. Delta counts and details of resources for which issue was raised
420
+ # or fixed.
421
+ # @!attribute [rw] issue_severity
422
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::IssueSeverity]
423
+ # Severity of the issue.
424
+ class IssueStats
425
+ include ::Google::Protobuf::MessageExts
426
+ extend ::Google::Protobuf::MessageExts::ClassMethods
427
+ end
428
+
429
+ # Label is a key value pair applied to a resource.
430
+ # @!attribute [rw] key
431
+ # @return [::String]
432
+ # The key part of the label.
433
+ # @!attribute [rw] value
434
+ # @return [::String]
435
+ # The value part of the label.
436
+ # @!attribute [rw] source
437
+ # @return [::String]
438
+ # The source of the Label. Source is empty if the label is directly attached
439
+ # to the resource and not inherited.
440
+ class Label
441
+ include ::Google::Protobuf::MessageExts
442
+ extend ::Google::Protobuf::MessageExts::ClassMethods
443
+ end
444
+
445
+ # The request message to aggregate fleet which are grouped by a field.
446
+ # @!attribute [rw] parent
447
+ # @return [::String]
448
+ # Required. Parent can be a project, a folder, or an organization. The search
449
+ # is limited to the resources within the `scope`.
450
+ #
451
+ # The allowed values are:
452
+ #
453
+ # * projects/\\{PROJECT_ID} (e.g., "projects/foo-bar")
454
+ # * projects/\\{PROJECT_NUMBER} (e.g., "projects/12345678")
455
+ # * folders/\\{FOLDER_NUMBER} (e.g., "folders/1234567")
456
+ # * organizations/\\{ORGANIZATION_NUMBER} (e.g.,
457
+ # "organizations/123456")
458
+ # @!attribute [rw] filter
459
+ # @return [::String]
460
+ # Optional. The expression to filter resources.
461
+ #
462
+ # Supported fields are: `full_resource_name`, `resource_type`, `container`,
463
+ # `product.type`, `product.engine`, `product.version`, `location`,
464
+ # `labels`, `issues`, fields of availability_info, data_protection_info,
465
+ # 'resource_name', etc.
466
+ #
467
+ # The expression is a list of zero or more restrictions combined via logical
468
+ # operators `AND` and `OR`. When `AND` and `OR` are both used in the
469
+ # expression, parentheses must be appropriately used to group the
470
+ # combinations.
471
+ #
472
+ # Example: location="us-east1"
473
+ # Example: container="projects/123" OR container="projects/456"
474
+ # Example: (container="projects/123" OR
475
+ # container="projects/456") AND location="us-east1"
476
+ # @!attribute [rw] group_by
477
+ # @return [::String]
478
+ # Optional. A field that statistics are grouped by.
479
+ # Valid values are any combination of the following:
480
+ # * container
481
+ # * product.type
482
+ # * product.engine
483
+ # * product.version
484
+ # * location
485
+ # * sub_resource_type
486
+ # * management_type
487
+ # * tag.key
488
+ # * tag.value
489
+ # * tag.source
490
+ # * tag.inherited
491
+ # * label.key
492
+ # * label.value
493
+ # * label.source
494
+ # * has_maintenance_schedule
495
+ # * has_deny_maintenance_schedules
496
+ # Comma separated list.
497
+ # @!attribute [rw] order_by
498
+ # @return [::String]
499
+ # Optional. Valid values to order by are:
500
+ # * resource_groups_count
501
+ # * resources_count
502
+ # * and all fields supported by `group_by`
503
+ # The default order is ascending. Add "DESC" after the field name to indicate
504
+ # descending order. Add "ASC" after the field name to indicate ascending
505
+ # order. It supports ordering using multiple fields.
506
+ # For example:
507
+ # order_by = "resource_groups_count" sorts response in ascending order
508
+ # order_by = "resource_groups_count DESC" sorts response in descending order
509
+ # order_by = "product.type, product.version DESC, location" orders by type
510
+ # in ascending order, version in descending order and location in ascending
511
+ # order
512
+ # @!attribute [rw] page_size
513
+ # @return [::Integer]
514
+ # Optional. If unspecified, at most 50 items will be returned.
515
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
516
+ # @!attribute [rw] page_token
517
+ # @return [::String]
518
+ # Optional. A page token, received from a previous `AggregateFleet` call.
519
+ # Provide this to retrieve the subsequent page.
520
+ # All other parameters should match the parameters in the call that provided
521
+ # the page token except for page_size which can be different.
522
+ # @!attribute [rw] baseline_date
523
+ # @return [::Google::Type::Date]
524
+ # Optional. The baseline date w.r.t. which the delta counts are calculated.
525
+ # If not set, delta counts are not included in the response and the response
526
+ # indicates the current state of the fleet.
527
+ class AggregateFleetRequest
528
+ include ::Google::Protobuf::MessageExts
529
+ extend ::Google::Protobuf::MessageExts::ClassMethods
530
+ end
531
+
532
+ # The response message to aggregate a fleet by some group by fields.
533
+ # @!attribute [rw] rows
534
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::AggregateFleetRow>]
535
+ # Represents a row grouped by the fields in the input.
536
+ # @!attribute [rw] resource_groups_total_count
537
+ # @return [::Integer]
538
+ # Count of all resource groups in the fleet. This includes counts from all
539
+ # pages.
540
+ # @!attribute [rw] resource_total_count
541
+ # @return [::Integer]
542
+ # Count of all resources in the fleet. This includes counts from all pages.
543
+ # @!attribute [rw] next_page_token
544
+ # @return [::String]
545
+ # A token that can be sent as `page_token` to retrieve the next page.
546
+ # If this field is omitted, there are no subsequent pages.
547
+ # @!attribute [rw] unreachable
548
+ # @return [::Array<::String>]
549
+ # Unordered list. List of unreachable regions from where data could not be
550
+ # retrieved.
551
+ class AggregateFleetResponse
552
+ include ::Google::Protobuf::MessageExts
553
+ extend ::Google::Protobuf::MessageExts::ClassMethods
554
+ end
555
+
556
+ # Individual row grouped by a particular dimension.
557
+ # @!attribute [rw] dimension
558
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::Dimension>]
559
+ # Group by dimension.
560
+ # @!attribute [rw] resource_groups_count
561
+ # @return [::Integer]
562
+ # Number of resource groups that have a particular dimension.
563
+ # @!attribute [rw] resources_count
564
+ # @return [::Integer]
565
+ # Number of resources that have a particular dimension.
566
+ # @!attribute [rw] delta_details
567
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::DeltaDetails]
568
+ # Optional. Delta counts and details of resources which were added to/deleted
569
+ # from fleet.
570
+ class AggregateFleetRow
571
+ include ::Google::Protobuf::MessageExts
572
+ extend ::Google::Protobuf::MessageExts::ClassMethods
573
+ end
574
+
575
+ # Dimension used to aggregate the fleet.
576
+ # @!attribute [rw] container
577
+ # @return [::String]
578
+ # Specifies where the resource is created. For GCP, it is the full name of
579
+ # the project.
580
+ #
581
+ # Note: The following fields are mutually exclusive: `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
582
+ # @!attribute [rw] product_type
583
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::ProductType]
584
+ # Type to identify a product
585
+ #
586
+ # Note: The following fields are mutually exclusive: `product_type`, `container`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
587
+ # @!attribute [rw] product_engine
588
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::Engine]
589
+ # Engine refers to underlying database binary running in an instance.
590
+ #
591
+ # Note: The following fields are mutually exclusive: `product_engine`, `container`, `product_type`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
592
+ # @!attribute [rw] product_version
593
+ # @return [::String]
594
+ # Version of the underlying database engine
595
+ #
596
+ # Note: The following fields are mutually exclusive: `product_version`, `container`, `product_type`, `product_engine`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
597
+ # @!attribute [rw] location
598
+ # @return [::String]
599
+ # The location of the resources. It supports returning only regional
600
+ # locations in GCP.
601
+ #
602
+ # Note: The following fields are mutually exclusive: `location`, `container`, `product_type`, `product_engine`, `product_version`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
603
+ # @!attribute [rw] resource_type
604
+ # @return [::String]
605
+ # The type of resource defined according to the pattern:
606
+ # \\{Service Name}/\\{Type}. Ex:
607
+ # sqladmin.googleapis.com/Instance
608
+ # alloydb.googleapis.com/Cluster
609
+ # alloydb.googleapis.com/Instance
610
+ # spanner.googleapis.com/Instance
611
+ #
612
+ # Note: The following fields are mutually exclusive: `resource_type`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
613
+ # @!attribute [rw] sub_resource_type
614
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::SubResourceType]
615
+ # Subtype of the resource specified at creation time.
616
+ #
617
+ # Note: The following fields are mutually exclusive: `sub_resource_type`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
618
+ # @!attribute [rw] resource_category
619
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::ResourceCategory]
620
+ # The category of the resource.
621
+ #
622
+ # Note: The following fields are mutually exclusive: `resource_category`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
623
+ # @!attribute [rw] management_type
624
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::ManagementType]
625
+ # The management type of the resource.
626
+ #
627
+ # Note: The following fields are mutually exclusive: `management_type`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
628
+ # @!attribute [rw] edition
629
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::Edition]
630
+ # The edition of the resource.
631
+ #
632
+ # Note: The following fields are mutually exclusive: `edition`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
633
+ # @!attribute [rw] tag_key
634
+ # @return [::String]
635
+ # Tag key of the resource.
636
+ #
637
+ # Note: The following fields are mutually exclusive: `tag_key`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
638
+ # @!attribute [rw] tag_value
639
+ # @return [::String]
640
+ # Tag value of the resource.
641
+ #
642
+ # Note: The following fields are mutually exclusive: `tag_value`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
643
+ # @!attribute [rw] tag_source
644
+ # @return [::String]
645
+ # Tag source of the resource.
646
+ #
647
+ # Note: The following fields are mutually exclusive: `tag_source`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
648
+ # @!attribute [rw] tag_inherited
649
+ # @return [::Boolean]
650
+ # Tag inheritance value of the resource.
651
+ #
652
+ # Note: The following fields are mutually exclusive: `tag_inherited`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
653
+ # @!attribute [rw] label_key
654
+ # @return [::String]
655
+ # Label key of the resource.
656
+ #
657
+ # Note: The following fields are mutually exclusive: `label_key`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_value`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
658
+ # @!attribute [rw] label_value
659
+ # @return [::String]
660
+ # Label value of the resource.
661
+ #
662
+ # Note: The following fields are mutually exclusive: `label_value`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_source`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
663
+ # @!attribute [rw] label_source
664
+ # @return [::String]
665
+ # Label source of the resource.
666
+ #
667
+ # Note: The following fields are mutually exclusive: `label_source`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `has_maintenance_schedule`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
668
+ # @!attribute [rw] has_maintenance_schedule
669
+ # @return [::Boolean]
670
+ # Whether the resource has a maintenance schedule.
671
+ #
672
+ # Note: The following fields are mutually exclusive: `has_maintenance_schedule`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_deny_maintenance_schedules`. If a field in that set is populated, all other fields in the set will automatically be cleared.
673
+ # @!attribute [rw] has_deny_maintenance_schedules
674
+ # @return [::Boolean]
675
+ # Whether the resource has deny maintenance schedules.
676
+ #
677
+ # Note: The following fields are mutually exclusive: `has_deny_maintenance_schedules`, `container`, `product_type`, `product_engine`, `product_version`, `location`, `resource_type`, `sub_resource_type`, `resource_category`, `management_type`, `edition`, `tag_key`, `tag_value`, `tag_source`, `tag_inherited`, `label_key`, `label_value`, `label_source`, `has_maintenance_schedule`. If a field in that set is populated, all other fields in the set will automatically be cleared.
678
+ class Dimension
679
+ include ::Google::Protobuf::MessageExts
680
+ extend ::Google::Protobuf::MessageExts::ClassMethods
681
+ end
682
+
683
+ # BackupDRConfig to capture the backup and disaster recovery details of
684
+ # database resource.
685
+ # @!attribute [rw] backupdr_managed
686
+ # @return [::Boolean]
687
+ # Indicates if the resource is managed by BackupDR.
688
+ class BackupDRConfig
689
+ include ::Google::Protobuf::MessageExts
690
+ extend ::Google::Protobuf::MessageExts::ClassMethods
691
+ end
692
+
693
+ # Tag is a key value pair attached to a resource.
694
+ # @!attribute [rw] key
695
+ # @return [::String]
696
+ # @!attribute [rw] value
697
+ # @return [::String]
698
+ # The value part of the tag.
699
+ # @!attribute [rw] source
700
+ # @return [::String]
701
+ # The source of the tag. According to
702
+ # https://cloud.google.com/resource-manager/docs/tags/tags-overview#tags_and_labels,
703
+ # tags can be created only at the project or organization level. Tags can be
704
+ # inherited from different project as well not just the current project where
705
+ # the database resource is present.
706
+ # Format:
707
+ # "projects/\\{PROJECT_ID}",
708
+ # "projects/\\{PROJECT_NUMBER}",
709
+ # "organizations/\\{ORGANIZATION_ID}"
710
+ # @!attribute [rw] inherited
711
+ # @return [::Boolean]
712
+ # Indicates the inheritance status of a tag value
713
+ # attached to the given resource. If the tag value is inherited from one of
714
+ # the resource's ancestors, inherited will be true. If false, then the tag
715
+ # value is directly attached to the resource.
716
+ class Tag
717
+ include ::Google::Protobuf::MessageExts
718
+ extend ::Google::Protobuf::MessageExts::ClassMethods
719
+ end
720
+
721
+ # Capture the resource details for resources that are included in the delta
722
+ # counts.
723
+ # @!attribute [rw] full_resource_name
724
+ # @return [::String]
725
+ # Full resource name of the resource.
726
+ # @!attribute [rw] container
727
+ # @return [::String]
728
+ # Specifies where the resource is created. For GCP, it is the full name of
729
+ # the project.
730
+ # @!attribute [rw] product
731
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::Product]
732
+ # Product type of the resource.
733
+ # @!attribute [rw] location
734
+ # @return [::String]
735
+ # Location of the resource.
736
+ class ResourceDetails
737
+ include ::Google::Protobuf::MessageExts
738
+ extend ::Google::Protobuf::MessageExts::ClassMethods
739
+ end
740
+
741
+ # Captures the details of items that have increased or decreased in some bucket
742
+ # when compared to some point in history.
743
+ # It is currently used to capture the delta of resources that have been added
744
+ # or removed in the fleet as well as to capture the resources that have a
745
+ # change in Issue/Signal status.
746
+ # @!attribute [rw] increased_resources
747
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::ResourceDetails>]
748
+ # Details of resources that have increased.
749
+ # @!attribute [rw] decreased_resources
750
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::ResourceDetails>]
751
+ # Details of resources that have decreased.
752
+ class DeltaDetails
753
+ include ::Google::Protobuf::MessageExts
754
+ extend ::Google::Protobuf::MessageExts::ClassMethods
755
+ end
756
+
757
+ # The enum value corresponds to 'type' suffix in the resource_type field.
758
+ module ResourceCategory
759
+ # Unspecified.
760
+ RESOURCE_CATEGORY_UNSPECIFIED = 0
761
+
762
+ # A resource that is an Instance.
763
+ INSTANCE = 1
764
+
765
+ # A resource that is a Cluster.
766
+ CLUSTER = 2
767
+
768
+ # A resource that is a Database.
769
+ DATABASE = 3
770
+ end
771
+
772
+ # Proto representing the edition of the instance.
773
+ # NextId: 4.
774
+ module Edition
775
+ # Default, to make it consistent with instance edition enum.
776
+ EDITION_UNSPECIFIED = 0
777
+
778
+ # Represents the enterprise edition.
779
+ EDITION_ENTERPRISE = 1
780
+
781
+ # Represents the enterprise plus edition.
782
+ EDITION_ENTERPRISE_PLUS = 2
783
+
784
+ # Represents the standard edition.
785
+ EDITION_STANDARD = 3
786
+ end
787
+
788
+ # SubResourceType refers to the sub-type of database resource.
789
+ module SubResourceType
790
+ # Unspecified.
791
+ SUB_RESOURCE_TYPE_UNSPECIFIED = 0
792
+
793
+ # A resource acting as a primary.
794
+ SUB_RESOURCE_TYPE_PRIMARY = 1
795
+
796
+ # A resource acting as a secondary.
797
+ SUB_RESOURCE_TYPE_SECONDARY = 2
798
+
799
+ # A resource acting as a read-replica.
800
+ SUB_RESOURCE_TYPE_READ_REPLICA = 3
801
+
802
+ # A resource acting as an external primary.
803
+ SUB_RESOURCE_TYPE_EXTERNAL_PRIMARY = 5
804
+
805
+ # For the rest of the categories.
806
+ SUB_RESOURCE_TYPE_OTHER = 4
807
+ end
808
+
809
+ # The management type of the resource.
810
+ module ManagementType
811
+ # Unspecified.
812
+ MANAGEMENT_TYPE_UNSPECIFIED = 0
813
+
814
+ # Google-managed resource.
815
+ MANAGEMENT_TYPE_GCP_MANAGED = 1
816
+
817
+ # Self-managed resource.
818
+ MANAGEMENT_TYPE_SELF_MANAGED = 2
819
+ end
820
+ end
821
+ end
822
+ end
823
+ end