@@ -228,6 +228,11 @@ class Backup
228228 # @return [String]
229229 attr_accessor :name
230230
231+ # Represents ONTAP source details.
232+ # Corresponds to the JSON property `ontapSource`
233+ # @return [Google::Apis::NetappV1::OntapSource]
234+ attr_accessor :ontap_source
235+
231236 # Output only. Reserved for future use
232237 # Corresponds to the JSON property `satisfiesPzi`
233238 # @return [Boolean]
@@ -287,6 +292,7 @@ def update!(**args)
287292 @enforced_retention_end_time = args [ :enforced_retention_end_time ] if args . key? ( :enforced_retention_end_time )
288293 @labels = args [ :labels ] if args . key? ( :labels )
289294 @name = args [ :name ] if args . key? ( :name )
295+ @ontap_source = args [ :ontap_source ] if args . key? ( :ontap_source )
290296 @satisfies_pzi = args [ :satisfies_pzi ] if args . key? ( :satisfies_pzi )
291297 @satisfies_pzs = args [ :satisfies_pzs ] if args . key? ( :satisfies_pzs )
292298 @source_snapshot = args [ :source_snapshot ] if args . key? ( :source_snapshot )
@@ -473,6 +479,33 @@ def update!(**args)
473479 end
474480 end
475481
482+ # Represents the backup source of the restore operation.
483+ class BackupSource
484+ include Google ::Apis ::Core ::Hashable
485+
486+ # Required. The backup resource name.
487+ # Corresponds to the JSON property `backup`
488+ # @return [String]
489+ attr_accessor :backup
490+
491+ # Optional. List of files to be restored in the form of their absolute path as
492+ # in source volume. If provided, only these files will be restored. If not
493+ # provided, the entire backup will be restored (Full Backup Restore)
494+ # Corresponds to the JSON property `fileList`
495+ # @return [Array<String>]
496+ attr_accessor :file_list
497+
498+ def initialize ( **args )
499+ update! ( **args )
500+ end
501+
502+ # Update properties of this object
503+ def update! ( **args )
504+ @backup = args [ :backup ] if args . key? ( :backup )
505+ @file_list = args [ :file_list ] if args . key? ( :file_list )
506+ end
507+ end
508+
476509 # A NetApp BackupVault.
477510 class BackupVault
478511 include Google ::Apis ::Core ::Hashable
@@ -1525,6 +1558,38 @@ def update!(**args)
15251558 end
15261559 end
15271560
1561+ # Message for response to listing BackupConfigs in an ONTAP StoragePool.
1562+ class ListBackupConfigsResponse
1563+ include Google ::Apis ::Core ::Hashable
1564+
1565+ # The token you can use to retrieve the next page of results. Not returned if
1566+ # there are no more results in the list.
1567+ # Corresponds to the JSON property `nextPageToken`
1568+ # @return [String]
1569+ attr_accessor :next_page_token
1570+
1571+ # Unordered list. Locations that could not be reached.
1572+ # Corresponds to the JSON property `unreachable`
1573+ # @return [Array<String>]
1574+ attr_accessor :unreachable
1575+
1576+ # A list of backup configurations for volumes in the pool.
1577+ # Corresponds to the JSON property `volumeBackupConfigs`
1578+ # @return [Array<Google::Apis::NetappV1::VolumeBackupConfig>]
1579+ attr_accessor :volume_backup_configs
1580+
1581+ def initialize ( **args )
1582+ update! ( **args )
1583+ end
1584+
1585+ # Update properties of this object
1586+ def update! ( **args )
1587+ @next_page_token = args [ :next_page_token ] if args . key? ( :next_page_token )
1588+ @unreachable = args [ :unreachable ] if args . key? ( :unreachable )
1589+ @volume_backup_configs = args [ :volume_backup_configs ] if args . key? ( :volume_backup_configs )
1590+ end
1591+ end
1592+
15281593 # ListBackupPoliciesResponse contains all the backup policies requested.
15291594 class ListBackupPoliciesResponse
15301595 include Google ::Apis ::Core ::Hashable
@@ -2066,6 +2131,64 @@ def update!(**args)
20662131 end
20672132 end
20682133
2134+ # Represents ONTAP source details.
2135+ class OntapSource
2136+ include Google ::Apis ::Core ::Hashable
2137+
2138+ # Optional. The UUID of the ONTAP source snapshot.
2139+ # Corresponds to the JSON property `snapshotUuid`
2140+ # @return [String]
2141+ attr_accessor :snapshot_uuid
2142+
2143+ # Required. Name of the storage pool. This must be specified for creating
2144+ # backups for ONTAP mode volumes. Format: `projects/`projects_id`/locations/`
2145+ # location`/storagePools/`storage_pool_id``
2146+ # Corresponds to the JSON property `storagePool`
2147+ # @return [String]
2148+ attr_accessor :storage_pool
2149+
2150+ # Required. The UUID of the ONTAP source volume.
2151+ # Corresponds to the JSON property `volumeUuid`
2152+ # @return [String]
2153+ attr_accessor :volume_uuid
2154+
2155+ def initialize ( **args )
2156+ update! ( **args )
2157+ end
2158+
2159+ # Update properties of this object
2160+ def update! ( **args )
2161+ @snapshot_uuid = args [ :snapshot_uuid ] if args . key? ( :snapshot_uuid )
2162+ @storage_pool = args [ :storage_pool ] if args . key? ( :storage_pool )
2163+ @volume_uuid = args [ :volume_uuid ] if args . key? ( :volume_uuid )
2164+ end
2165+ end
2166+
2167+ # Represents the ONTAP volume target of the restore operation.
2168+ class OntapVolumeTarget
2169+ include Google ::Apis ::Core ::Hashable
2170+
2171+ # Optional. Absolute directory path in the destination volume.
2172+ # Corresponds to the JSON property `restoreDestinationPath`
2173+ # @return [String]
2174+ attr_accessor :restore_destination_path
2175+
2176+ # Required. The UUID of the ONTAP volume to restore to.
2177+ # Corresponds to the JSON property `volumeUuid`
2178+ # @return [String]
2179+ attr_accessor :volume_uuid
2180+
2181+ def initialize ( **args )
2182+ update! ( **args )
2183+ end
2184+
2185+ # Update properties of this object
2186+ def update! ( **args )
2187+ @restore_destination_path = args [ :restore_destination_path ] if args . key? ( :restore_destination_path )
2188+ @volume_uuid = args [ :volume_uuid ] if args . key? ( :volume_uuid )
2189+ end
2190+ end
2191+
20692192 # This resource represents a long-running operation that is the result of a
20702193 # network API call.
20712194 class Operation
@@ -2452,6 +2575,31 @@ def update!(**args)
24522575 end
24532576 end
24542577
2578+ # Request message for `RestoreVolume` API.
2579+ class RestoreVolumeRequest
2580+ include Google ::Apis ::Core ::Hashable
2581+
2582+ # Represents the backup source of the restore operation.
2583+ # Corresponds to the JSON property `backupSource`
2584+ # @return [Google::Apis::NetappV1::BackupSource]
2585+ attr_accessor :backup_source
2586+
2587+ # Represents the ONTAP volume target of the restore operation.
2588+ # Corresponds to the JSON property `ontapVolumeTarget`
2589+ # @return [Google::Apis::NetappV1::OntapVolumeTarget]
2590+ attr_accessor :ontap_volume_target
2591+
2592+ def initialize ( **args )
2593+ update! ( **args )
2594+ end
2595+
2596+ # Update properties of this object
2597+ def update! ( **args )
2598+ @backup_source = args [ :backup_source ] if args . key? ( :backup_source )
2599+ @ontap_volume_target = args [ :ontap_volume_target ] if args . key? ( :ontap_volume_target )
2600+ end
2601+ end
2602+
24552603 # ResumeReplicationRequest resumes a stopped replication.
24562604 class ResumeReplicationRequest
24572605 include Google ::Apis ::Core ::Hashable
@@ -3152,6 +3300,40 @@ def update!(**args)
31523300 end
31533301 end
31543302
3303+ # Request message for UpdateBackupConfig
3304+ class UpdateBackupConfigRequest
3305+ include Google ::Apis ::Core ::Hashable
3306+
3307+ # BackupConfig contains backup related config on a volume.
3308+ # Corresponds to the JSON property `backupConfig`
3309+ # @return [Google::Apis::NetappV1::BackupConfig]
3310+ attr_accessor :backup_config
3311+
3312+ # Required. Field mask is used to specify the fields to be overwritten in the
3313+ # BackupConfig for the Volume. The fields specified in the update_mask are
3314+ # relative to the resource, not the full request. A field will be overwritten if
3315+ # it is in the mask.
3316+ # Corresponds to the JSON property `updateMask`
3317+ # @return [String]
3318+ attr_accessor :update_mask
3319+
3320+ # Required. The UUID of the ONTAP-mode volume.
3321+ # Corresponds to the JSON property `volumeUuid`
3322+ # @return [String]
3323+ attr_accessor :volume_uuid
3324+
3325+ def initialize ( **args )
3326+ update! ( **args )
3327+ end
3328+
3329+ # Update properties of this object
3330+ def update! ( **args )
3331+ @backup_config = args [ :backup_config ] if args . key? ( :backup_config )
3332+ @update_mask = args [ :update_mask ] if args . key? ( :update_mask )
3333+ @volume_uuid = args [ :volume_uuid ] if args . key? ( :volume_uuid )
3334+ end
3335+ end
3336+
31553337 # UserCommands contains the commands to be executed by the customer.
31563338 class UserCommands
31573339 include Google ::Apis ::Core ::Hashable
@@ -3539,6 +3721,31 @@ def update!(**args)
35393721 end
35403722 end
35413723
3724+ # Backup configuration for a volume in a pool.
3725+ class VolumeBackupConfig
3726+ include Google ::Apis ::Core ::Hashable
3727+
3728+ # BackupConfig contains backup related config on a volume.
3729+ # Corresponds to the JSON property `backupConfig`
3730+ # @return [Google::Apis::NetappV1::BackupConfig]
3731+ attr_accessor :backup_config
3732+
3733+ # Provides the Ontap UUID of the volume within the pool.
3734+ # Corresponds to the JSON property `volumeUuid`
3735+ # @return [String]
3736+ attr_accessor :volume_uuid
3737+
3738+ def initialize ( **args )
3739+ update! ( **args )
3740+ end
3741+
3742+ # Update properties of this object
3743+ def update! ( **args )
3744+ @backup_config = args [ :backup_config ] if args . key? ( :backup_config )
3745+ @volume_uuid = args [ :volume_uuid ] if args . key? ( :volume_uuid )
3746+ end
3747+ end
3748+
35423749 # Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50
35433750 class WeeklySchedule
35443751 include Google ::Apis ::Core ::Hashable
0 commit comments