Find the Best Cosmetic Hospitals

Explore trusted cosmetic hospitals and make a confident choice for your transformation.

“Invest in yourself — your confidence is always worth it.”

Explore Cosmetic Hospitals

Start your journey today — compare options in one place.

Ansible Tutorials: Ansible Variables in Playbook

  1. Inventories: You can define variables in your inventory files, either globally for all hosts or specific to particular groups or hosts.
  2. Host or Group Variables: Create separate files for host or group variables inside the host_vars and group_vars directories within your Ansible project.
  3. Playbook-level Variables: Declare variables at the top level of your playbook using the vars keyword.

Ansible Variable in Playbook with following ways:

  • Use variables in playbook directly
  • Use variables using external var files in playbook
  • Use variables using include_vars into task in playbook
  • Use variables using User Prompt in playbook
  • Use variables using outout of task using register

List of Way to declare variables in Playbook

  1. Playbook-level Variables: Declare variables at the top level of your playbook using the vars keyword.
  2. Task-level Variables: You can also define variables within specific tasks.
  3. Register Variables: You can capture the output of a task into a variable using the register keyword.
  4. Environment Variables: You can use environment variables by accessing them using Ansible’s ansible_env dictionary.
  5. Using Facts: Ansible gathers facts about managed hosts, and you can use these facts as variables in your playbooks.
  6. Prompting for User Input: You can use the vars_prompt keyword to prompt the user for input during playbook execution.

Declare variables at the top level of your playbook using the vars keyword.


- name: Example playbook
  hosts: all
  vars:
    variable_name: value
  tasks:
    # Your tasks here
Code language: PHP (php)

Task-level Variables:


- name: Example playbook
  hosts: all
  tasks:
    - name: Task with variables
      debug:
        msg: "My variable: {{ variable_name }}"
      vars:
        variable_name: value
Code language: JavaScript (javascript)

Register Variables:


- name: Example playbook
  hosts: all
  tasks:
    - name: Task with register
      shell: echo "Hello, world!"
      register: output
    - name: Display registered variable
      debug:
        var: output.stdout
Code language: JavaScript (javascript)

Environment Variables:


- name: Example playbook
  hosts: all
  tasks:
    - name: Display environment variable
      debug:
        var: ansible_env.VARIABLE_NAME
Code language: JavaScript (javascript)

Using Facts:


- name: Example playbook
  hosts: all
  tasks:
    - name: Display fact
      debug:
        var: ansible_facts['ansible_os_family']
Code language: JavaScript (javascript)

Prompting for User Input:


- name: Example playbook
  hosts: all
  vars_prompt:
    - name: variable_name
      prompt: "Enter a value for the variable:"
  tasks:
    - name: Display input variable
      debug:
        var: variable_name
Code language: JavaScript (javascript)

Ansible Playbook with Variable for Centos/RHEL


---
- name: Update web servers
  hosts: web
  vars:
    myname: "Rajeshkumar"
    age: "18"
    packagename: "httpd"
    servicename: "httpd"
  vars_files:
    - "vars.yaml"
  vars_prompt:
    - name: "version"
      prompt: "Which version Do you want to install?"
      private: no

  tasks:
  - name: Install Apache in centos7
    ansible.builtin.yum:
      name: "{{ packagename }}"
      state: latest
  - name: Copy index.html
    ansible.builtin.copy:
      src: index.html
      dest: /var/www/html/index.html
  - name: Starting a Apache Server
    ansible.builtin.service:
      name: "{{ servicename }}"
      state: started
  - name: Print return information from the previous task
    ansible.builtin.debug:
      var: myname
  - name: include default step variables
    include_vars: tasks_var.yaml
  - name: Print return information from the previous task
    ansible.builtin.debug:
      msg: "My Name is {{ myname }} and My age is {{ age }}"
  - name: Print return information from the previous task
    ansible.builtin.debug:
      var: version
  - name: Ansible register variable basic example
    shell: "find *.txt"
    args:
      chdir: "/home/azureuser/rajesh"
    register: find_output
  - debug:
      var: find_output
  - debug:
      var: find_output.stdout_lines
  - debug:
      var: find_output.stdout_lines[0]Code language: PHP (php)

Ansible Playbook with Variable for Ubuntu

---
- name: Update web servers
  hosts: web
  vars:
    myname: "Rajeshkumar"
    age: "18"
    packagename: "apache2"
    servicename: "apache2"
  vars_files:
    - "vars.yaml"
  vars_prompt:
    - name: "version"
      prompt: "Which version Do you want to install?"
      private: no

  tasks:
  - name: Install Apache in ubuntu
    ansible.builtin.apt:
      name: "{{ packagename }}"
      state: latest
  - name: Copy index.html
    ansible.builtin.copy:
      src: index.html
      dest: /var/www/html/index.html
  - name: Starting a Apache Server
    ansible.builtin.service:
      name: "{{ servicename }}"
      state: started
  - name: Print return information from the previous task
    ansible.builtin.debug:
      var: myname
  - name: include default step variables
    include_vars: tasks_var.yaml
  - name: Print return information from the previous task
    ansible.builtin.debug:
      msg: "My Name is {{ myname }} and My age is {{ age }}"
  - name: Print return information from the previous task
    ansible.builtin.debug:
      var: version
  - name: Ansible register variable basic example
    shell: "find *.txt"
    args:
      chdir: "/root/ansible"
    register: find_output
  - debug:
      var: find_output
  - debug:
      var: find_output.stdout_lines
  - debug:
      var: find_output.stdout_lines[0]Code language: PHP (php)

Ansible Varialble Precedence


Find Trusted Cardiac Hospitals

Compare heart hospitals by city and services — all in one place.

Explore Hospitals
I'm Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms. I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.

Related Posts

Team Foundation Server 2015 Installation Guide (SQL Express + Update 3)

Install Team Foundation Server 2015 using the original Microsoft download paths, with clear guidance for online, offline, and ISO-based setup. This revised guide also includes an installation workflow, command example, and practical pitfalls to avoid.

Read More

How to Access a Running Docker Container Shell: docker exec vs docker attach

Need a shell inside a running container that is already in detached mode? This updated guide shows the correct workflow, compares docker exec and docker attach, and explains when SSH does and does not make sense.

Read More

Host Your Own NuGet Feed: Local Source vs NuGet.Server vs NuGetGallery

Learn how to host a private NuGet feed using three practical approaches: a local folder source, NuGet.Server, and NuGetGallery. This revised guide includes setup steps, command examples, and a workflow diagram to help you choose the right model.

Read More

Publish NuGet Packages to NuGet.org: CLI Steps, Workflow, and CI Example

Learn how to publish a NuGet package to NuGet.org using either nuget.exe or the dotnet CLI. This revised guide includes a workflow diagram, command comparison, and a CI-friendly example.

Read More

How to Create NuGet Packages with nuget.exe (Assembly, .nuspec, and .csproj Methods)

Learn three practical ways to build NuGet packages using nuget.exe: from an existing assembly, from a convention-based folder layout, or directly from a Visual Studio project. This guide includes commands, folder conventions, token behavior, and common pitfalls.

Read More

Virtualization in DevOps: Using Vagrant, Docker, and Cloud Platforms Together

This guide explains how VM-based workflows, containers, and cloud platforms complement each other in DevOps. It includes a practical workflow, trade-off table, and command examples for day-to-day use.

Read More