# -*- coding: utf-8 -*-
# Copyright 2021 Cohesity Inc.
import cohesity_management_sdk.models.connector_parameters
import cohesity_management_sdk.models.cassandra_connect_params
import cohesity_management_sdk.models.couchbase_connect_params
import cohesity_management_sdk.models.nas_mount_credential_params
import cohesity_management_sdk.models.hbase_connect_params
import cohesity_management_sdk.models.hdfs_connect_params
import cohesity_management_sdk.models.hive_connect_params
import cohesity_management_sdk.models.mongo_db_connect_params
import cohesity_management_sdk.models.office_365_credentials
import cohesity_management_sdk.models.registered_app_info
import cohesity_management_sdk.models.throttling_policy_parameters
import cohesity_management_sdk.models.throttling_policy_override
import cohesity_management_sdk.models.vlan_parameters
import cohesity_management_sdk.models.subnet
[docs]class RegisteredSourceInfo(object):
"""Implementation of the 'RegisteredSourceInfo' model.
Specifies information about a registered Source.
Attributes:
access_info (ConnectorParameters): Specifies the parameters required
to establish a connection with a particular environment.
authentication_error_message (string): Specifies an authentication
error message. This indicates the given credentials are rejected
and the registration of the source is not successful.
authentication_status (AuthenticationStatusEnum): Specifies the status
of the authenticating to the Protection Source when registering it
with Cohesity Cluster. If the status is 'kFinished' and there is
no error, registration is successful. Specifies the status of the
authentication during the registration of a Protection Source.
'kPending' indicates the authentication is in progress.
'kScheduled' indicates the authentication is scheduled.
'kFinished' indicates the authentication is completed.
'kRefreshInProgress' indicates the refresh is in progress.
blacklisted_ip_addresses (list of string): This field is deprecated.
Use DeniedIpAddresses instead.
deprecated: true
cassandra_params (CassandraConnectParams): Contains all the additional
params specified by the user while registering the Cassandra
source.
couchbase_params (CouchbaseConnectParams): Contains all the additional
params specified by the user while registering the Couchbase
source.
environments (list of EnvironmentRegisteredSourceInfoEnum): Specifies
a list of applications environment that are registered with this
Protection Source such as 'kSQL'. Supported environment types such
as 'kView', 'kSQL', 'kVMware', etc. NOTE: 'kPuppeteer' refers to
Cohesity's Remote Adapter. 'kVMware' indicates the VMware
Protection Source environment. 'kHyperV' indicates the HyperV
Protection Source environment. 'kSQL' indicates the SQL Protection
Source environment. 'kView' indicates the View Protection Source
environment. 'kPuppeteer' indicates the Cohesity's Remote Adapter.
'kPhysical' indicates the physical Protection Source environment.
'kPure' indicates the Pure Storage Protection Source environment.
'Nimble' indicates the Nimble Storage Protection Source
environment. 'kAzure' indicates the Microsoft's Azure Protection
Source environment. 'kNetapp' indicates the Netapp Protection
Source environment. 'kAgent' indicates the Agent Protection Source
environment. 'kGenericNas' indicates the Generic Network Attached
Storage Protection Source environment. 'kAcropolis' indicates the
Acropolis Protection Source environment. 'kPhsicalFiles' indicates
the Physical Files Protection Source environment. 'kIsilon'
indicates the Dell EMC's Isilon Protection Source environment.
'kGPFS' indicates IBM's GPFS Protection Source environment. 'kKVM'
indicates the KVM Protection Source environment. 'kAWS' indicates
the AWS Protection Source environment. 'kExchange' indicates the
Exchange Protection Source environment. 'kHyperVVSS' indicates the
HyperV VSS Protection Source environment. 'kOracle' indicates the
Oracle Protection Source environment. 'kGCP' indicates the Google
Cloud Platform Protection Source environment. 'kFlashBlade'
indicates the Flash Blade Protection Source environment.
'kAWSNative' indicates the AWS Native Protection Source
environment. 'kO365' indicates the Office 365 Protection Source
environment. 'kO365Outlook' indicates Office 365 outlook
Protection Source environment. 'kHyperFlex' indicates the Hyper
Flex Protection Source environment. 'kGCPNative' indicates the GCP
Native Protection Source environment. 'kAzureNative' indicates the
Azure Native Protection Source environment.'kKubernetes' indicates
a Kubernetes Protection Source environment. 'kElastifile'
indicates Elastifile Protection Source environment. 'kAD'
indicates Active Directory Protection Source environment.
'kRDSSnapshotManager' indicates AWS RDS Protection Source
environment.
hbase_params (HBaseConnectParams): Contains all the additional params
specified by the user while registering the HBase source.
hdfs_params (HdfsConnectParams): Contains all the additional params
specified by the user while registering the Hdfs source.
hive_params (HiveConnectParams): Contains all the additional params
specified by the user while registering the Hive source.
is_db_authenticated (bool): Specifies if application entity
dbAuthenticated or not. ex: oracle database.
minimum_free_space_gb (long|int): Specifies the minimum free space in
GiB of the space expected to be available on the datastore where
the virtual disks of the VM being backed up. If the amount of free
space(in GiB) is lower than the value given by this field, backup
will be aborted. Note that this field is applicable only to
'kVMware' type of environments.
mongodb_params (MongoDBConnectParams): Contains all the additional
params specified by the user while registering the MongoDB source.
nas_mount_credentials (NasMountCredentialParams): Specifies the
credentials required to mount directories on the NetApp server if
given.
office_365_credentials_list (list of Office365Credentials): Specifies the
credentials to authenticate with Office365 account.
office_365_region (string): Specifies the region for Office365.
password (string): Specifies password of the username to access the
target source.
refresh_error_message (string): Specifies a message if there was any
error encountered during the last rebuild of the Protection Source
tree. If there was no error during the last rebuild, this field is
reset.
refresh_time_usecs (long|int): Specifies the Unix epoch time (in
microseconds) when the Protection Source tree was most recently
fetched and built.
registered_apps_info (list of RegisteredAppInfo): Specifies
information of the applications registered on this protection
source.
registration_time_usecs (long|int): Specifies the Unix epoch time (in
microseconds) when the Protection Source was registered.
subnets (list of Subnet): Specifies the list of subnets added during
creation or updation of vmare source. Currently, this field will
only be populated in case of VMware registration.
throttling_policy (ThrottlingPolicyParameters): Specifies the
throttling policy for a registered Protection Source.
throttling_policy_overrides (list of ThrottlingPolicyOverride): Array
of Throttling Policy Overrides for Datastores. Specifies a list
of Throttling Policy for datastores that override the common
throttling policy specified for the registered Protection Source.
For datastores not in this list, common policy will still apply.
use_o_auth_for_exchange_online (bool): Specifies whether OAuth should
be used for authentication in case of Exchange Online.
use_vm_bios_uuid (bool): Specifies if registered vCenter is using BIOS
UUID to track virtual machines.
username (string): Specifies username to access the target source.
vlan_params (VlanParameters): Specifies the VLAN parameters to be used
for performing the backup/restore of this entity.
warning_messages (list of string): Specifies a list of warnings
encountered during registration. Though the registration may
succeed, warning messages imply the host environment requires some
cleanup or fixing.
"""
# Create a mapping from Model property names to API property names
_names = {
"access_info":'accessInfo',
"authentication_error_message":'authenticationErrorMessage',
"authentication_status":'authenticationStatus',
"blacklisted_ip_addresses":'blacklistedIpAddresses',
"cassandra_params":'cassandraParams',
"couchbase_params":'couchbaseParams',
"environments":'environments',
"hbase_params":'hbaseParams',
"hdfs_params":'hdfsParams',
"hive_params":'hiveParams',
"is_db_authenticated":'isDbAuthenticated',
"minimum_free_space_gb":'minimumFreeSpaceGB',
"mongodb_params":'mongodbParams',
"nas_mount_credentials":'nasMountCredentials',
"office_365_credentials_list":'office365CredentialsList',
"office_365_region":'office365Region',
"password":'password',
"refresh_error_message":'refreshErrorMessage',
"refresh_time_usecs":'refreshTimeUsecs',
"registered_apps_info":'registeredAppsInfo',
"registration_time_usecs":'registrationTimeUsecs',
"subnets":'subnets',
"throttling_policy":'throttlingPolicy',
"throttling_policy_overrides":'throttlingPolicyOverrides',
"use_o_auth_for_exchange_online":'useOAuthForExchangeOnline',
"use_vm_bios_uuid":'useVmBiosUuid',
"username":'username',
"vlan_params":'vlanParams',
"warning_messages":'warningMessages'
}
def __init__(self,
access_info=None,
authentication_error_message=None,
authentication_status=None,
blacklisted_ip_addresses=None,
cassandra_params= None,
couchbase_params=None,
environments=None,
hbase_params=None,
hdfs_params=None,
hive_params=None,
is_db_authenticated=None,
minimum_free_space_gb=None,
mongodb_params=None,
nas_mount_credentials=None,
office_365_credentials_list=None,
office_365_region=None,
password=None,
refresh_error_message=None,
refresh_time_usecs=None,
registered_apps_info=None,
registration_time_usecs=None,
subnets=None,
throttling_policy=None,
throttling_policy_overrides=None,
use_o_auth_for_exchange_online=None,
use_vm_bios_uuid=None,
username=None,
vlan_params=None,
warning_messages=None):
"""Constructor for the RegisteredSourceInfo class"""
# Initialize members of the class
self.access_info = access_info
self.authentication_error_message = authentication_error_message
self.authentication_status = authentication_status
self.blacklisted_ip_addresses = blacklisted_ip_addresses
self.cassandra_params = cassandra_params
self.couchbase_params = couchbase_params
self.environments = environments
self.hbase_params = hbase_params
self.hdfs_params = hdfs_params
self.hive_params = hive_params
self.is_db_authenticated = is_db_authenticated
self.minimum_free_space_gb = minimum_free_space_gb
self.mongodb_params = mongodb_params
self.nas_mount_credentials = nas_mount_credentials
self.office_365_credentials_list = office_365_credentials_list
self.office_365_region = office_365_region
self.password = password
self.refresh_error_message = refresh_error_message
self.refresh_time_usecs = refresh_time_usecs
self.registered_apps_info = registered_apps_info
self.registration_time_usecs = registration_time_usecs
self.subnets = subnets
self.throttling_policy = throttling_policy
self.throttling_policy_overrides = throttling_policy_overrides
self.use_o_auth_for_exchange_online = use_o_auth_for_exchange_online
self.use_vm_bios_uuid = use_vm_bios_uuid
self.username = username
self.vlan_params = vlan_params
self.warning_messages = warning_messages
[docs] @classmethod
def from_dictionary(cls,
dictionary):
"""Creates an instance of this model from a dictionary
Args:
dictionary (dictionary): A dictionary representation of the object as
obtained from the deserialization of the server's response. The keys
MUST match property names in the API description.
Returns:
object: An instance of this structure class.
"""
if dictionary is None:
return None
# Extract variables from the dictionary
access_info = cohesity_management_sdk.models.connector_parameters.ConnectorParameters.from_dictionary(dictionary.get('accessInfo')) if dictionary.get('accessInfo') else None
authentication_error_message = dictionary.get('authenticationErrorMessage')
authentication_status = dictionary.get('authenticationStatus')
blacklisted_ip_addresses = dictionary.get('blacklistedIpAddresses')
cassandra_params = cohesity_management_sdk.models.cassandra_connect_params.CassandraConnectParams.from_dictionary(dictionary.get('cassandraParams')) if dictionary.get('cassandraParams') else None
couchbase_params = cohesity_management_sdk.models.couchbase_connect_params.CouchbaseConnectParams.from_dictionary(dictionary.get('couchbaseParams')) if dictionary.get('couchbaseParams') else None
environments = dictionary.get('environments')
hbase_params = cohesity_management_sdk.models.hbase_connect_params.HBaseConnectParams.from_dictionary(dictionary.get('hbaseParams')) if dictionary.get('hbaseParams') else None
hdfs_params = cohesity_management_sdk.models.hdfs_connect_params.HdfsConnectParams.from_dictionary(dictionary.get('hdfsParams')) if dictionary.get('hdfsParams') else None
hive_params = cohesity_management_sdk.models.hive_connect_params.HiveConnectParams.from_dictionary(dictionary.get('hiveParams')) if dictionary.get('hiveParams') else None
is_db_authenticated = dictionary.get('isDbAuthenticated')
minimum_free_space_gb = dictionary.get('minimumFreeSpaceGB')
mongodb_params = cohesity_management_sdk.models.mongo_db_connect_params.MongoDBConnectParams.from_dictionary(dictionary.get('mongodbParams')) if dictionary.get('mongodbParams') else None
nas_mount_credentials = cohesity_management_sdk.models.nas_mount_credential_params.NasMountCredentialParams.from_dictionary(dictionary.get('nasMountCredentials')) if dictionary.get('nasMountCredentials') else None
office_365_credentials_list = None
if dictionary.get('office365CredentialsList') != None:
office_365_credentials_list = list()
for structure in dictionary.get('office365CredentialsList'):
office_365_credentials_list.append(cohesity_management_sdk.models.office_365_credentials.Office365Credentials.from_dictionary(structure))
office_365_region = dictionary.get('office365Region')
password = dictionary.get('password')
refresh_error_message = dictionary.get('refreshErrorMessage')
refresh_time_usecs = dictionary.get('refreshTimeUsecs')
registered_apps_info = None
if dictionary.get('registeredAppsInfo') != None:
registered_apps_info = list()
for structure in dictionary.get('registeredAppsInfo'):
registered_apps_info.append(cohesity_management_sdk.models.registered_app_info.RegisteredAppInfo.from_dictionary(structure))
registration_time_usecs = dictionary.get('registrationTimeUsecs')
subnets = None
if dictionary.get('subnets') != None:
subnets = list()
for structure in dictionary.get('subnets'):
subnets.append(cohesity_management_sdk.models.subnet.Subnet.from_dictionary(structure))
throttling_policy = cohesity_management_sdk.models.throttling_policy_parameters.ThrottlingPolicyParameters.from_dictionary(dictionary.get('throttlingPolicy')) if dictionary.get('throttlingPolicy') else None
throttling_policy_overrides = None
if dictionary.get('throttlingPolicyOverrides') != None:
throttling_policy_overrides = list()
for structure in dictionary.get('throttlingPolicyOverrides'):
throttling_policy_overrides.append(cohesity_management_sdk.models.throttling_policy_override.ThrottlingPolicyOverride.from_dictionary(structure))
use_o_auth_for_exchange_online = dictionary.get('useOAuthForExchangeOnline')
use_vm_bios_uuid = dictionary.get('useVmBiosUuid')
username = dictionary.get('username')
vlan_params = cohesity_management_sdk.models.vlan_parameters.VlanParameters.from_dictionary(dictionary.get('vlanParams')) if dictionary.get('vlanParams') else None
warning_messages = dictionary.get('warningMessages')
# Return an object of this model
return cls(access_info,
authentication_error_message,
authentication_status,
blacklisted_ip_addresses,
cassandra_params,
couchbase_params,
environments,
hbase_params,
hdfs_params,
hive_params,
is_db_authenticated,
minimum_free_space_gb,
mongodb_params,
nas_mount_credentials,
office_365_credentials_list,
office_365_region,
password,
refresh_error_message,
refresh_time_usecs,
registered_apps_info,
registration_time_usecs,
subnets,
throttling_policy,
throttling_policy_overrides,
use_o_auth_for_exchange_online,
use_vm_bios_uuid,
username,
vlan_params,
warning_messages)