Source code for models_v2.create_or_update_protection_group_request

# -*- coding: utf-8 -*-

import cohesity_management_sdk.models_v2.time_of_day
import cohesity_management_sdk.models_v2.protection_group_alerting_policy
import cohesity_management_sdk.models_v2.sla_rule
import cohesity_management_sdk.models_v2.vmware_protection_group_params
import cohesity_management_sdk.models_v2.acropolis_protection_group_params
import cohesity_management_sdk.models_v2.kubernetes_protection_group_params
import cohesity_management_sdk.models_v2.mssql_protection_group_params
import cohesity_management_sdk.models_v2.oracle_protection_group_parameters
import cohesity_management_sdk.models_v2.view_protection_group_parameters
import cohesity_management_sdk.models_v2.pure_protection_group_params
import cohesity_management_sdk.models_v2.nimble_protection_group_params
import cohesity_management_sdk.models_v2.hyperv_protection_group_request_params
import cohesity_management_sdk.models_v2.aws_protection_group_request_params
import cohesity_management_sdk.models_v2.azure_protection_group_request_params
import cohesity_management_sdk.models_v2.gcp_protection_group_request_params
import cohesity_management_sdk.models_v2.kvm_protection_group_params
import cohesity_management_sdk.models_v2.physical_protection_group_params
import cohesity_management_sdk.models_v2.active_directory_ad_protection_group_parameters
import cohesity_management_sdk.models_v2.office_365_o_365_protection_group_parameters
import cohesity_management_sdk.models_v2.netapp_protection_group_params
import cohesity_management_sdk.models_v2.generic_nas_protection_group_params
import cohesity_management_sdk.models_v2.isilon_protection_group_params
import cohesity_management_sdk.models_v2.flashblade_protection_group_params
import cohesity_management_sdk.models_v2.gpfs_protection_group_params
import cohesity_management_sdk.models_v2.no_sql_protection_group_params
import cohesity_management_sdk.models_v2.elastifile_protection_group_params
import cohesity_management_sdk.models_v2.cassandra_protection_group_params
import cohesity_management_sdk.models_v2.hdfs_protection_group_params
import cohesity_management_sdk.models_v2.remote_adapter_protection_group_parameters
import cohesity_management_sdk.models_v2.exchange_protection_group_parameters

[docs]class CreateOrUpdateProtectionGroupRequest(object): """Implementation of the 'Create Or Update Protection Group Request.' model. Specifies the request to create or update a Protection Group. Attributes: name (string): Specifies the name of the Protection Group. policy_id (string): Specifies the unique id of the Protection Policy associated with the Protection Group. The Policy provides retry settings Protection Schedules, Priority, SLA, etc. priority (PriorityEnum): Specifies the priority of the Protection Group. storage_domain_id (long|int): Specifies the Storage Domain (View Box) ID where this Protection Group writes data. description (string): Specifies a description of the Protection Group. start_time (TimeOfDay): Specifies the time of day. Used for scheduling purposes. end_time_usecs (long|int): Specifies the end time in micro seconds for this Protection Group. If this is not specified, the Protection Group won't be ended. alert_policy (ProtectionGroupAlertingPolicy): Specifies a policy for alerting users of the status of a Protection Group. sla (list of SlaRule): Specifies the SLA parameters for this Protection Group. qos_policy (QosPolicy1Enum): Specifies whether the Protection Group will be written to HDD or SSD. abort_in_blackouts (bool): Specifies whether currently executing jobs should abort if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false. environment (Environment6Enum): Specifies the environment type of the Protection Group. is_paused (bool): Specifies if the the Protection Group is paused. New runs are not scheduled for the paused Protection Groups. Active run if any is not impacted. vmware_params (VmwareProtectionGroupParams): Specifies the parameters which are specific to VMware related Protection Groups. acropolis_params (AcropolisProtectionGroupParams): Specifies the parameters which are related to Acropolis Protection Groups. kubernetes_params (KubernetesProtectionGroupParams): Specifies the parameters which are related to Kubernetes Protection Groups. mssql_params (MSSQLProtectionGroupParams): Specifies the parameters specific to MSSQL Protection Group. oracle_params (OracleProtectionGroupParameters): Specifies the parameters to create Oracle Protection Group. view_params (ViewProtectionGroupParameters): Specifies the parameters which are specific to view related Protection Groups. pure_params (PureProtectionGroupParams): Specifies the parameters which are specific to Pure related Protection Groups. nimble_params (NimbleProtectionGroupParams): Specifies the parameters which are specific to Nimble related Protection Groups. hyperv_params (HypervProtectionGroupRequestParams): Specifies the parameters which are specific to HyperV related Protection Groups. aws_params (AWSProtectionGroupRequestParams): Specifies the parameters which are specific to AWS related Protection Groups. azure_params (AzureProtectionGroupRequestParams): Specifies the parameters which are specific to Azure related Protection Groups. gcp_params (GCPProtectionGroupRequestParams): Specifies the parameters which are specific to GCP related Protection Groups. kvm_params (KvmProtectionGroupParams): Specifies the parameters which are specific to Kvm related Protection Groups. physical_params (PhysicalProtectionGroupParams): Specifies the parameters specific to Physical Protection Group. ad_params (ActiveDirectoryADProtectionGroupParameters): Specifies the parameters which are specific to Active directory related Protection Groups. office_365_params (Office365O365ProtectionGroupParameters): Specifies the parameters which are specific to Office 365 related Protection Groups. netapp_params (NetappProtectionGroupParams): Specifies the parameters which are specific to Netapp related Protection Groups. generic_nas_params (GenericNasProtectionGroupParams): Specifies the parameters which are specific to NAS related Protection Groups. isilon_params (IsilonProtectionGroupParams): Specifies the parameters which are specific to Isilon related Protection Groups. flashblade_params (FlashbladeProtectionGroupParams): Specifies the parameters which are specific to Flashblade related Protection Groups. gpfs_params (GpfsProtectionGroupParams): Specifies the parameters which are specific to GPFS related Protection Groups. couchbase_params (NoSqlProtectionGroupParams): Specifies the source specific parameters for this Protection Group. elastifile_params (ElastifileProtectionGroupParams): Specifies the parameters which are specific to Elastifile related Protection Groups. cassandra_params (CassandraProtectionGroupParams): Specifies the parameters for Cassandra Protection Group. mongodb_params (NoSqlProtectionGroupParams): Specifies the source specific parameters for this Protection Group. hive_params (NoSqlProtectionGroupParams): Specifies the source specific parameters for this Protection Group. hdfs_params (HdfsProtectionGroupParams): Specifies the parameters for HDFS Protection Group. hbase_params (NoSqlProtectionGroupParams): Specifies the source specific parameters for this Protection Group. remote_adapter_params (RemoteAdapterProtectionGroupParameters): Specifies the parameters which are specific to Remote Adapter related Protection Groups. exchange_params (ExchangeProtectionGroupParameters): Specifies the parameters which are specific to Exchange related Protection Groups. """ # Create a mapping from Model property names to API property names _names = { "name":'name', "policy_id":'policyId', "environment":'environment', "priority":'priority', "storage_domain_id":'storageDomainId', "description":'description', "start_time":'startTime', "end_time_usecs":'endTimeUsecs', "alert_policy":'alertPolicy', "sla":'sla', "qos_policy":'qosPolicy', "abort_in_blackouts":'abortInBlackouts', "is_paused":'isPaused', "vmware_params":'vmwareParams', "acropolis_params":'acropolisParams', "kubernetes_params":'kubernetesParams', "mssql_params":'mssqlParams', "oracle_params":'oracleParams', "view_params":'viewParams', "pure_params":'pureParams', "nimble_params":'nimbleParams', "hyperv_params":'hypervParams', "aws_params":'awsParams', "azure_params":'azureParams', "gcp_params":'gcpParams', "kvm_params":'kvmParams', "physical_params":'physicalParams', "ad_params":'adParams', "office_365_params":'office365Params', "netapp_params":'netappParams', "generic_nas_params":'genericNasParams', "isilon_params":'isilonParams', "flashblade_params":'flashbladeParams', "gpfs_params":'gpfsParams', "couchbase_params":'couchbaseParams', "elastifile_params":'elastifileParams', "cassandra_params":'cassandraParams', "mongodb_params":'mongodbParams', "hive_params":'hiveParams', "hdfs_params":'hdfsParams', "hbase_params":'hbaseParams', "remote_adapter_params":'remoteAdapterParams', "exchange_params":'exchangeParams' } def __init__(self, name=None, policy_id=None, environment=None, priority=None, storage_domain_id=None, description=None, start_time=None, end_time_usecs=None, alert_policy=None, sla=None, qos_policy=None, abort_in_blackouts=None, is_paused=None, vmware_params=None, acropolis_params=None, kubernetes_params=None, mssql_params=None, oracle_params=None, view_params=None, pure_params=None, nimble_params=None, hyperv_params=None, aws_params=None, azure_params=None, gcp_params=None, kvm_params=None, physical_params=None, ad_params=None, office_365_params=None, netapp_params=None, generic_nas_params=None, isilon_params=None, flashblade_params=None, gpfs_params=None, couchbase_params=None, elastifile_params=None, cassandra_params=None, mongodb_params=None, hive_params=None, hdfs_params=None, hbase_params=None, remote_adapter_params=None, exchange_params=None): """Constructor for the CreateOrUpdateProtectionGroupRequest class""" # Initialize members of the class self.name = name self.policy_id = policy_id self.priority = priority self.storage_domain_id = storage_domain_id self.description = description self.start_time = start_time self.end_time_usecs = end_time_usecs self.alert_policy = alert_policy self.sla = sla self.qos_policy = qos_policy self.abort_in_blackouts = abort_in_blackouts self.environment = environment self.is_paused = is_paused self.vmware_params = vmware_params self.acropolis_params = acropolis_params self.kubernetes_params = kubernetes_params self.mssql_params = mssql_params self.oracle_params = oracle_params self.view_params = view_params self.pure_params = pure_params self.nimble_params = nimble_params self.hyperv_params = hyperv_params self.aws_params = aws_params self.azure_params = azure_params self.gcp_params = gcp_params self.kvm_params = kvm_params self.physical_params = physical_params self.ad_params = ad_params self.office_365_params = office_365_params self.netapp_params = netapp_params self.generic_nas_params = generic_nas_params self.isilon_params = isilon_params self.flashblade_params = flashblade_params self.gpfs_params = gpfs_params self.couchbase_params = couchbase_params self.elastifile_params = elastifile_params self.cassandra_params = cassandra_params self.mongodb_params = mongodb_params self.hive_params = hive_params self.hdfs_params = hdfs_params self.hbase_params = hbase_params self.remote_adapter_params = remote_adapter_params self.exchange_params = exchange_params
[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 name = dictionary.get('name') policy_id = dictionary.get('policyId') environment = dictionary.get('environment') priority = dictionary.get('priority') storage_domain_id = dictionary.get('storageDomainId') description = dictionary.get('description') start_time = cohesity_management_sdk.models_v2.time_of_day.TimeOfDay.from_dictionary(dictionary.get('startTime')) if dictionary.get('startTime') else None end_time_usecs = dictionary.get('endTimeUsecs') alert_policy = cohesity_management_sdk.models_v2.protection_group_alerting_policy.ProtectionGroupAlertingPolicy.from_dictionary(dictionary.get('alertPolicy')) if dictionary.get('alertPolicy') else None sla = None if dictionary.get('sla') != None: sla = list() for structure in dictionary.get('sla'): sla.append(cohesity_management_sdk.models_v2.sla_rule.SlaRule.from_dictionary(structure)) qos_policy = dictionary.get('qosPolicy') abort_in_blackouts = dictionary.get('abortInBlackouts') is_paused = dictionary.get('isPaused') vmware_params = cohesity_management_sdk.models_v2.vmware_protection_group_params.VmwareProtectionGroupParams.from_dictionary(dictionary.get('vmwareParams')) if dictionary.get('vmwareParams') else None acropolis_params = cohesity_management_sdk.models_v2.acropolis_protection_group_params.AcropolisProtectionGroupParams.from_dictionary(dictionary.get('acropolisParams')) if dictionary.get('acropolisParams') else None kubernetes_params = cohesity_management_sdk.models_v2.kubernetes_protection_group_params.KubernetesProtectionGroupParams.from_dictionary(dictionary.get('kubernetesParams')) if dictionary.get('kubernetesParams') else None mssql_params = cohesity_management_sdk.models_v2.mssql_protection_group_params.MSSQLProtectionGroupParams.from_dictionary(dictionary.get('mssqlParams')) if dictionary.get('mssqlParams') else None oracle_params = cohesity_management_sdk.models_v2.oracle_protection_group_parameters.OracleProtectionGroupParameters.from_dictionary(dictionary.get('oracleParams')) if dictionary.get('oracleParams') else None view_params = cohesity_management_sdk.models_v2.view_protection_group_parameters.ViewProtectionGroupParameters.from_dictionary(dictionary.get('viewParams')) if dictionary.get('viewParams') else None pure_params = cohesity_management_sdk.models_v2.pure_protection_group_params.PureProtectionGroupParams.from_dictionary(dictionary.get('pureParams')) if dictionary.get('pureParams') else None nimble_params = cohesity_management_sdk.models_v2.nimble_protection_group_params.NimbleProtectionGroupParams.from_dictionary(dictionary.get('nimbleParams')) if dictionary.get('nimbleParams') else None hyperv_params = cohesity_management_sdk.models_v2.hyperv_protection_group_request_params.HypervProtectionGroupRequestParams.from_dictionary(dictionary.get('hypervParams')) if dictionary.get('hypervParams') else None aws_params = cohesity_management_sdk.models_v2.aws_protection_group_request_params.AWSProtectionGroupRequestParams.from_dictionary(dictionary.get('awsParams')) if dictionary.get('awsParams') else None azure_params = cohesity_management_sdk.models_v2.azure_protection_group_request_params.AzureProtectionGroupRequestParams.from_dictionary(dictionary.get('azureParams')) if dictionary.get('azureParams') else None gcp_params = cohesity_management_sdk.models_v2.gcp_protection_group_request_params.GCPProtectionGroupRequestParams.from_dictionary(dictionary.get('gcpParams')) if dictionary.get('gcpParams') else None kvm_params = cohesity_management_sdk.models_v2.kvm_protection_group_params.KvmProtectionGroupParams.from_dictionary(dictionary.get('kvmParams')) if dictionary.get('kvmParams') else None physical_params = cohesity_management_sdk.models_v2.physical_protection_group_params.PhysicalProtectionGroupParams.from_dictionary(dictionary.get('physicalParams')) if dictionary.get('physicalParams') else None ad_params = cohesity_management_sdk.models_v2.active_directory_ad_protection_group_parameters.ActiveDirectoryADProtectionGroupParameters.from_dictionary(dictionary.get('adParams')) if dictionary.get('adParams') else None office_365_params = cohesity_management_sdk.models_v2.office_365_o_365_protection_group_parameters.Office365O365ProtectionGroupParameters.from_dictionary(dictionary.get('office365Params')) if dictionary.get('office365Params') else None netapp_params = cohesity_management_sdk.models_v2.netapp_protection_group_params.NetappProtectionGroupParams.from_dictionary(dictionary.get('netappParams')) if dictionary.get('netappParams') else None generic_nas_params = cohesity_management_sdk.models_v2.generic_nas_protection_group_params.GenericNasProtectionGroupParams.from_dictionary(dictionary.get('genericNasParams')) if dictionary.get('genericNasParams') else None isilon_params = cohesity_management_sdk.models_v2.isilon_protection_group_params.IsilonProtectionGroupParams.from_dictionary(dictionary.get('isilonParams')) if dictionary.get('isilonParams') else None flashblade_params = cohesity_management_sdk.models_v2.flashblade_protection_group_params.FlashbladeProtectionGroupParams.from_dictionary(dictionary.get('flashbladeParams')) if dictionary.get('flashbladeParams') else None gpfs_params = cohesity_management_sdk.models_v2.gpfs_protection_group_params.GpfsProtectionGroupParams.from_dictionary(dictionary.get('gpfsParams')) if dictionary.get('gpfsParams') else None couchbase_params = cohesity_management_sdk.models_v2.no_sql_protection_group_params.NoSqlProtectionGroupParams.from_dictionary(dictionary.get('couchbaseParams')) if dictionary.get('couchbaseParams') else None elastifile_params = cohesity_management_sdk.models_v2.elastifile_protection_group_params.ElastifileProtectionGroupParams.from_dictionary(dictionary.get('elastifileParams')) if dictionary.get('elastifileParams') else None cassandra_params = cohesity_management_sdk.models_v2.cassandra_protection_group_params.CassandraProtectionGroupParams.from_dictionary(dictionary.get('cassandraParams')) if dictionary.get('cassandraParams') else None mongodb_params = cohesity_management_sdk.models_v2.no_sql_protection_group_params.NoSqlProtectionGroupParams.from_dictionary(dictionary.get('mongodbParams')) if dictionary.get('mongodbParams') else None hive_params = cohesity_management_sdk.models_v2.no_sql_protection_group_params.NoSqlProtectionGroupParams.from_dictionary(dictionary.get('hiveParams')) if dictionary.get('hiveParams') else None hdfs_params = cohesity_management_sdk.models_v2.hdfs_protection_group_params.HdfsProtectionGroupParams.from_dictionary(dictionary.get('hdfsParams')) if dictionary.get('hdfsParams') else None hbase_params = cohesity_management_sdk.models_v2.no_sql_protection_group_params.NoSqlProtectionGroupParams.from_dictionary(dictionary.get('hbaseParams')) if dictionary.get('hbaseParams') else None remote_adapter_params = cohesity_management_sdk.models_v2.remote_adapter_protection_group_parameters.RemoteAdapterProtectionGroupParameters.from_dictionary(dictionary.get('remoteAdapterParams')) if dictionary.get('remoteAdapterParams') else None exchange_params = cohesity_management_sdk.models_v2.exchange_protection_group_parameters.ExchangeProtectionGroupParameters.from_dictionary(dictionary.get('exchangeParams')) if dictionary.get('exchangeParams') else None # Return an object of this model return cls(name, policy_id, environment, priority, storage_domain_id, description, start_time, end_time_usecs, alert_policy, sla, qos_policy, abort_in_blackouts, is_paused, vmware_params, acropolis_params, kubernetes_params, mssql_params, oracle_params, view_params, pure_params, nimble_params, hyperv_params, aws_params, azure_params, gcp_params, kvm_params, physical_params, ad_params, office_365_params, netapp_params, generic_nas_params, isilon_params, flashblade_params, gpfs_params, couchbase_params, elastifile_params, cassandra_params, mongodb_params, hive_params, hdfs_params, hbase_params, remote_adapter_params, exchange_params)