Я пытаюсь написать jsonschema для списка словарей (он же массив объектов), где я проверяю ключи в словаре. Интересующие меня метки в этом примере. Я хотел бы разрешить произвольное количество меток и хотел бы убедиться, что поля name
и value
всегда существуют в словаре меток. Вот пример ввода, представленного как yaml.
some_field1: "value_a"
some_field2: "value_b"
labels:
- name: "bar"
value: "foo"
- name: "baz"
value: "blah"
Вот то, что я пока собрал, но это не проверяет ключи в словарях. Я не уверен точно, как дополнительныеProperites работает в этом случае, но я нашел пример в Интернете.
properties:
some_field1:
type: string
default: 'value_a'
some_field2:
type: string
default: 'value_b'
labels:
type: array
items:
type: object
additionalProperties:
type: string
Мой пример использования: я пытаюсь создать пользовательское определение ресурса (CRD) для Kubernetes где я проверяю входные данные, и я понимаю, что CRD используют проверку openapi3 / jsonschema для определения своих полей.
У меня проблемы с поиском информации о том, как проверить список словарей с указанными c ключами. Буду признателен за любую помощь, которую вы можете предложить.