text: # coding: utf-8
  
  from __future__ import absolute_import
  from datetime import date, datetime  # noqa: F401
  
  from typing import List, Dict  # noqa: F401
  
  from tapi_server.models.base_model_ import Model
  from tapi_server.models.tapi_common_admin_state_pac import TapiCommonAdminStatePac  # noqa: F401,E501
  from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState  # noqa: F401,E501
  from tapi_server.models.tapi_common_forwarding_direction import TapiCommonForwardingDirection  # noqa: F401,E501
  from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass  # noqa: F401,E501
  from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName  # noqa: F401,E501
  from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState  # noqa: F401,E501
  from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue  # noqa: F401,E501
  from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState  # noqa: F401,E501
  from tapi_server.models.tapi_oam_meg_ref import TapiOamMegRef  # noqa: F401,E501
  from tapi_server.models.tapi_oam_oam_constraint import TapiOamOamConstraint  # noqa: F401,E501
  from tapi_server.models.tapi_oam_oam_profile_ref import TapiOamOamProfileRef  # noqa: F401,E501
  from tapi_server.models.tapi_oam_oam_service_end_point import TapiOamOamServiceEndPoint  # noqa: F401,E501
  from tapi_server import util
  
  
  class TapiOamOamService(Model):
      """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
  
      Do not edit the class manually.
      """
  
      def __init__(self, operational_state=None, lifecycle_state=None, administrative_state=None, name=None, uuid=None, layer_protocol_name=None, meg_level=None, direction=None, oam_profile=None, end_point=None, meg=None):  # noqa: E501
          """TapiOamOamService - a model defined in OpenAPI
  
          :param operational_state: The operational_state of this TapiOamOamService.  # noqa: E501
          :type operational_state: TapiCommonOperationalState
          :param lifecycle_state: The lifecycle_state of this TapiOamOamService.  # noqa: E501
          :type lifecycle_state: TapiCommonLifecycleState
          :param administrative_state: The administrative_state of this TapiOamOamService.  # noqa: E501
          :type administrative_state: TapiCommonAdministrativeState
          :param name: The name of this TapiOamOamService.  # noqa: E501
          :type name: List[TapiCommonNameAndValue]
          :param uuid: The uuid of this TapiOamOamService.  # noqa: E501
          :type uuid: str
          :param layer_protocol_name: The layer_protocol_name of this TapiOamOamService.  # noqa: E501
          :type layer_protocol_name: TapiCommonLayerProtocolName
          :param meg_level: The meg_level of this TapiOamOamService.  # noqa: E501
          :type meg_level: int
          :param direction: The direction of this TapiOamOamService.  # noqa: E501
          :type direction: TapiCommonForwardingDirection
          :param oam_profile: The oam_profile of this TapiOamOamService.  # noqa: E501
          :type oam_profile: TapiOamOamProfileRef
          :param end_point: The end_point of this TapiOamOamService.  # noqa: E501
          :type end_point: List[TapiOamOamServiceEndPoint]
          :param meg: The meg of this TapiOamOamService.  # noqa: E501
          :type meg: TapiOamMegRef
          """
          self.openapi_types = {
              'operational_state': TapiCommonOperationalState,
              'lifecycle_state': TapiCommonLifecycleState,
              'administrative_state': TapiCommonAdministrativeState,
              'name': List[TapiCommonNameAndValue],
              'uuid': str,
              'layer_protocol_name': TapiCommonLayerProtocolName,
              'meg_level': int,
              'direction': TapiCommonForwardingDirection,
              'oam_profile': TapiOamOamProfileRef,
              'end_point': List[TapiOamOamServiceEndPoint],
              'meg': TapiOamMegRef
          }
  
          self.attribute_map = {
              'operational_state': 'operational-state',
              'lifecycle_state': 'lifecycle-state',
              'administrative_state': 'administrative-state',
              'name': 'name',
              'uuid': 'uuid',
              'layer_protocol_name': 'layer-protocol-name',
              'meg_level': 'meg-level',
              'direction': 'direction',
              'oam_profile': 'oam-profile',
              'end_point': 'end-point',
              'meg': 'meg'
          }
  
          self._operational_state = operational_state
          self._lifecycle_state = lifecycle_state
          self._administrative_state = administrative_state
          self._name = name
          self._uuid = uuid
          self._layer_protocol_name = layer_protocol_name
          self._meg_level = meg_level
          self._direction = direction
          self._oam_profile = oam_profile
          self._end_point = end_point
          self._meg = meg
  
      @classmethod
      def from_dict(cls, dikt) -> 'TapiOamOamService':
          """Returns the dict as a model
  
          :param dikt: A dict.
          :type: dict
          :return: The tapi.oam.OamService of this TapiOamOamService.  # noqa: E501
          :rtype: TapiOamOamService
          """
          return util.deserialize_model(dikt, cls)
  
      @property
      def operational_state(self):
          """Gets the operational_state of this TapiOamOamService.
  
  
          :return: The operational_state of this TapiOamOamService.
          :rtype: TapiCommonOperationalState
          """
          return self._operational_state
  
      @operational_state.setter
      def operational_state(self, operational_state):
          """Sets the operational_state of this TapiOamOamService.
  
  
          :param operational_state: The operational_state of this TapiOamOamService.
          :type operational_state: TapiCommonOperationalState
          """
  
          self._operational_state = operational_state
  
      @property
      def lifecycle_state(self):
          """Gets the lifecycle_state of this TapiOamOamService.
  
  
          :return: The lifecycle_state of this TapiOamOamService.
          :rtype: TapiCommonLifecycleState
          """
          return self._lifecycle_state
  
      @lifecycle_state.setter
      def lifecycle_state(self, lifecycle_state):
          """Sets the lifecycle_state of this TapiOamOamService.
  
  
          :param lifecycle_state: The lifecycle_state of this TapiOamOamService.
          :type lifecycle_state: TapiCommonLifecycleState
          """
  
          self._lifecycle_state = lifecycle_state
  
      @property
      def administrative_state(self):
          """Gets the administrative_state of this TapiOamOamService.
  
  
          :return: The administrative_state of this TapiOamOamService.
          :rtype: TapiCommonAdministrativeState
          """
          return self._administrative_state
  
      @administrative_state.setter
      def administrative_state(self, administrative_state):
          """Sets the administrative_state of this TapiOamOamService.
  
  
          :param administrative_state: The administrative_state of this TapiOamOamService.
          :type administrative_state: TapiCommonAdministrativeState
          """
  
          self._administrative_state = administrative_state
  
      @property
      def name(self):
          """Gets the name of this TapiOamOamService.
  
          List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.  # noqa: E501
  
          :return: The name of this TapiOamOamService.
          :rtype: List[TapiCommonNameAndValue]
          """
          return self._name
  
      @name.setter
      def name(self, name):
          """Sets the name of this TapiOamOamService.
  
          List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.  # noqa: E501
  
          :param name: The name of this TapiOamOamService.
          :type name: List[TapiCommonNameAndValue]
          """
  
          self._name = name
  
      @property
      def uuid(self):
          """Gets the uuid of this TapiOamOamService.
  
          UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity.                      UUID here uses string representation as defined in RFC 4122.  The canonical representation uses lowercase characters.                      Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}                       Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6  # noqa: E501
  
          :return: The uuid of this TapiOamOamService.
          :rtype: str
          """
          return self._uuid
  
      @uuid.setter
      def uuid(self, uuid):
          """Sets the uuid of this TapiOamOamService.
  
          UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity.                      UUID here uses string representation as defined in RFC 4122.  The canonical representation uses lowercase characters.                      Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}                       Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6  # noqa: E501
  
          :param uuid: The uuid of this TapiOamOamService.
          :type uuid: str
          """
  
          self._uuid = uuid
  
      @property
      def layer_protocol_name(self):
          """Gets the layer_protocol_name of this TapiOamOamService.
  
  
          :return: The layer_protocol_name of this TapiOamOamService.
          :rtype: TapiCommonLayerProtocolName
          """
          return self._layer_protocol_name
  
      @layer_protocol_name.setter
      def layer_protocol_name(self, layer_protocol_name):
          """Sets the layer_protocol_name of this TapiOamOamService.
  
  
          :param layer_protocol_name: The layer_protocol_name of this TapiOamOamService.
          :type layer_protocol_name: TapiCommonLayerProtocolName
          """
  
          self._layer_protocol_name = layer_protocol_name
  
      @property
      def meg_level(self):
          """Gets the meg_level of this TapiOamOamService.
  
          none  # noqa: E501
  
          :return: The meg_level of this TapiOamOamService.
          :rtype: int
          """
          return self._meg_level
  
      @meg_level.setter
      def meg_level(self, meg_level):
          """Sets the meg_level of this TapiOamOamService.
  
          none  # noqa: E501
  
          :param meg_level: The meg_level of this TapiOamOamService.
          :type meg_level: int
          """
  
          self._meg_level = meg_level
  
      @property
      def direction(self):
          """Gets the direction of this TapiOamOamService.
  
  
          :return: The direction of this TapiOamOamService.
          :rtype: TapiCommonForwardingDirection
          """
          return self._direction
  
      @direction.setter
      def direction(self, direction):
          """Sets the direction of this TapiOamOamService.
  
  
          :param direction: The direction of this TapiOamOamService.
          :type direction: TapiCommonForwardingDirection
          """
  
          self._direction = direction
  
      @property
      def oam_profile(self):
          """Gets the oam_profile of this TapiOamOamService.
  
  
          :return: The oam_profile of this TapiOamOamService.
          :rtype: TapiOamOamProfileRef
          """
          return self._oam_profile
  
      @oam_profile.setter
      def oam_profile(self, oam_profile):
          """Sets the oam_profile of this TapiOamOamService.
  
  
          :param oam_profile: The oam_profile of this TapiOamOamService.
          :type oam_profile: TapiOamOamProfileRef
          """
  
          self._oam_profile = oam_profile
  
      @property
      def end_point(self):
          """Gets the end_point of this TapiOamOamService.
  
          none  # noqa: E501
  
          :return: The end_point of this TapiOamOamService.
          :rtype: List[TapiOamOamServiceEndPoint]
          """
          return self._end_point
  
      @end_point.setter
      def end_point(self, end_point):
          """Sets the end_point of this TapiOamOamService.
  
          none  # noqa: E501
  
          :param end_point: The end_point of this TapiOamOamService.
          :type end_point: List[TapiOamOamServiceEndPoint]
          """
  
          self._end_point = end_point
  
      @property
      def meg(self):
          """Gets the meg of this TapiOamOamService.
  
  
          :return: The meg of this TapiOamOamService.
          :rtype: TapiOamMegRef
          """
          return self._meg
  
      @meg.setter
      def meg(self, meg):
          """Sets the meg of this TapiOamOamService.
  
  
          :param meg: The meg of this TapiOamOamService.
          :type meg: TapiOamMegRef
          """
  
          self._meg = meg
  