google-cloud-database_center-v1beta 0.a → 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 (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 +841 -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 +801 -0
  8. data/lib/google/cloud/database_center/v1beta/database_center/rest/service_stub.rb +259 -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 +76 -0
  20. data/lib/google/cloud/databasecenter/v1beta/service_services_pb.rb +51 -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 +43 -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 +706 -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,227 @@
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 Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # pattern: "projects/{project}/topics/{topic}"
37
+ # };
38
+ # }
39
+ #
40
+ # The ResourceDescriptor Yaml config will look like:
41
+ #
42
+ # resources:
43
+ # - type: "pubsub.googleapis.com/Topic"
44
+ # pattern: "projects/{project}/topics/{topic}"
45
+ #
46
+ # Sometimes, resources have multiple patterns, typically because they can
47
+ # live under multiple parents.
48
+ #
49
+ # Example:
50
+ #
51
+ # message LogEntry {
52
+ # option (google.api.resource) = {
53
+ # type: "logging.googleapis.com/LogEntry"
54
+ # pattern: "projects/{project}/logs/{log}"
55
+ # pattern: "folders/{folder}/logs/{log}"
56
+ # pattern: "organizations/{organization}/logs/{log}"
57
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
58
+ # };
59
+ # }
60
+ #
61
+ # The ResourceDescriptor Yaml config will look like:
62
+ #
63
+ # resources:
64
+ # - type: 'logging.googleapis.com/LogEntry'
65
+ # pattern: "projects/{project}/logs/{log}"
66
+ # pattern: "folders/{folder}/logs/{log}"
67
+ # pattern: "organizations/{organization}/logs/{log}"
68
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
69
+ # @!attribute [rw] type
70
+ # @return [::String]
71
+ # The resource type. It must be in the format of
72
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
73
+ # singular and must not include version numbers.
74
+ #
75
+ # Example: `storage.googleapis.com/Bucket`
76
+ #
77
+ # The value of the resource_type_kind must follow the regular expression
78
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
79
+ # should use PascalCase (UpperCamelCase). The maximum number of
80
+ # characters allowed for the `resource_type_kind` is 100.
81
+ # @!attribute [rw] pattern
82
+ # @return [::Array<::String>]
83
+ # Optional. The relative resource name pattern associated with this resource
84
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
85
+ #
86
+ # The path pattern must follow the syntax, which aligns with HTTP binding
87
+ # syntax:
88
+ #
89
+ # Template = Segment { "/" Segment } ;
90
+ # Segment = LITERAL | Variable ;
91
+ # Variable = "{" LITERAL "}" ;
92
+ #
93
+ # Examples:
94
+ #
95
+ # - "projects/\\{project}/topics/\\{topic}"
96
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
97
+ #
98
+ # The components in braces correspond to the IDs for each resource in the
99
+ # hierarchy. It is expected that, if multiple patterns are provided,
100
+ # the same component name (e.g. "project") refers to IDs of the same
101
+ # type of resource.
102
+ # @!attribute [rw] name_field
103
+ # @return [::String]
104
+ # Optional. The field on the resource that designates the resource name
105
+ # field. If omitted, this is assumed to be "name".
106
+ # @!attribute [rw] history
107
+ # @return [::Google::Api::ResourceDescriptor::History]
108
+ # Optional. The historical or future-looking state of the resource pattern.
109
+ #
110
+ # Example:
111
+ #
112
+ # // The InspectTemplate message originally only supported resource
113
+ # // names with organization, and project was added later.
114
+ # message InspectTemplate {
115
+ # option (google.api.resource) = {
116
+ # type: "dlp.googleapis.com/InspectTemplate"
117
+ # pattern:
118
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
119
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
120
+ # history: ORIGINALLY_SINGLE_PATTERN
121
+ # };
122
+ # }
123
+ # @!attribute [rw] plural
124
+ # @return [::String]
125
+ # The plural name used in the resource name and permission names, such as
126
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
127
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception
128
+ # to this is for Nested Collections that have stuttering names, as defined
129
+ # in [AIP-122](https://google.aip.dev/122#nested-collections), where the
130
+ # collection ID in the resource name pattern does not necessarily directly
131
+ # match the `plural` value.
132
+ #
133
+ # It is the same concept of the `plural` field in k8s CRD spec
134
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
135
+ #
136
+ # Note: The plural form is required even for singleton resources. See
137
+ # https://aip.dev/156
138
+ # @!attribute [rw] singular
139
+ # @return [::String]
140
+ # The same concept of the `singular` field in k8s CRD spec
141
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
142
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
143
+ # @!attribute [rw] style
144
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
145
+ # Style flag(s) for this resource.
146
+ # These indicate that a resource is expected to conform to a given
147
+ # style. See the specific style flags for additional information.
148
+ class ResourceDescriptor
149
+ include ::Google::Protobuf::MessageExts
150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
151
+
152
+ # A description of the historical or future-looking state of the
153
+ # resource pattern.
154
+ module History
155
+ # The "unset" value.
156
+ HISTORY_UNSPECIFIED = 0
157
+
158
+ # The resource originally had one pattern and launched as such, and
159
+ # additional patterns were added later.
160
+ ORIGINALLY_SINGLE_PATTERN = 1
161
+
162
+ # The resource has one pattern, but the API owner expects to add more
163
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
164
+ # that from being necessary once there are multiple patterns.)
165
+ FUTURE_MULTI_PATTERN = 2
166
+ end
167
+
168
+ # A flag representing a specific style that a resource claims to conform to.
169
+ module Style
170
+ # The unspecified value. Do not use.
171
+ STYLE_UNSPECIFIED = 0
172
+
173
+ # This resource is intended to be "declarative-friendly".
174
+ #
175
+ # Declarative-friendly resources must be more strictly consistent, and
176
+ # setting this to true communicates to tools that this resource should
177
+ # adhere to declarative-friendly expectations.
178
+ #
179
+ # Note: This is used by the API linter (linter.aip.dev) to enable
180
+ # additional checks.
181
+ DECLARATIVE_FRIENDLY = 1
182
+ end
183
+ end
184
+
185
+ # Defines a proto annotation that describes a string field that refers to
186
+ # an API resource.
187
+ # @!attribute [rw] type
188
+ # @return [::String]
189
+ # The resource type that the annotated field references.
190
+ #
191
+ # Example:
192
+ #
193
+ # message Subscription {
194
+ # string topic = 2 [(google.api.resource_reference) = {
195
+ # type: "pubsub.googleapis.com/Topic"
196
+ # }];
197
+ # }
198
+ #
199
+ # Occasionally, a field may reference an arbitrary resource. In this case,
200
+ # APIs use the special value * in their resource reference.
201
+ #
202
+ # Example:
203
+ #
204
+ # message GetIamPolicyRequest {
205
+ # string resource = 2 [(google.api.resource_reference) = {
206
+ # type: "*"
207
+ # }];
208
+ # }
209
+ # @!attribute [rw] child_type
210
+ # @return [::String]
211
+ # The resource type of a child collection that the annotated field
212
+ # references. This is useful for annotating the `parent` field that
213
+ # doesn't have a fixed resource type.
214
+ #
215
+ # Example:
216
+ #
217
+ # message ListLogEntriesRequest {
218
+ # string parent = 1 [(google.api.resource_reference) = {
219
+ # child_type: "logging.googleapis.com/LogEntry"
220
+ # };
221
+ # }
222
+ class ResourceReference
223
+ include ::Google::Protobuf::MessageExts
224
+ extend ::Google::Protobuf::MessageExts::ClassMethods
225
+ end
226
+ end
227
+ end
@@ -0,0 +1,43 @@
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
+ # MachineConfig describes the configuration of a machine specific to a Database
25
+ # Resource.
26
+ # NextID: 5
27
+ # @!attribute [rw] memory_size_bytes
28
+ # @return [::Integer]
29
+ # Memory size in bytes.
30
+ # @!attribute [rw] shard_count
31
+ # @return [::Integer]
32
+ # Optional. The number of Shards (if applicable).
33
+ # @!attribute [rw] vcpu_count
34
+ # @return [::Float]
35
+ # Optional. The number of vCPUs (if applicable).
36
+ class MachineConfig
37
+ include ::Google::Protobuf::MessageExts
38
+ extend ::Google::Protobuf::MessageExts::ClassMethods
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,105 @@
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
+ # Maintenance window for the database resource. It specifies preferred time
25
+ # and day of the week and phase in some cases, when the maintenance can start.
26
+ # @!attribute [rw] start_time
27
+ # @return [::Google::Type::TimeOfDay]
28
+ # Optional. Preferred time to start the maintenance operation on the
29
+ # specified day.
30
+ # @!attribute [rw] day
31
+ # @return [::Google::Type::DayOfWeek]
32
+ # Optional. Preferred day of the week for maintenance, e.g. MONDAY, TUESDAY,
33
+ # etc.
34
+ # @!attribute [rw] phase
35
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::Phase]
36
+ # Optional. Phase of the maintenance window. This is to capture order of
37
+ # maintenance. For example, for Cloud SQL resources, this can be used to
38
+ # capture if the maintenance window is in Week1, Week2, Week5, etc. Non
39
+ # production resources are usually part of early phase.
40
+ # For more details, refer to Cloud SQL resources -
41
+ # https://cloud.google.com/sql/docs/mysql/maintenance
42
+ class ResourceMaintenanceSchedule
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+ end
46
+
47
+ # Deny maintenance period for the database resource. It specifies the time
48
+ # range during which the maintenance cannot start. This is configured by the
49
+ # customer.
50
+ # @!attribute [rw] start_date
51
+ # @return [::Google::Type::Date]
52
+ # Optional. The start date of the deny maintenance period.
53
+ # @!attribute [rw] end_date
54
+ # @return [::Google::Type::Date]
55
+ # Optional. Deny period end date.
56
+ # @!attribute [rw] time
57
+ # @return [::Google::Type::TimeOfDay]
58
+ # Optional. Time in UTC when the deny period starts on start_date and ends on
59
+ # end_date.
60
+ class ResourceMaintenanceDenySchedule
61
+ include ::Google::Protobuf::MessageExts
62
+ extend ::Google::Protobuf::MessageExts::ClassMethods
63
+ end
64
+
65
+ # MaintenanceInfo to capture the maintenance details of database resource.
66
+ # @!attribute [rw] maintenance_schedule
67
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::ResourceMaintenanceSchedule]
68
+ # Optional. Maintenance window for the database resource.
69
+ # @!attribute [rw] deny_maintenance_schedules
70
+ # @return [::Array<::Google::Cloud::DatabaseCenter::V1beta::ResourceMaintenanceDenySchedule>]
71
+ # Optional. List of Deny maintenance period for the database resource.
72
+ # @!attribute [rw] maintenance_version
73
+ # @return [::String]
74
+ # Optional. Current Maintenance version of the database resource. Example:
75
+ # "MYSQL_8_0_41.R20250531.01_15"
76
+ class MaintenanceInfo
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+ end
80
+
81
+ # Phase/Week of the maintenance window. This is to capture order of
82
+ # maintenance. For example, for Cloud SQL resources -
83
+ # https://cloud.google.com/sql/docs/mysql/maintenance.
84
+ # This enum can be extended to support DB Center specific phases for
85
+ # recommendation plan generation.
86
+ module Phase
87
+ # Phase is unspecified.
88
+ PHASE_UNSPECIFIED = 0
89
+
90
+ # Week 1.
91
+ PHASE_WEEK1 = 1
92
+
93
+ # Week 2.
94
+ PHASE_WEEK2 = 2
95
+
96
+ # Week 5.
97
+ PHASE_WEEK5 = 3
98
+
99
+ # Any phase.
100
+ PHASE_ANY = 4
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,92 @@
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
+ # Metrics represents the metrics for a database resource.
25
+ # @!attribute [rw] p99_cpu_utilization
26
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MetricData]
27
+ # P99 CPU utilization observed for the resource. The value is a
28
+ # fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).
29
+ # @!attribute [rw] p95_cpu_utilization
30
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MetricData]
31
+ # P95 CPU utilization observed for the resource. The value is a
32
+ # fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).
33
+ # @!attribute [rw] current_storage_used_bytes
34
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MetricData]
35
+ # Current storage used by the resource in bytes.
36
+ # @!attribute [rw] peak_storage_utilization
37
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MetricData]
38
+ # Peak storage utilization observed for the resource. The value is a
39
+ # fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).
40
+ # @!attribute [rw] peak_memory_utilization
41
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MetricData]
42
+ # Peak memory utilization observed for the resource. The value is a
43
+ # fraction between 0.0 and 1.0 (may momentarily exceed 1.0 in some cases).
44
+ # @!attribute [rw] peak_number_connections
45
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MetricData]
46
+ # Peak number of connections observed for the resource. The value is a
47
+ # positive integer.
48
+ # @!attribute [rw] node_count
49
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MetricData]
50
+ # Number of nodes in instance for spanner or bigtable.
51
+ # @!attribute [rw] processing_unit_count
52
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MetricData]
53
+ # Number of processing units in spanner.
54
+ # @!attribute [rw] current_memory_used_bytes
55
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::MetricData]
56
+ # Current memory used by the resource in bytes.
57
+ class Metrics
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+ end
61
+
62
+ # MetricData represents the metric data for a database resource.
63
+ # @!attribute [rw] value
64
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::TypedValue]
65
+ # The value associated with the metric.
66
+ # @!attribute [rw] observation_time
67
+ # @return [::Google::Protobuf::Timestamp]
68
+ # The time the metric was observed in the metric source service.
69
+ class MetricData
70
+ include ::Google::Protobuf::MessageExts
71
+ extend ::Google::Protobuf::MessageExts::ClassMethods
72
+ end
73
+
74
+ # TypedValue represents the value of the metric based on data type.
75
+ # @!attribute [rw] double_value
76
+ # @return [::Float]
77
+ # The value of the metric as double.
78
+ #
79
+ # Note: The following fields are mutually exclusive: `double_value`, `int64_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
80
+ # @!attribute [rw] int64_value
81
+ # @return [::Integer]
82
+ # The value of the metric as int.
83
+ #
84
+ # Note: The following fields are mutually exclusive: `int64_value`, `double_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
85
+ class TypedValue
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,53 @@
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
+ # OperationErrorType is used to expose specific error type which can happen in
25
+ # database resource while performing an operation. For example, an error can
26
+ # happen while database resource being backed up.
27
+ module OperationErrorType
28
+ # UNSPECIFIED means operation error type is not known or available.
29
+ OPERATION_ERROR_TYPE_UNSPECIFIED = 0
30
+
31
+ # Key destroyed, expired, not found, unreachable or permission denied.
32
+ KMS_KEY_ERROR = 1
33
+
34
+ # Database is not accessible.
35
+ DATABASE_ERROR = 2
36
+
37
+ # The zone or region does not have sufficient resources to handle the request
38
+ # at the moment.
39
+ STOCKOUT_ERROR = 3
40
+
41
+ # User initiated cancellation.
42
+ CANCELLATION_ERROR = 4
43
+
44
+ # SQL server specific error.
45
+ SQLSERVER_ERROR = 5
46
+
47
+ # Any other internal error.
48
+ INTERNAL_ERROR = 6
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,132 @@
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
+ # Product specification for databasecenter resources.
25
+ # @!attribute [rw] type
26
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::ProductType]
27
+ # Optional. Type of specific database product. It could be CloudSQL, AlloyDB
28
+ # etc..
29
+ # @!attribute [rw] engine
30
+ # @return [::Google::Cloud::DatabaseCenter::V1beta::Engine]
31
+ # Optional. The specific engine that the underlying database is running.
32
+ # @!attribute [rw] version
33
+ # @return [::String]
34
+ # Optional. Version of the underlying database engine. Example values: For
35
+ # MySQL, it could be "8.0", "5.7" etc. For Postgres, it could be "14", "15"
36
+ # etc.
37
+ # @!attribute [rw] minor_version
38
+ # @return [::String]
39
+ # Optional. Minor version of the underlying database engine. Example values:
40
+ # For MySQL, it could be "8.0.35", "5.7.25" etc. For PostgreSQL, it could be
41
+ # "14.4", "15.5" etc.
42
+ class Product
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+ end
46
+
47
+ # Engine refers to underlying database binary running in an instance.
48
+ module Engine
49
+ # UNSPECIFIED means engine type is not known or available.
50
+ ENGINE_UNSPECIFIED = 0
51
+
52
+ # MySQL binary running as an engine in the database instance.
53
+ ENGINE_MYSQL = 1
54
+
55
+ # Postgres binary running as engine in database instance.
56
+ ENGINE_POSTGRES = 2
57
+
58
+ # SQLServer binary running as engine in database instance.
59
+ ENGINE_SQL_SERVER = 3
60
+
61
+ # Native database binary running as engine in instance.
62
+ ENGINE_NATIVE = 4
63
+
64
+ # Memorystore with Redis dialect.
65
+ ENGINE_MEMORYSTORE_FOR_REDIS = 8
66
+
67
+ # Memorystore with Redis cluster dialect.
68
+ ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER = 9
69
+
70
+ # Firestore with native mode.
71
+ ENGINE_FIRESTORE_WITH_NATIVE_MODE = 10
72
+
73
+ # Firestore with datastore mode.
74
+ ENGINE_FIRESTORE_WITH_DATASTORE_MODE = 11
75
+
76
+ # Oracle Exadata engine.
77
+ ENGINE_EXADATA_ORACLE = 12
78
+
79
+ # Oracle Autonomous DB Serverless engine.
80
+ ENGINE_ADB_SERVERLESS_ORACLE = 13
81
+
82
+ # Firestore with MongoDB compatibility.
83
+ ENGINE_FIRESTORE_WITH_MONGODB_COMPATIBILITY_MODE = 14
84
+
85
+ # Other refers to rest of other database engine. This is to be when engine is
86
+ # known, but it is not present in this enum.
87
+ ENGINE_OTHER = 6
88
+ end
89
+
90
+ # ProductType is used to identify a database service offering either in a cloud
91
+ # provider or on-premise. This enum needs to be updated whenever we introduce
92
+ # a new ProductType.
93
+ module ProductType
94
+ # PRODUCT_TYPE_UNSPECIFIED means product type is not known or that the user
95
+ # didn't provide this field in the request.
96
+ PRODUCT_TYPE_UNSPECIFIED = 0
97
+
98
+ # Cloud SQL product area in GCP
99
+ PRODUCT_TYPE_CLOUD_SQL = 1
100
+
101
+ # AlloyDB product area in GCP
102
+ PRODUCT_TYPE_ALLOYDB = 2
103
+
104
+ # Spanner product area in GCP
105
+ PRODUCT_TYPE_SPANNER = 3
106
+
107
+ # Bigtable product area in GCP
108
+ PRODUCT_TYPE_BIGTABLE = 6
109
+
110
+ # Memorystore product area in GCP
111
+ PRODUCT_TYPE_MEMORYSTORE = 7
112
+
113
+ # Firestore product area in GCP
114
+ PRODUCT_TYPE_FIRESTORE = 8
115
+
116
+ # Compute Engine self managed databases
117
+ PRODUCT_TYPE_COMPUTE_ENGINE = 9
118
+
119
+ # Oracle product area in GCP
120
+ PRODUCT_TYPE_ORACLE_ON_GCP = 10
121
+
122
+ # BigQuery product area in GCP
123
+ PRODUCT_TYPE_BIGQUERY = 11
124
+
125
+ # Other refers to rest of other product type. This is to be when product type
126
+ # is known, but it is not present in this enum.
127
+ PRODUCT_TYPE_OTHER = 5
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end