Create a new subscription
        :param subscription: the new subscription the client wants to create

def create_subscription(self, subscription):
        """
        Create a new subscription
        :param subscription: the new subscription the client wants to create
        """
        if subscription.subscription_id is not None:
            self._validate_uuid(subscription.subscription_id)

        if subscription.endpoint is not None:
            if subscription.endpoint.subscriber_id is not None:
                self._validate_subscriber_id(
                    subscription.endpoint.subscriber_id)

            if subscription.endpoint.endpoint_id is not None:
                self._validate_uuid(subscription.endpoint.endpoint_id)

        if subscription.channel is not None:
            self._validate_uuid(subscription.channel.channel_id)

        url = "/notification/v1/subscription"
        response = NWS_DAO().postURL(url, self._write_headers(),
                                     self._json_body(subscription.json_data()))

        if response.status != 201:
            raise DataFailureException(url, response.status, response.data)

        return response.status