code: def post(method, hmc, uri, uri_parms, body, logon_required,
               wait_for_completion):
          
          assert wait_for_completion is True
          cpc_oid = uri_parms[0]
          try:
              cpc = hmc.cpcs.lookup_by_oid(cpc_oid)
          except KeyError:
              raise InvalidResourceError(method, uri)
          if not cpc.dpm_enabled:
              raise CpcNotInDpmError(method, uri, cpc)
          check_required_fields(method, uri, body, ['name'])
  
          # We need to emulate the behavior of this POST to always create a
          # hipersocket, but the add() method is used for adding all kinds of
          # faked adapters to the faked HMC. So we need to specify the adapter
          # type, but because the behavior of the Adapter resource object is
          # that it only has its input properties set, we add the 'type'
          # property on a copy of the input properties.
          body2 = body.copy()
          body2['type'] = 'hipersockets'
          try:
              new_adapter = cpc.adapters.add(body2)
          except InputError as exc:
              raise BadRequestError(method, uri, reason=5, message=str(exc))
          return {'object-uri': new_adapter.uri}
docs: Operation: Create Hipersocket (requires DPM mode).