text: # coding: utf-8
  
  from __future__ import absolute_import
  from datetime import date, datetime  # noqa: F401
  
  from typing import List, Dict  # noqa: F401
  
  from swagger_server.models.base_model_ import Model
  from swagger_server import util
  
  
  class Experiment(Model):
      """NOTE: This class is auto generated by the swagger code generator program.
  
      Do not edit the class manually.
      """
      def __init__(self, username: str=None, name: str=None, project: str=None, profile: str=None, cluster: str=None, start: str=None, end: str=None, status: str=None, uuid: str=None):  # noqa: E501
          """Experiment - a model defined in Swagger
  
          :param username: The username of this Experiment.  # noqa: E501
          :type username: str
          :param name: The name of this Experiment.  # noqa: E501
          :type name: str
          :param project: The project of this Experiment.  # noqa: E501
          :type project: str
          :param profile: The profile of this Experiment.  # noqa: E501
          :type profile: str
          :param cluster: The cluster of this Experiment.  # noqa: E501
          :type cluster: str
          :param start: The start of this Experiment.  # noqa: E501
          :type start: str
          :param end: The end of this Experiment.  # noqa: E501
          :type end: str
          :param status: The status of this Experiment.  # noqa: E501
          :type status: str
          :param uuid: The uuid of this Experiment.  # noqa: E501
          :type uuid: str
          """
          self.swagger_types = {
              'username': str,
              'name': str,
              'project': str,
              'profile': str,
              'cluster': str,
              'start': str,
              'end': str,
              'status': str,
              'uuid': str
          }
  
          self.attribute_map = {
              'username': 'username',
              'name': 'name',
              'project': 'project',
              'profile': 'profile',
              'cluster': 'cluster',
              'start': 'start',
              'end': 'end',
              'status': 'status',
              'uuid': 'uuid'
          }
          self._username = username
          self._name = name
          self._project = project
          self._profile = profile
          self._cluster = cluster
          self._start = start
          self._end = end
          self._status = status
          self._uuid = uuid
  
      @classmethod
      def from_dict(cls, dikt) -> 'Experiment':
          """Returns the dict as a model
  
          :param dikt: A dict.
          :type: dict
          :return: The Experiment of this Experiment.  # noqa: E501
          :rtype: Experiment
          """
          return util.deserialize_model(dikt, cls)
  
      @property
      def username(self) -> str:
          """Gets the username of this Experiment.
  
  
          :return: The username of this Experiment.
          :rtype: str
          """
          return self._username
  
      @username.setter
      def username(self, username: str):
          """Sets the username of this Experiment.
  
  
          :param username: The username of this Experiment.
          :type username: str
          """
  
          self._username = username
  
      @property
      def name(self) -> str:
          """Gets the name of this Experiment.
  
  
          :return: The name of this Experiment.
          :rtype: str
          """
          return self._name
  
      @name.setter
      def name(self, name: str):
          """Sets the name of this Experiment.
  
  
          :param name: The name of this Experiment.
          :type name: str
          """
          if name is None:
              raise ValueError("Invalid value for `name`, must not be `None`")  # noqa: E501
  
          self._name = name
  
      @property
      def project(self) -> str:
          """Gets the project of this Experiment.
  
  
          :return: The project of this Experiment.
          :rtype: str
          """
          return self._project
  
      @project.setter
      def project(self, project: str):
          """Sets the project of this Experiment.
  
  
          :param project: The project of this Experiment.
          :type project: str
          """
  
          self._project = project
  
      @property
      def profile(self) -> str:
          """Gets the profile of this Experiment.
  
  
          :return: The profile of this Experiment.
          :rtype: str
          """
          return self._profile
  
      @profile.setter
      def profile(self, profile: str):
          """Sets the profile of this Experiment.
  
  
          :param profile: The profile of this Experiment.
          :type profile: str
          """
  
          self._profile = profile
  
      @property
      def cluster(self) -> str:
          """Gets the cluster of this Experiment.
  
  
          :return: The cluster of this Experiment.
          :rtype: str
          """
          return self._cluster
  
      @cluster.setter
      def cluster(self, cluster: str):
          """Sets the cluster of this Experiment.
  
  
          :param cluster: The cluster of this Experiment.
          :type cluster: str
          """
  
          self._cluster = cluster
  
      @property
      def start(self) -> str:
          """Gets the start of this Experiment.
  
  
          :return: The start of this Experiment.
          :rtype: str
          """
          return self._start
  
      @start.setter
      def start(self, start: str):
          """Sets the start of this Experiment.
  
  
          :param start: The start of this Experiment.
          :type start: str
          """
  
          self._start = start
  
      @property
      def end(self) -> str:
          """Gets the end of this Experiment.
  
  
          :return: The end of this Experiment.
          :rtype: str
          """
          return self._end
  
      @end.setter
      def end(self, end: str):
          """Sets the end of this Experiment.
  
  
          :param end: The end of this Experiment.
          :type end: str
          """
  
          self._end = end
  
      @property
      def status(self) -> str:
          """Gets the status of this Experiment.
  
  
          :return: The status of this Experiment.
          :rtype: str
          """
          return self._status
  
      @status.setter
      def status(self, status: str):
          """Sets the status of this Experiment.
  
  
          :param status: The status of this Experiment.
          :type status: str
          """
  
          self._status = status
  
      @property
      def uuid(self) -> str:
          """Gets the uuid of this Experiment.
  
  
          :return: The uuid of this Experiment.
          :rtype: str
          """
          return self._uuid
  
      @uuid.setter
      def uuid(self, uuid: str):
          """Sets the uuid of this Experiment.
  
  
          :param uuid: The uuid of this Experiment.
          :type uuid: str
          """
  
          self._uuid = uuid
  