---

# it is possible to ask for variables from the user at the start
# of a playbook run, for example, as part of a release script.

- hosts: all
  user: root

# regular variables are a dictionary of keys and values

  vars:
     this_is_a_regular_var: 'moo'
     so_is_this: 'quack'

# alternatively, they can ALSO be passed in from the outside:
#    ansible-playbook foo.yml --extra-vars="foo=100 bar=101"
# or through external inventory scripts (see online API docs)

# here's basic mode prompting.  Specify a hash of variable names and a prompt for
# each.
#
# vars_prompt:
#   release_version: "product release version"

# prompts can also be specified like this, allowing for hiding the prompt as
# entered.  In the future, this may also be used to support crypted variables

  vars_prompt:
    - name: "some_password"
      prompt: "Enter password"
      private: yes

    - name: "release_version"
      prompt: "Product release version"
      default: "my_default_version"
      private: no
   
    - name: "my_password2"
      prompt: "Enter password2"
      private: yes
      encrypt: "md5_crypt" 
      confirm: yes
      salt_size: 7
      salt: "foo" 

# this is just a simple example to show that vars_prompt works, but
# you might ask for a tag to use with the git module or perhaps
# a package version to use with the yum module.

  tasks:

  - name: imagine this did something interesting with $release_version
    action: shell echo foo >> /tmp/$release_version-alpha

  - name: look we crypted a password
    action: shell echo my password is $my_password2