Требование к действию "Джуджу" отсутствует. Зачем?

У меня много проблем с передачей необходимых параметров в Juju Action. Это содержимое моих actions.yaml:

create-root-cert:
  description: "Generate a Root CA Certificate"
  params:
    subject:
      type: object
      description: "Relative Distinguished Names (RDNs)"
      properties:
        cn:
          type: string
          description: "Common Name"
  required: [subject.cn]

Однако, когда я бегу:

juju action do strongswan/0 create-root-cert subject.cn="beenswerving.com"

Я получаю следующую ошибку:

ERROR validation failed: (root) : "subject.cn" property is missing and required, given {"subject":{"cn":"beenswerving.com"}}

Я бегу:

jammin@ADARA:$ juju version
1.24-alpha1-trusty-amd64

1 ответ

Решение

Ключ 'required' аналогичен ключу 'properties'. Когда ваша схема содержит объект, она получает свои собственные свойства и необходимые ключи (среди прочих). Вы можете обновить ваш actions.yaml следующим образом, и он должен работать:

create-root-cert:
  description: "Generate a Root CA Certificate"
  params:
    subject:
      type: object
      description: "Relative Distinguished Names (RDNs)"
      properties:
        cn:
          type: string
          description: "Common Name"
      required: [cn]

Уведомление "обязательный" имеет отступ, а обязательное имя поля является локальным, а не находится в области "субъект"

Другие вопросы по тегам