From 4eb79f07dc26b20e0b38fe31455d395e84289c71 Mon Sep 17 00:00:00 2001 From: Paul Calabro Date: Thu, 4 Oct 2018 01:59:01 -0700 Subject: [PATCH] Fixes #27 1.) Added params for the operating system major and minor version numbers. Together with the OS name, these determine an OS'uniqueness in Foreman and should probably do so here as well. 2.) Sorted the module args. --- foreman_os_default_template.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/foreman_os_default_template.py b/foreman_os_default_template.py index 2956d30..a74bb50 100644 --- a/foreman_os_default_template.py +++ b/foreman_os_default_template.py @@ -26,6 +26,12 @@ operatingsystem: description: Operatingsystem name required: true + major: + description: Major version + required: true + minor: + description: Minor version + required: true config_template: description: Config Template name required: true @@ -84,12 +90,14 @@ def ensure(): os_name = module.params['operatingsystem'] + major = module.params['major'] + minor = module.params['minor'] config_template_name = module.params['config_template'] template_kind_name = module.params['template_kind'] state = module.params['state'] try: - os = theforeman.search_operatingsystem(data=dict(name=os_name)) + os = theforeman.search_operatingsystem(data=dict(name=os_name, major=major, minor=minor)) except ForemanError as e: module.fail_json(msg='Could not search operatingsystem: {0}'.format(e.message)) @@ -151,10 +159,12 @@ def main(): module = AnsibleModule( argument_spec=dict( - operatingsystem=dict(type='str', required=True), config_template=dict(type='str', required=True), - template_kind=dict(type='str', required=True), + major=dict(type='int', required=True), + minor=dict(type='int', required=True), + operatingsystem=dict(type='str', required=True), state=dict(type='str', default='present', choices=['present', 'absent']), + template_kind=dict(type='str', required=True), foreman_host=dict(type='str', default='127.0.0.1'), foreman_port=dict(type='str', default='443'), foreman_user=dict(type='str', required=True),