Source code for models.oracle_protection_source

# -*- coding: utf-8 -*-
# Copyright 2021 Cohesity Inc.

import cohesity_management_sdk.models.oracle_host
import cohesity_management_sdk.models.oracle_container_database_info
import cohesity_management_sdk.models.oracle_data_guard_info

[docs]class OracleProtectionSource(object): """Implementation of the 'OracleProtectionSource' model. Specifies an Object representing one Oracle database. Attributes: archive_log_enabled (bool): Specifies whether the database is running in ARCHIVELOG mode. It enables the redo of log files into archived redo log files. bct_enabled (bool): Specifies whether the Block Change Tracking is enabled. BCT improves the performance of incremental backups by recording changed blocks into the block change tracking file. RMAN then uses this file to identify changed blocks to be backed up. container_database_info (OracleContainerDatabaseInfo): Specifies the Container Database Information including the Pluggable databases within the container. data_guard_info (OracleDataGuardInfo): Specifies the Data Gurad configuration information for the current DB entity. database_unique_name (string): Specifies the unique name of the Oracle entity. db_type (DbTypeEnum): Specifies the type of the database in Oracle Protection Source. 'kRACDatabase' indicates the database is a RAC DB. 'kSingleInstance' indicates that the databse is single instance. domain (string): Specifies the Oracle DB Domain. fra_size (long|int): Specifies Flash/Fast Recovery area size for the current DB entity. hosts (list of OracleHost): Specifies the list of hosts for the current DB entity. name (string): Specifies the instance name of the Oracle entity. owner_id (long|int): Specifies the entity id of the owner entity (such as a VM). This is only set if type is kDatabase. sga_target_size (string): Specifies System Global Area size for the current DB entity. A system global area (SGA) is a group of shared memory structures that contain data and control information for one Oracle database. shared_pool_size (string): Specifies Shared Pool Size for the current DB entity. size (long|int): Specifies database size. tde_encrypted_ts_count (int|long): Specifies the number of TDE encrypted tablespaces found in the database. temp_files_count (long|int): Specifies number of temporary files for the current DB entity. mtype (TypeOracleProtectionSourceEnum): Specifies the type of the managed Object in Oracle Protection Source. 'kRACRootContainer' indicates the entity is a root container to an Oracle Real Application clusters(Oracle RAC). 'kRootContainer' indicates the entity is a root container to an Oracle standalone server. 'kHost' indicates the entity is an Oracle host. 'kDatabase' indicates the entity is an Oracle Database. 'kTableSpace' indicates the entity is an Oracle table space. 'kTable' indicates the entity is an Oracle table. uuid (string): Specifies the UUID for the Oracle entity. version (string): Specifies the Oracle database instance version. """ # Create a mapping from Model property names to API property names _names = { "archive_log_enabled":'archiveLogEnabled', "bct_enabled":'bctEnabled', "container_database_info":'containerDatabaseInfo', "data_guard_info":'dataGuardInfo', "database_unique_name":'databaseUniqueName', "db_type":'dbType', "domain":'domain', "fra_size":'fraSize', "hosts":'hosts', "name":'name', "owner_id":'ownerId', "sga_target_size":'sgaTargetSize', "shared_pool_size":'sharedPoolSize', "size":'size', "tde_encrypted_ts_count":'tdeEncryptedTsCount', "temp_files_count":'tempFilesCount', "mtype":'type', "uuid":'uuid', "version":'version' } def __init__(self, archive_log_enabled=None, bct_enabled=None, container_database_info=None, data_guard_info=None, database_unique_name=None, db_type=None, domain=None, fra_size=None, hosts=None, name=None, owner_id=None, sga_target_size=None, shared_pool_size=None, size=None, tde_encrypted_ts_count=None, temp_files_count=None, mtype=None, uuid=None, version=None): """Constructor for the OracleProtectionSource class""" # Initialize members of the class self.archive_log_enabled = archive_log_enabled self.bct_enabled = bct_enabled self.container_database_info = container_database_info self.data_guard_info = data_guard_info self.database_unique_name = database_unique_name self.db_type = db_type self.domain = domain self.fra_size = fra_size self.hosts = hosts self.name = name self.owner_id = owner_id self.sga_target_size = sga_target_size self.shared_pool_size = shared_pool_size self.size = size self.tde_encrypted_ts_count = tde_encrypted_ts_count self.temp_files_count = temp_files_count self.mtype = mtype self.uuid = uuid self.version = version
[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 archive_log_enabled = dictionary.get('archiveLogEnabled') bct_enabled = dictionary.get('bctEnabled') container_database_info = cohesity_management_sdk.models.oracle_container_database_info.OracleContainerDatabaseInfo.from_dictionary(dictionary.get('containerDatabaseInfo')) if dictionary.get('containerDatabaseInfo') else None data_guard_info = cohesity_management_sdk.models.oracle_data_guard_info.OracleDataGuardInfo.from_dictionary(dictionary.get('dataGuardInfo')) if dictionary.get('dataGuardInfo') else None database_unique_name = dictionary.get('databaseUniqueName') db_type = dictionary.get('dbType') domain = dictionary.get('domain') fra_size = dictionary.get('fraSize') hosts = None if dictionary.get('hosts') != None: hosts = list() for structure in dictionary.get('hosts'): hosts.append(cohesity_management_sdk.models.oracle_host.OracleHost.from_dictionary(structure)) name = dictionary.get('name') owner_id = dictionary.get('ownerId') sga_target_size = dictionary.get('sgaTargetSize') shared_pool_size = dictionary.get('sharedPoolSize') tde_encrypted_ts_count = dictionary.get('tdeEncryptedTsCount') size = dictionary.get('size') temp_files_count = dictionary.get('tempFilesCount') mtype = dictionary.get('type') uuid = dictionary.get('uuid') version = dictionary.get('version') # Return an object of this model return cls(archive_log_enabled, bct_enabled, container_database_info, data_guard_info, database_unique_name, db_type, domain, fra_size, hosts, name, owner_id, sga_target_size, shared_pool_size, size, tde_encrypted_ts_count, temp_files_count, mtype, uuid, version)