code: def list(self, full_properties=False, filter_args=None):
          
          uris_prop = self.adapter.port_uris_prop
          if not uris_prop:
              # Adapter does not have any ports
              return []
  
          uris = self.adapter.get_property(uris_prop)
          assert uris is not None
  
          # TODO: Remove the following circumvention once fixed.
          # The following line circumvents a bug for FCP adapters that sometimes
          # causes duplicate URIs to show up in this property:
          uris = list(set(uris))
  
          resource_obj_list = []
          for uri in uris:
  
              resource_obj = self.resource_class(
                  manager=self,
                  uri=uri,
                  name=None,
                  properties=None)
  
              if self._matches_filters(resource_obj, filter_args):
                  resource_obj_list.append(resource_obj)
                  if full_properties:
                      resource_obj.pull_full_properties()
  
          self._name_uri_cache.update_from(resource_obj_list)
          return resource_obj_list
docs: List the Ports of this Adapter.
  
          If the adapter does not have any ports, an empty list is returned.
  
          Authorization requirements:
  
          * Object-access permission to this Adapter.
  
          Parameters:
  
            full_properties (bool):
              Controls whether the full set of resource properties should be
              retrieved, vs. only the short set as returned by the list
              operation.
  
            filter_args (dict):
              Filter arguments that narrow the list of returned resources to
              those that match the specified filter arguments. For details, see
              :ref:`Filtering`.
  
              `None` causes no filtering to happen, i.e. all resources are
              returned.
  
          Returns:
  
            : A list of :class:`~zhmcclient.Port` objects.
  
          Raises:
  
            :exc:`~zhmcclient.HTTPError`
            :exc:`~zhmcclient.ParseError`
            :exc:`~zhmcclient.AuthError`
            :exc:`~zhmcclient.ConnectionError`