Set pre-subscription rules for all endpoints / resources on the domain.
		This can be useful for all current and future endpoints/resources.
		
		:param json JSONdata: data to use as pre-subscription data. Wildcards are permitted
		:return: successful ``.status_code`` / ``.is_done``. Check the ``.error``
		:rtype: asyncResult

def putPreSubscription(self,JSONdata):
		'''
		Set pre-subscription rules for all endpoints / resources on the domain.
		This can be useful for all current and future endpoints/resources.
		
		:param json JSONdata: data to use as pre-subscription data. Wildcards are permitted
		:return: successful ``.status_code`` / ``.is_done``. Check the ``.error``
		:rtype: asyncResult
		'''
		if isinstance(JSONdata,str) and self._isJSON(JSONdata):
			self.log.warn("pre-subscription data was a string, converting to a list : %s",JSONdata)
			JSONdata = json.loads(JSONdata) # convert json string to list
		if not (isinstance(JSONdata,list) and self._isJSON(JSONdata)):
			self.log.error("pre-subscription data is not valid. Please make sure it is a valid JSON list")
		result = asyncResult()
		data = self._putURL("/subscriptions",JSONdata, versioned=False)
		if data.status_code == 204: # immediate success with no response
			result.error = False
			result.is_done = True
			result.result = []
		else:
			result.error = response_codes("presubscription",data.status_code)
			result.is_done = True
		result.raw_data = data.content
		result.status_code = data.status_code
		return result