Module cvpysdk.subclients.vminstancesubclient
File for operating on a Virtual Server VMInstance Subclient.
VMInstanceSubclient is the only class defined in this file.
VMInstanceSubclient: Derived class from Subclient Base class,representing a VMInstance Subclien
Vminstancesubclient
init( backupset_object, subclient_name, subclient_id) – initialize object of vminstance subclient class, associated with the VirtualServer subclient
backup() – run a backup job for the subclient
Expand source code Browse git
# -*- coding: utf-8 -*-
# --------------------------------------------------------------------------
# Copyright Commvault Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# --------------------------------------------------------------------------
"""File for operating on a Virtual Server VMInstance Subclient.
VMInstanceSubclient is the only class defined in this file.
VMInstanceSubclient: Derived class from Subclient Base
class,representing a VMInstance Subclien
VMInstanceSubclient:
__init__(
backupset_object,
subclient_name,
subclient_id) -- initialize object of vminstance subclient class,
associated with the VirtualServer subclient
backup() -- run a backup job for the subclient
"""
from ..subclient import Subclient
from ..exception import SDKException
import copy
class VMInstanceSubclient(Subclient):
"""
Derived class from Subclient Base class.
This represents a VMInstance virtual server subclient
"""
def __init__(self, backupset_object, subclient_name, subclient_id=None):
"""
Initialize the Instance object for the given Virtual Server instance.
Args:
backupset_object (object) -- instance of the Backupset class
subclient_name (str) -- subclient name
subclient_id (int) -- subclient id
"""
super(VMInstanceSubclient, self).__init__(backupset_object, subclient_name, subclient_id)
self._client_vm_status = copy.deepcopy(self._client_object.properties['vmStatusInfo'])
self._parent_client = None
self._parent_instance = None
self._parent_agent = None
self._parent_backupset = None
self._parent_subclient = None
self._vm_guid = None
self._vm_settings = {}
self.filter_types = {
'1': 'Datastore',
'2': 'Virtual Disk Name/Pattern',
'3': 'Virtual Device Node',
'4': 'Container',
'5': 'Disk Label',
'6': 'Disk Type',
'9': 'Disk Tag Name/Value',
'10': 'Repository'
}
@property
def parent_client(self):
"""Returns parent client object
Returns:
object - Parent client object"""
if not self._parent_client:
_parent_client = self._client_vm_status.get('vsaSubClientEntity', {}).get('clientName')
if _parent_client:
self._parent_client = self._commcell_object.clients.get(_parent_client)
return self._parent_client
@property
def parent_agent(self):
"""Returns parent agent object
Returns:
object - Parent agent object"""
if self.parent_client and not self._parent_agent:
_parent_agent = self._client_vm_status.get('vsaSubClientEntity', {}).get('appName')
if _parent_agent:
self._parent_agent = self.parent_client.agents.get(_parent_agent)
return self._parent_agent
@property
def parent_instance(self):
"""Returns parent instance object
Returns:
object - Parent instance object"""
if self.parent_agent and not self._parent_instance:
_parent_instance = self._client_vm_status.get('vsaSubClientEntity', {}).get('instanceName')
if _parent_instance:
self._parent_instance = self.parent_agent.instances.get(_parent_instance)
return self._parent_instance
@property
def parent_backupset(self):
"""Returns parent backupset object
Returns:
object - Parent backupset object"""
if self.parent_instance and not self._parent_backupset:
_parent_backupset = self._client_vm_status.get('vsaSubClientEntity', {}).get('backupsetName')
if _parent_backupset:
self._parent_backupset = self.parent_instance.backupsets.get(_parent_backupset)
return self._parent_backupset
@property
def parent_subclient(self):
"""Returns parent subclient object
Returns:
object - Parent subclient object"""
if self.parent_backupset and not self._parent_subclient:
_parent_subclient = self._client_vm_status.get('vsaSubClientEntity', {}).get('subclientName')
if _parent_subclient:
self._parent_subclient = self.parent_backupset.subclients.get(_parent_subclient)
return self._parent_subclient
@property
def vm_guid(self):
"""Returns vm guid
Returns:
str - vm guid of the client"""
if not self._vm_guid:
self._vm_guid = self._client_vm_status.get('strGUID')
return self._vm_guid
def backup(self,
backup_level="Incremental",
incremental_backup=False,
incremental_level='BEFORE_SYNTH',
schedule_pattern=None):
"""Runs a backup job for the vm subclient of the level specified.
Args:
backup_level (str) -- level of backup the user wish to run
Full / Incremental / Differential /
Synthetic_full
incremental_backup (bool) -- run incremental backup
only applicable in case of Synthetic_full backup
incremental_level (str) -- run incremental backup before/after synthetic full
BEFORE_SYNTH / AFTER_SYNTH
only applicable in case of Synthetic_full backup
schedule_pattern (dict) -- scheduling options to be included for the task
Please refer schedules.schedulePattern.createSchedule()
doc for the types of Jsons
Returns:
object - instance of the Job class for this backup job if its an immediate Job
instance of the Schedule class for the backup job if its a scheduled Job
Raises:
SDKException:
if backup level specified is not correct
if response is empty
if response is not success
"""
backup_level = backup_level.lower()
if backup_level not in ['full', 'incremental',
'differential', 'synthetic_full']:
raise SDKException('Subclient', '103')
if schedule_pattern or len(self._instance_object.backupsets) > 1:
advanced_options = {'vsaBackupOptions': {}}
advanced_options['vsaBackupOptions']['selectiveVMInfo'] = [{'vmGuid': self.vm_guid}]
if self.parent_subclient:
request_json = self.parent_subclient._backup_json(
backup_level=backup_level,
incremental_backup=incremental_backup,
incremental_level=incremental_level,
schedule_pattern=schedule_pattern,
advanced_options=advanced_options
)
backup_service = self._commcell_object._services['CREATE_TASK']
flag, response = self._commcell_object._cvpysdk_object.make_request(
'POST', backup_service, request_json
)
else:
raise SDKException('Subclient', 102, 'Not able to get Parent Subclient')
else:
vm_backup_service = self._commcell_object._services['VM_BACKUP'] % (self.vm_guid, backup_level)
flag, response = self._commcell_object._cvpysdk_object.make_request(
'POST', vm_backup_service
)
return self._process_backup_response(flag, response)
def _get_subclient_properties(self):
"""Gets the subclient related properties of Virtual server subclient"""
self._vmDiskFilter = None
super(VMInstanceSubclient, self)._get_subclient_properties()
if 'vmDiskFilter' in self._subclient_properties:
self._vmDiskFilter = self._subclient_properties['vmDiskFilter']
if 'vmBackupInfo' in self._subclient_properties:
self._vmBackupInfo = self._subclient_properties['vmBackupInfo']
if 'vsaSubclientProp' in self._subclient_properties:
self._vsaSubclientProp = self._subclient_properties['vsaSubclientProp']
@property
def quiesce_file_system(self):
"""
Gets the quiesce value set for the vsa subclient
Returns:
(Boolean) True/False
"""
quiesce_file_system = r'quiesceGuestFileSystemAndApplications'
return self._vsaSubclientProp.get(quiesce_file_system)
@property
def vm_diskfilter(self):
"""Gets the appropriate Diskfilter from the VM instance subclient relevant to the user.
Returns:
list - list of Diskfilter associated with the subclient
"""
vm_diskfilter = []
if self._vmDiskFilter is not None:
subclient_diskfilter = self._vmDiskFilter
if 'filters' in subclient_diskfilter:
filters = subclient_diskfilter['filters']
for child in filters:
filter_type_id = str(child['filterType'])
filter_type = self.filter_types[str(child['filterType'])]
vm_id = child['vmGuid'] if 'vmGuid' in child else None
filter_name = child['filter']
value = child['value']
vm_name = child['vmName']
temp_dict = {
'filter': filter_name,
'filterType': filter_type,
'vmGuid': vm_id,
'filterTypeId': filter_type_id,
'value': value,
'vmName': vm_name
}
vm_diskfilter.append(temp_dict)
else:
vm_diskfilter = self._vmDiskFilter
if len(vm_diskfilter) == 0:
vm_diskfilter = None
return vm_diskfilter
def _get_vm_settings(self):
"""
Gets the VM Instance Subclient settings
Returns:
(Dict) VM Subclient settings
"""
flag, response = self._cvpysdk_object.make_request('GET', self._commcell_object._services['VM_GROUP'] % (
self.subclient_id))
if flag:
if response.json() and 'settings' in response.json():
return response.json()['settings']
else:
raise SDKException('Response', '102')
else:
raise SDKException(
'Response',
'101',
self._update_response_(
response.text))
@property
def vm_settings(self):
"""
Gets the VM Instance Subclient settings
Returns:
(Dict) VM Subclient settings
"""
if not self._vm_settings:
self._vm_settings = self._get_vm_settings()
return self._vm_settings
@property
def include_vm_group_disk_filters(self):
"""
Gets the value set for the option - Include VM Group disk filters
Returns:
(Boolean) True/False
"""
return self.vm_settings.get('isVMGroupDiskFiltersIncluded')
Classes
class VMInstanceSubclient (backupset_object, subclient_name, subclient_id=None)
-
Derived class from Subclient Base class. This represents a VMInstance virtual server subclient
Initialize the Instance object for the given Virtual Server instance.
Args: backupset_object (object) – instance of the Backupset class
subclient_name (str) -- subclient name subclient_id (int) -- subclient id
Expand source code Browse git
class VMInstanceSubclient(Subclient): """ Derived class from Subclient Base class. This represents a VMInstance virtual server subclient """ def __init__(self, backupset_object, subclient_name, subclient_id=None): """ Initialize the Instance object for the given Virtual Server instance. Args: backupset_object (object) -- instance of the Backupset class subclient_name (str) -- subclient name subclient_id (int) -- subclient id """ super(VMInstanceSubclient, self).__init__(backupset_object, subclient_name, subclient_id) self._client_vm_status = copy.deepcopy(self._client_object.properties['vmStatusInfo']) self._parent_client = None self._parent_instance = None self._parent_agent = None self._parent_backupset = None self._parent_subclient = None self._vm_guid = None self._vm_settings = {} self.filter_types = { '1': 'Datastore', '2': 'Virtual Disk Name/Pattern', '3': 'Virtual Device Node', '4': 'Container', '5': 'Disk Label', '6': 'Disk Type', '9': 'Disk Tag Name/Value', '10': 'Repository' } @property def parent_client(self): """Returns parent client object Returns: object - Parent client object""" if not self._parent_client: _parent_client = self._client_vm_status.get('vsaSubClientEntity', {}).get('clientName') if _parent_client: self._parent_client = self._commcell_object.clients.get(_parent_client) return self._parent_client @property def parent_agent(self): """Returns parent agent object Returns: object - Parent agent object""" if self.parent_client and not self._parent_agent: _parent_agent = self._client_vm_status.get('vsaSubClientEntity', {}).get('appName') if _parent_agent: self._parent_agent = self.parent_client.agents.get(_parent_agent) return self._parent_agent @property def parent_instance(self): """Returns parent instance object Returns: object - Parent instance object""" if self.parent_agent and not self._parent_instance: _parent_instance = self._client_vm_status.get('vsaSubClientEntity', {}).get('instanceName') if _parent_instance: self._parent_instance = self.parent_agent.instances.get(_parent_instance) return self._parent_instance @property def parent_backupset(self): """Returns parent backupset object Returns: object - Parent backupset object""" if self.parent_instance and not self._parent_backupset: _parent_backupset = self._client_vm_status.get('vsaSubClientEntity', {}).get('backupsetName') if _parent_backupset: self._parent_backupset = self.parent_instance.backupsets.get(_parent_backupset) return self._parent_backupset @property def parent_subclient(self): """Returns parent subclient object Returns: object - Parent subclient object""" if self.parent_backupset and not self._parent_subclient: _parent_subclient = self._client_vm_status.get('vsaSubClientEntity', {}).get('subclientName') if _parent_subclient: self._parent_subclient = self.parent_backupset.subclients.get(_parent_subclient) return self._parent_subclient @property def vm_guid(self): """Returns vm guid Returns: str - vm guid of the client""" if not self._vm_guid: self._vm_guid = self._client_vm_status.get('strGUID') return self._vm_guid def backup(self, backup_level="Incremental", incremental_backup=False, incremental_level='BEFORE_SYNTH', schedule_pattern=None): """Runs a backup job for the vm subclient of the level specified. Args: backup_level (str) -- level of backup the user wish to run Full / Incremental / Differential / Synthetic_full incremental_backup (bool) -- run incremental backup only applicable in case of Synthetic_full backup incremental_level (str) -- run incremental backup before/after synthetic full BEFORE_SYNTH / AFTER_SYNTH only applicable in case of Synthetic_full backup schedule_pattern (dict) -- scheduling options to be included for the task Please refer schedules.schedulePattern.createSchedule() doc for the types of Jsons Returns: object - instance of the Job class for this backup job if its an immediate Job instance of the Schedule class for the backup job if its a scheduled Job Raises: SDKException: if backup level specified is not correct if response is empty if response is not success """ backup_level = backup_level.lower() if backup_level not in ['full', 'incremental', 'differential', 'synthetic_full']: raise SDKException('Subclient', '103') if schedule_pattern or len(self._instance_object.backupsets) > 1: advanced_options = {'vsaBackupOptions': {}} advanced_options['vsaBackupOptions']['selectiveVMInfo'] = [{'vmGuid': self.vm_guid}] if self.parent_subclient: request_json = self.parent_subclient._backup_json( backup_level=backup_level, incremental_backup=incremental_backup, incremental_level=incremental_level, schedule_pattern=schedule_pattern, advanced_options=advanced_options ) backup_service = self._commcell_object._services['CREATE_TASK'] flag, response = self._commcell_object._cvpysdk_object.make_request( 'POST', backup_service, request_json ) else: raise SDKException('Subclient', 102, 'Not able to get Parent Subclient') else: vm_backup_service = self._commcell_object._services['VM_BACKUP'] % (self.vm_guid, backup_level) flag, response = self._commcell_object._cvpysdk_object.make_request( 'POST', vm_backup_service ) return self._process_backup_response(flag, response) def _get_subclient_properties(self): """Gets the subclient related properties of Virtual server subclient""" self._vmDiskFilter = None super(VMInstanceSubclient, self)._get_subclient_properties() if 'vmDiskFilter' in self._subclient_properties: self._vmDiskFilter = self._subclient_properties['vmDiskFilter'] if 'vmBackupInfo' in self._subclient_properties: self._vmBackupInfo = self._subclient_properties['vmBackupInfo'] if 'vsaSubclientProp' in self._subclient_properties: self._vsaSubclientProp = self._subclient_properties['vsaSubclientProp'] @property def quiesce_file_system(self): """ Gets the quiesce value set for the vsa subclient Returns: (Boolean) True/False """ quiesce_file_system = r'quiesceGuestFileSystemAndApplications' return self._vsaSubclientProp.get(quiesce_file_system) @property def vm_diskfilter(self): """Gets the appropriate Diskfilter from the VM instance subclient relevant to the user. Returns: list - list of Diskfilter associated with the subclient """ vm_diskfilter = [] if self._vmDiskFilter is not None: subclient_diskfilter = self._vmDiskFilter if 'filters' in subclient_diskfilter: filters = subclient_diskfilter['filters'] for child in filters: filter_type_id = str(child['filterType']) filter_type = self.filter_types[str(child['filterType'])] vm_id = child['vmGuid'] if 'vmGuid' in child else None filter_name = child['filter'] value = child['value'] vm_name = child['vmName'] temp_dict = { 'filter': filter_name, 'filterType': filter_type, 'vmGuid': vm_id, 'filterTypeId': filter_type_id, 'value': value, 'vmName': vm_name } vm_diskfilter.append(temp_dict) else: vm_diskfilter = self._vmDiskFilter if len(vm_diskfilter) == 0: vm_diskfilter = None return vm_diskfilter def _get_vm_settings(self): """ Gets the VM Instance Subclient settings Returns: (Dict) VM Subclient settings """ flag, response = self._cvpysdk_object.make_request('GET', self._commcell_object._services['VM_GROUP'] % ( self.subclient_id)) if flag: if response.json() and 'settings' in response.json(): return response.json()['settings'] else: raise SDKException('Response', '102') else: raise SDKException( 'Response', '101', self._update_response_( response.text)) @property def vm_settings(self): """ Gets the VM Instance Subclient settings Returns: (Dict) VM Subclient settings """ if not self._vm_settings: self._vm_settings = self._get_vm_settings() return self._vm_settings @property def include_vm_group_disk_filters(self): """ Gets the value set for the option - Include VM Group disk filters Returns: (Boolean) True/False """ return self.vm_settings.get('isVMGroupDiskFiltersIncluded')
Ancestors
Instance variables
var include_vm_group_disk_filters
-
Gets the value set for the option - Include VM Group disk filters
Returns
(Boolean) True/False
Expand source code Browse git
@property def include_vm_group_disk_filters(self): """ Gets the value set for the option - Include VM Group disk filters Returns: (Boolean) True/False """ return self.vm_settings.get('isVMGroupDiskFiltersIncluded')
var parent_agent
-
Returns parent agent object
Returns
object - Parent agent object
Expand source code Browse git
@property def parent_agent(self): """Returns parent agent object Returns: object - Parent agent object""" if self.parent_client and not self._parent_agent: _parent_agent = self._client_vm_status.get('vsaSubClientEntity', {}).get('appName') if _parent_agent: self._parent_agent = self.parent_client.agents.get(_parent_agent) return self._parent_agent
var parent_backupset
-
Returns parent backupset object
Returns
object - Parent backupset object
Expand source code Browse git
@property def parent_backupset(self): """Returns parent backupset object Returns: object - Parent backupset object""" if self.parent_instance and not self._parent_backupset: _parent_backupset = self._client_vm_status.get('vsaSubClientEntity', {}).get('backupsetName') if _parent_backupset: self._parent_backupset = self.parent_instance.backupsets.get(_parent_backupset) return self._parent_backupset
var parent_client
-
Returns parent client object
Returns
object - Parent client object
Expand source code Browse git
@property def parent_client(self): """Returns parent client object Returns: object - Parent client object""" if not self._parent_client: _parent_client = self._client_vm_status.get('vsaSubClientEntity', {}).get('clientName') if _parent_client: self._parent_client = self._commcell_object.clients.get(_parent_client) return self._parent_client
var parent_instance
-
Returns parent instance object
Returns
object - Parent instance object
Expand source code Browse git
@property def parent_instance(self): """Returns parent instance object Returns: object - Parent instance object""" if self.parent_agent and not self._parent_instance: _parent_instance = self._client_vm_status.get('vsaSubClientEntity', {}).get('instanceName') if _parent_instance: self._parent_instance = self.parent_agent.instances.get(_parent_instance) return self._parent_instance
var parent_subclient
-
Returns parent subclient object
Returns
object - Parent subclient object
Expand source code Browse git
@property def parent_subclient(self): """Returns parent subclient object Returns: object - Parent subclient object""" if self.parent_backupset and not self._parent_subclient: _parent_subclient = self._client_vm_status.get('vsaSubClientEntity', {}).get('subclientName') if _parent_subclient: self._parent_subclient = self.parent_backupset.subclients.get(_parent_subclient) return self._parent_subclient
var quiesce_file_system
-
Gets the quiesce value set for the vsa subclient
Returns
(Boolean) True/False
Expand source code Browse git
@property def quiesce_file_system(self): """ Gets the quiesce value set for the vsa subclient Returns: (Boolean) True/False """ quiesce_file_system = r'quiesceGuestFileSystemAndApplications' return self._vsaSubclientProp.get(quiesce_file_system)
var vm_diskfilter
-
Gets the appropriate Diskfilter from the VM instance subclient relevant to the user.
Returns
list - list of Diskfilter associated with the subclient
Expand source code Browse git
@property def vm_diskfilter(self): """Gets the appropriate Diskfilter from the VM instance subclient relevant to the user. Returns: list - list of Diskfilter associated with the subclient """ vm_diskfilter = [] if self._vmDiskFilter is not None: subclient_diskfilter = self._vmDiskFilter if 'filters' in subclient_diskfilter: filters = subclient_diskfilter['filters'] for child in filters: filter_type_id = str(child['filterType']) filter_type = self.filter_types[str(child['filterType'])] vm_id = child['vmGuid'] if 'vmGuid' in child else None filter_name = child['filter'] value = child['value'] vm_name = child['vmName'] temp_dict = { 'filter': filter_name, 'filterType': filter_type, 'vmGuid': vm_id, 'filterTypeId': filter_type_id, 'value': value, 'vmName': vm_name } vm_diskfilter.append(temp_dict) else: vm_diskfilter = self._vmDiskFilter if len(vm_diskfilter) == 0: vm_diskfilter = None return vm_diskfilter
var vm_guid
-
Returns vm guid
Returns
str - vm guid of the client
Expand source code Browse git
@property def vm_guid(self): """Returns vm guid Returns: str - vm guid of the client""" if not self._vm_guid: self._vm_guid = self._client_vm_status.get('strGUID') return self._vm_guid
var vm_settings
-
Gets the VM Instance Subclient settings
Returns
(Dict) VM Subclient settings
Expand source code Browse git
@property def vm_settings(self): """ Gets the VM Instance Subclient settings Returns: (Dict) VM Subclient settings """ if not self._vm_settings: self._vm_settings = self._get_vm_settings() return self._vm_settings
Methods
def backup(self, backup_level='Incremental', incremental_backup=False, incremental_level='BEFORE_SYNTH', schedule_pattern=None)
-
Runs a backup job for the vm subclient of the level specified.
Args
backup_level (str) – level of backup the user wish to run Full / Incremental / Differential / Synthetic_full
incremental_backup (bool) – run incremental backup only applicable in case of Synthetic_full backup
incremental_level (str) – run incremental backup before/after synthetic full BEFORE_SYNTH / AFTER_SYNTH only applicable in case of Synthetic_full backup
schedule_pattern (dict) – scheduling options to be included for the task
Please refer schedules.schedulePattern.createSchedule() doc for the types of Jsons
Returns
object - instance of the Job class for this backup job if its an immediate Job
instance of the Schedule class for the backup job if its a scheduled Job
Raises
SDKException: if backup level specified is not correct
if response is empty if response is not success
Expand source code Browse git
def backup(self, backup_level="Incremental", incremental_backup=False, incremental_level='BEFORE_SYNTH', schedule_pattern=None): """Runs a backup job for the vm subclient of the level specified. Args: backup_level (str) -- level of backup the user wish to run Full / Incremental / Differential / Synthetic_full incremental_backup (bool) -- run incremental backup only applicable in case of Synthetic_full backup incremental_level (str) -- run incremental backup before/after synthetic full BEFORE_SYNTH / AFTER_SYNTH only applicable in case of Synthetic_full backup schedule_pattern (dict) -- scheduling options to be included for the task Please refer schedules.schedulePattern.createSchedule() doc for the types of Jsons Returns: object - instance of the Job class for this backup job if its an immediate Job instance of the Schedule class for the backup job if its a scheduled Job Raises: SDKException: if backup level specified is not correct if response is empty if response is not success """ backup_level = backup_level.lower() if backup_level not in ['full', 'incremental', 'differential', 'synthetic_full']: raise SDKException('Subclient', '103') if schedule_pattern or len(self._instance_object.backupsets) > 1: advanced_options = {'vsaBackupOptions': {}} advanced_options['vsaBackupOptions']['selectiveVMInfo'] = [{'vmGuid': self.vm_guid}] if self.parent_subclient: request_json = self.parent_subclient._backup_json( backup_level=backup_level, incremental_backup=incremental_backup, incremental_level=incremental_level, schedule_pattern=schedule_pattern, advanced_options=advanced_options ) backup_service = self._commcell_object._services['CREATE_TASK'] flag, response = self._commcell_object._cvpysdk_object.make_request( 'POST', backup_service, request_json ) else: raise SDKException('Subclient', 102, 'Not able to get Parent Subclient') else: vm_backup_service = self._commcell_object._services['VM_BACKUP'] % (self.vm_guid, backup_level) flag, response = self._commcell_object._cvpysdk_object.make_request( 'POST', vm_backup_service ) return self._process_backup_response(flag, response)
Inherited members
Subclient
:allow_multiple_readers
browse
data_readers
deduplication_options
description
disable_backup
disable_intelli_snap
display_name
enable_backup
enable_backup_at_time
enable_intelli_snap
enable_trueup
enable_trueup_days
encryption_flag
exclude_from_sla
find
find_latest_job
get_ma_associated_storagepolicy
is_backup_enabled
is_blocklevel_backup_enabled
is_default_subclient
is_intelli_snap_enabled
is_on_demand_subclient
is_trueup_enabled
last_backup_time
list_media
name
network_agent
next_backup_time
plan
properties
read_buffer_size
refresh
restore_in_place
restore_out_of_place
set_backup_nodes
set_proxy_for_snap
snapshot_engine_name
software_compression
storage_ma
storage_ma_id
storage_policy
subclient_guid
subclient_id
subclient_name
unset_proxy_for_snap
update_properties