Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

asdf #2056

Closed
wants to merge 71 commits into from
Closed

asdf #2056

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
2c35918
Update windows_userdata.txt.j2
bbethell-1 Jul 13, 2023
2183894
Merge branch 'ansible:devel' into rhpds-workshops-aap2-dev
bbethell-1 Jul 13, 2023
4c4fd51
Merge branch 'ansible:devel' into rhpds-workshops-aap2-dev
bbethell-1 Jul 20, 2023
9f04c21
config as code 2.4 updates
sean-m-sullivan Sep 12, 2023
f03c7ef
Merge branch 'devel' into devel
sean-m-sullivan Sep 13, 2023
5d2c9e6
more tweaks config as code
sean-m-sullivan Sep 14, 2023
953e437
Merge branch 'devel' of github.com:sean-m-sullivan/workshops into devel
sean-m-sullivan Sep 14, 2023
d64d9f0
Merge branch 'ansible:devel' into rhpds-workshops-aap2-dev
rhjcd Sep 14, 2023
6143d00
Merge pull request #2040 from redhat-gpe/rhpds-workshops-aap2-dev
IPvSean Sep 14, 2023
d9f3a82
Merge pull request #2039 from sean-m-sullivan/devel
IPvSean Sep 14, 2023
8141a01
initial eda installer
cloin Sep 22, 2023
7e8f404
rename
cloin Sep 25, 2023
759bbda
RHEL7 'PasswordAuthentication no' in sshd_config
heatmiser Sep 25, 2023
792a8ba
add ints to fix teardown
Sep 28, 2023
82e7431
add ints to provision
Sep 28, 2023
d22e9eb
update jinja templates with int
Sep 28, 2023
3d044bd
update all instances
Sep 28, 2023
ddc1af6
fixed spacing
Sep 28, 2023
cadcc08
Merge pull request #2042 from redhat-gpe/rhpds-workshops-aap2-dev
IPvSean Sep 28, 2023
172aac4
Merge pull request #2041 from heatmiser/ripu-2023-09-25.1
IPvSean Sep 28, 2023
3f2bb5d
Galaxy BG Role download workaround
craig-br Oct 2, 2023
e39fa49
Merge pull request #2043 from craig-br/bug-security-roles
craig-br Oct 2, 2023
1704ca0
Update README.md
IPvSean Oct 3, 2023
d878bc1
Update README.md
IPvSean Oct 3, 2023
c1db0be
Update README.md
IPvSean Oct 3, 2023
ffa3d29
Update README.md
IPvSean Oct 3, 2023
d36a1b5
Update README.md
IPvSean Oct 3, 2023
4c1bce0
Merge pull request #2045 from IPvSean/devel
IPvSean Oct 3, 2023
cf6b332
Create build_controller.yml
IPvSean Oct 9, 2023
7ab3ce5
syncing file
IPvSean Oct 9, 2023
eda5fcd
sync aap for containers to sean dev
IPvSean Oct 12, 2023
99214c2
sync
IPvSean Oct 13, 2023
2c9d3a8
Update codeserver.yml
IPvSean Oct 13, 2023
9814de0
Update main.yml
IPvSean Oct 13, 2023
a070b57
sync
IPvSean Oct 13, 2023
c2d37db
sync
IPvSean Oct 13, 2023
13c7da8
Update codeserver.yml
IPvSean Oct 13, 2023
7a46e8d
Update codeserver.yml
IPvSean Oct 13, 2023
0191249
Update codeserver.yml
IPvSean Oct 13, 2023
b730769
Update codeserver.yml
IPvSean Oct 13, 2023
3000424
Update codeserver.yml
IPvSean Oct 13, 2023
49ae68e
Update codeserver.yml
IPvSean Oct 13, 2023
a2ed85a
Update all.yml
IPvSean Oct 13, 2023
7405766
Update dns.yml
IPvSean Oct 13, 2023
21eda33
Update dns.yml
IPvSean Oct 13, 2023
7c2cc94
Update dns.yml
IPvSean Oct 13, 2023
7fc9767
Update codeserver.yml
IPvSean Oct 13, 2023
1067a31
Update dns.yml
IPvSean Oct 13, 2023
8f366a4
Update dns.yml
IPvSean Oct 13, 2023
5122072
Update dns.yml
IPvSean Oct 13, 2023
7965354
Update dns.yml
IPvSean Oct 13, 2023
26c69ab
syncing new simpler role
IPvSean Oct 14, 2023
4c13abe
Update codeserver.yml
IPvSean Oct 14, 2023
6a3118f
sync
IPvSean Oct 14, 2023
8663cd5
sync fixes
IPvSean Oct 14, 2023
b80339e
sync
IPvSean Oct 14, 2023
579fcf5
Update controller_install.j2
IPvSean Oct 14, 2023
84be88f
containerized installer fixes
IPvSean Oct 19, 2023
c12d4e6
syncing more various fixes
IPvSean Oct 19, 2023
5e27300
converting smart_mgmt
IPvSean Oct 20, 2023
c5ba002
configascode seems fine now
IPvSean Oct 23, 2023
f74349e
Update README.md
IPvSean Oct 24, 2023
0ad6ba6
remove old CI code
IPvSean Oct 24, 2023
6431790
sync fixes
IPvSean Oct 24, 2023
3a9971b
syncing changes for workshop ripu
IPvSean Oct 26, 2023
f7327d2
sync
IPvSean Oct 26, 2023
99645b5
syncing changes for mike
IPvSean Oct 26, 2023
ef7ee39
Merge branch 'devel' into devel
IPvSean Oct 26, 2023
da9f059
making this work for cisco CSR
IPvSean Oct 30, 2023
1d72cd2
Merge branch 'devel' of https://github.com/IPvSean/workshops into devel
IPvSean Oct 30, 2023
d314564
sync changes
IPvSean Nov 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ provisioner/workshop_specific/roles/geerlingguy.repo-epel/
provisioner/roles/ansible_security.ids_config/
provisioner/roles/ansible_security.ids_install/
provisioner/roles/geerlingguy.repo-epel/
provisioner/ansible-automation-platform*
.pyc
.swp
Gemfile.lock
Expand All @@ -55,3 +56,4 @@ provisioner/packer/manifest.zip
*-artifact-*.json
provisioner/test.yml
provisioner/colin.yml
.vscode/settings.json
14 changes: 0 additions & 14 deletions .yamllint

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The Red Hat Ansible Automation Workshops project is intended for effectively dem
| Workshop | Public Deck | Red Hat Internal | Exercises | Workshop Type Var |
|---|---|---|---|---|
| **[Ansible Red Hat Enterprise Linux Workshop](./exercises/ansible_rhel)** <br> focused on automating Linux platforms like Red Hat Enterprise Linux | [PDF](./decks/ansible_rhel.pdf) | [Google Source](https://docs.google.com/presentation/d/1O2Gj5r_fhjM5Pi5FizrZRInmZ37IlpeKPTP6jSZxEKs/edit?usp=sharing) | [Exercises](./exercises/ansible_rhel) | `workshop_type: rhel` |
| **[Ansible Config as Code Workshop](./exercises/ansible_config_as_code)** <br> focused on config as code for AAP | [PDF](./decks/config_as_code.pdf) | [Google Source](https://docs.google.com/presentation/d/1F6W8p0MG878AC3Q1CsNZHfhX5VkEyGKbwDHACQtoLPI) | [Exercises](./exercises/ansible_config_as_code) | `workshop_type: config_as_code` |
| **[Ansible Config as Code Workshop](./exercises/ansible_config_as_code)** <br> focused on config as code for AAP | [PDF](./decks/config_as_code.pdf) | [Google Source](https://docs.google.com/presentation/d/1F6W8p0MG878AC3Q1CsNZHfhX5VkEyGKbwDHACQtoLPI) | [Exercises](./exercises/ansible_config_as_code) | `workshop_type: configascode` |
| **[Ansible Network Automation Workshop](./exercises/ansible_network)** <br> focused on router and switch platforms like Arista, Cisco, Juniper | [PDF](./decks/ansible_network.pdf) | [Google Source](https://docs.google.com/presentation/d/1PIT-kGAGMVEEK8PsuZCoyzFC5CIzLBwdnftnUsdUNWQ/edit?usp=sharing) | [Exercises](./exercises/ansible_network) | `workshop_type: network` |
| **[Ansible Security Automation](./exercises/ansible_security)** <br> focused on automation of security tools like Check Point Firewall, IBM QRadar and the IDS Snort | [PDF](./decks/ansible_security.pdf) | [Google Source](https://docs.google.com/presentation/d/19gVCBz1BmxC15tDDj-FUlUd_jUUUKay81E8F24cyUjk/edit?usp=sharing) | [Exercises](./exercises/ansible_security) | `workshop_type: security` |
| **[Ansible Windows Automation Workshop](./exercises/ansible_windows)** <br> focused on automation of Microsoft Windows | [PDF](./decks/ansible_windows.pdf) | [Google Source](https://docs.google.com/presentation/d/1RO5CQiCoqLDES1NvTI_1fQrR-oWM1NuW-uB0JRvtJzE) | [Exercises](./exercises/ansible_windows) | `workshop_type: windows` |
Expand Down
1 change: 0 additions & 1 deletion bindep.txt

This file was deleted.

2 changes: 2 additions & 0 deletions exercises/ansible_config_as_code/1-ee/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,8 @@ ee_pull_collections_from_hub: false
{% endraw %}


=======

Further documentation for those who are interested to learn more see:

- [YAML lists and more](https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html)
Expand Down
31 changes: 18 additions & 13 deletions exercises/ansible_config_as_code/2-pah/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,7 @@ In this section you will configure your private automation hub using the code pr

## Step 1

Ensure that you have `ansible-navigator` installed on your machine.

```console
sudo dnf install ansible-navigator
```
This lab uses `ansible-navigator` and has been tested against v3.4.1. It should be pre-installed on your machine.

Further documentation for those who are interested to learn more see:

Expand All @@ -22,12 +18,13 @@ Create a file `group_vars/all/ah_repositories.yml` you will need to add `infra.a
---
ah_collection_remotes:
- name: community-infra
url: https://beta-galaxy.ansible.com/
url: https://galaxy.ansible.com/
requirements:
- name: infra.ee_utilities
- name: infra.aap_utilities
- name: containers.podman
- name: awx.awx
- name: community.general

ah_collection_repositories:
- name: community-infra-repo
Expand All @@ -51,7 +48,7 @@ Further documentation for those who are interested to learn more see:

{% raw %}

Create a file `group_vars/all/ah_users.yml` make sure this user has `is_superuser` set to `true` and their `password` is set to `"{{ ah_token_password }}"`.
Create a file `group_vars/all/ah_users.yml` make sure this user has their `password` set to `"{{ ah_token_password }}"`.

```yaml
---
Expand All @@ -62,6 +59,7 @@ ah_users:
- "admin"
append: true
state: "present"
is_superuser: true
...

```
Expand All @@ -83,7 +81,7 @@ Further documentation for those who are interested to learn more see:

## Step 5

Create a playbook `playbooks/hub_config.yml` add in the `repository` role name in the first task and the `user` role name in the last task.
Create a playbook `playbooks/hub_config.yml` add in the `collection_remote` role name in the first task and the `user` role name in the last task.

```yaml
---
Expand All @@ -96,7 +94,7 @@ Create a playbook `playbooks/hub_config.yml` add in the `repository` role name i
tasks:
- name: Include collection remote role
ansible.builtin.include_role:
name: infra.ah_configuration. # Insert Collection Name here
name: infra.ah_configuration. # Insert Role Name here

- name: Include collection repository role
ansible.builtin.include_role:
Expand All @@ -112,17 +110,15 @@ Create a playbook `playbooks/hub_config.yml` add in the `repository` role name i

- name: Include user role
ansible.builtin.include_role:
name: infra.ah_configuration. # Insert Collection Name here
name: infra.ah_configuration. # Insert Role Name here
...
```

## Step 6

The next step is to run the playbook, for demonstration purposes we are going to show how to get the Execution Environment(EE) that was built in the previous step and run the playbook.

If you wish to skip this step run the playbook this way[^1].

[^1]: `ansible-galaxy collection install infra.ah_configuration` then `ansible-playbook -i inventory.yml -l automationhub playbooks/hub_config.yml`
If you wish to skip this step and use the CLI instead of navigator, see the alternate instructions in the next section.

Login to the automation hub using the podman login command. This will ask for a user:pass. After authenticating pull the config_as_code image.

Expand Down Expand Up @@ -151,4 +147,13 @@ Use these options to run the playbook in the execution environment.
ansible-navigator run playbooks/hub_config.yml --eei hub-student#.rh####.example.opentlc.com/config_as_code -i inventory.yml -l automationhub --pa='--tls-verify=false' -m stdout
```

## Step 6 (Alternate)
If someone was wrong with your execution environment, or want to run this in the CLI instead of Navigator, use the following commands.

```console
ansible-galaxy collection install infra.ah_configuration:2.0.3
ansible-playbook -i inventory.yml -l automationhub playbooks/hub_config.yml
```


[previous task](../1-ee/README.md) [next task](../3-controller/README.md)
20 changes: 11 additions & 9 deletions exercises/ansible_config_as_code/3-controller/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ controller_execution_environments:
![execution_environments supported](images/ee_supportedv3.png)
![execution_environments minimal](images/ee_minimalv2.png)
![execution_environments 2.9](images/ee_29v2.png)
![execution_environments 2.9](images/ee_config_as_code.png)

Further documentation for those who are interested to learn more see:

Expand Down Expand Up @@ -83,15 +84,15 @@ controller_credential_types:
env:
AH_PASSWORD: !unsafe "{{ password }}"
AH_USERNAME: !unsafe "{{ username }}"
AH_HOST: # Insert appropriate variable from above here
AH_HOST: !unsafe # Insert appropriate variable from above here
AH_API_TOKEN: !unsafe # Insert appropriate variable from above here
AH_VERIFY_SSL: !unsafe # Insert appropriate variable from above here
extra_vars:
ah_password: !unsafe "{{ password }}"
ah_username: !unsafe "{{ username }}"
ah_host: # Insert appropriate variable from above here
ah_token: # Insert appropriate variable from above here
ah_validate_certs: # Insert appropriate variable from above here
ah_host: !unsafe # Insert appropriate variable from above here
ah_token: !unsafe # Insert appropriate variable from above here
ah_validate_certs: !unsafe # Insert appropriate variable from above here

- name: ssh_priv_file
kind: cloud
Expand Down Expand Up @@ -138,7 +139,7 @@ Further documentation for those who are interested to learn more see:

## Step 5

Create a file `group_vars/all/credentials.yml` and add the required information to the list `controller_credentials` to configure the UI to look like the screenshot
Create a file `group_vars/all/credentials.yml` and add the required information to the list `controller_credentials` to configure the UI to look like the screenshot. Make it to look like the screenshot, but make sure to use parameters for the values. DO NOT PASTE YOUR CLEARTEST CREDENTIALS!

{% raw %}

Expand Down Expand Up @@ -203,7 +204,7 @@ controller_credentials:
username: student
password: "{{ machine_pass }}"

- name: git
- name: github
credential_type: Source Control
organization: config_as_code
description: git
Expand Down Expand Up @@ -276,7 +277,7 @@ controller_inventory_sources:
...
```

![inventory_source](images/inventory_source.png)
![inventory_source](images/inventory_source_v2.png)

Further documentation for those who are interested to learn more see:

Expand Down Expand Up @@ -454,10 +455,11 @@ Create a `collections/requirements.yml` file and add these collections to pull a
---
collections:
- name: infra.controller_configuration
version: 2.5.1
- name: infra.ah_configuration
- name: infra.ee_utilities
- name: infra.aap_utilities
version: 2.0.3
- name: awx.awx
version: 22.4.0
...
```

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
ah_collection_remotes:
- name: community-infra
url: https://beta-galaxy.ansible.com/
url: https://galaxy.ansible.com/
requirements:
- name: infra.ee_utilities
- name: infra.controller_configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ controller_credentials:
username: student
password: "{{ machine_pass }}"

- name: git
- name: github
credential_type: Source Control
organization: config_as_code
description: git
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,9 @@ controller_execution_environments:
image: "{{ ah_host }}/ee-29-rhel8"
pull: always
credential: cr_ah

- name: "config_as_code"
image: "{{ ah_host }}/config_as_code"
pull: always
credential: cr_ah
...
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
tasks:
- name: Include collection remote role
ansible.builtin.include_role:
name: infra.ah_configuration. # Insert Collection Name here
name: infra.ah_configuration.collection_remote

- name: Include collection repository role
ansible.builtin.include_role:
Expand All @@ -24,5 +24,5 @@

- name: Include user role
ansible.builtin.include_role:
name: infra.ah_configuration. # Insert Collection Name here
name: infra.ah_configuration.user
...
31 changes: 16 additions & 15 deletions exercises/ansible_network/1-explore/README.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,20 @@

## Índice

* [Objetivo](#objetivo)
* [Diagrama](#diagrama)
* [Guía](#guía)
* [Paso 1 - Connectar vía VS Code](#paso-1---connectar-vía-vs-code)
* [Paso 2 - Usando la Terminal](#paso-2---usando-la-terminal)
* [Paso 3 - Examinando los Entornos de Ejecución](#paso-3---examinando-los-entornos-de-ejecución)
* [Paso 4 - Examinando la configuración de ansible-navigator](#paso-4---examinando-la-configuración-de-ansible-navigator)
* [Paso 5 - Examinando el inventario](#paso-5---examinando-el-inventario)
* [Paso 6 - Comprendiendo el inventario](#paso-6---comprendiendo-el-inventario)
* [Paso 7 - Usando ansible-navigator para explorar el inventario](#paso-7---usando-ansible-navigator-para-explorar-el-inventario)
* [Paso 8 - Connectándose a dispositivos de red](#paso-8---connectándose-a-dispositivos-de-red)
* [Completado](#complete)
- [Ejercicio 1 - Explorando el entorno de laboratorio](#ejercicio-1---explorando-el-entorno-de-laboratorio)
- [Índice](#índice)
- [Objetivo](#objetivo)
- [Diagrama](#diagrama)
- [Guía](#guía)
- [Paso 1 - Connectar vía VS Code](#paso-1---connectar-vía-vs-code)
- [Paso 2 - Usando la Terminal](#paso-2---usando-la-terminal)
- [Paso 3 - Examinando los Entornos de Ejecución](#paso-3---examinando-los-entornos-de-ejecución)
- [Paso 4 - Examinando la configuración de ansible-navigator](#paso-4---examinando-la-configuración-de-ansible-navigator)
- [Paso 5 - Examinando el inventario](#paso-5---examinando-el-inventario)
- [Paso 6 - Comprendiendo el inventario](#paso-6---comprendiendo-el-inventario)
- [Paso 7 - Usando ansible-navigator para explorar el inventario](#paso-7---usando-ansible-navigator-para-explorar-el-inventario)
- [Paso 8 - Connectándose a dispositivos de red](#paso-8---connectándose-a-dispositivos-de-red)
- [Completado](#completado)

## Objetivo

Expand All @@ -31,10 +33,9 @@ Esto incluye:

Si necesitaás más informacion sobre los nuevos componentes de Ansible Automation Platform, añáde esta página [https://red.ht/AAP-20](https://red.ht/AAP-20) a tus marcadores.

> Chatea con nosotros
> Join our community forum!
>
> Antes de comenzar, por favor, únete a nosotros en slack <a href="https://join.slack.com/t/ansiblenetwork/shared_invite/zt-3zeqmhhx-zuID9uJqbbpZ2KdVeTwvzw">Haz click aquí para unirte al canal de slack ansiblenetwork</a>. Esto te permitirá chatear con otros ingeniero de automatización de redes y obtener ayuda una vez concluídos los talleres. Si el enlace no funcionase, por favor envíanos un email a <a href="mailto:[email protected]">Ansible Technical Marketing</a></th>

> Before you get started, please join us on <a target="_new" href="https://forum.ansible.com/">https://forum.ansible.com/</a>. This will allow you to get Ansible help after the workshops concludes.

## Diagrama

Expand Down
32 changes: 16 additions & 16 deletions exercises/ansible_network/1-explore/README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@

## 目次

* [目的](#objective)
* [図](#diagram)
* [ガイド](#guide)
* [ステップ 1 - VS Code を使用した接続](#step-1---connecting-via-vs-code)
* [ステップ 2 - ターミナルの使用](#step-2---using-the-terminal)
* [ステップ 3 - 実行環境の検証](#step-3---examining-execution-environments)
* [ステップ 4 - ansible-navigator
設定の検証](#step-4---examining-the-ansible-navigator-configuration)
* [ステップ 5 - インベントリーの検証](#step-5---examining-inventory)
* [ステップ 6 - インベントリーについて](#step-6---understanding-inventory)
* [ステップ 7 - ansible-navigator
を使用したインベントリーの探索](#step-7---using-ansible-navigator-to-explore-inventory)
* [ステップ 8 - ネットワークデバイスへの接続](#step-8---connecting-to-network-devices)
* [完了](#complete)
- [演習 1 - ラボ環境の探索](#演習-1---ラボ環境の探索)
- [目次](#目次)
- [目的](#目的)
- [図](#)
- [ガイド](#ガイド)
- [ステップ 1 - VS Code を使用した接続](#ステップ-1---vs-code-を使用した接続)
- [ステップ 2 - ターミナルの使用](#ステップ-2---ターミナルの使用)
- [ステップ 3 - 実行環境の検証](#ステップ-3---実行環境の検証)
- [ステップ 4 - ansible-navigator 設定の検証](#ステップ-4---ansible-navigator-設定の検証)
- [ステップ 5 - インベントリーの検証](#ステップ-5---インベントリーの検証)
- [ステップ 6 - インベントリーについて](#ステップ-6---インベントリーについて)
- [ステップ 7 - ansible-navigator を使用したインベントリーの探索](#ステップ-7---ansible-navigator-を使用したインベントリーの探索)
- [ステップ 8 - ネットワークデバイスへの接続](#ステップ-8---ネットワークデバイスへの接続)
- [完了](#完了)

## 目的

Expand All @@ -45,9 +45,9 @@ Hatがサポートするすべてのコレクションがすでに含まれて
Ansible Automation Platformの新しいコンポーネントに関する情報が必要な場合は、このランディングページをブックマークしてください
[https://red.ht/AAP-20](https://red.ht/AAP-20)

> チャットでコミュニケーションしましょう
> Join our community forum!
>
> 始める前に、slack にご参加ください! <a href="https://join.slack.com/t/ansiblenetwork/shared_invite/zt-3zeqmhhx-zuID9uJqbbpZ2KdVeTwvzw">ansiblenetwork slack に参加するには、こちらをクリック</a>。これにより、他のネットワーク自動化エンジニアとチャットしたり、ワークショップの終了後にサポートを受けたりすることができます。リンクが古くなっている場合は、<a href="mailto:ansible-network@redhat.com">Ansible テクニカルマーケティング</a></th> にメールでご連絡ください。
> Before you get started, please join us on <a target="_new" href="https://forum.ansible.com/">https://forum.ansible.com/</a>. This will allow you to get Ansible help after the workshops concludes.


## 図
Expand Down
Loading