code: def schema(self) -> dict:
          
          if not self._merged_schema:
              log.debug("merging required dict into schema for %s", self.name)
              self._merged_schema = self._schema.copy()
              self._merged_schema.update(self._required)
          return self._merged_schema
docs: A property method that'll return the constructed provider schema.
          Schema MUST be an object and this method must be overridden
  
          :return: JSON schema of the provider