Module cvpysdk.subclients.adsubclient
File for Ad agent sublcient replated operation
Class
ADSubclient :
_get_subclient_properties() -- Method to get subclinet properites
_get_subclient_properties_json -- Method to generate subclinet properties in json format
content -- Properties of AD objects in subclient
Adsubclient
content() – method to get AD agent subclient content
Function:
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 Ad agent sublcient replated operation
Class:
ADSubclient :
_get_subclient_properties() -- Method to get subclinet properites
_get_subclient_properties_json -- Method to generate subclinet properties in json format
content -- Properties of AD objects in subclient
ADSubclient:
content() -- method to get AD agent subclient content
Function:
"""
from __future__ import unicode_literals
from ..exception import SDKException
from ..subclient import Subclient
class ADSubclient(Subclient):
"""Class for AD agent related subclient """
def _get_subclient_properties(self):
"""Gets the subclient related properties of File System subclient.
"""
super()._get_subclient_properties()
if 'impersonateUser' in self._subclient_properties:
self._impersonateUser = self._subclient_properties['impersonateUser']
if 'content' in self._subclient_properties:
self._content = self._subclient_properties['content']
def _get_subclient_properties_json(self):
"""get the all subclient related properties of this subclient.
Returns:
dict - all subclient properties put inside a dict
"""
subclient_json = {
"subClientProperties":
{
"impersonateUser": self._impersonateUser,
"proxyClient": self._proxyClient,
"subClientEntity": self._subClientEntity,
"content": self._content,
"commonProperties": self._commonProperties,
"contentOperationType": 1
}
}
return subclient_json
@property
def content(self):
""" Get AD agent subclient content"""
contents = []
if "content" in self._subclient_properties:
subclient_content = self._subclient_properties['content']
else:
subclient_content = []
if len(subclient_content) > 0:
for entry in subclient_content:
if len(entry['path'].split(',')) > 1:
contents.append(",".join(entry['path'].split(',')[1:]))
else:
raise SDKException('Subclient', "101",
"subclient content is not valid")
else:
raise SDKException('Subclient', '101',
"subclient content return empty result")
return contents
def cv_contents(self, contents, entrypoint=None):
"""Commvault subclient content convert to AD format
Args:
content (list) subclient content
entrypoint (string) ad object entry point
Return:
(list) ad format content
Exception:
None
"""
content_ad = []
for content in contents:
contententry = ",".join(list(reversed(content.split(","))))
if entrypoint is not None:
shortdn = contententry.split(",{0}".format(entrypoint))[0]
else:
shortdn = None
content_ad.append((contententry, shortdn))
return content_ad
Classes
class ADSubclient (backupset_object, subclient_name, subclient_id=None)
-
Class for AD agent related subclient
Initialise the Subclient object.
Args
backupset_object (object) – instance of the Backupset class
subclient_name (str) – name of the subclient
subclient_id (str) – id of the subclient default: None
Returns
object - instance of the Subclient class
Expand source code Browse git
class ADSubclient(Subclient): """Class for AD agent related subclient """ def _get_subclient_properties(self): """Gets the subclient related properties of File System subclient. """ super()._get_subclient_properties() if 'impersonateUser' in self._subclient_properties: self._impersonateUser = self._subclient_properties['impersonateUser'] if 'content' in self._subclient_properties: self._content = self._subclient_properties['content'] def _get_subclient_properties_json(self): """get the all subclient related properties of this subclient. Returns: dict - all subclient properties put inside a dict """ subclient_json = { "subClientProperties": { "impersonateUser": self._impersonateUser, "proxyClient": self._proxyClient, "subClientEntity": self._subClientEntity, "content": self._content, "commonProperties": self._commonProperties, "contentOperationType": 1 } } return subclient_json @property def content(self): """ Get AD agent subclient content""" contents = [] if "content" in self._subclient_properties: subclient_content = self._subclient_properties['content'] else: subclient_content = [] if len(subclient_content) > 0: for entry in subclient_content: if len(entry['path'].split(',')) > 1: contents.append(",".join(entry['path'].split(',')[1:])) else: raise SDKException('Subclient', "101", "subclient content is not valid") else: raise SDKException('Subclient', '101', "subclient content return empty result") return contents def cv_contents(self, contents, entrypoint=None): """Commvault subclient content convert to AD format Args: content (list) subclient content entrypoint (string) ad object entry point Return: (list) ad format content Exception: None """ content_ad = [] for content in contents: contententry = ",".join(list(reversed(content.split(",")))) if entrypoint is not None: shortdn = contententry.split(",{0}".format(entrypoint))[0] else: shortdn = None content_ad.append((contententry, shortdn)) return content_ad
Ancestors
Instance variables
var content
-
Get AD agent subclient content
Expand source code Browse git
@property def content(self): """ Get AD agent subclient content""" contents = [] if "content" in self._subclient_properties: subclient_content = self._subclient_properties['content'] else: subclient_content = [] if len(subclient_content) > 0: for entry in subclient_content: if len(entry['path'].split(',')) > 1: contents.append(",".join(entry['path'].split(',')[1:])) else: raise SDKException('Subclient', "101", "subclient content is not valid") else: raise SDKException('Subclient', '101', "subclient content return empty result") return contents
Methods
def cv_contents(self, contents, entrypoint=None)
-
Commvault subclient content convert to AD format
Args
content (list) subclient content
entrypoint (string) ad object entry pointReturn
(list) ad format content
Exception
None
Expand source code Browse git
def cv_contents(self, contents, entrypoint=None): """Commvault subclient content convert to AD format Args: content (list) subclient content entrypoint (string) ad object entry point Return: (list) ad format content Exception: None """ content_ad = [] for content in contents: contententry = ",".join(list(reversed(content.split(",")))) if entrypoint is not None: shortdn = contententry.split(",{0}".format(entrypoint))[0] else: shortdn = None content_ad.append((contententry, shortdn)) return content_ad
Inherited members
Subclient
:allow_multiple_readers
backup
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