@@ -1395,6 +1395,109 @@ def update!(**args)
1395
1395
end
1396
1396
end
1397
1397
1398
+ # Metadata for the long-running operation from the CloneDatabase request.
1399
+ class GoogleFirestoreAdminV1CloneDatabaseMetadata
1400
+ include Google ::Apis ::Core ::Hashable
1401
+
1402
+ # The name of the database being cloned to.
1403
+ # Corresponds to the JSON property `database`
1404
+ # @return [String]
1405
+ attr_accessor :database
1406
+
1407
+ # The time the clone finished, unset for ongoing clones.
1408
+ # Corresponds to the JSON property `endTime`
1409
+ # @return [String]
1410
+ attr_accessor :end_time
1411
+
1412
+ # The operation state of the clone.
1413
+ # Corresponds to the JSON property `operationState`
1414
+ # @return [String]
1415
+ attr_accessor :operation_state
1416
+
1417
+ # A consistent snapshot of a database at a specific point in time. A PITR (Point-
1418
+ # in-time recovery) snapshot with previous versions of a database's data is
1419
+ # available for every minute up to the associated database's data retention
1420
+ # period. If the PITR feature is enabled, the retention period is 7 days;
1421
+ # otherwise, it is one hour.
1422
+ # Corresponds to the JSON property `pitrSnapshot`
1423
+ # @return [Google::Apis::FirestoreV1::GoogleFirestoreAdminV1PitrSnapshot]
1424
+ attr_accessor :pitr_snapshot
1425
+
1426
+ # Describes the progress of the operation. Unit of work is generic and must be
1427
+ # interpreted based on where Progress is used.
1428
+ # Corresponds to the JSON property `progressPercentage`
1429
+ # @return [Google::Apis::FirestoreV1::GoogleFirestoreAdminV1Progress]
1430
+ attr_accessor :progress_percentage
1431
+
1432
+ # The time the clone was started.
1433
+ # Corresponds to the JSON property `startTime`
1434
+ # @return [String]
1435
+ attr_accessor :start_time
1436
+
1437
+ def initialize ( **args )
1438
+ update! ( **args )
1439
+ end
1440
+
1441
+ # Update properties of this object
1442
+ def update! ( **args )
1443
+ @database = args [ :database ] if args . key? ( :database )
1444
+ @end_time = args [ :end_time ] if args . key? ( :end_time )
1445
+ @operation_state = args [ :operation_state ] if args . key? ( :operation_state )
1446
+ @pitr_snapshot = args [ :pitr_snapshot ] if args . key? ( :pitr_snapshot )
1447
+ @progress_percentage = args [ :progress_percentage ] if args . key? ( :progress_percentage )
1448
+ @start_time = args [ :start_time ] if args . key? ( :start_time )
1449
+ end
1450
+ end
1451
+
1452
+ # The request message for FirestoreAdmin.CloneDatabase.
1453
+ class GoogleFirestoreAdminV1CloneDatabaseRequest
1454
+ include Google ::Apis ::Core ::Hashable
1455
+
1456
+ # Required. The ID to use for the database, which will become the final
1457
+ # component of the database's resource name. This database ID must not be
1458
+ # associated with an existing database. This value should be 4-63 characters.
1459
+ # Valid characters are /a-z-/ with first character a letter and the last a
1460
+ # letter or a number. Must not be UUID-like /[0-9a-f]`8`(-[0-9a-f]`4`)`3`-[0-9a-
1461
+ # f]`12`/. "(default)" database ID is also valid.
1462
+ # Corresponds to the JSON property `databaseId`
1463
+ # @return [String]
1464
+ attr_accessor :database_id
1465
+
1466
+ # Encryption configuration for a new database being created from another source.
1467
+ # The source could be a Backup .
1468
+ # Corresponds to the JSON property `encryptionConfig`
1469
+ # @return [Google::Apis::FirestoreV1::GoogleFirestoreAdminV1EncryptionConfig]
1470
+ attr_accessor :encryption_config
1471
+
1472
+ # A consistent snapshot of a database at a specific point in time. A PITR (Point-
1473
+ # in-time recovery) snapshot with previous versions of a database's data is
1474
+ # available for every minute up to the associated database's data retention
1475
+ # period. If the PITR feature is enabled, the retention period is 7 days;
1476
+ # otherwise, it is one hour.
1477
+ # Corresponds to the JSON property `pitrSnapshot`
1478
+ # @return [Google::Apis::FirestoreV1::GoogleFirestoreAdminV1PitrSnapshot]
1479
+ attr_accessor :pitr_snapshot
1480
+
1481
+ # Optional. Immutable. Tags to be bound to the cloned database. The tags should
1482
+ # be provided in the format of `tagKeys/`tag_key_id` -> tagValues/`tag_value_id``
1483
+ # .
1484
+ # Corresponds to the JSON property `tags`
1485
+ # @return [Hash<String,String>]
1486
+ attr_accessor :tags
1487
+
1488
+ def initialize ( **args )
1489
+ update! ( **args )
1490
+ end
1491
+
1492
+ # Update properties of this object
1493
+ def update! ( **args )
1494
+ @database_id = args [ :database_id ] if args . key? ( :database_id )
1495
+ @encryption_config = args [ :encryption_config ] if args . key? ( :encryption_config )
1496
+ @pitr_snapshot = args [ :pitr_snapshot ] if args . key? ( :pitr_snapshot )
1497
+ @tags = args [ :tags ] if args . key? ( :tags )
1498
+ end
1499
+ end
1500
+
1398
1501
# The CMEK (Customer Managed Encryption Key) configuration for a Firestore
1399
1502
# database. If not present, the database is secured by the default Google
1400
1503
# encryption key.
@@ -2537,6 +2640,43 @@ def update!(**args)
2537
2640
end
2538
2641
end
2539
2642
2643
+ # A consistent snapshot of a database at a specific point in time. A PITR (Point-
2644
+ # in-time recovery) snapshot with previous versions of a database's data is
2645
+ # available for every minute up to the associated database's data retention
2646
+ # period. If the PITR feature is enabled, the retention period is 7 days;
2647
+ # otherwise, it is one hour.
2648
+ class GoogleFirestoreAdminV1PitrSnapshot
2649
+ include Google ::Apis ::Core ::Hashable
2650
+
2651
+ # Required. The name of the database that this was a snapshot of. Format: `
2652
+ # projects/`project`/databases/`database``.
2653
+ # Corresponds to the JSON property `database`
2654
+ # @return [String]
2655
+ attr_accessor :database
2656
+
2657
+ # Output only. Public UUID of the database the snapshot was associated with.
2658
+ # Corresponds to the JSON property `databaseUid`
2659
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2660
+ # @return [String]
2661
+ attr_accessor :database_uid
2662
+
2663
+ # Required. Snapshot time of the database.
2664
+ # Corresponds to the JSON property `snapshotTime`
2665
+ # @return [String]
2666
+ attr_accessor :snapshot_time
2667
+
2668
+ def initialize ( **args )
2669
+ update! ( **args )
2670
+ end
2671
+
2672
+ # Update properties of this object
2673
+ def update! ( **args )
2674
+ @database = args [ :database ] if args . key? ( :database )
2675
+ @database_uid = args [ :database_uid ] if args . key? ( :database_uid )
2676
+ @snapshot_time = args [ :snapshot_time ] if args . key? ( :snapshot_time )
2677
+ end
2678
+ end
2679
+
2540
2680
# Describes the progress of the operation. Unit of work is generic and must be
2541
2681
# interpreted based on where Progress is used.
2542
2682
class GoogleFirestoreAdminV1Progress
0 commit comments