code: def create(self, properties):
          
          if properties is None:
              properties = {}
  
          result = self.session.post(self._base_uri, body=properties)
          # There should not be overlaps, but just in case there are, the
          # returned props should overwrite the input props:
          props = copy.deepcopy(properties)
          props.update(result)
          name = props.get(self._name_prop, None)
          uri = props[self._uri_prop]
          storage_group = StorageGroup(self, uri, name, props)
          self._name_uri_cache.update(name, uri)
          return storage_group
docs: Create and configure a storage group.
  
          The new storage group will be associated with the CPC identified by the
          `cpc-uri` input property.
  
          Authorization requirements:
  
          * Object-access permission to the CPC that will be associated with
            the new storage group.
          * Task permission to the "Configure Storage - System Programmer" task.
  
          Parameters:
  
            properties (dict): Initial property values.
              Allowable properties are defined in section 'Request body contents'
              in section 'Create Storage Group' in the :term:`HMC API` book.
  
              The 'cpc-uri' property identifies the CPC to which the new
              storage group will be associated, and is required to be specified
              in this parameter.
  
          Returns:
  
            :class:`~zhmcclient.StorageGroup`:
              The resource object for the new storage group.
              The object will have its 'object-uri' property set as returned by
              the HMC, and will also have the input properties set.
  
          Raises:
  
            :exc:`~zhmcclient.HTTPError`
            :exc:`~zhmcclient.ParseError`
            :exc:`~zhmcclient.AuthError`
            :exc:`~zhmcclient.ConnectionError`