text: # coding: utf-8
  
  """
      Cisco Intersight OpenAPI specification.
  
      The Cisco Intersight OpenAPI specification.
  
      OpenAPI spec version: 1.0.9-1461
      
      Generated by: https://github.com/swagger-api/swagger-codegen.git
  """
  
  
  from pprint import pformat
  from six import iteritems
  import re
  
  
  class TamSecurityAdvisory(object):
      """
      NOTE: This class is auto generated by the swagger code generator program.
      Do not edit the class manually.
      """
  
  
      """
      Attributes:
        swagger_types (dict): The key is attribute name
                              and the value is attribute type.
        attribute_map (dict): The key is attribute name
                              and the value is json key in definition.
      """
      swagger_types = {
          'account_moid': 'str',
          'create_time': 'datetime',
          'domain_group_moid': 'str',
          'mod_time': 'datetime',
          'moid': 'str',
          'object_type': 'str',
          'owners': 'list[str]',
          'shared_scope': 'str',
          'tags': 'list[MoTag]',
          'version_context': 'MoVersionContext',
          'ancestors': 'list[MoBaseMoRef]',
          'parent': 'MoBaseMoRef',
          'permission_resources': 'list[MoBaseMoRef]',
          'description': 'str',
          'name': 'str',
          'severity': 'TamSeverity',
          'state': 'str',
          'actions': 'list[TamAction]',
          'advisory_id': 'str',
          'api_data_sources': 'list[TamApiDataSource]',
          'base_score': 'float',
          'cve_ids': 'list[str]',
          'date_published': 'datetime',
          'date_updated': 'datetime',
          'environmental_score': 'float',
          'external_url': 'str',
          'recommendation': 'str',
          'status': 'str',
          'temporal_score': 'float',
          'version': 'str',
          'organization': 'OrganizationOrganizationRef'
      }
  
      attribute_map = {
          'account_moid': 'AccountMoid',
          'create_time': 'CreateTime',
          'domain_group_moid': 'DomainGroupMoid',
          'mod_time': 'ModTime',
          'moid': 'Moid',
          'object_type': 'ObjectType',
          'owners': 'Owners',
          'shared_scope': 'SharedScope',
          'tags': 'Tags',
          'version_context': 'VersionContext',
          'ancestors': 'Ancestors',
          'parent': 'Parent',
          'permission_resources': 'PermissionResources',
          'description': 'Description',
          'name': 'Name',
          'severity': 'Severity',
          'state': 'State',
          'actions': 'Actions',
          'advisory_id': 'AdvisoryId',
          'api_data_sources': 'ApiDataSources',
          'base_score': 'BaseScore',
          'cve_ids': 'CveIds',
          'date_published': 'DatePublished',
          'date_updated': 'DateUpdated',
          'environmental_score': 'EnvironmentalScore',
          'external_url': 'ExternalUrl',
          'recommendation': 'Recommendation',
          'status': 'Status',
          'temporal_score': 'TemporalScore',
          'version': 'Version',
          'organization': 'Organization'
      }
  
      def __init__(self, account_moid=None, create_time=None, domain_group_moid=None, mod_time=None, moid=None, object_type=None, owners=None, shared_scope=None, tags=None, version_context=None, ancestors=None, parent=None, permission_resources=None, description=None, name=None, severity=None, state='active', actions=None, advisory_id=None, api_data_sources=None, base_score=None, cve_ids=None, date_published=None, date_updated=None, environmental_score=None, external_url=None, recommendation=None, status='interim', temporal_score=None, version=None, organization=None):
          """
          TamSecurityAdvisory - a model defined in Swagger
          """
  
          self._account_moid = None
          self._create_time = None
          self._domain_group_moid = None
          self._mod_time = None
          self._moid = None
          self._object_type = None
          self._owners = None
          self._shared_scope = None
          self._tags = None
          self._version_context = None
          self._ancestors = None
          self._parent = None
          self._permission_resources = None
          self._description = None
          self._name = None
          self._severity = None
          self._state = None
          self._actions = None
          self._advisory_id = None
          self._api_data_sources = None
          self._base_score = None
          self._cve_ids = None
          self._date_published = None
          self._date_updated = None
          self._environmental_score = None
          self._external_url = None
          self._recommendation = None
          self._status = None
          self._temporal_score = None
          self._version = None
          self._organization = None
  
          if account_moid is not None:
            self.account_moid = account_moid
          if create_time is not None:
            self.create_time = create_time
          if domain_group_moid is not None:
            self.domain_group_moid = domain_group_moid
          if mod_time is not None:
            self.mod_time = mod_time
          if moid is not None:
            self.moid = moid
          if object_type is not None:
            self.object_type = object_type
          if owners is not None:
            self.owners = owners
          if shared_scope is not None:
            self.shared_scope = shared_scope
          if tags is not None:
            self.tags = tags
          if version_context is not None:
            self.version_context = version_context
          if ancestors is not None:
            self.ancestors = ancestors
          if parent is not None:
            self.parent = parent
          if permission_resources is not None:
            self.permission_resources = permission_resources
          if description is not None:
            self.description = description
          if name is not None:
            self.name = name
          if severity is not None:
            self.severity = severity
          if state is not None:
            self.state = state
          if actions is not None:
            self.actions = actions
          if advisory_id is not None:
            self.advisory_id = advisory_id
          if api_data_sources is not None:
            self.api_data_sources = api_data_sources
          if base_score is not None:
            self.base_score = base_score
          if cve_ids is not None:
            self.cve_ids = cve_ids
          if date_published is not None:
            self.date_published = date_published
          if date_updated is not None:
            self.date_updated = date_updated
          if environmental_score is not None:
            self.environmental_score = environmental_score
          if external_url is not None:
            self.external_url = external_url
          if recommendation is not None:
            self.recommendation = recommendation
          if status is not None:
            self.status = status
          if temporal_score is not None:
            self.temporal_score = temporal_score
          if version is not None:
            self.version = version
          if organization is not None:
            self.organization = organization
  
      @property
      def account_moid(self):
          """
          Gets the account_moid of this TamSecurityAdvisory.
          The Account ID for this managed object.
  
          :return: The account_moid of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._account_moid
  
      @account_moid.setter
      def account_moid(self, account_moid):
          """
          Sets the account_moid of this TamSecurityAdvisory.
          The Account ID for this managed object.
  
          :param account_moid: The account_moid of this TamSecurityAdvisory.
          :type: str
          """
  
          self._account_moid = account_moid
  
      @property
      def create_time(self):
          """
          Gets the create_time of this TamSecurityAdvisory.
          The time when this managed object was created.
  
          :return: The create_time of this TamSecurityAdvisory.
          :rtype: datetime
          """
          return self._create_time
  
      @create_time.setter
      def create_time(self, create_time):
          """
          Sets the create_time of this TamSecurityAdvisory.
          The time when this managed object was created.
  
          :param create_time: The create_time of this TamSecurityAdvisory.
          :type: datetime
          """
  
          self._create_time = create_time
  
      @property
      def domain_group_moid(self):
          """
          Gets the domain_group_moid of this TamSecurityAdvisory.
          The DomainGroup ID for this managed object.
  
          :return: The domain_group_moid of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._domain_group_moid
  
      @domain_group_moid.setter
      def domain_group_moid(self, domain_group_moid):
          """
          Sets the domain_group_moid of this TamSecurityAdvisory.
          The DomainGroup ID for this managed object.
  
          :param domain_group_moid: The domain_group_moid of this TamSecurityAdvisory.
          :type: str
          """
  
          self._domain_group_moid = domain_group_moid
  
      @property
      def mod_time(self):
          """
          Gets the mod_time of this TamSecurityAdvisory.
          The time when this managed object was last modified.
  
          :return: The mod_time of this TamSecurityAdvisory.
          :rtype: datetime
          """
          return self._mod_time
  
      @mod_time.setter
      def mod_time(self, mod_time):
          """
          Sets the mod_time of this TamSecurityAdvisory.
          The time when this managed object was last modified.
  
          :param mod_time: The mod_time of this TamSecurityAdvisory.
          :type: datetime
          """
  
          self._mod_time = mod_time
  
      @property
      def moid(self):
          """
          Gets the moid of this TamSecurityAdvisory.
          The unique identifier of this Managed Object instance.
  
          :return: The moid of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._moid
  
      @moid.setter
      def moid(self, moid):
          """
          Sets the moid of this TamSecurityAdvisory.
          The unique identifier of this Managed Object instance.
  
          :param moid: The moid of this TamSecurityAdvisory.
          :type: str
          """
  
          self._moid = moid
  
      @property
      def object_type(self):
          """
          Gets the object_type of this TamSecurityAdvisory.
          The fully-qualified type of this managed object, i.e. the class name. This property is optional. The ObjectType is implied from the URL path. If specified, the value of objectType must match the class name specified in the URL path.
  
          :return: The object_type of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._object_type
  
      @object_type.setter
      def object_type(self, object_type):
          """
          Sets the object_type of this TamSecurityAdvisory.
          The fully-qualified type of this managed object, i.e. the class name. This property is optional. The ObjectType is implied from the URL path. If specified, the value of objectType must match the class name specified in the URL path.
  
          :param object_type: The object_type of this TamSecurityAdvisory.
          :type: str
          """
  
          self._object_type = object_type
  
      @property
      def owners(self):
          """
          Gets the owners of this TamSecurityAdvisory.
          The array of owners which represent effective ownership of this object.
  
          :return: The owners of this TamSecurityAdvisory.
          :rtype: list[str]
          """
          return self._owners
  
      @owners.setter
      def owners(self, owners):
          """
          Sets the owners of this TamSecurityAdvisory.
          The array of owners which represent effective ownership of this object.
  
          :param owners: The owners of this TamSecurityAdvisory.
          :type: list[str]
          """
  
          self._owners = owners
  
      @property
      def shared_scope(self):
          """
          Gets the shared_scope of this TamSecurityAdvisory.
          Intersight provides pre-built workflows, tasks and policies to end users through global catalogs. Objects that are made available through global catalogs are said to have a 'shared' ownership. Shared objects are either made globally available to all end users or restricted to end users based on their license entitlement. Users can use this property to differentiate the scope (global or a specific license tier) to which a shared MO belongs.
  
          :return: The shared_scope of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._shared_scope
  
      @shared_scope.setter
      def shared_scope(self, shared_scope):
          """
          Sets the shared_scope of this TamSecurityAdvisory.
          Intersight provides pre-built workflows, tasks and policies to end users through global catalogs. Objects that are made available through global catalogs are said to have a 'shared' ownership. Shared objects are either made globally available to all end users or restricted to end users based on their license entitlement. Users can use this property to differentiate the scope (global or a specific license tier) to which a shared MO belongs.
  
          :param shared_scope: The shared_scope of this TamSecurityAdvisory.
          :type: str
          """
  
          self._shared_scope = shared_scope
  
      @property
      def tags(self):
          """
          Gets the tags of this TamSecurityAdvisory.
          The array of tags, which allow to add key, value meta-data to managed objects.
  
          :return: The tags of this TamSecurityAdvisory.
          :rtype: list[MoTag]
          """
          return self._tags
  
      @tags.setter
      def tags(self, tags):
          """
          Sets the tags of this TamSecurityAdvisory.
          The array of tags, which allow to add key, value meta-data to managed objects.
  
          :param tags: The tags of this TamSecurityAdvisory.
          :type: list[MoTag]
          """
  
          self._tags = tags
  
      @property
      def version_context(self):
          """
          Gets the version_context of this TamSecurityAdvisory.
          The versioning info for this managed object.
  
          :return: The version_context of this TamSecurityAdvisory.
          :rtype: MoVersionContext
          """
          return self._version_context
  
      @version_context.setter
      def version_context(self, version_context):
          """
          Sets the version_context of this TamSecurityAdvisory.
          The versioning info for this managed object.
  
          :param version_context: The version_context of this TamSecurityAdvisory.
          :type: MoVersionContext
          """
  
          self._version_context = version_context
  
      @property
      def ancestors(self):
          """
          Gets the ancestors of this TamSecurityAdvisory.
          The array containing the MO references of the ancestors in the object containment hierarchy.
  
          :return: The ancestors of this TamSecurityAdvisory.
          :rtype: list[MoBaseMoRef]
          """
          return self._ancestors
  
      @ancestors.setter
      def ancestors(self, ancestors):
          """
          Sets the ancestors of this TamSecurityAdvisory.
          The array containing the MO references of the ancestors in the object containment hierarchy.
  
          :param ancestors: The ancestors of this TamSecurityAdvisory.
          :type: list[MoBaseMoRef]
          """
  
          self._ancestors = ancestors
  
      @property
      def parent(self):
          """
          Gets the parent of this TamSecurityAdvisory.
          The direct ancestor of this managed object in the containment hierarchy.
  
          :return: The parent of this TamSecurityAdvisory.
          :rtype: MoBaseMoRef
          """
          return self._parent
  
      @parent.setter
      def parent(self, parent):
          """
          Sets the parent of this TamSecurityAdvisory.
          The direct ancestor of this managed object in the containment hierarchy.
  
          :param parent: The parent of this TamSecurityAdvisory.
          :type: MoBaseMoRef
          """
  
          self._parent = parent
  
      @property
      def permission_resources(self):
          """
          Gets the permission_resources of this TamSecurityAdvisory.
          A slice of all permission resources (organizations) associated with this object. Permission ties resources and its associated roles/privileges. These resources which can be specified in a permission is PermissionResource. Currently only organizations can be specified in permission. All logical and physical resources part of an organization will have organization in PermissionResources field. If DeviceRegistration contains another DeviceRegistration and if parent is in org1 and child is part of org2, then child objects will have PermissionResources as org1 and org2. Parent Objects will have PermissionResources as org1. All profiles/policies created with in an organization will have the organization as PermissionResources.
  
          :return: The permission_resources of this TamSecurityAdvisory.
          :rtype: list[MoBaseMoRef]
          """
          return self._permission_resources
  
      @permission_resources.setter
      def permission_resources(self, permission_resources):
          """
          Sets the permission_resources of this TamSecurityAdvisory.
          A slice of all permission resources (organizations) associated with this object. Permission ties resources and its associated roles/privileges. These resources which can be specified in a permission is PermissionResource. Currently only organizations can be specified in permission. All logical and physical resources part of an organization will have organization in PermissionResources field. If DeviceRegistration contains another DeviceRegistration and if parent is in org1 and child is part of org2, then child objects will have PermissionResources as org1 and org2. Parent Objects will have PermissionResources as org1. All profiles/policies created with in an organization will have the organization as PermissionResources.
  
          :param permission_resources: The permission_resources of this TamSecurityAdvisory.
          :type: list[MoBaseMoRef]
          """
  
          self._permission_resources = permission_resources
  
      @property
      def description(self):
          """
          Gets the description of this TamSecurityAdvisory.
          Brief description of the advisory details.
  
          :return: The description of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._description
  
      @description.setter
      def description(self, description):
          """
          Sets the description of this TamSecurityAdvisory.
          Brief description of the advisory details.
  
          :param description: The description of this TamSecurityAdvisory.
          :type: str
          """
  
          self._description = description
  
      @property
      def name(self):
          """
          Gets the name of this TamSecurityAdvisory.
          A user defined name for the Intersight Advisory.
  
          :return: The name of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._name
  
      @name.setter
      def name(self, name):
          """
          Sets the name of this TamSecurityAdvisory.
          A user defined name for the Intersight Advisory.
  
          :param name: The name of this TamSecurityAdvisory.
          :type: str
          """
  
          self._name = name
  
      @property
      def severity(self):
          """
          Gets the severity of this TamSecurityAdvisory.
          Severity level of the Intersight Advisory.
  
          :return: The severity of this TamSecurityAdvisory.
          :rtype: TamSeverity
          """
          return self._severity
  
      @severity.setter
      def severity(self, severity):
          """
          Sets the severity of this TamSecurityAdvisory.
          Severity level of the Intersight Advisory.
  
          :param severity: The severity of this TamSecurityAdvisory.
          :type: TamSeverity
          """
  
          self._severity = severity
  
      @property
      def state(self):
          """
          Gets the state of this TamSecurityAdvisory.
          Current state of the advisory. Indicates if the user is interested in getting updates for the advisory.
  
          :return: The state of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._state
  
      @state.setter
      def state(self, state):
          """
          Sets the state of this TamSecurityAdvisory.
          Current state of the advisory. Indicates if the user is interested in getting updates for the advisory.
  
          :param state: The state of this TamSecurityAdvisory.
          :type: str
          """
          allowed_values = ["active", "acknowledged"]
          if state not in allowed_values:
              raise ValueError(
                  "Invalid value for `state` ({0}), must be one of {1}"
                  .format(state, allowed_values)
              )
  
          self._state = state
  
      @property
      def actions(self):
          """
          Gets the actions of this TamSecurityAdvisory.
          An array of actions that are to be taken when a given managed object matches the criteria specified for being affected by an alert definition.
  
          :return: The actions of this TamSecurityAdvisory.
          :rtype: list[TamAction]
          """
          return self._actions
  
      @actions.setter
      def actions(self, actions):
          """
          Sets the actions of this TamSecurityAdvisory.
          An array of actions that are to be taken when a given managed object matches the criteria specified for being affected by an alert definition.
  
          :param actions: The actions of this TamSecurityAdvisory.
          :type: list[TamAction]
          """
  
          self._actions = actions
  
      @property
      def advisory_id(self):
          """
          Gets the advisory_id of this TamSecurityAdvisory.
          Cisco generated identifier for the published security advisory.
  
          :return: The advisory_id of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._advisory_id
  
      @advisory_id.setter
      def advisory_id(self, advisory_id):
          """
          Sets the advisory_id of this TamSecurityAdvisory.
          Cisco generated identifier for the published security advisory.
  
          :param advisory_id: The advisory_id of this TamSecurityAdvisory.
          :type: str
          """
  
          self._advisory_id = advisory_id
  
      @property
      def api_data_sources(self):
          """
          Gets the api_data_sources of this TamSecurityAdvisory.
          An array of data sources that are used to provide data for queries used to identify an Intersight alert applicability.
  
          :return: The api_data_sources of this TamSecurityAdvisory.
          :rtype: list[TamApiDataSource]
          """
          return self._api_data_sources
  
      @api_data_sources.setter
      def api_data_sources(self, api_data_sources):
          """
          Sets the api_data_sources of this TamSecurityAdvisory.
          An array of data sources that are used to provide data for queries used to identify an Intersight alert applicability.
  
          :param api_data_sources: The api_data_sources of this TamSecurityAdvisory.
          :type: list[TamApiDataSource]
          """
  
          self._api_data_sources = api_data_sources
  
      @property
      def base_score(self):
          """
          Gets the base_score of this TamSecurityAdvisory.
          CVSS version 3 base score for the security Advisory.
  
          :return: The base_score of this TamSecurityAdvisory.
          :rtype: float
          """
          return self._base_score
  
      @base_score.setter
      def base_score(self, base_score):
          """
          Sets the base_score of this TamSecurityAdvisory.
          CVSS version 3 base score for the security Advisory.
  
          :param base_score: The base_score of this TamSecurityAdvisory.
          :type: float
          """
  
          self._base_score = base_score
  
      @property
      def cve_ids(self):
          """
          Gets the cve_ids of this TamSecurityAdvisory.
          CVE (https://cve.mitre.org/about/faqs.html) identifiers associated with the published security Advisory.
  
          :return: The cve_ids of this TamSecurityAdvisory.
          :rtype: list[str]
          """
          return self._cve_ids
  
      @cve_ids.setter
      def cve_ids(self, cve_ids):
          """
          Sets the cve_ids of this TamSecurityAdvisory.
          CVE (https://cve.mitre.org/about/faqs.html) identifiers associated with the published security Advisory.
  
          :param cve_ids: The cve_ids of this TamSecurityAdvisory.
          :type: list[str]
          """
  
          self._cve_ids = cve_ids
  
      @property
      def date_published(self):
          """
          Gets the date_published of this TamSecurityAdvisory.
          Date when the security advisory was first published by Cisco.
  
          :return: The date_published of this TamSecurityAdvisory.
          :rtype: datetime
          """
          return self._date_published
  
      @date_published.setter
      def date_published(self, date_published):
          """
          Sets the date_published of this TamSecurityAdvisory.
          Date when the security advisory was first published by Cisco.
  
          :param date_published: The date_published of this TamSecurityAdvisory.
          :type: datetime
          """
  
          self._date_published = date_published
  
      @property
      def date_updated(self):
          """
          Gets the date_updated of this TamSecurityAdvisory.
          Date when the security advisory was last updated by Cisco.
  
          :return: The date_updated of this TamSecurityAdvisory.
          :rtype: datetime
          """
          return self._date_updated
  
      @date_updated.setter
      def date_updated(self, date_updated):
          """
          Sets the date_updated of this TamSecurityAdvisory.
          Date when the security advisory was last updated by Cisco.
  
          :param date_updated: The date_updated of this TamSecurityAdvisory.
          :type: datetime
          """
  
          self._date_updated = date_updated
  
      @property
      def environmental_score(self):
          """
          Gets the environmental_score of this TamSecurityAdvisory.
          CVSS version 3 environmental score for the security Advisory.
  
          :return: The environmental_score of this TamSecurityAdvisory.
          :rtype: float
          """
          return self._environmental_score
  
      @environmental_score.setter
      def environmental_score(self, environmental_score):
          """
          Sets the environmental_score of this TamSecurityAdvisory.
          CVSS version 3 environmental score for the security Advisory.
  
          :param environmental_score: The environmental_score of this TamSecurityAdvisory.
          :type: float
          """
  
          self._environmental_score = environmental_score
  
      @property
      def external_url(self):
          """
          Gets the external_url of this TamSecurityAdvisory.
          A link to an external URL describing security Advisory in more details.
  
          :return: The external_url of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._external_url
  
      @external_url.setter
      def external_url(self, external_url):
          """
          Sets the external_url of this TamSecurityAdvisory.
          A link to an external URL describing security Advisory in more details.
  
          :param external_url: The external_url of this TamSecurityAdvisory.
          :type: str
          """
  
          self._external_url = external_url
  
      @property
      def recommendation(self):
          """
          Gets the recommendation of this TamSecurityAdvisory.
          Recommended action to resolve the security advisory.
  
          :return: The recommendation of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._recommendation
  
      @recommendation.setter
      def recommendation(self, recommendation):
          """
          Sets the recommendation of this TamSecurityAdvisory.
          Recommended action to resolve the security advisory.
  
          :param recommendation: The recommendation of this TamSecurityAdvisory.
          :type: str
          """
  
          self._recommendation = recommendation
  
      @property
      def status(self):
          """
          Gets the status of this TamSecurityAdvisory.
          Cisco assigned status of the published advisory based on whether the investigation is complete or on-going.
  
          :return: The status of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._status
  
      @status.setter
      def status(self, status):
          """
          Sets the status of this TamSecurityAdvisory.
          Cisco assigned status of the published advisory based on whether the investigation is complete or on-going.
  
          :param status: The status of this TamSecurityAdvisory.
          :type: str
          """
          allowed_values = ["interim", "final"]
          if status not in allowed_values:
              raise ValueError(
                  "Invalid value for `status` ({0}), must be one of {1}"
                  .format(status, allowed_values)
              )
  
          self._status = status
  
      @property
      def temporal_score(self):
          """
          Gets the temporal_score of this TamSecurityAdvisory.
          CVSS version 3 temporal score for the security Advisory.
  
          :return: The temporal_score of this TamSecurityAdvisory.
          :rtype: float
          """
          return self._temporal_score
  
      @temporal_score.setter
      def temporal_score(self, temporal_score):
          """
          Sets the temporal_score of this TamSecurityAdvisory.
          CVSS version 3 temporal score for the security Advisory.
  
          :param temporal_score: The temporal_score of this TamSecurityAdvisory.
          :type: float
          """
  
          self._temporal_score = temporal_score
  
      @property
      def version(self):
          """
          Gets the version of this TamSecurityAdvisory.
          Cisco assigned advisory version after latest revision.
  
          :return: The version of this TamSecurityAdvisory.
          :rtype: str
          """
          return self._version
  
      @version.setter
      def version(self, version):
          """
          Sets the version of this TamSecurityAdvisory.
          Cisco assigned advisory version after latest revision.
  
          :param version: The version of this TamSecurityAdvisory.
          :type: str
          """
  
          self._version = version
  
      @property
      def organization(self):
          """
          Gets the organization of this TamSecurityAdvisory.
          Relationship to the Organization that owns the Managed Object.
  
          :return: The organization of this TamSecurityAdvisory.
          :rtype: OrganizationOrganizationRef
          """
          return self._organization
  
      @organization.setter
      def organization(self, organization):
          """
          Sets the organization of this TamSecurityAdvisory.
          Relationship to the Organization that owns the Managed Object.
  
          :param organization: The organization of this TamSecurityAdvisory.
          :type: OrganizationOrganizationRef
          """
  
          self._organization = organization
  
      def to_dict(self):
          """
          Returns the model properties as a dict
          """
          result = {}
  
          for attr, _ in iteritems(self.swagger_types):
              value = getattr(self, attr)
              if isinstance(value, list):
                  result[attr] = list(map(
                      lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                      value
                  ))
              elif hasattr(value, "to_dict"):
                  result[attr] = value.to_dict()
              elif isinstance(value, dict):
                  result[attr] = dict(map(
                      lambda item: (item[0], item[1].to_dict())
                      if hasattr(item[1], "to_dict") else item,
                      value.items()
                  ))
              else:
                  result[attr] = value
  
          return result
  
      def to_str(self):
          """
          Returns the string representation of the model
          """
          return pformat(self.to_dict())
  
      def __repr__(self):
          """
          For `print` and `pprint`
          """
          return self.to_str()
  
      def __eq__(self, other):
          """
          Returns true if both objects are equal
          """
          if not isinstance(other, TamSecurityAdvisory):
              return False
  
          return self.__dict__ == other.__dict__
  
      def __ne__(self, other):
          """
          Returns true if both objects are not equal
          """
          return not self == other
  