Как использовать заданную роль из галактики со своими параметрами? - PullRequest
0 голосов
/ 05 ноября 2018

Я хотел бы использовать роль, найденную в галактике: robertdebock.java

Я хотел бы использовать эту роль для установки Java с версией в качестве параметра. Я пробовал это в моих ролях / java / tasks / main.yml файла:

- name: Install Java
  include_role:
    name: robertdebock.java
  vars:
    java_version: 10

К сожалению, установлена ​​только версия 11, независимо от того, что я предоставляю в качестве параметра для java_version.

Как можно использовать существующую роль Galaxy с моими собственными параметрами?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Вы можете передавать переменные в роль, когда используете ее в своей книге игр:

- name: Install Java
  roles: 
  - { role: robertdebock.java, java_version: 10 }

Пока переменные используют одно и то же имя, они будут извлечены как переменные роли в надлежащей области действия

0 голосов
/ 06 ноября 2018

Да, возможно использовать существующую роль Galaxy с вашими собственными параметрами.

Но в вашем случае прочтите документацию VALID-COMBINATIONS.md .

Возможно, вы получаете версию по умолчанию для вашей ОС:

https://github.com/robertdebock/ansible-role-java/blob/master/vars/main.yml#L73

java_openjdk_package: "{{ _java_openjdk_package[java_type][java_version][ansible_distribution] | default(_java_openjdk_package[java_type][java_version]['default'] | default([])) }}"
...