code: public void detachVolume(DetachVolumeRequest request) {
          checkNotNull(request, "request should not be null.");
          checkStringNotEmpty(request.getVolumeId(), "request volumeId should not be empty.");
          checkStringNotEmpty(request.getInstanceId(), "request instanceId should not be empty.");
          InternalRequest internalRequest =
                  this.createRequest(request, HttpMethodName.PUT, VOLUME_PREFIX, request.getVolumeId());
          internalRequest.addParameter(VolumeAction.detach.name(), null);
          fillPayload(internalRequest, request);
          invokeHttpClient(internalRequest, AbstractBceResponse.class);
      }
docs: Detaching the specified volume from a specified instance.
  
  You can detach the specified volume from a specified instance only
  when the instance is Running or Stopped ,
  otherwise,it's will get <code>409</code> errorCode.
  
  @param request The request containing all options for detaching the specified volume from a specified instance.