function createBucketWithNFSEnabled() {
    commander
        .version('0.0.1')
        .option('-a, --access-key <accessKey>', 'Access key id')
        .option('-k, --secret-key <secretKey>', 'Secret access key')
        .option('-b, --bucket <bucket>', 'Name of the bucket')
        .option('-h, --host <host>', 'Host of the server')
        .option('-p, --port <port>', 'Port of the server')
        .option('-s', '--ssl', 'Enable ssl')
        .option('-v, --verbose')
        .option('-l, --location-constraint <locationConstraint>',
        'location Constraint')
        .parse(process.argv);

    const { host, port, accessKey, secretKey, bucket, verbose,
        ssl, locationConstraint } = commander;

    if (!host || !port || !accessKey || !secretKey || !bucket) {
        logger.error('missing parameter');
        commander.outputHelp();
        process.exit(1);
    }
    _createBucketWithNFSEnabled(host, port, bucket, accessKey, secretKey,
        verbose, ssl, locationConstraint);
}
This function is used as a binary to send a request to S3 and create a
bucket, because most of the s3 tools don't support custom
headers

@return {undefined}