#!/usr/bin/python # -*- coding: utf-8 -*- # Copyright 2013 Dag Wieers # # This file is part of Ansible # # Ansible 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. # # Ansible 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 Ansible. If not, see . DOCUMENTATION = ''' --- author: Dag Wieers module: set_fact short_description: Set host facts from a task description: - This module allows you to set host facts from a task. This can be useful for setting facts conditionally or allows to 'export' play variables set by 'vars:' or 'vars_files:' to the playbook scope . - In comparison to variables defined in the playbook, global variables can be set conditionally (like any module) and are available in other plays. options: key_value: description: - The C(set_fact) module takes key=value pairs as variables to set in the playbook scope. Or alternatively, accepts complex arguments using the C(args:) statement. required: true default: null version_added: "1.2" examples: - description: "Example setting host facts using key=value pairs" code: | action: set_fact fact="something" global_fact="${local_var}"' - description: "Example setting host facts using complex arguments" code: | action: set_fact args: fact: something global_fact: ${local_var} notes: - You can set play variables using the C(set_var) module. '''