public function updateDeploymentStatus($name, $status, GetDeploymentOptions $options)
    {
        Validate::isString($name, 'name');
        Validate::notNullOrEmpty($name, 'name');
        Validate::isTrue(
            DeploymentStatus::isValid($status),
            Resources::INVALID_DEPLOYMENT_STATUS_MSG
        );
        Validate::notNullOrEmpty($options, 'options');

        $body = $this->_createRequestXml(
            [Resources::XTAG_STATUS => $status],
            Resources::XTAG_UPDATE_DEPLOYMENT_STATUS
        );
        $context = new HttpCallContext();
        $context->setMethod(Resources::HTTP_POST);
        $context->setPath($this->_getDeploymentPath($name, $options).'/');
        $context->addStatusCode(Resources::STATUS_ACCEPTED);
        $context->addQueryParameter(
            Resources::QP_COMP,
            Resources::QPV_STATUS
        );
        $context->setBody($body);
        $context->addHeader(
            Resources::CONTENT_TYPE,
            Resources::XML_CONTENT_TYPE
        );

        assert(Utilities::endsWith($context->getPath(), '/'));
        $response = $this->sendHttpContext($context);

        return AsynchronousOperationResult::create(HttpClient::getResponseHeaders($response));
    }