diff --git a/examples/inventory b/examples/inventory new file mode 100644 index 0000000..bf7b2fe --- /dev/null +++ b/examples/inventory @@ -0,0 +1,2 @@ +[all] +ansible_master ansible_host= ansible_port= ansible_user=root diff --git a/examples/jwt.yaml b/examples/jwt.yaml new file mode 100644 index 0000000..4d36c08 --- /dev/null +++ b/examples/jwt.yaml @@ -0,0 +1,18 @@ +# +# More details on how to use DECORT Ansible module can be found at: +# https://github.com/rudecs/decort-ansible/wiki +# + +- hosts: ansible_master + tasks: + - name: obtain JWT + decort_jwt: + oauth2_url: "{{ decort_sso }}" # "https://sso.digitalenergy.online" + validity: 1200 + register: my_jwt + delegate_to: localhost + + - name: print out JWT + debug: + var: my_jwt.jwt + delegate_to: localhost diff --git a/examples/main.yaml b/examples/main.yaml new file mode 100644 index 0000000..6f20332 --- /dev/null +++ b/examples/main.yaml @@ -0,0 +1,190 @@ +# +# More details on how to use DECORT Ansible module can be found at: +# https://github.com/rudecs/decort-ansible/wiki +# + +- hosts: ansible_master + vars_files: + - vars.yaml + tasks: + - name: obtain JWT + decort_jwt: + oauth2_url: "{{ decort_sso }}" + validity: 1200 + register: token + delegate_to: localhost + + - name: obtain OS image + decort_osimage: + authenticator: jwt + jwt: "{{ token.jwt }}" + oauth2_url: "{{ decort_sso }}" + controller_url: "{{ decort_ctrl }}" + image_name: "{{ os_image_name }}" + account_name: "{{ target_account_name }}" + verify_ssl: false + register: my_image + delegate_to: localhost + + - name: print out the result + debug: + var: my_image.facts + delegate_to: localhost + + - name: manage RG + decort_rg: + authenticator: jwt + jwt: "{{ token.jwt }}" + oauth2_url: "{{ decort_sso }}" + controller_url: "{{ decort_ctrl }}" + account_id: 32 + rg_name: "{{ target_rg_name }}" + state: present + verify_ssl: false + register: my_rg + delegate_to: localhost + + - name: print out the result + debug: + var: my_rg.facts + delegate_to: localhost + + - name: manage ViNS 01 + decort_vins: + authenticator: jwt + jwt: "{{ token.jwt }}" + oauth2_url: "{{ decort_sso }}" + controller_url: "{{ decort_ctrl }}" + vins_name: "{{ vins01_name }}" + rg_id: "{{ my_rg.facts.id }}" + ext_net_id: "{{ target_ext_net_id }}" + state: present + verify_ssl: false + register: my_vins01 + delegate_to: localhost + + - name: print out the result + debug: + var: my_vins01.facts + delegate_to: localhost + + - name: manage ViNS 02 + decort_vins: + authenticator: jwt + jwt: "{{ token.jwt }}" + oauth2_url: "{{ decort_sso }}" + controller_url: "{{ decort_ctrl }}" + vins_name: "{{ vins02_name }}" + rg_id: "{{ my_rg.facts.id }}" + ext_net_id: -1 + state: present + verify_ssl: false + register: my_vins02 + delegate_to: localhost + + - name: print out the result + debug: + var: my_vins02.facts + delegate_to: localhost + + - name: manage data disk 01 + decort_disk: + authenticator: jwt + jwt: "{{ token.jwt }}" + oauth2_url: "{{ decort_sso }}" + controller_url: "{{ decort_ctrl }}" + name: "{{ datadisk01_name }}" + size: "{{ datadisk01_size }}" + account_name: "{{ target_account_name }}" + pool: data01 + place_with: "{{ my_image.facts.id }}" + state: present + verify_ssl: false + register: my_disk01 + delegate_to: localhost + + - name: print out the result + debug: + var: my_disk01.facts + delegate_to: localhost + + - name: manage data disk 02 + decort_disk: + authenticator: jwt + jwt: "{{ token.jwt }}" + oauth2_url: "{{ decort_sso }}" + controller_url: "{{ decort_ctrl }}" + name: "{{ datadisk02_name }}" + size: "{{ datadisk02_size }}" + account_name: "{{ target_account_name }}" + pool: data01 + place_with: "{{ my_image.facts.id }}" + state: present + verify_ssl: false + register: my_disk02 + delegate_to: localhost + + - name: print out the result + debug: + var: my_disk02.facts + delegate_to: localhost + + - name: manage KVM X86 VM + decort_kvmvm: + authenticator: jwt + jwt: "{{ token.jwt }}" + oauth2_url: "{{ decort_sso }}" + controller_url: "{{ decort_ctrl }}" + name: "{{ vm01_name }}" + arch: KVM_X86 + ram: "{{ vm01_ram }}" + cpu: "{{ vm01_cpu }}" + image_id: "{{ my_image.facts.id }}" + boot_disk: "{{ vm01_boot_disk }}" + data_disks: + - "{{ my_disk01.facts.id }}" + - "{{ my_disk02.facts.id }}" + networks: + - type: VINS + id: "{{ my_vins01.facts.id }}" + - type: VINS + id: "{{ my_vins02.facts.id }}" + - type: EXTNET + id: "{{ target_ext_net_id }}" + rg_id: "{{ my_rg.facts.id }}" + state: present + verify_ssl: false + register: my_kvmvm + delegate_to: localhost + + - name: print out the result + debug: + var: my_kvmvm.facts + delegate_to: localhost + + - name: manage PFW rules on Compute + decort_pfw: + authenticator: jwt + jwt: "{{ token.jwt }}" + oauth2_url: "{{ decort_sso }}" + controller_url: "{{ decort_ctrl }}" + compute_id: "{{ my_kvmvm.facts.id }}" + vins_id: "{{ my_vins01.facts.id }}" + rules: + - public_port_start: 30022 + local_port: 22 + proto: tcp + - public_port_start: 30080 + public_port_end: 30085 + local_port: 30080 + proto: tcp + state: present + verify_ssl: false + register: my_pfw + delegate_to: localhost + + - name: print out the result + debug: + var: my_pfw.facts + delegate_to: localhost + diff --git a/examples/vars.yaml b/examples/vars.yaml new file mode 100644 index 0000000..268681e --- /dev/null +++ b/examples/vars.yaml @@ -0,0 +1,26 @@ +# +# More details on how to use DECORT Ansible module can be found at: +# https://github.com/rudecs/decort-ansible/wiki +# + +decort_sso: "put DECORT SSO application URL here" # "https://sso.digitalenergy.online" +decort_ctrl: "put DECORT controller URL here" # "https://ds1.digitalenergy.online" + +target_account_name: "your account name" +target_rg_name: "target resource group name" +os_image_name: "OS image name" + +vins01_name: "Vins01-ansible" +vins02_name: "Vins02-ansible" +target_ext_net_id: 0 + +datadisk01_name: "Data01-ansible" +datadisk01_size: 5 + +datadisk02_name: "Data02-ansible" +datadisk02_size: 5 + +vm01_name: "Vm01-ansible" +vm01_cpu: 1 +vm01_ram: 1024 +vm01_boot_disk: 10 \ No newline at end of file