text: # coding: utf-8
  
  """
      Metal API
  
      This is the API for Equinix Metal. The API allows you to programmatically interact with all of your Equinix Metal resources, including devices, networks, addresses, organizations, projects, and your user account.  The official API docs are hosted at <https://metal.equinix.com/developers/api>.   # noqa: E501
  
      The version of the OpenAPI document: 1.0.0
      Contact: support@equinixmetal.com
      Generated by: https://openapi-generator.tech
  """
  
  
  try:
      from inspect import getfullargspec
  except ImportError:
      from inspect import getargspec as getfullargspec
  import pprint
  import re  # noqa: F401
  import six
  
  from metal.configuration import Configuration
  
  
  class CapacityReport(object):
      """NOTE: This class is auto generated by OpenAPI Generator.
      Ref: https://openapi-generator.tech
  
      Do not edit the class manually.
      """
  
      """
      Attributes:
        openapi_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.
      """
      openapi_types = {
          'ams1': 'CapacityPerFacility',
          'atl1': 'CapacityPerNewFacility',
          'dfw1': 'CapacityPerNewFacility',
          'ewr1': 'CapacityPerFacility',
          'fra1': 'CapacityPerNewFacility',
          'iad1': 'CapacityPerNewFacility',
          'lax1': 'CapacityPerNewFacility',
          'nrt1': 'CapacityPerFacility',
          'ord1': 'CapacityPerNewFacility',
          'sea1': 'CapacityPerNewFacility',
          'sin1': 'CapacityPerNewFacility',
          'sjc1': 'CapacityPerFacility',
          'syd1': 'CapacityPerNewFacility',
          'yyz1': 'CapacityPerNewFacility'
      }
  
      attribute_map = {
          'ams1': 'ams1',
          'atl1': 'atl1',
          'dfw1': 'dfw1',
          'ewr1': 'ewr1',
          'fra1': 'fra1',
          'iad1': 'iad1',
          'lax1': 'lax1',
          'nrt1': 'nrt1',
          'ord1': 'ord1',
          'sea1': 'sea1',
          'sin1': 'sin1',
          'sjc1': 'sjc1',
          'syd1': 'syd1',
          'yyz1': 'yyz1'
      }
  
      def __init__(self, ams1=None, atl1=None, dfw1=None, ewr1=None, fra1=None, iad1=None, lax1=None, nrt1=None, ord1=None, sea1=None, sin1=None, sjc1=None, syd1=None, yyz1=None, local_vars_configuration=None):  # noqa: E501
          """CapacityReport - a model defined in OpenAPI"""  # noqa: E501
          if local_vars_configuration is None:
              local_vars_configuration = Configuration.get_default_copy()
          self.local_vars_configuration = local_vars_configuration
  
          self._ams1 = None
          self._atl1 = None
          self._dfw1 = None
          self._ewr1 = None
          self._fra1 = None
          self._iad1 = None
          self._lax1 = None
          self._nrt1 = None
          self._ord1 = None
          self._sea1 = None
          self._sin1 = None
          self._sjc1 = None
          self._syd1 = None
          self._yyz1 = None
          self.discriminator = None
  
          if ams1 is not None:
              self.ams1 = ams1
          if atl1 is not None:
              self.atl1 = atl1
          if dfw1 is not None:
              self.dfw1 = dfw1
          if ewr1 is not None:
              self.ewr1 = ewr1
          if fra1 is not None:
              self.fra1 = fra1
          if iad1 is not None:
              self.iad1 = iad1
          if lax1 is not None:
              self.lax1 = lax1
          if nrt1 is not None:
              self.nrt1 = nrt1
          if ord1 is not None:
              self.ord1 = ord1
          if sea1 is not None:
              self.sea1 = sea1
          if sin1 is not None:
              self.sin1 = sin1
          if sjc1 is not None:
              self.sjc1 = sjc1
          if syd1 is not None:
              self.syd1 = syd1
          if yyz1 is not None:
              self.yyz1 = yyz1
  
      @property
      def ams1(self):
          """Gets the ams1 of this CapacityReport.  # noqa: E501
  
  
          :return: The ams1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerFacility
          """
          return self._ams1
  
      @ams1.setter
      def ams1(self, ams1):
          """Sets the ams1 of this CapacityReport.
  
  
          :param ams1: The ams1 of this CapacityReport.  # noqa: E501
          :type ams1: CapacityPerFacility
          """
  
          self._ams1 = ams1
  
      @property
      def atl1(self):
          """Gets the atl1 of this CapacityReport.  # noqa: E501
  
  
          :return: The atl1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._atl1
  
      @atl1.setter
      def atl1(self, atl1):
          """Sets the atl1 of this CapacityReport.
  
  
          :param atl1: The atl1 of this CapacityReport.  # noqa: E501
          :type atl1: CapacityPerNewFacility
          """
  
          self._atl1 = atl1
  
      @property
      def dfw1(self):
          """Gets the dfw1 of this CapacityReport.  # noqa: E501
  
  
          :return: The dfw1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._dfw1
  
      @dfw1.setter
      def dfw1(self, dfw1):
          """Sets the dfw1 of this CapacityReport.
  
  
          :param dfw1: The dfw1 of this CapacityReport.  # noqa: E501
          :type dfw1: CapacityPerNewFacility
          """
  
          self._dfw1 = dfw1
  
      @property
      def ewr1(self):
          """Gets the ewr1 of this CapacityReport.  # noqa: E501
  
  
          :return: The ewr1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerFacility
          """
          return self._ewr1
  
      @ewr1.setter
      def ewr1(self, ewr1):
          """Sets the ewr1 of this CapacityReport.
  
  
          :param ewr1: The ewr1 of this CapacityReport.  # noqa: E501
          :type ewr1: CapacityPerFacility
          """
  
          self._ewr1 = ewr1
  
      @property
      def fra1(self):
          """Gets the fra1 of this CapacityReport.  # noqa: E501
  
  
          :return: The fra1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._fra1
  
      @fra1.setter
      def fra1(self, fra1):
          """Sets the fra1 of this CapacityReport.
  
  
          :param fra1: The fra1 of this CapacityReport.  # noqa: E501
          :type fra1: CapacityPerNewFacility
          """
  
          self._fra1 = fra1
  
      @property
      def iad1(self):
          """Gets the iad1 of this CapacityReport.  # noqa: E501
  
  
          :return: The iad1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._iad1
  
      @iad1.setter
      def iad1(self, iad1):
          """Sets the iad1 of this CapacityReport.
  
  
          :param iad1: The iad1 of this CapacityReport.  # noqa: E501
          :type iad1: CapacityPerNewFacility
          """
  
          self._iad1 = iad1
  
      @property
      def lax1(self):
          """Gets the lax1 of this CapacityReport.  # noqa: E501
  
  
          :return: The lax1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._lax1
  
      @lax1.setter
      def lax1(self, lax1):
          """Sets the lax1 of this CapacityReport.
  
  
          :param lax1: The lax1 of this CapacityReport.  # noqa: E501
          :type lax1: CapacityPerNewFacility
          """
  
          self._lax1 = lax1
  
      @property
      def nrt1(self):
          """Gets the nrt1 of this CapacityReport.  # noqa: E501
  
  
          :return: The nrt1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerFacility
          """
          return self._nrt1
  
      @nrt1.setter
      def nrt1(self, nrt1):
          """Sets the nrt1 of this CapacityReport.
  
  
          :param nrt1: The nrt1 of this CapacityReport.  # noqa: E501
          :type nrt1: CapacityPerFacility
          """
  
          self._nrt1 = nrt1
  
      @property
      def ord1(self):
          """Gets the ord1 of this CapacityReport.  # noqa: E501
  
  
          :return: The ord1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._ord1
  
      @ord1.setter
      def ord1(self, ord1):
          """Sets the ord1 of this CapacityReport.
  
  
          :param ord1: The ord1 of this CapacityReport.  # noqa: E501
          :type ord1: CapacityPerNewFacility
          """
  
          self._ord1 = ord1
  
      @property
      def sea1(self):
          """Gets the sea1 of this CapacityReport.  # noqa: E501
  
  
          :return: The sea1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._sea1
  
      @sea1.setter
      def sea1(self, sea1):
          """Sets the sea1 of this CapacityReport.
  
  
          :param sea1: The sea1 of this CapacityReport.  # noqa: E501
          :type sea1: CapacityPerNewFacility
          """
  
          self._sea1 = sea1
  
      @property
      def sin1(self):
          """Gets the sin1 of this CapacityReport.  # noqa: E501
  
  
          :return: The sin1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._sin1
  
      @sin1.setter
      def sin1(self, sin1):
          """Sets the sin1 of this CapacityReport.
  
  
          :param sin1: The sin1 of this CapacityReport.  # noqa: E501
          :type sin1: CapacityPerNewFacility
          """
  
          self._sin1 = sin1
  
      @property
      def sjc1(self):
          """Gets the sjc1 of this CapacityReport.  # noqa: E501
  
  
          :return: The sjc1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerFacility
          """
          return self._sjc1
  
      @sjc1.setter
      def sjc1(self, sjc1):
          """Sets the sjc1 of this CapacityReport.
  
  
          :param sjc1: The sjc1 of this CapacityReport.  # noqa: E501
          :type sjc1: CapacityPerFacility
          """
  
          self._sjc1 = sjc1
  
      @property
      def syd1(self):
          """Gets the syd1 of this CapacityReport.  # noqa: E501
  
  
          :return: The syd1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._syd1
  
      @syd1.setter
      def syd1(self, syd1):
          """Sets the syd1 of this CapacityReport.
  
  
          :param syd1: The syd1 of this CapacityReport.  # noqa: E501
          :type syd1: CapacityPerNewFacility
          """
  
          self._syd1 = syd1
  
      @property
      def yyz1(self):
          """Gets the yyz1 of this CapacityReport.  # noqa: E501
  
  
          :return: The yyz1 of this CapacityReport.  # noqa: E501
          :rtype: CapacityPerNewFacility
          """
          return self._yyz1
  
      @yyz1.setter
      def yyz1(self, yyz1):
          """Sets the yyz1 of this CapacityReport.
  
  
          :param yyz1: The yyz1 of this CapacityReport.  # noqa: E501
          :type yyz1: CapacityPerNewFacility
          """
  
          self._yyz1 = yyz1
  
      def to_dict(self, serialize=False):
          """Returns the model properties as a dict"""
          result = {}
  
          def convert(x):
              if hasattr(x, "to_dict"):
                  args = getfullargspec(x.to_dict).args
                  if len(args) == 1:
                      return x.to_dict()
                  else:
                      return x.to_dict(serialize)
              else:
                  return x
  
          for attr, _ in six.iteritems(self.openapi_types):
              value = getattr(self, attr)
              attr = self.attribute_map.get(attr, attr) if serialize else attr
              if isinstance(value, list):
                  result[attr] = list(map(
                      lambda x: convert(x),
                      value
                  ))
              elif isinstance(value, dict):
                  result[attr] = dict(map(
                      lambda item: (item[0], convert(item[1])),
                      value.items()
                  ))
              else:
                  result[attr] = convert(value)
  
          return result
  
      def to_str(self):
          """Returns the string representation of the model"""
          return pprint.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, CapacityReport):
              return False
  
          return self.to_dict() == other.to_dict()
  
      def __ne__(self, other):
          """Returns true if both objects are not equal"""
          if not isinstance(other, CapacityReport):
              return True
  
          return self.to_dict() != other.to_dict()
  