Filtre o objeto por propriedade e selecione com a chave jmespath

Estou tentando filtrar propriedades de um objeto emjmespath com base no valor de uma subpropriedade e deseja incluir apenas as propriedades em que a subpropriedade está definida como um valor específico.

Com base neste exemplo de dados:

{
  "a": {
    "feature": {
      "enabled": true,
    }
  },
  "b": {
  },
  "c": {
    "feature": {
      "enabled": false
     }
  }
}

Eu gostaria de obter um objeto com todas as propriedades em que o recurso está ativado.

{
  "a": {
    "feature": {
      "enabled": true,
    }
  }
}

Imaginei que poderia usar essa consulta jmespath para filtrar os objetos ondeproperty. enabled está definido como verdadeiro. Infelizmente, ele não parece funcionar e, em vez disso, retorna uma matriz vazia.

*[?feature.enabled==`true`]

*.feature.enabled ou*[feature.enabled] retorne apenas os valores booleanos sem nenhum contexto.

Mesmo se*[?feature.enabled==verdadeiro] funcionaria, seria apenas uma matriz dos valores da propriedade, mas preciso das chaves (a ec) também. Existe alguma maneira de fazer isso acontecer no jmespath?

Isso tudo faz parte de um manual de instruções, por isso certamente haveria uma maneira de conseguir a seleção de uma maneira diferente (modelos Jinja2 ou plug-in personalizado), mas eu queria experimentar o jmespath e raciocinaria que seria capaz de realizar essa tarefa.

questionAnswers(2)

yourAnswerToTheQuestion