Skip to content

Instantly share code, notes, and snippets.

@gowatana
Created March 24, 2023 14:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gowatana/049057adc33083b3f7de839eb0899fa0 to your computer and use it in GitHub Desktop.
Save gowatana/049057adc33083b3f7de839eb0899fa0 to your computer and use it in GitHub Desktop.
- name: Create Routed Org VDC Network and VCD vApp with DNAT
hosts: localhost
gather_facts: false
vars_files:
- vars/login.yml
- vars/vdc-vapp.yml
- vars/vm-nat.yml
environment:
env_host: "{{ var_host }}"
env_org: "{{ var_org }}"
env_user: "{{ var_user_short_name }}"
env_password: "{{ var_password }}"
env_api_version: "{{ var_api_version }}"
env_verify_ssl_certs: "{{ var_verify_ssl_certs }}"
tasks:
- name: Create Routed VDC Network
include_tasks: tasks/create_vdc-nw.yml
- name: Create vApp {{ vapp_name }}
include_tasks: tasks/create_vapp.yml
- name: Create VM from vApp template
include_tasks: tasks/create_vm.yml
vars:
vm_name: "{{ item.vm_name }}"
with_items:
- "{{ vapp_vm_configs }}"
- name: Power on vApp {{ vapp_name }}
vcd_vapp:
vdc: "{{ vdc_name }}"
vapp_name: "{{ vapp_name }}"
operation: "poweron"
- name: Get Token
ansible.builtin.uri:
url: "https://{{ var_host }}/cloudapi/1.0.0/sessions"
user: "{{ var_user }}"
password: "{{ var_password }}"
method: POST
force_basic_auth: true
headers:
Accept: "application/json;version={{ var_api_version }}"
status_code: 200
validate_certs: "{{ var_verify_ssl_certs }}"
register: token
- name: Add DNAT Rule
include_tasks: tasks/create_dnat.yml
vars:
vm_name: "{{ item.vm_name }}"
var_nat_rule_name: "{{ item.var_nat_rule_name }}"
dnat_ip: "{{ item.dnat_ip }}"
with_items:
- "{{ vapp_vm_configs }}"
- name: Pause
ansible.builtin.pause:
seconds: 3
- name: List DNAT Rules
include_tasks: tasks/list_dnat.yml
vars:
var_nat_rule_name: "{{ item.var_nat_rule_name }}"
with_items:
- "{{ vapp_vm_configs }}"
@gowatana
Copy link
Author

下記の投稿むけ。

VMware Cloud Director 10.4 を Ansible で操作してみる。Part-06 複数の DNAT VM を作成するPlaybook 例
https://vm.gowatana.jp/entry/2023/03/25/043925

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment