Синтаксическая ошибка в шаблоне при попытке установить переменную по умолчанию - PullRequest
0 голосов
/ 19 сентября 2019

Что я пытаюсь сделать

Все, что касается HTTP-запросов.

  1. Создать что-то с помощью POST API, если я его создаю, я могу получить идентификатор ресурса
  2. Если ресурс уже создан, он возвращает код состояния 422
  3. Если код состояния 422, получить ресурс по имени, чтобы я мог получить доступ к его идентификатору
  4. Создать другой ресурс с указанным идентификаторомвнутри тела запроса

код, который у меня есть

- name: Create cluster
  uri:
    url: '{{ rancher_url }}/v3/cluster'
    method: POST
    body: {"type":"cluster","nodes":[],"rancherKubernetesEngineConfig":{"ignoreDockerVersion":true, "network":{"type":"networkConfig","plugin":"{{ rancher_network_provider }}"}},"name":"{{ rancher_cluster_name }}"}
    status_code: 201, 422
    body_format: json
    headers:
      Authorization: "Bearer {{ api_key_result.json.token }}"
    validate_certs: "{{ validate_certs }}"
  register: cluster_created

- name: Cluster already exists, retrieving id
  uri:
    url: '{{ rancher_url }}/v3/cluster?name={{ rancher_cluster_name }}'
    method: GET
    status_code: 200
    headers:
      Authorization: "Bearer {{ api_key_result.json.token }}"
    body_format: json
    validate_certs: "{{ validate_certs }}"
  register: cluster_found
  when: cluster_created.status == 422

- name: Get command to launch for nodes
  uri:
    url: '{{ rancher_url }}/v3/clusterregistrationtoken'
    method: POST
    body: {"type":"clusterRegistrationToken","clusterId":"{{cluster_created.json.id | cluster_found.json.data[0].id}}"}
    status_code: 201
    body_format: json
    headers:
      Authorization: "Bearer {{ api_key_result.json.token }}"
    validate_certs: "{{ validate_certs }}"
  register: node_command_result

Так что в основном я хочу, чтобы эта строка работала: {{cluster_created.json.id | cluster_found.json.data[0].id}}

Я получаю ошибку

TASK [rancher_worker : Get command to launch for nodes] ***************************************************************************************************************************************************************************************
fatal: [51.15.25.38]: FAILED! => {"msg": "template error while templating string: expected token 'end of print statement', got '['. String: {{cluster_created.json.id | cluster_found.json.data[0].id}}"}

Как вы думаете?

Спасибо за вашу помощь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...