Create an ObjectRocket instance.

        :param str name: The name to give to the new instance.
        :param int plan: The plan size of the new instance.
        :param str zone: The zone that the new instance is to exist in.
        :param str service_type: The type of service that the new instance is to provide.
        :param str instance_type: The instance type to create.
        :param str version: The version of the service the new instance is to provide.

def create(self, name, plan, zone,
               service_type='mongodb', instance_type='mongodb_sharded', version='2.4.6'):
        """Create an ObjectRocket instance.

        :param str name: The name to give to the new instance.
        :param int plan: The plan size of the new instance.
        :param str zone: The zone that the new instance is to exist in.
        :param str service_type: The type of service that the new instance is to provide.
        :param str instance_type: The instance type to create.
        :param str version: The version of the service the new instance is to provide.
        """
        # Build up request data.
        url = self._url
        request_data = {
            'name': name,
            'service': service_type,
            'plan': plan,
            'type': instance_type,
            'version': version,
            'zone': zone
        }

        # Call to create an instance.
        response = requests.post(
            url,
            data=json.dumps(request_data),
            **self._default_request_kwargs
        )

        # Log outcome of instance creation request.
        if response.status_code == 200:
            logger.info('Successfully created a new instance with: {}'.format(request_data))
        else:
            logger.info('Failed to create instance with: {}'.format(request_data))
            logger.info('Response: [{0}] {1}'.format(response.status_code, response.content))

        data = self._get_response_data(response)
        return self._concrete_instance(data)