Initial collection structure

Migrated from legacy playbook repo into Ansible collection format:

Roles (171 total):
- common: 44 roles (fact gathering, SSH setup, utilities)
- configuration: 32 roles (system config, networking, satellite)
- provisioning: 16 roles (VMware, Azure, physical server deployment)
- security: 15 roles (OpenSCAP hardening, certificates, AD integration)
- monitoring: 12 roles (Zabbix, logging agents, metrics)
- networking: 12 roles (DNS, DHCP, network interfaces)
- satellite: 4 roles (Pulp/Satellite management)
- misc: 36 roles (various utilities)

Playbooks (159 total):
- provisioning: 14 playbooks
- azure: 13 playbooks
- configuration: 22 playbooks
- maintenance: 10 playbooks
- security: 10 playbooks
- monitoring: 9 playbooks
- vcenter: 6 playbooks
- networking: 7 playbooks
- misc: 65 playbooks
This commit is contained in:
2026-06-27 21:48:22 +02:00
commit a3b8959ca9
1825 changed files with 79105 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
Created by the UFST Linux team

View File

@@ -0,0 +1,2 @@
---
# defaults file for add-allowed-group

View File

@@ -0,0 +1,2 @@
---
# handlers file for add-allowed-group

View File

@@ -0,0 +1,57 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Some suggested licenses:
# - BSD (default)
# - MIT
# - GPLv2
# - GPLv3
# - Apache
# - CC-BY
license: license (GPLv2, CC-BY, etc)
min_ansible_version: 1.2
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
# Optionally specify the branch Galaxy will use when accessing the GitHub
# repo for this role. During role install, if no tags are available,
# Galaxy will use this branch. During import Galaxy will access files on
# this branch. If Travis integration is configured, only notifications for this
# branch will be accepted. Otherwise, in all cases, the repo's default branch
# (usually master) will be used.
#github_branch:
#
# platforms is a list of platforms, and each platform has a name and a list of versions.
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,30 @@
---
# Ensure that a given group name is on the simple_allow_groups list in sssd.conf
- name: Check if simple_allow_groups line exists
command: grep '^simple_allow_groups = .*' /etc/sssd/sssd.conf
register: find_simple_allow_groups
ignore_errors: yes
changed_when: False
- name: Add simple_allow_groups line
lineinfile:
path: /etc/sssd/sssd.conf
regexp: '^simple_allow_groups'
line: 'simple_allow_groups = '
when: find_simple_allow_groups is failure
- name: Check if simple_allow_groups line contains group name
command: grep '^simple_allow_groups = .*\<{{ group_name }}\>' /etc/sssd/sssd.conf
register: find_simple_allow_groups_name
ignore_errors: yes
changed_when: False
- name: Add group name to simple_allow_groups
command: sed '/^simple_allow_groups = .*/ s/$/, {{ group_name }}/' -i /etc/sssd/sssd.conf
when: find_simple_allow_groups_name is failure
- name: Restart SSSD
service:
name: sssd.service
state: restarted
when: (find_simple_allow_groups_name is failure) or (find_simple_allow_groups is failure)

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- add-allowed-group

View File

@@ -0,0 +1,2 @@
---
# vars file for add-allowed-group

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
Created by the UFST Linux team

View File

@@ -0,0 +1,3 @@
---
# defaults file for add-subscription-pool
pool_name: DockerStable

View File

@@ -0,0 +1,2 @@
---
# handlers file for add-subscription-pool

View File

@@ -0,0 +1,57 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Some suggested licenses:
# - BSD (default)
# - MIT
# - GPLv2
# - GPLv3
# - Apache
# - CC-BY
license: license (GPLv2, CC-BY, etc)
min_ansible_version: 1.2
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
# Optionally specify the branch Galaxy will use when accessing the GitHub
# repo for this role. During role install, if no tags are available,
# Galaxy will use this branch. During import Galaxy will access files on
# this branch. If Travis integration is configured, only notifications for this
# branch will be accepted. Otherwise, in all cases, the repo's default branch
# (usually master) will be used.
#github_branch:
#
# platforms is a list of platforms, and each platform has a name and a list of versions.
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,16 @@
---
- name: Pool to subscribe
debug: msg={{ pool_name }}
- name: Check if pool is already subscribed
shell: subscription-manager list --consumed | grep -i "{{ pool_name }}"
register: result
changed_when: result is failed
failed_when: false
- import_tasks: subscribe.yml
when: result is changed
- name: refresh local data
shell: subscription-manager refresh
changed_when: false

View File

@@ -0,0 +1,13 @@
- name: Get pool id
shell: subscription-manager list --available | grep -i "{{ pool_name }}" -A10 | awk 'FNR==5 { print $3 }'
register: result
failed_when: result.stdout | length != 32
- set_fact:
pool_id: "{{ result.stdout }}"
- name: Pool id
debug: msg={{ pool_id }}
- name: subscribe to {{ pool_name }}
shell: subscription-manager attach --pool={{ pool_id }}

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- add-subscription-pool

View File

@@ -0,0 +1,2 @@
---
# vars file for add-subscription-pool

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
Created by the UFST Linux team

View File

@@ -0,0 +1 @@
---

View File

@@ -0,0 +1,2 @@
---
# handlers file for add-sudoers-group

View File

@@ -0,0 +1,57 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Some suggested licenses:
# - BSD (default)
# - MIT
# - GPLv2
# - GPLv3
# - Apache
# - CC-BY
license: license (GPLv2, CC-BY, etc)
min_ansible_version: 1.2
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
# Optionally specify the branch Galaxy will use when accessing the GitHub
# repo for this role. During role install, if no tags are available,
# Galaxy will use this branch. During import Galaxy will access files on
# this branch. If Travis integration is configured, only notifications for this
# branch will be accepted. Otherwise, in all cases, the repo's default branch
# (usually master) will be used.
#github_branch:
#
# platforms is a list of platforms, and each platform has a name and a list of versions.
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,6 @@
---
# tasks file for add-sudoers-group
- name: Ensure that group name is in sudoers file
lineinfile:
path: /etc/sudoers.d/admin
line: '%{{ group_name }} ALL=(ALL) ALL'

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- add-sudoers-group

View File

@@ -0,0 +1,2 @@
---
# vars file for add-sudoers-group

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).

View File

@@ -0,0 +1,22 @@
---
- name: set user user_list
set_fact:
users_list: "{{ users_list.split(',') }}"
- name: Set group names
set_fact:
sudoers_group_name: "{{ inventory_hostname_short }}_sudoers"
- name: Add Sudoers to users group for ccta "{{ inventory_hostname_short }}"
microsoft.ad.group:
identity: "{{ sudoers_group_name }}"
members:
add: "{{ users_list }}"
delegate_to: "{{ winjump_host }}"
vars:
ansible_user: "{{ service_user_ccta }}"
ansible_password: "{{ schrodingers_password }}"
ansible_connection: ssh
ansible_shell_type: powershell

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).

View File

@@ -0,0 +1,22 @@
---
- name: set user user_list
set_fact:
users_list: "{{ users_list.split(',') }}"
- name: Set group names
set_fact:
group_name: "{{ inventory_hostname_short }}"
- name: Add users to users group for ccta "{{ inventory_hostname_short }}"
microsoft.ad.group:
identity: "{{ group_name }}"
members:
add: "{{ users_list }}"
delegate_to: "{{ winjump_host }}"
vars:
ansible_user: "{{ service_user_ccta }}"
ansible_password: "{{ schrodingers_password }}"
ansible_connection: ssh
ansible_shell_type: powershell

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).

View File

@@ -0,0 +1,6 @@
---
bmc_discovery_user_ccta: svc_addmscan
bmc_discovery_user_dmz23: svc_z23addmscan
bmc_discovery_user_dmz24: svc_z24addmscan

View File

@@ -0,0 +1,2 @@
---
# handlers file for add-users-to-ad-group

View File

@@ -0,0 +1,53 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Choose a valid license ID from https://spdx.org - some suggested licenses:
# - BSD-3-Clause (default)
# - MIT
# - GPL-2.0-or-later
# - GPL-3.0-only
# - Apache-2.0
# - CC-BY-4.0
license: license (GPL-2.0-or-later, MIT, etc)
min_ansible_version: 2.4
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
#
# Provide a list of supported platforms, and for each platform a list of versions.
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
# To view available platforms and versions (or releases), visit:
# https://galaxy.ansible.com/api/v1/platforms/
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,22 @@
---
# tasks file for ccta_add_bmcuser_to_ad
- name: Set hostname fact
ansible.builtin.set_fact:
server_hostname: '{{ inventory_hostname.split(".")[0] | lower }}'
- name: Set group names
set_fact:
users_group_name: "{{ server_hostname }}_users"
- name: Add bmc user to ad group for ccta "{{ inventory_hostname }}"
microsoft.ad.group:
identity: "{{ users_group_name }}"
members:
add: "{{ bmc_discovery_user_ccta }}"
delegate_to: "{{ winjump_host }}"
vars:
ansible_user: "{{ service_user_ccta }}"
ansible_password: "{{ schrodingers_password }}"
ansible_connection: ssh
ansible_shell_type: powershell
ignore_errors: true

View File

@@ -0,0 +1,23 @@
---
# tasks file for add-users-to-ad-group
- name: Set hostname fact
ansible.builtin.set_fact:
server_hostname: '{{ inventory_hostname.split(".")[0] | lower }}'
- name: Set group names
set_fact:
users_group_name: "{{ server_hostname }}_users"
sudoers_group_name: "{{ server_hostname }}_sudoers"
- name: Add Sudoers to users group for ccta "{{ inventory_hostname }}"
microsoft.ad.group:
identity: "{{ users_group_name }}"
members:
add: "{{ sudoers_group_name }}"
delegate_to: "{{ winjump_host }}"
vars:
ansible_user: "{{ service_user_ccta }}"
ansible_password: "{{ schrodingers_password }}"
ansible_connection: ssh
ansible_shell_type: powershell
ignore_errors: true

View File

@@ -0,0 +1,24 @@
---
# tasks file for dmz23_add_bmcuser_to_ad
- name: Set hostname fact
ansible.builtin.set_fact:
server_hostname: '{{ inventory_hostname.split(".")[0] | lower }}'
- name: Set group names
set_fact:
users_group_name: "{{ server_hostname }}_users"
- name: Add bmc user to ad group for dmz23 "{{ inventory_hostname }}"
microsoft.ad.group:
identity: "{{ users_group_name }}"
members:
add: "{{ bmc_discovery_user_dmz23 }}"
delegate_to: "{{ winjump_host }}"
vars:
ansible_user: "{{ service_user_dmz23 }}"
ansible_password: "{{ schrodingers_password }}"
ansible_connection: ssh
ansible_shell_type: powershell
ignore_errors: true

View File

@@ -0,0 +1,22 @@
---
- name: Set hostname fact
ansible.builtin.set_fact:
server_hostname: '{{ inventory_hostname.split(".")[0] | lower }}'
- name: Set group names
set_fact:
users_group_name: "{{ server_hostname }}_users"
sudoers_group_name: "{{ server_hostname }}_sudoers"
- name: Add Sudoers to users group for dmz23 "{{ inventory_hostname }}"
microsoft.ad.group:
identity: "{{ users_group_name }}"
members:
add: "{{ sudoers_group_name }}"
delegate_to: "{{ winjump_host }}"
vars:
ansible_user: "{{ service_user_dmz23 }}"
ansible_password: "{{ schrodingers_password }}"
ansible_connection: ssh
ansible_shell_type: powershell
ignore_errors: true

View File

@@ -0,0 +1,22 @@
---
# tasks file for dmz24_add_bmcuser_to_ad
- name: Set hostname fact
ansible.builtin.set_fact:
server_hostname: '{{ inventory_hostname.split(".")[0] | lower }}'
- name: Set group names
set_fact:
users_group_name: "{{ server_hostname }}_users"
- name: Add bmc user to ad group for dmz24 "{{ inventory_hostname }}"
microsoft.ad.group:
identity: "{{ users_group_name }}"
members:
add: "{{ bmc_discovery_user_dmz24 }}"
delegate_to: "{{ winjump_host }}"
vars:
ansible_user: "{{ service_user_dmz24 }}"
ansible_password: "{{ schrodingers_password }}"
ansible_connection: ssh
ansible_shell_type: powershell
ignore_errors: true

View File

@@ -0,0 +1,22 @@
---
- name: Set hostname fact
ansible.builtin.set_fact:
server_hostname: '{{ inventory_hostname.split(".")[0] | lower }}'
- name: Set group names
set_fact:
users_group_name: "{{ server_hostname }}_users"
sudoers_group_name: "{{ server_hostname }}_sudoers"
- name: Add Sudoers to users group for dmz24 "{{ inventory_hostname }}"
microsoft.ad.group:
identity: "{{ users_group_name }}"
members:
add: "{{ sudoers_group_name }}"
delegate_to: "{{ winjump_host }}"
vars:
ansible_user: "{{ service_user_dmz24 }}"
ansible_password: "{{ schrodingers_password }}"
ansible_connection: ssh
ansible_shell_type: powershell
ignore_errors: true

View File

@@ -0,0 +1,19 @@
---
# tasks file for create-ad-group
- ansible.builtin.import_tasks: ccta_add_user_to_group.yml
when: dc_domain == 'EXAMPLE-CORP.COM'
- ansible.builtin.import_tasks: ccta_add_bmcuser_to_ad.yml
when: dc_domain == 'EXAMPLE-CORP.COM'
- ansible.builtin.import_tasks: dmz23_add_user_to_group.yml
when: dc_domain == 'DMZ23.EXAMPLE.COM'
- ansible.builtin.import_tasks: dmz23_add_bmcuser_to_ad.yml
when: dc_domain == 'DMZ23.EXAMPLE.COM'
- ansible.builtin.import_tasks: dmz24_add_user_to_group.yml
when: dc_domain == 'DMZ.EXAMPLE.COM'
- ansible.builtin.import_tasks: dmz24_add_bmcuser_to_ad.yml
when: dc_domain == 'DMZ.EXAMPLE.COM'

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- add-users-to-ad-group

View File

@@ -0,0 +1,2 @@
---
# vars file for add-users-to-ad-group

View File

@@ -0,0 +1,9 @@
---
# defaults file for azure-add-datadisk
disk_type: Premium_LRS
data_disk_size: 50
disk_path: /data # set as an inventory fact, to determine whether to create pv/vg/lv or not
vg_name: data-vg
lv_name: data-lv
azure_tenant: 2e93f0ed-ff36-46d4-9ce6-e0d902050cf5
azure_server: rhib9.EXAMPLE-CORP.COM

View File

@@ -0,0 +1,2 @@
---
# tasks file for azure-add-datadisk

View File

@@ -0,0 +1,2 @@
---
# vars file for azure-add-datadisk

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
Created by the UFST Linux team

View File

@@ -0,0 +1,4 @@
---
# defaults file for azure-add-disk
location: West Europe
disk_type: Premium_LRS

View File

@@ -0,0 +1,2 @@
---
# handlers file for azure-add-disk

View File

@@ -0,0 +1,57 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Some suggested licenses:
# - BSD (default)
# - MIT
# - GPLv2
# - GPLv3
# - Apache
# - CC-BY
license: license (GPLv2, CC-BY, etc)
min_ansible_version: 1.2
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
# Optionally specify the branch Galaxy will use when accessing the GitHub
# repo for this role. During role install, if no tags are available,
# Galaxy will use this branch. During import Galaxy will access files on
# this branch. If Travis integration is configured, only notifications for this
# branch will be accepted. Otherwise, in all cases, the repo's default branch
# (usually master) will be used.
#github_branch:
#
# platforms is a list of platforms, and each platform has a name and a list of versions.
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,10 @@
- name: Create managed disk and mount it to the VM
azure.azcollection.azure_rm_managed_disk:
name: "{{ vm_name | default(inventory_hostname) }}_{{ item.name }}"
location: "{{ location }}"
resource_group: "{{ tapi_resource_group }}"
disk_size_gb: "{{ item.size }}"
storage_account_type: "{{ disk_type }}"
managed_by: "{{ vm_name | default(inventory_hostname)}}"
with_items: "{{ data_vg.pvs }}"

View File

@@ -0,0 +1,6 @@
---
# tasks file for azure-add-disk
- include_tasks: add_disk.yml
with_items: "{{ data_vgs }}"
loop_control:
loop_var: data_vg

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- azure-add-disk

View File

@@ -0,0 +1,2 @@
---
# vars file for azure-add-disk

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
Created by the UFST Linux team

View File

@@ -0,0 +1,7 @@
---
location: West Europe
network_rg: RG-DevOps-Prod
enable_accelerated_networking: False
# Whether to use static or dynamic IP. Static requires 'ip' to be defined
private_ip_method: Static
azure_subscription_id: 758c2304-30f5-4008-bd28-9c4b92963c3b

View File

@@ -0,0 +1,2 @@
---
# handlers file for azure-create-network-interface

View File

@@ -0,0 +1,57 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Some suggested licenses:
# - BSD (default)
# - MIT
# - GPLv2
# - GPLv3
# - Apache
# - CC-BY
license: license (GPLv2, CC-BY, etc)
min_ansible_version: 1.2
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
# Optionally specify the branch Galaxy will use when accessing the GitHub
# repo for this role. During role install, if no tags are available,
# Galaxy will use this branch. During import Galaxy will access files on
# this branch. If Travis integration is configured, only notifications for this
# branch will be accepted. Otherwise, in all cases, the repo's default branch
# (usually master) will be used.
#github_branch:
#
# platforms is a list of platforms, and each platform has a name and a list of versions.
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,24 @@
- name: Private IP allocation method
debug:
msg: "{{ private_ip_method }}"
- name: IP address
debug:
msg: "{{ ip | default (None) }}"
- name: Create network interface
azure.azcollection.azure_rm_networkinterface:
name: "{{ vm_name | default (inventory_hostname)}}"
resource_group: "RG-DevOps-Prod"
virtual_network: {name: "External-Prod", resource_group: "RG-Connectivity-01"}
subnet_name: "External-Prod-DevOps-Toolchain"
location: "{{ location }}"
create_with_security_group: False
enable_accelerated_networking: "{{ enable_accelerated_networking }}"
subscription_id: "{{ tapi_azure_subscription_id }}"
ip_configurations:
- name: ipconfig1
primary: True
private_ip_allocation_method: "{{ private_ip_method }}"
private_ip_address: "{{ ip | default (None) }}"
# application_security_groups: "{{ asg_list }}"

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- azure-create-network-interface

View File

@@ -0,0 +1,2 @@
---
# vars file for azure-create-network-interface

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).

View File

@@ -0,0 +1,3 @@
---
# defaults file for azure-create-asg
default_connectivity_rg: RG-Connectivity-01

View File

@@ -0,0 +1,2 @@
---
# handlers file for azure-create-asg

View File

@@ -0,0 +1,53 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Choose a valid license ID from https://spdx.org - some suggested licenses:
# - BSD-3-Clause (default)
# - MIT
# - GPL-2.0-or-later
# - GPL-3.0-only
# - Apache-2.0
# - CC-BY-4.0
license: license (GPL-2.0-or-later, MIT, etc)
min_ansible_version: 2.4
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
#
# Provide a list of supported platforms, and for each platform a list of versions.
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
# To view available platforms and versions (or releases), visit:
# https://galaxy.ansible.com/api/v1/platforms/
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,8 @@
---
# tasks file for azure-create-asg
- name: Create application security group
azure.azcollection.azure_rm_applicationsecuritygroup:
resource_group: "{{ default_connectivity_rg }}"
name: "{{ project_asg }}"
location: "{{ location }}"

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- azure-create-asg

View File

@@ -0,0 +1,2 @@
---
# vars file for azure-create-asg

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
Created by the UFST Linux team

View File

@@ -0,0 +1,7 @@
---
location: West Europe
network_rg: RG-Connectivity-01
enable_accelerated_networking: False
# Whether to use static or dynamic IP. Static requires 'ip' to be defined
private_ip_method: Static
azure_subscription_id: 758c2304-30f5-4008-bd28-9c4b92963c3b

View File

@@ -0,0 +1,2 @@
---
# handlers file for azure-create-network-interface

View File

@@ -0,0 +1,57 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Some suggested licenses:
# - BSD (default)
# - MIT
# - GPLv2
# - GPLv3
# - Apache
# - CC-BY
license: license (GPLv2, CC-BY, etc)
min_ansible_version: 1.2
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
# Optionally specify the branch Galaxy will use when accessing the GitHub
# repo for this role. During role install, if no tags are available,
# Galaxy will use this branch. During import Galaxy will access files on
# this branch. If Travis integration is configured, only notifications for this
# branch will be accepted. Otherwise, in all cases, the repo's default branch
# (usually master) will be used.
#github_branch:
#
# platforms is a list of platforms, and each platform has a name and a list of versions.
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,94 @@
---
- name: Setting default ASG zone for CCTA
set_fact:
default_asg_zone: CCTA
when: default_asg_zone is undefined and dc_domain == "EXAMPLE-CORP.COM"
- name: Setting default ASG zone for DMZ23
set_fact:
default_asg_zone: NonProd
when: default_asg_zone is undefined and dc_domain == "DMZ23.EXAMPLE.COM"
- name: Setting default ASG zone for DMZ24
set_fact:
default_asg_zone: Prod
when: default_asg_zone is undefined and dc_domain == "DMZ.EXAMPLE.COM"
- debug:
msg: "Setting ASG {{ project_asg }} and the default ASG's for zone {{ default_asg_zone }}"
when: project_asg is defined
- set_fact:
asg_default:
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ23" }
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ23-ClientNet-to-DMZ23" }
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ23-Internet-OutBound" }
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ23-Logging" }
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ23-Zabbix" }
when: default_asg_zone == "NonProd"
- set_fact:
asg_default:
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ24" }
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ24-ClientNet-to-DMZ24" }
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ24-Internet-OutBound" }
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ24-Logging" }
- { resource_group: "RG-Connectivity-01", name: "ASG-DMZ24-Zabbix" }
when: default_asg_zone == "Prod"
- set_fact:
asg_default:
- { resource_group: "RG-Connectivity-01", name: "ASG-CCTA-ServerNet" }
- { resource_group: "RG-Connectivity-01", name: "ASG-CCTA-ClientNet" }
- { resource_group: "RG-Connectivity-01", name: "ASG-CCTA-ClientNet-RDP" }
- { resource_group: "RG-Connectivity-01", name: "ASG-CCTA-Internet-OutBound" }
- { resource_group: "RG-Connectivity-01", name: "ASG-CCTA-Logging" }
when: default_asg_zone == "CCTA"
- set_fact:
asg_default:
- { resource_group: "RG-Connectivity-01", name: "ASG-Shared-Services" }
- { resource_group: "RG-Connectivity-01", name: "ASG-Shared-Services-ClientNet-to-Shared-Services" }
- { resource_group: "RG-Connectivity-01", name: "ASG-Shared-Services-Internet-OutBound" }
when: default_asg_zone == "SharedServices"
- name: "Application Security Groups to be set"
set_fact:
project_asg: { name: "{{ project_asg }}", resource_group: "RG-Connectivity-01" }
when: project_asg is defined
- set_fact:
asg_list: "{{ [project_asg] + asg_default }}"
when: project_asg is defined
- set_fact:
asg_list: "{{ asg_default }}"
when: project_asg is not defined
- debug:
msg: "{{ asg_list }}"
- name: Private IP allocation method
debug:
msg: "{{ private_ip_method }}"
- name: IP address
debug:
msg: "{{ ip | default (None) }}"
- name: Create network interface
azure.azcollection.azure_rm_networkinterface:
name: "{{ vm_name | default (inventory_hostname)}}"
resource_group: "{{ tapi_resource_group }}"
virtual_network: {name: "{{ network }}", resource_group: "{{ network_rg }}"}
subnet_name: "{{ subnet }}"
location: "{{ location }}"
create_with_security_group: False
enable_accelerated_networking: "{{ enable_accelerated_networking }}"
subscription_id: "{{ tapi_azure_subscription_id }}"
ip_configurations:
- name: ipconfig1
primary: True
private_ip_allocation_method: "{{ private_ip_method }}"
private_ip_address: "{{ ip | default (None) }}"
application_security_groups: "{{ asg_list }}"

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- azure-create-network-interface

View File

@@ -0,0 +1,2 @@
---
# vars file for azure-create-network-interface

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
Created by the UFST Linux team

View File

@@ -0,0 +1,12 @@
---
location: westeurope
subscription_id: CORP IT & DATA
azure_subscription_id: 758c2304-30f5-4008-bd28-9c4b92963c3b
# These must be specified
resource_group_environment: unknown
resource_group_project: unknown
resource_group_department: Infrastructure - Linux
resource_group_created_by: Infrastructure - Linux
resource_group_accountable: Infrastructure - Linux

View File

@@ -0,0 +1,2 @@
---
# handlers file for azure-create-resource-group

View File

@@ -0,0 +1,57 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Some suggested licenses:
# - BSD (default)
# - MIT
# - GPLv2
# - GPLv3
# - Apache
# - CC-BY
license: license (GPLv2, CC-BY, etc)
min_ansible_version: 1.2
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
# Optionally specify the branch Galaxy will use when accessing the GitHub
# repo for this role. During role install, if no tags are available,
# Galaxy will use this branch. During import Galaxy will access files on
# this branch. If Travis integration is configured, only notifications for this
# branch will be accepted. Otherwise, in all cases, the repo's default branch
# (usually master) will be used.
#github_branch:
#
# platforms is a list of platforms, and each platform has a name and a list of versions.
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,27 @@
---
- name: Resource group name
debug:
msg: "{{ tapi_resource_group }}"
- name: Check if resource group already exists
azure.azcollection.azure_rm_resourcegroup_info:
name: "{{ tapi_resource_group }}"
register: results
- debug:
msg: "{{ results }}"
- name: Create a resource group
azure.azcollection.azure_rm_resourcegroup:
name: "{{ tapi_resource_group }}"
location: "{{ location }}"
subscription_id: "{{ tapi_azure_subscription_id }}"
tags:
Environment: "{{ resource_group_environment }}"
Project: "{{ resource_group_project }}"
Department: "{{ resource_group_department }}"
CreatedBy: "{{ resource_group_created_by }}"
CreationDate: "{{ lookup('pipe','date +%d/%m/%Y') }}"
Accountable: "{{ resource_group_accountable }}"
run_once: true
when: results.resourcegroups is defined and results.resourcegroups | length == 0

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- azure-create-resource-group

View File

@@ -0,0 +1,2 @@
---
# vars file for azure-create-resource-group

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
Created by the UFST Linux team

View File

@@ -0,0 +1,7 @@
---
location: West Europe
network_rg: External-Prod-osm2-jenkins
enable_accelerated_networking: False
# Whether to use static or dynamic IP. Static requires 'ip' to be defined
private_ip_method: Static
azure_subscription_id: 758c2304-30f5-4008-bd28-9c4b92963c3b

View File

@@ -0,0 +1,2 @@
---
# handlers file for azure-create-network-interface

View File

@@ -0,0 +1,57 @@
galaxy_info:
author: your name
description: your description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Some suggested licenses:
# - BSD (default)
# - MIT
# - GPLv2
# - GPLv3
# - Apache
# - CC-BY
license: license (GPLv2, CC-BY, etc)
min_ansible_version: 1.2
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
# Optionally specify the branch Galaxy will use when accessing the GitHub
# repo for this role. During role install, if no tags are available,
# Galaxy will use this branch. During import Galaxy will access files on
# this branch. If Travis integration is configured, only notifications for this
# branch will be accepted. Otherwise, in all cases, the repo's default branch
# (usually master) will be used.
#github_branch:
#
# platforms is a list of platforms, and each platform has a name and a list of versions.
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,24 @@
- name: Private IP allocation method
debug:
msg: "{{ private_ip_method }}"
- name: IP address
debug:
msg: "{{ ip | default (None) }}"
- name: Create network interface
azure.azcollection.azure_rm_networkinterface:
name: "{{ vm_name | default (inventory_hostname)}}"
resource_group: "RG-OSM"
virtual_network: {name: "External-Prod", resource_group: "RG-Connectivity-01"}
subnet_name: "External-Prod-osm2-jenkins"
location: "{{ location }}"
create_with_security_group: False
enable_accelerated_networking: "{{ enable_accelerated_networking }}"
subscription_id: "{{ tapi_azure_subscription_id }}"
ip_configurations:
- name: ipconfig1
primary: True
private_ip_allocation_method: "{{ private_ip_method }}"
private_ip_address: "{{ ip | default (None) }}"
# application_security_groups: "{{ asg_list }}"

View File

@@ -0,0 +1,2 @@
localhost

View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- azure-create-network-interface

View File

@@ -0,0 +1,2 @@
---
# vars file for azure-create-network-interface

View File

@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
Created by the UFST Linux team

View File

@@ -0,0 +1,2 @@
---
# defaults file for backup_etcd

View File

@@ -0,0 +1,2 @@
---
# handlers file for backup_etcd

Some files were not shown because too many files have changed in this diff Show More