#!/usr/bin/python # Copyright (c) 2015 Hewlett-Packard Development Company, L.P. # # This module is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this software. If not, see . DOCUMENTATION = ''' --- module: puppet_get_hiera_file_list short_description: Create a list of hiera file paths description: - Create a list of hiera file paths options: fqdn: description: - The ansible fqdn required: true groups: description: - The groups the host is in required: true location: description: - Base hiera location in which to look for files required: true requirements: [ ] author: Monty Taylor ''' def main(): module = AnsibleModule( argument_spec=dict( # See AnsibleModule._CHECK_ARGUMENT_TYPES_DISPATCHER for the # names of valid types fqdn=dict(required=True, type='str'), groups=dict(required=True, type='list'), location=dict(required=True, type='str'), ), ) p = module.params paths = ['group/%s.yaml' % f for f in p['groups'] ] paths.append('common.yaml') paths.append('fqdn/%s.yaml' % p['fqdn']) good_paths = [] for path in paths: full_path = os.path.join(p['location'], path) if os.path.exists(full_path): good_paths.append(path) module.exit_json(paths=good_paths) # import module snippets from ansible.module_utils.basic import * if __name__ == '__main__': main()