# Official Ansible Product Demos

This repo currently under construction and working on a minimal viable demo for testing purposes

## Table of contents

- [How to use](#how-to-use)
  - [1. Provide login information and choose demo](#1-provide-login-information-and-choose-demo)
  - [2. Run Ansible Playbook](#2-run-ansible-playbook)
- [Demo Repository](#demo-repository)
  - [Infrastructure Demos](#infrastructure-demos)
  - [Network Demos](#network-demos)
  - [Security Demos](#security-demos)
  - [Developer Demos](#developer-demos)
- [Contribute](#contribute)
- [Notes](#notes)

## How to use

## 1. Provide login information and choose demo

- Modify the `choose_demo.yml` file that is included in this repo with the username, password and IP address (or DNS name) of your Ansible Tower
- Choose the demo name you want from the table below (or choose `all`)

## 2. Run Ansible Playbook

```shell
ansible-playbook playbooks/install_demo.yml -e @choose_demo.yml
```

## Demo Repository

This repository currently holds {{job_template_definitions.items()|sort(attribute='1.name')|count}} demos.

## Infrastructure Demos

| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough |
| --------- | ------ | ---------------------- | ----------- | ----------------- |
{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'infrastructure$')|sort(attribute='1.name') %}| {% if value.readme is defined%}[{{value.name}}]({{ value.readme}}"){% else %}{{value.name}}{% endif %} | {{value.author}} | `demo: {{key}}` | {{value.description}} | {% if value.video is defined%}[Video Link]({{ value.video}}){% else %}Not available {% endif %} |
{% endfor %}

## Network Demos

| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough |
| --------- | ------ | ---------------------- | ----------- | ----------------- |
{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'network$')|sort(attribute='1.name') %}| {% if value.readme is defined%}[{{value.name}}]({{ value.readme}}"){% else %}{{value.name}}{% endif %} | {{value.author}} | `demo: {{key}}` | {{value.description}} | {% if value.video is defined%}[Video Link]({{ value.video}}){% else %}Not available {% endif %} |
{% endfor %}

## Security Demos

| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough |
| --------- | ------ | ---------------------- | ----------- | ----------------- |
{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'security$')|sort(attribute='1.name') %}| {% if value.readme is defined%}[{{value.name}}]({{ value.readme}}"){% else %}{{value.name}}{% endif %} | {{value.author}} | `demo: {{key}}` | {{value.description}} | {% if value.video is defined%}[Video Link]({{ value.video}}){% else %}Not available {% endif %} |
{% endfor %}

## Developer Demos

| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough |
| --------- | ------ | ---------------------- | ----------- | ----------------- |
{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'developer$')|sort(attribute='1.name') %}| {% if value.readme is defined%}[{{value.name}}]({{ value.readme}}"){% else %}{{value.name}}{% endif %} | {{value.author}} | `demo: {{key}}` | {{value.description}} | {% if value.video is defined%}[Video Link]({{ value.video}}){% else %}Not available {% endif %} |
{% endfor %}

## Contribute

Please refer to the [contribute.md](docs/contribute.md) documentation included in this collection.

## Notes

This README.md was auto-generated by Ansible user **{{ ansible_user_id }}*- on **{{ ansible_date_time.date }}*- with Ansible version **{{ ansible_version.full }}**

To generate a README.md, execute the following command

```shell
ansible-playbook playbooks/generate_readme.yml
```
