google-apis-oracledatabase_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2899 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module OracledatabaseV1
24
+
25
+ # A list of all connection strings that can be used to connect to the Autonomous
26
+ # Database.
27
+ class AllConnectionStrings
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Output only. The database service provides the highest level of resources to
31
+ # each SQL statement.
32
+ # Corresponds to the JSON property `high`
33
+ # @return [String]
34
+ attr_accessor :high
35
+
36
+ # Output only. The database service provides the least level of resources to
37
+ # each SQL statement.
38
+ # Corresponds to the JSON property `low`
39
+ # @return [String]
40
+ attr_accessor :low
41
+
42
+ # Output only. The database service provides a lower level of resources to each
43
+ # SQL statement.
44
+ # Corresponds to the JSON property `medium`
45
+ # @return [String]
46
+ attr_accessor :medium
47
+
48
+ def initialize(**args)
49
+ update!(**args)
50
+ end
51
+
52
+ # Update properties of this object
53
+ def update!(**args)
54
+ @high = args[:high] if args.key?(:high)
55
+ @low = args[:low] if args.key?(:low)
56
+ @medium = args[:medium] if args.key?(:medium)
57
+ end
58
+ end
59
+
60
+ # Details of the Autonomous Database resource. https://docs.oracle.com/en-us/
61
+ # iaas/api/#/en/database/20160918/AutonomousDatabase/
62
+ class AutonomousDatabase
63
+ include Google::Apis::Core::Hashable
64
+
65
+ # Optional. The password for the default ADMIN user.
66
+ # Corresponds to the JSON property `adminPassword`
67
+ # @return [String]
68
+ attr_accessor :admin_password
69
+
70
+ # Required. The subnet CIDR range for the Autonmous Database.
71
+ # Corresponds to the JSON property `cidr`
72
+ # @return [String]
73
+ attr_accessor :cidr
74
+
75
+ # Output only. The date and time that the Autonomous Database was created.
76
+ # Corresponds to the JSON property `createTime`
77
+ # @return [String]
78
+ attr_accessor :create_time
79
+
80
+ # Optional. The name of the Autonomous Database. The database name must be
81
+ # unique in the project. The name must begin with a letter and can contain a
82
+ # maximum of 30 alphanumeric characters.
83
+ # Corresponds to the JSON property `database`
84
+ # @return [String]
85
+ attr_accessor :database
86
+
87
+ # Optional. The display name for the Autonomous Database. The name does not have
88
+ # to be unique within your project.
89
+ # Corresponds to the JSON property `displayName`
90
+ # @return [String]
91
+ attr_accessor :display_name
92
+
93
+ # Output only. The ID of the subscription entitlement associated with the
94
+ # Autonomous Database.
95
+ # Corresponds to the JSON property `entitlementId`
96
+ # @return [String]
97
+ attr_accessor :entitlement_id
98
+
99
+ # Optional. The labels or tags associated with the Autonomous Database.
100
+ # Corresponds to the JSON property `labels`
101
+ # @return [Hash<String,String>]
102
+ attr_accessor :labels
103
+
104
+ # Identifier. The name of the Autonomous Database resource in the following
105
+ # format: projects/`project`/locations/`region`/autonomousDatabases/`
106
+ # autonomous_database`
107
+ # Corresponds to the JSON property `name`
108
+ # @return [String]
109
+ attr_accessor :name
110
+
111
+ # Required. The name of the VPC network used by the Autonomous Database. Format:
112
+ # projects/`project`/global/networks/`network`
113
+ # Corresponds to the JSON property `network`
114
+ # @return [String]
115
+ attr_accessor :network
116
+
117
+ # The properties of an Autonomous Database.
118
+ # Corresponds to the JSON property `properties`
119
+ # @return [Google::Apis::OracledatabaseV1::AutonomousDatabaseProperties]
120
+ attr_accessor :properties
121
+
122
+ def initialize(**args)
123
+ update!(**args)
124
+ end
125
+
126
+ # Update properties of this object
127
+ def update!(**args)
128
+ @admin_password = args[:admin_password] if args.key?(:admin_password)
129
+ @cidr = args[:cidr] if args.key?(:cidr)
130
+ @create_time = args[:create_time] if args.key?(:create_time)
131
+ @database = args[:database] if args.key?(:database)
132
+ @display_name = args[:display_name] if args.key?(:display_name)
133
+ @entitlement_id = args[:entitlement_id] if args.key?(:entitlement_id)
134
+ @labels = args[:labels] if args.key?(:labels)
135
+ @name = args[:name] if args.key?(:name)
136
+ @network = args[:network] if args.key?(:network)
137
+ @properties = args[:properties] if args.key?(:properties)
138
+ end
139
+ end
140
+
141
+ # Oracle APEX Application Development. https://docs.oracle.com/en-us/iaas/api/#/
142
+ # en/database/20160918/datatypes/AutonomousDatabaseApex
143
+ class AutonomousDatabaseApex
144
+ include Google::Apis::Core::Hashable
145
+
146
+ # Output only. The Oracle APEX Application Development version.
147
+ # Corresponds to the JSON property `apexVersion`
148
+ # @return [String]
149
+ attr_accessor :apex_version
150
+
151
+ # Output only. The Oracle REST Data Services (ORDS) version.
152
+ # Corresponds to the JSON property `ordsVersion`
153
+ # @return [String]
154
+ attr_accessor :ords_version
155
+
156
+ def initialize(**args)
157
+ update!(**args)
158
+ end
159
+
160
+ # Update properties of this object
161
+ def update!(**args)
162
+ @apex_version = args[:apex_version] if args.key?(:apex_version)
163
+ @ords_version = args[:ords_version] if args.key?(:ords_version)
164
+ end
165
+ end
166
+
167
+ # Details of the Autonomous Database Backup resource. https://docs.oracle.com/en-
168
+ # us/iaas/api/#/en/database/20160918/AutonomousDatabaseBackup/
169
+ class AutonomousDatabaseBackup
170
+ include Google::Apis::Core::Hashable
171
+
172
+ # Required. The name of the Autonomous Database resource for which the backup is
173
+ # being created. Format: projects/`project`/locations/`region`/
174
+ # autonomousDatabases/`autonomous_database`
175
+ # Corresponds to the JSON property `autonomousDatabase`
176
+ # @return [String]
177
+ attr_accessor :autonomous_database
178
+
179
+ # Optional. User friendly name for the Backup. The name does not have to be
180
+ # unique.
181
+ # Corresponds to the JSON property `displayName`
182
+ # @return [String]
183
+ attr_accessor :display_name
184
+
185
+ # Optional. labels or tags associated with the resource.
186
+ # Corresponds to the JSON property `labels`
187
+ # @return [Hash<String,String>]
188
+ attr_accessor :labels
189
+
190
+ # Identifier. The name of the Autonomous Database Backup resource with the
191
+ # format: projects/`project`/locations/`region`/autonomousDatabaseBackups/`
192
+ # autonomous_database_backup`
193
+ # Corresponds to the JSON property `name`
194
+ # @return [String]
195
+ attr_accessor :name
196
+
197
+ # Properties of the Autonomous Database Backup resource.
198
+ # Corresponds to the JSON property `properties`
199
+ # @return [Google::Apis::OracledatabaseV1::AutonomousDatabaseBackupProperties]
200
+ attr_accessor :properties
201
+
202
+ def initialize(**args)
203
+ update!(**args)
204
+ end
205
+
206
+ # Update properties of this object
207
+ def update!(**args)
208
+ @autonomous_database = args[:autonomous_database] if args.key?(:autonomous_database)
209
+ @display_name = args[:display_name] if args.key?(:display_name)
210
+ @labels = args[:labels] if args.key?(:labels)
211
+ @name = args[:name] if args.key?(:name)
212
+ @properties = args[:properties] if args.key?(:properties)
213
+ end
214
+ end
215
+
216
+ # Properties of the Autonomous Database Backup resource.
217
+ class AutonomousDatabaseBackupProperties
218
+ include Google::Apis::Core::Hashable
219
+
220
+ # Output only. Timestamp until when the backup will be available.
221
+ # Corresponds to the JSON property `availableTillTime`
222
+ # @return [String]
223
+ attr_accessor :available_till_time
224
+
225
+ # Output only. The OCID of the compartment.
226
+ # Corresponds to the JSON property `compartmentId`
227
+ # @return [String]
228
+ attr_accessor :compartment_id
229
+
230
+ # Output only. The quantity of data in the database, in terabytes.
231
+ # Corresponds to the JSON property `databaseSizeTb`
232
+ # @return [Float]
233
+ attr_accessor :database_size_tb
234
+
235
+ # Output only. A valid Oracle Database version for Autonomous Database.
236
+ # Corresponds to the JSON property `dbVersion`
237
+ # @return [String]
238
+ attr_accessor :db_version
239
+
240
+ # Output only. The date and time the backup completed.
241
+ # Corresponds to the JSON property `endTime`
242
+ # @return [String]
243
+ attr_accessor :end_time
244
+
245
+ # Output only. Indicates if the backup is automatic or user initiated.
246
+ # Corresponds to the JSON property `isAutomaticBackup`
247
+ # @return [Boolean]
248
+ attr_accessor :is_automatic_backup
249
+ alias_method :is_automatic_backup?, :is_automatic_backup
250
+
251
+ # Output only. Indicates if the backup is long term backup.
252
+ # Corresponds to the JSON property `isLongTermBackup`
253
+ # @return [Boolean]
254
+ attr_accessor :is_long_term_backup
255
+ alias_method :is_long_term_backup?, :is_long_term_backup
256
+
257
+ # Output only. Indicates if the backup can be used to restore the Autonomous
258
+ # Database.
259
+ # Corresponds to the JSON property `isRestorable`
260
+ # @return [Boolean]
261
+ attr_accessor :is_restorable
262
+ alias_method :is_restorable?, :is_restorable
263
+
264
+ # Optional. The OCID of the key store of Oracle Vault.
265
+ # Corresponds to the JSON property `keyStoreId`
266
+ # @return [String]
267
+ attr_accessor :key_store_id
268
+
269
+ # Optional. The wallet name for Oracle Key Vault.
270
+ # Corresponds to the JSON property `keyStoreWallet`
271
+ # @return [String]
272
+ attr_accessor :key_store_wallet
273
+
274
+ # Optional. The OCID of the key container that is used as the master encryption
275
+ # key in database transparent data encryption (TDE) operations.
276
+ # Corresponds to the JSON property `kmsKeyId`
277
+ # @return [String]
278
+ attr_accessor :kms_key_id
279
+
280
+ # Optional. The OCID of the key container version that is used in database
281
+ # transparent data encryption (TDE) operations KMS Key can have multiple key
282
+ # versions. If none is specified, the current key version (latest) of the Key Id
283
+ # is used for the operation. Autonomous Database Serverless does not use key
284
+ # versions, hence is not applicable for Autonomous Database Serverless instances.
285
+ # Corresponds to the JSON property `kmsKeyVersionId`
286
+ # @return [String]
287
+ attr_accessor :kms_key_version_id
288
+
289
+ # Output only. Additional information about the current lifecycle state.
290
+ # Corresponds to the JSON property `lifecycleDetails`
291
+ # @return [String]
292
+ attr_accessor :lifecycle_details
293
+
294
+ # Output only. The lifecycle state of the backup.
295
+ # Corresponds to the JSON property `lifecycleState`
296
+ # @return [String]
297
+ attr_accessor :lifecycle_state
298
+
299
+ # Output only. OCID of the Autonomous Database backup. https://docs.oracle.com/
300
+ # en-us/iaas/Content/General/Concepts/identifiers.htm#Oracle
301
+ # Corresponds to the JSON property `ocid`
302
+ # @return [String]
303
+ attr_accessor :ocid
304
+
305
+ # Optional. Retention period in days for the backup.
306
+ # Corresponds to the JSON property `retentionPeriodDays`
307
+ # @return [Fixnum]
308
+ attr_accessor :retention_period_days
309
+
310
+ # Output only. The backup size in terabytes.
311
+ # Corresponds to the JSON property `sizeTb`
312
+ # @return [Float]
313
+ attr_accessor :size_tb
314
+
315
+ # Output only. The date and time the backup started.
316
+ # Corresponds to the JSON property `startTime`
317
+ # @return [String]
318
+ attr_accessor :start_time
319
+
320
+ # Output only. The type of the backup.
321
+ # Corresponds to the JSON property `type`
322
+ # @return [String]
323
+ attr_accessor :type
324
+
325
+ # Optional. The OCID of the vault.
326
+ # Corresponds to the JSON property `vaultId`
327
+ # @return [String]
328
+ attr_accessor :vault_id
329
+
330
+ def initialize(**args)
331
+ update!(**args)
332
+ end
333
+
334
+ # Update properties of this object
335
+ def update!(**args)
336
+ @available_till_time = args[:available_till_time] if args.key?(:available_till_time)
337
+ @compartment_id = args[:compartment_id] if args.key?(:compartment_id)
338
+ @database_size_tb = args[:database_size_tb] if args.key?(:database_size_tb)
339
+ @db_version = args[:db_version] if args.key?(:db_version)
340
+ @end_time = args[:end_time] if args.key?(:end_time)
341
+ @is_automatic_backup = args[:is_automatic_backup] if args.key?(:is_automatic_backup)
342
+ @is_long_term_backup = args[:is_long_term_backup] if args.key?(:is_long_term_backup)
343
+ @is_restorable = args[:is_restorable] if args.key?(:is_restorable)
344
+ @key_store_id = args[:key_store_id] if args.key?(:key_store_id)
345
+ @key_store_wallet = args[:key_store_wallet] if args.key?(:key_store_wallet)
346
+ @kms_key_id = args[:kms_key_id] if args.key?(:kms_key_id)
347
+ @kms_key_version_id = args[:kms_key_version_id] if args.key?(:kms_key_version_id)
348
+ @lifecycle_details = args[:lifecycle_details] if args.key?(:lifecycle_details)
349
+ @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
350
+ @ocid = args[:ocid] if args.key?(:ocid)
351
+ @retention_period_days = args[:retention_period_days] if args.key?(:retention_period_days)
352
+ @size_tb = args[:size_tb] if args.key?(:size_tb)
353
+ @start_time = args[:start_time] if args.key?(:start_time)
354
+ @type = args[:type] if args.key?(:type)
355
+ @vault_id = args[:vault_id] if args.key?(:vault_id)
356
+ end
357
+ end
358
+
359
+ # Details of the Autonomous Database character set resource. https://docs.oracle.
360
+ # com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabaseCharacterSets/
361
+ class AutonomousDatabaseCharacterSet
362
+ include Google::Apis::Core::Hashable
363
+
364
+ # Output only. The character set name for the Autonomous Database which is the
365
+ # ID in the resource name.
366
+ # Corresponds to the JSON property `characterSet`
367
+ # @return [String]
368
+ attr_accessor :character_set
369
+
370
+ # Output only. The character set type for the Autonomous Database.
371
+ # Corresponds to the JSON property `characterSetType`
372
+ # @return [String]
373
+ attr_accessor :character_set_type
374
+
375
+ # Identifier. The name of the Autonomous Database Character Set resource in the
376
+ # following format: projects/`project`/locations/`region`/
377
+ # autonomousDatabaseCharacterSets/`autonomous_database_character_set`
378
+ # Corresponds to the JSON property `name`
379
+ # @return [String]
380
+ attr_accessor :name
381
+
382
+ def initialize(**args)
383
+ update!(**args)
384
+ end
385
+
386
+ # Update properties of this object
387
+ def update!(**args)
388
+ @character_set = args[:character_set] if args.key?(:character_set)
389
+ @character_set_type = args[:character_set_type] if args.key?(:character_set_type)
390
+ @name = args[:name] if args.key?(:name)
391
+ end
392
+ end
393
+
394
+ # The connection string used to connect to the Autonomous Database. https://docs.
395
+ # oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/
396
+ # AutonomousDatabaseConnectionStrings
397
+ class AutonomousDatabaseConnectionStrings
398
+ include Google::Apis::Core::Hashable
399
+
400
+ # A list of all connection strings that can be used to connect to the Autonomous
401
+ # Database.
402
+ # Corresponds to the JSON property `allConnectionStrings`
403
+ # @return [Google::Apis::OracledatabaseV1::AllConnectionStrings]
404
+ attr_accessor :all_connection_strings
405
+
406
+ # Output only. The database service provides the least level of resources to
407
+ # each SQL statement, but supports the most number of concurrent SQL statements.
408
+ # Corresponds to the JSON property `dedicated`
409
+ # @return [String]
410
+ attr_accessor :dedicated
411
+
412
+ # Output only. The database service provides the highest level of resources to
413
+ # each SQL statement.
414
+ # Corresponds to the JSON property `high`
415
+ # @return [String]
416
+ attr_accessor :high
417
+
418
+ # Output only. The database service provides the least level of resources to
419
+ # each SQL statement.
420
+ # Corresponds to the JSON property `low`
421
+ # @return [String]
422
+ attr_accessor :low
423
+
424
+ # Output only. The database service provides a lower level of resources to each
425
+ # SQL statement.
426
+ # Corresponds to the JSON property `medium`
427
+ # @return [String]
428
+ attr_accessor :medium
429
+
430
+ # Output only. A list of connection string profiles to allow clients to group,
431
+ # filter, and select values based on the structured metadata.
432
+ # Corresponds to the JSON property `profiles`
433
+ # @return [Array<Google::Apis::OracledatabaseV1::DatabaseConnectionStringProfile>]
434
+ attr_accessor :profiles
435
+
436
+ def initialize(**args)
437
+ update!(**args)
438
+ end
439
+
440
+ # Update properties of this object
441
+ def update!(**args)
442
+ @all_connection_strings = args[:all_connection_strings] if args.key?(:all_connection_strings)
443
+ @dedicated = args[:dedicated] if args.key?(:dedicated)
444
+ @high = args[:high] if args.key?(:high)
445
+ @low = args[:low] if args.key?(:low)
446
+ @medium = args[:medium] if args.key?(:medium)
447
+ @profiles = args[:profiles] if args.key?(:profiles)
448
+ end
449
+ end
450
+
451
+ # The URLs for accessing Oracle Application Express (APEX) and SQL Developer Web
452
+ # with a browser from a Compute instance. https://docs.oracle.com/en-us/iaas/api/
453
+ # #/en/database/20160918/datatypes/AutonomousDatabaseConnectionUrls
454
+ class AutonomousDatabaseConnectionUrls
455
+ include Google::Apis::Core::Hashable
456
+
457
+ # Output only. Oracle Application Express (APEX) URL.
458
+ # Corresponds to the JSON property `apexUri`
459
+ # @return [String]
460
+ attr_accessor :apex_uri
461
+
462
+ # Output only. The URL of the Database Transforms for the Autonomous Database.
463
+ # Corresponds to the JSON property `databaseTransformsUri`
464
+ # @return [String]
465
+ attr_accessor :database_transforms_uri
466
+
467
+ # Output only. The URL of the Graph Studio for the Autonomous Database.
468
+ # Corresponds to the JSON property `graphStudioUri`
469
+ # @return [String]
470
+ attr_accessor :graph_studio_uri
471
+
472
+ # Output only. The URL of the Oracle Machine Learning (OML) Notebook for the
473
+ # Autonomous Database.
474
+ # Corresponds to the JSON property `machineLearningNotebookUri`
475
+ # @return [String]
476
+ attr_accessor :machine_learning_notebook_uri
477
+
478
+ # Output only. The URL of Machine Learning user management the Autonomous
479
+ # Database.
480
+ # Corresponds to the JSON property `machineLearningUserManagementUri`
481
+ # @return [String]
482
+ attr_accessor :machine_learning_user_management_uri
483
+
484
+ # Output only. The URL of the MongoDB API for the Autonomous Database.
485
+ # Corresponds to the JSON property `mongoDbUri`
486
+ # @return [String]
487
+ attr_accessor :mongo_db_uri
488
+
489
+ # Output only. The Oracle REST Data Services (ORDS) URL of the Web Access for
490
+ # the Autonomous Database.
491
+ # Corresponds to the JSON property `ordsUri`
492
+ # @return [String]
493
+ attr_accessor :ords_uri
494
+
495
+ # Output only. The URL of the Oracle SQL Developer Web for the Autonomous
496
+ # Database.
497
+ # Corresponds to the JSON property `sqlDevWebUri`
498
+ # @return [String]
499
+ attr_accessor :sql_dev_web_uri
500
+
501
+ def initialize(**args)
502
+ update!(**args)
503
+ end
504
+
505
+ # Update properties of this object
506
+ def update!(**args)
507
+ @apex_uri = args[:apex_uri] if args.key?(:apex_uri)
508
+ @database_transforms_uri = args[:database_transforms_uri] if args.key?(:database_transforms_uri)
509
+ @graph_studio_uri = args[:graph_studio_uri] if args.key?(:graph_studio_uri)
510
+ @machine_learning_notebook_uri = args[:machine_learning_notebook_uri] if args.key?(:machine_learning_notebook_uri)
511
+ @machine_learning_user_management_uri = args[:machine_learning_user_management_uri] if args.key?(:machine_learning_user_management_uri)
512
+ @mongo_db_uri = args[:mongo_db_uri] if args.key?(:mongo_db_uri)
513
+ @ords_uri = args[:ords_uri] if args.key?(:ords_uri)
514
+ @sql_dev_web_uri = args[:sql_dev_web_uri] if args.key?(:sql_dev_web_uri)
515
+ end
516
+ end
517
+
518
+ # The properties of an Autonomous Database.
519
+ class AutonomousDatabaseProperties
520
+ include Google::Apis::Core::Hashable
521
+
522
+ # Output only. The amount of storage currently being used for user and system
523
+ # data, in terabytes.
524
+ # Corresponds to the JSON property `actualUsedDataStorageSizeTb`
525
+ # @return [Float]
526
+ attr_accessor :actual_used_data_storage_size_tb
527
+
528
+ # Output only. The amount of storage currently allocated for the database tables
529
+ # and billed for, rounded up in terabytes.
530
+ # Corresponds to the JSON property `allocatedStorageSizeTb`
531
+ # @return [Float]
532
+ attr_accessor :allocated_storage_size_tb
533
+
534
+ # Oracle APEX Application Development. https://docs.oracle.com/en-us/iaas/api/#/
535
+ # en/database/20160918/datatypes/AutonomousDatabaseApex
536
+ # Corresponds to the JSON property `apexDetails`
537
+ # @return [Google::Apis::OracledatabaseV1::AutonomousDatabaseApex]
538
+ attr_accessor :apex_details
539
+
540
+ # Output only. This field indicates the status of Data Guard and Access control
541
+ # for the Autonomous Database. The field's value is null if Data Guard is
542
+ # disabled or Access Control is disabled. The field's value is TRUE if both Data
543
+ # Guard and Access Control are enabled, and the Autonomous Database is using
544
+ # primary IP access control list (ACL) for standby. The field's value is FALSE
545
+ # if both Data Guard and Access Control are enabled, and the Autonomous Database
546
+ # is using a different IP access control list (ACL) for standby compared to
547
+ # primary.
548
+ # Corresponds to the JSON property `arePrimaryAllowlistedIpsUsed`
549
+ # @return [Boolean]
550
+ attr_accessor :are_primary_allowlisted_ips_used
551
+ alias_method :are_primary_allowlisted_ips_used?, :are_primary_allowlisted_ips_used
552
+
553
+ # Output only. The Autonomous Container Database OCID.
554
+ # Corresponds to the JSON property `autonomousContainerDatabaseId`
555
+ # @return [String]
556
+ attr_accessor :autonomous_container_database_id
557
+
558
+ # Output only. The list of available Oracle Database upgrade versions for an
559
+ # Autonomous Database.
560
+ # Corresponds to the JSON property `availableUpgradeVersions`
561
+ # @return [Array<String>]
562
+ attr_accessor :available_upgrade_versions
563
+
564
+ # Optional. The retention period for the Autonomous Database. This field is
565
+ # specified in days, can range from 1 day to 60 days, and has a default value of
566
+ # 60 days.
567
+ # Corresponds to the JSON property `backupRetentionPeriodDays`
568
+ # @return [Fixnum]
569
+ attr_accessor :backup_retention_period_days
570
+
571
+ # Optional. The character set for the Autonomous Database. The default is
572
+ # AL32UTF8.
573
+ # Corresponds to the JSON property `characterSet`
574
+ # @return [String]
575
+ attr_accessor :character_set
576
+
577
+ # Optional. The number of compute servers for the Autonomous Database.
578
+ # Corresponds to the JSON property `computeCount`
579
+ # @return [Float]
580
+ attr_accessor :compute_count
581
+
582
+ # The connection string used to connect to the Autonomous Database. https://docs.
583
+ # oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/
584
+ # AutonomousDatabaseConnectionStrings
585
+ # Corresponds to the JSON property `connectionStrings`
586
+ # @return [Google::Apis::OracledatabaseV1::AutonomousDatabaseConnectionStrings]
587
+ attr_accessor :connection_strings
588
+
589
+ # The URLs for accessing Oracle Application Express (APEX) and SQL Developer Web
590
+ # with a browser from a Compute instance. https://docs.oracle.com/en-us/iaas/api/
591
+ # #/en/database/20160918/datatypes/AutonomousDatabaseConnectionUrls
592
+ # Corresponds to the JSON property `connectionUrls`
593
+ # @return [Google::Apis::OracledatabaseV1::AutonomousDatabaseConnectionUrls]
594
+ attr_accessor :connection_urls
595
+
596
+ # Optional. The number of CPU cores to be made available to the database.
597
+ # Corresponds to the JSON property `cpuCoreCount`
598
+ # @return [Fixnum]
599
+ attr_accessor :cpu_core_count
600
+
601
+ # Optional. The list of customer contacts.
602
+ # Corresponds to the JSON property `customerContacts`
603
+ # @return [Array<Google::Apis::OracledatabaseV1::CustomerContact>]
604
+ attr_accessor :customer_contacts
605
+
606
+ # Output only. The current state of the Data Safe registration for the
607
+ # Autonomous Database.
608
+ # Corresponds to the JSON property `dataSafeState`
609
+ # @return [String]
610
+ attr_accessor :data_safe_state
611
+
612
+ # Optional. The size of the data stored in the database, in gigabytes.
613
+ # Corresponds to the JSON property `dataStorageSizeGb`
614
+ # @return [Fixnum]
615
+ attr_accessor :data_storage_size_gb
616
+
617
+ # Optional. The size of the data stored in the database, in terabytes.
618
+ # Corresponds to the JSON property `dataStorageSizeTb`
619
+ # @return [Fixnum]
620
+ attr_accessor :data_storage_size_tb
621
+
622
+ # Output only. The current state of database management for the Autonomous
623
+ # Database.
624
+ # Corresponds to the JSON property `databaseManagementState`
625
+ # @return [String]
626
+ attr_accessor :database_management_state
627
+
628
+ # Optional. The edition of the Autonomous Databases.
629
+ # Corresponds to the JSON property `dbEdition`
630
+ # @return [String]
631
+ attr_accessor :db_edition
632
+
633
+ # Optional. The Oracle Database version for the Autonomous Database.
634
+ # Corresponds to the JSON property `dbVersion`
635
+ # @return [String]
636
+ attr_accessor :db_version
637
+
638
+ # Required. The workload type of the Autonomous Database.
639
+ # Corresponds to the JSON property `dbWorkload`
640
+ # @return [String]
641
+ attr_accessor :db_workload
642
+
643
+ # Output only. This field indicates the number of seconds of data loss during a
644
+ # Data Guard failover.
645
+ # Corresponds to the JSON property `failedDataRecoveryDuration`
646
+ # @return [String]
647
+ attr_accessor :failed_data_recovery_duration
648
+
649
+ # Optional. This field indicates if auto scaling is enabled for the Autonomous
650
+ # Database CPU core count.
651
+ # Corresponds to the JSON property `isAutoScalingEnabled`
652
+ # @return [Boolean]
653
+ attr_accessor :is_auto_scaling_enabled
654
+ alias_method :is_auto_scaling_enabled?, :is_auto_scaling_enabled
655
+
656
+ # Output only. This field indicates whether the Autonomous Database has local (
657
+ # in-region) Data Guard enabled.
658
+ # Corresponds to the JSON property `isLocalDataGuardEnabled`
659
+ # @return [Boolean]
660
+ attr_accessor :is_local_data_guard_enabled
661
+ alias_method :is_local_data_guard_enabled?, :is_local_data_guard_enabled
662
+
663
+ # Optional. This field indicates if auto scaling is enabled for the Autonomous
664
+ # Database storage.
665
+ # Corresponds to the JSON property `isStorageAutoScalingEnabled`
666
+ # @return [Boolean]
667
+ attr_accessor :is_storage_auto_scaling_enabled
668
+ alias_method :is_storage_auto_scaling_enabled?, :is_storage_auto_scaling_enabled
669
+
670
+ # Required. The license type used for the Autonomous Database.
671
+ # Corresponds to the JSON property `licenseType`
672
+ # @return [String]
673
+ attr_accessor :license_type
674
+
675
+ # Output only. The details of the current lifestyle state of the Autonomous
676
+ # Database.
677
+ # Corresponds to the JSON property `lifecycleDetails`
678
+ # @return [String]
679
+ attr_accessor :lifecycle_details
680
+
681
+ # Output only. This field indicates the maximum data loss limit for an
682
+ # Autonomous Database, in seconds.
683
+ # Corresponds to the JSON property `localAdgAutoFailoverMaxDataLossLimit`
684
+ # @return [Fixnum]
685
+ attr_accessor :local_adg_auto_failover_max_data_loss_limit
686
+
687
+ # Output only. This field indicates the local disaster recovery (DR) type of an
688
+ # Autonomous Database.
689
+ # Corresponds to the JSON property `localDisasterRecoveryType`
690
+ # @return [String]
691
+ attr_accessor :local_disaster_recovery_type
692
+
693
+ # Autonomous Data Guard standby database details. https://docs.oracle.com/en-us/
694
+ # iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseStandbySummary
695
+ # Corresponds to the JSON property `localStandbyDb`
696
+ # @return [Google::Apis::OracledatabaseV1::AutonomousDatabaseStandbySummary]
697
+ attr_accessor :local_standby_db
698
+
699
+ # Output only. The date and time when maintenance will begin.
700
+ # Corresponds to the JSON property `maintenanceBeginTime`
701
+ # @return [String]
702
+ attr_accessor :maintenance_begin_time
703
+
704
+ # Output only. The date and time when maintenance will end.
705
+ # Corresponds to the JSON property `maintenanceEndTime`
706
+ # @return [String]
707
+ attr_accessor :maintenance_end_time
708
+
709
+ # Optional. The maintenance schedule of the Autonomous Database.
710
+ # Corresponds to the JSON property `maintenanceScheduleType`
711
+ # @return [String]
712
+ attr_accessor :maintenance_schedule_type
713
+
714
+ # Output only. The amount of memory enabled per ECPU, in gigabytes.
715
+ # Corresponds to the JSON property `memoryPerOracleComputeUnitGbs`
716
+ # @return [Fixnum]
717
+ attr_accessor :memory_per_oracle_compute_unit_gbs
718
+
719
+ # Output only. The memory assigned to in-memory tables in an Autonomous Database.
720
+ # Corresponds to the JSON property `memoryTableGbs`
721
+ # @return [Fixnum]
722
+ attr_accessor :memory_table_gbs
723
+
724
+ # Optional. This field specifies if the Autonomous Database requires mTLS
725
+ # connections.
726
+ # Corresponds to the JSON property `mtlsConnectionRequired`
727
+ # @return [Boolean]
728
+ attr_accessor :mtls_connection_required
729
+ alias_method :mtls_connection_required?, :mtls_connection_required
730
+
731
+ # Optional. The national character set for the Autonomous Database. The default
732
+ # is AL16UTF16.
733
+ # Corresponds to the JSON property `nCharacterSet`
734
+ # @return [String]
735
+ attr_accessor :n_character_set
736
+
737
+ # Output only. The long term backup schedule of the Autonomous Database.
738
+ # Corresponds to the JSON property `nextLongTermBackupTime`
739
+ # @return [String]
740
+ attr_accessor :next_long_term_backup_time
741
+
742
+ # Output only. The Oracle Cloud Infrastructure link for the Autonomous Database.
743
+ # Corresponds to the JSON property `ociUrl`
744
+ # @return [String]
745
+ attr_accessor :oci_url
746
+
747
+ # Output only. OCID of the Autonomous Database. https://docs.oracle.com/en-us/
748
+ # iaas/Content/General/Concepts/identifiers.htm#Oracle
749
+ # Corresponds to the JSON property `ocid`
750
+ # @return [String]
751
+ attr_accessor :ocid
752
+
753
+ # Output only. This field indicates the current mode of the Autonomous Database.
754
+ # Corresponds to the JSON property `openMode`
755
+ # @return [String]
756
+ attr_accessor :open_mode
757
+
758
+ # Output only. This field indicates the state of Operations Insights for the
759
+ # Autonomous Database.
760
+ # Corresponds to the JSON property `operationsInsightsState`
761
+ # @return [String]
762
+ attr_accessor :operations_insights_state
763
+
764
+ # Output only. The list of OCIDs of standby databases located in Autonomous Data
765
+ # Guard remote regions that are associated with the source database.
766
+ # Corresponds to the JSON property `peerDbIds`
767
+ # @return [Array<String>]
768
+ attr_accessor :peer_db_ids
769
+
770
+ # Output only. The permission level of the Autonomous Database.
771
+ # Corresponds to the JSON property `permissionLevel`
772
+ # @return [String]
773
+ attr_accessor :permission_level
774
+
775
+ # Output only. The private endpoint for the Autonomous Database.
776
+ # Corresponds to the JSON property `privateEndpoint`
777
+ # @return [String]
778
+ attr_accessor :private_endpoint
779
+
780
+ # Optional. The private endpoint IP address for the Autonomous Database.
781
+ # Corresponds to the JSON property `privateEndpointIp`
782
+ # @return [String]
783
+ attr_accessor :private_endpoint_ip
784
+
785
+ # Optional. The private endpoint label for the Autonomous Database.
786
+ # Corresponds to the JSON property `privateEndpointLabel`
787
+ # @return [String]
788
+ attr_accessor :private_endpoint_label
789
+
790
+ # Output only. The refresh mode of the cloned Autonomous Database.
791
+ # Corresponds to the JSON property `refreshableMode`
792
+ # @return [String]
793
+ attr_accessor :refreshable_mode
794
+
795
+ # Output only. The refresh State of the clone.
796
+ # Corresponds to the JSON property `refreshableState`
797
+ # @return [String]
798
+ attr_accessor :refreshable_state
799
+
800
+ # Output only. The Data Guard role of the Autonomous Database.
801
+ # Corresponds to the JSON property `role`
802
+ # @return [String]
803
+ attr_accessor :role
804
+
805
+ # Output only. The list and details of the scheduled operations of the
806
+ # Autonomous Database.
807
+ # Corresponds to the JSON property `scheduledOperationDetails`
808
+ # @return [Array<Google::Apis::OracledatabaseV1::ScheduledOperationDetails>]
809
+ attr_accessor :scheduled_operation_details
810
+
811
+ # Optional. The ID of the Oracle Cloud Infrastructure vault secret.
812
+ # Corresponds to the JSON property `secretId`
813
+ # @return [String]
814
+ attr_accessor :secret_id
815
+
816
+ # Output only. The SQL Web Developer URL for the Autonomous Database.
817
+ # Corresponds to the JSON property `sqlWebDeveloperUrl`
818
+ # @return [String]
819
+ attr_accessor :sql_web_developer_url
820
+
821
+ # Output only. The current lifecycle state of the Autonomous Database.
822
+ # Corresponds to the JSON property `state`
823
+ # @return [String]
824
+ attr_accessor :state
825
+
826
+ # Output only. The list of available regions that can be used to create a clone
827
+ # for the Autonomous Database.
828
+ # Corresponds to the JSON property `supportedCloneRegions`
829
+ # @return [Array<String>]
830
+ attr_accessor :supported_clone_regions
831
+
832
+ # Output only. The storage space used by automatic backups of Autonomous
833
+ # Database, in gigabytes.
834
+ # Corresponds to the JSON property `totalAutoBackupStorageSizeGbs`
835
+ # @return [Float]
836
+ attr_accessor :total_auto_backup_storage_size_gbs
837
+
838
+ # Output only. The storage space used by Autonomous Database, in gigabytes.
839
+ # Corresponds to the JSON property `usedDataStorageSizeTbs`
840
+ # @return [Fixnum]
841
+ attr_accessor :used_data_storage_size_tbs
842
+
843
+ # Optional. The ID of the Oracle Cloud Infrastructure vault.
844
+ # Corresponds to the JSON property `vaultId`
845
+ # @return [String]
846
+ attr_accessor :vault_id
847
+
848
+ def initialize(**args)
849
+ update!(**args)
850
+ end
851
+
852
+ # Update properties of this object
853
+ def update!(**args)
854
+ @actual_used_data_storage_size_tb = args[:actual_used_data_storage_size_tb] if args.key?(:actual_used_data_storage_size_tb)
855
+ @allocated_storage_size_tb = args[:allocated_storage_size_tb] if args.key?(:allocated_storage_size_tb)
856
+ @apex_details = args[:apex_details] if args.key?(:apex_details)
857
+ @are_primary_allowlisted_ips_used = args[:are_primary_allowlisted_ips_used] if args.key?(:are_primary_allowlisted_ips_used)
858
+ @autonomous_container_database_id = args[:autonomous_container_database_id] if args.key?(:autonomous_container_database_id)
859
+ @available_upgrade_versions = args[:available_upgrade_versions] if args.key?(:available_upgrade_versions)
860
+ @backup_retention_period_days = args[:backup_retention_period_days] if args.key?(:backup_retention_period_days)
861
+ @character_set = args[:character_set] if args.key?(:character_set)
862
+ @compute_count = args[:compute_count] if args.key?(:compute_count)
863
+ @connection_strings = args[:connection_strings] if args.key?(:connection_strings)
864
+ @connection_urls = args[:connection_urls] if args.key?(:connection_urls)
865
+ @cpu_core_count = args[:cpu_core_count] if args.key?(:cpu_core_count)
866
+ @customer_contacts = args[:customer_contacts] if args.key?(:customer_contacts)
867
+ @data_safe_state = args[:data_safe_state] if args.key?(:data_safe_state)
868
+ @data_storage_size_gb = args[:data_storage_size_gb] if args.key?(:data_storage_size_gb)
869
+ @data_storage_size_tb = args[:data_storage_size_tb] if args.key?(:data_storage_size_tb)
870
+ @database_management_state = args[:database_management_state] if args.key?(:database_management_state)
871
+ @db_edition = args[:db_edition] if args.key?(:db_edition)
872
+ @db_version = args[:db_version] if args.key?(:db_version)
873
+ @db_workload = args[:db_workload] if args.key?(:db_workload)
874
+ @failed_data_recovery_duration = args[:failed_data_recovery_duration] if args.key?(:failed_data_recovery_duration)
875
+ @is_auto_scaling_enabled = args[:is_auto_scaling_enabled] if args.key?(:is_auto_scaling_enabled)
876
+ @is_local_data_guard_enabled = args[:is_local_data_guard_enabled] if args.key?(:is_local_data_guard_enabled)
877
+ @is_storage_auto_scaling_enabled = args[:is_storage_auto_scaling_enabled] if args.key?(:is_storage_auto_scaling_enabled)
878
+ @license_type = args[:license_type] if args.key?(:license_type)
879
+ @lifecycle_details = args[:lifecycle_details] if args.key?(:lifecycle_details)
880
+ @local_adg_auto_failover_max_data_loss_limit = args[:local_adg_auto_failover_max_data_loss_limit] if args.key?(:local_adg_auto_failover_max_data_loss_limit)
881
+ @local_disaster_recovery_type = args[:local_disaster_recovery_type] if args.key?(:local_disaster_recovery_type)
882
+ @local_standby_db = args[:local_standby_db] if args.key?(:local_standby_db)
883
+ @maintenance_begin_time = args[:maintenance_begin_time] if args.key?(:maintenance_begin_time)
884
+ @maintenance_end_time = args[:maintenance_end_time] if args.key?(:maintenance_end_time)
885
+ @maintenance_schedule_type = args[:maintenance_schedule_type] if args.key?(:maintenance_schedule_type)
886
+ @memory_per_oracle_compute_unit_gbs = args[:memory_per_oracle_compute_unit_gbs] if args.key?(:memory_per_oracle_compute_unit_gbs)
887
+ @memory_table_gbs = args[:memory_table_gbs] if args.key?(:memory_table_gbs)
888
+ @mtls_connection_required = args[:mtls_connection_required] if args.key?(:mtls_connection_required)
889
+ @n_character_set = args[:n_character_set] if args.key?(:n_character_set)
890
+ @next_long_term_backup_time = args[:next_long_term_backup_time] if args.key?(:next_long_term_backup_time)
891
+ @oci_url = args[:oci_url] if args.key?(:oci_url)
892
+ @ocid = args[:ocid] if args.key?(:ocid)
893
+ @open_mode = args[:open_mode] if args.key?(:open_mode)
894
+ @operations_insights_state = args[:operations_insights_state] if args.key?(:operations_insights_state)
895
+ @peer_db_ids = args[:peer_db_ids] if args.key?(:peer_db_ids)
896
+ @permission_level = args[:permission_level] if args.key?(:permission_level)
897
+ @private_endpoint = args[:private_endpoint] if args.key?(:private_endpoint)
898
+ @private_endpoint_ip = args[:private_endpoint_ip] if args.key?(:private_endpoint_ip)
899
+ @private_endpoint_label = args[:private_endpoint_label] if args.key?(:private_endpoint_label)
900
+ @refreshable_mode = args[:refreshable_mode] if args.key?(:refreshable_mode)
901
+ @refreshable_state = args[:refreshable_state] if args.key?(:refreshable_state)
902
+ @role = args[:role] if args.key?(:role)
903
+ @scheduled_operation_details = args[:scheduled_operation_details] if args.key?(:scheduled_operation_details)
904
+ @secret_id = args[:secret_id] if args.key?(:secret_id)
905
+ @sql_web_developer_url = args[:sql_web_developer_url] if args.key?(:sql_web_developer_url)
906
+ @state = args[:state] if args.key?(:state)
907
+ @supported_clone_regions = args[:supported_clone_regions] if args.key?(:supported_clone_regions)
908
+ @total_auto_backup_storage_size_gbs = args[:total_auto_backup_storage_size_gbs] if args.key?(:total_auto_backup_storage_size_gbs)
909
+ @used_data_storage_size_tbs = args[:used_data_storage_size_tbs] if args.key?(:used_data_storage_size_tbs)
910
+ @vault_id = args[:vault_id] if args.key?(:vault_id)
911
+ end
912
+ end
913
+
914
+ # Autonomous Data Guard standby database details. https://docs.oracle.com/en-us/
915
+ # iaas/api/#/en/database/20160918/datatypes/AutonomousDatabaseStandbySummary
916
+ class AutonomousDatabaseStandbySummary
917
+ include Google::Apis::Core::Hashable
918
+
919
+ # Output only. The date and time the Autonomous Data Guard role was switched for
920
+ # the standby Autonomous Database.
921
+ # Corresponds to the JSON property `dataGuardRoleChangedTime`
922
+ # @return [String]
923
+ attr_accessor :data_guard_role_changed_time
924
+
925
+ # Output only. The date and time the Disaster Recovery role was switched for the
926
+ # standby Autonomous Database.
927
+ # Corresponds to the JSON property `disasterRecoveryRoleChangedTime`
928
+ # @return [String]
929
+ attr_accessor :disaster_recovery_role_changed_time
930
+
931
+ # Output only. The amount of time, in seconds, that the data of the standby
932
+ # database lags in comparison to the data of the primary database.
933
+ # Corresponds to the JSON property `lagTimeDuration`
934
+ # @return [String]
935
+ attr_accessor :lag_time_duration
936
+
937
+ # Output only. The additional details about the current lifecycle state of the
938
+ # Autonomous Database.
939
+ # Corresponds to the JSON property `lifecycleDetails`
940
+ # @return [String]
941
+ attr_accessor :lifecycle_details
942
+
943
+ # Output only. The current lifecycle state of the Autonomous Database.
944
+ # Corresponds to the JSON property `state`
945
+ # @return [String]
946
+ attr_accessor :state
947
+
948
+ def initialize(**args)
949
+ update!(**args)
950
+ end
951
+
952
+ # Update properties of this object
953
+ def update!(**args)
954
+ @data_guard_role_changed_time = args[:data_guard_role_changed_time] if args.key?(:data_guard_role_changed_time)
955
+ @disaster_recovery_role_changed_time = args[:disaster_recovery_role_changed_time] if args.key?(:disaster_recovery_role_changed_time)
956
+ @lag_time_duration = args[:lag_time_duration] if args.key?(:lag_time_duration)
957
+ @lifecycle_details = args[:lifecycle_details] if args.key?(:lifecycle_details)
958
+ @state = args[:state] if args.key?(:state)
959
+ end
960
+ end
961
+
962
+ # Details of the Autonomous Database version. https://docs.oracle.com/en-us/iaas/
963
+ # api/#/en/database/20160918/AutonomousDbVersionSummary/
964
+ class AutonomousDbVersion
965
+ include Google::Apis::Core::Hashable
966
+
967
+ # Output only. The Autonomous Database workload type.
968
+ # Corresponds to the JSON property `dbWorkload`
969
+ # @return [String]
970
+ attr_accessor :db_workload
971
+
972
+ # Identifier. The name of the Autonomous Database Version resource with the
973
+ # format: projects/`project`/locations/`region`/autonomousDbVersions/`
974
+ # autonomous_db_version`
975
+ # Corresponds to the JSON property `name`
976
+ # @return [String]
977
+ attr_accessor :name
978
+
979
+ # Output only. An Oracle Database version for Autonomous Database.
980
+ # Corresponds to the JSON property `version`
981
+ # @return [String]
982
+ attr_accessor :version
983
+
984
+ # Output only. A URL that points to a detailed description of the Autonomous
985
+ # Database version.
986
+ # Corresponds to the JSON property `workloadUri`
987
+ # @return [String]
988
+ attr_accessor :workload_uri
989
+
990
+ def initialize(**args)
991
+ update!(**args)
992
+ end
993
+
994
+ # Update properties of this object
995
+ def update!(**args)
996
+ @db_workload = args[:db_workload] if args.key?(:db_workload)
997
+ @name = args[:name] if args.key?(:name)
998
+ @version = args[:version] if args.key?(:version)
999
+ @workload_uri = args[:workload_uri] if args.key?(:workload_uri)
1000
+ end
1001
+ end
1002
+
1003
+ # The request message for Operations.CancelOperation.
1004
+ class CancelOperationRequest
1005
+ include Google::Apis::Core::Hashable
1006
+
1007
+ def initialize(**args)
1008
+ update!(**args)
1009
+ end
1010
+
1011
+ # Update properties of this object
1012
+ def update!(**args)
1013
+ end
1014
+ end
1015
+
1016
+ # Details of the OCI Cloud Account.
1017
+ class CloudAccountDetails
1018
+ include Google::Apis::Core::Hashable
1019
+
1020
+ # Output only. URL to create a new account and link.
1021
+ # Corresponds to the JSON property `accountCreationUri`
1022
+ # @return [String]
1023
+ attr_accessor :account_creation_uri
1024
+
1025
+ # Output only. OCI account name.
1026
+ # Corresponds to the JSON property `cloudAccount`
1027
+ # @return [String]
1028
+ attr_accessor :cloud_account
1029
+
1030
+ # Output only. OCI account home region.
1031
+ # Corresponds to the JSON property `cloudAccountHomeRegion`
1032
+ # @return [String]
1033
+ attr_accessor :cloud_account_home_region
1034
+
1035
+ # Output only. URL to link an existing account.
1036
+ # Corresponds to the JSON property `linkExistingAccountUri`
1037
+ # @return [String]
1038
+ attr_accessor :link_existing_account_uri
1039
+
1040
+ def initialize(**args)
1041
+ update!(**args)
1042
+ end
1043
+
1044
+ # Update properties of this object
1045
+ def update!(**args)
1046
+ @account_creation_uri = args[:account_creation_uri] if args.key?(:account_creation_uri)
1047
+ @cloud_account = args[:cloud_account] if args.key?(:cloud_account)
1048
+ @cloud_account_home_region = args[:cloud_account_home_region] if args.key?(:cloud_account_home_region)
1049
+ @link_existing_account_uri = args[:link_existing_account_uri] if args.key?(:link_existing_account_uri)
1050
+ end
1051
+ end
1052
+
1053
+ # Represents CloudExadataInfrastructure resource. https://docs.oracle.com/en-us/
1054
+ # iaas/api/#/en/database/20160918/CloudExadataInfrastructure/
1055
+ class CloudExadataInfrastructure
1056
+ include Google::Apis::Core::Hashable
1057
+
1058
+ # Output only. The date and time that the Exadata Infrastructure was created.
1059
+ # Corresponds to the JSON property `createTime`
1060
+ # @return [String]
1061
+ attr_accessor :create_time
1062
+
1063
+ # Optional. User friendly name for this resource.
1064
+ # Corresponds to the JSON property `displayName`
1065
+ # @return [String]
1066
+ attr_accessor :display_name
1067
+
1068
+ # Output only. Entitlement ID of the private offer against which this
1069
+ # infrastructure resource is provisioned.
1070
+ # Corresponds to the JSON property `entitlementId`
1071
+ # @return [String]
1072
+ attr_accessor :entitlement_id
1073
+
1074
+ # Optional. GCP location where Oracle Exadata is hosted.
1075
+ # Corresponds to the JSON property `gcpOracleZone`
1076
+ # @return [String]
1077
+ attr_accessor :gcp_oracle_zone
1078
+
1079
+ # Optional. Labels or tags associated with the resource.
1080
+ # Corresponds to the JSON property `labels`
1081
+ # @return [Hash<String,String>]
1082
+ attr_accessor :labels
1083
+
1084
+ # Identifier. The name of the Exadata Infrastructure resource with the format:
1085
+ # projects/`project`/locations/`region`/cloudExadataInfrastructures/`
1086
+ # cloud_exadata_infrastructure`
1087
+ # Corresponds to the JSON property `name`
1088
+ # @return [String]
1089
+ attr_accessor :name
1090
+
1091
+ # Various properties of Exadata Infrastructure.
1092
+ # Corresponds to the JSON property `properties`
1093
+ # @return [Google::Apis::OracledatabaseV1::CloudExadataInfrastructureProperties]
1094
+ attr_accessor :properties
1095
+
1096
+ def initialize(**args)
1097
+ update!(**args)
1098
+ end
1099
+
1100
+ # Update properties of this object
1101
+ def update!(**args)
1102
+ @create_time = args[:create_time] if args.key?(:create_time)
1103
+ @display_name = args[:display_name] if args.key?(:display_name)
1104
+ @entitlement_id = args[:entitlement_id] if args.key?(:entitlement_id)
1105
+ @gcp_oracle_zone = args[:gcp_oracle_zone] if args.key?(:gcp_oracle_zone)
1106
+ @labels = args[:labels] if args.key?(:labels)
1107
+ @name = args[:name] if args.key?(:name)
1108
+ @properties = args[:properties] if args.key?(:properties)
1109
+ end
1110
+ end
1111
+
1112
+ # Various properties of Exadata Infrastructure.
1113
+ class CloudExadataInfrastructureProperties
1114
+ include Google::Apis::Core::Hashable
1115
+
1116
+ # Output only. The requested number of additional storage servers activated for
1117
+ # the Exadata Infrastructure.
1118
+ # Corresponds to the JSON property `activatedStorageCount`
1119
+ # @return [Fixnum]
1120
+ attr_accessor :activated_storage_count
1121
+
1122
+ # Output only. The requested number of additional storage servers for the
1123
+ # Exadata Infrastructure.
1124
+ # Corresponds to the JSON property `additionalStorageCount`
1125
+ # @return [Fixnum]
1126
+ attr_accessor :additional_storage_count
1127
+
1128
+ # Output only. The available storage can be allocated to the Exadata
1129
+ # Infrastructure resource, in gigabytes (GB).
1130
+ # Corresponds to the JSON property `availableStorageSizeGb`
1131
+ # @return [Fixnum]
1132
+ attr_accessor :available_storage_size_gb
1133
+
1134
+ # Optional. The number of compute servers for the Exadata Infrastructure.
1135
+ # Corresponds to the JSON property `computeCount`
1136
+ # @return [Fixnum]
1137
+ attr_accessor :compute_count
1138
+
1139
+ # Optional. The number of enabled CPU cores.
1140
+ # Corresponds to the JSON property `cpuCount`
1141
+ # @return [Fixnum]
1142
+ attr_accessor :cpu_count
1143
+
1144
+ # Optional. The list of customer contacts.
1145
+ # Corresponds to the JSON property `customerContacts`
1146
+ # @return [Array<Google::Apis::OracledatabaseV1::CustomerContact>]
1147
+ attr_accessor :customer_contacts
1148
+
1149
+ # Output only. Size, in terabytes, of the DATA disk group.
1150
+ # Corresponds to the JSON property `dataStorageSizeTb`
1151
+ # @return [Float]
1152
+ attr_accessor :data_storage_size_tb
1153
+
1154
+ # Optional. The local node storage allocated in GBs.
1155
+ # Corresponds to the JSON property `dbNodeStorageSizeGb`
1156
+ # @return [Fixnum]
1157
+ attr_accessor :db_node_storage_size_gb
1158
+
1159
+ # Output only. The software version of the database servers (dom0) in the
1160
+ # Exadata Infrastructure.
1161
+ # Corresponds to the JSON property `dbServerVersion`
1162
+ # @return [String]
1163
+ attr_accessor :db_server_version
1164
+
1165
+ # Maintenance window as defined by Oracle. https://docs.oracle.com/en-us/iaas/
1166
+ # api/#/en/database/20160918/datatypes/MaintenanceWindow
1167
+ # Corresponds to the JSON property `maintenanceWindow`
1168
+ # @return [Google::Apis::OracledatabaseV1::MaintenanceWindow]
1169
+ attr_accessor :maintenance_window
1170
+
1171
+ # Output only. The total number of CPU cores available.
1172
+ # Corresponds to the JSON property `maxCpuCount`
1173
+ # @return [Fixnum]
1174
+ attr_accessor :max_cpu_count
1175
+
1176
+ # Output only. The total available DATA disk group size.
1177
+ # Corresponds to the JSON property `maxDataStorageTb`
1178
+ # @return [Float]
1179
+ attr_accessor :max_data_storage_tb
1180
+
1181
+ # Output only. The total local node storage available in GBs.
1182
+ # Corresponds to the JSON property `maxDbNodeStorageSizeGb`
1183
+ # @return [Fixnum]
1184
+ attr_accessor :max_db_node_storage_size_gb
1185
+
1186
+ # Output only. The total memory available in GBs.
1187
+ # Corresponds to the JSON property `maxMemoryGb`
1188
+ # @return [Fixnum]
1189
+ attr_accessor :max_memory_gb
1190
+
1191
+ # Optional. The memory allocated in GBs.
1192
+ # Corresponds to the JSON property `memorySizeGb`
1193
+ # @return [Fixnum]
1194
+ attr_accessor :memory_size_gb
1195
+
1196
+ # Output only. The monthly software version of the database servers (dom0) in
1197
+ # the Exadata Infrastructure. Example: 20.1.15
1198
+ # Corresponds to the JSON property `monthlyDbServerVersion`
1199
+ # @return [String]
1200
+ attr_accessor :monthly_db_server_version
1201
+
1202
+ # Output only. The monthly software version of the storage servers (cells) in
1203
+ # the Exadata Infrastructure. Example: 20.1.15
1204
+ # Corresponds to the JSON property `monthlyStorageServerVersion`
1205
+ # @return [String]
1206
+ attr_accessor :monthly_storage_server_version
1207
+
1208
+ # Output only. The OCID of the next maintenance run.
1209
+ # Corresponds to the JSON property `nextMaintenanceRunId`
1210
+ # @return [String]
1211
+ attr_accessor :next_maintenance_run_id
1212
+
1213
+ # Output only. The time when the next maintenance run will occur.
1214
+ # Corresponds to the JSON property `nextMaintenanceRunTime`
1215
+ # @return [String]
1216
+ attr_accessor :next_maintenance_run_time
1217
+
1218
+ # Output only. The time when the next security maintenance run will occur.
1219
+ # Corresponds to the JSON property `nextSecurityMaintenanceRunTime`
1220
+ # @return [String]
1221
+ attr_accessor :next_security_maintenance_run_time
1222
+
1223
+ # Output only. Deep link to the OCI console to view this resource.
1224
+ # Corresponds to the JSON property `ociUrl`
1225
+ # @return [String]
1226
+ attr_accessor :oci_url
1227
+
1228
+ # Output only. OCID of created infra. https://docs.oracle.com/en-us/iaas/Content/
1229
+ # General/Concepts/identifiers.htm#Oracle
1230
+ # Corresponds to the JSON property `ocid`
1231
+ # @return [String]
1232
+ attr_accessor :ocid
1233
+
1234
+ # Required. The shape of the Exadata Infrastructure. The shape determines the
1235
+ # amount of CPU, storage, and memory resources allocated to the instance.
1236
+ # Corresponds to the JSON property `shape`
1237
+ # @return [String]
1238
+ attr_accessor :shape
1239
+
1240
+ # Output only. The current lifecycle state of the Exadata Infrastructure.
1241
+ # Corresponds to the JSON property `state`
1242
+ # @return [String]
1243
+ attr_accessor :state
1244
+
1245
+ # Optional. The number of Cloud Exadata storage servers for the Exadata
1246
+ # Infrastructure.
1247
+ # Corresponds to the JSON property `storageCount`
1248
+ # @return [Fixnum]
1249
+ attr_accessor :storage_count
1250
+
1251
+ # Output only. The software version of the storage servers (cells) in the
1252
+ # Exadata Infrastructure.
1253
+ # Corresponds to the JSON property `storageServerVersion`
1254
+ # @return [String]
1255
+ attr_accessor :storage_server_version
1256
+
1257
+ # Optional. The total storage allocated to the Exadata Infrastructure resource,
1258
+ # in gigabytes (GB).
1259
+ # Corresponds to the JSON property `totalStorageSizeGb`
1260
+ # @return [Fixnum]
1261
+ attr_accessor :total_storage_size_gb
1262
+
1263
+ def initialize(**args)
1264
+ update!(**args)
1265
+ end
1266
+
1267
+ # Update properties of this object
1268
+ def update!(**args)
1269
+ @activated_storage_count = args[:activated_storage_count] if args.key?(:activated_storage_count)
1270
+ @additional_storage_count = args[:additional_storage_count] if args.key?(:additional_storage_count)
1271
+ @available_storage_size_gb = args[:available_storage_size_gb] if args.key?(:available_storage_size_gb)
1272
+ @compute_count = args[:compute_count] if args.key?(:compute_count)
1273
+ @cpu_count = args[:cpu_count] if args.key?(:cpu_count)
1274
+ @customer_contacts = args[:customer_contacts] if args.key?(:customer_contacts)
1275
+ @data_storage_size_tb = args[:data_storage_size_tb] if args.key?(:data_storage_size_tb)
1276
+ @db_node_storage_size_gb = args[:db_node_storage_size_gb] if args.key?(:db_node_storage_size_gb)
1277
+ @db_server_version = args[:db_server_version] if args.key?(:db_server_version)
1278
+ @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
1279
+ @max_cpu_count = args[:max_cpu_count] if args.key?(:max_cpu_count)
1280
+ @max_data_storage_tb = args[:max_data_storage_tb] if args.key?(:max_data_storage_tb)
1281
+ @max_db_node_storage_size_gb = args[:max_db_node_storage_size_gb] if args.key?(:max_db_node_storage_size_gb)
1282
+ @max_memory_gb = args[:max_memory_gb] if args.key?(:max_memory_gb)
1283
+ @memory_size_gb = args[:memory_size_gb] if args.key?(:memory_size_gb)
1284
+ @monthly_db_server_version = args[:monthly_db_server_version] if args.key?(:monthly_db_server_version)
1285
+ @monthly_storage_server_version = args[:monthly_storage_server_version] if args.key?(:monthly_storage_server_version)
1286
+ @next_maintenance_run_id = args[:next_maintenance_run_id] if args.key?(:next_maintenance_run_id)
1287
+ @next_maintenance_run_time = args[:next_maintenance_run_time] if args.key?(:next_maintenance_run_time)
1288
+ @next_security_maintenance_run_time = args[:next_security_maintenance_run_time] if args.key?(:next_security_maintenance_run_time)
1289
+ @oci_url = args[:oci_url] if args.key?(:oci_url)
1290
+ @ocid = args[:ocid] if args.key?(:ocid)
1291
+ @shape = args[:shape] if args.key?(:shape)
1292
+ @state = args[:state] if args.key?(:state)
1293
+ @storage_count = args[:storage_count] if args.key?(:storage_count)
1294
+ @storage_server_version = args[:storage_server_version] if args.key?(:storage_server_version)
1295
+ @total_storage_size_gb = args[:total_storage_size_gb] if args.key?(:total_storage_size_gb)
1296
+ end
1297
+ end
1298
+
1299
+ # Details of the Cloud VM Cluster resource. https://docs.oracle.com/en-us/iaas/
1300
+ # api/#/en/database/20160918/CloudVmCluster/
1301
+ class CloudVmCluster
1302
+ include Google::Apis::Core::Hashable
1303
+
1304
+ # Required. CIDR range of the backup subnet.
1305
+ # Corresponds to the JSON property `backupSubnetCidr`
1306
+ # @return [String]
1307
+ attr_accessor :backup_subnet_cidr
1308
+
1309
+ # Required. Network settings. CIDR to use for cluster IP allocation.
1310
+ # Corresponds to the JSON property `cidr`
1311
+ # @return [String]
1312
+ attr_accessor :cidr
1313
+
1314
+ # Output only. The date and time that the VM cluster was created.
1315
+ # Corresponds to the JSON property `createTime`
1316
+ # @return [String]
1317
+ attr_accessor :create_time
1318
+
1319
+ # Optional. User friendly name for this resource.
1320
+ # Corresponds to the JSON property `displayName`
1321
+ # @return [String]
1322
+ attr_accessor :display_name
1323
+
1324
+ # Required. The name of the Exadata Infrastructure resource on which VM cluster
1325
+ # resource is created, in the following format: projects/`project`/locations/`
1326
+ # region`/cloudExadataInfrastuctures/`cloud_extradata_infrastructure`
1327
+ # Corresponds to the JSON property `exadataInfrastructure`
1328
+ # @return [String]
1329
+ attr_accessor :exadata_infrastructure
1330
+
1331
+ # Output only. GCP location where Oracle Exadata is hosted. It is same as GCP
1332
+ # Oracle zone of Exadata infrastructure.
1333
+ # Corresponds to the JSON property `gcpOracleZone`
1334
+ # @return [String]
1335
+ attr_accessor :gcp_oracle_zone
1336
+
1337
+ # Optional. Labels or tags associated with the VM Cluster.
1338
+ # Corresponds to the JSON property `labels`
1339
+ # @return [Hash<String,String>]
1340
+ attr_accessor :labels
1341
+
1342
+ # Identifier. The name of the VM Cluster resource with the format: projects/`
1343
+ # project`/locations/`region`/cloudVmClusters/`cloud_vm_cluster`
1344
+ # Corresponds to the JSON property `name`
1345
+ # @return [String]
1346
+ attr_accessor :name
1347
+
1348
+ # Required. The name of the VPC network. Format: projects/`project`/global/
1349
+ # networks/`network`
1350
+ # Corresponds to the JSON property `network`
1351
+ # @return [String]
1352
+ attr_accessor :network
1353
+
1354
+ # Various properties and settings associated with Exadata VM cluster.
1355
+ # Corresponds to the JSON property `properties`
1356
+ # @return [Google::Apis::OracledatabaseV1::CloudVmClusterProperties]
1357
+ attr_accessor :properties
1358
+
1359
+ def initialize(**args)
1360
+ update!(**args)
1361
+ end
1362
+
1363
+ # Update properties of this object
1364
+ def update!(**args)
1365
+ @backup_subnet_cidr = args[:backup_subnet_cidr] if args.key?(:backup_subnet_cidr)
1366
+ @cidr = args[:cidr] if args.key?(:cidr)
1367
+ @create_time = args[:create_time] if args.key?(:create_time)
1368
+ @display_name = args[:display_name] if args.key?(:display_name)
1369
+ @exadata_infrastructure = args[:exadata_infrastructure] if args.key?(:exadata_infrastructure)
1370
+ @gcp_oracle_zone = args[:gcp_oracle_zone] if args.key?(:gcp_oracle_zone)
1371
+ @labels = args[:labels] if args.key?(:labels)
1372
+ @name = args[:name] if args.key?(:name)
1373
+ @network = args[:network] if args.key?(:network)
1374
+ @properties = args[:properties] if args.key?(:properties)
1375
+ end
1376
+ end
1377
+
1378
+ # Various properties and settings associated with Exadata VM cluster.
1379
+ class CloudVmClusterProperties
1380
+ include Google::Apis::Core::Hashable
1381
+
1382
+ # Optional. OCI Cluster name.
1383
+ # Corresponds to the JSON property `clusterName`
1384
+ # @return [String]
1385
+ attr_accessor :cluster_name
1386
+
1387
+ # Output only. Compartment ID of cluster.
1388
+ # Corresponds to the JSON property `compartmentId`
1389
+ # @return [String]
1390
+ attr_accessor :compartment_id
1391
+
1392
+ # Required. Number of enabled CPU cores.
1393
+ # Corresponds to the JSON property `cpuCoreCount`
1394
+ # @return [Fixnum]
1395
+ attr_accessor :cpu_core_count
1396
+
1397
+ # Optional. The data disk group size to be allocated in TBs.
1398
+ # Corresponds to the JSON property `dataStorageSizeTb`
1399
+ # @return [Float]
1400
+ attr_accessor :data_storage_size_tb
1401
+
1402
+ # Optional. Local storage per VM.
1403
+ # Corresponds to the JSON property `dbNodeStorageSizeGb`
1404
+ # @return [Fixnum]
1405
+ attr_accessor :db_node_storage_size_gb
1406
+
1407
+ # Optional. OCID of database servers.
1408
+ # Corresponds to the JSON property `dbServerOcids`
1409
+ # @return [Array<String>]
1410
+ attr_accessor :db_server_ocids
1411
+
1412
+ # Data collection options for diagnostics.
1413
+ # Corresponds to the JSON property `diagnosticsDataCollectionOptions`
1414
+ # @return [Google::Apis::OracledatabaseV1::DataCollectionOptions]
1415
+ attr_accessor :diagnostics_data_collection_options
1416
+
1417
+ # Optional. The type of redundancy.
1418
+ # Corresponds to the JSON property `diskRedundancy`
1419
+ # @return [String]
1420
+ attr_accessor :disk_redundancy
1421
+
1422
+ # Output only. DNS listener IP.
1423
+ # Corresponds to the JSON property `dnsListenerIp`
1424
+ # @return [String]
1425
+ attr_accessor :dns_listener_ip
1426
+
1427
+ # Output only. Parent DNS domain where SCAN DNS and hosts names are qualified.
1428
+ # ex: ocispdelegated.ocisp10jvnet.oraclevcn.com
1429
+ # Corresponds to the JSON property `domain`
1430
+ # @return [String]
1431
+ attr_accessor :domain
1432
+
1433
+ # Optional. Grid Infrastructure Version.
1434
+ # Corresponds to the JSON property `giVersion`
1435
+ # @return [String]
1436
+ attr_accessor :gi_version
1437
+
1438
+ # Output only. host name without domain. format: "-" with some suffix. ex: sp2-
1439
+ # yi0xq where "sp2" is the hostname_prefix.
1440
+ # Corresponds to the JSON property `hostname`
1441
+ # @return [String]
1442
+ attr_accessor :hostname
1443
+
1444
+ # Optional. Prefix for VM cluster host names.
1445
+ # Corresponds to the JSON property `hostnamePrefix`
1446
+ # @return [String]
1447
+ attr_accessor :hostname_prefix
1448
+
1449
+ # Required. License type of VM Cluster.
1450
+ # Corresponds to the JSON property `licenseType`
1451
+ # @return [String]
1452
+ attr_accessor :license_type
1453
+
1454
+ # Optional. Use local backup.
1455
+ # Corresponds to the JSON property `localBackupEnabled`
1456
+ # @return [Boolean]
1457
+ attr_accessor :local_backup_enabled
1458
+ alias_method :local_backup_enabled?, :local_backup_enabled
1459
+
1460
+ # Optional. Memory allocated in GBs.
1461
+ # Corresponds to the JSON property `memorySizeGb`
1462
+ # @return [Fixnum]
1463
+ attr_accessor :memory_size_gb
1464
+
1465
+ # Optional. Number of database servers.
1466
+ # Corresponds to the JSON property `nodeCount`
1467
+ # @return [Fixnum]
1468
+ attr_accessor :node_count
1469
+
1470
+ # Output only. Deep link to the OCI console to view this resource.
1471
+ # Corresponds to the JSON property `ociUrl`
1472
+ # @return [String]
1473
+ attr_accessor :oci_url
1474
+
1475
+ # Output only. Oracle Cloud Infrastructure ID of VM Cluster.
1476
+ # Corresponds to the JSON property `ocid`
1477
+ # @return [String]
1478
+ attr_accessor :ocid
1479
+
1480
+ # Optional. OCPU count per VM. Minimum is 0.1.
1481
+ # Corresponds to the JSON property `ocpuCount`
1482
+ # @return [Float]
1483
+ attr_accessor :ocpu_count
1484
+
1485
+ # Output only. SCAN DNS name. ex: sp2-yi0xq-scan.ocispdelegated.ocisp10jvnet.
1486
+ # oraclevcn.com
1487
+ # Corresponds to the JSON property `scanDns`
1488
+ # @return [String]
1489
+ attr_accessor :scan_dns
1490
+
1491
+ # Output only. OCID of scan DNS record.
1492
+ # Corresponds to the JSON property `scanDnsRecordId`
1493
+ # @return [String]
1494
+ attr_accessor :scan_dns_record_id
1495
+
1496
+ # Output only. OCIDs of scan IPs.
1497
+ # Corresponds to the JSON property `scanIpIds`
1498
+ # @return [Array<String>]
1499
+ attr_accessor :scan_ip_ids
1500
+
1501
+ # Output only. SCAN listener port - TCP
1502
+ # Corresponds to the JSON property `scanListenerPortTcp`
1503
+ # @return [Fixnum]
1504
+ attr_accessor :scan_listener_port_tcp
1505
+
1506
+ # Output only. SCAN listener port - TLS
1507
+ # Corresponds to the JSON property `scanListenerPortTcpSsl`
1508
+ # @return [Fixnum]
1509
+ attr_accessor :scan_listener_port_tcp_ssl
1510
+
1511
+ # Output only. Shape of VM Cluster.
1512
+ # Corresponds to the JSON property `shape`
1513
+ # @return [String]
1514
+ attr_accessor :shape
1515
+
1516
+ # Optional. Use exadata sparse snapshots.
1517
+ # Corresponds to the JSON property `sparseDiskgroupEnabled`
1518
+ # @return [Boolean]
1519
+ attr_accessor :sparse_diskgroup_enabled
1520
+ alias_method :sparse_diskgroup_enabled?, :sparse_diskgroup_enabled
1521
+
1522
+ # Optional. SSH public keys to be stored with cluster.
1523
+ # Corresponds to the JSON property `sshPublicKeys`
1524
+ # @return [Array<String>]
1525
+ attr_accessor :ssh_public_keys
1526
+
1527
+ # Output only. State of the cluster.
1528
+ # Corresponds to the JSON property `state`
1529
+ # @return [String]
1530
+ attr_accessor :state
1531
+
1532
+ # Output only. The storage allocation for the disk group, in gigabytes (GB).
1533
+ # Corresponds to the JSON property `storageSizeGb`
1534
+ # @return [Fixnum]
1535
+ attr_accessor :storage_size_gb
1536
+
1537
+ # Output only. Operating system version of the image.
1538
+ # Corresponds to the JSON property `systemVersion`
1539
+ # @return [String]
1540
+ attr_accessor :system_version
1541
+
1542
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
1543
+ # time-zones).
1544
+ # Corresponds to the JSON property `timeZone`
1545
+ # @return [Google::Apis::OracledatabaseV1::TimeZone]
1546
+ attr_accessor :time_zone
1547
+
1548
+ def initialize(**args)
1549
+ update!(**args)
1550
+ end
1551
+
1552
+ # Update properties of this object
1553
+ def update!(**args)
1554
+ @cluster_name = args[:cluster_name] if args.key?(:cluster_name)
1555
+ @compartment_id = args[:compartment_id] if args.key?(:compartment_id)
1556
+ @cpu_core_count = args[:cpu_core_count] if args.key?(:cpu_core_count)
1557
+ @data_storage_size_tb = args[:data_storage_size_tb] if args.key?(:data_storage_size_tb)
1558
+ @db_node_storage_size_gb = args[:db_node_storage_size_gb] if args.key?(:db_node_storage_size_gb)
1559
+ @db_server_ocids = args[:db_server_ocids] if args.key?(:db_server_ocids)
1560
+ @diagnostics_data_collection_options = args[:diagnostics_data_collection_options] if args.key?(:diagnostics_data_collection_options)
1561
+ @disk_redundancy = args[:disk_redundancy] if args.key?(:disk_redundancy)
1562
+ @dns_listener_ip = args[:dns_listener_ip] if args.key?(:dns_listener_ip)
1563
+ @domain = args[:domain] if args.key?(:domain)
1564
+ @gi_version = args[:gi_version] if args.key?(:gi_version)
1565
+ @hostname = args[:hostname] if args.key?(:hostname)
1566
+ @hostname_prefix = args[:hostname_prefix] if args.key?(:hostname_prefix)
1567
+ @license_type = args[:license_type] if args.key?(:license_type)
1568
+ @local_backup_enabled = args[:local_backup_enabled] if args.key?(:local_backup_enabled)
1569
+ @memory_size_gb = args[:memory_size_gb] if args.key?(:memory_size_gb)
1570
+ @node_count = args[:node_count] if args.key?(:node_count)
1571
+ @oci_url = args[:oci_url] if args.key?(:oci_url)
1572
+ @ocid = args[:ocid] if args.key?(:ocid)
1573
+ @ocpu_count = args[:ocpu_count] if args.key?(:ocpu_count)
1574
+ @scan_dns = args[:scan_dns] if args.key?(:scan_dns)
1575
+ @scan_dns_record_id = args[:scan_dns_record_id] if args.key?(:scan_dns_record_id)
1576
+ @scan_ip_ids = args[:scan_ip_ids] if args.key?(:scan_ip_ids)
1577
+ @scan_listener_port_tcp = args[:scan_listener_port_tcp] if args.key?(:scan_listener_port_tcp)
1578
+ @scan_listener_port_tcp_ssl = args[:scan_listener_port_tcp_ssl] if args.key?(:scan_listener_port_tcp_ssl)
1579
+ @shape = args[:shape] if args.key?(:shape)
1580
+ @sparse_diskgroup_enabled = args[:sparse_diskgroup_enabled] if args.key?(:sparse_diskgroup_enabled)
1581
+ @ssh_public_keys = args[:ssh_public_keys] if args.key?(:ssh_public_keys)
1582
+ @state = args[:state] if args.key?(:state)
1583
+ @storage_size_gb = args[:storage_size_gb] if args.key?(:storage_size_gb)
1584
+ @system_version = args[:system_version] if args.key?(:system_version)
1585
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
1586
+ end
1587
+ end
1588
+
1589
+ # The CustomerContact reference as defined by Oracle. https://docs.oracle.com/en-
1590
+ # us/iaas/api/#/en/database/20160918/datatypes/CustomerContact
1591
+ class CustomerContact
1592
+ include Google::Apis::Core::Hashable
1593
+
1594
+ # Required. The email address used by Oracle to send notifications regarding
1595
+ # databases and infrastructure.
1596
+ # Corresponds to the JSON property `email`
1597
+ # @return [String]
1598
+ attr_accessor :email
1599
+
1600
+ def initialize(**args)
1601
+ update!(**args)
1602
+ end
1603
+
1604
+ # Update properties of this object
1605
+ def update!(**args)
1606
+ @email = args[:email] if args.key?(:email)
1607
+ end
1608
+ end
1609
+
1610
+ # Data collection options for diagnostics.
1611
+ class DataCollectionOptions
1612
+ include Google::Apis::Core::Hashable
1613
+
1614
+ # Optional. Indicates whether diagnostic collection is enabled for the VM
1615
+ # cluster
1616
+ # Corresponds to the JSON property `diagnosticsEventsEnabled`
1617
+ # @return [Boolean]
1618
+ attr_accessor :diagnostics_events_enabled
1619
+ alias_method :diagnostics_events_enabled?, :diagnostics_events_enabled
1620
+
1621
+ # Optional. Indicates whether health monitoring is enabled for the VM cluster
1622
+ # Corresponds to the JSON property `healthMonitoringEnabled`
1623
+ # @return [Boolean]
1624
+ attr_accessor :health_monitoring_enabled
1625
+ alias_method :health_monitoring_enabled?, :health_monitoring_enabled
1626
+
1627
+ # Optional. Indicates whether incident logs and trace collection are enabled for
1628
+ # the VM cluster
1629
+ # Corresponds to the JSON property `incidentLogsEnabled`
1630
+ # @return [Boolean]
1631
+ attr_accessor :incident_logs_enabled
1632
+ alias_method :incident_logs_enabled?, :incident_logs_enabled
1633
+
1634
+ def initialize(**args)
1635
+ update!(**args)
1636
+ end
1637
+
1638
+ # Update properties of this object
1639
+ def update!(**args)
1640
+ @diagnostics_events_enabled = args[:diagnostics_events_enabled] if args.key?(:diagnostics_events_enabled)
1641
+ @health_monitoring_enabled = args[:health_monitoring_enabled] if args.key?(:health_monitoring_enabled)
1642
+ @incident_logs_enabled = args[:incident_logs_enabled] if args.key?(:incident_logs_enabled)
1643
+ end
1644
+ end
1645
+
1646
+ # The connection string profile to allow clients to group. https://docs.oracle.
1647
+ # com/en-us/iaas/api/#/en/database/20160918/datatypes/
1648
+ # DatabaseConnectionStringProfile
1649
+ class DatabaseConnectionStringProfile
1650
+ include Google::Apis::Core::Hashable
1651
+
1652
+ # Output only. The current consumer group being used by the connection.
1653
+ # Corresponds to the JSON property `consumerGroup`
1654
+ # @return [String]
1655
+ attr_accessor :consumer_group
1656
+
1657
+ # Output only. The display name for the database connection.
1658
+ # Corresponds to the JSON property `displayName`
1659
+ # @return [String]
1660
+ attr_accessor :display_name
1661
+
1662
+ # Output only. The host name format being currently used in connection string.
1663
+ # Corresponds to the JSON property `hostFormat`
1664
+ # @return [String]
1665
+ attr_accessor :host_format
1666
+
1667
+ # Output only. This field indicates if the connection string is regional and is
1668
+ # only applicable for cross-region Data Guard.
1669
+ # Corresponds to the JSON property `isRegional`
1670
+ # @return [Boolean]
1671
+ attr_accessor :is_regional
1672
+ alias_method :is_regional?, :is_regional
1673
+
1674
+ # Output only. The protocol being used by the connection.
1675
+ # Corresponds to the JSON property `protocol`
1676
+ # @return [String]
1677
+ attr_accessor :protocol
1678
+
1679
+ # Output only. The current session mode of the connection.
1680
+ # Corresponds to the JSON property `sessionMode`
1681
+ # @return [String]
1682
+ attr_accessor :session_mode
1683
+
1684
+ # Output only. The syntax of the connection string.
1685
+ # Corresponds to the JSON property `syntaxFormat`
1686
+ # @return [String]
1687
+ attr_accessor :syntax_format
1688
+
1689
+ # Output only. This field indicates the TLS authentication type of the
1690
+ # connection.
1691
+ # Corresponds to the JSON property `tlsAuthentication`
1692
+ # @return [String]
1693
+ attr_accessor :tls_authentication
1694
+
1695
+ # Output only. The value of the connection string.
1696
+ # Corresponds to the JSON property `value`
1697
+ # @return [String]
1698
+ attr_accessor :value
1699
+
1700
+ def initialize(**args)
1701
+ update!(**args)
1702
+ end
1703
+
1704
+ # Update properties of this object
1705
+ def update!(**args)
1706
+ @consumer_group = args[:consumer_group] if args.key?(:consumer_group)
1707
+ @display_name = args[:display_name] if args.key?(:display_name)
1708
+ @host_format = args[:host_format] if args.key?(:host_format)
1709
+ @is_regional = args[:is_regional] if args.key?(:is_regional)
1710
+ @protocol = args[:protocol] if args.key?(:protocol)
1711
+ @session_mode = args[:session_mode] if args.key?(:session_mode)
1712
+ @syntax_format = args[:syntax_format] if args.key?(:syntax_format)
1713
+ @tls_authentication = args[:tls_authentication] if args.key?(:tls_authentication)
1714
+ @value = args[:value] if args.key?(:value)
1715
+ end
1716
+ end
1717
+
1718
+ # Details of the database node resource. https://docs.oracle.com/en-us/iaas/api/#
1719
+ # /en/database/20160918/DbNode/
1720
+ class DbNode
1721
+ include Google::Apis::Core::Hashable
1722
+
1723
+ # Identifier. The name of the database node resource in the following format:
1724
+ # projects/`project`/locations/`location`/cloudVmClusters/`cloud_vm_cluster`/
1725
+ # dbNodes/`db_node`
1726
+ # Corresponds to the JSON property `name`
1727
+ # @return [String]
1728
+ attr_accessor :name
1729
+
1730
+ # Various properties and settings associated with Db node.
1731
+ # Corresponds to the JSON property `properties`
1732
+ # @return [Google::Apis::OracledatabaseV1::DbNodeProperties]
1733
+ attr_accessor :properties
1734
+
1735
+ def initialize(**args)
1736
+ update!(**args)
1737
+ end
1738
+
1739
+ # Update properties of this object
1740
+ def update!(**args)
1741
+ @name = args[:name] if args.key?(:name)
1742
+ @properties = args[:properties] if args.key?(:properties)
1743
+ end
1744
+ end
1745
+
1746
+ # Various properties and settings associated with Db node.
1747
+ class DbNodeProperties
1748
+ include Google::Apis::Core::Hashable
1749
+
1750
+ # Optional. Local storage per database node.
1751
+ # Corresponds to the JSON property `dbNodeStorageSizeGb`
1752
+ # @return [Fixnum]
1753
+ attr_accessor :db_node_storage_size_gb
1754
+
1755
+ # Optional. Database server OCID.
1756
+ # Corresponds to the JSON property `dbServerOcid`
1757
+ # @return [String]
1758
+ attr_accessor :db_server_ocid
1759
+
1760
+ # Optional. DNS
1761
+ # Corresponds to the JSON property `hostname`
1762
+ # @return [String]
1763
+ attr_accessor :hostname
1764
+
1765
+ # Memory allocated in GBs.
1766
+ # Corresponds to the JSON property `memorySizeGb`
1767
+ # @return [Fixnum]
1768
+ attr_accessor :memory_size_gb
1769
+
1770
+ # Output only. OCID of database node.
1771
+ # Corresponds to the JSON property `ocid`
1772
+ # @return [String]
1773
+ attr_accessor :ocid
1774
+
1775
+ # Optional. OCPU count per database node.
1776
+ # Corresponds to the JSON property `ocpuCount`
1777
+ # @return [Fixnum]
1778
+ attr_accessor :ocpu_count
1779
+
1780
+ # Output only. State of the database node.
1781
+ # Corresponds to the JSON property `state`
1782
+ # @return [String]
1783
+ attr_accessor :state
1784
+
1785
+ # Total CPU core count of the database node.
1786
+ # Corresponds to the JSON property `totalCpuCoreCount`
1787
+ # @return [Fixnum]
1788
+ attr_accessor :total_cpu_core_count
1789
+
1790
+ def initialize(**args)
1791
+ update!(**args)
1792
+ end
1793
+
1794
+ # Update properties of this object
1795
+ def update!(**args)
1796
+ @db_node_storage_size_gb = args[:db_node_storage_size_gb] if args.key?(:db_node_storage_size_gb)
1797
+ @db_server_ocid = args[:db_server_ocid] if args.key?(:db_server_ocid)
1798
+ @hostname = args[:hostname] if args.key?(:hostname)
1799
+ @memory_size_gb = args[:memory_size_gb] if args.key?(:memory_size_gb)
1800
+ @ocid = args[:ocid] if args.key?(:ocid)
1801
+ @ocpu_count = args[:ocpu_count] if args.key?(:ocpu_count)
1802
+ @state = args[:state] if args.key?(:state)
1803
+ @total_cpu_core_count = args[:total_cpu_core_count] if args.key?(:total_cpu_core_count)
1804
+ end
1805
+ end
1806
+
1807
+ # Details of the database server resource. https://docs.oracle.com/en-us/iaas/
1808
+ # api/#/en/database/20160918/DbServer/
1809
+ class DbServer
1810
+ include Google::Apis::Core::Hashable
1811
+
1812
+ # Optional. User friendly name for this resource.
1813
+ # Corresponds to the JSON property `displayName`
1814
+ # @return [String]
1815
+ attr_accessor :display_name
1816
+
1817
+ # Identifier. The name of the database server resource with the format: projects/
1818
+ # `project`/locations/`location`/cloudExadataInfrastructures/`
1819
+ # cloud_exadata_infrastructure`/dbServers/`db_server`
1820
+ # Corresponds to the JSON property `name`
1821
+ # @return [String]
1822
+ attr_accessor :name
1823
+
1824
+ # Various properties and settings associated with Exadata database server.
1825
+ # Corresponds to the JSON property `properties`
1826
+ # @return [Google::Apis::OracledatabaseV1::DbServerProperties]
1827
+ attr_accessor :properties
1828
+
1829
+ def initialize(**args)
1830
+ update!(**args)
1831
+ end
1832
+
1833
+ # Update properties of this object
1834
+ def update!(**args)
1835
+ @display_name = args[:display_name] if args.key?(:display_name)
1836
+ @name = args[:name] if args.key?(:name)
1837
+ @properties = args[:properties] if args.key?(:properties)
1838
+ end
1839
+ end
1840
+
1841
+ # Various properties and settings associated with Exadata database server.
1842
+ class DbServerProperties
1843
+ include Google::Apis::Core::Hashable
1844
+
1845
+ # Output only. OCID of database nodes associated with the database server.
1846
+ # Corresponds to the JSON property `dbNodeIds`
1847
+ # @return [Array<String>]
1848
+ attr_accessor :db_node_ids
1849
+
1850
+ # Optional. Local storage per VM.
1851
+ # Corresponds to the JSON property `dbNodeStorageSizeGb`
1852
+ # @return [Fixnum]
1853
+ attr_accessor :db_node_storage_size_gb
1854
+
1855
+ # Optional. Maximum local storage per VM.
1856
+ # Corresponds to the JSON property `maxDbNodeStorageSizeGb`
1857
+ # @return [Fixnum]
1858
+ attr_accessor :max_db_node_storage_size_gb
1859
+
1860
+ # Optional. Maximum memory allocated in GBs.
1861
+ # Corresponds to the JSON property `maxMemorySizeGb`
1862
+ # @return [Fixnum]
1863
+ attr_accessor :max_memory_size_gb
1864
+
1865
+ # Optional. Maximum OCPU count per database.
1866
+ # Corresponds to the JSON property `maxOcpuCount`
1867
+ # @return [Fixnum]
1868
+ attr_accessor :max_ocpu_count
1869
+
1870
+ # Optional. Memory allocated in GBs.
1871
+ # Corresponds to the JSON property `memorySizeGb`
1872
+ # @return [Fixnum]
1873
+ attr_accessor :memory_size_gb
1874
+
1875
+ # Output only. OCID of database server.
1876
+ # Corresponds to the JSON property `ocid`
1877
+ # @return [String]
1878
+ attr_accessor :ocid
1879
+
1880
+ # Optional. OCPU count per database.
1881
+ # Corresponds to the JSON property `ocpuCount`
1882
+ # @return [Fixnum]
1883
+ attr_accessor :ocpu_count
1884
+
1885
+ # Output only. State of the database server.
1886
+ # Corresponds to the JSON property `state`
1887
+ # @return [String]
1888
+ attr_accessor :state
1889
+
1890
+ # Optional. Vm count per database.
1891
+ # Corresponds to the JSON property `vmCount`
1892
+ # @return [Fixnum]
1893
+ attr_accessor :vm_count
1894
+
1895
+ def initialize(**args)
1896
+ update!(**args)
1897
+ end
1898
+
1899
+ # Update properties of this object
1900
+ def update!(**args)
1901
+ @db_node_ids = args[:db_node_ids] if args.key?(:db_node_ids)
1902
+ @db_node_storage_size_gb = args[:db_node_storage_size_gb] if args.key?(:db_node_storage_size_gb)
1903
+ @max_db_node_storage_size_gb = args[:max_db_node_storage_size_gb] if args.key?(:max_db_node_storage_size_gb)
1904
+ @max_memory_size_gb = args[:max_memory_size_gb] if args.key?(:max_memory_size_gb)
1905
+ @max_ocpu_count = args[:max_ocpu_count] if args.key?(:max_ocpu_count)
1906
+ @memory_size_gb = args[:memory_size_gb] if args.key?(:memory_size_gb)
1907
+ @ocid = args[:ocid] if args.key?(:ocid)
1908
+ @ocpu_count = args[:ocpu_count] if args.key?(:ocpu_count)
1909
+ @state = args[:state] if args.key?(:state)
1910
+ @vm_count = args[:vm_count] if args.key?(:vm_count)
1911
+ end
1912
+ end
1913
+
1914
+ # Details of the Database System Shapes resource. https://docs.oracle.com/en-us/
1915
+ # iaas/api/#/en/database/20160918/DbSystemShapeSummary/
1916
+ class DbSystemShape
1917
+ include Google::Apis::Core::Hashable
1918
+
1919
+ # Optional. Number of cores per node.
1920
+ # Corresponds to the JSON property `availableCoreCountPerNode`
1921
+ # @return [Fixnum]
1922
+ attr_accessor :available_core_count_per_node
1923
+
1924
+ # Optional. Storage per storage server in terabytes.
1925
+ # Corresponds to the JSON property `availableDataStorageTb`
1926
+ # @return [Fixnum]
1927
+ attr_accessor :available_data_storage_tb
1928
+
1929
+ # Optional. Memory per database server node in gigabytes.
1930
+ # Corresponds to the JSON property `availableMemoryPerNodeGb`
1931
+ # @return [Fixnum]
1932
+ attr_accessor :available_memory_per_node_gb
1933
+
1934
+ # Optional. Maximum number of database servers.
1935
+ # Corresponds to the JSON property `maxNodeCount`
1936
+ # @return [Fixnum]
1937
+ attr_accessor :max_node_count
1938
+
1939
+ # Optional. Maximum number of storage servers.
1940
+ # Corresponds to the JSON property `maxStorageCount`
1941
+ # @return [Fixnum]
1942
+ attr_accessor :max_storage_count
1943
+
1944
+ # Optional. Minimum core count per node.
1945
+ # Corresponds to the JSON property `minCoreCountPerNode`
1946
+ # @return [Fixnum]
1947
+ attr_accessor :min_core_count_per_node
1948
+
1949
+ # Optional. Minimum node storage per database server in gigabytes.
1950
+ # Corresponds to the JSON property `minDbNodeStoragePerNodeGb`
1951
+ # @return [Fixnum]
1952
+ attr_accessor :min_db_node_storage_per_node_gb
1953
+
1954
+ # Optional. Minimum memory per node in gigabytes.
1955
+ # Corresponds to the JSON property `minMemoryPerNodeGb`
1956
+ # @return [Fixnum]
1957
+ attr_accessor :min_memory_per_node_gb
1958
+
1959
+ # Optional. Minimum number of database servers.
1960
+ # Corresponds to the JSON property `minNodeCount`
1961
+ # @return [Fixnum]
1962
+ attr_accessor :min_node_count
1963
+
1964
+ # Optional. Minimum number of storage servers.
1965
+ # Corresponds to the JSON property `minStorageCount`
1966
+ # @return [Fixnum]
1967
+ attr_accessor :min_storage_count
1968
+
1969
+ # Identifier. The name of the Database System Shape resource with the format:
1970
+ # projects/`project`/locations/`region`/dbSystemShapes/`db_system_shape`
1971
+ # Corresponds to the JSON property `name`
1972
+ # @return [String]
1973
+ attr_accessor :name
1974
+
1975
+ # Optional. shape
1976
+ # Corresponds to the JSON property `shape`
1977
+ # @return [String]
1978
+ attr_accessor :shape
1979
+
1980
+ def initialize(**args)
1981
+ update!(**args)
1982
+ end
1983
+
1984
+ # Update properties of this object
1985
+ def update!(**args)
1986
+ @available_core_count_per_node = args[:available_core_count_per_node] if args.key?(:available_core_count_per_node)
1987
+ @available_data_storage_tb = args[:available_data_storage_tb] if args.key?(:available_data_storage_tb)
1988
+ @available_memory_per_node_gb = args[:available_memory_per_node_gb] if args.key?(:available_memory_per_node_gb)
1989
+ @max_node_count = args[:max_node_count] if args.key?(:max_node_count)
1990
+ @max_storage_count = args[:max_storage_count] if args.key?(:max_storage_count)
1991
+ @min_core_count_per_node = args[:min_core_count_per_node] if args.key?(:min_core_count_per_node)
1992
+ @min_db_node_storage_per_node_gb = args[:min_db_node_storage_per_node_gb] if args.key?(:min_db_node_storage_per_node_gb)
1993
+ @min_memory_per_node_gb = args[:min_memory_per_node_gb] if args.key?(:min_memory_per_node_gb)
1994
+ @min_node_count = args[:min_node_count] if args.key?(:min_node_count)
1995
+ @min_storage_count = args[:min_storage_count] if args.key?(:min_storage_count)
1996
+ @name = args[:name] if args.key?(:name)
1997
+ @shape = args[:shape] if args.key?(:shape)
1998
+ end
1999
+ end
2000
+
2001
+ # A generic empty message that you can re-use to avoid defining duplicated empty
2002
+ # messages in your APIs. A typical example is to use it as the request or the
2003
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
2004
+ # protobuf.Empty) returns (google.protobuf.Empty); `
2005
+ class Empty
2006
+ include Google::Apis::Core::Hashable
2007
+
2008
+ def initialize(**args)
2009
+ update!(**args)
2010
+ end
2011
+
2012
+ # Update properties of this object
2013
+ def update!(**args)
2014
+ end
2015
+ end
2016
+
2017
+ # Details of the Entitlement resource.
2018
+ class Entitlement
2019
+ include Google::Apis::Core::Hashable
2020
+
2021
+ # Details of the OCI Cloud Account.
2022
+ # Corresponds to the JSON property `cloudAccountDetails`
2023
+ # @return [Google::Apis::OracledatabaseV1::CloudAccountDetails]
2024
+ attr_accessor :cloud_account_details
2025
+
2026
+ # Output only. Google Cloud Marketplace order ID (aka entitlement ID)
2027
+ # Corresponds to the JSON property `entitlementId`
2028
+ # @return [String]
2029
+ attr_accessor :entitlement_id
2030
+
2031
+ # Identifier. The name of the Entitlement resource with the format: projects/`
2032
+ # project`/locations/`region`/entitlements/`entitlement`
2033
+ # Corresponds to the JSON property `name`
2034
+ # @return [String]
2035
+ attr_accessor :name
2036
+
2037
+ # Output only. Entitlement State.
2038
+ # Corresponds to the JSON property `state`
2039
+ # @return [String]
2040
+ attr_accessor :state
2041
+
2042
+ def initialize(**args)
2043
+ update!(**args)
2044
+ end
2045
+
2046
+ # Update properties of this object
2047
+ def update!(**args)
2048
+ @cloud_account_details = args[:cloud_account_details] if args.key?(:cloud_account_details)
2049
+ @entitlement_id = args[:entitlement_id] if args.key?(:entitlement_id)
2050
+ @name = args[:name] if args.key?(:name)
2051
+ @state = args[:state] if args.key?(:state)
2052
+ end
2053
+ end
2054
+
2055
+ # The request for `AutonomousDatabase.GenerateWallet`.
2056
+ class GenerateAutonomousDatabaseWalletRequest
2057
+ include Google::Apis::Core::Hashable
2058
+
2059
+ # Optional. True when requesting regional connection strings in PDB connect info,
2060
+ # applicable to cross-region Data Guard only.
2061
+ # Corresponds to the JSON property `isRegional`
2062
+ # @return [Boolean]
2063
+ attr_accessor :is_regional
2064
+ alias_method :is_regional?, :is_regional
2065
+
2066
+ # Required. The password used to encrypt the keys inside the wallet. The
2067
+ # password must be a minimum of 8 characters.
2068
+ # Corresponds to the JSON property `password`
2069
+ # @return [String]
2070
+ attr_accessor :password
2071
+
2072
+ # Optional. The type of wallet generation for the Autonomous Database. The
2073
+ # default value is SINGLE.
2074
+ # Corresponds to the JSON property `type`
2075
+ # @return [String]
2076
+ attr_accessor :type
2077
+
2078
+ def initialize(**args)
2079
+ update!(**args)
2080
+ end
2081
+
2082
+ # Update properties of this object
2083
+ def update!(**args)
2084
+ @is_regional = args[:is_regional] if args.key?(:is_regional)
2085
+ @password = args[:password] if args.key?(:password)
2086
+ @type = args[:type] if args.key?(:type)
2087
+ end
2088
+ end
2089
+
2090
+ # The response for `AutonomousDatabase.GenerateWallet`.
2091
+ class GenerateAutonomousDatabaseWalletResponse
2092
+ include Google::Apis::Core::Hashable
2093
+
2094
+ # Output only. The base64 encoded wallet files.
2095
+ # Corresponds to the JSON property `archiveContent`
2096
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2097
+ # @return [String]
2098
+ attr_accessor :archive_content
2099
+
2100
+ def initialize(**args)
2101
+ update!(**args)
2102
+ end
2103
+
2104
+ # Update properties of this object
2105
+ def update!(**args)
2106
+ @archive_content = args[:archive_content] if args.key?(:archive_content)
2107
+ end
2108
+ end
2109
+
2110
+ # Details of the Oracle Grid Infrastructure (GI) version resource. https://docs.
2111
+ # oracle.com/en-us/iaas/api/#/en/database/20160918/GiVersionSummary/
2112
+ class GiVersion
2113
+ include Google::Apis::Core::Hashable
2114
+
2115
+ # Identifier. The name of the Oracle Grid Infrastructure (GI) version resource
2116
+ # with the format: projects/`project`/locations/`region`/giVersions/`gi_versions`
2117
+ # Corresponds to the JSON property `name`
2118
+ # @return [String]
2119
+ attr_accessor :name
2120
+
2121
+ # Optional. version
2122
+ # Corresponds to the JSON property `version`
2123
+ # @return [String]
2124
+ attr_accessor :version
2125
+
2126
+ def initialize(**args)
2127
+ update!(**args)
2128
+ end
2129
+
2130
+ # Update properties of this object
2131
+ def update!(**args)
2132
+ @name = args[:name] if args.key?(:name)
2133
+ @version = args[:version] if args.key?(:version)
2134
+ end
2135
+ end
2136
+
2137
+ # The response for `AutonomousDatabaseBackup.List`.
2138
+ class ListAutonomousDatabaseBackupsResponse
2139
+ include Google::Apis::Core::Hashable
2140
+
2141
+ # The list of Autonomous Database Backups.
2142
+ # Corresponds to the JSON property `autonomousDatabaseBackups`
2143
+ # @return [Array<Google::Apis::OracledatabaseV1::AutonomousDatabaseBackup>]
2144
+ attr_accessor :autonomous_database_backups
2145
+
2146
+ # A token identifying a page of results the server should return.
2147
+ # Corresponds to the JSON property `nextPageToken`
2148
+ # @return [String]
2149
+ attr_accessor :next_page_token
2150
+
2151
+ def initialize(**args)
2152
+ update!(**args)
2153
+ end
2154
+
2155
+ # Update properties of this object
2156
+ def update!(**args)
2157
+ @autonomous_database_backups = args[:autonomous_database_backups] if args.key?(:autonomous_database_backups)
2158
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2159
+ end
2160
+ end
2161
+
2162
+ # The response for `AutonomousDatabaseCharacterSet.List`.
2163
+ class ListAutonomousDatabaseCharacterSetsResponse
2164
+ include Google::Apis::Core::Hashable
2165
+
2166
+ # The list of Autonomous Database Character Sets.
2167
+ # Corresponds to the JSON property `autonomousDatabaseCharacterSets`
2168
+ # @return [Array<Google::Apis::OracledatabaseV1::AutonomousDatabaseCharacterSet>]
2169
+ attr_accessor :autonomous_database_character_sets
2170
+
2171
+ # A token identifying a page of results the server should return.
2172
+ # Corresponds to the JSON property `nextPageToken`
2173
+ # @return [String]
2174
+ attr_accessor :next_page_token
2175
+
2176
+ def initialize(**args)
2177
+ update!(**args)
2178
+ end
2179
+
2180
+ # Update properties of this object
2181
+ def update!(**args)
2182
+ @autonomous_database_character_sets = args[:autonomous_database_character_sets] if args.key?(:autonomous_database_character_sets)
2183
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2184
+ end
2185
+ end
2186
+
2187
+ # The response for `AutonomousDatabase.List`.
2188
+ class ListAutonomousDatabasesResponse
2189
+ include Google::Apis::Core::Hashable
2190
+
2191
+ # The list of Autonomous Databases.
2192
+ # Corresponds to the JSON property `autonomousDatabases`
2193
+ # @return [Array<Google::Apis::OracledatabaseV1::AutonomousDatabase>]
2194
+ attr_accessor :autonomous_databases
2195
+
2196
+ # A token identifying a page of results the server should return.
2197
+ # Corresponds to the JSON property `nextPageToken`
2198
+ # @return [String]
2199
+ attr_accessor :next_page_token
2200
+
2201
+ def initialize(**args)
2202
+ update!(**args)
2203
+ end
2204
+
2205
+ # Update properties of this object
2206
+ def update!(**args)
2207
+ @autonomous_databases = args[:autonomous_databases] if args.key?(:autonomous_databases)
2208
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2209
+ end
2210
+ end
2211
+
2212
+ # The response for `AutonomousDbVersion.List`.
2213
+ class ListAutonomousDbVersionsResponse
2214
+ include Google::Apis::Core::Hashable
2215
+
2216
+ # The list of Autonomous Database versions.
2217
+ # Corresponds to the JSON property `autonomousDbVersions`
2218
+ # @return [Array<Google::Apis::OracledatabaseV1::AutonomousDbVersion>]
2219
+ attr_accessor :autonomous_db_versions
2220
+
2221
+ # A token identifying a page of results the server should return.
2222
+ # Corresponds to the JSON property `nextPageToken`
2223
+ # @return [String]
2224
+ attr_accessor :next_page_token
2225
+
2226
+ def initialize(**args)
2227
+ update!(**args)
2228
+ end
2229
+
2230
+ # Update properties of this object
2231
+ def update!(**args)
2232
+ @autonomous_db_versions = args[:autonomous_db_versions] if args.key?(:autonomous_db_versions)
2233
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2234
+ end
2235
+ end
2236
+
2237
+ # The response for `CloudExadataInfrastructures.list`.
2238
+ class ListCloudExadataInfrastructuresResponse
2239
+ include Google::Apis::Core::Hashable
2240
+
2241
+ # The list of Exadata Infrastructures.
2242
+ # Corresponds to the JSON property `cloudExadataInfrastructures`
2243
+ # @return [Array<Google::Apis::OracledatabaseV1::CloudExadataInfrastructure>]
2244
+ attr_accessor :cloud_exadata_infrastructures
2245
+
2246
+ # A token for fetching next page of response.
2247
+ # Corresponds to the JSON property `nextPageToken`
2248
+ # @return [String]
2249
+ attr_accessor :next_page_token
2250
+
2251
+ def initialize(**args)
2252
+ update!(**args)
2253
+ end
2254
+
2255
+ # Update properties of this object
2256
+ def update!(**args)
2257
+ @cloud_exadata_infrastructures = args[:cloud_exadata_infrastructures] if args.key?(:cloud_exadata_infrastructures)
2258
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2259
+ end
2260
+ end
2261
+
2262
+ # The response for `CloudVmCluster.List`.
2263
+ class ListCloudVmClustersResponse
2264
+ include Google::Apis::Core::Hashable
2265
+
2266
+ # The list of VM Clusters.
2267
+ # Corresponds to the JSON property `cloudVmClusters`
2268
+ # @return [Array<Google::Apis::OracledatabaseV1::CloudVmCluster>]
2269
+ attr_accessor :cloud_vm_clusters
2270
+
2271
+ # A token to fetch the next page of results.
2272
+ # Corresponds to the JSON property `nextPageToken`
2273
+ # @return [String]
2274
+ attr_accessor :next_page_token
2275
+
2276
+ def initialize(**args)
2277
+ update!(**args)
2278
+ end
2279
+
2280
+ # Update properties of this object
2281
+ def update!(**args)
2282
+ @cloud_vm_clusters = args[:cloud_vm_clusters] if args.key?(:cloud_vm_clusters)
2283
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2284
+ end
2285
+ end
2286
+
2287
+ # The response for `DbNode.List`.
2288
+ class ListDbNodesResponse
2289
+ include Google::Apis::Core::Hashable
2290
+
2291
+ # The list of DB Nodes
2292
+ # Corresponds to the JSON property `dbNodes`
2293
+ # @return [Array<Google::Apis::OracledatabaseV1::DbNode>]
2294
+ attr_accessor :db_nodes
2295
+
2296
+ # A token identifying a page of results the node should return.
2297
+ # Corresponds to the JSON property `nextPageToken`
2298
+ # @return [String]
2299
+ attr_accessor :next_page_token
2300
+
2301
+ def initialize(**args)
2302
+ update!(**args)
2303
+ end
2304
+
2305
+ # Update properties of this object
2306
+ def update!(**args)
2307
+ @db_nodes = args[:db_nodes] if args.key?(:db_nodes)
2308
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2309
+ end
2310
+ end
2311
+
2312
+ # The response for `DbServer.List`.
2313
+ class ListDbServersResponse
2314
+ include Google::Apis::Core::Hashable
2315
+
2316
+ # The list of database servers.
2317
+ # Corresponds to the JSON property `dbServers`
2318
+ # @return [Array<Google::Apis::OracledatabaseV1::DbServer>]
2319
+ attr_accessor :db_servers
2320
+
2321
+ # A token identifying a page of results the server should return.
2322
+ # Corresponds to the JSON property `nextPageToken`
2323
+ # @return [String]
2324
+ attr_accessor :next_page_token
2325
+
2326
+ def initialize(**args)
2327
+ update!(**args)
2328
+ end
2329
+
2330
+ # Update properties of this object
2331
+ def update!(**args)
2332
+ @db_servers = args[:db_servers] if args.key?(:db_servers)
2333
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2334
+ end
2335
+ end
2336
+
2337
+ # The response for `DbSystemShape.List`.
2338
+ class ListDbSystemShapesResponse
2339
+ include Google::Apis::Core::Hashable
2340
+
2341
+ # The list of Database System shapes.
2342
+ # Corresponds to the JSON property `dbSystemShapes`
2343
+ # @return [Array<Google::Apis::OracledatabaseV1::DbSystemShape>]
2344
+ attr_accessor :db_system_shapes
2345
+
2346
+ # A token identifying a page of results the server should return.
2347
+ # Corresponds to the JSON property `nextPageToken`
2348
+ # @return [String]
2349
+ attr_accessor :next_page_token
2350
+
2351
+ def initialize(**args)
2352
+ update!(**args)
2353
+ end
2354
+
2355
+ # Update properties of this object
2356
+ def update!(**args)
2357
+ @db_system_shapes = args[:db_system_shapes] if args.key?(:db_system_shapes)
2358
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2359
+ end
2360
+ end
2361
+
2362
+ # The response for `Entitlement.List`.
2363
+ class ListEntitlementsResponse
2364
+ include Google::Apis::Core::Hashable
2365
+
2366
+ # The list of Entitlements
2367
+ # Corresponds to the JSON property `entitlements`
2368
+ # @return [Array<Google::Apis::OracledatabaseV1::Entitlement>]
2369
+ attr_accessor :entitlements
2370
+
2371
+ # A token identifying a page of results the server should return.
2372
+ # Corresponds to the JSON property `nextPageToken`
2373
+ # @return [String]
2374
+ attr_accessor :next_page_token
2375
+
2376
+ def initialize(**args)
2377
+ update!(**args)
2378
+ end
2379
+
2380
+ # Update properties of this object
2381
+ def update!(**args)
2382
+ @entitlements = args[:entitlements] if args.key?(:entitlements)
2383
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2384
+ end
2385
+ end
2386
+
2387
+ # The response for `GiVersion.List`.
2388
+ class ListGiVersionsResponse
2389
+ include Google::Apis::Core::Hashable
2390
+
2391
+ # The list of Oracle Grid Infrastructure (GI) versions.
2392
+ # Corresponds to the JSON property `giVersions`
2393
+ # @return [Array<Google::Apis::OracledatabaseV1::GiVersion>]
2394
+ attr_accessor :gi_versions
2395
+
2396
+ # A token identifying a page of results the server should return.
2397
+ # Corresponds to the JSON property `nextPageToken`
2398
+ # @return [String]
2399
+ attr_accessor :next_page_token
2400
+
2401
+ def initialize(**args)
2402
+ update!(**args)
2403
+ end
2404
+
2405
+ # Update properties of this object
2406
+ def update!(**args)
2407
+ @gi_versions = args[:gi_versions] if args.key?(:gi_versions)
2408
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2409
+ end
2410
+ end
2411
+
2412
+ # The response message for Locations.ListLocations.
2413
+ class ListLocationsResponse
2414
+ include Google::Apis::Core::Hashable
2415
+
2416
+ # A list of locations that matches the specified filter in the request.
2417
+ # Corresponds to the JSON property `locations`
2418
+ # @return [Array<Google::Apis::OracledatabaseV1::Location>]
2419
+ attr_accessor :locations
2420
+
2421
+ # The standard List next-page token.
2422
+ # Corresponds to the JSON property `nextPageToken`
2423
+ # @return [String]
2424
+ attr_accessor :next_page_token
2425
+
2426
+ def initialize(**args)
2427
+ update!(**args)
2428
+ end
2429
+
2430
+ # Update properties of this object
2431
+ def update!(**args)
2432
+ @locations = args[:locations] if args.key?(:locations)
2433
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2434
+ end
2435
+ end
2436
+
2437
+ # The response message for Operations.ListOperations.
2438
+ class ListOperationsResponse
2439
+ include Google::Apis::Core::Hashable
2440
+
2441
+ # The standard List next-page token.
2442
+ # Corresponds to the JSON property `nextPageToken`
2443
+ # @return [String]
2444
+ attr_accessor :next_page_token
2445
+
2446
+ # A list of operations that matches the specified filter in the request.
2447
+ # Corresponds to the JSON property `operations`
2448
+ # @return [Array<Google::Apis::OracledatabaseV1::Operation>]
2449
+ attr_accessor :operations
2450
+
2451
+ def initialize(**args)
2452
+ update!(**args)
2453
+ end
2454
+
2455
+ # Update properties of this object
2456
+ def update!(**args)
2457
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2458
+ @operations = args[:operations] if args.key?(:operations)
2459
+ end
2460
+ end
2461
+
2462
+ # A resource that represents a Google Cloud location.
2463
+ class Location
2464
+ include Google::Apis::Core::Hashable
2465
+
2466
+ # The friendly name for this location, typically a nearby city name. For example,
2467
+ # "Tokyo".
2468
+ # Corresponds to the JSON property `displayName`
2469
+ # @return [String]
2470
+ attr_accessor :display_name
2471
+
2472
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
2473
+ # region": "us-east1"`
2474
+ # Corresponds to the JSON property `labels`
2475
+ # @return [Hash<String,String>]
2476
+ attr_accessor :labels
2477
+
2478
+ # The canonical id for this location. For example: `"us-east1"`.
2479
+ # Corresponds to the JSON property `locationId`
2480
+ # @return [String]
2481
+ attr_accessor :location_id
2482
+
2483
+ # Service-specific metadata. For example the available capacity at the given
2484
+ # location.
2485
+ # Corresponds to the JSON property `metadata`
2486
+ # @return [Hash<String,Object>]
2487
+ attr_accessor :metadata
2488
+
2489
+ # Resource name for the location, which may vary between implementations. For
2490
+ # example: `"projects/example-project/locations/us-east1"`
2491
+ # Corresponds to the JSON property `name`
2492
+ # @return [String]
2493
+ attr_accessor :name
2494
+
2495
+ def initialize(**args)
2496
+ update!(**args)
2497
+ end
2498
+
2499
+ # Update properties of this object
2500
+ def update!(**args)
2501
+ @display_name = args[:display_name] if args.key?(:display_name)
2502
+ @labels = args[:labels] if args.key?(:labels)
2503
+ @location_id = args[:location_id] if args.key?(:location_id)
2504
+ @metadata = args[:metadata] if args.key?(:metadata)
2505
+ @name = args[:name] if args.key?(:name)
2506
+ end
2507
+ end
2508
+
2509
+ # Metadata for a given Location.
2510
+ class LocationMetadata
2511
+ include Google::Apis::Core::Hashable
2512
+
2513
+ # Output only. GCP Oracle zones in a location.
2514
+ # Corresponds to the JSON property `gcpOracleZones`
2515
+ # @return [Array<String>]
2516
+ attr_accessor :gcp_oracle_zones
2517
+
2518
+ def initialize(**args)
2519
+ update!(**args)
2520
+ end
2521
+
2522
+ # Update properties of this object
2523
+ def update!(**args)
2524
+ @gcp_oracle_zones = args[:gcp_oracle_zones] if args.key?(:gcp_oracle_zones)
2525
+ end
2526
+ end
2527
+
2528
+ # Maintenance window as defined by Oracle. https://docs.oracle.com/en-us/iaas/
2529
+ # api/#/en/database/20160918/datatypes/MaintenanceWindow
2530
+ class MaintenanceWindow
2531
+ include Google::Apis::Core::Hashable
2532
+
2533
+ # Optional. Determines the amount of time the system will wait before the start
2534
+ # of each database server patching operation. Custom action timeout is in
2535
+ # minutes and valid value is between 15 to 120 (inclusive).
2536
+ # Corresponds to the JSON property `customActionTimeoutMins`
2537
+ # @return [Fixnum]
2538
+ attr_accessor :custom_action_timeout_mins
2539
+
2540
+ # Optional. Days during the week when maintenance should be performed.
2541
+ # Corresponds to the JSON property `daysOfWeek`
2542
+ # @return [Array<String>]
2543
+ attr_accessor :days_of_week
2544
+
2545
+ # Optional. The window of hours during the day when maintenance should be
2546
+ # performed. The window is a 4 hour slot. Valid values are: 0 - represents time
2547
+ # slot 0:00 - 3:59 UTC 4 - represents time slot 4:00 - 7:59 UTC 8 - represents
2548
+ # time slot 8:00 - 11:59 UTC 12 - represents time slot 12:00 - 15:59 UTC 16 -
2549
+ # represents time slot 16:00 - 19:59 UTC 20 - represents time slot 20:00 - 23:59
2550
+ # UTC
2551
+ # Corresponds to the JSON property `hoursOfDay`
2552
+ # @return [Array<Fixnum>]
2553
+ attr_accessor :hours_of_day
2554
+
2555
+ # Optional. If true, enables the configuration of a custom action timeout (
2556
+ # waiting period) between database server patching operations.
2557
+ # Corresponds to the JSON property `isCustomActionTimeoutEnabled`
2558
+ # @return [Boolean]
2559
+ attr_accessor :is_custom_action_timeout_enabled
2560
+ alias_method :is_custom_action_timeout_enabled?, :is_custom_action_timeout_enabled
2561
+
2562
+ # Optional. Lead time window allows user to set a lead time to prepare for a
2563
+ # down time. The lead time is in weeks and valid value is between 1 to 4.
2564
+ # Corresponds to the JSON property `leadTimeWeek`
2565
+ # @return [Fixnum]
2566
+ attr_accessor :lead_time_week
2567
+
2568
+ # Optional. Months during the year when maintenance should be performed.
2569
+ # Corresponds to the JSON property `months`
2570
+ # @return [Array<String>]
2571
+ attr_accessor :months
2572
+
2573
+ # Optional. Cloud CloudExadataInfrastructure node patching method, either "
2574
+ # ROLLING" or "NONROLLING". Default value is ROLLING.
2575
+ # Corresponds to the JSON property `patchingMode`
2576
+ # @return [String]
2577
+ attr_accessor :patching_mode
2578
+
2579
+ # Optional. The maintenance window scheduling preference.
2580
+ # Corresponds to the JSON property `preference`
2581
+ # @return [String]
2582
+ attr_accessor :preference
2583
+
2584
+ # Optional. Weeks during the month when maintenance should be performed. Weeks
2585
+ # start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration
2586
+ # of 7 days. Weeks start and end based on calendar dates, not days of the week.
2587
+ # Corresponds to the JSON property `weeksOfMonth`
2588
+ # @return [Array<Fixnum>]
2589
+ attr_accessor :weeks_of_month
2590
+
2591
+ def initialize(**args)
2592
+ update!(**args)
2593
+ end
2594
+
2595
+ # Update properties of this object
2596
+ def update!(**args)
2597
+ @custom_action_timeout_mins = args[:custom_action_timeout_mins] if args.key?(:custom_action_timeout_mins)
2598
+ @days_of_week = args[:days_of_week] if args.key?(:days_of_week)
2599
+ @hours_of_day = args[:hours_of_day] if args.key?(:hours_of_day)
2600
+ @is_custom_action_timeout_enabled = args[:is_custom_action_timeout_enabled] if args.key?(:is_custom_action_timeout_enabled)
2601
+ @lead_time_week = args[:lead_time_week] if args.key?(:lead_time_week)
2602
+ @months = args[:months] if args.key?(:months)
2603
+ @patching_mode = args[:patching_mode] if args.key?(:patching_mode)
2604
+ @preference = args[:preference] if args.key?(:preference)
2605
+ @weeks_of_month = args[:weeks_of_month] if args.key?(:weeks_of_month)
2606
+ end
2607
+ end
2608
+
2609
+ # This resource represents a long-running operation that is the result of a
2610
+ # network API call.
2611
+ class Operation
2612
+ include Google::Apis::Core::Hashable
2613
+
2614
+ # If the value is `false`, it means the operation is still in progress. If `true`
2615
+ # , the operation is completed, and either `error` or `response` is available.
2616
+ # Corresponds to the JSON property `done`
2617
+ # @return [Boolean]
2618
+ attr_accessor :done
2619
+ alias_method :done?, :done
2620
+
2621
+ # The `Status` type defines a logical error model that is suitable for different
2622
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2623
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2624
+ # data: error code, error message, and error details. You can find out more
2625
+ # about this error model and how to work with it in the [API Design Guide](https:
2626
+ # //cloud.google.com/apis/design/errors).
2627
+ # Corresponds to the JSON property `error`
2628
+ # @return [Google::Apis::OracledatabaseV1::Status]
2629
+ attr_accessor :error
2630
+
2631
+ # Service-specific metadata associated with the operation. It typically contains
2632
+ # progress information and common metadata such as create time. Some services
2633
+ # might not provide such metadata. Any method that returns a long-running
2634
+ # operation should document the metadata type, if any.
2635
+ # Corresponds to the JSON property `metadata`
2636
+ # @return [Hash<String,Object>]
2637
+ attr_accessor :metadata
2638
+
2639
+ # The server-assigned name, which is only unique within the same service that
2640
+ # originally returns it. If you use the default HTTP mapping, the `name` should
2641
+ # be a resource name ending with `operations/`unique_id``.
2642
+ # Corresponds to the JSON property `name`
2643
+ # @return [String]
2644
+ attr_accessor :name
2645
+
2646
+ # The normal, successful response of the operation. If the original method
2647
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
2648
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
2649
+ # response should be the resource. For other methods, the response should have
2650
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
2651
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
2652
+ # `TakeSnapshotResponse`.
2653
+ # Corresponds to the JSON property `response`
2654
+ # @return [Hash<String,Object>]
2655
+ attr_accessor :response
2656
+
2657
+ def initialize(**args)
2658
+ update!(**args)
2659
+ end
2660
+
2661
+ # Update properties of this object
2662
+ def update!(**args)
2663
+ @done = args[:done] if args.key?(:done)
2664
+ @error = args[:error] if args.key?(:error)
2665
+ @metadata = args[:metadata] if args.key?(:metadata)
2666
+ @name = args[:name] if args.key?(:name)
2667
+ @response = args[:response] if args.key?(:response)
2668
+ end
2669
+ end
2670
+
2671
+ # Represents the metadata of the long-running operation.
2672
+ class OperationMetadata
2673
+ include Google::Apis::Core::Hashable
2674
+
2675
+ # Output only. API version used to start the operation.
2676
+ # Corresponds to the JSON property `apiVersion`
2677
+ # @return [String]
2678
+ attr_accessor :api_version
2679
+
2680
+ # Output only. The time the operation was created.
2681
+ # Corresponds to the JSON property `createTime`
2682
+ # @return [String]
2683
+ attr_accessor :create_time
2684
+
2685
+ # Output only. The time the operation finished running.
2686
+ # Corresponds to the JSON property `endTime`
2687
+ # @return [String]
2688
+ attr_accessor :end_time
2689
+
2690
+ # Output only. An estimated percentage of the operation that has been completed
2691
+ # at a given moment of time, between 0 and 100.
2692
+ # Corresponds to the JSON property `percentComplete`
2693
+ # @return [Float]
2694
+ attr_accessor :percent_complete
2695
+
2696
+ # Output only. Identifies whether the user has requested cancellation of the
2697
+ # operation. Operations that have been cancelled successfully have Operation.
2698
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
2699
+ # CANCELLED`.
2700
+ # Corresponds to the JSON property `requestedCancellation`
2701
+ # @return [Boolean]
2702
+ attr_accessor :requested_cancellation
2703
+ alias_method :requested_cancellation?, :requested_cancellation
2704
+
2705
+ # Output only. The status of the operation.
2706
+ # Corresponds to the JSON property `statusMessage`
2707
+ # @return [String]
2708
+ attr_accessor :status_message
2709
+
2710
+ # Output only. Server-defined resource path for the target of the operation.
2711
+ # Corresponds to the JSON property `target`
2712
+ # @return [String]
2713
+ attr_accessor :target
2714
+
2715
+ # Output only. Name of the verb executed by the operation.
2716
+ # Corresponds to the JSON property `verb`
2717
+ # @return [String]
2718
+ attr_accessor :verb
2719
+
2720
+ def initialize(**args)
2721
+ update!(**args)
2722
+ end
2723
+
2724
+ # Update properties of this object
2725
+ def update!(**args)
2726
+ @api_version = args[:api_version] if args.key?(:api_version)
2727
+ @create_time = args[:create_time] if args.key?(:create_time)
2728
+ @end_time = args[:end_time] if args.key?(:end_time)
2729
+ @percent_complete = args[:percent_complete] if args.key?(:percent_complete)
2730
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
2731
+ @status_message = args[:status_message] if args.key?(:status_message)
2732
+ @target = args[:target] if args.key?(:target)
2733
+ @verb = args[:verb] if args.key?(:verb)
2734
+ end
2735
+ end
2736
+
2737
+ # The request for `AutonomousDatabase.Restore`.
2738
+ class RestoreAutonomousDatabaseRequest
2739
+ include Google::Apis::Core::Hashable
2740
+
2741
+ # Required. The time and date to restore the database to.
2742
+ # Corresponds to the JSON property `restoreTime`
2743
+ # @return [String]
2744
+ attr_accessor :restore_time
2745
+
2746
+ def initialize(**args)
2747
+ update!(**args)
2748
+ end
2749
+
2750
+ # Update properties of this object
2751
+ def update!(**args)
2752
+ @restore_time = args[:restore_time] if args.key?(:restore_time)
2753
+ end
2754
+ end
2755
+
2756
+ # Details of scheduled operation. https://docs.oracle.com/en-us/iaas/api/#/en/
2757
+ # database/20160918/datatypes/ScheduledOperationDetails
2758
+ class ScheduledOperationDetails
2759
+ include Google::Apis::Core::Hashable
2760
+
2761
+ # Output only. Day of week.
2762
+ # Corresponds to the JSON property `dayOfWeek`
2763
+ # @return [String]
2764
+ attr_accessor :day_of_week
2765
+
2766
+ # Represents a time of day. The date and time zone are either not significant or
2767
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
2768
+ # types are google.type.Date and `google.protobuf.Timestamp`.
2769
+ # Corresponds to the JSON property `startTime`
2770
+ # @return [Google::Apis::OracledatabaseV1::TimeOfDay]
2771
+ attr_accessor :start_time
2772
+
2773
+ # Represents a time of day. The date and time zone are either not significant or
2774
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
2775
+ # types are google.type.Date and `google.protobuf.Timestamp`.
2776
+ # Corresponds to the JSON property `stopTime`
2777
+ # @return [Google::Apis::OracledatabaseV1::TimeOfDay]
2778
+ attr_accessor :stop_time
2779
+
2780
+ def initialize(**args)
2781
+ update!(**args)
2782
+ end
2783
+
2784
+ # Update properties of this object
2785
+ def update!(**args)
2786
+ @day_of_week = args[:day_of_week] if args.key?(:day_of_week)
2787
+ @start_time = args[:start_time] if args.key?(:start_time)
2788
+ @stop_time = args[:stop_time] if args.key?(:stop_time)
2789
+ end
2790
+ end
2791
+
2792
+ # The `Status` type defines a logical error model that is suitable for different
2793
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2794
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2795
+ # data: error code, error message, and error details. You can find out more
2796
+ # about this error model and how to work with it in the [API Design Guide](https:
2797
+ # //cloud.google.com/apis/design/errors).
2798
+ class Status
2799
+ include Google::Apis::Core::Hashable
2800
+
2801
+ # The status code, which should be an enum value of google.rpc.Code.
2802
+ # Corresponds to the JSON property `code`
2803
+ # @return [Fixnum]
2804
+ attr_accessor :code
2805
+
2806
+ # A list of messages that carry the error details. There is a common set of
2807
+ # message types for APIs to use.
2808
+ # Corresponds to the JSON property `details`
2809
+ # @return [Array<Hash<String,Object>>]
2810
+ attr_accessor :details
2811
+
2812
+ # A developer-facing error message, which should be in English. Any user-facing
2813
+ # error message should be localized and sent in the google.rpc.Status.details
2814
+ # field, or localized by the client.
2815
+ # Corresponds to the JSON property `message`
2816
+ # @return [String]
2817
+ attr_accessor :message
2818
+
2819
+ def initialize(**args)
2820
+ update!(**args)
2821
+ end
2822
+
2823
+ # Update properties of this object
2824
+ def update!(**args)
2825
+ @code = args[:code] if args.key?(:code)
2826
+ @details = args[:details] if args.key?(:details)
2827
+ @message = args[:message] if args.key?(:message)
2828
+ end
2829
+ end
2830
+
2831
+ # Represents a time of day. The date and time zone are either not significant or
2832
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
2833
+ # types are google.type.Date and `google.protobuf.Timestamp`.
2834
+ class TimeOfDay
2835
+ include Google::Apis::Core::Hashable
2836
+
2837
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
2838
+ # allow the value "24:00:00" for scenarios like business closing time.
2839
+ # Corresponds to the JSON property `hours`
2840
+ # @return [Fixnum]
2841
+ attr_accessor :hours
2842
+
2843
+ # Minutes of hour of day. Must be from 0 to 59.
2844
+ # Corresponds to the JSON property `minutes`
2845
+ # @return [Fixnum]
2846
+ attr_accessor :minutes
2847
+
2848
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
2849
+ # Corresponds to the JSON property `nanos`
2850
+ # @return [Fixnum]
2851
+ attr_accessor :nanos
2852
+
2853
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
2854
+ # allow the value 60 if it allows leap-seconds.
2855
+ # Corresponds to the JSON property `seconds`
2856
+ # @return [Fixnum]
2857
+ attr_accessor :seconds
2858
+
2859
+ def initialize(**args)
2860
+ update!(**args)
2861
+ end
2862
+
2863
+ # Update properties of this object
2864
+ def update!(**args)
2865
+ @hours = args[:hours] if args.key?(:hours)
2866
+ @minutes = args[:minutes] if args.key?(:minutes)
2867
+ @nanos = args[:nanos] if args.key?(:nanos)
2868
+ @seconds = args[:seconds] if args.key?(:seconds)
2869
+ end
2870
+ end
2871
+
2872
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
2873
+ # time-zones).
2874
+ class TimeZone
2875
+ include Google::Apis::Core::Hashable
2876
+
2877
+ # IANA Time Zone Database time zone, e.g. "America/New_York".
2878
+ # Corresponds to the JSON property `id`
2879
+ # @return [String]
2880
+ attr_accessor :id
2881
+
2882
+ # Optional. IANA Time Zone Database version number, e.g. "2019a".
2883
+ # Corresponds to the JSON property `version`
2884
+ # @return [String]
2885
+ attr_accessor :version
2886
+
2887
+ def initialize(**args)
2888
+ update!(**args)
2889
+ end
2890
+
2891
+ # Update properties of this object
2892
+ def update!(**args)
2893
+ @id = args[:id] if args.key?(:id)
2894
+ @version = args[:version] if args.key?(:version)
2895
+ end
2896
+ end
2897
+ end
2898
+ end
2899
+ end