public function createPreset($presetName, $container, $options = array())
    {
        list($config) = $this->parseOptionsIgnoreExtra(
            $options,
            'config'
        );

        if (empty($presetName)) {
            throw new BceClientException("The parameter presetName " 
                ."should NOT be null or empty string");
        }

        if (empty($container)) {
            throw new BceClientException("The parameter container " 
                ."should NOT be null or empty string");
        }

        if (!empty($config)) {
            unset($options['config']);
        }
        $body = $options;
        $body['presetName'] = $presetName;
        $body['container'] = $container;

        return $this->sendRequest(
            HttpMethod::POST,
            array(
                'config' => $config,
                'body' => json_encode($body),
            ),
            '/preset'
        );
    }