text: # coding: utf-8
  
  """
      Cloudbreak API
  
      Cloudbreak is a powerful left surf that breaks over a coral reef, a mile off southwest the island of Tavarua, Fiji. Cloudbreak is a cloud agnostic Hadoop as a Service API. Abstracts the provisioning and ease management and monitoring of on-demand clusters. SequenceIQ's Cloudbreak is a RESTful application development platform with the goal of helping developers to build solutions for deploying Hadoop YARN clusters in different environments. Once it is deployed in your favourite servlet container it exposes a REST API allowing to span up Hadoop clusters of arbitary sizes and cloud providers. Provisioning Hadoop has never been easier. Cloudbreak is built on the foundation of cloud providers API (Amazon AWS, Microsoft Azure, Google Cloud Platform, Openstack), Apache Ambari, Docker lightweight containers, Swarm and Consul. For further product documentation follow the link: <a href=\"http://hortonworks.com/apache/cloudbreak/\">http://hortonworks.com/apache/cloudbreak/</a>
  
      OpenAPI spec version: 2.9.0
      
      Generated by: https://github.com/swagger-api/swagger-codegen.git
  """
  
  
  from pprint import pformat
  from six import iteritems
  import re
  
  
  class CredentialSourceRequest(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 = {
          'source_name': 'str',
          'source_id': 'int',
          'parameters': 'dict(str, object)'
      }
  
      attribute_map = {
          'source_name': 'sourceName',
          'source_id': 'sourceId',
          'parameters': 'parameters'
      }
  
      def __init__(self, source_name=None, source_id=None, parameters=None):
          """
          CredentialSourceRequest - a model defined in Swagger
          """
  
          self._source_name = None
          self._source_id = None
          self._parameters = None
  
          self.source_name = source_name
          self.source_id = source_id
          if parameters is not None:
            self.parameters = parameters
  
      @property
      def source_name(self):
          """
          Gets the source_name of this CredentialSourceRequest.
          name of the resource
  
          :return: The source_name of this CredentialSourceRequest.
          :rtype: str
          """
          return self._source_name
  
      @source_name.setter
      def source_name(self, source_name):
          """
          Sets the source_name of this CredentialSourceRequest.
          name of the resource
  
          :param source_name: The source_name of this CredentialSourceRequest.
          :type: str
          """
          if source_name is None:
              raise ValueError("Invalid value for `source_name`, must not be `None`")
  
          self._source_name = source_name
  
      @property
      def source_id(self):
          """
          Gets the source_id of this CredentialSourceRequest.
          id of the resource
  
          :return: The source_id of this CredentialSourceRequest.
          :rtype: int
          """
          return self._source_id
  
      @source_id.setter
      def source_id(self, source_id):
          """
          Sets the source_id of this CredentialSourceRequest.
          id of the resource
  
          :param source_id: The source_id of this CredentialSourceRequest.
          :type: int
          """
          if source_id is None:
              raise ValueError("Invalid value for `source_id`, must not be `None`")
  
          self._source_id = source_id
  
      @property
      def parameters(self):
          """
          Gets the parameters of this CredentialSourceRequest.
          cloud specific parameters for credential
  
          :return: The parameters of this CredentialSourceRequest.
          :rtype: dict(str, object)
          """
          return self._parameters
  
      @parameters.setter
      def parameters(self, parameters):
          """
          Sets the parameters of this CredentialSourceRequest.
          cloud specific parameters for credential
  
          :param parameters: The parameters of this CredentialSourceRequest.
          :type: dict(str, object)
          """
  
          self._parameters = parameters
  
      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, CredentialSourceRequest):
              return False
  
          return self.__dict__ == other.__dict__
  
      def __ne__(self, other):
          """
          Returns true if both objects are not equal
          """
          return not self == other
  