<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def deployed_resources(self, chalice_stage_name):
 # type: (str) -> DeployedResources """Return resources associated with a given stage. If a deployment to a given stage has never happened, this method will return a value of None. """

        # This is arguably the wrong level of abstraction.
        # We might be able to move this elsewhere.
        deployed_file = os.path.join(
            self.project_dir, '.chalice', 'deployed',
            '%s.json' % chalice_stage_name)
        data = self._load_json_file(deployed_file)
        if data is not None:
            schema_version = data.get('schema_version', '1.0')
            if schema_version != '2.0':
                raise ValueError("Unsupported schema version (%s) in file: %s"
                                 % (schema_version, deployed_file))
            return DeployedResources(data)
        return self._try_old_deployer_values(chalice_stage_name)