code: def _get_policies(self, resource_properties):
          
  
          policies = None
  
          if self._contains_policies(resource_properties):
              policies = resource_properties[self.POLICIES_PROPERTY_NAME]
  
          if not policies:
              # Policies is None or empty
              return []
  
          if not isinstance(policies, list):
              # Just a single entry. Make it into a list of convenience
              policies = [policies]
  
          result = []
          for policy in policies:
              policy_type = self._get_type(policy)
              entry = PolicyEntry(data=policy, type=policy_type)
              result.append(entry)
  
          return result
docs: Returns a list of policies from the resource properties. This method knows how to interpret and handle
          polymorphic nature of the policies property.
  
          Policies can be one of the following:
  
              * Managed policy name: string
              * List of managed policy names: list of strings
              * IAM Policy document: dict containing Statement key
              * List of IAM Policy documents: list of IAM Policy Document
              * Policy Template: dict with only one key where key is in list of supported policy template names
              * List of Policy Templates: list of Policy Template
  
  
          :param dict resource_properties: Dictionary of resource properties containing the policies property.
              It is assumed that this is already a dictionary and contains policies key.
          :return list of PolicyEntry: List of policies, where each item is an instance of named tuple `PolicyEntry`