code: def deployed_resources(self, chalice_stage_name):
          # type: (str) -> DeployedResources
          
          # 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)
docs: 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.