summaryrefslogtreecommitdiffstats
path: root/awx_collection/tools/generate.yml
diff options
context:
space:
mode:
authorCaleb Boylan <calebboylan@gmail.com>2020-04-30 23:22:02 +0200
committerAlanCoding <arominge@redhat.com>2020-05-15 15:26:33 +0200
commit7478a2aa5eb67a3fc4cb4fce852b1a434fb1b073 (patch)
tree557d5a7fab7df50f174981c0933e15d53111de5b /awx_collection/tools/generate.yml
parentAdd field numbering specification in module_util file, update unit tests (diff)
downloadawx-7478a2aa5eb67a3fc4cb4fce852b1a434fb1b073.tar.xz
awx-7478a2aa5eb67a3fc4cb4fce852b1a434fb1b073.zip
Rework some of our package tooling
Diffstat (limited to 'awx_collection/tools/generate.yml')
-rw-r--r--awx_collection/tools/generate.yml67
1 files changed, 2 insertions, 65 deletions
diff --git a/awx_collection/tools/generate.yml b/awx_collection/tools/generate.yml
index a65f64b402..4a592ae87f 100644
--- a/awx_collection/tools/generate.yml
+++ b/awx_collection/tools/generate.yml
@@ -17,68 +17,5 @@
force_basic_auth: true
url_username: "{{ lookup('env', 'TOWER_USERNAME') }}"
url_password: "{{ lookup('env', 'TOWER_PASSWORD') }}"
-
- tasks:
- - name: Get date time data
- setup:
- gather_subset: min
-
- - name: Create module directory
- file:
- state: directory
- name: "modules"
-
- - name: Load api/v2
- uri:
- method: GET
- url: "{{ api_url }}/api/v2/"
- register: endpoints
-
- - name: Load endpoint options
- uri:
- method: "OPTIONS"
- url: "{{ api_url }}{{ item.value }}"
- loop: "{{ endpoints['json'] | dict2items }}"
- loop_control:
- label: "{{ item.key }}"
- register: end_point_options
- when: "generate_for is not defined or item.key in generate_for"
-
- - name: Scan POST options for different things
- set_fact:
- all_options: "{{ all_options | default({}) | combine(options[0]) }}"
- loop: "{{ end_point_options.results }}"
- vars:
- options: "{{ item | json_query('json.actions.POST.[*]') }}"
- loop_control:
- label: "{{ item['item']['key'] }}"
- when:
- - item is not skipped
- - options is defined
-
- - name: Process endpoint
- template:
- src: "templates/tower_module.j2"
- dest: "{{ playbook_dir | dirname }}/plugins/modules/{{ file_name }}"
- loop: "{{ end_point_options['results'] }}"
- loop_control:
- label: "{{ item['item']['key'] }}"
- when: "'json' in item and 'actions' in item['json'] and 'POST' in item['json']['actions']"
- vars:
- item_type: "{{ item['item']['key'] }}"
- human_readable: "{{ item_type | replace('_', ' ') }}"
- singular_item_type: "{{ item['item']['key'] | regex_replace('ies$', 'y') | regex_replace('s$', '') }}"
- file_name: "tower_{% if item['item']['key'] in ['settings'] %}{{ item['item']['key'] }}{% else %}{{ singular_item_type }}{% endif %}.py"
- type_map:
- bool: 'bool'
- boolean: 'bool'
- choice: 'str'
- datetime: 'str'
- id: 'str'
- int: 'int'
- integer: 'int'
- json: 'dict'
- list: 'list'
- object: 'dict'
- password: 'str'
- string: 'str'
+ roles:
+ - generate